| '<start>' and '<end>' can take one of these forms: |
| |
| - number |
| + |
| If '<start>' or '<end>' is a number, it specifies an |
| absolute line number (lines count from 1). |
| + |
| |
| - `/regex/` |
| + |
| This form will use the first line matching the given |
| POSIX regex. If '<start>' is a regex, it will search from the end of |
| the previous `-L` range, if any, otherwise from the start of file. |
| If '<start>' is `^/regex/`, it will search from the start of file. |
| If '<end>' is a regex, it will search |
| starting at the line given by '<start>'. |
| + |
| |
| - +offset or -offset |
| + |
| This is only valid for '<end>' and will specify a number |
| of lines before or after the line given by '<start>'. |
| |
| + |
| If `:<funcname>` is given in place of '<start>' and '<end>', it is a |
| regular expression that denotes the range from the first funcname line |
| that matches '<funcname>', up to the next funcname line. `:<funcname>` |
| searches from the end of the previous `-L` range, if any, otherwise |
| from the start of file. `^:<funcname>` searches from the start of |
| file. The function names are determined in the same way as `git diff` |
| works out patch hunk headers (see 'Defining a custom hunk-header' |
| in linkgit:gitattributes[5]). |