summaryrefslogtreecommitdiff
path: root/Documentation/line-range-format.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/line-range-format.adoc')
-rw-r--r--Documentation/line-range-format.adoc32
1 files changed, 32 insertions, 0 deletions
diff --git a/Documentation/line-range-format.adoc b/Documentation/line-range-format.adoc
new file mode 100644
index 0000000000..3cc2a14544
--- /dev/null
+++ b/Documentation/line-range-format.adoc
@@ -0,0 +1,32 @@
+_<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]).