621621 "endCaptures" : { "0" : { "name" : " punctuation.definition.dictionary.end.json.tm" } },
622622 "patterns" : [
623623 { "include" : " #name" },
624+ { "include" : " #name_scopeName" },
624625 { "include" : " #match" },
625626 { "include" : " #include" },
626627 { "include" : " #patterns" },
751752 "beginCaptures" : { "0" : { "name" : " punctuation.definition.string.begin.json.tm" } },
752753 "endCaptures" : { "0" : { "name" : " punctuation.definition.string.end.json.tm" } },
753754 "name" : " $1$2" ,
755+ "patterns" : [
756+ {
757+ "comment" : " TextMate 2.0 does not split scopes on spaces in their grammar files. But does so in their theme files." ,
758+ "match" : " \\ G(?=(?>[^\\\\\" ]++|\\\\ [^ ])+ )([^ ]+)(?=\\ .)" ,
759+ "captures" : {
760+ "1" : {
761+ "name" : " $1" ,
762+ "patterns" : [
763+ { "include" : " #escape-characters" },
764+ { "include" : " #name_scopes" }
765+ ]
766+ }
767+ }
768+ },
769+ { "include" : " #escape-characters" },
770+ { "include" : " #name_scopes" }
771+ ]
772+ },
773+ { "include" : " #json-value" }
774+ ]
775+ },
776+ { "include" : " #dictionary-separator" }
777+ ]
778+ },
779+ "name_scopeName" : {
780+ "comment" : " \" scopeName\" : \" ...\" " ,
781+ "begin" : " (\" )(scopeName)(\" )" ,
782+ "end" : " (?<=\" )(?!\\ G)|(?=[},])" ,
783+ "beginCaptures" : {
784+ "1" : { "name" : " punctuation.definition.string.begin.json.tm" },
785+ "2" : { "name" : " keyword.property-name.string.$2.json.tm" },
786+ "3" : { "name" : " punctuation.definition.string.end.json.tm" }
787+ },
788+ "patterns" : [
789+ {
790+ "begin" : " :" ,
791+ "end" : " (?<=\" )|(?=[},])" ,
792+ "beginCaptures" : { "0" : { "name" : " punctuation.separator.dictionary.key-value.json.tm" } },
793+ "patterns" : [
794+ {
795+ "comment" : " TextMate 2.0 does not split scopes on spaces in their grammar files. But does so in their theme files." ,
796+ "begin" : " \" (?=(?=(?>[^\\\\\" ]++|\\\\ [^ ])+ )([^ ]+)\\ .|((?>[^\\\\\" ]++|\\\\ [^ ])+)\" )|\" " ,
797+ "end" : " \" " ,
798+ "beginCaptures" : { "0" : { "name" : " punctuation.definition.string.begin.json.tm" } },
799+ "endCaptures" : { "0" : { "name" : " punctuation.definition.string.end.json.tm" } },
800+ "name" : " $1$2" ,
754801 "patterns" : [
755802 { "include" : " #escape-characters" },
756803 { "include" : " #name_scopes" }
939986 "patterns" : [
940987 { "comment" : " All normal \" patterns\" rules are allowed here. With the exception of \" include\" . But only when they are paired with \" patterns\" " },
941988 { "include" : " #name" },
989+ { "include" : " #name_scopeName" },
942990 { "include" : " #match" },
943991 { "include" : " #patterns" },
944992 { "include" : " #captures" },
9791027 "patterns" : [
9801028 { "comment" : " All normal \" patterns\" rules are allowed here. With the exception of \" include\" . But only when they are paired with \" patterns\" " },
9811029 { "include" : " #name" },
1030+ { "include" : " #name_scopeName" },
9821031 { "include" : " #match" },
9831032 { "include" : " #patterns" },
9841033 { "include" : " #captures" },
14111460 ]
14121461 }
14131462 }
1414- }
1463+ }
0 commit comments