summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2021-12-22 20:55:30 +0000
committerBram Moolenaar <Bram@vim.org>2021-12-22 20:55:30 +0000
commitf2f0bddf303e37d4d532ca22e2d53179c20b1d19 (patch)
tree628c3660c385a270fa06d7129e504e8155426b03
parentb4168fd917e869912e0649fe13c10e5e6a595199 (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.c4
-rw-r--r--src/testdir/test_cindent.vim48
-rw-r--r--src/version.c2
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,