aboutsummaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
Diffstat (limited to 'runtime')
-rw-r--r--runtime/doc/dev_vimpatch.txt1
-rw-r--r--runtime/doc/options.txt102
-rw-r--r--runtime/doc/vim_diff.txt2
-rw-r--r--runtime/lua/vim/_meta/options.lua102
4 files changed, 104 insertions, 103 deletions
diff --git a/runtime/doc/dev_vimpatch.txt b/runtime/doc/dev_vimpatch.txt
index 76be24878a..0ddfc75a4c 100644
--- a/runtime/doc/dev_vimpatch.txt
+++ b/runtime/doc/dev_vimpatch.txt
@@ -184,6 +184,7 @@ information.
mch_memmove memmove
vim_memset copy_chars copy_spaces memset
vim_strbyte strchr
+ vim_strnchr strnchr
vim_strncpy strncpy xstrlcpy/xmemcpyz
vim_strcat strncat xstrlcat
VIM_ISWHITE ascii_iswhite
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index b4ae3cc8fd..4d186bd761 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -2037,11 +2037,20 @@ A jump table for the options with a short description can be found at |Q_op|.
Option settings for diff mode. It can consist of the following items.
All are optional. Items must be separated by a comma.
- filler Show filler lines, to keep the text
- synchronized with a window that has inserted
- lines at the same position. Mostly useful
- when windows are side-by-side and 'scrollbind'
- is set.
+ algorithm:{text} Use the specified diff algorithm with the
+ internal diff engine. Currently supported
+ algorithms are:
+ myers the default algorithm
+ minimal spend extra time to generate the
+ smallest possible diff
+ patience patience diff algorithm
+ histogram histogram diff algorithm
+
+ closeoff When a window is closed where 'diff' is set
+ and there is only one window remaining in the
+ same tab page with 'diff' set, execute
+ `:diffoff` in that window. This undoes a
+ `:diffsplit` command.
context:{n} Use a context of {n} lines between a change
and a fold that contains unchanged lines.
@@ -2052,6 +2061,23 @@ A jump table for the options with a short description can be found at |Q_op|.
value (999999) to disable folding completely.
See |fold-diff|.
+ filler Show filler lines, to keep the text
+ synchronized with a window that has inserted
+ lines at the same position. Mostly useful
+ when windows are side-by-side and 'scrollbind'
+ is set.
+
+ foldcolumn:{n} Set the 'foldcolumn' option to {n} when
+ starting diff mode. Without this 2 is used.
+
+ followwrap Follow the 'wrap' option and leave as it is.
+
+ horizontal Start diff mode with horizontal splits (unless
+ explicitly specified otherwise).
+
+ hiddenoff Do not use diff mode for a buffer when it
+ becomes hidden.
+
iblank Ignore changes where lines are all blank. Adds
the "-B" flag to the "diff" command if
'diffexpr' is empty. Check the documentation
@@ -2065,6 +2091,17 @@ A jump table for the options with a short description can be found at |Q_op|.
are considered the same. Adds the "-i" flag
to the "diff" command if 'diffexpr' is empty.
+ indent-heuristic
+ Use the indent heuristic for the internal
+ diff library.
+
+ internal Use the internal diff library. This is
+ ignored when 'diffexpr' is set. *E960*
+ When running out of memory when writing a
+ buffer this item will be ignored for diffs
+ involving that buffer. Set the 'verbose'
+ option to see when this happens.
+
iwhite Ignore changes in amount of white space. Adds
the "-b" flag to the "diff" command if
'diffexpr' is empty. Check the documentation
@@ -2084,56 +2121,19 @@ A jump table for the options with a short description can be found at |Q_op|.
of the "diff" command for what this does
exactly.
- horizontal Start diff mode with horizontal splits (unless
- explicitly specified otherwise).
+ linematch:{n} Align and mark changes between the most
+ similar lines between the buffers. When the
+ total number of lines in the diff hunk exceeds
+ {n}, the lines will not be aligned because for
+ very large diff hunks there will be a
+ noticeable lag. A reasonable setting is
+ "linematch:60", as this will enable alignment
+ for a 2 buffer diff hunk of 30 lines each,
+ or a 3 buffer diff hunk of 20 lines each.
vertical Start diff mode with vertical splits (unless
explicitly specified otherwise).
- closeoff When a window is closed where 'diff' is set
- and there is only one window remaining in the
- same tab page with 'diff' set, execute
- `:diffoff` in that window. This undoes a
- `:diffsplit` command.
-
- hiddenoff Do not use diff mode for a buffer when it
- becomes hidden.
-
- foldcolumn:{n} Set the 'foldcolumn' option to {n} when
- starting diff mode. Without this 2 is used.
-
- followwrap Follow the 'wrap' option and leave as it is.
-
- internal Use the internal diff library. This is
- ignored when 'diffexpr' is set. *E960*
- When running out of memory when writing a
- buffer this item will be ignored for diffs
- involving that buffer. Set the 'verbose'
- option to see when this happens.
-
- indent-heuristic
- Use the indent heuristic for the internal
- diff library.
-
- linematch:{n} Enable a second stage diff on each generated
- hunk in order to align lines. When the total
- number of lines in a hunk exceeds {n}, the
- second stage diff will not be performed as
- very large hunks can cause noticeable lag. A
- recommended setting is "linematch:60", as this
- will enable alignment for a 2 buffer diff with
- hunks of up to 30 lines each, or a 3 buffer
- diff with hunks of up to 20 lines each.
-
- algorithm:{text} Use the specified diff algorithm with the
- internal diff engine. Currently supported
- algorithms are:
- myers the default algorithm
- minimal spend extra time to generate the
- smallest possible diff
- patience patience diff algorithm
- histogram histogram diff algorithm
-
Examples: >vim
set diffopt=internal,filler,context:4
set diffopt=
diff --git a/runtime/doc/vim_diff.txt b/runtime/doc/vim_diff.txt
index c870de00ef..eae341da49 100644
--- a/runtime/doc/vim_diff.txt
+++ b/runtime/doc/vim_diff.txt
@@ -351,7 +351,6 @@ Options:
- 'autoread' works in the terminal (if it supports "focus" events)
- 'background' cannot be set to empty.
- 'cpoptions' flags: |cpo-_|
-- 'diffopt' "linematch" feature
- 'eadirection' cannot be set to empty.
- 'exrc' searches for ".nvim.lua", ".nvimrc", or ".exrc" files. The
user is prompted whether to trust the file.
@@ -466,6 +465,7 @@ Upstreamed features *nvim-upstreamed*
These Nvim features were later integrated into Vim.
+- 'diffopt' "linematch" feature
- 'fillchars' flags: "eob"
- 'jumpoptions' "stack" behavior
- 'wildoptions' flags: "pum" enables popupmenu for wildmode completion
diff --git a/runtime/lua/vim/_meta/options.lua b/runtime/lua/vim/_meta/options.lua
index 452959970d..52c556867f 100644
--- a/runtime/lua/vim/_meta/options.lua
+++ b/runtime/lua/vim/_meta/options.lua
@@ -1631,11 +1631,20 @@ vim.go.dex = vim.go.diffexpr
--- Option settings for diff mode. It can consist of the following items.
--- All are optional. Items must be separated by a comma.
---
---- filler Show filler lines, to keep the text
---- synchronized with a window that has inserted
---- lines at the same position. Mostly useful
---- when windows are side-by-side and 'scrollbind'
---- is set.
+--- algorithm:{text} Use the specified diff algorithm with the
+--- internal diff engine. Currently supported
+--- algorithms are:
+--- myers the default algorithm
+--- minimal spend extra time to generate the
+--- smallest possible diff
+--- patience patience diff algorithm
+--- histogram histogram diff algorithm
+---
+--- closeoff When a window is closed where 'diff' is set
+--- and there is only one window remaining in the
+--- same tab page with 'diff' set, execute
+--- `:diffoff` in that window. This undoes a
+--- `:diffsplit` command.
---
--- context:{n} Use a context of {n} lines between a change
--- and a fold that contains unchanged lines.
@@ -1646,6 +1655,23 @@ vim.go.dex = vim.go.diffexpr
--- value (999999) to disable folding completely.
--- See `fold-diff`.
---
+--- filler Show filler lines, to keep the text
+--- synchronized with a window that has inserted
+--- lines at the same position. Mostly useful
+--- when windows are side-by-side and 'scrollbind'
+--- is set.
+---
+--- foldcolumn:{n} Set the 'foldcolumn' option to {n} when
+--- starting diff mode. Without this 2 is used.
+---
+--- followwrap Follow the 'wrap' option and leave as it is.
+---
+--- horizontal Start diff mode with horizontal splits (unless
+--- explicitly specified otherwise).
+---
+--- hiddenoff Do not use diff mode for a buffer when it
+--- becomes hidden.
+---
--- iblank Ignore changes where lines are all blank. Adds
--- the "-B" flag to the "diff" command if
--- 'diffexpr' is empty. Check the documentation
@@ -1659,6 +1685,17 @@ vim.go.dex = vim.go.diffexpr
--- are considered the same. Adds the "-i" flag
--- to the "diff" command if 'diffexpr' is empty.
---
+--- indent-heuristic
+--- Use the indent heuristic for the internal
+--- diff library.
+---
+--- internal Use the internal diff library. This is
+--- ignored when 'diffexpr' is set. *E960*
+--- When running out of memory when writing a
+--- buffer this item will be ignored for diffs
+--- involving that buffer. Set the 'verbose'
+--- option to see when this happens.
+---
--- iwhite Ignore changes in amount of white space. Adds
--- the "-b" flag to the "diff" command if
--- 'diffexpr' is empty. Check the documentation
@@ -1678,56 +1715,19 @@ vim.go.dex = vim.go.diffexpr
--- of the "diff" command for what this does
--- exactly.
---
---- horizontal Start diff mode with horizontal splits (unless
---- explicitly specified otherwise).
+--- linematch:{n} Align and mark changes between the most
+--- similar lines between the buffers. When the
+--- total number of lines in the diff hunk exceeds
+--- {n}, the lines will not be aligned because for
+--- very large diff hunks there will be a
+--- noticeable lag. A reasonable setting is
+--- "linematch:60", as this will enable alignment
+--- for a 2 buffer diff hunk of 30 lines each,
+--- or a 3 buffer diff hunk of 20 lines each.
---
--- vertical Start diff mode with vertical splits (unless
--- explicitly specified otherwise).
---
---- closeoff When a window is closed where 'diff' is set
---- and there is only one window remaining in the
---- same tab page with 'diff' set, execute
---- `:diffoff` in that window. This undoes a
---- `:diffsplit` command.
----
---- hiddenoff Do not use diff mode for a buffer when it
---- becomes hidden.
----
---- foldcolumn:{n} Set the 'foldcolumn' option to {n} when
---- starting diff mode. Without this 2 is used.
----
---- followwrap Follow the 'wrap' option and leave as it is.
----
---- internal Use the internal diff library. This is
---- ignored when 'diffexpr' is set. *E960*
---- When running out of memory when writing a
---- buffer this item will be ignored for diffs
---- involving that buffer. Set the 'verbose'
---- option to see when this happens.
----
---- indent-heuristic
---- Use the indent heuristic for the internal
---- diff library.
----
---- linematch:{n} Enable a second stage diff on each generated
---- hunk in order to align lines. When the total
---- number of lines in a hunk exceeds {n}, the
---- second stage diff will not be performed as
---- very large hunks can cause noticeable lag. A
---- recommended setting is "linematch:60", as this
---- will enable alignment for a 2 buffer diff with
---- hunks of up to 30 lines each, or a 3 buffer
---- diff with hunks of up to 20 lines each.
----
---- algorithm:{text} Use the specified diff algorithm with the
---- internal diff engine. Currently supported
---- algorithms are:
---- myers the default algorithm
---- minimal spend extra time to generate the
---- smallest possible diff
---- patience patience diff algorithm
---- histogram histogram diff algorithm
----
--- Examples:
---
--- ```vim