432 lines
10 KiB
Text
432 lines
10 KiB
Text
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
<plist version="1.0">
|
|
<dict>
|
|
<key>fileTypes</key>
|
|
<array>
|
|
<string>tcl</string>
|
|
</array>
|
|
<key>foldingStartMarker</key>
|
|
<string>\{\s*$</string>
|
|
<key>foldingStopMarker</key>
|
|
<string>^\s*\}</string>
|
|
<key>keyEquivalent</key>
|
|
<string>^~T</string>
|
|
<key>name</key>
|
|
<string>Tcl</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(?<=^|;)\s*((#))</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>comment.line.number-sign.tcl</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.comment.tcl</string>
|
|
</dict>
|
|
</dict>
|
|
<key>contentName</key>
|
|
<string>comment.line.number-sign.tcl</string>
|
|
<key>end</key>
|
|
<string>\n</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>(\\\\|\\\n)</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.control.tcl</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(?<=^|[\[{;])\s*(if|while|for|catch|return|break|continue|switch|exit|foreach)\b</string>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.control.tcl</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(?<=^|})\s*(then|elseif|else)\b</string>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.other.tcl</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.function.tcl</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>^\s*(proc)\s+([^\s]+)</string>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.other.tcl</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(?<=^|[\[{;])\s*(after|append|array|auto_execok|auto_import|auto_load|auto_mkindex|auto_mkindex_old|auto_qualify|auto_reset|bgerror|binary|cd|clock|close|concat|dde|encoding|eof|error|eval|exec|expr|fblocked|fconfigure|fcopy|file|fileevent|filename|flush|format|gets|glob|global|history|http|incr|info|interp|join|lappend|library|lindex|linsert|list|llength|load|lrange|lreplace|lsearch|lset|lsort|memory|msgcat|namespace|open|package|parray|pid|pkg::create|pkg_mkIndex|proc|puts|pwd|re_syntax|read|registry|rename|resource|scan|seek|set|socket|SafeBase|source|split|string|subst|Tcl|tcl_endOfWord|tcl_findLibrary|tcl_startOfNextWord|tcl_startOfPreviousWord|tcl_wordBreakAfter|tcl_wordBreakBefore|tcltest|tclvars|tell|time|trace|unknown|unset|update|uplevel|upvar|variable|vwait)\b</string>
|
|
</dict>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(?<=^|[\[{;])\s*(regexp|regsub)\b\s*</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.other.tcl</string>
|
|
</dict>
|
|
</dict>
|
|
<key>comment</key>
|
|
<string>special-case regexp/regsub keyword in order to handle the expression</string>
|
|
<key>end</key>
|
|
<string>[\n;\]]</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\\(?:.|\n)</string>
|
|
<key>name</key>
|
|
<string>constant.character.escape.tcl</string>
|
|
</dict>
|
|
<dict>
|
|
<key>comment</key>
|
|
<string>switch for regexp</string>
|
|
<key>match</key>
|
|
<string>-\w+\s*</string>
|
|
</dict>
|
|
<dict>
|
|
<key>applyEndPatternLast</key>
|
|
<integer>1</integer>
|
|
<key>begin</key>
|
|
<string>--\s*</string>
|
|
<key>comment</key>
|
|
<string>end of switches</string>
|
|
<key>end</key>
|
|
<string></string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#regexp</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#regexp</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#escape</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#variable</string>
|
|
</dict>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>"</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.begin.tcl</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>"</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.end.tcl</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>string.quoted.double.tcl</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#escape</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#variable</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#embedded</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
</array>
|
|
<key>repository</key>
|
|
<dict>
|
|
<key>bare-string</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(?:^|(?<=\s))"</string>
|
|
<key>comment</key>
|
|
<string>matches a single quote-enclosed word without scoping</string>
|
|
<key>end</key>
|
|
<string>"([^\s\]]*)</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>invalid.illegal.tcl</string>
|
|
</dict>
|
|
</dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#escape</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#variable</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>braces</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(?:^|(?<=\s))\{</string>
|
|
<key>comment</key>
|
|
<string>matches a single brace-enclosed word</string>
|
|
<key>end</key>
|
|
<string>\}([^\s\]]*)</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>invalid.illegal.tcl</string>
|
|
</dict>
|
|
</dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\\[{}\n]</string>
|
|
<key>name</key>
|
|
<string>constant.character.escape.tcl</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#inner-braces</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>embedded</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>\[</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.section.embedded.begin.tcl</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>\]</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.section.embedded.end.tcl</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>source.tcl.embedded</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>source.tcl</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>escape</key>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\\(\d{1,3}|x[a-fA-F0-9]+|u[a-fA-F0-9]{1,4}|.|\n)</string>
|
|
<key>name</key>
|
|
<string>constant.character.escape.tcl</string>
|
|
</dict>
|
|
<key>inner-braces</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>\{</string>
|
|
<key>comment</key>
|
|
<string>matches a nested brace in a brace-enclosed word</string>
|
|
<key>end</key>
|
|
<string>\}</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\\[{}\n]</string>
|
|
<key>name</key>
|
|
<string>constant.character.escape.tcl</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#inner-braces</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>regexp</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(?=\S)(?![\n;\]])</string>
|
|
<key>comment</key>
|
|
<string>matches a single word, named as a regexp, then swallows the rest of the command</string>
|
|
<key>end</key>
|
|
<string>(?=[\n;\]])</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(?=[^ \t\n;])</string>
|
|
<key>end</key>
|
|
<string>(?=[ \t\n;])</string>
|
|
<key>name</key>
|
|
<string>string.regexp.tcl</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#braces</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#bare-string</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#escape</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#variable</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>[ \t]</string>
|
|
<key>comment</key>
|
|
<string>swallow the rest of the command</string>
|
|
<key>end</key>
|
|
<string>(?=[\n;\]])</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#variable</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#embedded</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#escape</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#braces</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#string</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>string</key>
|
|
<dict>
|
|
<key>applyEndPatternLast</key>
|
|
<integer>1</integer>
|
|
<key>begin</key>
|
|
<string>(?:^|(?<=\s))(?=")</string>
|
|
<key>comment</key>
|
|
<string>matches a single quote-enclosed word with scoping</string>
|
|
<key>end</key>
|
|
<string></string>
|
|
<key>name</key>
|
|
<string>string.quoted.double.tcl</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#bare-string</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>variable</key>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.variable.tcl</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(\$)((?:[a-zA-Z0-9_]|::)+(\([^\)]+\))?|\{[^\}]*\})</string>
|
|
<key>name</key>
|
|
<string>variable.other.tcl</string>
|
|
</dict>
|
|
</dict>
|
|
<key>scopeName</key>
|
|
<string>source.tcl</string>
|
|
<key>uuid</key>
|
|
<string>F01F22AC-7CBB-11D9-9B10-000A95E13C98</string>
|
|
</dict>
|
|
</plist>
|