UNPKG

tm-grammars

Version:
229 lines (228 loc) 5.95 kB
{ "displayName": "Gettext PO", "fileTypes": [ "po", "pot", "potx" ], "name": "po", "patterns": [ { "begin": "^(?:(?=(msg(?:id(_plural)?|ctxt))\\s*\"[^\"])|\\s*$)", "end": "\\z", "patterns": [ { "include": "#body" } ] }, { "include": "#comments" }, { "match": "^msg(id|str)\\s+\"\"\\s*$\\n?", "name": "comment.line.number-sign.po" }, { "captures": { "1": { "name": "constant.language.po" }, "2": { "name": "punctuation.separator.key-value.po" }, "3": { "name": "string.other.po" } }, "match": "^\"(?:([^:\\s]+)(:)\\s+)?([^\"]*)\"\\s*$\\n?", "name": "meta.header.po" } ], "repository": { "body": { "patterns": [ { "begin": "^(msgid(_plural)?)\\s+", "beginCaptures": { "1": { "name": "keyword.control.msgid.po" } }, "end": "^(?!\")", "name": "meta.scope.msgid.po", "patterns": [ { "begin": "(\\G|^)\"", "end": "\"", "name": "string.quoted.double.po", "patterns": [ { "match": "\\\\[\"\\\\]", "name": "constant.character.escape.po" } ] } ] }, { "begin": "^(msgstr)(?:(\\[)(\\d+)(]))?\\s+", "beginCaptures": { "1": { "name": "keyword.control.msgstr.po" }, "2": { "name": "keyword.control.msgstr.po" }, "3": { "name": "constant.numeric.po" }, "4": { "name": "keyword.control.msgstr.po" } }, "end": "^(?!\")", "name": "meta.scope.msgstr.po", "patterns": [ { "begin": "(\\G|^)\"", "end": "\"", "name": "string.quoted.double.po", "patterns": [ { "match": "\\\\[\"\\\\]", "name": "constant.character.escape.po" } ] } ] }, { "begin": "^(msgctxt)(?:(\\[)(\\d+)(]))?\\s+", "beginCaptures": { "1": { "name": "keyword.control.msgctxt.po" }, "2": { "name": "keyword.control.msgctxt.po" }, "3": { "name": "constant.numeric.po" }, "4": { "name": "keyword.control.msgctxt.po" } }, "end": "^(?!\")", "name": "meta.scope.msgctxt.po", "patterns": [ { "begin": "(\\G|^)\"", "end": "\"", "name": "string.quoted.double.po", "patterns": [ { "match": "\\\\[\"\\\\]", "name": "constant.character.escape.po" } ] } ] }, { "captures": { "1": { "name": "punctuation.definition.comment.po" } }, "match": "^(#~).*$\\n?", "name": "comment.line.number-sign.obsolete.po" }, { "include": "#comments" }, { "match": "^(?!\\s*$)[^\"#].*$\\n?", "name": "invalid.illegal.po" } ] }, "comments": { "patterns": [ { "begin": "^(?=#)", "end": "(?!\\G)", "patterns": [ { "begin": "(#,)\\s+", "beginCaptures": { "1": { "name": "punctuation.definition.comment.po" } }, "end": "\\n", "name": "comment.line.number-sign.flag.po", "patterns": [ { "captures": { "1": { "name": "entity.name.type.flag.po" } }, "match": "(?:\\G|,\\s*)(fuzzy|(?:no-)?(?:c|objc|sh|lisp|elisp|librep|scheme|smalltalk|java|csharp|awk|object-pascal|ycp|tcl|perl|perl-brace|php|gcc-internal|qt|boost)-format)" } ] }, { "begin": "#\\.", "beginCaptures": { "0": { "name": "punctuation.definition.comment.po" } }, "end": "\\n", "name": "comment.line.number-sign.extracted.po" }, { "begin": "(#:)[\\t ]*", "beginCaptures": { "1": { "name": "punctuation.definition.comment.po" } }, "end": "\\n", "name": "comment.line.number-sign.reference.po", "patterns": [ { "match": "(\\S+:)([;\\d]*)", "name": "storage.type.class.po" } ] }, { "begin": "#\\|", "beginCaptures": { "0": { "name": "punctuation.definition.comment.po" } }, "end": "\\n", "name": "comment.line.number-sign.previous.po" }, { "begin": "#", "beginCaptures": { "0": { "name": "punctuation.definition.comment.po" } }, "end": "\\n", "name": "comment.line.number-sign.po" } ] } ] } }, "scopeName": "source.po" }