Message ID | 20200203232628.72799-1-ppalka@redhat.com |
---|---|
State | New |
Headers | show |
Series | contrib/vimrc: detect more C-like files | expand |
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
On 7/23/20 4:44 PM, Patrick Palka via Gcc-patches wrote: > Here's a rebased patch. Can another Vim user verify that this does the > right thing? Yes, it works correctly for me! I tested that before and after your change for ./libstdc++-v3/include/std/iomanip. Please install the patch. Martin
On Thu, 23 Jul 2020, Martin Liška wrote: > On 7/23/20 4:44 PM, Patrick Palka via Gcc-patches wrote: > > Here's a rebased patch. Can another Vim user verify that this does the > > right thing? > > Yes, it works correctly for me! I tested that before and after your change > for ./libstdc++-v3/include/std/iomanip. > > Please install the patch. > Martin Thanks Martin! I pushed the patch just now.
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