UNPKG

tm-grammars

Version:
269 lines (268 loc) 6.12 kB
{ "displayName": "Hurl", "name": "hurl", "patterns": [ { "include": "#comments" }, { "include": "#sections" }, { "include": "#http" }, { "include": "#strings" }, { "include": "#body" }, { "include": "#request" } ], "repository": { "body": { "patterns": [ { "begin": "```graphql(,\\w+)*$", "beginCaptures": { "1": { "name": "support.type" } }, "end": "```$", "name": "meta.embedded.block.graphql.hurl", "patterns": [ { "include": "source.graphql" } ] }, { "begin": "```xml(,\\w+)*$", "beginCaptures": { "1": { "name": "support.type" } }, "end": "```$", "name": "meta.embedded.block.xml.hurl", "patterns": [ { "include": "text.xml" } ] }, { "begin": "```json(,\\w+)*$", "beginCaptures": { "1": { "name": "support.type" } }, "end": "```$", "name": "meta.embedded.block.json.hurl", "patterns": [ { "include": "text.json" } ] }, { "begin": "```csv(,\\w+)*$", "beginCaptures": { "1": { "name": "support.type" } }, "end": "```$", "name": "meta.embedded.block.csv.hurl", "patterns": [ { "include": "text.csv" } ] }, { "begin": "```hex(,\\w+)*$", "beginCaptures": { "1": { "name": "support.type" } }, "contentName": "text.plain", "end": "```$", "name": "string.quoted.multiline.hurl" }, { "begin": "```base64(,\\w+)*$", "beginCaptures": { "1": { "name": "support.type" } }, "contentName": "text.plain", "end": "```$", "name": "string.quoted.multiline.hurl" }, { "begin": "```([^,]*)(,\\w+)*$", "beginCaptures": { "1": { "name": "support.type" }, "2": { "name": "support.type" } }, "end": "```$", "name": "string.quoted.multiline.hurl" }, { "match": "`(\\\\.|[^\\\\`])*`", "name": "string.quoted.backtick.hurl", "patterns": [ { "include": "#escapes" } ] }, { "begin": "\\b(base64|hex),", "beginCaptures": { "1": { "name": "support.function.name" } }, "contentName": "text.plain", "end": ";", "endCaptures": { "0": { "name": "support.function" } }, "name": "support.function", "patterns": [ { "include": "#placeholders" } ] } ] }, "comments": { "patterns": [ { "match": "#.*$", "name": "comment.line.number-sign.hurl" } ] }, "escapes": { "patterns": [ { "match": "\\\\[\"#\\\\`bnrtu]", "name": "constant.character.escape.hurl" } ] }, "http": { "patterns": [ { "captures": { "1": { "name": "constant.language.version.hurl" }, "3": { "name": "constant.numeric.status.hurl" } }, "match": "\\b(HTTP(/(?:1\\.0|1\\.1|2))?)([\\t ]+([0-9]{3}))?\\b" } ] }, "placeholders": { "patterns": [ { "begin": "(\\{\\{)\\s*", "beginCaptures": { "1": { "name": "string.interpolated.hurl" } }, "contentName": "variable.other.hurl", "end": "\\s*(}})", "endCaptures": { "1": { "name": "string.interpolated.hurl" } } } ] }, "request": { "patterns": [ { "match": "\\b(GET|POST|PUT|DELETE|PATCH|HEAD|OPTIONS|TRACE|CONNECT)\\b", "name": "keyword.control.method.hurl" }, { "captures": { "1": { "name": "string.unquoted.url.hurl", "patterns": [ { "include": "#placeholders" } ] } }, "match": "(https?://[^\\t\\n]+)\\s*$", "name": "string.unquoted.url.hurl" }, { "begin": "^([-0-9A-Za-z]+)(:)\\s*", "beginCaptures": { "1": { "name": "entity.name.tag.header.hurl" }, "2": { "name": "punctuation.separator.key-value.hurl" } }, "contentName": "string.unquoted.hurl", "end": "$", "name": "entity.name.tag.header.hurl", "patterns": [ { "include": "#placeholders" } ] } ] }, "sections": { "patterns": [ { "match": "^\\s*\\[(QueryStringParams|Query|FormParams|Form|MultipartFormData|Multipart|Cookies|Captures|Asserts|BasicAuth|Options)]", "name": "entity.name.section.hurl" } ] }, "strings": { "patterns": [ { "match": "\"(\\\\.|[^\"\\\\])*\"", "name": "string.quoted.double.hurl", "patterns": [ { "include": "#escapes" } ] } ] } }, "scopeName": "source.hurl" }