{ "name": "Java Properties", "scopeName": "source.java-properties", "patterns": [ { "match": "^\\s*$" }, { "include": "#comment-line" }, { "include": "#property-name" }, { "include": "#property-definition" } ], "repository": { "comment-line": { "name": "comment.line.java-properties", "match": "^(\\s*)([#!])(.+)?$\\n?", "captures": { "1": { "name": "punctuation.whitespace.comment.leading.java-properties" }, "2": { "name": "punctuation.definition.comment.java-properties" } } }, "property-definition": { "name": "meta.key-value.java-properties", "contentName": "string.unquoted.java-properties", "begin": "^(\\s*)((?:\\\\[ \\t]|\\\\:|\\\\=|[^:=\\s])+)(?:\\s*([:=]))?\\s*", "end": "(?\u003c!\\\\{1})$\\n", "patterns": [ { "name": "punctuation.whitespace.leading.java-properties", "match": "^\\s*" }, { "name": "punctuation.separator.continuation.java-properties", "match": "(\\\\{1})(?=$\\n)" }, { "name": "constant.character.escape.java-properties", "match": "\\\\(?:[\\\\ntfr\\\"']|u[0-9A-Fa-f]{4})" } ], "beginCaptures": { "1": { "name": "punctuation.whitespace.leading.java-properties" }, "2": { "name": "support.constant.java-properties", "patterns": [ { "name": "constant.character.escape.java-properties", "match": "\\\\(?:[ \\t:=\\\\ntfr\\\"']|u[0-9A-Fa-f]{4})" } ] }, "3": { "name": "punctuation.separator.key-value.java-properties" } } }, "property-name": { "name": "meta.key-value.java-properties", "match": "^(\\s*)((?:\\\\[ \\t]|\\\\:|\\\\=|[^:=\\s])+)(?:\\s*([:=]))?\\s*$\\n", "captures": { "1": { "name": "punctuation.whitespace.comment.leading.java-properties" }, "2": { "name": "support.constant.java-properties", "patterns": [ { "name": "constant.character.escape.java-properties", "match": "\\\\(?:[ \\t:=\\\\ntfr\\\"']|u[0-9A-Fa-f]{4})" } ] } } } } }