[go: up one dir, main page]

Skip to content

Commit

Permalink
fix(runtime): source c ftplugin properly for cpp on Windows (#29053)
Browse files Browse the repository at this point in the history
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.

(cherry picked from commit 7b16c1f)
  • Loading branch information
zeertzjq authored and github-actions[bot] committed May 27, 2024
1 parent 039121f commit b98aa78
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 1 deletion.
3 changes: 2 additions & 1 deletion runtime/ftplugin/cpp.vim
Original file line number Diff line number Diff line change
Expand Up @@ -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 ">".
Expand Down
8 changes: 8 additions & 0 deletions test/functional/lua/runtime_spec.lua
Original file line number Diff line number Diff line change
Expand Up @@ -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)

0 comments on commit b98aa78

Please sign in to comment.