gitsigns.nvim/lua/gitsigns/diff.lua
2023-06-16 16:31:27 +01:00

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