diff options
author | Lewis Russell <lewis6991@gmail.com> | 2024-09-26 16:10:11 +0100 |
---|---|---|
committer | Lewis Russell <lewis6991@gmail.com> | 2024-09-30 11:51:33 +0100 |
commit | c65646c2474d22948c604168a68f6626a645d1d2 (patch) | |
tree | fcf8e49ae06878638e0dacc34e08d7892ccc8524 /runtime/doc | |
parent | 20251be15a4ad3f6e7016450ca3338d52b2f0951 (diff) | |
download | rneovim-c65646c2474d22948c604168a68f6626a645d1d2.tar.gz rneovim-c65646c2474d22948c604168a68f6626a645d1d2.tar.bz2 rneovim-c65646c2474d22948c604168a68f6626a645d1d2.zip |
fix(diff): use mmfile_t in linematch
Problem:
Linematch used to use strchr to navigate a string, however strchr does
not supoprt embedded NULs.
Solution:
Use `mmfile_t` instead of `char *` in linematch and introduce `strnchr()`.
Also remove heap allocations from `matching_char_iwhite()`
Fixes: #30505
Diffstat (limited to 'runtime/doc')
-rw-r--r-- | runtime/doc/lua.txt | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/runtime/doc/lua.txt b/runtime/doc/lua.txt index 29b35d69a0..cbe283065d 100644 --- a/runtime/doc/lua.txt +++ b/runtime/doc/lua.txt @@ -713,8 +713,8 @@ vim.diff({a}, {b}, {opts}) *vim.diff()* Parameters: ~ • {a} (`string`) First string to compare • {b} (`string`) Second string to compare - • {opts} (`table`) Optional parameters: - • {on_hunk} + • {opts} (`table?`) Optional parameters: + • {on_hunk}? (`fun(start_a: integer, count_a: integer, start_b: integer, count_b: integer): integer`) Invoked for each hunk in the diff. Return a negative number to cancel the callback for any remaining hunks. Arguments: @@ -722,33 +722,33 @@ vim.diff({a}, {b}, {opts}) *vim.diff()* • `count_a` (`integer`): Hunk size in {a}. • `start_b` (`integer`): Start line of hunk in {b}. • `count_b` (`integer`): Hunk size in {b}. - • {result_type} (`'unified'|'indices'`, default: `'unified'`) + • {result_type}? (`'unified'|'indices'`, default: `'unified'`) Form of the returned diff: • `unified`: String in unified format. • `indices`: Array of hunk locations. Note: This option is ignored if `on_hunk` is used. - • {linematch} (`boolean|integer`) Run linematch on the + • {linematch}? (`boolean|integer`) Run linematch on the resulting hunks from xdiff. When integer, only hunks upto this size in lines are run through linematch. Requires `result_type = indices`, ignored otherwise. - • {algorithm} (`'myers'|'minimal'|'patience'|'histogram'`, + • {algorithm}? (`'myers'|'minimal'|'patience'|'histogram'`, default: `'myers'`) Diff algorithm to use. Values: • `myers`: the default algorithm • `minimal`: spend extra time to generate the smallest possible diff • `patience`: patience diff algorithm • `histogram`: histogram diff algorithm - • {ctxlen} (`integer`) Context length - • {interhunkctxlen} (`integer`) Inter hunk context length - • {ignore_whitespace} (`boolean`) Ignore whitespace - • {ignore_whitespace_change} (`boolean`) Ignore whitespace + • {ctxlen}? (`integer`) Context length + • {interhunkctxlen}? (`integer`) Inter hunk context length + • {ignore_whitespace}? (`boolean`) Ignore whitespace + • {ignore_whitespace_change}? (`boolean`) Ignore whitespace change - • {ignore_whitespace_change_at_eol} (`boolean`) Ignore + • {ignore_whitespace_change_at_eol}? (`boolean`) Ignore whitespace change at end-of-line. - • {ignore_cr_at_eol} (`boolean`) Ignore carriage return at + • {ignore_cr_at_eol}? (`boolean`) Ignore carriage return at end-of-line - • {ignore_blank_lines} (`boolean`) Ignore blank lines - • {indent_heuristic} (`boolean`) Use the indent heuristic for + • {ignore_blank_lines}? (`boolean`) Ignore blank lines + • {indent_heuristic}? (`boolean`) Use the indent heuristic for the internal diff library. Return: ~ |