{ "name": "Roff (Intermediate Output)", "scopeName": "source.ditroff", "firstLineMatch": "^x\\s*T\\s+(dvi|html|lbp|lj4|ps|post|pdf|ascii|cp1047|latin1|utf8|X75|X75-12|X100|X100-12)(?=\\s|$)", "patterns": [ { "include": "#main" } ], "repository": { "main": { "patterns": [ { "include": "#comment" }, { "include": "#deviceControl" }, { "include": "#colourMode" }, { "include": "#print" }, { "include": "#font" }, { "include": "#eol" }, { "include": "#move" }, { "include": "#size" }, { "include": "#page" }, { "include": "#graphics" }, { "include": "#movePrint" }, { "include": "#wordSpace" } ] }, "colourMode": { "patterns": [ { "name": "meta.colour-mode.default.gnu.ditroff", "match": "(?:(m)|^\\s*(D)\\s*(F))\\s*(d)", "captures": { "1": { "name": "entity.name.function.ditroff" }, "2": { "name": "entity.name.function.ditroff" }, "3": { "name": "entity.name.subcommand.ditroff" }, "4": { "name": "constant.language.colour-scheme.ditroff" } } }, { "name": "meta.colour-mode.rgb.gnu.ditroff", "match": "(?:(m)|^\\s*(D)\\s*(F))\\s*(r)((?:\\s*\\d+){3})", "captures": { "1": { "name": "entity.name.function.ditroff" }, "2": { "name": "entity.name.function.ditroff" }, "3": { "name": "entity.name.subcommand.ditroff" }, "4": { "name": "constant.language.colour-scheme.ditroff" }, "5": { "patterns": [ { "include": "text.roff#number" } ] } } }, { "name": "meta.colour-mode.cmyk.gnu.ditroff", "match": "(?:(m)|^\\s*(D)\\s*(F))\\s*(k)((?:\\s*\\d+){4})", "captures": { "1": { "name": "entity.name.function.ditroff" }, "2": { "name": "entity.name.function.ditroff" }, "3": { "name": "entity.name.subcommand.ditroff" }, "4": { "name": "constant.language.colour-scheme.ditroff" }, "5": { "patterns": [ { "include": "text.roff#number" } ] } } }, { "name": "meta.colour-mode.cmy.gnu.ditroff", "match": "(?:(m)|^\\s*(D)\\s*(F))\\s*(c)((?:\\s*\\d+){3})", "captures": { "1": { "name": "entity.name.function.ditroff" }, "2": { "name": "entity.name.function.ditroff" }, "3": { "name": "entity.name.subcommand.ditroff" }, "4": { "name": "constant.language.colour-scheme.ditroff" }, "5": { "patterns": [ { "include": "text.roff#number" } ] } } }, { "name": "meta.colour-mode.grey.gnu.ditroff", "match": "(?:(m)|^\\s*(D)\\s*(F))\\s*(g)\\s*(\\d+)", "captures": { "1": { "name": "entity.name.function.ditroff" }, "2": { "name": "entity.name.function.ditroff" }, "3": { "name": "entity.name.subcommand.ditroff" }, "4": { "name": "constant.language.colour-scheme.ditroff" }, "5": { "patterns": [ { "include": "text.roff#number" } ] } } } ] }, "comment": { "name": "comment.line.number-sign.ditroff", "begin": "#", "end": "$", "beginCaptures": { "0": { "name": "punctuation.definition.comment.ditroff" } } }, "deviceControl": { "patterns": [ { "name": "meta.custom.device-control.ditroff", "begin": "^\\s*(x)\\s*(X\\S*)", "end": "^(?!\\+)", "beginCaptures": { "1": { "name": "keyword.operator.other.ditroff" }, "2": { "name": "keyword.device.control.ditroff" } }, "contentName": "string.raw.unquoted.heredoc.ditroff", "patterns": [ { "name": "keyword.operator.line-continuation.gnu.ditroff", "match": "^\\+" } ] }, { "name": "meta.device-control.ditroff", "begin": "^\\s*(x)\\s*", "end": "(?=$|#)", "beginCaptures": { "1": { "name": "keyword.operator.other.ditroff" } }, "patterns": [ { "name": "keyword.device.control.ditroff", "match": "\\G([ipst]\\S*)\\s*?(?=$|#)" }, { "name": "meta.space-underlining.gnu.ditroff", "match": "\\G(u\\S*)\\s+(?:(1|0)|(\\d+))\\s*?(?=$|#)", "captures": { "1": { "name": "keyword.device.control.ditroff" }, "2": { "name": "constant.numeric.integer.ditroff" }, "3": { "name": "invalid.illegal.argument.ditroff" } } }, { "name": "meta.source-filename.gnu.ditroff", "match": "\\G(F\\S*)\\s+(\\S+)\\s*?(?=$|#)", "captures": { "1": { "name": "keyword.device.control.ditroff" }, "2": { "name": "variable.parameter.filename.ditroff" } } }, { "name": "meta.typesetter-device.ditroff", "match": "\\G(T\\S*)\\s+((\\S+))", "captures": { "1": { "name": "keyword.device.control.ditroff" }, "2": { "name": "variable.parameter.ditroff" }, "3": { "patterns": [ { "name": "support.constant.device-name.ditroff", "match": "(?<=\\s|^)(?:dvi|html|lbp|lj4|ps|pdf|ascii|cp1047|latin1|utf8|X75|X75-12|X100|X100-12)(?=\\s|$)" } ] } } }, { "name": "meta.device-resolution.ditroff", "match": "\\G(r\\S*)((?:\\s+(\\d+)){1,3})\\s*?(?=$|#)", "captures": { "1": { "name": "keyword.device.control.ditroff" }, "2": { "patterns": [ { "include": "text.roff#number" } ] } } }, { "name": "meta.mount-font.ditroff", "match": "\\G(f\\S*)(?:\\s+(\\d+))?(?:\\s+([-\\w]+))?\\s*?(?=$|#)", "captures": { "1": { "name": "keyword.device.control.ditroff" }, "2": { "name": "constant.numeric.integer.ditroff" }, "3": { "name": "variable.parameter.ditroff" } } }, { "name": "meta.set-character-property.ditroff", "match": "\\G([HS]\\S*)(?:\\s+(-?\\d+))?\\s*?(?=$|#)", "captures": { "1": { "name": "keyword.device.control.ditroff" }, "2": { "name": "constant.numeric.ditroff" } } }, { "name": "meta.unknown-command.ditroff", "begin": "\\G(\\S+)", "end": "(?=$|#)", "beginCaptures": { "1": { "name": "keyword.device.control.ditroff" } } } ] } ] }, "eol": { "name": "meta.end-of-line.ditroff", "match": "(n)((?:\\s*\\d+){2})", "captures": { "1": { "name": "entity.name.function.ditroff" }, "2": { "patterns": [ { "include": "text.roff#number" } ] } } }, "font": { "name": "meta.change-font.ditroff", "match": "(f)\\s*(\\d+)", "captures": { "1": { "name": "entity.name.function.ditroff" }, "2": { "name": "constant.numeric.integer.ditroff" } } }, "graphics": { "patterns": [ { "name": "meta.graphics.gnu.ditroff", "match": "^\\s*(D)\\s*(C)\\s*(\\d+)(?:\\s+(\\d+))?", "captures": { "1": { "name": "entity.name.function.ditroff" }, "2": { "name": "entity.name.subcommand.ditroff" }, "3": { "name": "constant.numeric.integer.ditroff" }, "4": { "name": "comment.dummy.argument.ditroff" } } }, { "name": "meta.graphics.gnu.ditroff", "match": "^\\s*(D)\\s*(E)((?:\\s*(\\d+)){1,2})", "captures": { "1": { "name": "entity.name.function.ditroff" }, "2": { "name": "entity.name.subcommand.ditroff" }, "3": { "patterns": [ { "include": "text.roff#number" } ] } } }, { "name": "meta.graphics.ditroff", "begin": "^\\s*(D)\\s*([lceafptP~])", "end": "(?=$|#)", "patterns": [ { "include": "text.roff#number" } ], "beginCaptures": { "1": { "name": "entity.name.function.ditroff" }, "2": { "name": "entity.name.subcommand.ditroff" } } }, { "name": "meta.graphics.unknown-command.ditroff", "begin": "^\\s*(D)\\s*([^\\s\\\\])", "end": "(?=$|#)", "contentName": "variable.parameter.ditroff", "beginCaptures": { "1": { "name": "entity.name.function.ditroff" }, "2": { "name": "entity.name.custom.subcommand.ditroff" } } } ] }, "move": { "name": "meta.move.ditroff", "match": "([HhVv])\\s*(-?\\d+)", "captures": { "1": { "name": "entity.name.function.ditroff" }, "2": { "name": "constant.numeric.integer.ditroff" } } }, "movePrint": { "name": "meta.move-and-print.ditroff", "match": "(\\d{2})(.)", "captures": { "1": { "name": "entity.name.function.ditroff" }, "2": { "name": "constant.character.ditroff" } } }, "page": { "name": "meta.start-page.ditroff", "match": "(p)\\s*(\\d+)", "captures": { "1": { "name": "keyword.control.page.output" }, "2": { "name": "constant.numeric.integer.output" } } }, "print": { "patterns": [ { "name": "meta.print-character.indexed.ditroff", "match": "(N)\\s*(-?\\d+)", "captures": { "1": { "name": "entity.name.function.ditroff" }, "2": { "name": "constant.numeric.integer.ditroff" } } }, { "name": "meta.print-character.ditroff", "match": "(c)\\s*(\\S)|(C)\\s*(\\S+)", "captures": { "1": { "name": "entity.name.function.ditroff" }, "2": { "name": "constant.character.ditroff" }, "3": { "name": "entity.name.function.ditroff" }, "4": { "name": "string.unquoted.ditroff" } } }, { "name": "meta.print-text.gnu.ditroff", "begin": "^\\s*(t)\\s*", "end": "(?=$)|\\s+(\\d*)", "contentName": "string.quoted.double.ditroff", "beginCaptures": { "0": { "name": "entity.name.function.ditroff" }, "1": { "name": "punctuation.definition.entity.ditroff" } }, "endCaptures": { "1": { "name": "comment.dummy.argument.ditroff" } } }, { "name": "meta.print-text.track-kerned.gnu.ditroff", "begin": "^\\s*(u)\\s*(-?\\d+)\\s*", "end": "(?=\\s|$)", "contentName": "string.quoted.double.ditroff", "beginCaptures": { "1": { "name": "entity.name.function.ditroff" }, "2": { "name": "constant.numeric.integer.ditroff" } } } ] }, "size": { "match": "(s)\\s*(\\d+)", "captures": { "1": { "name": "entity.name.function.ditroff" }, "2": { "name": "constant.numeric.integer.ditroff" } } }, "wordSpace": { "name": "entity.name.function.ditroff", "match": "(?<=^|[\\s\\d])w" } } }