ver 2009.10.14 → 2009.11.28
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +1094 -0
- data/MANIFEST +227 -25
- data/README.textile +185 -0
- data/bin/ver +96 -12
- data/config/detect.rb +73 -21
- data/config/keymap/emacs.rb +66 -0
- data/config/keymap/vim.rb +250 -140
- data/config/preferences/ANTLR.json +10 -0
- data/config/preferences/ASP vb.NET.json +3 -0
- data/config/preferences/ASP.json +15 -0
- data/config/preferences/ActionScript.json +755 -0
- data/config/preferences/Active4D.json +89 -0
- data/config/preferences/Ada.json +23 -0
- data/config/preferences/Ant.json +356 -0
- data/config/preferences/Apache.json +644 -0
- data/config/preferences/AppleScript.json +92 -0
- data/config/preferences/Bison.json +3 -0
- data/config/preferences/Blogging.json +3 -0
- data/config/preferences/C.json +127 -0
- data/config/preferences/CMake.json +41 -0
- data/config/preferences/CSS.json +461 -0
- data/config/preferences/CTags.json +3 -0
- data/config/preferences/CVS.json +3 -0
- data/config/preferences/ColdFusion.json +32 -0
- data/config/preferences/D.json +58 -0
- data/config/preferences/Darcs.json +3 -0
- data/config/preferences/Diff.json +67 -0
- data/config/preferences/DokuWiki.json +19 -0
- data/config/preferences/Doxygen.json +3 -0
- data/config/preferences/Dylan.json +3 -0
- data/config/preferences/Eiffel.json +59 -0
- data/config/preferences/Erlang.json +72 -0
- data/config/preferences/Experimental.json +1356 -0
- data/config/preferences/F-Script.json +87 -0
- data/config/preferences/FXScript.json +78 -0
- data/config/preferences/FileMerge.json +3 -0
- data/config/preferences/Fortran.json +158 -0
- data/config/preferences/GTD2.json +11 -0
- data/config/preferences/GTDAlt.json +20 -0
- data/config/preferences/GetBundle.json +3 -0
- data/config/preferences/Gettext.json +24 -0
- data/config/preferences/Graphviz.json +42 -0
- data/config/preferences/Greasemonkey.json +3 -0
- data/config/preferences/Gri.json +34 -0
- data/config/preferences/HTML.json +492 -0
- data/config/preferences/Haskell.json +72 -0
- data/config/preferences/Hotkey.json +3 -0
- data/config/preferences/ImageBrowser.json +3 -0
- data/config/preferences/Inform.json +3 -0
- data/config/preferences/Ini.json +60 -0
- data/config/preferences/Installer.json +3 -0
- data/config/preferences/Io.json +64 -0
- data/config/preferences/JSON.json +3 -0
- data/config/preferences/Java.json +86 -0
- data/config/preferences/JavaDoc.json +3 -0
- data/config/preferences/JavaScript.json +76 -0
- data/config/preferences/LaTeX.json +267 -0
- data/config/preferences/Lex/Flex.json +3 -0
- data/config/preferences/Lighttpd.json +3 -0
- data/config/preferences/LilyPond.json +77 -0
- data/config/preferences/Lisp.json +63 -0
- data/config/preferences/Logo.json +58 -0
- data/config/preferences/Logtalk.json +236 -0
- data/config/preferences/Lua.json +24 -0
- data/config/preferences/MEL.json +19 -0
- data/config/preferences/MIPS Assembler.json +26 -0
- data/config/preferences/MacPorts.json +3 -0
- data/config/preferences/Mail.json +3 -0
- data/config/preferences/Make.json +16 -0
- data/config/preferences/Markdown.json +102 -0
- data/config/preferences/Math.json +3 -0
- data/config/preferences/Matlab.json +128 -0
- data/config/preferences/Maven.json +308 -0
- data/config/preferences/Mediawiki.json +73 -0
- data/config/preferences/Mercurial.json +3 -0
- data/config/preferences/Modula.json +37 -0
- data/config/preferences/MoinMoin.json +52 -0
- data/config/preferences/Navigation.json +3 -0
- data/config/preferences/Nemerle.json +3 -0
- data/config/preferences/OCaml Code Completion.json +3 -0
- data/config/preferences/OCaml.json +163 -0
- data/config/preferences/ODCompletion.json +3 -0
- data/config/preferences/Objective-C.json +84 -0
- data/config/preferences/OpenGL.json +3331 -0
- data/config/preferences/Outlines.json +3 -0
- data/config/preferences/Pascal.json +60 -0
- data/config/preferences/Perforce.json +3 -0
- data/config/preferences/Perl.json +15 -0
- data/config/preferences/PmWiki.json +27 -0
- data/config/preferences/Postscript.json +15 -0
- data/config/preferences/Processing.json +32 -0
- data/config/preferences/Prolog.json +3 -0
- data/config/preferences/Propel.json +3 -0
- data/config/preferences/Python.json +38 -0
- data/config/preferences/Quake.json +15 -0
- data/config/preferences/R.json +33 -0
- data/config/preferences/Ragel.json +15 -0
- data/config/preferences/Regular Expressions.json +3 -0
- data/config/preferences/Remind.json +15 -0
- data/config/preferences/Rez.json +46 -0
- data/config/preferences/Ruby.json +98 -0
- data/config/preferences/S5 Slide Show.json +20 -0
- data/config/preferences/SCons.json +3 -0
- data/config/preferences/SQL.json +32 -0
- data/config/preferences/SSH Config.json +15 -0
- data/config/preferences/SVK.json +3 -0
- data/config/preferences/SWIG.json +3 -0
- data/config/preferences/SWeave.json +32 -0
- data/config/preferences/Scheme.json +35 -0
- data/config/preferences/Scilab.json +15 -0
- data/config/preferences/Setext.json +3 -0
- data/config/preferences/Shell Script.json +25 -0
- data/config/preferences/Slate.json +113 -0
- data/config/preferences/Source.json +132 -0
- data/config/preferences/Subversion.json +10 -0
- data/config/preferences/TODO.json +3 -0
- data/config/preferences/Tabular.json +3 -0
- data/config/preferences/Tcl.json +82 -0
- data/config/preferences/TerminalMate.json +112 -0
- data/config/preferences/Text.json +89 -0
- data/config/preferences/TextMate.json +38 -0
- data/config/preferences/Textile.json +76 -0
- data/config/preferences/Thrift.json +56 -0
- data/config/preferences/Transmit.json +3 -0
- data/config/preferences/Twiki.json +51 -0
- data/config/preferences/Txt2tags.json +81 -0
- data/config/preferences/Vectorscript.json +1280 -0
- data/config/preferences/XML.json +60 -0
- data/config/preferences/Xcode.json +3 -0
- data/config/preferences/YAML.json +24 -0
- data/config/preferences/iCalendar.json +10 -0
- data/config/preferences/iTerm.json +36 -0
- data/config/preferences/reStructuredText.json +48 -0
- data/config/rc.rb +49 -0
- data/config/syntax/ANTLR.json +5 -5
- data/config/syntax/{ASP VB.net.json → ASP vb.NET.json } +3 -3
- data/config/syntax/ASP.json +1 -1
- data/config/syntax/ActionScript.json +6 -6
- data/config/syntax/Active4D Config.json +86 -0
- data/config/syntax/Active4D Library.json +20 -0
- data/config/syntax/Active4D.json +418 -0
- data/config/syntax/Ada.json +3 -3
- data/config/syntax/Ant.json +196 -0
- data/config/syntax/Apache.json +7 -7
- data/config/syntax/AppleScript.json +3 -3
- data/config/syntax/{Bibtex.json → BibTeX.json} +1 -1
- data/config/syntax/Bison.json +59 -0
- data/config/syntax/{Blog (HTML).json → Blog - HTML.json } +2 -2
- data/config/syntax/{Blog (Markdown).json → Blog - Markdown.json } +2 -2
- data/config/syntax/Blog (Text).json b/data/config/syntax/Blog - → Text.json +0 -0
- data/config/syntax/Blog (Textile).json b/data/config/syntax/Blog - → Textile.json +0 -0
- data/config/syntax/C++.json +3 -3
- data/config/syntax/C.json +13 -13
- data/config/syntax/CMake Listfile.json +171 -0
- data/config/syntax/CSS.json +6 -6
- data/config/syntax/CSV.json +108 -0
- data/config/syntax/ColdFusion.json +204 -0
- data/config/syntax/D.json +560 -0
- data/config/syntax/Diff.json +1 -1
- data/config/syntax/DokuWiki.json +412 -0
- data/config/syntax/Doxygen.json +80 -0
- data/config/syntax/Dylan.json +4 -4
- data/config/syntax/Erlang.json +5 -5
- data/config/syntax/F-Script.json +1 -1
- data/config/syntax/FXScript.json +5 -5
- data/config/syntax/Fortran - Modern.json +221 -0
- data/config/syntax/Fortran - Punchcard.json +468 -0
- data/config/syntax/GTD.json +39 -0
- data/config/syntax/GTDalt.json +233 -0
- data/config/syntax/Gettext.json +118 -0
- data/config/syntax/Go.json +555 -0
- data/config/syntax/{DOT.json → Graphviz (DOT).json } +3 -3
- data/config/syntax/Greasemonkey.json +56 -0
- data/config/syntax/Gri.json +4 -4
- data/config/syntax/{HTML-ASP.json → HTML (ASP).json } +1 -1
- data/config/syntax/{HTML for ASP.net.json → HTML (ASP.net).json } +19 -19
- data/config/syntax/HTML (Active4D).json +540 -0
- data/config/syntax/HTML (Erlang).json +31 -0
- data/config/syntax/HTML (Tcl).json +1 -1
- data/config/syntax/HTML.json +20 -20
- data/config/syntax/Haskell.json +3 -3
- data/config/syntax/Installer Distribution Script.json +135 -0
- data/config/syntax/Io.json +6 -6
- data/config/syntax/JSON.json +151 -0
- data/config/syntax/{JavaProperties.json → Java Properties.json } +2 -2
- data/config/syntax/Java Server Page (JSP).json +163 -0
- data/config/syntax/Java.json +7 -7
- data/config/syntax/JavaDoc.json +435 -0
- data/config/syntax/JavaScript.json +8 -8
- data/config/syntax/LaTeX Log.json +3 -3
- data/config/syntax/LaTeX Memoir.json +101 -0
- data/config/syntax/LaTeX.json +2 -2
- data/config/syntax/Lex-Flex.json +396 -0
- data/config/syntax/LilyPond.json +608 -0
- data/config/syntax/Logo.json +48 -0
- data/config/syntax/Logtalk.json +6 -6
- data/config/syntax/Lua.json +1 -1
- data/config/syntax/{M.json → MATLAB.json} +3 -3
- data/config/syntax/MEL.json +7 -7
- data/config/syntax/MIPS.json b/data/config/syntax/MIPS → Assembler.json +0 -0
- data/config/syntax/MacPorts Portfile.json +298 -0
- data/config/syntax/Mail.json +1 -1
- data/config/syntax/Markdown.json +6 -6
- data/config/syntax/Maven POM.json +774 -0
- data/config/syntax/Mediawiki.json +736 -0
- data/config/syntax/MoinMoin.json +335 -0
- data/config/syntax/MultiMarkdown.json +41 -0
- data/config/syntax/Nemerle.json +128 -0
- data/config/syntax/OCaml.json +4 -4
- data/config/syntax/OCamllex.json +307 -0
- data/config/syntax/OCamlyacc.json +346 -0
- data/config/syntax/Objective-C++.json +2 -2
- data/config/syntax/Objective-C.json +979 -0
- data/config/syntax/Octave.json +417 -0
- data/config/syntax/PHP.json +32 -32
- data/config/syntax/Pascal.json +1 -1
- data/config/syntax/Perl.json +8 -8
- data/config/syntax/{Plain text.json → Plain Text.json } +1 -1
- data/config/syntax/PmWiki.json +241 -0
- data/config/syntax/Postscript.json +206 -0
- data/config/syntax/Processing.json +8 -8
- data/config/syntax/Prolog.json +70 -0
- data/config/syntax/Python.json +1934 -0
- data/config/syntax/{Quake3 Config.json → Quake Style .cfg.json } +1 -1
- data/config/syntax/R.json +2 -2
- data/config/syntax/Ragel.json +362 -0
- data/config/syntax/Rd (R Documentation).json +119 -0
- data/config/syntax/Regular Expressions (Oniguruma).json +186 -0
- data/config/syntax/Regular Expressions (Python).json +188 -0
- data/config/syntax/Release Notes.json +78 -0
- data/config/syntax/Remind.json +461 -0
- data/config/syntax/Rez.json +5 -5
- data/config/syntax/Ruby Sass.json +497 -0
- data/config/syntax/Ruby.json +13 -13
- data/config/syntax/S5 Slide Show.json +85 -0
- data/config/syntax/SQL.json +11 -11
- data/config/syntax/SSH Config.json +55 -0
- data/config/syntax/SWIG.json +2 -2
- data/config/syntax/SWeave.json +139 -0
- data/config/syntax/Scheme.json +8 -8
- data/config/syntax/Scilab.json +69 -0
- data/config/syntax/Setext.json +247 -0
- data/config/syntax/{Shell-Unix-Generic.json → Shell Script (Bash).json } +4 -4
- data/config/syntax/Slate.json +5 -5
- data/config/syntax/Strings File.json +53 -0
- data/config/syntax/TSV.json +83 -0
- data/config/syntax/Tcl.json +1 -1
- data/config/syntax/TeX Math.json +2 -2
- data/config/syntax/TeX.json +2 -2
- data/config/syntax/Textile.json +9 -9
- data/config/syntax/Thrift.json +641 -0
- data/config/syntax/Twiki.json +1 -1
- data/config/syntax/Txt2tags.json +154 -0
- data/config/syntax/XML strict.json +4 -4
- data/config/syntax/XML.json +6 -6
- data/config/syntax/XSL.json +2 -2
- data/config/syntax/camlp4.json +63 -0
- data/config/syntax/mod_perl.json +72 -0
- data/config/syntax/reStructuredText.json +1 -1
- data/config/syntax/{Subversion commit message.json → svn-commit.tmp.json} +0 -0
- data/config/tutorial +23 -19
- data/config/welcome +3 -3
- data/lib/ver.rb +273 -62
- data/lib/ver/entry.rb +142 -26
- data/lib/ver/font.rb +51 -0
- data/lib/ver/help.rb +16 -0
- data/lib/ver/help/describe_key.rb +82 -0
- data/lib/ver/help/help_for_help.rb +39 -0
- data/lib/ver/hover_completion.rb +129 -0
- data/lib/ver/keymap.rb +95 -24
- data/lib/ver/layout.rb +107 -43
- data/lib/ver/methods.rb +24 -8
- data/lib/ver/methods/clipboard.rb +91 -0
- data/lib/ver/methods/completion.rb +146 -71
- data/lib/ver/methods/control.rb +203 -222
- data/lib/ver/methods/ctags.rb +55 -0
- data/lib/ver/methods/delete.rb +30 -0
- data/lib/ver/methods/help.rb +7 -0
- data/lib/ver/methods/insert.rb +233 -1
- data/lib/ver/methods/move.rb +181 -32
- data/lib/ver/methods/open.rb +208 -0
- data/lib/ver/methods/preview.rb +14 -0
- data/lib/ver/methods/save.rb +111 -0
- data/lib/ver/methods/search.rb +57 -7
- data/lib/ver/methods/select.rb +97 -17
- data/lib/ver/methods/shortcuts.rb +21 -0
- data/lib/ver/methods/views.rb +56 -1
- data/lib/ver/mode.rb +60 -14
- data/lib/ver/status.rb +97 -19
- data/lib/ver/syntax.rb +14 -6
- data/lib/ver/syntax/detector.rb +16 -5
- data/lib/ver/syntax/processor.rb +9 -3
- data/lib/ver/text.rb +258 -199
- data/lib/ver/text/index.rb +103 -0
- data/lib/ver/theme.rb +27 -16
- data/lib/ver/tooltip.rb +59 -0
- data/lib/ver/vendor/binary_search.rb +61 -0
- data/lib/ver/vendor/levenshtein.rb +57 -0
- data/lib/ver/{textpow.rb → vendor/textpow.rb} +31 -29
- data/lib/ver/view.rb +65 -41
- data/lib/ver/view/console.rb +171 -0
- data/lib/ver/view/entry.rb +9 -5
- data/lib/ver/view/list.rb +44 -29
- data/lib/ver/view/list/ex.rb +71 -0
- data/lib/ver/view/list/grep.rb +42 -0
- data/lib/ver/view/list/methods.rb +159 -0
- data/lib/ver/view/term.rb +249 -0
- data/tasks/syntax_list.rake +3 -2
- data/ver.gemspec +4 -4
- metadata +230 -28
- data/config/syntax/Bulletin Board.json +0 -428
- data/config/syntax/HTML (Mason).json +0 -207
- data/config/syntax/HTML (Rails).json +0 -52
- data/config/syntax/Movable Type.json +0 -348
- data/config/syntax/Ruby on Rails.json +0 -170
- data/config/syntax/SQL (Rails).json +0 -31
- data/config/syntax/Smarty.json +0 -110
- data/config/syntax/Standard ML.json +0 -322
@@ -0,0 +1,53 @@
|
|
1
|
+
{
|
2
|
+
"fileTypes": [
|
3
|
+
"strings"
|
4
|
+
],
|
5
|
+
"name": "Strings File",
|
6
|
+
"patterns": [
|
7
|
+
{
|
8
|
+
"begin": "/\\*",
|
9
|
+
"captures": {
|
10
|
+
"0": {
|
11
|
+
"name": "punctuation.definition.comment.strings"
|
12
|
+
}
|
13
|
+
},
|
14
|
+
"end": "\\*/",
|
15
|
+
"name": "comment.block.strings"
|
16
|
+
},
|
17
|
+
{
|
18
|
+
"begin": "\"",
|
19
|
+
"beginCaptures": {
|
20
|
+
"0": {
|
21
|
+
"name": "punctuation.definition.string.begin.strings"
|
22
|
+
}
|
23
|
+
},
|
24
|
+
"end": "\"",
|
25
|
+
"endCaptures": {
|
26
|
+
"0": {
|
27
|
+
"name": "punctuation.definition.string.end.strings"
|
28
|
+
}
|
29
|
+
},
|
30
|
+
"name": "string.quoted.double.strings",
|
31
|
+
"patterns": [
|
32
|
+
{
|
33
|
+
"match": "\\\\(\\\\|[abefnrtv'\"?]|[0-3]\\d{,2}|[4-7]\\d?|x[a-zA-Z0-9]+)",
|
34
|
+
"name": "constant.character.escape.strings"
|
35
|
+
},
|
36
|
+
{
|
37
|
+
"match": "\\\\.",
|
38
|
+
"name": "invalid.illegal.unknown-escape.strings"
|
39
|
+
},
|
40
|
+
{
|
41
|
+
"match": "(?x)%\n\t\t\t\t\t\t(\\d+\\$)? # field (argument #)\n\t\t\t\t\t\t[#0\\- +']* # flags\n\t\t\t\t\t\t[,;:_]? # separator character (AltiVec)\n\t\t\t\t\t\t((-?\\d+)|\\*(-?\\d+\\$)?)? # minimum field width\n\t\t\t\t\t\t(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)? # precision\n\t\t\t\t\t\t(hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)? # length modifier\n\t\t\t\t\t\t[@diouxXDOUeEfFgGaACcSspn%] # conversion type\n\t\t\t\t\t",
|
42
|
+
"name": "constant.other.placeholder.strings"
|
43
|
+
},
|
44
|
+
{
|
45
|
+
"match": "%",
|
46
|
+
"name": "invalid.illegal.placeholder.c"
|
47
|
+
}
|
48
|
+
]
|
49
|
+
}
|
50
|
+
],
|
51
|
+
"scopeName": "source.strings",
|
52
|
+
"uuid": "429E2DB7-EB4F-4B34-A4DF-DBFD3336C581"
|
53
|
+
}
|
@@ -0,0 +1,83 @@
|
|
1
|
+
{
|
2
|
+
"fileTypes": [
|
3
|
+
"tsv"
|
4
|
+
],
|
5
|
+
"keyEquivalent": "^~T",
|
6
|
+
"name": "TSV",
|
7
|
+
"patterns": [
|
8
|
+
{
|
9
|
+
"include": "#table"
|
10
|
+
}
|
11
|
+
],
|
12
|
+
"repository": {
|
13
|
+
"field": {
|
14
|
+
"patterns": [
|
15
|
+
{
|
16
|
+
"begin": "(:^|(?<=\\t))(?!$|\\t)",
|
17
|
+
"contentName": "meta.tabular.field.tsv",
|
18
|
+
"end": "$|(\\t)",
|
19
|
+
"endCaptures": {
|
20
|
+
"1": {
|
21
|
+
"name": "punctuation.separator.tabular.field.tsv"
|
22
|
+
}
|
23
|
+
}
|
24
|
+
},
|
25
|
+
{
|
26
|
+
"match": "\\t",
|
27
|
+
"name": "punctuation.separator.tabular.field.tsv"
|
28
|
+
}
|
29
|
+
]
|
30
|
+
},
|
31
|
+
"header": {
|
32
|
+
"begin": "^(?!$)",
|
33
|
+
"end": "$",
|
34
|
+
"name": "meta.tabular.row.header.tsv",
|
35
|
+
"patterns": [
|
36
|
+
{
|
37
|
+
"include": "#field"
|
38
|
+
}
|
39
|
+
]
|
40
|
+
},
|
41
|
+
"row": {
|
42
|
+
"begin": "^(?!$)",
|
43
|
+
"end": "$",
|
44
|
+
"name": "meta.tabular.row.tsv",
|
45
|
+
"patterns": [
|
46
|
+
{
|
47
|
+
"include": "#field"
|
48
|
+
}
|
49
|
+
]
|
50
|
+
},
|
51
|
+
"table": {
|
52
|
+
"begin": "^",
|
53
|
+
"end": "^$not possible$^",
|
54
|
+
"name": "meta.tabular.table.tsv",
|
55
|
+
"patterns": [
|
56
|
+
{
|
57
|
+
"include": "#header"
|
58
|
+
},
|
59
|
+
{
|
60
|
+
"begin": "(\\n)",
|
61
|
+
"beginCaptures": {
|
62
|
+
"1": {
|
63
|
+
"name": "punctuation.separator.table.row.tsv"
|
64
|
+
}
|
65
|
+
},
|
66
|
+
"comment": "\n\t\t\t\t\t\teverything after the first row is not a header\n\t\t\t\t\t",
|
67
|
+
"end": "^$not possible$^",
|
68
|
+
"patterns": [
|
69
|
+
{
|
70
|
+
"include": "#row"
|
71
|
+
},
|
72
|
+
{
|
73
|
+
"match": "\\n",
|
74
|
+
"name": "punctuation.separator.table.row.tsv"
|
75
|
+
}
|
76
|
+
]
|
77
|
+
}
|
78
|
+
]
|
79
|
+
}
|
80
|
+
},
|
81
|
+
"scopeName": "text.tabular.tsv",
|
82
|
+
"uuid": "7D87F38B-A972-4F61-B9C0-7D6D15EEED38"
|
83
|
+
}
|
data/config/syntax/Tcl.json
CHANGED
@@ -67,7 +67,7 @@
|
|
67
67
|
"name": "keyword.other.tcl"
|
68
68
|
}
|
69
69
|
},
|
70
|
-
"comment": "special-case regexp
|
70
|
+
"comment": "special-case regexp/regsub keyword in order to handle the expression",
|
71
71
|
"end": "[\\n;]|(?=\\])",
|
72
72
|
"patterns": [
|
73
73
|
{
|
data/config/syntax/TeX Math.json
CHANGED
data/config/syntax/TeX.json
CHANGED
data/config/syntax/Textile.json
CHANGED
@@ -173,7 +173,7 @@
|
|
173
173
|
"name": "constant.other.reference.link.textile"
|
174
174
|
}
|
175
175
|
},
|
176
|
-
"match": "(?x)\n\t\t\t\t\t\t\t\t\"\t\t\t\t\t\t\t\t# Start name, etc\n\t\t\t\t\t\t\t\t\t(?:\t\t\t\t\t\t\t# Attributes\n\t\t\t\t\t\t\t\t\t\t# I swear, this is how the language is defined,\n\t\t\t\t\t\t\t\t\t\t# couldnt make it up if I tried.\n\t\t\t\t\t\t\t\t\t\t(?:\\([^)]+\\))?(?:\\{[^}]+\\})?(?:\\[[^\\]]+\\])?\n\t\t\t\t\t\t\t\t\t\t\t# Class, Style, Lang\n\t\t\t\t\t\t\t\t\t | (?:\\{[^}]+\\})?(?:\\[[^\\]]+\\])?(?:\\([^)]+\\))?\n\t\t\t\t\t\t\t\t\t\t\t# Style, Lang, Class\n\t\t\t\t\t\t\t\t\t | (?:\\[[^\\]]+\\])?(?:\\{[^}]+\\})?(?:\\([^)]+\\))?\n\t\t\t\t\t\t\t\t\t\t\t# Lang, Style, Class\n\t\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t\t([^\"]+?)\t\t\t\t\t# Link name\n\t\t\t\t\t\t\t\t\t\\s?\t\t\t\t\t\t\t# Optional whitespace\n\t\t\t\t\t\t\t\t\t(?:\\(([^)]+?)\\))?\n\t\t\t\t\t\t\t\t\":\t\t\t\t\t\t\t\t# End name\n\t\t\t\t\t\t\t\t(\\w[-\\w_]*)\t\t\t\t\t\t# Linkref\n\t\t\t\t\t\t\t\t(?=[^\\w
|
176
|
+
"match": "(?x)\n\t\t\t\t\t\t\t\t\"\t\t\t\t\t\t\t\t# Start name, etc\n\t\t\t\t\t\t\t\t\t(?:\t\t\t\t\t\t\t# Attributes\n\t\t\t\t\t\t\t\t\t\t# I swear, this is how the language is defined,\n\t\t\t\t\t\t\t\t\t\t# couldnt make it up if I tried.\n\t\t\t\t\t\t\t\t\t\t(?:\\([^)]+\\))?(?:\\{[^}]+\\})?(?:\\[[^\\]]+\\])?\n\t\t\t\t\t\t\t\t\t\t\t# Class, Style, Lang\n\t\t\t\t\t\t\t\t\t | (?:\\{[^}]+\\})?(?:\\[[^\\]]+\\])?(?:\\([^)]+\\))?\n\t\t\t\t\t\t\t\t\t\t\t# Style, Lang, Class\n\t\t\t\t\t\t\t\t\t | (?:\\[[^\\]]+\\])?(?:\\{[^}]+\\})?(?:\\([^)]+\\))?\n\t\t\t\t\t\t\t\t\t\t\t# Lang, Style, Class\n\t\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t\t([^\"]+?)\t\t\t\t\t# Link name\n\t\t\t\t\t\t\t\t\t\\s?\t\t\t\t\t\t\t# Optional whitespace\n\t\t\t\t\t\t\t\t\t(?:\\(([^)]+?)\\))?\n\t\t\t\t\t\t\t\t\":\t\t\t\t\t\t\t\t# End name\n\t\t\t\t\t\t\t\t(\\w[-\\w_]*)\t\t\t\t\t\t# Linkref\n\t\t\t\t\t\t\t\t(?=[^\\w\\/;]*?(<|\\s|$))\t\t\t# Catch closing punctuation\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t# and end of meta.link\n\t\t\t\t\t",
|
177
177
|
"name": "meta.link.reference.textile"
|
178
178
|
},
|
179
179
|
{
|
@@ -188,7 +188,7 @@
|
|
188
188
|
"name": "markup.underline.link.textile"
|
189
189
|
}
|
190
190
|
},
|
191
|
-
"match": "(?x)\n\t\t\t\t\t\t\t\t\"\t\t\t\t\t\t\t\t# Start name, etc\n\t\t\t\t\t\t\t\t\t(?:\t\t\t\t\t\t\t# Attributes\n\t\t\t\t\t\t\t\t\t\t# I swear, this is how the language is defined,\n\t\t\t\t\t\t\t\t\t\t# couldnt make it up if I tried.\n\t\t\t\t\t\t\t\t\t\t(?:\\([^)]+\\))?(?:\\{[^}]+\\})?(?:\\[[^\\]]+\\])?\n\t\t\t\t\t\t\t\t\t\t\t# Class, Style, Lang\n\t\t\t\t\t\t\t\t\t | (?:\\{[^}]+\\})?(?:\\[[^\\]]+\\])?(?:\\([^)]+\\))?\n\t\t\t\t\t\t\t\t\t\t\t# Style, Lang, Class\n\t\t\t\t\t\t\t\t\t | (?:\\[[^\\]]+\\])?(?:\\{[^}]+\\})?(?:\\([^)]+\\))?\n\t\t\t\t\t\t\t\t\t\t\t# Lang, Style, Class\n\t\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t\t([^\"]+?)\t\t\t\t\t# Link name\n\t\t\t\t\t\t\t\t\t\\s?\t\t\t\t\t\t\t# Optional whitespace\n\t\t\t\t\t\t\t\t\t(?:\\(([^)]+?)\\))?\n\t\t\t\t\t\t\t\t\":\t\t\t\t\t\t\t\t# End Name\n\t\t\t\t\t\t\t\t(\\S*?(?:\\w
|
191
|
+
"match": "(?x)\n\t\t\t\t\t\t\t\t\"\t\t\t\t\t\t\t\t# Start name, etc\n\t\t\t\t\t\t\t\t\t(?:\t\t\t\t\t\t\t# Attributes\n\t\t\t\t\t\t\t\t\t\t# I swear, this is how the language is defined,\n\t\t\t\t\t\t\t\t\t\t# couldnt make it up if I tried.\n\t\t\t\t\t\t\t\t\t\t(?:\\([^)]+\\))?(?:\\{[^}]+\\})?(?:\\[[^\\]]+\\])?\n\t\t\t\t\t\t\t\t\t\t\t# Class, Style, Lang\n\t\t\t\t\t\t\t\t\t | (?:\\{[^}]+\\})?(?:\\[[^\\]]+\\])?(?:\\([^)]+\\))?\n\t\t\t\t\t\t\t\t\t\t\t# Style, Lang, Class\n\t\t\t\t\t\t\t\t\t | (?:\\[[^\\]]+\\])?(?:\\{[^}]+\\})?(?:\\([^)]+\\))?\n\t\t\t\t\t\t\t\t\t\t\t# Lang, Style, Class\n\t\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t\t([^\"]+?)\t\t\t\t\t# Link name\n\t\t\t\t\t\t\t\t\t\\s?\t\t\t\t\t\t\t# Optional whitespace\n\t\t\t\t\t\t\t\t\t(?:\\(([^)]+?)\\))?\n\t\t\t\t\t\t\t\t\":\t\t\t\t\t\t\t\t# End Name\n\t\t\t\t\t\t\t\t(\\S*?(?:\\w|\\/|;))\t\t\t\t# URL\n\t\t\t\t\t\t\t\t(?=[^\\w\\/;]*?(<|\\s|$))\t\t\t# Catch closing punctuation\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t# and end of meta.link\n\t\t\t\t\t",
|
192
192
|
"name": "meta.link.inline.textile"
|
193
193
|
},
|
194
194
|
{
|
@@ -203,7 +203,7 @@
|
|
203
203
|
"name": "markup.underline.link.textile"
|
204
204
|
}
|
205
205
|
},
|
206
|
-
"match": "(?x)\n\t\t\t\t\t\t\t\t\\!\t\t\t\t\t\t\t\t\t\t# Open image\n\t\t\t\t\t\t\t\t(\\<|\\=|\\>)?\t\t\t\t\t\t\t\t# Optional alignment\n\t\t\t\t\t\t\t\t(?:\t\t\t\t\t\t\t\t\t\t# Attributes\n\t\t\t\t\t\t\t\t\t# I swear, this is how the language is defined,\n\t\t\t\t\t\t\t\t\t# couldnt make it up if I tried.\n\t\t\t\t\t\t\t\t\t(?:\\([^)]+\\))?(?:\\{[^}]+\\})?(?:\\[[^\\]]+\\])?\n\t\t\t\t\t\t\t\t\t\t# Class, Style, Lang\n\t\t\t\t\t\t\t\t | (?:\\{[^}]+\\})?(?:\\[[^\\]]+\\])?(?:\\([^)]+\\))?\n\t\t\t\t\t\t\t\t\t\t# Style, Lang, Class\n\t\t\t\t\t\t\t\t | (?:\\[[^\\]]+\\])?(?:\\{[^}]+\\})?(?:\\([^)]+\\))?\n\t\t\t\t\t\t\t\t\t\t# Lang, Style, Class\n\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t(?:\\.[ ])? \t\t\t\t\t# Optional\n\t\t\t\t\t\t\t\t([^\\s(!]+?) \t\t\t\t\t# Image URL\n\t\t\t\t\t\t\t\t\\s? \t\t\t\t\t\t# Optional space\n\t\t\t\t\t\t\t\t(?:\\(((?:[^\\(\\)]|\\([^\\)]+\\))+?)\\))? \t# Optional title\n\t\t\t\t\t\t\t\t\\!\t\t\t\t\t\t\t\t\t\t# Close image\n\t\t\t\t\t\t\t\t(?:\n\t\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t(\\S*?(?:\\w
|
206
|
+
"match": "(?x)\n\t\t\t\t\t\t\t\t\\!\t\t\t\t\t\t\t\t\t\t# Open image\n\t\t\t\t\t\t\t\t(\\<|\\=|\\>)?\t\t\t\t\t\t\t\t# Optional alignment\n\t\t\t\t\t\t\t\t(?:\t\t\t\t\t\t\t\t\t\t# Attributes\n\t\t\t\t\t\t\t\t\t# I swear, this is how the language is defined,\n\t\t\t\t\t\t\t\t\t# couldnt make it up if I tried.\n\t\t\t\t\t\t\t\t\t(?:\\([^)]+\\))?(?:\\{[^}]+\\})?(?:\\[[^\\]]+\\])?\n\t\t\t\t\t\t\t\t\t\t# Class, Style, Lang\n\t\t\t\t\t\t\t\t | (?:\\{[^}]+\\})?(?:\\[[^\\]]+\\])?(?:\\([^)]+\\))?\n\t\t\t\t\t\t\t\t\t\t# Style, Lang, Class\n\t\t\t\t\t\t\t\t | (?:\\[[^\\]]+\\])?(?:\\{[^}]+\\})?(?:\\([^)]+\\))?\n\t\t\t\t\t\t\t\t\t\t# Lang, Style, Class\n\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t(?:\\.[ ])? \t\t\t\t\t# Optional\n\t\t\t\t\t\t\t\t([^\\s(!]+?) \t\t\t\t\t# Image URL\n\t\t\t\t\t\t\t\t\\s? \t\t\t\t\t\t# Optional space\n\t\t\t\t\t\t\t\t(?:\\(((?:[^\\(\\)]|\\([^\\)]+\\))+?)\\))? \t# Optional title\n\t\t\t\t\t\t\t\t\\!\t\t\t\t\t\t\t\t\t\t# Close image\n\t\t\t\t\t\t\t\t(?:\n\t\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t(\\S*?(?:\\w|\\/|;))\t\t\t\t\t# URL\n\t\t\t\t\t\t\t\t\t(?=[^\\w\\/;]*?(<|\\s|$))\t\t\t\t# Catch closing punctuation\n\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t",
|
207
207
|
"name": "meta.image.inline.textile"
|
208
208
|
},
|
209
209
|
{
|
@@ -221,7 +221,7 @@
|
|
221
221
|
"name": "entity.name.type.textile"
|
222
222
|
}
|
223
223
|
},
|
224
|
-
"match": "\\B(\\*\\*?)((\\([^)]*\\)|{[^}]*}|\\[[
|
224
|
+
"match": "\\B(\\*\\*?)((\\([^)]*\\)|{[^}]*}|\\[[^\\]]+\\]){0,3})(\\S.*?\\S|\\S)\\1\\B",
|
225
225
|
"name": "markup.bold.textile"
|
226
226
|
},
|
227
227
|
{
|
@@ -230,7 +230,7 @@
|
|
230
230
|
"name": "entity.name.type.textile"
|
231
231
|
}
|
232
232
|
},
|
233
|
-
"match": "\\B-((\\([^)]*\\)|{[^}]*}|\\[[
|
233
|
+
"match": "\\B-((\\([^)]*\\)|{[^}]*}|\\[[^\\]]+\\]){0,3})(\\S.*?\\S|\\S)-\\B",
|
234
234
|
"name": "markup.deleted.textile"
|
235
235
|
},
|
236
236
|
{
|
@@ -239,7 +239,7 @@
|
|
239
239
|
"name": "entity.name.type.textile"
|
240
240
|
}
|
241
241
|
},
|
242
|
-
"match": "\\B\\+((\\([^)]*\\)|{[^}]*}|\\[[
|
242
|
+
"match": "\\B\\+((\\([^)]*\\)|{[^}]*}|\\[[^\\]]+\\]){0,3})(\\S.*?\\S|\\S)\\+\\B",
|
243
243
|
"name": "markup.inserted.textile"
|
244
244
|
},
|
245
245
|
{
|
@@ -248,7 +248,7 @@
|
|
248
248
|
"name": "entity.name.type.textile"
|
249
249
|
}
|
250
250
|
},
|
251
|
-
"match": "(?:\\b|\\s)_((\\([^)]*\\)|{[^}]*}|\\[[
|
251
|
+
"match": "(?:\\b|\\s)_((\\([^)]*\\)|{[^}]*}|\\[[^\\]]+\\]){0,3})(\\S.*?\\S|\\S)_(?:\\b|\\s)",
|
252
252
|
"name": "markup.italic.textile"
|
253
253
|
},
|
254
254
|
{
|
@@ -257,7 +257,7 @@
|
|
257
257
|
"name": "entity.name.type.textile"
|
258
258
|
}
|
259
259
|
},
|
260
|
-
"match": "\\B([@\\^~%]|\\?\\?)((\\([^)]*\\)|{[^}]*}|\\[[
|
260
|
+
"match": "\\B([@\\^~%]|\\?\\?)((\\([^)]*\\)|{[^}]*}|\\[[^\\]]+\\]){0,3})(\\S.*?\\S|\\S)\\1",
|
261
261
|
"name": "markup.italic.phrasemodifiers.textile"
|
262
262
|
},
|
263
263
|
{
|
@@ -270,4 +270,4 @@
|
|
270
270
|
},
|
271
271
|
"scopeName": "text.html.textile",
|
272
272
|
"uuid": "68F0B1A5-3274-4E85-8B3A-A481C5F5B194"
|
273
|
-
}
|
273
|
+
}
|
@@ -0,0 +1,641 @@
|
|
1
|
+
{
|
2
|
+
"fileTypes": [
|
3
|
+
"thrift"
|
4
|
+
],
|
5
|
+
"foldingStartMarker": "\\{\\s*$",
|
6
|
+
"foldingStopMarker": "^\\s*\\}",
|
7
|
+
"keyEquivalent": "^~T",
|
8
|
+
"name": "Thrift",
|
9
|
+
"patterns": [
|
10
|
+
{
|
11
|
+
"include": "#comments"
|
12
|
+
},
|
13
|
+
{
|
14
|
+
"captures": {
|
15
|
+
"1": {
|
16
|
+
"name": "keyword.other.include.thrift"
|
17
|
+
},
|
18
|
+
"2": {
|
19
|
+
"name": "string.quoted.thrift"
|
20
|
+
},
|
21
|
+
"3": {
|
22
|
+
"name": "punctuation.definition.string.begin.thrift"
|
23
|
+
},
|
24
|
+
"4": {
|
25
|
+
"name": "punctuation.definition.string.end.thrift"
|
26
|
+
}
|
27
|
+
},
|
28
|
+
"match": "(?<!\\S)(include)(?!\\S)(?:\\s+((['\"])(?>.*?(\\3))))?",
|
29
|
+
"name": "meta.include.thrift"
|
30
|
+
},
|
31
|
+
{
|
32
|
+
"captures": {
|
33
|
+
"1": {
|
34
|
+
"name": "keyword.other.cpp-include.thrift"
|
35
|
+
},
|
36
|
+
"2": {
|
37
|
+
"name": "string.quoted.thrift"
|
38
|
+
},
|
39
|
+
"3": {
|
40
|
+
"name": "punctuation.definition.string.begin.thrift"
|
41
|
+
},
|
42
|
+
"4": {
|
43
|
+
"name": "punctuation.definition.string.end.thrift"
|
44
|
+
}
|
45
|
+
},
|
46
|
+
"match": "(?<!\\S)(cpp_include)(?!\\S)(?:\\s+((['\"])(?>.*?(\\3))))?",
|
47
|
+
"name": "meta.cpp-include.thrift"
|
48
|
+
},
|
49
|
+
{
|
50
|
+
"captures": {
|
51
|
+
"1": {
|
52
|
+
"name": "keyword.other.namespace.thrift"
|
53
|
+
},
|
54
|
+
"2": {
|
55
|
+
"name": "support.other.namespace-language.thrift"
|
56
|
+
},
|
57
|
+
"3": {
|
58
|
+
"name": "variable.other.namespace.thrift"
|
59
|
+
}
|
60
|
+
},
|
61
|
+
"match": "(?<!\\S)(namespace)(?!\\S)(?:\\s+([a-zA-Z_][\\w.]*)(?:\\s+([a-zA-Z_][\\w.]*))?)?",
|
62
|
+
"name": "meta.namespace.thrift"
|
63
|
+
},
|
64
|
+
{
|
65
|
+
"captures": {
|
66
|
+
"1": {
|
67
|
+
"name": "keyword.other.namespace.thrift"
|
68
|
+
},
|
69
|
+
"2": {
|
70
|
+
"name": "variable.other.namespace.thrift"
|
71
|
+
}
|
72
|
+
},
|
73
|
+
"match": "(?<!\\S)((?:php|xsd)_namespace)(?!\\S)(?:\\s+([a-zA-Z_][\\w.]*))?",
|
74
|
+
"name": "meta.namespace.thrift"
|
75
|
+
},
|
76
|
+
{
|
77
|
+
"captures": {
|
78
|
+
"1": {
|
79
|
+
"name": "invalid.deprecated.namespace.thrift"
|
80
|
+
},
|
81
|
+
"2": {
|
82
|
+
"name": "variable.other.namespace.thrift"
|
83
|
+
}
|
84
|
+
},
|
85
|
+
"match": "(?<!\\S)((?:cpp|ruby|csharp)_namespace|py_module|(?:java|perl)_package|smalltalk_(?:category|prefix)|cocoa_prefix)(?!\\S)(?:\\s+([a-zA-Z_][\\w.]*))?"
|
86
|
+
},
|
87
|
+
{
|
88
|
+
"begin": "(?=(struct|s?enum|service|const|typedef|exception)\\b)",
|
89
|
+
"comment": "begin the definition list",
|
90
|
+
"end": "(?x)$.^ # this regex should never end",
|
91
|
+
"patterns": [
|
92
|
+
{
|
93
|
+
"include": "#comments"
|
94
|
+
},
|
95
|
+
{
|
96
|
+
"begin": "(?<!\\S)(const)(?!\\S)(?:\\s+(?<ft>map\\s*<\\s*\\g<ft>\\s*,\\s*\\g<ft>\\s*>|set\\s*<\\s*\\g<ft>\\s*>|list\\s*<\\s*\\g<ft>\\s*>\\s*cpp_type|[a-zA-Z_][\\w.]*)(?:\\s+([a-zA-Z_][\\w.]*)(?:\\s*=)?)?)?",
|
97
|
+
"beginCaptures": {
|
98
|
+
"1": {
|
99
|
+
"name": "keyword.other.const.thrift"
|
100
|
+
},
|
101
|
+
"2": {
|
102
|
+
"name": "storage.type.const.thrift"
|
103
|
+
},
|
104
|
+
"3": {
|
105
|
+
"name": "variable.other.const.thrift"
|
106
|
+
}
|
107
|
+
},
|
108
|
+
"end": "$|^",
|
109
|
+
"name": "meta.const.thrift",
|
110
|
+
"patterns": [
|
111
|
+
{
|
112
|
+
"include": "#comments"
|
113
|
+
},
|
114
|
+
{
|
115
|
+
"include": "#value"
|
116
|
+
}
|
117
|
+
]
|
118
|
+
},
|
119
|
+
{
|
120
|
+
"begin": "(?<!\\S)(typedef)(?!\\S)(?:\\s+(?<ft>map\\s*<\\s*\\g<ft>\\s*,\\s*\\g<ft>\\s*>|set\\s*<\\s*\\g<ft>\\s*>|list\\s*<\\s*\\g<ft>\\s*>\\s*cpp_type|[a-zA-Z_][\\w.]*)(?:\\s+([a-zA-Z_][\\w.]*))?)?",
|
121
|
+
"beginCaptures": {
|
122
|
+
"1": {
|
123
|
+
"name": "keyword.other.typedef.thrift"
|
124
|
+
},
|
125
|
+
"2": {
|
126
|
+
"name": "storage.type.typedef.thrift"
|
127
|
+
},
|
128
|
+
"3": {
|
129
|
+
"name": "variable.other.typedef.thrift"
|
130
|
+
}
|
131
|
+
},
|
132
|
+
"end": "$|^",
|
133
|
+
"name": "meta.typedef.thrift",
|
134
|
+
"patterns": [
|
135
|
+
{
|
136
|
+
"include": "#comments"
|
137
|
+
}
|
138
|
+
]
|
139
|
+
},
|
140
|
+
{
|
141
|
+
"begin": "(?<!\\S)(enum)(?!\\S)(?:\\s+([a-zA-Z_][\\w.]*)\\s*(?![^\\s{]))?",
|
142
|
+
"beginCaptures": {
|
143
|
+
"1": {
|
144
|
+
"name": "keyword.other.enum.thrift"
|
145
|
+
},
|
146
|
+
"2": {
|
147
|
+
"name": "entity.name.type.enum.thrift"
|
148
|
+
}
|
149
|
+
},
|
150
|
+
"end": "(?<=\\})|$",
|
151
|
+
"name": "meta.enum.thrift",
|
152
|
+
"patterns": [
|
153
|
+
{
|
154
|
+
"begin": "\\{",
|
155
|
+
"beginCaptures": {
|
156
|
+
"0": {
|
157
|
+
"name": "punctuation.section.enum.begin.thrift"
|
158
|
+
}
|
159
|
+
},
|
160
|
+
"end": "\\}",
|
161
|
+
"endCaptures": {
|
162
|
+
"0": {
|
163
|
+
"name": "punctuation.section.enum.end.thrift"
|
164
|
+
}
|
165
|
+
},
|
166
|
+
"patterns": [
|
167
|
+
{
|
168
|
+
"captures": {
|
169
|
+
"1": {
|
170
|
+
"name": "variable.other.enum.thrift"
|
171
|
+
},
|
172
|
+
"2": {
|
173
|
+
"name": "constant.numeric.integer.thrift"
|
174
|
+
}
|
175
|
+
},
|
176
|
+
"match": "(?<!\\S)([a-zA-Z_][\\w.]*)(?:\\s*=\\s*(\\d*)(?:\\s*[,;])?)?"
|
177
|
+
},
|
178
|
+
{
|
179
|
+
"include": "#comments"
|
180
|
+
},
|
181
|
+
{
|
182
|
+
"match": "\\S",
|
183
|
+
"name": "invalid.illegal.thrift"
|
184
|
+
}
|
185
|
+
]
|
186
|
+
}
|
187
|
+
]
|
188
|
+
},
|
189
|
+
{
|
190
|
+
"begin": "(?<!\\S)(senum)(?!\\S)(?:\\s+([a-zA-Z_][\\w.]*)\\s*(?![^\\s{]))?",
|
191
|
+
"beginCaptures": {
|
192
|
+
"1": {
|
193
|
+
"name": "keyword.other.senum.thrift"
|
194
|
+
},
|
195
|
+
"2": {
|
196
|
+
"name": "entity.name.type.senum.thrift"
|
197
|
+
}
|
198
|
+
},
|
199
|
+
"end": "(?<=\\})|$",
|
200
|
+
"name": "meta.senum.thrift",
|
201
|
+
"patterns": [
|
202
|
+
{
|
203
|
+
"begin": "\\{",
|
204
|
+
"beginCaptures": {
|
205
|
+
"0": {
|
206
|
+
"name": "punctuation.section.senum.begin.thrift"
|
207
|
+
}
|
208
|
+
},
|
209
|
+
"end": "\\}",
|
210
|
+
"endCaptures": {
|
211
|
+
"0": {
|
212
|
+
"name": "punctuation.section.senum.end.thrift"
|
213
|
+
}
|
214
|
+
},
|
215
|
+
"patterns": [
|
216
|
+
{
|
217
|
+
"captures": {
|
218
|
+
"1": {
|
219
|
+
"name": "variable.other.senum.thrift"
|
220
|
+
}
|
221
|
+
},
|
222
|
+
"match": "(?<!\\S)([a-zA-Z_][\\w.]*)(?:\\s*[,;])?"
|
223
|
+
},
|
224
|
+
{
|
225
|
+
"include": "#comments"
|
226
|
+
},
|
227
|
+
{
|
228
|
+
"match": "\\S",
|
229
|
+
"name": "invalid.illegal.thrift"
|
230
|
+
}
|
231
|
+
]
|
232
|
+
}
|
233
|
+
]
|
234
|
+
},
|
235
|
+
{
|
236
|
+
"begin": "(?<!\\S)(struct)(?!\\S)(?:\\s+([a-zA-Z_][\\w.]*)\\s*(?![^\\s{]))?",
|
237
|
+
"beginCaptures": {
|
238
|
+
"1": {
|
239
|
+
"name": "keyword.other.struct.thrift"
|
240
|
+
},
|
241
|
+
"2": {
|
242
|
+
"name": "entity.name.type.struct.thrift"
|
243
|
+
}
|
244
|
+
},
|
245
|
+
"end": "(?<=\\})|$",
|
246
|
+
"name": "meta.struct.thrift",
|
247
|
+
"patterns": [
|
248
|
+
{
|
249
|
+
"match": "(?<!\\S)xsd_all(?!\\S)",
|
250
|
+
"name": "keyword.other.xsd-all.thrift"
|
251
|
+
},
|
252
|
+
{
|
253
|
+
"begin": "\\{",
|
254
|
+
"beginCaptures": {
|
255
|
+
"0": {
|
256
|
+
"name": "punctuation.section.struct.begin.thrift"
|
257
|
+
}
|
258
|
+
},
|
259
|
+
"end": "\\}",
|
260
|
+
"endCaptures": {
|
261
|
+
"0": {
|
262
|
+
"name": "punctuation.section.struct.end.thrift"
|
263
|
+
}
|
264
|
+
},
|
265
|
+
"patterns": [
|
266
|
+
{
|
267
|
+
"include": "#comments"
|
268
|
+
},
|
269
|
+
{
|
270
|
+
"include": "#field"
|
271
|
+
}
|
272
|
+
]
|
273
|
+
}
|
274
|
+
]
|
275
|
+
},
|
276
|
+
{
|
277
|
+
"begin": "(?<!\\S)(exception)(?!\\S)(?:\\s+([a-zA-Z_][\\w.]*)\\s*(?![^\\s{]))?",
|
278
|
+
"beginCaptures": {
|
279
|
+
"1": {
|
280
|
+
"name": "keyword.other.exception.thrift"
|
281
|
+
},
|
282
|
+
"2": {
|
283
|
+
"name": "entity.name.type.exception.thrift"
|
284
|
+
}
|
285
|
+
},
|
286
|
+
"end": "(?<=\\})|$",
|
287
|
+
"name": "meta.exception.thrift",
|
288
|
+
"patterns": [
|
289
|
+
{
|
290
|
+
"begin": "\\{",
|
291
|
+
"beginCaptures": {
|
292
|
+
"0": {
|
293
|
+
"name": "punctuation.section.exception.begin.thrift"
|
294
|
+
}
|
295
|
+
},
|
296
|
+
"end": "\\}",
|
297
|
+
"endCaptures": {
|
298
|
+
"0": {
|
299
|
+
"name": "punctuation.section.exception.end.thrift"
|
300
|
+
}
|
301
|
+
},
|
302
|
+
"patterns": [
|
303
|
+
{
|
304
|
+
"include": "#comments"
|
305
|
+
},
|
306
|
+
{
|
307
|
+
"include": "#field"
|
308
|
+
}
|
309
|
+
]
|
310
|
+
}
|
311
|
+
]
|
312
|
+
},
|
313
|
+
{
|
314
|
+
"begin": "(?<!\\S)(service)(?!\\S)(?:\\s+([a-zA-z_][\\w.]*)(?:\\s+(extends)(?:\\s+([a-zA-Z_][\\w.]*))?)?\\s*(?![^\\s{]))?",
|
315
|
+
"beginCaptures": {
|
316
|
+
"1": {
|
317
|
+
"name": "keyword.other.service.thrift"
|
318
|
+
},
|
319
|
+
"2": {
|
320
|
+
"name": "entity.name.type.service.thrift"
|
321
|
+
},
|
322
|
+
"3": {
|
323
|
+
"name": "keyword.other.service.extends.thrift"
|
324
|
+
},
|
325
|
+
"4": {
|
326
|
+
"name": "entity.other.inherited-class.thrift"
|
327
|
+
}
|
328
|
+
},
|
329
|
+
"end": "(?<=\\})|$",
|
330
|
+
"name": "meta.service.thrift",
|
331
|
+
"patterns": [
|
332
|
+
{
|
333
|
+
"begin": "\\{",
|
334
|
+
"beginCaptures": {
|
335
|
+
"0": {
|
336
|
+
"name": "punctuation.section.service.begin.thrift"
|
337
|
+
}
|
338
|
+
},
|
339
|
+
"end": "\\}",
|
340
|
+
"endCaptures": {
|
341
|
+
"0": {
|
342
|
+
"name": "punctuation.section.service.end.thrift"
|
343
|
+
}
|
344
|
+
},
|
345
|
+
"patterns": [
|
346
|
+
{
|
347
|
+
"include": "#comments"
|
348
|
+
},
|
349
|
+
{
|
350
|
+
"begin": "(?x)(?<!\\S)\n\t\t\t\t\t\t\t\t\t\t\t(async(?!\\S))?\\s*\n\t\t\t\t\t\t\t\t\t\t\t(?<ft>\n\t\t\t\t\t\t\t\t\t\t\t\tmap\\s*<\\s*\\g<ft>\\s*,\\s*\\g<ft>\\s*> |\n\t\t\t\t\t\t\t\t\t\t\t\tset\\s*<\\s*\\g<ft>\\s*> |\n\t\t\t\t\t\t\t\t\t\t\t\tlist\\s*<\\s*\\g<ft>\\s*>\\s*(cpp_type(?!\\S))? |\n\t\t\t\t\t\t\t\t\t\t\t\t(?!async\\b)[a-zA-Z_][\\w.]*\n\t\t\t\t\t\t\t\t\t\t\t)\\s*\n\t\t\t\t\t\t\t\t\t\t\t(?:\n\t\t\t\t\t\t\t\t\t\t\t\t(?<!\\S)([a-zA-Z_][\\w.]*)\\s*(?![^\\s(])\n\t\t\t\t\t\t\t\t\t\t\t)?",
|
351
|
+
"beginCaptures": {
|
352
|
+
"1": {
|
353
|
+
"name": "keyword.other.async.thrift"
|
354
|
+
},
|
355
|
+
"2": {
|
356
|
+
"name": "storage.type.function.thrift"
|
357
|
+
},
|
358
|
+
"3": {
|
359
|
+
"name": "keyword.other.cpp_type.thrift"
|
360
|
+
},
|
361
|
+
"4": {
|
362
|
+
"name": "entity.name.function.thrift"
|
363
|
+
}
|
364
|
+
},
|
365
|
+
"end": "$|^",
|
366
|
+
"name": "meta.service.function.thrift",
|
367
|
+
"patterns": [
|
368
|
+
{
|
369
|
+
"begin": "\\(",
|
370
|
+
"beginCaptures": {
|
371
|
+
"0": {
|
372
|
+
"name": "punctuation.definition.arguments.begin.thrift"
|
373
|
+
}
|
374
|
+
},
|
375
|
+
"end": "\\)",
|
376
|
+
"endCaptures": {
|
377
|
+
"0": {
|
378
|
+
"name": "punctuation.definition.arguments.end.thrift"
|
379
|
+
}
|
380
|
+
},
|
381
|
+
"patterns": [
|
382
|
+
{
|
383
|
+
"include": "#comments"
|
384
|
+
},
|
385
|
+
{
|
386
|
+
"include": "#field"
|
387
|
+
}
|
388
|
+
]
|
389
|
+
},
|
390
|
+
{
|
391
|
+
"begin": "(?<![^\\s)])(throws)(?![^\\s(])",
|
392
|
+
"beginCaptures": {
|
393
|
+
"1": {
|
394
|
+
"name": "keyword.other.service.function.throws.thrift"
|
395
|
+
}
|
396
|
+
},
|
397
|
+
"end": "$",
|
398
|
+
"patterns": [
|
399
|
+
{
|
400
|
+
"begin": "\\(",
|
401
|
+
"beginCaptures": {
|
402
|
+
"0": {
|
403
|
+
"name": "punctuation.definition.arguments.begin.thrift"
|
404
|
+
}
|
405
|
+
},
|
406
|
+
"end": "\\)",
|
407
|
+
"endCaptures": {
|
408
|
+
"0": {
|
409
|
+
"name": "punctuation.definition.arguments.end.thrift"
|
410
|
+
}
|
411
|
+
},
|
412
|
+
"patterns": [
|
413
|
+
{
|
414
|
+
"include": "#comments"
|
415
|
+
},
|
416
|
+
{
|
417
|
+
"include": "#field"
|
418
|
+
}
|
419
|
+
]
|
420
|
+
}
|
421
|
+
]
|
422
|
+
},
|
423
|
+
{
|
424
|
+
"include": "#comments"
|
425
|
+
}
|
426
|
+
]
|
427
|
+
}
|
428
|
+
]
|
429
|
+
}
|
430
|
+
]
|
431
|
+
}
|
432
|
+
]
|
433
|
+
}
|
434
|
+
],
|
435
|
+
"repository": {
|
436
|
+
"comments": {
|
437
|
+
"patterns": [
|
438
|
+
{
|
439
|
+
"captures": {
|
440
|
+
"1": {
|
441
|
+
"name": "punctuation.definition.comment.thrift"
|
442
|
+
}
|
443
|
+
},
|
444
|
+
"match": "(#).*\\n?",
|
445
|
+
"name": "comment.line.number-sign.thrift"
|
446
|
+
},
|
447
|
+
{
|
448
|
+
"captures": {
|
449
|
+
"1": {
|
450
|
+
"name": "punctuation.definition.comment.thrift"
|
451
|
+
}
|
452
|
+
},
|
453
|
+
"match": "(//).*\\n?",
|
454
|
+
"name": "comment.line.double-slash.thrift"
|
455
|
+
},
|
456
|
+
{
|
457
|
+
"begin": "/\\*\\*",
|
458
|
+
"beginCaptures": {
|
459
|
+
"0": {
|
460
|
+
"name": "punctuation.definition.comment.begin.thrift"
|
461
|
+
}
|
462
|
+
},
|
463
|
+
"end": "\\*/",
|
464
|
+
"endCaptures": {
|
465
|
+
"0": {
|
466
|
+
"name": "punctuation.definition.comment.end.thrift"
|
467
|
+
}
|
468
|
+
},
|
469
|
+
"name": "comment.block.documentation.thrift"
|
470
|
+
},
|
471
|
+
{
|
472
|
+
"begin": "/\\*",
|
473
|
+
"beginCaptures": {
|
474
|
+
"0": {
|
475
|
+
"name": "punctuation.definition.comment.begin.thrift"
|
476
|
+
}
|
477
|
+
},
|
478
|
+
"end": "\\*/",
|
479
|
+
"endCaptures": {
|
480
|
+
"0": {
|
481
|
+
"name": "punctuation.definition.comment.end.thrift"
|
482
|
+
}
|
483
|
+
},
|
484
|
+
"name": "comment.block.thrift"
|
485
|
+
}
|
486
|
+
]
|
487
|
+
},
|
488
|
+
"field": {
|
489
|
+
"begin": "(?x)\n\t\t\t\t\t\t(?<![^\\s{(])(?=\\S)\n\t\t\t\t\t\t(\\d+\\s*:)?[ \\t]*\n\t\t\t\t\t\t(?:\t(required|optional)(?!\\S)[ \\t]*\n\t\t\t\t\t\t|\t(?=\\S)(?!=required|optional|\\d)\n\t\t\t\t\t\t)",
|
490
|
+
"beginCaptures": {
|
491
|
+
"1": {
|
492
|
+
"name": "entity.other.field-id.thrift"
|
493
|
+
},
|
494
|
+
"2": {
|
495
|
+
"name": "keyword.other.requiredness.thrift"
|
496
|
+
}
|
497
|
+
},
|
498
|
+
"end": "[,;]|(?=[)#])|$",
|
499
|
+
"endCaptures": {
|
500
|
+
"0": {
|
501
|
+
"name": "punctuation.separator.fields.thrift"
|
502
|
+
}
|
503
|
+
},
|
504
|
+
"name": "meta.field.thrift",
|
505
|
+
"patterns": [
|
506
|
+
{
|
507
|
+
"begin": "(?x)\n\t\t\t\t\t\t\t(?<ft>\n\t\t\t\t\t\t\t\tmap\\s*<\\s*\\g<ft>\\s*,\\s*\\g<ft>\\s*> |\n\t\t\t\t\t\t\t\tset\\s*<\\s*\\g<ft>\\s*> |\n\t\t\t\t\t\t\t\tlist\\s*<\\s*\\g<ft>\\s*>\\s*(cpp_type(?!\\S))? |\n\t\t\t\t\t\t\t\t[a-zA-Z_][\\w.]*\n\t\t\t\t\t\t\t)[ \\t]*\n\t\t\t\t\t\t\t(?:([a-zA-Z_][\\w.]*)[ \\t]*)? # identifier\n\t\t\t\t\t\t\t",
|
508
|
+
"beginCaptures": {
|
509
|
+
"1": {
|
510
|
+
"name": "storage.type.field.thrift"
|
511
|
+
},
|
512
|
+
"2": {
|
513
|
+
"name": "keyword.other.cpp-type.thrift"
|
514
|
+
},
|
515
|
+
"3": {
|
516
|
+
"name": "variable.other.field-name.thrift"
|
517
|
+
}
|
518
|
+
},
|
519
|
+
"end": "(?=[,;]|[)#])|$",
|
520
|
+
"patterns": [
|
521
|
+
{
|
522
|
+
"begin": "=",
|
523
|
+
"end": "(?=[,;]|[)#])|$",
|
524
|
+
"patterns": [
|
525
|
+
{
|
526
|
+
"match": "(?<!\\S)(xsd_optional)\\b",
|
527
|
+
"name": "keyword.other.xsd_optional.thrift"
|
528
|
+
},
|
529
|
+
{
|
530
|
+
"match": "(?<!\\S)(xsd_nillable)\\b",
|
531
|
+
"name": "keyword.other.xsd_nillable.thrift"
|
532
|
+
},
|
533
|
+
{
|
534
|
+
"include": "#value"
|
535
|
+
}
|
536
|
+
]
|
537
|
+
}
|
538
|
+
]
|
539
|
+
}
|
540
|
+
]
|
541
|
+
},
|
542
|
+
"value": {
|
543
|
+
"patterns": [
|
544
|
+
{
|
545
|
+
"match": "[+-]?\\d*\\.\\d+([eE][+-]?\\d+)?",
|
546
|
+
"name": "constant.numeric.float.thrift"
|
547
|
+
},
|
548
|
+
{
|
549
|
+
"match": "[+-]?\\d+",
|
550
|
+
"name": "constant.numeric.integer.thrift"
|
551
|
+
},
|
552
|
+
{
|
553
|
+
"match": "[a-zA-Z_][\\w.]*",
|
554
|
+
"name": "constant.other.const-data.thrift"
|
555
|
+
},
|
556
|
+
{
|
557
|
+
"begin": "'",
|
558
|
+
"beginCaptures": {
|
559
|
+
"0": {
|
560
|
+
"name": "punctuation.definition.string.begin.thrift"
|
561
|
+
}
|
562
|
+
},
|
563
|
+
"end": "'",
|
564
|
+
"endCaptures": {
|
565
|
+
"0": {
|
566
|
+
"name": "punctuation.definition.string.end.thrift"
|
567
|
+
}
|
568
|
+
},
|
569
|
+
"name": "string.quoted.single.thrift"
|
570
|
+
},
|
571
|
+
{
|
572
|
+
"begin": "\"",
|
573
|
+
"beginCaptures": {
|
574
|
+
"0": {
|
575
|
+
"name": "punctuation.definition.string.begin.thrift"
|
576
|
+
}
|
577
|
+
},
|
578
|
+
"end": "\"",
|
579
|
+
"endCaptures": {
|
580
|
+
"0": {
|
581
|
+
"name": "punctuation.definition.string.begin.thrift"
|
582
|
+
}
|
583
|
+
},
|
584
|
+
"name": "string.quoted.double.thrift"
|
585
|
+
},
|
586
|
+
{
|
587
|
+
"begin": "\\[",
|
588
|
+
"beginCaptures": {
|
589
|
+
"0": {
|
590
|
+
"name": "punctuation.definition.array.begin.thrift"
|
591
|
+
}
|
592
|
+
},
|
593
|
+
"end": "\\]",
|
594
|
+
"endCaptures": {
|
595
|
+
"0": {
|
596
|
+
"name": "punctuation.definition.array.end.thrift"
|
597
|
+
}
|
598
|
+
},
|
599
|
+
"name": "meta.array.thrift",
|
600
|
+
"patterns": [
|
601
|
+
{
|
602
|
+
"match": "[,;]"
|
603
|
+
},
|
604
|
+
{
|
605
|
+
"include": "#value"
|
606
|
+
}
|
607
|
+
]
|
608
|
+
},
|
609
|
+
{
|
610
|
+
"begin": "\\{",
|
611
|
+
"beginCaptures": {
|
612
|
+
"0": {
|
613
|
+
"name": "punctuation.definition.map.begin.thrift"
|
614
|
+
}
|
615
|
+
},
|
616
|
+
"end": "\\}",
|
617
|
+
"endCaptures": {
|
618
|
+
"0": {
|
619
|
+
"name": "punctuation.definition.map.end.thrift"
|
620
|
+
}
|
621
|
+
},
|
622
|
+
"name": "meta.map.thrift",
|
623
|
+
"patterns": [
|
624
|
+
{
|
625
|
+
"match": "[:,;]"
|
626
|
+
},
|
627
|
+
{
|
628
|
+
"include": "#value"
|
629
|
+
}
|
630
|
+
]
|
631
|
+
},
|
632
|
+
{
|
633
|
+
"match": "\\S",
|
634
|
+
"name": "invalid.illegal.thrift"
|
635
|
+
}
|
636
|
+
]
|
637
|
+
}
|
638
|
+
},
|
639
|
+
"scopeName": "source.thrift",
|
640
|
+
"uuid": "9E5704AC-54ED-4D7C-946C-6DC3727BDC4C"
|
641
|
+
}
|