diff options
| author | Justin M. Keyes <justinkz@gmail.com> | 2025-07-12 18:36:07 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-12 22:36:07 +0000 |
| commit | f3a54e7ccfcfa2752eccd7585e2c4b94a4c8c433 (patch) | |
| tree | 8b3c80476217f30d1356bae3d0d017669c14252f /runtime/lua/vim/_meta/diff.lua | |
| parent | 430be9d01df443b096ab2c22f943589fb9086025 (diff) | |
refactor(lua): rename vim.diff => vim.text.diff #34864
Problem:
`vim.diff()` was introduced before we had the `vim.text` module, where
it obviously belongs.
Solution:
Move it.
Diffstat (limited to 'runtime/lua/vim/_meta/diff.lua')
| -rw-r--r-- | runtime/lua/vim/_meta/diff.lua | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/runtime/lua/vim/_meta/diff.lua b/runtime/lua/vim/_meta/diff.lua deleted file mode 100644 index 4803ed4775..0000000000 --- a/runtime/lua/vim/_meta/diff.lua +++ /dev/null @@ -1,71 +0,0 @@ ----@meta - ---- Optional parameters: ---- @class vim.diff.Opts ---- @inlinedoc ---- ---- Invoked for each hunk in the diff. Return a negative number ---- to cancel the callback for any remaining hunks. ---- Arguments: ---- - `start_a` (`integer`): Start line of hunk in {a}. ---- - `count_a` (`integer`): Hunk size in {a}. ---- - `start_b` (`integer`): Start line of hunk in {b}. ---- - `count_b` (`integer`): Hunk size in {b}. ---- @field on_hunk? fun(start_a: integer, count_a: integer, start_b: integer, count_b: integer): integer? ---- ---- 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. ---- (default: `'unified'`) ---- @field result_type? 'unified'|'indices' ---- ---- 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. ---- @field linematch? boolean|integer ---- ---- 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 ---- (default: `'myers'`) ---- @field algorithm? 'myers'|'minimal'|'patience'|'histogram' ---- @field ctxlen? integer Context length ---- @field interhunkctxlen? integer Inter hunk context length ---- @field ignore_whitespace? boolean Ignore whitespace ---- @field ignore_whitespace_change? boolean Ignore whitespace change ---- @field ignore_whitespace_change_at_eol? boolean Ignore whitespace change at end-of-line. ---- @field ignore_cr_at_eol? boolean Ignore carriage return at end-of-line ---- @field ignore_blank_lines? boolean Ignore blank lines ---- @field indent_heuristic? boolean Use the indent heuristic for the internal diff library. - --- luacheck: no unused args - ---- Run diff on strings {a} and {b}. Any indices returned by this function, ---- either directly or via callback arguments, are 1-based. ---- ---- Examples: ---- ---- ```lua ---- vim.diff('a\n', 'b\nc\n') ---- -- => ---- -- @@ -1 +1,2 @@ ---- -- -a ---- -- +b ---- -- +c ---- ---- vim.diff('a\n', 'b\nc\n', {result_type = 'indices'}) ---- -- => ---- -- { ---- -- {1, 1, 1, 2} ---- -- } ---- ``` ---- ----@param a string First string to compare ----@param b string Second string to compare ----@param opts? vim.diff.Opts ----@return string|integer[][]? ---- See {opts.result_type}. `nil` if {opts.on_hunk} is given. -function vim.diff(a, b, opts) end |
