diff options
author | zeertzjq <zeertzjq@outlook.com> | 2021-12-22 20:55:30 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2021-12-22 20:55:30 +0000 |
commit | f2f0bddf303e37d4d532ca22e2d53179c20b1d19 (patch) | |
tree | 628c3660c385a270fa06d7129e504e8155426b03 | |
parent | b4168fd917e869912e0649fe13c10e5e6a595199 (diff) |
patch 8.2.3876: 'cindent' does not recognize inline namespacev8.2.3876
Problem: 'cindent' does not recognize inline namespace.
Solution: Skip over "inline" to find "namespace". (closes #9383)
-rw-r--r-- | src/cindent.c | 4 | ||||
-rw-r--r-- | src/testdir/test_cindent.vim | 48 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 54 insertions, 0 deletions
diff --git a/src/cindent.c b/src/cindent.c index 4fa165e699..42b46e4016 100644 --- a/src/cindent.c +++ b/src/cindent.c @@ -755,6 +755,10 @@ cin_is_cpp_namespace(char_u *s) int 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)); diff --git a/src/testdir/test_cindent.vim b/src/testdir/test_cindent.vim index c7ce2babe2..d8ea4e772e 100644 --- a/src/testdir/test_cindent.vim +++ b/src/testdir/test_cindent.vim @@ -996,6 +996,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 { @@ -1019,6 +1028,9 @@ func Test_cindent_1() { 111111111111111111; } + inlinenamespace { + 111111111111111111; + } void getstring() { /* Raw strings */ @@ -1961,6 +1973,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 { @@ -1984,6 +2005,9 @@ func Test_cindent_1() { 111111111111111111; } + inlinenamespace { + 111111111111111111; + } void getstring() { /* Raw strings */ @@ -4358,6 +4382,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 { @@ -4381,6 +4414,9 @@ func Test_cindent_47() { 111111111111111111; } + inlinenamespace { + 111111111111111111; + } NAMESPACEEND [CODE] @@ -4449,6 +4485,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 { @@ -4472,6 +4517,9 @@ func Test_cindent_47() { 111111111111111111; } + inlinenamespace { + 111111111111111111; + } NAMESPACEEND [CODE] diff --git a/src/version.c b/src/version.c index 87ec33c607..d97eb03f8d 100644 --- a/src/version.c +++ b/src/version.c @@ -750,6 +750,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 3876, +/**/ 3875, /**/ 3874, |