{ "name": "YANG", "scopeName": "source.yang", "patterns": [ { "name": "comment.line.source.yang", "match": "//.+" }, { "name": "comment.block.source.yang", "begin": "/\\*", "end": "\\*/" }, { "name": "string.quoted.source.yang", "begin": "\"", "end": "\"" }, { "name": "string.quoted.source.yang", "begin": "'", "end": "'" }, { "match": "((?\u003c=[^\\w-]|^))(anyxml|argument|augment|base|belongs-to|bit|case|choice|config|contact|container|default|description|enum|error-app-tag|error-message|extension|deviation|deviate|feature|fraction-digits|grouping|identity|if-feature|import|include|input|key|leaf|leaf-list|length|list|mandatory|max-elements|min-elements|module|must|namespace|ordered-by|organization|output|path|pattern|position|prefix|presence|range|reference|refine|require-instance|revision|revision-date|status|submodule|type|typedef|unique|units|uses|value|when|yang-version|yin-element)((?=[^\\w-]|$))", "captures": { "2": { "name": "keyword.source.yang" } } }, { "match": "((?\u003c=[^\\w-]|^))(add|current|delete|deprecated|max|min|not-supported|obsolete|replace|system|unbounded|user)((?=[^\\w-]|$))", "captures": { "2": { "name": "keyword.other.source.yang" } } }, { "name": "storage.type.source.yang", "match": "\\bdecimal64|int8|int16|int32|int64|uint8|uint16|uint32|uint64|string|boolean|enumeration|bits|binary|leafref|identityref|empty|instance-identifier\\b" }, { "match": "(\\b)(true|false)(\\b)", "captures": { "2": { "name": "constant.language.source.yang}" } } }, { "match": "(\\b|\\.)(\\d+)(\\b|\\.)", "captures": { "1": { "name": "constant.numeric.source.yang" }, "2": { "name": "constant.numeric.source.yang" }, "3": { "name": "constant.numeric.source.yang" } } }, { "match": "(\\brpc|\\bnotification)(\\s+)([\\w_\\-\\d]+)", "captures": { "1": { "name": "keyword.source.yang" }, "3": { "name": "entity.name.function.source.yang" } } } ] }