diff options
author | zeertzjq <zeertzjq@outlook.com> | 2021-12-23 07:41:23 +0800 |
---|---|---|
committer | zeertzjq <zeertzjq@outlook.com> | 2021-12-23 07:41:23 +0800 |
commit | 67bf5c237f0bcb7323a550ff9791c96878d01816 (patch) | |
tree | 5433ab997657c9de6a167d70fd8ca53cf14a8ca7 | |
parent | de8a2f20e98be88b6568d5564e514f8d5fd43981 (diff) | |
download | rneovim-67bf5c237f0bcb7323a550ff9791c96878d01816.tar.gz rneovim-67bf5c237f0bcb7323a550ff9791c96878d01816.tar.bz2 rneovim-67bf5c237f0bcb7323a550ff9791c96878d01816.zip |
vim-patch:8.2.3876: 'cindent' does not recognize inline namespace
Problem: 'cindent' does not recognize inline namespace.
Solution: Skip over "inline" to find "namespace". (closes vim/vim#9383)
https://github.com/vim/vim/commit/f2f0bddf303e37d4d532ca22e2d53179c20b1d19
-rw-r--r-- | src/nvim/indent_c.c | 5 | ||||
-rw-r--r-- | src/nvim/testdir/test_cindent.vim | 48 |
2 files changed, 53 insertions, 0 deletions
diff --git a/src/nvim/indent_c.c b/src/nvim/indent_c.c index 8780d3253d..eb1aa81e47 100644 --- a/src/nvim/indent_c.c +++ b/src/nvim/indent_c.c @@ -541,6 +541,11 @@ static bool cin_is_cpp_namespace(char_u *s) bool has_name_start = false; s = cin_skipcomment(s); + + if (STRNCMP(s, "inline", 6) == 0 && (s[6] == NUL || !vim_iswordc(s[6]))) { + s = cin_skipcomment(skipwhite(s + 6)); + } + if (STRNCMP(s, "namespace", 9) == 0 && (s[9] == NUL || !vim_iswordc(s[9]))) { p = cin_skipcomment(skipwhite(s + 9)); while (*p != NUL) { diff --git a/src/nvim/testdir/test_cindent.vim b/src/nvim/testdir/test_cindent.vim index e8f448f96b..6554d034d3 100644 --- a/src/nvim/testdir/test_cindent.vim +++ b/src/nvim/testdir/test_cindent.vim @@ -997,6 +997,15 @@ func Test_cindent_1() 22222222222222222; } } + inline namespace { + 111111111111111111; + } + inline /* test */ namespace { + 111111111111111111; + } + inline/* test */namespace { + 111111111111111111; + } /* invalid namespaces use block indent */ namespace test test2 { @@ -1020,6 +1029,9 @@ func Test_cindent_1() { 111111111111111111; } + inlinenamespace { + 111111111111111111; + } void getstring() { /* Raw strings */ @@ -1962,6 +1974,15 @@ func Test_cindent_1() 22222222222222222; } } + inline namespace { + 111111111111111111; + } + inline /* test */ namespace { + 111111111111111111; + } + inline/* test */namespace { + 111111111111111111; + } /* invalid namespaces use block indent */ namespace test test2 { @@ -1985,6 +2006,9 @@ func Test_cindent_1() { 111111111111111111; } + inlinenamespace { + 111111111111111111; + } void getstring() { /* Raw strings */ @@ -4359,6 +4383,15 @@ func Test_cindent_47() 22222222222222222; } } + inline namespace { + 111111111111111111; + } + inline /* test */ namespace { + 111111111111111111; + } + inline/* test */namespace { + 111111111111111111; + } /* invalid namespaces use block indent */ namespace test test2 { @@ -4382,6 +4415,9 @@ func Test_cindent_47() { 111111111111111111; } + inlinenamespace { + 111111111111111111; + } NAMESPACEEND [CODE] @@ -4450,6 +4486,15 @@ func Test_cindent_47() 22222222222222222; } } + inline namespace { + 111111111111111111; + } + inline /* test */ namespace { + 111111111111111111; + } + inline/* test */namespace { + 111111111111111111; + } /* invalid namespaces use block indent */ namespace test test2 { @@ -4473,6 +4518,9 @@ func Test_cindent_47() { 111111111111111111; } + inlinenamespace { + 111111111111111111; + } NAMESPACEEND [CODE] |