@@ -63,9 +63,7 @@ function readGrammarFile(filename, significantScopeLast) {
6363 return schema ;
6464 }
6565
66- var schema = read ( filename , { } ) ;
67-
68- if ( significantScopeLast ) {
66+ function patch ( o ) {
6967 function patchName ( name ) {
7068 var names = name . split ( / [ \s \n ] + / ) ;
7169 if ( names . length > 1 ) {
@@ -74,31 +72,33 @@ function readGrammarFile(filename, significantScopeLast) {
7472 return names . join ( ' ' ) ;
7573 }
7674
77- function patch ( o ) {
78- if ( _ . has ( o , 'name' ) ) {
79- o . name = patchName ( o . name ) ;
80- }
75+ if ( _ . has ( o , 'name' ) ) {
76+ o . name = patchName ( o . name ) ;
77+ }
8178
82- if ( _ . has ( o , 'patterns' ) ) {
83- _ . each ( o . patterns , patch ) ;
84- }
79+ if ( _ . has ( o , 'patterns' ) ) {
80+ _ . each ( o . patterns , patch ) ;
81+ }
82+
83+ _ . each (
84+ [ 'beginCaptures' , 'endCaptures' , 'captures' ] ,
85+ function ( prop ) {
86+ if ( ! _ . has ( o , prop ) ) {
87+ return
88+ }
8589
86- _ . each (
87- [ 'beginCaptures' , 'endCaptures' , 'captures' ] ,
88- function ( prop ) {
89- if ( ! _ . has ( o , prop ) ) {
90- return
90+ _ . each ( o [ prop ] , function ( v ) {
91+ if ( _ . has ( v , 'name' ) ) {
92+ v . name = patchName ( v . name ) ;
9193 }
94+ } )
95+ }
96+ ) ;
97+ }
9298
93- _ . each ( o [ prop ] , function ( v ) {
94- if ( _ . has ( v , 'name' ) ) {
95- v . name = patchName ( v . name ) ;
96- }
97- } )
98- }
99- ) ;
100- }
99+ var schema = read ( filename , { } ) ;
101100
101+ if ( significantScopeLast ) {
102102 if ( schema . repository ) {
103103 _ . each ( schema . repository , function ( v , k ) {
104104 patch ( v ) ;
0 commit comments