mirror of
https://github.com/neovim/neovim.git
synced 2025-12-16 03:15:39 +00:00
feat(runtime): revert cfilter, ccomplete to legacy Vim
Problem: Transpiled Lua code from vim9script is not amenable to static analysis, requiring manual cleanup or ignoring parts of our codebase. Solution: Revert to pre-rewrite version of (low-impact) legacy plugins and remove the vim9jit shim.
This commit is contained in:
committed by
Christian Clason
parent
65170e8dad
commit
8c81ed8678
@@ -1,63 +0,0 @@
|
||||
local t = require('test.testutil')
|
||||
local n = require('test.functional.testnvim')()
|
||||
|
||||
local clear = n.clear
|
||||
local command = n.command
|
||||
local eq = t.eq
|
||||
local eval = n.eval
|
||||
local feed = n.feed
|
||||
local write_file = t.write_file
|
||||
|
||||
describe('ccomplete#Complete', function()
|
||||
setup(function()
|
||||
-- Realistic tags generated from neovim source tree using `ctags -R *`
|
||||
write_file(
|
||||
'Xtags',
|
||||
[[
|
||||
augroup_del src/nvim/autocmd.c /^void augroup_del(char *name, bool stupid_legacy_mode)$/;" f typeref:typename:void
|
||||
augroup_exists src/nvim/autocmd.c /^bool augroup_exists(const char *name)$/;" f typeref:typename:bool
|
||||
augroup_find src/nvim/autocmd.c /^int augroup_find(const char *name)$/;" f typeref:typename:int
|
||||
aupat_get_buflocal_nr src/nvim/autocmd.c /^int aupat_get_buflocal_nr(char *pat, int patlen)$/;" f typeref:typename:int
|
||||
aupat_is_buflocal src/nvim/autocmd.c /^bool aupat_is_buflocal(char *pat, int patlen)$/;" f typeref:typename:bool
|
||||
expand_get_augroup_name src/nvim/autocmd.c /^char *expand_get_augroup_name(expand_T *xp, int idx)$/;" f typeref:typename:char *
|
||||
expand_get_event_name src/nvim/autocmd.c /^char *expand_get_event_name(expand_T *xp, int idx)$/;" f typeref:typename:char *
|
||||
]]
|
||||
)
|
||||
end)
|
||||
|
||||
before_each(function()
|
||||
clear()
|
||||
command('set tags=Xtags')
|
||||
end)
|
||||
|
||||
teardown(function()
|
||||
os.remove('Xtags')
|
||||
end)
|
||||
|
||||
it('can complete from Xtags', function()
|
||||
local completed = eval('ccomplete#Complete(0, "a")')
|
||||
eq(5, #completed)
|
||||
eq('augroup_del(', completed[1].word)
|
||||
eq('f', completed[1].kind)
|
||||
|
||||
local aupat = eval('ccomplete#Complete(0, "aupat")')
|
||||
eq(2, #aupat)
|
||||
eq('aupat_get_buflocal_nr(', aupat[1].word)
|
||||
eq('f', aupat[1].kind)
|
||||
end)
|
||||
|
||||
it('does not error when returning no matches', function()
|
||||
local completed = eval('ccomplete#Complete(0, "doesnotmatch")')
|
||||
eq({}, completed)
|
||||
end)
|
||||
|
||||
it('can find the beginning of a word for C', function()
|
||||
command('set filetype=c')
|
||||
feed('i int something = augroup')
|
||||
local result = eval('ccomplete#Complete(1, "")')
|
||||
eq(#' int something = ', result)
|
||||
|
||||
local completed = eval('ccomplete#Complete(0, "augroup")')
|
||||
eq(3, #completed)
|
||||
end)
|
||||
end)
|
||||
Reference in New Issue
Block a user