mirror of
https://github.com/neovim/neovim
synced 2025-07-15 16:51:49 +00:00
fix(runtime): source c ftplugin properly for cpp on Windows (#29053)
On Windows, '{' is currently not treated as a wildcard char, so another wildcard char is needed for the pattern to be treated as a wildcard. It may be worth trying to make '{' always a wildcard char in the future, but that'll be a bit harder as it'll be necessary to make sure '{' is escaped at various places.
This commit is contained in:
@ -10,7 +10,8 @@ if exists("b:did_ftplugin")
|
||||
endif
|
||||
|
||||
" Behaves mostly just like C
|
||||
runtime! ftplugin/c.{vim,lua} ftplugin/c_*.{vim,lua} ftplugin/c/*.{vim,lua}
|
||||
" XXX: "[.]" in the first pattern makes it a wildcard on Windows
|
||||
runtime! ftplugin/c[.]{vim,lua} ftplugin/c_*.{vim,lua} ftplugin/c/*.{vim,lua}
|
||||
|
||||
" C++ uses templates with <things>
|
||||
" Disabled, because it gives an error for typing an unmatched ">".
|
||||
|
@ -401,4 +401,12 @@ describe('runtime:', function()
|
||||
eq('ABab', eval('g:seq'))
|
||||
end)
|
||||
end)
|
||||
|
||||
it('cpp ftplugin loads c ftplugin #29053', function()
|
||||
eq('', eval('&commentstring'))
|
||||
eq('', eval('&omnifunc'))
|
||||
exec('edit file.cpp')
|
||||
eq('/*%s*/', eval('&commentstring'))
|
||||
eq('ccomplete#Complete', eval('&omnifunc'))
|
||||
end)
|
||||
end)
|
||||
|
Reference in New Issue
Block a user