mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
parent
cee944e3ee
commit
92e92f02e7
@ -184,11 +184,11 @@ static NluaXdiffMode process_xdl_diff_opts(lua_State *lstate, xdemitconf_t *cfg,
|
||||
if (strequal("myers", v->data.string.data)) {
|
||||
// default
|
||||
} else if (strequal("minimal", v->data.string.data)) {
|
||||
cfg->flags |= XDF_NEED_MINIMAL;
|
||||
params->flags |= XDF_NEED_MINIMAL;
|
||||
} else if (strequal("patience", v->data.string.data)) {
|
||||
cfg->flags |= XDF_PATIENCE_DIFF;
|
||||
params->flags |= XDF_PATIENCE_DIFF;
|
||||
} else if (strequal("histogram", v->data.string.data)) {
|
||||
cfg->flags |= XDF_HISTOGRAM_DIFF;
|
||||
params->flags |= XDF_HISTOGRAM_DIFF;
|
||||
} else {
|
||||
api_set_error(err, kErrorTypeValidation, "not a valid algorithm");
|
||||
goto exit_1;
|
||||
|
@ -90,6 +90,48 @@ describe('xdiff bindings', function()
|
||||
exec_lua([[return vim.diff(a2, b2, {result_type = 'indices'})]]))
|
||||
end)
|
||||
|
||||
it('can run different algorithms', function()
|
||||
local a = table.concat({
|
||||
'.foo1 {',
|
||||
' margin: 0;',
|
||||
'}',
|
||||
'',
|
||||
'.bar {',
|
||||
' margin: 0;',
|
||||
'}',
|
||||
''}, '\n')
|
||||
|
||||
local b = table.concat({
|
||||
'.bar {',
|
||||
' margin: 0;',
|
||||
'}',
|
||||
'',
|
||||
'.foo1 {',
|
||||
' margin: 0;',
|
||||
' color: green;',
|
||||
'}',
|
||||
''}, '\n')
|
||||
|
||||
eq(
|
||||
table.concat({'@@ -1,4 +0,0 @@',
|
||||
'-.foo1 {',
|
||||
'- margin: 0;',
|
||||
'-}',
|
||||
'-',
|
||||
'@@ -7,0 +4,5 @@',
|
||||
'+',
|
||||
'+.foo1 {',
|
||||
'+ margin: 0;',
|
||||
'+ color: green;',
|
||||
'+}',
|
||||
''}, '\n'),
|
||||
exec_lua([[
|
||||
local args = {...}
|
||||
return vim.diff(args[1], args[2], {
|
||||
algorithm = 'patience'
|
||||
})
|
||||
]], a, b))
|
||||
end)
|
||||
end)
|
||||
|
||||
it('can handle bad args', function()
|
||||
|
Loading…
Reference in New Issue
Block a user