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 #9383)
diff --git a/src/cindent.c b/src/cindent.c
index 4fa165e..42b46e4 100644
--- a/src/cindent.c
+++ b/src/cindent.c
@@ -755,6 +755,10 @@
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 c7ce2ba..d8ea4e7 100644
--- a/src/testdir/test_cindent.vim
+++ b/src/testdir/test_cindent.vim
@@ -996,6 +996,15 @@
22222222222222222;
}
}
+ inline namespace {
+ 111111111111111111;
+ }
+ inline /* test */ namespace {
+ 111111111111111111;
+ }
+ inline/* test */namespace {
+ 111111111111111111;
+ }
/* invalid namespaces use block indent */
namespace test test2 {
@@ -1019,6 +1028,9 @@
{
111111111111111111;
}
+ inlinenamespace {
+ 111111111111111111;
+ }
void getstring() {
/* Raw strings */
@@ -1961,6 +1973,15 @@
22222222222222222;
}
}
+ inline namespace {
+ 111111111111111111;
+ }
+ inline /* test */ namespace {
+ 111111111111111111;
+ }
+ inline/* test */namespace {
+ 111111111111111111;
+ }
/* invalid namespaces use block indent */
namespace test test2 {
@@ -1984,6 +2005,9 @@
{
111111111111111111;
}
+ inlinenamespace {
+ 111111111111111111;
+ }
void getstring() {
/* Raw strings */
@@ -4358,6 +4382,15 @@
22222222222222222;
}
}
+ inline namespace {
+ 111111111111111111;
+ }
+ inline /* test */ namespace {
+ 111111111111111111;
+ }
+ inline/* test */namespace {
+ 111111111111111111;
+ }
/* invalid namespaces use block indent */
namespace test test2 {
@@ -4381,6 +4414,9 @@
{
111111111111111111;
}
+ inlinenamespace {
+ 111111111111111111;
+ }
NAMESPACEEND
[CODE]
@@ -4449,6 +4485,15 @@
22222222222222222;
}
}
+ inline namespace {
+ 111111111111111111;
+ }
+ inline /* test */ namespace {
+ 111111111111111111;
+ }
+ inline/* test */namespace {
+ 111111111111111111;
+ }
/* invalid namespaces use block indent */
namespace test test2 {
@@ -4472,6 +4517,9 @@
{
111111111111111111;
}
+ inlinenamespace {
+ 111111111111111111;
+ }
NAMESPACEEND
[CODE]
diff --git a/src/version.c b/src/version.c
index 87ec33c..d97eb03 100644
--- a/src/version.c
+++ b/src/version.c
@@ -750,6 +750,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 3876,
+/**/
3875,
/**/
3874,