mirror of
https://github.com/neovim/neovim.git
synced 2025-09-28 05:58:33 +00:00
@@ -184,11 +184,11 @@ static NluaXdiffMode process_xdl_diff_opts(lua_State *lstate, xdemitconf_t *cfg,
|
|||||||
if (strequal("myers", v->data.string.data)) {
|
if (strequal("myers", v->data.string.data)) {
|
||||||
// default
|
// default
|
||||||
} else if (strequal("minimal", v->data.string.data)) {
|
} 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)) {
|
} 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)) {
|
} else if (strequal("histogram", v->data.string.data)) {
|
||||||
cfg->flags |= XDF_HISTOGRAM_DIFF;
|
params->flags |= XDF_HISTOGRAM_DIFF;
|
||||||
} else {
|
} else {
|
||||||
api_set_error(err, kErrorTypeValidation, "not a valid algorithm");
|
api_set_error(err, kErrorTypeValidation, "not a valid algorithm");
|
||||||
goto exit_1;
|
goto exit_1;
|
||||||
|
@@ -90,6 +90,48 @@ describe('xdiff bindings', function()
|
|||||||
exec_lua([[return vim.diff(a2, b2, {result_type = 'indices'})]]))
|
exec_lua([[return vim.diff(a2, b2, {result_type = 'indices'})]]))
|
||||||
end)
|
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)
|
end)
|
||||||
|
|
||||||
it('can handle bad args', function()
|
it('can handle bad args', function()
|
||||||
|
Reference in New Issue
Block a user