Files
code_tool_fly/VSCode-win32-x64-1.74.0/resources/app/extensions/shellscript/syntaxes/shell-unix-bash.tmLanguage.json
T

1 line
20 KiB
JSON
Raw Normal View History

2025-05-09 16:55:09 +08:00
{"information_for_contributors":["This file has been converted from https://github.com/atom/language-shellscript/blob/master/grammars/shell-unix-bash.cson","If you want to provide a fix or improvement, please create a pull request against the original repository.","Once accepted there, we are happy to receive an update request."],"version":"https://github.com/atom/language-shellscript/commit/4f8d7bb5cc4d1643674551683df10fe552dd5a6f","name":"Shell Script","scopeName":"source.shell","patterns":[{"include":"#comment"},{"include":"#pipeline"},{"include":"#list"},{"include":"#compound-command"},{"include":"#loop"},{"include":"#string"},{"include":"#function-definition"},{"include":"#variable"},{"include":"#interpolation"},{"include":"#heredoc"},{"include":"#herestring"},{"include":"#redirection"},{"include":"#pathname"},{"include":"#keyword"},{"include":"#support"}],"repository":{"case-clause":{"patterns":[{"begin":"(?=\\S)","end":";;","endCaptures":{"0":{"name":"punctuation.terminator.case-clause.shell"}},"name":"meta.scope.case-clause.shell","patterns":[{"begin":"\\(|(?=\\S)","beginCaptures":{"0":{"name":"punctuation.definition.case-pattern.shell"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.case-pattern.shell"}},"name":"meta.scope.case-pattern.shell","patterns":[{"match":"\\|","name":"punctuation.separator.pipe-sign.shell"},{"include":"#string"},{"include":"#variable"},{"include":"#interpolation"},{"include":"#pathname"}]},{"begin":"(?<=\\))","end":"(?=;;)","name":"meta.scope.case-clause-body.shell","patterns":[{"include":"$self"}]}]}]},"comment":{"begin":"(^\\s+)?(?<=^|\\W)(?<!-)(?=#)(?!#{)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.shell"}},"end":"(?!\\G)","patterns":[{"begin":"#!","beginCaptures":{"0":{"name":"punctuation.definition.comment.shebang.shell"}},"end":"$","name":"comment.line.number-sign.shebang.shell"},{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.shell"}},"end":"$","name":"comment.line.number-sign.shell"}]},"compound-command":{"patterns":[{"begin":"\\[{1,2}","beginCaptures":{"0":{"name":"punctuation.definition.logical-expression.shell"}},"end":"\\]{1,2}","endCaptures":{"0":{"name":"punctuation.definition.logical-expression.shell"}},"name":"meta.scope.logical-expression.shell","patterns":[{"include":"#logical-expression"},{"include":"$self"}]},{"begin":"\\({2}","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"end":"\\){2}","endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}},"name":"string.other.math.shell","patterns":[{"include":"#math"}]},{"begin":"\\(","beginCaptures":{"0":{"name":"punctuation.definition.subshell.shell"}},"end":"\\)","endCaptures":{"0":{"name":"punctuation.definition.subshell.shell"}},"name":"meta.scope.subshell.shell","patterns":[{"include":"$self"}]},{"begin":"(?<=\\s|^){(?=\\s|$)","beginCaptures":{"0":{"name":"punctuation.definition.group.shell"}},"end":"(?<=^|;)\\s*(})","endCaptures":{"1":{"name":"punctuation.definition.group.shell"}},"name":"meta.scope.group.shell","patterns":[{"include":"$self"}]}]},"function-definition":{"patterns":[{"begin":"(?<=^|;|&|\\s)(function)\\s+([^\\s\\\\]+)(?:\\s*(\\(\\)))?","beginCaptures":{"1":{"name":"storage.type.function.shell"},"2":{"name":"entity.name.function.shell"},"3":{"name":"punctuation.definition.arguments.shell"}},"end":";|&|$","endCaptures":{"0":{"name":"punctuation.definition.function.shell"}},"name":"meta.function.shell","patterns":[{"include":"$self"}]},{"begin":"(?<=^|;|&|\\s)([^\\s\\\\=]+)\\s*(\\(\\))","beginCaptures":{"1":{"name":"entity.name.function.shell"},"2":{"name":"punctuation.definition.arguments.shell"}},"end":";|&|$","endCaptures":{"0":{"name":"punctuation.definition.function.shell"}},"name":"meta.function.shell","patterns":[{"include":"$self"}]}]},"heredoc":{"patterns":[{"begin":"(<<)-\\s*(\"|'|)\\s*(RUBY)(?=\\s|;|&|<|\"|')\\2","beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"end":"^\\t*(RUBY)(?=\\s|;|&|$)","endCaptures":{"1":{"name":"ke