Open kukimik opened 1 year ago
Sublime's converting tool fails with:
Traceback (most recent call last):
File "/opt/sublime_text/Lib/python38/sublime_plugin.py", line 1659, in run_
return self.run()
File "/opt/sublime_text/Packages/Default.sublime-package/convert_syntax.py", line 433, in run
File "/opt/sublime_text/Packages/Default.sublime-package/convert_syntax.py", line 358, in convert
File "/opt/sublime_text/Packages/Default.sublime-package/convert_syntax.py", line 328, in make_context
Exception: unknown pattern type: dict_keys(['name', 'patterns'])
The Ruby tool https://github.com/aziz/SublimeSyntaxConvertor fails with:
/usr/local/rvm/gems/ruby-3.1.3/gems/sublime_syntax_convertor-0.1.0/lib/sublime_syntax_convertor/convertor.rb:104:in `block in make_context': undefined method `Exception' for #<SublimeSyntaxConvertor::Convertor:0x00007fb7d189f180 @lang={"comment"=>"Syntax definition for Dhall. MIT-licensed, see: https://github.com/kukimik/dhall-sublime-syntax-highlighting/blob/master/LICENSE.", "fileTypes"=>["dhall"], "patterns"=>[{"include"=>"#expression"}], "repository"=>{"keywords"=>[{"match"=>"\\\\b(let|in|as|using|merge|constructors)\\\\b", "name"=>"keyword.control.dhall"}, {"match"=>"\\\\b(Type|Kind|Sort)\\\\b", "name"=>"keyword.other.dhall"}, {"match"=>"\\\\b(True|False|NaN|Infinity|Some)\\\\b", "name"=>"constant.language.dhall"}, {"match"=>"\\\\b(NaN|Infinity)\\\\b", "name"=>"constant.numeric.dhall"}, {"match"=>"\\\\b(Natural/fold|Natural/build|Natural/isZero|Natural/even|Natural/odd|Natural/toInteger|Natural/show|Integer/toDouble|Integer/show|Double/show|List/build|List/fold|List/length|List/head|List/last|List/indexed|List/reverse|Optional/fold|Optional/build)\\\\b", "name"=>"entity.name.function"}, {"match"=>"\\\\b(Bool|Optional|None|Natural|Integer|Double|Text|List)\\\\b", "name"=>"support.class.dhall"}, {"match"=>"\\\\b(if|then|else)\\\\b", "name"=>"keyword.control.conditional.dhall"}], "expression"=>[{"include"=>"#forall"}, {"include"=>"#strings"}, {"include"=>"#single_strings"}, {"include"=>"#line_comment"}, {"include"=>"#block_comment"}, {"include"=>"#numbers"}, {"include"=>"#url"}, {"include"=>"#file"}, {"include"=>"#env"}, {"include"=>"#record"}, {"include"=>"#union"}, {"include"=>"#list"}, {"include"=>"#parens"}, {"include"=>"#operators"}, {"include"=>"#url"}, {"include"=>"#lambda"}, {"include"=>"#let"}, {"include"=>"#keywords"}, {"include"=>"#label"}], "strings"=>[{"begin"=>"\\"", "end"=>"\\"", "name"=>"string.quoted.double.dhall", "patterns"=>[{"begin"=>"\\\\$\\\\{", "beginCaptures"=>{"0"=>{"name"=>"punctuation.section.curly.begin.dhall"}}, "end"=>"\\\\}", "endCaptures"=>{"0"=>{"name"=>"punctuation.section.curly.end.dhall"}}, "name"=>"constant.other.placeholder.dhall", "patterns"=>[{"include"=>"#expression"}]}, {"match"=>"\\\\\\\\(?:[\\"$\\\\\\\\/bfnrt]|[u][a-fA-F0-9]{4})", "name"=>"constant.character.escape.sequence.dhall"}]}], "numbers"=>[{"match"=>"[+-]?\\\\d+(?:(\\\\.)\\\\d+(?:e[+-]?\\\\d+)?|(?:e[+-]?\\\\d+))", "name"=>"constant.numeric.float.dhall"}, {"match"=>"(\\\\+|\\\\-)[\\\\d]+", "name"=>"constant.numeric.integer.dhall"}, {"match"=>"[\\\\d]+", "name"=>"constant.numeric.natural.dhall"}], "url"=>[{"captures"=>{"1"=>{"name"=>"markup.underline.url.dhall"}, "2"=>{"name"=>"storage.modifier.hash.dhall"}, "3"=>{"name"=>"punctuation.separator.colon.dhall"}, "4"=>{"name"=>"constant.numeric.integer.hash.dhall"}, "5"=>{"name"=>"storage.modifier.as.dhall"}, "6"=>{"name"=>"storage.type.dhall"}}, "match"=>"((?:(?:https?):\\\\/(?:(?:(?:(?:(?:\\\\p{Alpha}|\\\\d|[-\\\\._~])|(?:%(?:[0-9a-fA-F]){2})|[!\\\\$&''\\\\(\\\\)\\\\*\\\\+,;=]|:)*)@)?(?:(?:\\\\[(?:(?:(?:(?:(?:[0-9a-fA-F]){1,4}):){6}(?:(?:(?:[0-9a-fA-F]){1,4}):(?:(?:[0-9a-fA-F]){1,4})|(?:(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)))|::(?:(?:(?:[0-9a-fA-F]){1,4}):){5}(?:(?:(?:[0-9a-fA-F]){1,4}):(?:(?:[0-9a-fA-F]){1,4})|(?:(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)))|(?:(?:(?:[0-9a-fA-F]){1,4}))?::(?:(?:(?:[0-9a-fA-F]){1,4}):){4}(?:(?:(?:[0-9a-fA-F]){1,4}):(?:(?:[0-9a-fA-F]){1,4})|(?:(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)))|(?:(?:(?:(?:[0-9a-fA-F]){1,4}):){1,}(?:(?:[0-9a-fA-F]){1,4}))?::(?:(?:(?:[0-9a-fA-F]){1,4}):){3}(?:(?:(?:[0-9a-fA-F]){1,4}):(?:(?:[0-9a-fA-F]){1,4})|(?:(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)))|(?:(?:(?:(?:[0-9a-fA-F]){1,4}):){2,}(?:(?:[0-9a-fA-F]){1,4}))?::(?:(?:(?:[0-9a-fA-F]){1,4}):){2}(?:(?:(?:[0-9a-fA-F]){1,4}):(?:(?:[0-9a-fA-F]){1,4})|(?:(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)))|(?:(?:(?:(?:[0-9a-fA-F]){1,4}):){3,}(?:(?:[0-9a-fA-F]){1,4}))?::(?:(?:(?:[0-9a-fA-F]){1,4}):){1}(?:(?:(?:[0-9a-fA-F]){1,4}):(?:(?:[0-9a-fA-F]){1,4})|(?:(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)))|(?:(?:(?:(?:[0-9a-fA-F]){1,4}):){4,}(?:(?:[0-9a-fA-F]){1,4}))?::(?:(?:(?:[0-9a-fA-F]){1,4}):(?:(?:[0-9a-fA-F]){1,4})|(?:(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)))|(?:(?:(?:(?:[0-9a-fA-F]){1,4}):){5,}(?:(?:[0-9a-fA-F]){1,4}))?::(?:(?:[0-9a-fA-F]){1,4})|(?:(?:(?:(?:[0-9a-fA-F]){1,4}):){6,}(?:(?:[0-9a-fA-F]){1,4}))?::)|(?:v(?:[0-9a-fA-F])+\\\\.(?:(?:\\\\p{Alpha}|\\\\d|[-\\\\._~])|[!\\\\$&''\\\\(\\\\)\\\\*\\\\+,;=]|:)+))\\\\])|(?:(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d))|(?:(?:(?:\\\\p{Alpha}|\\\\d|[-\\\\._~])|(?:%(?:[0-9a-fA-F]){2})|[!\\\\$&''\\\\(\\\\)\\\\*\\\\+,;=])*))(?::(?:\\\\d*))?)(?:(?:\\\\/[^\\\\s#\\\\/\\\\\\\\,<>\\\\?\\\\(\\\\)\\\\[\\\\]\\\\{\\\\}]+)*)(?:\\\\/[^\\\\s#\\\\/\\\\\\\\,<>\\\\?\\\\(\\\\)\\\\[\\\\]\\\\{\\\\}]+)(?:\\\\\\\\?(?:(?:(?:(?:\\\\p{Alpha}|\\\\d|[-\\\\._~])|(?:%(?:[0-9a-fA-F]){2})|[!\\\\$&''\\\\(\\\\)\\\\*\\\\+,;=]|[:@])|[\\\\/?])*))?(?:#(?:(?:(?:(?:\\\\p{Alpha}|\\\\d|[-\\\\._~])|(?:%(?:[0-9a-fA-F]){2})|[!\\\\$&''\\\\(\\\\)\\\\*\\\\+,;=]|[:@])|[\\\\/?])*))?))(?:\\\\s*(sha256)(:)((?:[0-9a-fA-F]){64}))?(?:\\\\s*(as)\\\\s*(Text))?", "patterns"=>[]}], "file"=>[{"captures"=>{"1"=>{"name"=>"string.unquoted.file.dhall meta.path.file.dhall"}, "2"=>{"name"=>"storage.modifier.hash.dhall"}, "3"=>{"name"=>"punctuation.separator.colon.dhall"}, "4"=>{"name"=>"constant.numeric.integer.hash.dhall"}, "5"=>{"name"=>"storage.modifier.as.dhall"}, "6"=>{"name"=>"storage.type.dhall"}}, "match"=>"((?:(?:\\\\.\\\\.?|~)?(?:(?:\\\\/[^\\\\s#\\\\/\\\\\\\\,<>\\\\?\\\\(\\\\)\\\\[\\\\]\\\\{\\\\}]+)*)(?:\\\\/[^\\\\s#\\\\/\\\\\\\\,<>\\\\?\\\\(\\\\)\\\\[\\\\]\\\\{\\\\}]+)))(?:\\\\s*(sha256)(:)((?:[0-9a-fA-F]){64}))?(?:\\\\s*(as)\\\\s*(Text))?", "patterns"=>[]}], "env"=>[{"captures"=>{"1"=>{"name"=>"storage.modifier.environment-variable.dhall"}, "2"=>{"name"=>"punctuation.separator.colon.dhalll"}, "3"=>{"name"=>"string.unquoted.environment-variable.dhall"}, "4"=>{"name"=>"storage.modifier.hash.dhall"}, "5"=>{"name"=>"punctuation.separator.colon.dhall"}, "6"=>{"name"=>"constant.numeric.integer.hash.dhall"}, "7"=>{"name"=>"storage.modifier.as.dhall"}, "8"=>{"name"=>"storage.type.dhall"}}, "match"=>"(env)(:)((?:(?:\\\\p{Alpha}|_)(?:\\\\p{Alpha}|\\\\d|_)*))(?:\\\\s*(sha256)(:)((?:[0-9a-fA-F]){64}))?(?:\\\\s*(as)\\\\s*(Text))?", "patterns"=>[]}, {"captures"=>{"1"=>{"name"=>"storage.modifier.environment-variable.dhall"}, "2"=>{"name"=>"punctuation.separator.colon.dhall"}, "3"=>{"name"=>"punctuation.definition.string.begin.dhall"}, "4"=>{"name"=>"string.quoted.double.environment-variable.dhall"}, "5"=>{"name"=>"punctuation.definition.string.end.dhall"}, "6"=>{"name"=>"storage.modifier.hash.dhall"}, "7"=>{"name"=>"punctuation.separator.colon.dhall"}, "8"=>{"name"=>"constant.numeric.integer.hash.dhall"}, "9"=>{"name"=>"storage.modifier.as.dhall"}, "10"=>{"name"=>"storage.type.dhall"}}, "match"=>"(env)(:)(\\")((?:(?:\\\\[\\"\\\\abfnrtv]|[^\\"\\\\=])+))(\\")(?:\\\\s*(sha256)(:)((?:[0-9a-fA-F]){64}))?(?:\\\\s*(as)\\\\s*(Text))?"}], "operators"=>[{"match"=>"(?:->|→)", "name"=>"keyword.operator.arrow.dhall"}, {"match"=>":", "name"=>"keyword.other.colon.dhall"}, {"match"=>"(?:\\\\|{2}|&{2})", "name"=>"keyword.operator.logical.dhall"}, {"match"=>"[!=]=", "name"=>"keyword.operator.equality.dhall"}, {"match"=>"=", "name"=>"keyword.operator.assignment.dhall"}, {"match"=>"(?:#|\\\\+{2})", "name"=>"keyword.operator.sequence.dhall"}, {"match"=>"[\\\\+\\\\*]", "name"=>"keyword.operator.arithmetic.dhall"}, {"match"=>"(?:∧|/\\\\\\\\|⩓|//\\\\\\\\\\\\\\\\|⫽|//)", "name"=>"keyword.operator.combine.dhall"}], "forall"=>[{"match"=>"\\\\bforall\\\\b|∀", "name"=>"storage.modifier.universal-quantifier.dhall", "patterns"=>[]}], "lambda"=>[{"match"=>"λ|\\\\\\\\", "name"=>"keyword.control.dhall", "patterns"=>[]}], "let"=>[{"begin"=>"\\\\blet\\\\b", "beginCaptures"=>{"0"=>{"name"=>"keyword.other.let.dhall"}}, "end"=>"(?=\\\\bin\\\\b)|(?=\\\\let\\\\b)", "endCaptures"=>{"0"=>{"name"=>"keyword.other.in.dhall"}}, "name"=>"meta.declaration.expression.let.dhall", "patterns"=>[{"include"=>"#labelBind"}, {"begin"=>":", "end"=>"(?==)", "patterns"=>[{"include"=>"#expression"}]}, {"begin"=>"=", "beginCaptures"=>{"0"=>{"name"=>"keyword.operator.assignment.dhall"}}, "end"=>"(?=\\\\bin\\\\b)|(?=\\\\let\\\\b)", "name"=>"meta.declaration.foobar.dhall", "patterns"=>[{"include"=>"#expression"}]}]}], "assignment"=>[{"match"=>"=", "name"=>"keyword.operator.assignment.dhall"}], "line_comment"=>[{"begin"=>"--", "end"=>"$", "name"=>"comment.line.double-dash.dhall", "patterns"=>[]}], "block_comment"=>[{"begin"=>"\\\\{-", "end"=>"-\\\\}", "name"=>"comment.block.dhall", "patterns"=>[{"include"=>"#block_comment"}]}], "comments"=>[{"include"=>"#line_comment"}, {"include"=>"#block_comment"}], "single_strings"=>[{"begin"=>"''$", "end"=>"''(?!')(?!\\\\$\\\\{)", "name"=>"string.quoted.single.dhall", "patterns"=>[{"match"=>"'''", "name"=>"constant.character.escape.quotes.dhall"}, {"match"=>"''\\\\$\\\\{", "name"=>"constant.character.escape.interpolation.dhall"}, {"begin"=>"\\\\$\\\\{", "beginCaptures"=>{"0"=>{"name"=>"punctuation.section.curly.begin.dhall"}}, "end"=>"\\\\}", "endCaptures"=>{"0"=>{"name"=>"punctuation.section.curly.end.dhall"}}, "name"=>"constant.other.placeholder.dhall", "patterns"=>[{"include"=>"#expression"}]}]}], "label"=>[{"name"=>"meta.label.dhall", "patterns"=>[{"match"=>"(?:\\\\p{Alpha}|_)(?:\\\\p{Alpha}|\\\\d|[-/_])*", "name"=>"meta.label.dhall"}, {"captures"=>{"1"=>{"name"=>"punctuation.section.backtick.begin.dhall"}, "2"=>{"name"=>"meta.label.quoted.dhall"}, "3"=>{"name"=>"punctuation.section.backtick.end.dhall"}}, "match"=>"(`)((?:\\\\p{Alpha}|\\\\d|[-/_:\\\\.])+)(`)"}]}], "labelBind"=>[{"name"=>"variable.other.constant.dhall", "patterns"=>[{"match"=>"(?:\\\\p{Alpha}|_)(?:\\\\p{Alpha}|\\\\d|[-/_])*", "name"=>"variable.other.constant.dhall"}, {"captures"=>{"1"=>{"name"=>"punctuation.section.backtick.begin.dhall"}, "2"=>{"name"=>"variable.other.constant.quoted.dhall"}, "3"=>{"name"=>"punctuation.section.backtick.end.dhall"}}, "match"=>"(`)((?:\\\\p{Alpha}|\\\\d|[-/_:\\\\.])+)(`)"}]}], "labelPropertyType"=>[{"name"=>"entity.other.attribute-name.dhall", "patterns"=>[{"match"=>"(?:\\\\p{Alpha}|_)(?:\\\\p{Alpha}|\\\\d|[-/_])*(?=\\\\s*:)", "name"=>"entity.other.attribute-name.dhall"}, {"captures"=>{"1"=>{"name"=>"punctuation.section.backtick.begin.dhall"}, "2"=>{"name"=>"entity.other.attribute-name.quoted.dhall"}, "3"=>{"name"=>"punctuation.section.backtick.end.dhall"}}, "match"=>"(`)((?:\\\\p{Alpha}|\\\\d|[-/_:\\\\.])+)(`)"}]}], "labelPropertyVar"=>[{"name"=>"variable.object.property.dhall", "patterns"=>[{"match"=>"(?:\\\\p{Alpha}|_)(?:\\\\p{Alpha}|\\\\d|[-/_])*(?=\\\\s*=)", "name"=>"variable.object.property.dhall"}, {"captures"=>{"1"=>{"name"=>"punctuation.section.backtick.begin.dhall"}, "2"=>{"name"=>"variable.object.property.quoted.dhall"}, "3"=>{"name"=>"punctuation.section.backtick.end.dhall"}}, "match"=>"(`)((?:\\\\p{Alpha}|\\\\d|[-/_:\\\\.])+)(`)"}]}], "record"=>[{"begin"=>"\\\\{", "beginCaptures"=>{"0"=>{"name"=>"keyword.operator.record.begin.dhall"}}, "end"=>"\\\\}", "endCaptures"=>{"0"=>{"name"=>"keyword.operator.record.end.dhall"}}, "name"=>"meta.declaration.data.record.block.dhall", "patterns"=>[{"begin"=>":", "beginCaptures"=>{"0"=>{"name"=>"punctuation.separator.dictionary.key-value.dhall"}}, "end"=>"(,)|(?=\\\\})", "endCaptures"=>{"1"=>{"name"=>"punctuation.separator.dictionary.pair.dhall"}}, "name"=>"meta.declaration.data.record.type.dhall", "patterns"=>[{"include"=>"#expression"}]}, {"begin"=>"=", "beginCaptures"=>{"0"=>{"name"=>"punctuation.separator.dictionary.key-value.dhall"}}, "end"=>"(,)|(?=\\\\})", "endCaptures"=>{"1"=>{"name"=>"punctuation.separator.dictionary.pair.dhall"}}, "name"=>"meta.declaration.data.record.literal.dhall", "patterns"=>[{"include"=>"#expression"}]}, {"include"=>"#assignment"}, {"include"=>"#labelPropertyVar"}, {"include"=>"#labelPropertyType"}, {"include"=>"#label"}]}], "union"=>[{"begin"=>"<", "beginCaptures"=>{"0"=>{"name"=>"keyword.operator.union.begin.dhall"}}, "end"=>">", "endCaptures"=>{"0"=>{"name"=>"keyword.operator.union.end.dhall"}}, "name"=>"meta.declaration.data.union.block.dhall", "patterns"=>[{"include"=>"#comments"}, {"begin"=>":", "beginCaptures"=>{"0"=>{"name"=>"punctuation.separator.dictionary.key-value.dhall"}}, "end"=>"(\\\\|)|(?=\\\\>)", "endCaptures"=>{"1"=>{"name"=>"punctuation.separator.dictionary.pair.dhall"}}, "name"=>"meta.declaration.data.union.type.dhall", "patterns"=>[{"include"=>"#expression"}]}, {"begin"=>"=", "beginCaptures"=>{"0"=>{"name"=>"punctuation.separator.dictionary.key-value.dhall"}}, "end"=>"(\\\\|)|(?=\\\\>)", "endCaptures"=>{"1"=>{"name"=>"punctuation.separator.dictionary.pair.dhall"}}, "name"=>"meta.declaration.data.union.literal.dhall", "patterns"=>[{"include"=>"#expression"}]}, {"include"=>"#assignment"}, {"include"=>"#labelPropertyVar"}, {"include"=>"#labelPropertyType"}, {"include"=>"#label"}]}], "list"=>[{"begin"=>"\\\\[", "beginCaptures"=>{"0"=>{"name"=>"punctuation.section.brackets.begin.list.dhall"}}, "end"=>"\\\\]", "endCaptures"=>{"0"=>{"name"=>"punctuation.section.brackets.end.list.dhall"}}, "name"=>"meta.brackets.list.dhall", "patterns"=>[{"match"=>",", "name"=>"punctuation.separator.sequence.list.dhall"}, {"include"=>"#expression"}]}], "parens"=>[{"begin"=>"\\\\(", "beginCaptures"=>{"0"=>{"name"=>"punctuation.section.parens.begin.dhall"}}, "end"=>"\\\\)", "endCaptures"=>{"0"=>{"name"=>"punctuation.section.parens.end.dhall"}}, "name"=>"meta.parens.dhall", "patterns"=>[{"include"=>"#expression"}]}]}, "name"=>"Dhall", "scopeName"=>"source.dhall"}, @repository={"keywords"=>[{"match"=>"\\\\b(let|in|as|using|merge|constructors)\\\\b", "name"=>"keyword.control.dhall"}, {"match"=>"\\\\b(Type|Kind|Sort)\\\\b", "name"=>"keyword.other.dhall"}, {"match"=>"\\\\b(True|False|NaN|Infinity|Some)\\\\b", "name"=>"constant.language.dhall"}, {"match"=>"\\\\b(NaN|Infinity)\\\\b", "name"=>"constant.numeric.dhall"}, {"match"=>"\\\\b(Natural/fold|Natural/build|Natural/isZero|Natural/even|Natural/odd|Natural/toInteger|Natural/show|Integer/toDouble|Integer/show|Double/show|List/build|List/fold|List/length|List/head|List/last|List/indexed|List/reverse|Optional/fold|Optional/build)\\\\b", "name"=>"entity.name.function"}, {"match"=>"\\\\b(Bool|Optional|None|Natural|Integer|Double|Text|List)\\\\b", "name"=>"support.class.dhall"}, {"match"=>"\\\\b(if|then|else)\\\\b", "name"=>"keyword.control.conditional.dhall"}], "expression"=>[{"include"=>"#forall"}, {"include"=>"#strings"}, {"include"=>"#single_strings"}, {"include"=>"#line_comment"}, {"include"=>"#block_comment"}, {"include"=>"#numbers"}, {"include"=>"#url"}, {"include"=>"#file"}, {"include"=>"#env"}, {"include"=>"#record"}, {"include"=>"#union"}, {"include"=>"#list"}, {"include"=>"#parens"}, {"include"=>"#operators"}, {"include"=>"#url"}, {"include"=>"#lambda"}, {"include"=>"#let"}, {"include"=>"#keywords"}, {"include"=>"#label"}], "strings"=>[{"begin"=>"\\"", "end"=>"\\"", "name"=>"string.quoted.double.dhall", "patterns"=>[{"begin"=>"\\\\$\\\\{", "beginCaptures"=>{"0"=>{"name"=>"punctuation.section.curly.begin.dhall"}}, "end"=>"\\\\}", "endCaptures"=>{"0"=>{"name"=>"punctuation.section.curly.end.dhall"}}, "name"=>"constant.other.placeholder.dhall", "patterns"=>[{"include"=>"#expression"}]}, {"match"=>"\\\\\\\\(?:[\\"$\\\\\\\\/bfnrt]|[u][a-fA-F0-9]{4})", "name"=>"constant.character.escape.sequence.dhall"}]}], "numbers"=>[{"match"=>"[+-]?\\\\d+(?:(\\\\.)\\\\d+(?:e[+-]?\\\\d+)?|(?:e[+-]?\\\\d+))", "name"=>"constant.numeric.float.dhall"}, {"match"=>"(\\\\+|\\\\-)[\\\\d]+", "name"=>"constant.numeric.integer.dhall"}, {"match"=>"[\\\\d]+", "name"=>"constant.numeric.natural.dhall"}], "url"=>[{"captures"=>{"1"=>{"name"=>"markup.underline.url.dhall"}, "2"=>{"name"=>"storage.modifier.hash.dhall"}, "3"=>{"name"=>"punctuation.separator.colon.dhall"}, "4"=>{"name"=>"constant.numeric.integer.hash.dhall"}, "5"=>{"name"=>"storage.modifier.as.dhall"}, "6"=>{"name"=>"storage.type.dhall"}}, "match"=>"((?:(?:https?):\\\\/(?:(?:(?:(?:(?:\\\\p{Alpha}|\\\\d|[-\\\\._~])|(?:%(?:[0-9a-fA-F]){2})|[!\\\\$&''\\\\(\\\\)\\\\*\\\\+,;=]|:)*)@)?(?:(?:\\\\[(?:(?:(?:(?:(?:[0-9a-fA-F]){1,4}):){6}(?:(?:(?:[0-9a-fA-F]){1,4}):(?:(?:[0-9a-fA-F]){1,4})|(?:(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)))|::(?:(?:(?:[0-9a-fA-F]){1,4}):){5}(?:(?:(?:[0-9a-fA-F]){1,4}):(?:(?:[0-9a-fA-F]){1,4})|(?:(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)))|(?:(?:(?:[0-9a-fA-F]){1,4}))?::(?:(?:(?:[0-9a-fA-F]){1,4}):){4}(?:(?:(?:[0-9a-fA-F]){1,4}):(?:(?:[0-9a-fA-F]){1,4})|(?:(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)))|(?:(?:(?:(?:[0-9a-fA-F]){1,4}):){1,}(?:(?:[0-9a-fA-F]){1,4}))?::(?:(?:(?:[0-9a-fA-F]){1,4}):){3}(?:(?:(?:[0-9a-fA-F]){1,4}):(?:(?:[0-9a-fA-F]){1,4})|(?:(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)))|(?:(?:(?:(?:[0-9a-fA-F]){1,4}):){2,}(?:(?:[0-9a-fA-F]){1,4}))?::(?:(?:(?:[0-9a-fA-F]){1,4}):){2}(?:(?:(?:[0-9a-fA-F]){1,4}):(?:(?:[0-9a-fA-F]){1,4})|(?:(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)))|(?:(?:(?:(?:[0-9a-fA-F]){1,4}):){3,}(?:(?:[0-9a-fA-F]){1,4}))?::(?:(?:(?:[0-9a-fA-F]){1,4}):){1}(?:(?:(?:[0-9a-fA-F]){1,4}):(?:(?:[0-9a-fA-F]){1,4})|(?:(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)))|(?:(?:(?:(?:[0-9a-fA-F]){1,4}):){4,}(?:(?:[0-9a-fA-F]){1,4}))?::(?:(?:(?:[0-9a-fA-F]){1,4}):(?:(?:[0-9a-fA-F]){1,4})|(?:(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)))|(?:(?:(?:(?:[0-9a-fA-F]){1,4}):){5,}(?:(?:[0-9a-fA-F]){1,4}))?::(?:(?:[0-9a-fA-F]){1,4})|(?:(?:(?:(?:[0-9a-fA-F]){1,4}):){6,}(?:(?:[0-9a-fA-F]){1,4}))?::)|(?:v(?:[0-9a-fA-F])+\\\\.(?:(?:\\\\p{Alpha}|\\\\d|[-\\\\._~])|[!\\\\$&''\\\\(\\\\)\\\\*\\\\+,;=]|:)+))\\\\])|(?:(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d)\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d{2}|[1-9]\\\\d|\\\\d))|(?:(?:(?:\\\\p{Alpha}|\\\\d|[-\\\\._~])|(?:%(?:[0-9a-fA-F]){2})|[!\\\\$&''\\\\(\\\\)\\\\*\\\\+,;=])*))(?::(?:\\\\d*))?)(?:(?:\\\\/[^\\\\s#\\\\/\\\\\\\\,<>\\\\?\\\\(\\\\)\\\\[\\\\]\\\\{\\\\}]+)*)(?:\\\\/[^\\\\s#\\\\/\\\\\\\\,<>\\\\?\\\\(\\\\)\\\\[\\\\]\\\\{\\\\}]+)(?:\\\\\\\\?(?:(?:(?:(?:\\\\p{Alpha}|\\\\d|[-\\\\._~])|(?:%(?:[0-9a-fA-F]){2})|[!\\\\$&''\\\\(\\\\)\\\\*\\\\+,;=]|[:@])|[\\\\/?])*))?(?:#(?:(?:(?:(?:\\\\p{Alpha}|\\\\d|[-\\\\._~])|(?:%(?:[0-9a-fA-F]){2})|[!\\\\$&''\\\\(\\\\)\\\\*\\\\+,;=]|[:@])|[\\\\/?])*))?))(?:\\\\s*(sha256)(:)((?:[0-9a-fA-F]){64}))?(?:\\\\s*(as)\\\\s*(Text))?", "patterns"=>[]}], "file"=>[{"captures"=>{"1"=>{"name"=>"string.unquoted.file.dhall meta.path.file.dhall"}, "2"=>{"name"=>"storage.modifier.hash.dhall"}, "3"=>{"name"=>"punctuation.separator.colon.dhall"}, "4"=>{"name"=>"constant.numeric.integer.hash.dhall"}, "5"=>{"name"=>"storage.modifier.as.dhall"}, "6"=>{"name"=>"storage.type.dhall"}}, "match"=>"((?:(?:\\\\.\\\\.?|~)?(?:(?:\\\\/[^\\\\s#\\\\/\\\\\\\\,<>\\\\?\\\\(\\\\)\\\\[\\\\]\\\\{\\\\}]+)*)(?:\\\\/[^\\\\s#\\\\/\\\\\\\\,<>\\\\?\\\\(\\\\)\\\\[\\\\]\\\\{\\\\}]+)))(?:\\\\s*(sha256)(:)((?:[0-9a-fA-F]){64}))?(?:\\\\s*(as)\\\\s*(Text))?", "patterns"=>[]}], "env"=>[{"captures"=>{"1"=>{"name"=>"storage.modifier.environment-variable.dhall"}, "2"=>{"name"=>"punctuation.separator.colon.dhalll"}, "3"=>{"name"=>"string.unquoted.environment-variable.dhall"}, "4"=>{"name"=>"storage.modifier.hash.dhall"}, "5"=>{"name"=>"punctuation.separator.colon.dhall"}, "6"=>{"name"=>"constant.numeric.integer.hash.dhall"}, "7"=>{"name"=>"storage.modifier.as.dhall"}, "8"=>{"name"=>"storage.type.dhall"}}, "match"=>"(env)(:)((?:(?:\\\\p{Alpha}|_)(?:\\\\p{Alpha}|\\\\d|_)*))(?:\\\\s*(sha256)(:)((?:[0-9a-fA-F]){64}))?(?:\\\\s*(as)\\\\s*(Text))?", "patterns"=>[]}, {"captures"=>{"1"=>{"name"=>"storage.modifier.environment-variable.dhall"}, "2"=>{"name"=>"punctuation.separator.colon.dhall"}, "3"=>{"name"=>"punctuation.definition.string.begin.dhall"}, "4"=>{"name"=>"string.quoted.double.environment-variable.dhall"}, "5"=>{"name"=>"punctuation.definition.string.end.dhall"}, "6"=>{"name"=>"storage.modifier.hash.dhall"}, "7"=>{"name"=>"punctuation.separator.colon.dhall"}, "8"=>{"name"=>"constant.numeric.integer.hash.dhall"}, "9"=>{"name"=>"storage.modifier.as.dhall"}, "10"=>{"name"=>"storage.type.dhall"}}, "match"=>"(env)(:)(\\")((?:(?:\\\\[\\"\\\\abfnrtv]|[^\\"\\\\=])+))(\\")(?:\\\\s*(sha256)(:)((?:[0-9a-fA-F]){64}))?(?:\\\\s*(as)\\\\s*(Text))?"}], "operators"=>[{"match"=>"(?:->|→)", "name"=>"keyword.operator.arrow.dhall"}, {"match"=>":", "name"=>"keyword.other.colon.dhall"}, {"match"=>"(?:\\\\|{2}|&{2})", "name"=>"keyword.operator.logical.dhall"}, {"match"=>"[!=]=", "name"=>"keyword.operator.equality.dhall"}, {"match"=>"=", "name"=>"keyword.operator.assignment.dhall"}, {"match"=>"(?:#|\\\\+{2})", "name"=>"keyword.operator.sequence.dhall"}, {"match"=>"[\\\\+\\\\*]", "name"=>"keyword.operator.arithmetic.dhall"}, {"match"=>"(?:∧|/\\\\\\\\|⩓|//\\\\\\\\\\\\\\\\|⫽|//)", "name"=>"keyword.operator.combine.dhall"}], "forall"=>[{"match"=>"\\\\bforall\\\\b|∀", "name"=>"storage.modifier.universal-quantifier.dhall", "patterns"=>[]}], "lambda"=>[{"match"=>"λ|\\\\\\\\", "name"=>"keyword.control.dhall", "patterns"=>[]}], "let"=>[{"begin"=>"\\\\blet\\\\b", "beginCaptures"=>{"0"=>{"name"=>"keyword.other.let.dhall"}}, "end"=>"(?=\\\\bin\\\\b)|(?=\\\\let\\\\b)", "endCaptures"=>{"0"=>{"name"=>"keyword.other.in.dhall"}}, "name"=>"meta.declaration.expression.let.dhall", "patterns"=>[{"include"=>"#labelBind"}, {"begin"=>":", "end"=>"(?==)", "patterns"=>[{"include"=>"#expression"}]}, {"begin"=>"=", "beginCaptures"=>{"0"=>{"name"=>"keyword.operator.assignment.dhall"}}, "end"=>"(?=\\\\bin\\\\b)|(?=\\\\let\\\\b)", "name"=>"meta.declaration.foobar.dhall", "patterns"=>[{"include"=>"#expression"}]}]}], "assignment"=>[{"match"=>"=", "name"=>"keyword.operator.assignment.dhall"}], "line_comment"=>[{"begin"=>"--", "end"=>"$", "name"=>"comment.line.double-dash.dhall", "patterns"=>[]}], "block_comment"=>[{"begin"=>"\\\\{-", "end"=>"-\\\\}", "name"=>"comment.block.dhall", "patterns"=>[{"include"=>"#block_comment"}]}], "comments"=>[{"include"=>"#line_comment"}, {"include"=>"#block_comment"}], "single_strings"=>[{"begin"=>"''$", "end"=>"''(?!')(?!\\\\$\\\\{)", "name"=>"string.quoted.single.dhall", "patterns"=>[{"match"=>"'''", "name"=>"constant.character.escape.quotes.dhall"}, {"match"=>"''\\\\$\\\\{", "name"=>"constant.character.escape.interpolation.dhall"}, {"begin"=>"\\\\$\\\\{", "beginCaptures"=>{"0"=>{"name"=>"punctuation.section.curly.begin.dhall"}}, "end"=>"\\\\}", "endCaptures"=>{"0"=>{"name"=>"punctuation.section.curly.end.dhall"}}, "name"=>"constant.other.placeholder.dhall", "patterns"=>[{"include"=>"#expression"}]}]}], "label"=>[{"name"=>"meta.label.dhall", "patterns"=>[{"match"=>"(?:\\\\p{Alpha}|_)(?:\\\\p{Alpha}|\\\\d|[-/_])*", "name"=>"meta.label.dhall"}, {"captures"=>{"1"=>{"name"=>"punctuation.section.backtick.begin.dhall"}, "2"=>{"name"=>"meta.label.quoted.dhall"}, "3"=>{"name"=>"punctuation.section.backtick.end.dhall"}}, "match"=>"(`)((?:\\\\p{Alpha}|\\\\d|[-/_:\\\\.])+)(`)"}]}], "labelBind"=>[{"name"=>"variable.other.constant.dhall", "patterns"=>[{"match"=>"(?:\\\\p{Alpha}|_)(?:\\\\p{Alpha}|\\\\d|[-/_])*", "name"=>"variable.other.constant.dhall"}, {"captures"=>{"1"=>{"name"=>"punctuation.section.backtick.begin.dhall"}, "2"=>{"name"=>"variable.other.constant.quoted.dhall"}, "3"=>{"name"=>"punctuation.section.backtick.end.dhall"}}, "match"=>"(`)((?:\\\\p{Alpha}|\\\\d|[-/_:\\\\.])+)(`)"}]}], "labelPropertyType"=>[{"name"=>"entity.other.attribute-name.dhall", "patterns"=>[{"match"=>"(?:\\\\p{Alpha}|_)(?:\\\\p{Alpha}|\\\\d|[-/_])*(?=\\\\s*:)", "name"=>"entity.other.attribute-name.dhall"}, {"captures"=>{"1"=>{"name"=>"punctuation.section.backtick.begin.dhall"}, "2"=>{"name"=>"entity.other.attribute-name.quoted.dhall"}, "3"=>{"name"=>"punctuation.section.backtick.end.dhall"}}, "match"=>"(`)((?:\\\\p{Alpha}|\\\\d|[-/_:\\\\.])+)(`)"}]}], "labelPropertyVar"=>[{"name"=>"variable.object.property.dhall", "patterns"=>[{"match"=>"(?:\\\\p{Alpha}|_)(?:\\\\p{Alpha}|\\\\d|[-/_])*(?=\\\\s*=)", "name"=>"variable.object.property.dhall"}, {"captures"=>{"1"=>{"name"=>"punctuation.section.backtick.begin.dhall"}, "2"=>{"name"=>"variable.object.property.quoted.dhall"}, "3"=>{"name"=>"punctuation.section.backtick.end.dhall"}}, "match"=>"(`)((?:\\\\p{Alpha}|\\\\d|[-/_:\\\\.])+)(`)"}]}], "record"=>[{"begin"=>"\\\\{", "beginCaptures"=>{"0"=>{"name"=>"keyword.operator.record.begin.dhall"}}, "end"=>"\\\\}", "endCaptures"=>{"0"=>{"name"=>"keyword.operator.record.end.dhall"}}, "name"=>"meta.declaration.data.record.block.dhall", "patterns"=>[{"begin"=>":", "beginCaptures"=>{"0"=>{"name"=>"punctuation.separator.dictionary.key-value.dhall"}}, "end"=>"(,)|(?=\\\\})", "endCaptures"=>{"1"=>{"name"=>"punctuation.separator.dictionary.pair.dhall"}}, "name"=>"meta.declaration.data.record.type.dhall", "patterns"=>[{"include"=>"#expression"}]}, {"begin"=>"=", "beginCaptures"=>{"0"=>{"name"=>"punctuation.separator.dictionary.key-value.dhall"}}, "end"=>"(,)|(?=\\\\})", "endCaptures"=>{"1"=>{"name"=>"punctuation.separator.dictionary.pair.dhall"}}, "name"=>"meta.declaration.data.record.literal.dhall", "patterns"=>[{"include"=>"#expression"}]}, {"include"=>"#assignment"}, {"include"=>"#labelPropertyVar"}, {"include"=>"#labelPropertyType"}, {"include"=>"#label"}]}], "union"=>[{"begin"=>"<", "beginCaptures"=>{"0"=>{"name"=>"keyword.operator.union.begin.dhall"}}, "end"=>">", "endCaptures"=>{"0"=>{"name"=>"keyword.operator.union.end.dhall"}}, "name"=>"meta.declaration.data.union.block.dhall", "patterns"=>[{"include"=>"#comments"}, {"begin"=>":", "beginCaptures"=>{"0"=>{"name"=>"punctuation.separator.dictionary.key-value.dhall"}}, "end"=>"(\\\\|)|(?=\\\\>)", "endCaptures"=>{"1"=>{"name"=>"punctuation.separator.dictionary.pair.dhall"}}, "name"=>"meta.declaration.data.union.type.dhall", "patterns"=>[{"include"=>"#expression"}]}, {"begin"=>"=", "beginCaptures"=>{"0"=>{"name"=>"punctuation.separator.dictionary.key-value.dhall"}}, "end"=>"(\\\\|)|(?=\\\\>)", "endCaptures"=>{"1"=>{"name"=>"punctuation.separator.dictionary.pair.dhall"}}, "name"=>"meta.declaration.data.union.literal.dhall", "patterns"=>[{"include"=>"#expression"}]}, {"include"=>"#assignment"}, {"include"=>"#labelPropertyVar"}, {"include"=>"#labelPropertyType"}, {"include"=>"#label"}]}], "list"=>[{"begin"=>"\\\\[", "beginCaptures"=>{"0"=>{"name"=>"punctuation.section.brackets.begin.list.dhall"}}, "end"=>"\\\\]", "endCaptures"=>{"0"=>{"name"=>"punctuation.section.brackets.end.list.dhall"}}, "name"=>"meta.brackets.list.dhall", "patterns"=>[{"match"=>",", "name"=>"punctuation.separator.sequence.list.dhall"}, {"include"=>"#expression"}]}], "parens"=>[{"begin"=>"\\\\(", "beginCaptures"=>{"0"=>{"name"=>"punctuation.section.parens.begin.dhall"}}, "end"=>"\\\\)", "endCaptures"=>{"0"=>{"name"=>"punctuation.section.parens.end.dhall"}}, "name"=>"meta.parens.dhall", "patterns"=>[{"include"=>"#expression"}]}]}, @patterns=[{"include"=>"#expression"}], @syntax={}> (NoMethodError)
fail Exception("unknown pattern type: #{pattern.keys}")
^^^^^^^^^
from /usr/local/rvm/gems/ruby-3.1.3/gems/sublime_syntax_convertor-0.1.0/lib/sublime_syntax_convertor/convertor.rb:96:in `each'
from /usr/local/rvm/gems/ruby-3.1.3/gems/sublime_syntax_convertor-0.1.0/lib/sublime_syntax_convertor/convertor.rb:96:in `make_context'
from /usr/local/rvm/gems/ruby-3.1.3/gems/sublime_syntax_convertor-0.1.0/lib/sublime_syntax_convertor/convertor.rb:36:in `block in create_contexts'
from /usr/local/rvm/gems/ruby-3.1.3/gems/sublime_syntax_convertor-0.1.0/lib/sublime_syntax_convertor/convertor.rb:34:in `each'
from /usr/local/rvm/gems/ruby-3.1.3/gems/sublime_syntax_convertor-0.1.0/lib/sublime_syntax_convertor/convertor.rb:34:in `create_contexts'
from /usr/local/rvm/gems/ruby-3.1.3/gems/sublime_syntax_convertor-0.1.0/lib/sublime_syntax_convertor/convertor.rb:50:in `convert'
from /usr/local/rvm/gems/ruby-3.1.3/gems/sublime_syntax_convertor-0.1.0/lib/sublime_syntax_convertor/convertor.rb:12:in `initialize'
from /usr/local/rvm/gems/ruby-3.1.3/gems/sublime_syntax_convertor-0.1.0/bin/sublime_syntax_convertor:31:in `new'
from /usr/local/rvm/gems/ruby-3.1.3/gems/sublime_syntax_convertor-0.1.0/bin/sublime_syntax_convertor:31:in `block in <top (required)>'
from /usr/local/rvm/gems/ruby-3.1.3/gems/sublime_syntax_convertor-0.1.0/bin/sublime_syntax_convertor:24:in `each'
from /usr/local/rvm/gems/ruby-3.1.3/gems/sublime_syntax_convertor-0.1.0/bin/sublime_syntax_convertor:24:in `<top (required)>'
from /usr/local/rvm/gems/ruby-3.1.3/bin/sublime_syntax_convertor:25:in `load'
from /usr/local/rvm/gems/ruby-3.1.3/bin/sublime_syntax_convertor:25:in `<main>'
from /usr/local/rvm/gems/ruby-3.1.3/bin/ruby_executable_hooks:22:in `eval'
from /usr/local/rvm/gems/ruby-3.1.3/bin/ruby_executable_hooks:22:in `<main>'
Perhaps something is wrong with the .tmLanguage
file.
The
.sublime-syntax
file should be created automatically (or at least semi-automatically) from the.tmLanguage
file.One reason this would be nice is because
.sublime-syntax
files can be used with https://github.com/trishume/syntect/ library (used e.g. by https://github.com/sharkdp/bat or https://github.com/dandavison/delta, see https://github.com/sharkdp/bat#adding-new-syntaxes--language-definitions).Some ideas:
sublime-syntax
andtmLanguage
formats;