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);
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));
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 {
111111111111111111;
}
export namespace {
111111111111111111;
}
export inline namespace {
111111111111111111;
}
export/* test */inline namespace {
111111111111111111;
}
inline export namespace {
111111111111111111;
}
/* invalid namespaces use block indent */
namespace test test2 {
@ -4509,6 +4521,18 @@ def Test_cindent_47()
inline/* test */namespace {
111111111111111111;
}
export namespace {
111111111111111111;
}
export inline namespace {
111111111111111111;
}
export/* test */inline namespace {
111111111111111111;
}
inline export namespace {
111111111111111111;
}
/* invalid namespaces use block indent */
namespace test test2 {

View File

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