# HG changeset patch # User Bram Moolenaar # Date 1307908268 -7200 # Node ID 493897f8bf9057aa0fee4c18d269558d32053cc7 # Parent 334771ad5bd71c3ac5f568ef6fde02215f95b1ba 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) diff --git a/src/misc1.c b/src/misc1.c --- 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 diff --git a/src/testdir/test3.in b/src/testdir/test3.in --- 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 diff --git a/src/testdir/test3.ok b/src/testdir/test3.ok --- 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 + diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -710,6 +710,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 213, +/**/ 212, /**/ 211,