neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit 7b16c1fa8451880c72769f6d3c311f24c74f4fc7
parent 6e8a728e3dad747d0c46dc47a530b76e8997bc08
Author: zeertzjq <zeertzjq@outlook.com>
Date:   Tue, 28 May 2024 06:39:07 +0800

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.
Diffstat:
Mruntime/ftplugin/cpp.vim | 3++-
Mtest/functional/lua/runtime_spec.lua | 8++++++++
2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/runtime/ftplugin/cpp.vim b/runtime/ftplugin/cpp.vim @@ -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 ">". diff --git a/test/functional/lua/runtime_spec.lua b/test/functional/lua/runtime_spec.lua @@ -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)