On Mon, 3 Feb 2020, Patrick Palka wrote: > Currently this script doesn't set the indentation style for the standard > library > headers under libstdc++/ because they lack a file extension. But they do > have a modeline, so the file type is still set appropriately by Vim. So by > inspecting &filetype, we can also detect these standard library headers as > C-like files. > > contrib/ChangeLog: > > * vimrc (SetStyle): Also look at &filetype to determine whether to > a file is C-like. > --- > contrib/vimrc | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/contrib/vimrc b/contrib/vimrc > index bbbe1dd449b..e2ccbe0fd10 100644 > --- a/contrib/vimrc > +++ b/contrib/vimrc > @@ -39,7 +39,7 @@ function! SetStyle() > setlocal formatoptions-=ro formatoptions+=cqlt > let l:ext = fnamemodify(l:fname, ":e") > let l:c_exts = ['c', 'h', 'cpp', 'cc', 'C', 'H', 'def', 'java'] > - if index(l:c_exts, l:ext) != -1 > + if index(l:c_exts, l:ext) != -1 || &filetype == "cpp" || &filetype == "c" > setlocal cindent > setlocal cinoptions=>4,n-2,{2,^-2,:2,=2,g0,f0,h2,p4,t0,+2,(0,u0,w1,m0 > endif > -- > 2.25.0.114.g5b0ca878e0
Here's a rebased patch. Can another Vim user verify that this does the right thing? -- >8 -- Subject: [PATCH] contrib/vimrc: detect more C-like files Currently this script doesn't set the indentation style for the standard library headers under libstdc++/ because they lack a file extension. But they do have a modeline, so the file type is still set appropriately by Vim. So by inspecting &filetype, we can also detect these standard library headers as C-like files. contrib/ChangeLog: * vimrc (SetStyle): Also inspect &filetype to determine whether to a file is C-like. --- --- contrib/vimrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/vimrc b/contrib/vimrc index c207eead2e4..356d455b059 100644 --- a/contrib/vimrc +++ b/contrib/vimrc @@ -45,7 +45,7 @@ function! SetStyle() setlocal textwidth=80 endif setlocal formatoptions-=ro formatoptions+=cqlt - if index(l:c_exts, l:ext) != -1 + if index(l:c_exts, l:ext) != -1 || &filetype == "c" || &filetype == "cpp" setlocal cindent setlocal cinoptions=>4,n-2,{2,^-2,:2,=2,g0,f0,h2,p4,t0,+2,(0,u0,w1,m0 endif -- 2.28.0.rc1