aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/testdir/test_cindent.vim
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/testdir/test_cindent.vim')
-rw-r--r--src/nvim/testdir/test_cindent.vim5428
1 files changed, 0 insertions, 5428 deletions
diff --git a/src/nvim/testdir/test_cindent.vim b/src/nvim/testdir/test_cindent.vim
deleted file mode 100644
index ccc8168c09..0000000000
--- a/src/nvim/testdir/test_cindent.vim
+++ /dev/null
@@ -1,5428 +0,0 @@
-" Test for cinoptions and cindent
-"
-
-func Test_cino_hash()
- " Test that curbuf->b_ind_hash_comment is correctly reset
- new
- setlocal cindent cinoptions=#1
- setlocal cinoptions=
- call setline(1, ["#include <iostream>"])
- call cursor(1, 1)
- norm! o#include
- "call feedkeys("o#include\<esc>", 't')
- call assert_equal(["#include <iostream>", "#include"], getline(1,2))
- bwipe!
-endfunc
-
-func Test_cino_extern_c()
- " Test for cino-E
-
- let without_ind =<< trim [CODE]
- #ifdef __cplusplus
- extern "C" {
- #endif
- int func_a(void);
- #ifdef __cplusplus
- }
- #endif
- [CODE]
-
- let with_ind =<< trim [CODE]
- #ifdef __cplusplus
- extern "C" {
- #endif
- int func_a(void);
- #ifdef __cplusplus
- }
- #endif
- [CODE]
- new
- setlocal cindent cinoptions=E0
- call setline(1, without_ind)
- call feedkeys("gg=G", 'tx')
- call assert_equal(with_ind, getline(1, '$'))
-
- setlocal cinoptions=E-s
- call setline(1, with_ind)
- call feedkeys("gg=G", 'tx')
- call assert_equal(without_ind, getline(1, '$'))
-
- setlocal cinoptions=Es
- let tests = [
- \ ['recognized', ['extern "C" {'], "\t\t;"],
- \ ['recognized', ['extern "C++" {'], "\t\t;"],
- \ ['recognized', ['extern /* com */ "C"{'], "\t\t;"],
- \ ['recognized', ['extern"C"{'], "\t\t;"],
- \ ['recognized', ['extern "C"', '{'], "\t\t;"],
- \ ['not recognized', ['extern {'], "\t;"],
- \ ['not recognized', ['extern /*"C"*/{'], "\t;"],
- \ ['not recognized', ['extern "C" //{'], ";"],
- \ ['not recognized', ['extern "C" /*{*/'], ";"],
- \ ]
-
- for pair in tests
- let lines = pair[1]
- call setline(1, lines)
- call feedkeys(len(lines) . "Go;", 'tx')
- call assert_equal(pair[2], getline(len(lines) + 1), 'Failed for "' . string(lines) . '"')
- endfor
-
- bwipe!
-endfunc
-
-func Test_cindent_rawstring()
- new
- setl cindent
- call feedkeys("i" .
- \ "int main() {\<CR>" .
- \ "R\"(\<CR>" .
- \ ")\";\<CR>" .
- \ "statement;\<Esc>", "x")
- call assert_equal("\tstatement;", getline(line('.')))
- bw!
-endfunc
-
-func Test_cindent_expr()
- new
- func! MyIndentFunction()
- return v:lnum == 1 ? shiftwidth() : 0
- endfunc
- setl expandtab sw=8 indentkeys+=; indentexpr=MyIndentFunction()
- let testinput =<< trim [CODE]
- var_a = something()
- b = something()
- [CODE]
- call setline(1, testinput)
- call cursor(1, 1)
- call feedkeys("^\<c-v>j$A;\<esc>", 'tnix')
- let expected =<< [CODE]
- var_a = something();
-b = something();
-[CODE]
- call assert_equal(expected, getline(1, '$'))
-
- %d
- let testinput =<< [CODE]
- var_a = something()
- b = something()
-[CODE]
- call setline(1, testinput)
- call cursor(1, 1)
- call feedkeys("^\<c-v>j$A;\<esc>", 'tnix')
- let expected =<< [CODE]
- var_a = something();
- b = something()
-[CODE]
- call assert_equal(expected, getline(1, '$'))
- bw!
-endfunc
-
-func Test_cindent_func()
- new
- setlocal cindent
- call setline(1, ['int main(void)', '{', 'return 0;', '}'])
- call assert_equal(-1, cindent(0))
- call assert_equal(&sw, 3->cindent())
- call assert_equal(-1, cindent(line('$')+1))
- bwipe!
-endfunc
-
-func Test_cindent_1()
- new
- setl cindent ts=4 sw=4
- setl cino& sts&
-
- let code =<< trim [CODE]
- /* start of AUTO matically checked vim: set ts=4 : */
- {
- if (test)
- cmd1;
- cmd2;
- }
-
- {
- if (test)
- cmd1;
- else
- cmd2;
- }
-
- {
- if (test)
- {
- cmd1;
- cmd2;
- }
- }
-
- {
- if (test)
- {
- cmd1;
- else
- }
- }
-
- {
- while (this)
- if (test)
- cmd1;
- cmd2;
- }
-
- {
- while (this)
- if (test)
- cmd1;
- else
- cmd2;
- }
-
- {
- if (test)
- {
- cmd;
- }
-
- if (test)
- cmd;
- }
-
- {
- if (test) {
- cmd;
- }
-
- if (test) cmd;
- }
-
- {
- cmd1;
- for (blah)
- while (this)
- if (test)
- cmd2;
- cmd3;
- }
-
- {
- cmd1;
- for (blah)
- while (this)
- if (test)
- cmd2;
- cmd3;
-
- if (test)
- {
- cmd1;
- cmd2;
- cmd3;
- }
- }
-
-
- /* Test for 'cindent' do/while mixed with if/else: */
-
- {
- do
- if (asdf)
- asdfasd;
- while (cond);
-
- do
- if (asdf)
- while (asdf)
- asdf;
- while (asdf);
- }
-
- /* Test for 'cindent' with two ) on a continuation line */
- {
- if (asdfasdf;asldkfj asdlkfj as;ldkfj sal;d
- aal;sdkjf ( ;asldfkja;sldfk
- al;sdjfka ;slkdf ) sa;ldkjfsa dlk;)
- line up here;
- }
-
-
- /* C++ tests: */
-
- // foo() these three lines should remain in column 0
- // {
- // }
-
- /* Test for continuation and unterminated lines: */
- {
- i = 99 + 14325 +
- 21345 +
- 21345 +
- 21345 + ( 21345 +
- 21345) +
- 2345 +
- 1234;
- c = 1;
- }
-
- /*
- testje for indent with empty line
-
- here */
-
- {
- if (testing &&
- not a joke ||
- line up here)
- hay;
- if (testing &&
- (not a joke || testing
- )line up here)
- hay;
- if (testing &&
- (not a joke || testing
- line up here))
- hay;
- }
-
-
- {
- switch (c)
- {
- case xx:
- do
- if (asdf)
- do
- asdfasdf;
- while (asdf);
- else
- asdfasdf;
- while (cond);
- case yy:
- case xx:
- case zz:
- testing;
- }
- }
-
- {
- if (cond) {
- foo;
- }
- else
- {
- bar;
- }
- }
-
- {
- if (alskdfj ;alsdkfjal;skdjf (;sadlkfsa ;dlkf j;alksdfj ;alskdjf
- alsdkfj (asldk;fj
- awith cino=(0 ;lf this one goes to below the paren with ==
- ;laksjfd ;lsakdjf ;alskdf asd)
- asdfasdf;)))
- asdfasdf;
- }
-
- int
- func(a, b)
- int a;
- int c;
- {
- if (c1 && (c2 ||
- c3))
- foo;
- if (c1 &&
- (c2 || c3)
- )
- }
-
- {
- while (asd)
- {
- if (asdf)
- if (test)
- if (that)
- {
- if (asdf)
- do
- cdasd;
- while (as
- df);
- }
- else
- if (asdf)
- asdf;
- else
- asdf;
- asdf;
- }
- }
-
- {
- s = "/*"; b = ';'
- s = "/*"; b = ';';
- a = b;
- }
-
- {
- switch (a)
- {
- case a:
- switch (t)
- {
- case 1:
- cmd;
- break;
- case 2:
- cmd;
- break;
- }
- cmd;
- break;
- case b:
- {
- int i;
- cmd;
- }
- break;
- case c: {
- int i;
- cmd;
- }
- case d: if (cond &&
- test) { /* this line doesn't work right */
- int i;
- cmd;
- }
- break;
- }
- }
-
- {
- if (!(vim_strchr(p_cpo, CPO_BUFOPTGLOB) != NULL && entering) &&
- (bp_to->b_p_initialized ||
- (!entering && vim_strchr(p_cpo, CPO_BUFOPT) != NULL)))
- return;
- label :
- asdf = asdf ?
- asdf : asdf;
- asdf = asdf ?
- asdf: asdf;
- }
-
- /* Special Comments : This function has the added complexity (compared */
- /* : to addtolist) of having to check for a detail */
- /* : texture and add that to the list first. */
-
- char *(array[100]) = {
- "testje",
- "foo",
- "bar",
- }
-
- enum soppie
- {
- yes = 0,
- no,
- maybe
- };
-
- typedef enum soppie
- {
- yes = 0,
- no,
- maybe
- };
-
- static enum
- {
- yes = 0,
- no,
- maybe
- } soppie;
-
- public static enum
- {
- yes = 0,
- no,
- maybe
- } soppie;
-
- static private enum
- {
- yes = 0,
- no,
- maybe
- } soppie;
-
- {
- int a,
- b;
- }
-
- {
- struct Type
- {
- int i;
- char *str;
- } var[] =
- {
- 0, "zero",
- 1, "one",
- 2, "two",
- 3, "three"
- };
-
- float matrix[3][3] =
- {
- {
- 0,
- 1,
- 2
- },
- {
- 3,
- 4,
- 5
- },
- {
- 6,
- 7,
- 8
- }
- };
- }
-
- {
- /* blah ( blah */
- /* where does this go? */
-
- /* blah ( blah */
- cmd;
-
- func(arg1,
- /* comment */
- arg2);
- a;
- {
- b;
- {
- c; /* Hey, NOW it indents?! */
- }
- }
-
- {
- func(arg1,
- arg2,
- arg3);
- /* Hey, what am I doing here? Is this coz of the ","? */
- }
- }
-
- main ()
- {
- if (cond)
- {
- a = b;
- }
- if (cond) {
- a = c;
- }
- if (cond)
- a = d;
- return;
- }
-
- {
- case 2: if (asdf &&
- asdfasdf)
- aasdf;
- a = 9;
- case 3: if (asdf)
- aasdf;
- a = 9;
- case 4: x = 1;
- y = 2;
-
- label: if (asdf)
- here;
-
- label: if (asdf &&
- asdfasdf)
- {
- }
-
- label: if (asdf &&
- asdfasdf) {
- there;
- }
-
- label: if (asdf &&
- asdfasdf)
- there;
- }
-
- {
- /*
- hello with ":set comments= cino=c5"
- */
-
- /*
- hello with ":set comments= cino="
- */
- }
-
-
- {
- if (a < b) {
- a = a + 1;
- } else
- a = a + 2;
-
- if (a)
- do {
- testing;
- } while (asdfasdf);
- a = b + 1;
- asdfasdf
- }
-
- {
- for ( int i = 0;
- i < 10; i++ )
- {
- }
- i = 0;
- }
-
- class bob
- {
- int foo() {return 1;}
- int bar;
- }
-
- main()
- {
- while(1)
- if (foo)
- {
- bar;
- }
- else {
- asdf;
- }
- misplacedline;
- }
-
- {
- if (clipboard.state == SELECT_DONE
- && ((row == clipboard.start.lnum
- && col >= clipboard.start.col)
- || row > clipboard.start.lnum))
- }
-
- {
- if (1) {i += 4;}
- where_am_i;
- return 0;
- }
-
- {
- {
- } // sdf(asdf
- if (asdf)
- asd;
- }
-
- {
- label1:
- label2:
- }
-
- {
- int fooRet = foo(pBar1, false /*fKB*/,
- true /*fPTB*/, 3 /*nT*/, false /*fDF*/);
- f() {
- for ( i = 0;
- i < m;
- /* c */ i++ ) {
- a = b;
- }
- }
- }
-
- {
- f1(/*comment*/);
- f2();
- }
-
- {
- do {
- if (foo) {
- } else
- ;
- } while (foo);
- foo(); // was wrong
- }
-
- int x; // no extra indent because of the ;
- void func()
- {
- }
-
- char *tab[] = {"aaa",
- "};", /* }; */ NULL}
- int indented;
- {}
-
- char *a[] = {"aaa", "bbb",
- "ccc", NULL};
- // here
-
- char *tab[] = {"aaa",
- "xx", /* xx */}; /* asdf */
- int not_indented;
-
- {
- do {
- switch (bla)
- {
- case 1: if (foo)
- bar;
- }
- } while (boo);
- wrong;
- }
-
- int foo,
- bar;
- int foo;
-
- #if defined(foo) \
- && defined(bar)
- char * xx = "asdf\
- foo\
- bor";
- int x;
-
- char *foo = "asdf\
- asdf\
- asdf",
- *bar;
-
- void f()
- {
- #if defined(foo) \
- && defined(bar)
- char *foo = "asdf\
- asdf\
- asdf",
- *bar;
- {
- int i;
- char *foo = "asdf\
- asdf\
- asdf",
- *bar;
- }
- #endif
- }
- #endif
-
- int y; // comment
- // comment
-
- // comment
-
- {
- Constructor(int a,
- int b ) : BaseClass(a)
- {
- }
- }
-
- void foo()
- {
- char one,
- two;
- struct bla piet,
- jan;
- enum foo kees,
- jannie;
- static unsigned sdf,
- krap;
- unsigned int piet,
- jan;
- int
- kees,
- jan;
- }
-
- {
- t(int f,
- int d); // )
- d();
- }
-
- Constructor::Constructor(int a,
- int b
- ) :
- BaseClass(a,
- b,
- c),
- mMember(b),
- {
- }
-
- Constructor::Constructor(int a,
- int b ) :
- BaseClass(a)
- {
- }
-
- Constructor::Constructor(int a,
- int b ) /*x*/ : /*x*/ BaseClass(a),
- member(b)
- {
- }
-
- A::A(int a, int b)
- : aa(a),
- bb(b),
- cc(c)
- {
- }
-
- class CAbc :
- public BaseClass1,
- protected BaseClass2
- {
- int Test() { return FALSE; }
- int Test1() { return TRUE; }
-
- CAbc(int a, int b ) :
- BaseClass(a)
- {
- switch(xxx)
- {
- case abc:
- asdf();
- break;
-
- case 999:
- baer();
- break;
- }
- }
-
- public: // <-- this was incorrectly indented before!!
- void testfall();
- protected:
- void testfall();
- };
-
- class CAbc : public BaseClass1,
- protected BaseClass2
- {
- };
-
- static struct
- {
- int a;
- int b;
- } variable[COUNT] =
- {
- {
- 123,
- 456
- },
- {
- 123,
- 456
- }
- };
-
- static struct
- {
- int a;
- int b;
- } variable[COUNT] =
- {
- { 123, 456 },
- { 123, 456 }
- };
-
- void asdf() /* ind_maxparen may cause trouble here */
- {
- if ((0
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1)) break;
- }
-
- foo()
- {
- a = cond ? foo() : asdf
- + asdf;
-
- a = cond ?
- foo() : asdf
- + asdf;
- }
-
- int main(void)
- {
- if (a)
- if (b)
- 2;
- else 3;
- next_line_of_code();
- }
-
- barry()
- {
- Foo::Foo (int one,
- int two)
- : something(4)
- {}
- }
-
- barry()
- {
- Foo::Foo (int one, int two)
- : something(4)
- {}
- }
-
- Constructor::Constructor(int a,
- int b
- ) :
- BaseClass(a,
- b,
- c),
- mMember(b)
- {
- }
- int main ()
- {
- if (lala)
- do
- ++(*lolo);
- while (lili
- && lele);
- lulu;
- }
-
- int main ()
- {
- switch (c)
- {
- case 'c': if (cond)
- {
- }
- }
- }
-
- main()
- {
- (void) MyFancyFuasdfadsfnction(
- argument);
- }
-
- main()
- {
- char foo[] = "/*";
- /* as
- df */
- hello
- }
-
- /* valid namespaces with normal indent */
- namespace
- {
- {
- 111111111111;
- }
- }
- namespace /* test */
- {
- 11111111111111111;
- }
- namespace // test
- {
- 111111111111111111;
- }
- namespace
- {
- 111111111111111111;
- }
- namespace test
- {
- 111111111111111111;
- }
- namespace{
- 111111111111111111;
- }
- namespace test{
- 111111111111111111;
- }
- namespace {
- 111111111111111111;
- }
- namespace test {
- 111111111111111111;
- namespace test2 {
- 22222222222222222;
- }
- }
- inline namespace {
- 111111111111111111;
- }
- inline /* test */ namespace {
- 111111111111111111;
- }
- inline/* test */namespace {
- 111111111111111111;
- }
-
- /* invalid namespaces use block indent */
- namespace test test2 {
- 111111111111111111111;
- }
- namespace11111111111 {
- 111111111111;
- }
- namespace() {
- 1111111111111;
- }
- namespace()
- {
- 111111111111111111;
- }
- namespace test test2
- {
- 1111111111111111111;
- }
- namespace111111111
- {
- 111111111111111111;
- }
- inlinenamespace {
- 111111111111111111;
- }
-
- void getstring() {
- /* Raw strings */
- const char* s = R"(
- test {
- # comment
- field: 123
- }
- )";
- }
-
- void getstring() {
- const char* s = R"foo(
- test {
- # comment
- field: 123
- }
- )foo";
- }
-
- {
- int a[4] = {
- [0] = 0,
- [1] = 1,
- [2] = 2,
- [3] = 3,
- };
- }
-
- {
- a = b[2]
- + 3;
- }
-
- {
- if (1)
- /* aaaaa
- * bbbbb
- */
- a = 1;
- }
-
- void func()
- {
- switch (foo)
- {
- case (bar):
- if (baz())
- quux();
- break;
- case (shmoo):
- if (!bar)
- {
- }
- case (foo1):
- switch (bar)
- {
- case baz:
- baz_f();
- break;
- }
- break;
- default:
- baz();
- baz();
- break;
- }
- }
-
- /* end of AUTO */
- [CODE]
-
- call append(0, code)
- normal gg
- call search('start of AUTO')
- exe "normal =/end of AUTO\<CR>"
-
- let expected =<< trim [CODE]
- /* start of AUTO matically checked vim: set ts=4 : */
- {
- if (test)
- cmd1;
- cmd2;
- }
-
- {
- if (test)
- cmd1;
- else
- cmd2;
- }
-
- {
- if (test)
- {
- cmd1;
- cmd2;
- }
- }
-
- {
- if (test)
- {
- cmd1;
- else
- }
- }
-
- {
- while (this)
- if (test)
- cmd1;
- cmd2;
- }
-
- {
- while (this)
- if (test)
- cmd1;
- else
- cmd2;
- }
-
- {
- if (test)
- {
- cmd;
- }
-
- if (test)
- cmd;
- }
-
- {
- if (test) {
- cmd;
- }
-
- if (test) cmd;
- }
-
- {
- cmd1;
- for (blah)
- while (this)
- if (test)
- cmd2;
- cmd3;
- }
-
- {
- cmd1;
- for (blah)
- while (this)
- if (test)
- cmd2;
- cmd3;
-
- if (test)
- {
- cmd1;
- cmd2;
- cmd3;
- }
- }
-
-
- /* Test for 'cindent' do/while mixed with if/else: */
-
- {
- do
- if (asdf)
- asdfasd;
- while (cond);
-
- do
- if (asdf)
- while (asdf)
- asdf;
- while (asdf);
- }
-
- /* Test for 'cindent' with two ) on a continuation line */
- {
- if (asdfasdf;asldkfj asdlkfj as;ldkfj sal;d
- aal;sdkjf ( ;asldfkja;sldfk
- al;sdjfka ;slkdf ) sa;ldkjfsa dlk;)
- line up here;
- }
-
-
- /* C++ tests: */
-
- // foo() these three lines should remain in column 0
- // {
- // }
-
- /* Test for continuation and unterminated lines: */
- {
- i = 99 + 14325 +
- 21345 +
- 21345 +
- 21345 + ( 21345 +
- 21345) +
- 2345 +
- 1234;
- c = 1;
- }
-
- /*
- testje for indent with empty line
-
- here */
-
- {
- if (testing &&
- not a joke ||
- line up here)
- hay;
- if (testing &&
- (not a joke || testing
- )line up here)
- hay;
- if (testing &&
- (not a joke || testing
- line up here))
- hay;
- }
-
-
- {
- switch (c)
- {
- case xx:
- do
- if (asdf)
- do
- asdfasdf;
- while (asdf);
- else
- asdfasdf;
- while (cond);
- case yy:
- case xx:
- case zz:
- testing;
- }
- }
-
- {
- if (cond) {
- foo;
- }
- else
- {
- bar;
- }
- }
-
- {
- if (alskdfj ;alsdkfjal;skdjf (;sadlkfsa ;dlkf j;alksdfj ;alskdjf
- alsdkfj (asldk;fj
- awith cino=(0 ;lf this one goes to below the paren with ==
- ;laksjfd ;lsakdjf ;alskdf asd)
- asdfasdf;)))
- asdfasdf;
- }
-
- int
- func(a, b)
- int a;
- int c;
- {
- if (c1 && (c2 ||
- c3))
- foo;
- if (c1 &&
- (c2 || c3)
- )
- }
-
- {
- while (asd)
- {
- if (asdf)
- if (test)
- if (that)
- {
- if (asdf)
- do
- cdasd;
- while (as
- df);
- }
- else
- if (asdf)
- asdf;
- else
- asdf;
- asdf;
- }
- }
-
- {
- s = "/*"; b = ';'
- s = "/*"; b = ';';
- a = b;
- }
-
- {
- switch (a)
- {
- case a:
- switch (t)
- {
- case 1:
- cmd;
- break;
- case 2:
- cmd;
- break;
- }
- cmd;
- break;
- case b:
- {
- int i;
- cmd;
- }
- break;
- case c: {
- int i;
- cmd;
- }
- case d: if (cond &&
- test) { /* this line doesn't work right */
- int i;
- cmd;
- }
- break;
- }
- }
-
- {
- if (!(vim_strchr(p_cpo, CPO_BUFOPTGLOB) != NULL && entering) &&
- (bp_to->b_p_initialized ||
- (!entering && vim_strchr(p_cpo, CPO_BUFOPT) != NULL)))
- return;
- label :
- asdf = asdf ?
- asdf : asdf;
- asdf = asdf ?
- asdf: asdf;
- }
-
- /* Special Comments : This function has the added complexity (compared */
- /* : to addtolist) of having to check for a detail */
- /* : texture and add that to the list first. */
-
- char *(array[100]) = {
- "testje",
- "foo",
- "bar",
- }
-
- enum soppie
- {
- yes = 0,
- no,
- maybe
- };
-
- typedef enum soppie
- {
- yes = 0,
- no,
- maybe
- };
-
- static enum
- {
- yes = 0,
- no,
- maybe
- } soppie;
-
- public static enum
- {
- yes = 0,
- no,
- maybe
- } soppie;
-
- static private enum
- {
- yes = 0,
- no,
- maybe
- } soppie;
-
- {
- int a,
- b;
- }
-
- {
- struct Type
- {
- int i;
- char *str;
- } var[] =
- {
- 0, "zero",
- 1, "one",
- 2, "two",
- 3, "three"
- };
-
- float matrix[3][3] =
- {
- {
- 0,
- 1,
- 2
- },
- {
- 3,
- 4,
- 5
- },
- {
- 6,
- 7,
- 8
- }
- };
- }
-
- {
- /* blah ( blah */
- /* where does this go? */
-
- /* blah ( blah */
- cmd;
-
- func(arg1,
- /* comment */
- arg2);
- a;
- {
- b;
- {
- c; /* Hey, NOW it indents?! */
- }
- }
-
- {
- func(arg1,
- arg2,
- arg3);
- /* Hey, what am I doing here? Is this coz of the ","? */
- }
- }
-
- main ()
- {
- if (cond)
- {
- a = b;
- }
- if (cond) {
- a = c;
- }
- if (cond)
- a = d;
- return;
- }
-
- {
- case 2: if (asdf &&
- asdfasdf)
- aasdf;
- a = 9;
- case 3: if (asdf)
- aasdf;
- a = 9;
- case 4: x = 1;
- y = 2;
-
- label: if (asdf)
- here;
-
- label: if (asdf &&
- asdfasdf)
- {
- }
-
- label: if (asdf &&
- asdfasdf) {
- there;
- }
-
- label: if (asdf &&
- asdfasdf)
- there;
- }
-
- {
- /*
- hello with ":set comments= cino=c5"
- */
-
- /*
- hello with ":set comments= cino="
- */
- }
-
-
- {
- if (a < b) {
- a = a + 1;
- } else
- a = a + 2;
-
- if (a)
- do {
- testing;
- } while (asdfasdf);
- a = b + 1;
- asdfasdf
- }
-
- {
- for ( int i = 0;
- i < 10; i++ )
- {
- }
- i = 0;
- }
-
- class bob
- {
- int foo() {return 1;}
- int bar;
- }
-
- main()
- {
- while(1)
- if (foo)
- {
- bar;
- }
- else {
- asdf;
- }
- misplacedline;
- }
-
- {
- if (clipboard.state == SELECT_DONE
- && ((row == clipboard.start.lnum
- && col >= clipboard.start.col)
- || row > clipboard.start.lnum))
- }
-
- {
- if (1) {i += 4;}
- where_am_i;
- return 0;
- }
-
- {
- {
- } // sdf(asdf
- if (asdf)
- asd;
- }
-
- {
- label1:
- label2:
- }
-
- {
- int fooRet = foo(pBar1, false /*fKB*/,
- true /*fPTB*/, 3 /*nT*/, false /*fDF*/);
- f() {
- for ( i = 0;
- i < m;
- /* c */ i++ ) {
- a = b;
- }
- }
- }
-
- {
- f1(/*comment*/);
- f2();
- }
-
- {
- do {
- if (foo) {
- } else
- ;
- } while (foo);
- foo(); // was wrong
- }
-
- int x; // no extra indent because of the ;
- void func()
- {
- }
-
- char *tab[] = {"aaa",
- "};", /* }; */ NULL}
- int indented;
- {}
-
- char *a[] = {"aaa", "bbb",
- "ccc", NULL};
- // here
-
- char *tab[] = {"aaa",
- "xx", /* xx */}; /* asdf */
- int not_indented;
-
- {
- do {
- switch (bla)
- {
- case 1: if (foo)
- bar;
- }
- } while (boo);
- wrong;
- }
-
- int foo,
- bar;
- int foo;
-
- #if defined(foo) \
- && defined(bar)
- char * xx = "asdf\
- foo\
- bor";
- int x;
-
- char *foo = "asdf\
- asdf\
- asdf",
- *bar;
-
- void f()
- {
- #if defined(foo) \
- && defined(bar)
- char *foo = "asdf\
- asdf\
- asdf",
- *bar;
- {
- int i;
- char *foo = "asdf\
- asdf\
- asdf",
- *bar;
- }
- #endif
- }
- #endif
-
- int y; // comment
- // comment
-
- // comment
-
- {
- Constructor(int a,
- int b ) : BaseClass(a)
- {
- }
- }
-
- void foo()
- {
- char one,
- two;
- struct bla piet,
- jan;
- enum foo kees,
- jannie;
- static unsigned sdf,
- krap;
- unsigned int piet,
- jan;
- int
- kees,
- jan;
- }
-
- {
- t(int f,
- int d); // )
- d();
- }
-
- Constructor::Constructor(int a,
- int b
- ) :
- BaseClass(a,
- b,
- c),
- mMember(b),
- {
- }
-
- Constructor::Constructor(int a,
- int b ) :
- BaseClass(a)
- {
- }
-
- Constructor::Constructor(int a,
- int b ) /*x*/ : /*x*/ BaseClass(a),
- member(b)
- {
- }
-
- A::A(int a, int b)
- : aa(a),
- bb(b),
- cc(c)
- {
- }
-
- class CAbc :
- public BaseClass1,
- protected BaseClass2
- {
- int Test() { return FALSE; }
- int Test1() { return TRUE; }
-
- CAbc(int a, int b ) :
- BaseClass(a)
- {
- switch(xxx)
- {
- case abc:
- asdf();
- break;
-
- case 999:
- baer();
- break;
- }
- }
-
- public: // <-- this was incorrectly indented before!!
- void testfall();
- protected:
- void testfall();
- };
-
- class CAbc : public BaseClass1,
- protected BaseClass2
- {
- };
-
- static struct
- {
- int a;
- int b;
- } variable[COUNT] =
- {
- {
- 123,
- 456
- },
- {
- 123,
- 456
- }
- };
-
- static struct
- {
- int a;
- int b;
- } variable[COUNT] =
- {
- { 123, 456 },
- { 123, 456 }
- };
-
- void asdf() /* ind_maxparen may cause trouble here */
- {
- if ((0
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1
- && 1)) break;
- }
-
- foo()
- {
- a = cond ? foo() : asdf
- + asdf;
-
- a = cond ?
- foo() : asdf
- + asdf;
- }
-
- int main(void)
- {
- if (a)
- if (b)
- 2;
- else 3;
- next_line_of_code();
- }
-
- barry()
- {
- Foo::Foo (int one,
- int two)
- : something(4)
- {}
- }
-
- barry()
- {
- Foo::Foo (int one, int two)
- : something(4)
- {}
- }
-
- Constructor::Constructor(int a,
- int b
- ) :
- BaseClass(a,
- b,
- c),
- mMember(b)
- {
- }
- int main ()
- {
- if (lala)
- do
- ++(*lolo);
- while (lili
- && lele);
- lulu;
- }
-
- int main ()
- {
- switch (c)
- {
- case 'c': if (cond)
- {
- }
- }
- }
-
- main()
- {
- (void) MyFancyFuasdfadsfnction(
- argument);
- }
-
- main()
- {
- char foo[] = "/*";
- /* as
- df */
- hello
- }
-
- /* valid namespaces with normal indent */
- namespace
- {
- {
- 111111111111;
- }
- }
- namespace /* test */
- {
- 11111111111111111;
- }
- namespace // test
- {
- 111111111111111111;
- }
- namespace
- {
- 111111111111111111;
- }
- namespace test
- {
- 111111111111111111;
- }
- namespace{
- 111111111111111111;
- }
- namespace test{
- 111111111111111111;
- }
- namespace {
- 111111111111111111;
- }
- namespace test {
- 111111111111111111;
- namespace test2 {
- 22222222222222222;
- }
- }
- inline namespace {
- 111111111111111111;
- }
- inline /* test */ namespace {
- 111111111111111111;
- }
- inline/* test */namespace {
- 111111111111111111;
- }
-
- /* invalid namespaces use block indent */
- namespace test test2 {
- 111111111111111111111;
- }
- namespace11111111111 {
- 111111111111;
- }
- namespace() {
- 1111111111111;
- }
- namespace()
- {
- 111111111111111111;
- }
- namespace test test2
- {
- 1111111111111111111;
- }
- namespace111111111
- {
- 111111111111111111;
- }
- inlinenamespace {
- 111111111111111111;
- }
-
- void getstring() {
- /* Raw strings */
- const char* s = R"(
- test {
- # comment
- field: 123
- }
- )";
- }
-
- void getstring() {
- const char* s = R"foo(
- test {
- # comment
- field: 123
- }
- )foo";
- }
-
- {
- int a[4] = {
- [0] = 0,
- [1] = 1,
- [2] = 2,
- [3] = 3,
- };
- }
-
- {
- a = b[2]
- + 3;
- }
-
- {
- if (1)
- /* aaaaa
- * bbbbb
- */
- a = 1;
- }
-
- void func()
- {
- switch (foo)
- {
- case (bar):
- if (baz())
- quux();
- break;
- case (shmoo):
- if (!bar)
- {
- }
- case (foo1):
- switch (bar)
- {
- case baz:
- baz_f();
- break;
- }
- break;
- default:
- baz();
- baz();
- break;
- }
- }
-
- /* end of AUTO */
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_2()
- new
- setl cindent ts=4 sw=4
- setl tw=0 noai fo=croq
- let &wm = &columns - 20
-
- let code =<< trim [CODE]
- {
-
- /* this is
- * a real serious important big
- * comment
- */
- /* insert " about life, the universe, and the rest" after "serious" */
- }
- [CODE]
-
- call append(0, code)
- normal gg
- call search('serious', 'e')
- normal a about life, the universe, and the rest
-
- let expected =<< trim [CODE]
- {
-
- /* this is
- * a real serious
- * about life, the
- * universe, and the
- * rest important big
- * comment
- */
- /* insert " about life, the universe, and the rest" after "serious" */
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- set wm&
- enew! | close
-endfunc
-
-func Test_cindent_3()
- new
- setl nocindent ts=4 sw=4
-
- let code =<< trim [CODE]
- {
- /*
- * Testing for comments, without 'cin' set
- */
-
- /*
- * what happens here?
- */
-
- /*
- the end of the comment, try inserting a line below */
-
- /* how about
- this one */
- }
- [CODE]
-
- call append(0, code)
- normal gg
- call search('comments')
- normal joabout life
- call search('happens')
- normal jothere
- call search('below')
- normal oline
- call search('this')
- normal Ohello
-
- let expected =<< trim [CODE]
- {
- /*
- * Testing for comments, without 'cin' set
- */
- about life
-
- /*
- * what happens here?
- */
- there
-
- /*
- the end of the comment, try inserting a line below */
- line
-
- /* how about
- hello
- this one */
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_4()
- new
- setl cindent ts=4 sw=4
-
- let code =<< trim [CODE]
- {
- var = this + that + vec[0] * vec[0]
- + vec[1] * vec[1]
- + vec2[2] * vec[2];
- }
- [CODE]
-
- call append(0, code)
- normal gg
- call search('vec2')
- normal ==
-
- let expected =<< trim [CODE]
- {
- var = this + that + vec[0] * vec[0]
- + vec[1] * vec[1]
- + vec2[2] * vec[2];
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_5()
- new
- setl cindent ts=4 sw=4
- setl cino=}4
-
- let code =<< trim [CODE]
- {
- asdf asdflkajds f;
- if (tes & ting) {
- asdf asdf asdf ;
- asdfa sdf asdf;
- }
- testing1;
- if (tes & ting)
- {
- asdf asdf asdf ;
- asdfa sdf asdf;
- }
- testing2;
- }
- [CODE]
-
- call append(0, code)
- normal gg
- call search('testing1')
- exe "normal k2==/testing2\<CR>"
- normal k2==
-
- let expected =<< trim [CODE]
- {
- asdf asdflkajds f;
- if (tes & ting) {
- asdf asdf asdf ;
- asdfa sdf asdf;
- }
- testing1;
- if (tes & ting)
- {
- asdf asdf asdf ;
- asdfa sdf asdf;
- }
- testing2;
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_6()
- new
- setl cindent ts=4 sw=4
- setl cino=(0,)20
-
- let code =<< trim [CODE]
- main ( int first_par, /*
- * Comment for
- * first par
- */
- int second_par /*
- * Comment for
- * second par
- */
- )
- {
- func( first_par, /*
- * Comment for
- * first par
- */
- second_par /*
- * Comment for
- * second par
- */
- );
-
- }
- [CODE]
-
- call append(0, code)
- normal gg
- call search('main')
- normal =][
-
- let expected =<< trim [CODE]
- main ( int first_par, /*
- * Comment for
- * first par
- */
- int second_par /*
- * Comment for
- * second par
- */
- )
- {
- func( first_par, /*
- * Comment for
- * first par
- */
- second_par /*
- * Comment for
- * second par
- */
- );
-
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_7()
- new
- setl cindent ts=4 sw=4
- setl cino=es,n0s
-
- let code =<< trim [CODE]
- main(void)
- {
- /* Make sure that cino=X0s is not parsed like cino=Xs. */
- if (cond)
- foo();
- else
- {
- bar();
- }
- }
- [CODE]
-
- call append(0, code)
- normal gg
- call search('main')
- normal =][
-
- let expected =<< trim [CODE]
- main(void)
- {
- /* Make sure that cino=X0s is not parsed like cino=Xs. */
- if (cond)
- foo();
- else
- {
- bar();
- }
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_8()
- new
- setl cindent ts=4 sw=4
- setl cino=
-
- let code =<< trim [CODE]
-
- {
- do
- {
- if ()
- {
- if ()
- asdf;
- else
- asdf;
- }
- } while ();
- cmd; /* this should go under the } */
- }
- [CODE]
-
- call append(0, code)
- normal gg
- normal ]]=][
-
- let expected =<< trim [CODE]
-
- {
- do
- {
- if ()
- {
- if ()
- asdf;
- else
- asdf;
- }
- } while ();
- cmd; /* this should go under the } */
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_9()
- new
- setl cindent ts=4 sw=4
-
- let code =<< trim [CODE]
-
- void f()
- {
- if ( k() ) {
- l();
-
- } else { /* Start (two words) end */
- m();
- }
-
- n();
- }
- [CODE]
-
- call append(0, code)
- normal gg
- normal ]]=][
-
- let expected =<< trim [CODE]
-
- void f()
- {
- if ( k() ) {
- l();
-
- } else { /* Start (two words) end */
- m();
- }
-
- n();
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_10()
- new
- setl cindent ts=4 sw=4
- setl cino={s,e-s
-
- let code =<< trim [CODE]
-
- void f()
- {
- if ( k() )
- {
- l();
- } else { /* Start (two words) end */
- m();
- }
- n(); /* should be under the if () */
- }
- [CODE]
-
- call append(0, code)
- normal gg
- normal ]]=][
-
- let expected =<< trim [CODE]
-
- void f()
- {
- if ( k() )
- {
- l();
- } else { /* Start (two words) end */
- m();
- }
- n(); /* should be under the if () */
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_11()
- new
- setl cindent ts=4 sw=4
- setl cino={s,fs
-
- let code =<< trim [CODE]
- void bar(void)
- {
- static array[2][2] =
- {
- { 1, 2 },
- { 3, 4 },
- }
-
- while (a)
- {
- foo(&a);
- }
-
- {
- int a;
- {
- a = a + 1;
- }
- }
- b = a;
- }
-
- void func(void)
- {
- a = 1;
- {
- b = 2;
- }
- c = 3;
- d = 4;
- }
- /* foo */
- [CODE]
-
- call append(0, code)
- normal gg
- exe "normal ]]=/ foo\<CR>"
-
- let expected =<< trim [CODE]
- void bar(void)
- {
- static array[2][2] =
- {
- { 1, 2 },
- { 3, 4 },
- }
-
- while (a)
- {
- foo(&a);
- }
-
- {
- int a;
- {
- a = a + 1;
- }
- }
- b = a;
- }
-
- void func(void)
- {
- a = 1;
- {
- b = 2;
- }
- c = 3;
- d = 4;
- }
- /* foo */
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_12()
- new
- setl cindent ts=4 sw=4
- setl cino=
-
- let code =<< trim [CODE]
- a()
- {
- do {
- a = a +
- a;
- } while ( a ); /* add text under this line */
- if ( a )
- a;
- }
- [CODE]
-
- call append(0, code)
- normal gg
- call search('while')
- normal ohere
-
- let expected =<< trim [CODE]
- a()
- {
- do {
- a = a +
- a;
- } while ( a ); /* add text under this line */
- here
- if ( a )
- a;
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_13()
- new
- setl cindent ts=4 sw=4
- setl cino= com=
-
- let code =<< trim [CODE]
- a()
- {
- label1:
- /* hmm */
- // comment
- }
- [CODE]
-
- call append(0, code)
- normal gg
- call search('comment')
- exe "normal olabel2: b();\rlabel3 /* post */:\r/* pre */ label4:\r" .
- \ "f(/*com*/);\rif (/*com*/)\rcmd();"
-
- let expected =<< trim [CODE]
- a()
- {
- label1:
- /* hmm */
- // comment
- label2: b();
- label3 /* post */:
- /* pre */ label4:
- f(/*com*/);
- if (/*com*/)
- cmd();
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_14()
- new
- setl cindent ts=4 sw=4
- setl comments& comments^=s:/*,m:**,ex:*/
-
- let code =<< trim [CODE]
- /*
- * A simple comment
- */
-
- /*
- ** A different comment
- */
- [CODE]
-
- call append(0, code)
- normal gg
- call search('simple')
- normal =5j
-
- let expected =<< trim [CODE]
- /*
- * A simple comment
- */
-
- /*
- ** A different comment
- */
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_15()
- new
- setl cindent ts=4 sw=4
- setl cino=c0
- setl comments& comments-=s1:/* comments^=s0:/*
-
- let code =<< trim [CODE]
- void f()
- {
-
- /*********
- A comment.
- *********/
- }
- [CODE]
-
- call append(0, code)
- normal gg
- normal ]]=][
-
- let expected =<< trim [CODE]
- void f()
- {
-
- /*********
- A comment.
- *********/
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_16()
- new
- setl cindent ts=4 sw=4
- setl cino=c0,C1
- setl comments& comments-=s1:/* comments^=s0:/*
-
- let code =<< trim [CODE]
- void f()
- {
-
- /*********
- A comment.
- *********/
- }
- [CODE]
-
- call append(0, code)
- normal gg
- normal ]]=][
-
- let expected =<< trim [CODE]
- void f()
- {
-
- /*********
- A comment.
- *********/
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_17()
- new
- setl cindent ts=4 sw=4
- setl cino=
-
- let code =<< trim [CODE]
- void f()
- {
- c = c1 &&
- (
- c2 ||
- c3
- ) && c4;
- }
- [CODE]
-
- call append(0, code)
- normal gg
- normal ]]=][
-
- let expected =<< trim [CODE]
- void f()
- {
- c = c1 &&
- (
- c2 ||
- c3
- ) && c4;
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_18()
- new
- setl cindent ts=4 sw=4
- setl cino=(s
-
- let code =<< trim [CODE]
- void f()
- {
- c = c1 &&
- (
- c2 ||
- c3
- ) && c4;
- }
- [CODE]
-
- call append(0, code)
- normal gg
- normal ]]=][
-
- let expected =<< trim [CODE]
- void f()
- {
- c = c1 &&
- (
- c2 ||
- c3
- ) && c4;
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_19()
- new
- setl cindent ts=4 sw=4
- set cino=(s,U1
-
- let code =<< trim [CODE]
- void f()
- {
- c = c1 &&
- (
- c2 ||
- c3
- ) && c4;
- }
- [CODE]
-
- call append(0, code)
- normal gg
- normal ]]=][
-
- let expected =<< trim [CODE]
- void f()
- {
- c = c1 &&
- (
- c2 ||
- c3
- ) && c4;
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_20()
- new
- setl cindent ts=4 sw=4
- setl cino=(0
-
- let code =<< trim [CODE]
- void f()
- {
- if ( c1
- && ( c2
- || c3))
- foo;
- }
- [CODE]
-
- call append(0, code)
- normal gg
- normal ]]=][
-
- let expected =<< trim [CODE]
- void f()
- {
- if ( c1
- && ( c2
- || c3))
- foo;
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_21()
- new
- setl cindent ts=4 sw=4
- setl cino=(0,w1
-
- let code =<< trim [CODE]
- void f()
- {
- if ( c1
- && ( c2
- || c3))
- foo;
- }
- [CODE]
-
- call append(0, code)
- normal gg
- normal ]]=][
-
- let expected =<< trim [CODE]
- void f()
- {
- if ( c1
- && ( c2
- || c3))
- foo;
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_22()
- new
- setl cindent ts=4 sw=4
- setl cino=(s
-
- let code =<< trim [CODE]
- void f()
- {
- c = c1 && (
- c2 ||
- c3
- ) && c4;
- if (
- c1 && c2
- )
- foo;
- }
- [CODE]
-
- call append(0, code)
- normal gg
- normal ]]=][
-
- let expected =<< trim [CODE]
- void f()
- {
- c = c1 && (
- c2 ||
- c3
- ) && c4;
- if (
- c1 && c2
- )
- foo;
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_23()
- new
- setl cindent ts=4 sw=4
- setl cino=(s,m1
-
- let code =<< trim [CODE]
- void f()
- {
- c = c1 && (
- c2 ||
- c3
- ) && c4;
- if (
- c1 && c2
- )
- foo;
- }
- [CODE]
-
- call append(0, code)
- normal gg
- normal ]]=][
-
- let expected =<< trim [CODE]
- void f()
- {
- c = c1 && (
- c2 ||
- c3
- ) && c4;
- if (
- c1 && c2
- )
- foo;
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_24()
- new
- setl cindent ts=4 sw=4
- setl cino=b1
-
- let code =<< trim [CODE]
- void f()
- {
- switch (x)
- {
- case 1:
- a = b;
- break;
- default:
- a = 0;
- break;
- }
- }
- [CODE]
-
- call append(0, code)
- normal gg
- normal ]]=][
-
- let expected =<< trim [CODE]
- void f()
- {
- switch (x)
- {
- case 1:
- a = b;
- break;
- default:
- a = 0;
- break;
- }
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_25()
- new
- setl cindent ts=4 sw=4
- setl cino=(0,W5
-
- let code =<< trim [CODE]
- void f()
- {
- invokeme(
- argu,
- ment);
- invokeme(
- argu,
- ment
- );
- invokeme(argu,
- ment
- );
- }
- [CODE]
-
- call append(0, code)
- normal gg
- normal ]]=][
-
- let expected =<< trim [CODE]
- void f()
- {
- invokeme(
- argu,
- ment);
- invokeme(
- argu,
- ment
- );
- invokeme(argu,
- ment
- );
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_26()
- new
- setl cindent ts=4 sw=4
- setl cino=/6
-
- let code =<< trim [CODE]
- void f()
- {
- statement;
- // comment 1
- // comment 2
- }
- [CODE]
-
- call append(0, code)
- normal gg
- normal ]]=][
-
- let expected =<< trim [CODE]
- void f()
- {
- statement;
- // comment 1
- // comment 2
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_27()
- new
- setl cindent ts=4 sw=4
- setl cino=
-
- let code =<< trim [CODE]
- void f()
- {
- statement;
- // comment 1
- // comment 2
- }
- [CODE]
-
- call append(0, code)
- normal gg
- exe "normal ]]/comment 1/+1\<CR>=="
-
- let expected =<< trim [CODE]
- void f()
- {
- statement;
- // comment 1
- // comment 2
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_28()
- new
- setl cindent ts=4 sw=4
- setl cino=g0
-
- let code =<< trim [CODE]
- class CAbc
- {
- int Test() { return FALSE; }
-
- public: // comment
- void testfall();
- protected:
- void testfall();
- };
- [CODE]
-
- call append(0, code)
- normal gg
- normal ]]=][
-
- let expected =<< trim [CODE]
- class CAbc
- {
- int Test() { return FALSE; }
-
- public: // comment
- void testfall();
- protected:
- void testfall();
- };
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_29()
- new
- setl cindent ts=4 sw=4
- setl cino=(0,gs,hs
-
- let code =<< trim [CODE]
- class Foo : public Bar
- {
- public:
- virtual void method1(void) = 0;
- virtual void method2(int arg1,
- int arg2,
- int arg3) = 0;
- };
- [CODE]
-
- call append(0, code)
- normal gg
- normal ]]=][
-
- let expected =<< trim [CODE]
- class Foo : public Bar
- {
- public:
- virtual void method1(void) = 0;
- virtual void method2(int arg1,
- int arg2,
- int arg3) = 0;
- };
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_30()
- new
- setl cindent ts=4 sw=4
- setl cino=+20
-
- let code =<< [CODE]
- void
-foo()
-{
- if (a)
- {
- } else
- asdf;
-}
-[CODE]
-
- call append(0, code)
- normal gg
- normal ]]=][
-
- let expected =<< [CODE]
- void
-foo()
-{
- if (a)
- {
- } else
- asdf;
-}
-
-[CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_31()
- new
- setl cindent ts=4 sw=4
- setl cino=(0,W2s
-
- let code =<< trim [CODE]
-
- {
- averylongfunctionnamelongfunctionnameaverylongfunctionname()->asd(
- asdasdf,
- func(asdf,
- asdfadsf),
- asdfasdf
- );
-
- /* those are ugly, but consequent */
-
- func()->asd(asdasdf,
- averylongfunctionname(
- abc,
- dec)->averylongfunctionname(
- asdfadsf,
- asdfasdf,
- asdfasdf,
- ),
- func(asdfadf,
- asdfasdf
- ),
- asdasdf
- );
-
- averylongfunctionnameaverylongfunctionnameavery()->asd(fasdf(
- abc,
- dec)->asdfasdfasdf(
- asdfadsf,
- asdfasdf,
- asdfasdf,
- ),
- func(asdfadf,
- asdfasdf),
- asdasdf
- );
- }
- [CODE]
-
- call append(0, code)
- normal gg
- normal ]]=][
-
- let expected =<< trim [CODE]
-
- {
- averylongfunctionnamelongfunctionnameaverylongfunctionname()->asd(
- asdasdf,
- func(asdf,
- asdfadsf),
- asdfasdf
- );
-
- /* those are ugly, but consequent */
-
- func()->asd(asdasdf,
- averylongfunctionname(
- abc,
- dec)->averylongfunctionname(
- asdfadsf,
- asdfasdf,
- asdfasdf,
- ),
- func(asdfadf,
- asdfasdf
- ),
- asdasdf
- );
-
- averylongfunctionnameaverylongfunctionnameavery()->asd(fasdf(
- abc,
- dec)->asdfasdfasdf(
- asdfadsf,
- asdfasdf,
- asdfasdf,
- ),
- func(asdfadf,
- asdfasdf),
- asdasdf
- );
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_32()
- new
- setl cindent ts=4 sw=4
- setl cino=M1
-
- let code =<< trim [CODE]
- int main ()
- {
- if (cond1 &&
- cond2
- )
- foo;
- }
- [CODE]
-
- call append(0, code)
- normal gg
- normal ]]=][
-
- let expected =<< trim [CODE]
- int main ()
- {
- if (cond1 &&
- cond2
- )
- foo;
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_33()
- new
- setl cindent ts=4 sw=4
- setl cino=(0,ts
-
- let code =<< trim [CODE]
- void func(int a
- #if defined(FOO)
- , int b
- , int c
- #endif
- )
- {
- }
- [CODE]
-
- call append(0, code)
- normal gg
- normal 2j=][
-
- let expected =<< trim [CODE]
- void func(int a
- #if defined(FOO)
- , int b
- , int c
- #endif
- )
- {
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_34()
- new
- setl cindent ts=4 sw=4
- setl cino=(0
-
- let code =<< trim [CODE]
-
- void
- func(int a
- #if defined(FOO)
- , int b
- , int c
- #endif
- )
- {
- }
- [CODE]
-
- call append(0, code)
- normal gg
- normal =][
-
- let expected =<< trim [CODE]
-
- void
- func(int a
- #if defined(FOO)
- , int b
- , int c
- #endif
- )
- {
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_35()
- new
- setl cindent ts=4 sw=4
- setl cino&
-
- let code =<< trim [CODE]
- void func(void)
- {
- if(x==y)
- if(y==z)
- foo=1;
- else { bar=1;
- baz=2;
- }
- printf("Foo!\n");
- }
-
- void func1(void)
- {
- char* tab[] = {"foo", "bar",
- "baz", "quux",
- "this line used", "to be indented incorrectly"};
- foo();
- }
-
- void func2(void)
- {
- int tab[] =
- {1, 2,
- 3, 4,
- 5, 6};
-
- printf("This line used to be indented incorrectly.\n");
- }
-
- int foo[]
- #ifdef BAR
-
- = { 1, 2, 3,
- 4, 5, 6 }
-
- #endif
- ;
- int baz;
-
- void func3(void)
- {
- int tab[] = {
- 1, 2,
- 3, 4,
- 5, 6};
-
- printf("Don't you dare indent this line incorrectly!\n");
- }
-
- void
- func4(a, b,
- c)
- int a;
- int b;
- int c;
- {
- }
-
- void
- func5(
- int a,
- int b)
- {
- }
-
- void
- func6(
- int a)
- {
- }
- [CODE]
-
- call append(0, code)
- normal gg
- normal ]]=7][
-
- let expected =<< trim [CODE]
- void func(void)
- {
- if(x==y)
- if(y==z)
- foo=1;
- else { bar=1;
- baz=2;
- }
- printf("Foo!\n");
- }
-
- void func1(void)
- {
- char* tab[] = {"foo", "bar",
- "baz", "quux",
- "this line used", "to be indented incorrectly"};
- foo();
- }
-
- void func2(void)
- {
- int tab[] =
- {1, 2,
- 3, 4,
- 5, 6};
-
- printf("This line used to be indented incorrectly.\n");
- }
-
- int foo[]
- #ifdef BAR
-
- = { 1, 2, 3,
- 4, 5, 6 }
-
- #endif
- ;
- int baz;
-
- void func3(void)
- {
- int tab[] = {
- 1, 2,
- 3, 4,
- 5, 6};
-
- printf("Don't you dare indent this line incorrectly!\n");
- }
-
- void
- func4(a, b,
- c)
- int a;
- int b;
- int c;
- {
- }
-
- void
- func5(
- int a,
- int b)
- {
- }
-
- void
- func6(
- int a)
- {
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_36()
- new
- setl cindent ts=4 sw=4
- setl cino&
- setl cino+=l1
-
- let code =<< trim [CODE]
- void func(void)
- {
- int tab[] =
- {
- 1, 2, 3,
- 4, 5, 6};
-
- printf("Indent this line correctly!\n");
-
- switch (foo)
- {
- case bar:
- printf("bar");
- break;
- case baz: {
- printf("baz");
- break;
- }
- case quux:
- printf("But don't break the indentation of this instruction\n");
- break;
- }
- }
- [CODE]
-
- call append(0, code)
- normal gg
- normal ]]=][
-
- let expected =<< trim [CODE]
- void func(void)
- {
- int tab[] =
- {
- 1, 2, 3,
- 4, 5, 6};
-
- printf("Indent this line correctly!\n");
-
- switch (foo)
- {
- case bar:
- printf("bar");
- break;
- case baz: {
- printf("baz");
- break;
- }
- case quux:
- printf("But don't break the indentation of this instruction\n");
- break;
- }
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_37()
- new
- setl cindent ts=4 sw=4
- setl cino&
-
- let code =<< trim [CODE]
- void func(void)
- {
- cout << "a"
- << "b"
- << ") :"
- << "c";
- }
- [CODE]
-
- call append(0, code)
- normal gg
- normal ]]=][
-
- let expected =<< trim [CODE]
- void func(void)
- {
- cout << "a"
- << "b"
- << ") :"
- << "c";
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_38()
- new
- setl cindent ts=4 sw=4
- setl com=s1:/*,m:*,ex:*/
-
- let code =<< trim [CODE]
- void func(void)
- {
- /*
- * This is a comment.
- */
- }
- [CODE]
-
- call append(0, code)
- normal gg
- normal ]]3jofoo();
-
- let expected =<< trim [CODE]
- void func(void)
- {
- /*
- * This is a comment.
- */
- foo();
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_39()
- new
- setl cindent ts=4 sw=4
- setl cino&
-
- let code =<< trim [CODE]
- void func(void)
- {
- for (int i = 0; i < 10; ++i)
- if (i & 1) {
- foo(1);
- } else
- foo(0);
- baz();
- }
- [CODE]
-
- call append(0, code)
- normal gg
- normal ]]=][
-
- let expected =<< trim [CODE]
- void func(void)
- {
- for (int i = 0; i < 10; ++i)
- if (i & 1) {
- foo(1);
- } else
- foo(0);
- baz();
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_40()
- new
- setl cindent ts=4 sw=4
- setl cino=k2s,(0
-
- let code =<< trim [CODE]
- void func(void)
- {
- if (condition1
- && condition2)
- action();
- function(argument1
- && argument2);
-
- if (c1 && (c2 ||
- c3))
- foo;
- if (c1 &&
- (c2 || c3))
- {
- }
-
- if ( c1
- && ( c2
- || c3))
- foo;
- func( c1
- && ( c2
- || c3))
- foo;
- }
- [CODE]
-
- call append(0, code)
- normal gg
- normal ]]=][
-
- let expected =<< trim [CODE]
- void func(void)
- {
- if (condition1
- && condition2)
- action();
- function(argument1
- && argument2);
-
- if (c1 && (c2 ||
- c3))
- foo;
- if (c1 &&
- (c2 || c3))
- {
- }
-
- if ( c1
- && ( c2
- || c3))
- foo;
- func( c1
- && ( c2
- || c3))
- foo;
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_41()
- new
- setl cindent ts=4 sw=4
- setl cino=k2s,(s
-
- let code =<< trim [CODE]
- void func(void)
- {
- if (condition1
- && condition2)
- action();
- function(argument1
- && argument2);
-
- if (c1 && (c2 ||
- c3))
- foo;
- if (c1 &&
- (c2 || c3))
- {
- }
-
- if ( c1
- && ( c2
- || c3))
- foo;
- func( c1
- && ( c2
- || c3))
- foo;
- }
- [CODE]
-
- call append(0, code)
- normal gg
- normal ]]=][
-
- let expected =<< trim [CODE]
- void func(void)
- {
- if (condition1
- && condition2)
- action();
- function(argument1
- && argument2);
-
- if (c1 && (c2 ||
- c3))
- foo;
- if (c1 &&
- (c2 || c3))
- {
- }
-
- if ( c1
- && ( c2
- || c3))
- foo;
- func( c1
- && ( c2
- || c3))
- foo;
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_42()
- new
- setl cindent ts=4 sw=4
- setl cino=k2s,(s,U1
-
- let code =<< trim [CODE]
- void func(void)
- {
- if (condition1
- && condition2)
- action();
- function(argument1
- && argument2);
-
- if (c1 && (c2 ||
- c3))
- foo;
- if (c1 &&
- (c2 || c3))
- {
- }
- if (c123456789
- && (c22345
- || c3))
- printf("foo\n");
-
- c = c1 &&
- (
- c2 ||
- c3
- ) && c4;
- }
- [CODE]
-
- call append(0, code)
- normal gg
- normal ]]=][
-
- let expected =<< trim [CODE]
- void func(void)
- {
- if (condition1
- && condition2)
- action();
- function(argument1
- && argument2);
-
- if (c1 && (c2 ||
- c3))
- foo;
- if (c1 &&
- (c2 || c3))
- {
- }
- if (c123456789
- && (c22345
- || c3))
- printf("foo\n");
-
- c = c1 &&
- (
- c2 ||
- c3
- ) && c4;
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_43()
- new
- setl cindent ts=4 sw=4
- setl cino=k2s,(0,W4
-
- let code =<< trim [CODE]
- void func(void)
- {
- if (condition1
- && condition2)
- action();
- function(argument1
- && argument2);
-
- if (c1 && (c2 ||
- c3))
- foo;
- if (c1 &&
- (c2 || c3))
- {
- }
- if (c123456789
- && (c22345
- || c3))
- printf("foo\n");
-
- if ( c1
- && ( c2
- || c3))
- foo;
-
- a_long_line(
- argument,
- argument);
- a_short_line(argument,
- argument);
- }
- [CODE]
-
- call append(0, code)
- normal gg
- normal ]]=][
-
- let expected =<< trim [CODE]
- void func(void)
- {
- if (condition1
- && condition2)
- action();
- function(argument1
- && argument2);
-
- if (c1 && (c2 ||
- c3))
- foo;
- if (c1 &&
- (c2 || c3))
- {
- }
- if (c123456789
- && (c22345
- || c3))
- printf("foo\n");
-
- if ( c1
- && ( c2
- || c3))
- foo;
-
- a_long_line(
- argument,
- argument);
- a_short_line(argument,
- argument);
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_44()
- new
- setl cindent ts=4 sw=4
- setl cino=k2s,u2
-
- let code =<< trim [CODE]
- void func(void)
- {
- if (condition1
- && condition2)
- action();
- function(argument1
- && argument2);
-
- if (c1 && (c2 ||
- c3))
- foo;
- if (c1 &&
- (c2 || c3))
- {
- }
- if (c123456789
- && (c22345
- || c3))
- printf("foo\n");
- }
- [CODE]
-
- call append(0, code)
- normal gg
- normal ]]=][
-
- let expected =<< trim [CODE]
- void func(void)
- {
- if (condition1
- && condition2)
- action();
- function(argument1
- && argument2);
-
- if (c1 && (c2 ||
- c3))
- foo;
- if (c1 &&
- (c2 || c3))
- {
- }
- if (c123456789
- && (c22345
- || c3))
- printf("foo\n");
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_45()
- new
- setl cindent ts=4 sw=4
- setl cino=k2s,(0,w1
-
- let code =<< trim [CODE]
- void func(void)
- {
- if (condition1
- && condition2)
- action();
- function(argument1
- && argument2);
-
- if (c1 && (c2 ||
- c3))
- foo;
- if (c1 &&
- (c2 || c3))
- {
- }
- if (c123456789
- && (c22345
- || c3))
- printf("foo\n");
-
- if ( c1
- && ( c2
- || c3))
- foo;
- func( c1
- && ( c2
- || c3))
- foo;
- }
- [CODE]
-
- call append(0, code)
- normal gg
- normal ]]=][
-
- let expected =<< trim [CODE]
- void func(void)
- {
- if (condition1
- && condition2)
- action();
- function(argument1
- && argument2);
-
- if (c1 && (c2 ||
- c3))
- foo;
- if (c1 &&
- (c2 || c3))
- {
- }
- if (c123456789
- && (c22345
- || c3))
- printf("foo\n");
-
- if ( c1
- && ( c2
- || c3))
- foo;
- func( c1
- && ( c2
- || c3))
- foo;
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_46()
- new
- setl cindent ts=4 sw=4
- setl cino=k2,(s
-
- let code =<< trim [CODE]
- void func(void)
- {
- if (condition1
- && condition2)
- action();
- function(argument1
- && argument2);
-
- if (c1 && (c2 ||
- c3))
- foo;
- if (c1 &&
- (c2 || c3))
- {
- }
- }
- [CODE]
-
- call append(0, code)
- normal gg
- normal ]]=][
-
- let expected =<< trim [CODE]
- void func(void)
- {
- if (condition1
- && condition2)
- action();
- function(argument1
- && argument2);
-
- if (c1 && (c2 ||
- c3))
- foo;
- if (c1 &&
- (c2 || c3))
- {
- }
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_47()
- new
- setl cindent ts=4 sw=4
- setl cino=N-s
-
- let code =<< trim [CODE]
- NAMESPACESTART
- /* valid namespaces with normal indent */
- namespace
- {
- {
- 111111111111;
- }
- }
- namespace /* test */
- {
- 11111111111111111;
- }
- namespace // test
- {
- 111111111111111111;
- }
- namespace
- {
- 111111111111111111;
- }
- namespace test
- {
- 111111111111111111;
- }
- namespace test::cpp17
- {
- 111111111111111111;
- }
- namespace ::incorrectcpp17
- {
- 111111111111111111;
- }
- namespace test::incorrectcpp17::
- {
- 111111111111111111;
- }
- namespace test:incorrectcpp17
- {
- 111111111111111111;
- }
- namespace test:::incorrectcpp17
- {
- 111111111111111111;
- }
- namespace{
- 111111111111111111;
- }
- namespace test{
- 111111111111111111;
- }
- namespace {
- 111111111111111111;
- }
- namespace test {
- 111111111111111111;
- namespace test2 {
- 22222222222222222;
- }
- }
- inline namespace {
- 111111111111111111;
- }
- inline /* test */ namespace {
- 111111111111111111;
- }
- inline/* test */namespace {
- 111111111111111111;
- }
-
- /* invalid namespaces use block indent */
- namespace test test2 {
- 111111111111111111111;
- }
- namespace11111111111 {
- 111111111111;
- }
- namespace() {
- 1111111111111;
- }
- namespace()
- {
- 111111111111111111;
- }
- namespace test test2
- {
- 1111111111111111111;
- }
- namespace111111111
- {
- 111111111111111111;
- }
- inlinenamespace {
- 111111111111111111;
- }
- NAMESPACEEND
- [CODE]
-
- call append(0, code)
- normal gg
- call search('^NAMESPACESTART')
- exe "normal =/^NAMESPACEEND\n"
-
- let expected =<< trim [CODE]
- NAMESPACESTART
- /* valid namespaces with normal indent */
- namespace
- {
- {
- 111111111111;
- }
- }
- namespace /* test */
- {
- 11111111111111111;
- }
- namespace // test
- {
- 111111111111111111;
- }
- namespace
- {
- 111111111111111111;
- }
- namespace test
- {
- 111111111111111111;
- }
- namespace test::cpp17
- {
- 111111111111111111;
- }
- namespace ::incorrectcpp17
- {
- 111111111111111111;
- }
- namespace test::incorrectcpp17::
- {
- 111111111111111111;
- }
- namespace test:incorrectcpp17
- {
- 111111111111111111;
- }
- namespace test:::incorrectcpp17
- {
- 111111111111111111;
- }
- namespace{
- 111111111111111111;
- }
- namespace test{
- 111111111111111111;
- }
- namespace {
- 111111111111111111;
- }
- namespace test {
- 111111111111111111;
- namespace test2 {
- 22222222222222222;
- }
- }
- inline namespace {
- 111111111111111111;
- }
- inline /* test */ namespace {
- 111111111111111111;
- }
- inline/* test */namespace {
- 111111111111111111;
- }
-
- /* invalid namespaces use block indent */
- namespace test test2 {
- 111111111111111111111;
- }
- namespace11111111111 {
- 111111111111;
- }
- namespace() {
- 1111111111111;
- }
- namespace()
- {
- 111111111111111111;
- }
- namespace test test2
- {
- 1111111111111111111;
- }
- namespace111111111
- {
- 111111111111111111;
- }
- inlinenamespace {
- 111111111111111111;
- }
- NAMESPACEEND
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_48()
- new
- setl cindent ts=4 sw=4
- setl cino=j1,J1
-
- let code =<< trim [CODE]
- JSSTART
- var bar = {
- foo: {
- that: this,
- some: ok,
- },
- "bar":{
- a : 2,
- b: "123abc",
- x: 4,
- "y": 5
- }
- }
- JSEND
- [CODE]
-
- call append(0, code)
- normal gg
- call search('^JSSTART')
- exe "normal =/^JSEND\n"
-
- let expected =<< trim [CODE]
- JSSTART
- var bar = {
- foo: {
- that: this,
- some: ok,
- },
- "bar":{
- a : 2,
- b: "123abc",
- x: 4,
- "y": 5
- }
- }
- JSEND
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_49()
- new
- setl cindent ts=4 sw=4
- setl cino=j1,J1
-
- let code =<< trim [CODE]
- JSSTART
- var foo = [
- 1,
- 2,
- 3
- ];
- JSEND
- [CODE]
-
- call append(0, code)
- normal gg
- call search('^JSSTART')
- exe "normal =/^JSEND\n"
-
- let expected =<< trim [CODE]
- JSSTART
- var foo = [
- 1,
- 2,
- 3
- ];
- JSEND
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_50()
- new
- setl cindent ts=4 sw=4
- setl cino=j1,J1
-
- let code =<< trim [CODE]
- JSSTART
- function bar() {
- var foo = [
- 1,
- 2,
- 3
- ];
- }
- JSEND
- [CODE]
-
- call append(0, code)
- normal gg
- call search('^JSSTART')
- exe "normal =/^JSEND\n"
-
- let expected =<< trim [CODE]
- JSSTART
- function bar() {
- var foo = [
- 1,
- 2,
- 3
- ];
- }
- JSEND
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_51()
- new
- setl cindent ts=4 sw=4
- setl cino=j1,J1
-
- let code =<< trim [CODE]
- JSSTART
- (function($){
-
- if (cond &&
- cond) {
- stmt;
- }
- window.something.left =
- (width - 50 + offset) + "px";
- var class_name='myclass';
-
- function private_method() {
- }
-
- var public_method={
- method: function(options,args){
- private_method();
- }
- }
-
- function init(options) {
-
- $(this).data(class_name+'_public',$.extend({},{
- foo: 'bar',
- bar: 2,
- foobar: [
- 1,
- 2,
- 3
- ],
- callback: function(){
- return true;
- }
- }, options||{}));
- }
-
- $.fn[class_name]=function() {
-
- var _arguments=arguments;
- return this.each(function(){
-
- var options=$(this).data(class_name+'_public');
- if (!options) {
- init.apply(this,_arguments);
-
- } else {
- var method=public_method[_arguments[0]];
-
- if (typeof(method)!='function') {
- console.log(class_name+' has no method "'+_arguments[0]+'"');
- return false;
- }
- _arguments[0]=options;
- method.apply(this,_arguments);
- }
- });
- }
-
- })(jQuery);
- JSEND
- [CODE]
-
- call append(0, code)
- normal gg
- call search('^JSSTART')
- exe "normal =/^JSEND\n"
-
- let expected =<< trim [CODE]
- JSSTART
- (function($){
-
- if (cond &&
- cond) {
- stmt;
- }
- window.something.left =
- (width - 50 + offset) + "px";
- var class_name='myclass';
-
- function private_method() {
- }
-
- var public_method={
- method: function(options,args){
- private_method();
- }
- }
-
- function init(options) {
-
- $(this).data(class_name+'_public',$.extend({},{
- foo: 'bar',
- bar: 2,
- foobar: [
- 1,
- 2,
- 3
- ],
- callback: function(){
- return true;
- }
- }, options||{}));
- }
-
- $.fn[class_name]=function() {
-
- var _arguments=arguments;
- return this.each(function(){
-
- var options=$(this).data(class_name+'_public');
- if (!options) {
- init.apply(this,_arguments);
-
- } else {
- var method=public_method[_arguments[0]];
-
- if (typeof(method)!='function') {
- console.log(class_name+' has no method "'+_arguments[0]+'"');
- return false;
- }
- _arguments[0]=options;
- method.apply(this,_arguments);
- }
- });
- }
-
- })(jQuery);
- JSEND
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_52()
- new
- setl cindent ts=4 sw=4
- setl cino=j1,J1
-
- let code =<< trim [CODE]
- JSSTART
- function init(options) {
- $(this).data(class_name+'_public',$.extend({},{
- foo: 'bar',
- bar: 2,
- foobar: [
- 1,
- 2,
- 3
- ],
- callback: function(){
- return true;
- }
- }, options||{}));
- }
- JSEND
- [CODE]
-
- call append(0, code)
- normal gg
- call search('^JSSTART')
- exe "normal =/^JSEND\n"
-
- let expected =<< trim [CODE]
- JSSTART
- function init(options) {
- $(this).data(class_name+'_public',$.extend({},{
- foo: 'bar',
- bar: 2,
- foobar: [
- 1,
- 2,
- 3
- ],
- callback: function(){
- return true;
- }
- }, options||{}));
- }
- JSEND
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_53()
- new
- setl cindent ts=4 sw=4
- setl cino=j1,J1
-
- let code =<< trim [CODE]
- JSSTART
- (function($){
- function init(options) {
- $(this).data(class_name+'_public',$.extend({},{
- foo: 'bar',
- bar: 2,
- foobar: [
- 1,
- 2,
- 3
- ],
- callback: function(){
- return true;
- }
- }, options||{}));
- }
- })(jQuery);
- JSEND
- [CODE]
-
- call append(0, code)
- normal gg
- call search('^JSSTART')
- exe "normal =/^JSEND\n"
-
- let expected =<< trim [CODE]
- JSSTART
- (function($){
- function init(options) {
- $(this).data(class_name+'_public',$.extend({},{
- foo: 'bar',
- bar: 2,
- foobar: [
- 1,
- 2,
- 3
- ],
- callback: function(){
- return true;
- }
- }, options||{}));
- }
- })(jQuery);
- JSEND
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_54()
- new
- setl cindent ts=4 sw=4
- setl cino=j1,J1,+2
-
- let code =<< trim [CODE]
- JSSTART
- // Results of JavaScript indent
- // 1
- (function(){
- var a = [
- 'a',
- 'b',
- 'c',
- 'd',
- 'e',
- 'f',
- 'g',
- 'h',
- 'i'
- ];
- }())
-
- // 2
- (function(){
- var a = [
- 0 +
- 5 *
- 9 *
- 'a',
- 'b',
- 0 +
- 5 *
- 9 *
- 'c',
- 'd',
- 'e',
- 'f',
- 'g',
- 'h',
- 'i'
- ];
- }())
-
- // 3
- (function(){
- var a = [
- 0 +
- // comment 1
- 5 *
- /* comment 2 */
- 9 *
- 'a',
- 'b',
- 0 +
- 5 *
- 9 *
- 'c',
- 'd',
- 'e',
- 'f',
- 'g',
- 'h',
- 'i'
- ];
- }())
-
- // 4
- {
- var a = [
- 0,
- 1
- ];
- var b;
- var c;
- }
-
- // 5
- {
- var a = [
- [
- 0
- ],
- 2,
- 3
- ];
- }
-
- // 6
- {
- var a = [
- [
- 0,
- 1
- ],
- 2,
- 3
- ];
- }
-
- // 7
- {
- var a = [
- // [
- 0,
- // 1
- // ],
- 2,
- 3
- ];
- }
-
- // 8
- var x = [
- (function(){
- var a,
- b,
- c,
- d,
- e,
- f,
- g,
- h,
- i;
- })
- ];
-
- // 9
- var a = [
- 0 +
- 5 *
- 9 *
- 'a',
- 'b',
- 0 +
- 5 *
- 9 *
- 'c',
- 'd',
- 'e',
- 'f',
- 'g',
- 'h',
- 'i'
- ];
-
- // 10
- var a,
- b,
- c,
- d,
- e,
- f,
- g,
- h,
- i;
- JSEND
- [CODE]
-
- call append(0, code)
- normal gg
- call search('^JSSTART')
- exe "normal =/^JSEND\n"
-
- let expected =<< trim [CODE]
- JSSTART
- // Results of JavaScript indent
- // 1
- (function(){
- var a = [
- 'a',
- 'b',
- 'c',
- 'd',
- 'e',
- 'f',
- 'g',
- 'h',
- 'i'
- ];
- }())
-
- // 2
- (function(){
- var a = [
- 0 +
- 5 *
- 9 *
- 'a',
- 'b',
- 0 +
- 5 *
- 9 *
- 'c',
- 'd',
- 'e',
- 'f',
- 'g',
- 'h',
- 'i'
- ];
- }())
-
- // 3
- (function(){
- var a = [
- 0 +
- // comment 1
- 5 *
- /* comment 2 */
- 9 *
- 'a',
- 'b',
- 0 +
- 5 *
- 9 *
- 'c',
- 'd',
- 'e',
- 'f',
- 'g',
- 'h',
- 'i'
- ];
- }())
-
- // 4
- {
- var a = [
- 0,
- 1
- ];
- var b;
- var c;
- }
-
- // 5
- {
- var a = [
- [
- 0
- ],
- 2,
- 3
- ];
- }
-
- // 6
- {
- var a = [
- [
- 0,
- 1
- ],
- 2,
- 3
- ];
- }
-
- // 7
- {
- var a = [
- // [
- 0,
- // 1
- // ],
- 2,
- 3
- ];
- }
-
- // 8
- var x = [
- (function(){
- var a,
- b,
- c,
- d,
- e,
- f,
- g,
- h,
- i;
- })
- ];
-
- // 9
- var a = [
- 0 +
- 5 *
- 9 *
- 'a',
- 'b',
- 0 +
- 5 *
- 9 *
- 'c',
- 'd',
- 'e',
- 'f',
- 'g',
- 'h',
- 'i'
- ];
-
- // 10
- var a,
- b,
- c,
- d,
- e,
- f,
- g,
- h,
- i;
- JSEND
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_55()
- new
- setl cindent ts=4 sw=4
- setl cino&
-
- let code =<< trim [CODE]
- /* start of define */
- {
- }
- #define AAA \
- BBB\
- CCC
-
- #define CNT \
- 1 + \
- 2 + \
- 4
- /* end of define */
- [CODE]
-
- call append(0, code)
- normal gg
- call search('start of define')
- exe "normal =/end of define\n"
-
- let expected =<< trim [CODE]
- /* start of define */
- {
- }
- #define AAA \
- BBB\
- CCC
-
- #define CNT \
- 1 + \
- 2 + \
- 4
- /* end of define */
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_56()
- new
- setl cindent ts=4 sw=4
- setl cino&
-
- let code =<< trim [CODE]
- {
- a = second/*bug*/*line;
- }
- [CODE]
-
- call append(0, code)
- normal gg
- call search('a = second')
- normal ox
-
- let expected =<< trim [CODE]
- {
- a = second/*bug*/*line;
- x
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-" this was going beyond the end of the line.
-func Test_cindent_case()
- new
- call setline(1, 'case x: // x')
- set cindent
- norm! f:a:
- call assert_equal('case x:: // x', getline(1))
- set cindent&
- bwipe!
-endfunc
-
-" Test for changing multiple lines (using c) with cindent
-func Test_cindent_change_multline()
- new
- setlocal cindent
- call setline(1, ['if (a)', '{', ' i = 1;', '}'])
- normal! jc3jm = 2;
- call assert_equal("\tm = 2;", getline(2))
- close!
-endfunc
-
-" This was reading past the end of the line
-func Test_cindent_check_funcdecl()
- new
- sil norm o0('\0=L
- bwipe!
-endfunc
-
-func Test_cindent_scopedecls()
- new
- setl cindent ts=4 sw=4
- setl cino=g0
- setl cinsd+=public\ slots,signals
-
- let code =<< trim [CODE]
- class Foo
- {
- public:
- virtual void foo() = 0;
- public slots:
- void onBar();
- signals:
- void baz();
- private:
- int x;
- };
- [CODE]
-
- call append(0, code)
- normal gg
- normal ]]=][
-
- let expected =<< trim [CODE]
- class Foo
- {
- public:
- virtual void foo() = 0;
- public slots:
- void onBar();
- signals:
- void baz();
- private:
- int x;
- };
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_cindent_pragma()
- new
- setl cindent ts=4 sw=4
- setl cino=Ps
-
- let code =<< trim [CODE]
- {
- #pragma omp parallel
- {
- #pragma omp task
- foo();
- # pragma omp taskwait
- }
- }
- [CODE]
-
- call append(0, code)
- normal gg
- normal =G
-
- let expected =<< trim [CODE]
- {
- #pragma omp parallel
- {
- #pragma omp task
- foo();
- # pragma omp taskwait
- }
- }
-
- [CODE]
-
- call assert_equal(expected, getline(1, '$'))
- enew! | close
-endfunc
-
-func Test_backslash_at_end_of_line()
- new
- exe "norm v>O'\\\<C-m>-"
- exe "norm \<C-q>="
- bwipe!
-endfunc
-
-func Test_find_brace_backwards()
- " this was looking beyond the end of the line
- new
- norm R/*
- norm o0{
- norm o//
- norm V{=
- call assert_equal(['/*', ' 0{', '//'], getline(1, 3))
- bwipe!
-endfunc
-
-
-" vim: shiftwidth=2 sts=2 expandtab