mirror of
https://github.com/lewis6991/gitsigns.nvim
synced 2025-04-17 20:55:44 +00:00
24 lines
747 B
Lua
24 lines
747 B
Lua
local config = require('gitsigns.config').config
|
|
|
|
--- @alias Gitsigns.Difffn fun(fa: string[], fb: string[], algorithm?: string, indent_heuristic?: boolean, linematch?: integer): Gitsigns.Hunk.Hunk[]
|
|
|
|
--- @param a string[]
|
|
--- @param b string[]
|
|
--- @param linematch? boolean
|
|
--- @return Gitsigns.Hunk.Hunk[] hunks
|
|
return function(a, b, linematch)
|
|
local diff_opts = config.diff_opts
|
|
local f --- @type Gitsigns.Difffn
|
|
if diff_opts.internal then
|
|
f = require('gitsigns.diff_int').run_diff
|
|
else
|
|
f = require('gitsigns.diff_ext').run_diff
|
|
end
|
|
|
|
local linematch0 --- @type integer?
|
|
if linematch ~= false then
|
|
linematch0 = diff_opts.linematch
|
|
end
|
|
return f(a, b, diff_opts.algorithm, diff_opts.indent_heuristic, linematch0)
|
|
end
|