Mercurial > vim
changeset 2879:493897f8bf90 v7.3.213
updated for version 7.3.213
Problem: Javascript object literal is not indented correctly.
Solution: Make a special case for when "J1" is in 'cino'. (Luc Deschenaux)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Sun, 12 Jun 2011 21:51:08 +0200 |
parents | 334771ad5bd7 |
children | b23052d0a187 |
files | src/misc1.c src/testdir/test3.in src/testdir/test3.ok src/version.c |
diffstat | 4 files changed, 43 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/misc1.c +++ b/src/misc1.c @@ -6965,7 +6965,7 @@ get_c_indent() * ldfd) { * } */ - if ((ind_keep_case_label + if (ind_js || (ind_keep_case_label && cin_iscase(skipwhite(ml_get_curline()), FALSE))) amount = get_indent(); else
--- a/src/testdir/test3.in +++ b/src/testdir/test3.in @@ -1492,10 +1492,11 @@ baz(); STARTTEST :set cino=N-s -/namespaces +/^NAMESPACESTART =/^NAMESPACEEND ENDTEST +NAMESPACESTART /* valid namespaces with normal indent */ namespace { @@ -1561,6 +1562,27 @@ NAMESPACEEND STARTTEST +:set cino=J1 +/^JSSTART +=/^JSEND +ENDTEST + +JSSTART +var bar = { +foo: { +that: this, +some: ok, +}, +"bar":{ +a : 2, +b: "123abc", +x: 4, +"y": 5 +} +} +JSEND + +STARTTEST :g/^STARTTEST/.,/^ENDTEST/d :1;/start of AUTO/,$wq! test.out ENDTEST
--- a/src/testdir/test3.ok +++ b/src/testdir/test3.ok @@ -1337,6 +1337,7 @@ void func(void) } +NAMESPACESTART /* valid namespaces with normal indent */ namespace { @@ -1401,3 +1402,19 @@ namespace111111111 NAMESPACEEND + +JSSTART +var bar = { + foo: { + that: this, + some: ok, + }, + "bar":{ + a : 2, + b: "123abc", + x: 4, + "y": 5 + } +} +JSEND +