1
0
forked from aniani/vim

patch 9.0.1426: indent wrong after "export namespace" in C++

Problem:    Indent wrong after "export namespace" in C++.
Solution:   Skip over "inline" and "export" in any order. (Virginia Senioria,
            closes #12134, closes #12133)
This commit is contained in:
Virginia Senioria
2023-03-24 19:25:06 +00:00
committed by Bram Moolenaar
parent 3ea62381c5
commit 99e4ab2a1e
3 changed files with 29 additions and 1 deletions

View File

@@ -769,7 +769,9 @@ cin_is_cpp_namespace(char_u *s)
s = cin_skipcomment(s); s = cin_skipcomment(s);
if (STRNCMP(s, "inline", 6) == 0 && (s[6] == NUL || !vim_iswordc(s[6]))) // skip over "inline" and "export" in any order
while ((STRNCMP(s, "inline", 6) == 0 || STRNCMP(s, "export", 6) == 0)
&& (s[6] == NUL || !vim_iswordc(s[6])))
s = cin_skipcomment(skipwhite(s + 6)); s = cin_skipcomment(skipwhite(s + 6));
if (STRNCMP(s, "namespace", 9) == 0 && (s[9] == NUL || !vim_iswordc(s[9]))) if (STRNCMP(s, "namespace", 9) == 0 && (s[9] == NUL || !vim_iswordc(s[9])))

View File

@@ -4406,6 +4406,18 @@ def Test_cindent_47()
inline/* test */namespace { inline/* test */namespace {
111111111111111111; 111111111111111111;
} }
export namespace {
111111111111111111;
}
export inline namespace {
111111111111111111;
}
export/* test */inline namespace {
111111111111111111;
}
inline export namespace {
111111111111111111;
}
/* invalid namespaces use block indent */ /* invalid namespaces use block indent */
namespace test test2 { namespace test test2 {
@@ -4509,6 +4521,18 @@ def Test_cindent_47()
inline/* test */namespace { inline/* test */namespace {
111111111111111111; 111111111111111111;
} }
export namespace {
111111111111111111;
}
export inline namespace {
111111111111111111;
}
export/* test */inline namespace {
111111111111111111;
}
inline export namespace {
111111111111111111;
}
/* invalid namespaces use block indent */ /* invalid namespaces use block indent */
namespace test test2 { namespace test test2 {

View File

@@ -695,6 +695,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
1426,
/**/ /**/
1425, 1425,
/**/ /**/