ver 2010.02 → 2010.08
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/.yardopts +1 -1
- data/AUTHORS +2 -2
- data/CHANGELOG +1160 -0
- data/MANIFEST +212 -62
- data/README.textile +68 -9
- data/Rakefile +2 -2
- data/bin/ver +33 -8
- data/config/commands/ANTLR.rb +11 -0
- data/config/commands/ActionScript.rb +102 -0
- data/config/commands/Active4D.rb +30 -0
- data/config/commands/Ada.rb +11 -0
- data/config/commands/Ant.rb +90 -0
- data/config/commands/Apache.rb +98 -0
- data/config/commands/AppleScript.rb +169 -0
- data/config/commands/Blogging.rb +72 -0
- data/config/commands/Bulletin Board.rb +10 -0
- data/config/commands/Bundle Development.rb +83 -0
- data/config/commands/C++ Qt.rb +158 -0
- data/config/commands/C.rb +82 -0
- data/config/commands/CMake.rb +32 -0
- data/config/commands/CSS.rb +76 -0
- data/config/commands/CTags.rb +29 -0
- data/config/commands/CVS.rb +114 -0
- data/config/commands/CoffeeScript.rb +58 -0
- data/config/commands/Context Free.rb +20 -0
- data/config/commands/Cucumber.rb +94 -0
- data/config/commands/D.rb +47 -0
- data/config/commands/Darcs.rb +72 -0
- data/config/commands/Diff.rb +76 -0
- data/config/commands/Doxygen.rb +9 -0
- data/config/commands/Experimental Wiki.rb +9 -0
- data/config/commands/Experimental.rb +172 -0
- data/config/commands/F-Script.rb +13 -0
- data/config/commands/FXScript.rb +11 -0
- data/config/commands/FileMerge.rb +42 -0
- data/config/commands/Fortran.rb +58 -0
- data/config/commands/GTD2.rb +134 -0
- data/config/commands/GTDAlt.rb +225 -0
- data/config/commands/GetBundle.rb +41 -0
- data/config/commands/Go.rb +29 -0
- data/config/commands/Graphviz.rb +11 -0
- data/config/commands/Greasemonkey.rb +158 -0
- data/config/commands/Gri.rb +11 -0
- data/config/commands/Groovy Grails.rb +174 -0
- data/config/commands/Groovy.rb +66 -0
- data/config/commands/HTML.rb +206 -0
- data/config/commands/Haskell.rb +48 -0
- data/config/commands/Hotkey.rb +50 -0
- data/config/commands/Hyperlink Helper.rb +81 -0
- data/config/commands/ImageBrowser.rb +10 -0
- data/config/commands/Io.rb +11 -0
- data/config/commands/JSFL.rb +29 -0
- data/config/commands/JSON.rb +11 -0
- data/config/commands/Java.rb +45 -0
- data/config/commands/JavaDoc.rb +12 -0
- data/config/commands/JavaScript Prototype & Script.aculo.us.rb +51 -0
- data/config/commands/JavaScript YUI.rb +12 -0
- data/config/commands/JavaScript jQuery.rb +12 -0
- data/config/commands/JavaScript.rb +50 -0
- data/config/commands/LaTeX.rb +423 -0
- data/config/commands/Lisp.rb +20 -0
- data/config/commands/Logo.rb +10 -0
- data/config/commands/Logtalk.rb +34 -0
- data/config/commands/Lua.rb +29 -0
- data/config/commands/MEL.rb +20 -0
- data/config/commands/Mail.rb +73 -0
- data/config/commands/Make.rb +20 -0
- data/config/commands/Man Pages.rb +20 -0
- data/config/commands/Markdown.rb +194 -0
- data/config/commands/Math.rb +79 -0
- data/config/commands/Matlab.rb +188 -0
- data/config/commands/Maven.rb +162 -0
- data/config/commands/Mediawiki.rb +12 -0
- data/config/commands/Mercurial.rb +185 -0
- data/config/commands/MoinMoin.rb +74 -0
- data/config/commands/Movable Type.rb +68 -0
- data/config/commands/Nemerle.rb +29 -0
- data/config/commands/OCaml Experimental Completions.rb +22 -0
- data/config/commands/OCaml.rb +99 -0
- data/config/commands/Objective-C.rb +181 -0
- data/config/commands/Outlines.rb +54 -0
- data/config/commands/PHP Smarty.rb +10 -0
- data/config/commands/Pascal.rb +11 -0
- data/config/commands/Perforce.rb +102 -0
- data/config/commands/Perl.rb +78 -0
- data/config/commands/Processing.rb +11 -0
- data/config/commands/Prolog.rb +11 -0
- data/config/commands/Property List.rb +38 -0
- data/config/commands/Python Django.rb +11 -0
- data/config/commands/Python.rb +131 -0
- data/config/commands/R Console (R.app).rb +80 -0
- data/config/commands/R Console (Rdaemon).rb +414 -0
- data/config/commands/R.rb +337 -0
- data/config/commands/Ragel.rb +10 -0
- data/config/commands/Regular Expressions.rb +18 -0
- data/config/commands/Remind.rb +44 -0
- data/config/commands/Ruby RSpec.rb +40 -0
- data/config/commands/Ruby on Rails.rb +331 -0
- data/config/commands/Ruby.rb +220 -0
- data/config/commands/S5 Slide Show.rb +37 -0
- data/config/commands/SCons.rb +24 -0
- data/config/commands/SQL.rb +60 -0
- data/config/commands/SVK.rb +83 -0
- data/config/commands/SWeave.rb +63 -0
- data/config/commands/Scheme.rb +30 -0
- data/config/commands/Scilab.rb +28 -0
- data/config/commands/Setext.rb +20 -0
- data/config/commands/Shell Script.rb +59 -0
- data/config/commands/Slate.rb +9 -0
- data/config/commands/Source.rb +84 -0
- data/config/commands/Standard ML.rb +38 -0
- data/config/commands/Subversion.rb +181 -0
- data/config/commands/TODO.rb +32 -0
- data/config/commands/Tcl.rb +21 -0
- data/config/commands/TerminalMate.rb +30 -0
- data/config/commands/Text.rb +137 -0
- data/config/commands/TextMate.rb +100 -0
- data/config/commands/Textile.rb +58 -0
- data/config/commands/Thrift.rb +20 -0
- data/config/commands/Transmit.rb +34 -0
- data/config/commands/Txt2tags.rb +213 -0
- data/config/commands/Vectorscript.rb +19 -0
- data/config/commands/Widget Creator.rb +23 -0
- data/config/commands/XML.rb +29 -0
- data/config/commands/Xcode.rb +106 -0
- data/config/commands/YAML.rb +39 -0
- data/config/commands/YARD.rb +12 -0
- data/config/commands/iTerm.rb +26 -0
- data/config/commands/reStructuredText.rb +126 -0
- data/config/detect.rb +13 -1
- data/config/keymap/diakonos.rb +113 -115
- data/config/keymap/emacs.rb +6 -2
- data/config/keymap/nano.rb +104 -112
- data/config/keymap/vim.rb +329 -258
- data/config/plugin/autosave.rb +3 -6
- data/config/plugin/git.rb +18 -12
- data/config/plugin/soma.rb +1 -1
- data/config/preferences/Apache.rb +17 -17
- data/config/preferences/AppleScript.rb +5 -5
- data/config/preferences/Bundle Development.rb +10 -10
- data/config/preferences/C.rb +38 -30
- data/config/preferences/CoffeeScript.rb +28 -0
- data/config/preferences/ColdFusion.rb +6 -6
- data/config/preferences/Cucumber.rb +40 -0
- data/config/preferences/Diff.rb +4 -4
- data/config/preferences/Eiffel.rb +6 -6
- data/config/preferences/Erlang.rb +16 -16
- data/config/preferences/F-Script.rb +12 -12
- data/config/preferences/FXScript.rb +5 -5
- data/config/preferences/Fortran.rb +17 -17
- data/config/preferences/Go.rb +23 -0
- data/config/preferences/Groovy.rb +29 -0
- data/config/preferences/HTML.rb +44 -44
- data/config/preferences/Haskell.rb +14 -14
- data/config/preferences/Io.rb +11 -11
- data/config/preferences/Java.rb +8 -8
- data/config/preferences/LaTeX.rb +24 -24
- data/config/preferences/Logo.rb +6 -6
- data/config/preferences/Logtalk.rb +5 -5
- data/config/preferences/Markdown.rb +43 -0
- data/config/preferences/Maven.rb +42 -42
- data/config/preferences/Mediawiki.rb +8 -8
- data/config/preferences/Movable Type.rb +14 -14
- data/config/preferences/OCaml.rb +15 -15
- data/config/preferences/Objective-C.rb +5 -5
- data/config/preferences/PHP.rb +2564 -0
- data/config/preferences/Property List.rb +8 -8
- data/config/preferences/R.rb +5 -5
- data/config/preferences/Ruby.rb +24 -24
- data/config/preferences/Source.rb +13 -13
- data/config/preferences/Standard ML.rb +9 -9
- data/config/preferences/Tcl.rb +5 -5
- data/config/preferences/Text.rb +14 -14
- data/config/preferences/TextMate.rb +5 -5
- data/config/preferences/Textile.rb +8 -8
- data/config/preferences/YARD.rb +9 -0
- data/config/preferences/iTerm.rb +9 -9
- data/config/rc.rb +5 -2
- data/config/snippets/ASP vb.NET.rb +203 -54
- data/config/snippets/ASP.rb +51 -36
- data/config/snippets/ActionScript.rb +332 -205
- data/config/snippets/Active4D.rb +325 -256
- data/config/snippets/Ada.rb +106 -60
- data/config/snippets/Ant.rb +7 -5
- data/config/snippets/Apache.rb +24 -20
- data/config/snippets/AppleScript.rb +213 -82
- data/config/snippets/Blogging.rb +41 -18
- data/config/snippets/Bulletin Board.rb +56 -21
- data/config/snippets/Bundle Development.rb +108 -63
- data/config/snippets/C++ Qt.rb +72 -57
- data/config/snippets/C.rb +128 -100
- data/config/snippets/CMake.rb +42 -32
- data/config/snippets/CSS.rb +515 -115
- data/config/snippets/CoffeeScript.rb +85 -0
- data/config/snippets/ColdFusion.rb +2228 -1547
- data/config/snippets/Context Free.rb +35 -28
- data/config/snippets/Cucumber.rb +55 -0
- data/config/snippets/D.rb +164 -111
- data/config/snippets/DokuWiki.rb +103 -54
- data/config/snippets/Doxygen.rb +87 -40
- data/config/snippets/Eiffel.rb +121 -18
- data/config/snippets/Erlang.rb +109 -68
- data/config/snippets/F-Script.rb +30 -24
- data/config/snippets/FXScript.rb +364 -210
- data/config/snippets/Fortran.rb +462 -280
- data/config/snippets/GTDAlt.rb +10 -4
- data/config/snippets/Gettext.rb +10 -8
- data/config/snippets/Go.rb +52 -0
- data/config/snippets/Greasemonkey.rb +52 -42
- data/config/snippets/Gri.rb +12 -10
- data/config/snippets/Groovy Grails.rb +313 -0
- data/config/snippets/Groovy.rb +685 -0
- data/config/snippets/HTML.rb +325 -126
- data/config/snippets/Haskell.rb +32 -24
- data/config/snippets/Io.rb +53 -42
- data/config/snippets/Java.rb +204 -92
- data/config/snippets/JavaDoc.rb +105 -56
- data/config/snippets/JavaScript MooTools.rb +208 -13
- data/config/snippets/JavaScript Objective-J.rb +18 -15
- data/config/snippets/JavaScript Prototype & Script.aculo.us.rb +362 -107
- data/config/snippets/JavaScript YUI.rb +1245 -186
- data/config/snippets/JavaScript jQuery.rb +693 -375
- data/config/snippets/JavaScript.rb +71 -53
- data/config/snippets/LaTeX.rb +188 -0
- data/config/snippets/Lisp.rb +59 -40
- data/config/snippets/Logo.rb +12 -6
- data/config/snippets/Logtalk.rb +131 -60
- data/config/snippets/Lua.rb +43 -33
- data/config/snippets/MIPS Assembler.rb +7 -5
- data/config/snippets/Mail.rb +10 -1
- data/config/snippets/Markdown.rb +7 -0
- data/config/snippets/Matlab.rb +232 -178
- data/config/snippets/Maven.rb +6 -5
- data/config/snippets/Mediawiki.rb +43 -12
- data/config/snippets/MoinMoin.rb +50 -10
- data/config/snippets/Movable Type.rb +368 -53
- data/config/snippets/Nemerle.rb +127 -79
- data/config/snippets/OCaml Code Completion Misc.rb +1716 -72
- data/config/snippets/OCaml Code Completion Unix.rb +2128 -203
- data/config/snippets/OCaml.rb +107 -73
- data/config/snippets/ODCompletion.rb +169 -118
- data/config/snippets/Objective-C.rb +281 -193
- data/config/snippets/PHP Smarty.rb +149 -79
- data/config/snippets/PHP.rb +186 -0
- data/config/snippets/Pascal.rb +47 -33
- data/config/snippets/Perl HTML-Template.rb +33 -0
- data/config/snippets/Perl Mason.rb +50 -30
- data/config/snippets/Perl Template Toolkit.rb +25 -20
- data/config/snippets/Perl.rb +91 -72
- data/config/snippets/Processing.rb +55 -33
- data/config/snippets/Propel.rb +36 -30
- data/config/snippets/Property List.rb +57 -24
- data/config/snippets/Python Django Templates.rb +381 -95
- data/config/snippets/Python Django.rb +159 -132
- data/config/snippets/Python.rb +88 -0
- data/config/snippets/R Console (Rdaemon).rb +11 -9
- data/config/snippets/R.rb +96 -77
- data/config/snippets/Remind.rb +18 -15
- data/config/snippets/Ruby RSpec.rb +343 -238
- data/config/snippets/Ruby on Rails.rb +1116 -765
- data/config/snippets/Ruby.rb +770 -545
- data/config/snippets/S5 Slide Show.rb +32 -24
- data/config/snippets/SSH Config.rb +21 -17
- data/config/snippets/SWIG.rb +30 -18
- data/config/snippets/Scilab.rb +98 -79
- data/config/snippets/Setext.rb +10 -8
- data/config/snippets/Shell Script.rb +52 -42
- data/config/snippets/Slate.rb +62 -48
- data/config/snippets/Source.rb +24 -1
- data/config/snippets/Standard ML.rb +37 -27
- data/config/snippets/Tcl.rb +32 -26
- data/config/snippets/Text.rb +28 -15
- data/config/snippets/Textile.rb +130 -45
- data/config/snippets/Thrift.rb +22 -18
- data/config/snippets/Twiki.rb +158 -105
- data/config/snippets/Txt2tags.rb +166 -79
- data/config/snippets/Vectorscript.rb +47 -38
- data/config/snippets/Widget Creator.rb +5 -5
- data/config/snippets/XML.rb +30 -18
- data/config/snippets/YAML.rb +5 -4
- data/config/snippets/YARD.rb +93 -0
- data/config/snippets/reStructuredText.rb +25 -20
- data/config/syntax/ANTLR.rb +17 -15
- data/config/syntax/ASP vb.NET.rb +27 -24
- data/config/syntax/ASP.rb +21 -19
- data/config/syntax/ActionScript.rb +16 -16
- data/config/syntax/Active4D Config.rb +5 -5
- data/config/syntax/Active4D Library.rb +2 -2
- data/config/syntax/Active4D.rb +32 -30
- data/config/syntax/Ada.rb +13 -10
- data/config/syntax/Ant.rb +9 -7
- data/config/syntax/Apache.rb +22 -18
- data/config/syntax/AppleScript.rb +486 -192
- data/config/syntax/AsciiDoc.rb +21 -0
- data/config/syntax/BibTeX.rb +7 -7
- data/config/syntax/Blog - HTML.rb +7 -7
- data/config/syntax/Blog - Markdown.rb +6 -6
- data/config/syntax/Blog - Text.rb +2 -2
- data/config/syntax/Blog - Textile.rb +2 -2
- data/config/syntax/Bulletin Board.rb +33 -32
- data/config/syntax/C++ Qt.rb +7 -6
- data/config/syntax/C++.rb +31 -28
- data/config/syntax/C.rb +55 -51
- data/config/syntax/CMake Listfile.rb +12 -11
- data/config/syntax/CSS.rb +24 -23
- data/config/syntax/CSV.rb +3 -3
- data/config/syntax/CoffeeScript.rb +161 -0
- data/config/syntax/ColdFusion.rb +8 -8
- data/config/syntax/Context Free.rb +18 -16
- data/config/syntax/Cucumber Steps.rb +108 -0
- data/config/syntax/D.rb +70 -69
- data/config/syntax/Diff.rb +13 -10
- data/config/syntax/DokuWiki.rb +22 -18
- data/config/syntax/Doxygen.rb +1 -1
- data/config/syntax/Dylan.rb +8 -8
- data/config/syntax/Eiffel.rb +12 -12
- data/config/syntax/Erlang.rb +96 -89
- data/config/syntax/F-Script.rb +11 -9
- data/config/syntax/FXScript.rb +16 -14
- data/config/syntax/Fortran - Modern.rb +25 -24
- data/config/syntax/Fortran - Punchcard.rb +43 -40
- data/config/syntax/GTD.rb +1 -1
- data/config/syntax/GTDalt.rb +14 -11
- data/config/syntax/Gettext.rb +10 -9
- data/config/syntax/Gherkin.rb +65 -0
- data/config/syntax/Go.rb +256 -0
- data/config/syntax/Grails Server Page.rb +108 -0
- data/config/syntax/Graphviz (DOT).rb +6 -6
- data/config/syntax/Greasemonkey.rb +3 -3
- data/config/syntax/Gri.rb +12 -12
- data/config/syntax/Groovy.rb +502 -0
- data/config/syntax/HTML (ASP).rb +3 -3
- data/config/syntax/HTML (ASP.net).rb +31 -31
- data/config/syntax/HTML (Active4D).rb +19 -19
- data/config/syntax/HTML (Django).rb +6 -6
- data/config/syntax/HTML (Erlang).rb +4 -4
- data/config/syntax/HTML (Mason).rb +13 -13
- data/config/syntax/HTML (Rails).rb +5 -5
- data/config/syntax/HTML (Tcl).rb +3 -3
- data/config/syntax/HTML (Template Toolkit).rb +9 -9
- data/config/syntax/HTML.rb +27 -27
- data/config/syntax/Haskell.rb +31 -28
- data/config/syntax/Inform.rb +5 -5
- data/config/syntax/Ini.rb +4 -4
- data/config/syntax/Installer Distribution Script.rb +19 -18
- data/config/syntax/Io.rb +17 -15
- data/config/syntax/JSFL.rb +7 -6
- data/config/syntax/Java Properties.rb +3 -3
- data/config/syntax/Java Server Page (JSP).rb +5 -4
- data/config/syntax/Java.rb +40 -33
- data/config/syntax/JavaDoc.rb +24 -22
- data/config/syntax/JavaScript (Rails).rb +1 -1
- data/config/syntax/JavaScript.rb +41 -34
- data/config/syntax/Javascript YUI.rb +109 -101
- data/config/syntax/LaTeX Beamer.rb +3 -3
- data/config/syntax/LaTeX Log.rb +3 -3
- data/config/syntax/LaTeX Memoir.rb +7 -5
- data/config/syntax/LaTeX Rdaemon.rb +1 -1
- data/config/syntax/LaTeX.rb +52 -47
- data/config/syntax/Language Grammar.rb +58 -55
- data/config/syntax/Lex-Flex.rb +13 -13
- data/config/syntax/Lighttpd.rb +7 -7
- data/config/syntax/Lisp.rb +6 -5
- data/config/syntax/Literate Haskell.rb +2 -2
- data/config/syntax/Logo.rb +4 -4
- data/config/syntax/Logtalk.rb +64 -49
- data/config/syntax/Lua.rb +12 -12
- data/config/syntax/MATLAB.rb +71 -70
- data/config/syntax/MEL.rb +16 -15
- data/config/syntax/MIPS Assembler.rb +11 -11
- data/config/syntax/MacPorts Portfile.rb +16 -15
- data/config/syntax/Mail.rb +5 -4
- data/config/syntax/Makefile.rb +3 -3
- data/config/syntax/Man.rb +2 -2
- data/config/syntax/Markdown.rb +440 -0
- data/config/syntax/Maven POM.rb +17 -16
- data/config/syntax/Mediawiki.rb +46 -46
- data/config/syntax/Modula-3.rb +7 -6
- data/config/syntax/MoinMoin.rb +16 -16
- data/config/syntax/MooTools.rb +75 -65
- data/config/syntax/Movable Type (MT only).rb +18 -18
- data/config/syntax/Movable Type.rb +20 -20
- data/config/syntax/MultiMarkdown.rb +35 -0
- data/config/syntax/Nemerle.rb +12 -12
- data/config/syntax/OCaml.rb +79 -71
- data/config/syntax/OCamllex.rb +14 -14
- data/config/syntax/OCamlyacc.rb +14 -12
- data/config/syntax/Objective-C++.rb +2 -2
- data/config/syntax/Objective-C.rb +76 -70
- data/config/syntax/Objective-J.rb +30 -29
- data/config/syntax/Octave.rb +27 -27
- data/config/syntax/OpenGL.rb +4 -4
- data/config/syntax/PHP.rb +1154 -0
- data/config/syntax/Pascal.rb +8 -8
- data/config/syntax/Perl HTML-Template.rb +5 -5
- data/config/syntax/Perl.rb +80 -76
- data/config/syntax/Plain Text.rb +5 -5
- data/config/syntax/Postscript.rb +6 -6
- data/config/syntax/Processing.rb +20 -20
- data/config/syntax/Prolog.rb +2 -2
- data/config/syntax/Property List.rb +50 -47
- data/config/syntax/Prototype & Script.aculo.us (JavaScript) Bracketed.rb +15 -13
- data/config/syntax/Prototype & Script.aculo.us (JavaScript).rb +9 -8
- data/config/syntax/Python Django.rb +6 -6
- data/config/syntax/Python.rb +94 -87
- data/config/syntax/Quake Style .cfg.rb +4 -4
- data/config/syntax/R Console (Rdaemon) Plain.rb +2 -2
- data/config/syntax/R Console (Rdaemon).rb +2 -2
- data/config/syntax/R.rb +21 -20
- data/config/syntax/RSpec.rb +15 -15
- data/config/syntax/Ragel.rb +14 -13
- data/config/syntax/Rd (R Documentation).rb +4 -4
- data/config/syntax/Regular Expressions (Oniguruma).rb +11 -10
- data/config/syntax/Regular Expressions (Python).rb +9 -9
- data/config/syntax/Release Notes.rb +7 -6
- data/config/syntax/Remind.rb +19 -17
- data/config/syntax/Rez.rb +10 -9
- data/config/syntax/Ruby Haml.rb +11 -11
- data/config/syntax/Ruby on Rails.rb +26 -24
- data/config/syntax/Ruby.rb +73 -71
- data/config/syntax/S5 Slide Show.rb +9 -9
- data/config/syntax/SQL.rb +29 -27
- data/config/syntax/SSH Config.rb +4 -4
- data/config/syntax/SWIG.rb +12 -11
- data/config/syntax/SWeave.rb +8 -7
- data/config/syntax/Scheme.rb +56 -54
- data/config/syntax/Scilab.rb +7 -6
- data/config/syntax/Setext.rb +14 -13
- data/config/syntax/Shell Script (Bash).rb +42 -42
- data/config/syntax/Slate.rb +24 -19
- data/config/syntax/Smarty.rb +11 -10
- data/config/syntax/Standard ML - CM.rb +2 -2
- data/config/syntax/Standard ML.rb +26 -23
- data/config/syntax/Strings File.rb +6 -6
- data/config/syntax/TSV.rb +2 -2
- data/config/syntax/Tcl.rb +10 -9
- data/config/syntax/TeX Math.rb +7 -6
- data/config/syntax/TeX.rb +7 -7
- data/config/syntax/Textile.rb +33 -27
- data/config/syntax/Thrift.rb +37 -29
- data/config/syntax/Twiki.rb +19 -18
- data/config/syntax/Txt2tags.rb +26 -23
- data/config/syntax/Vectorscript.rb +9 -7
- data/config/syntax/XML strict.rb +6 -4
- data/config/syntax/XML.rb +55 -30
- data/config/syntax/XSL.rb +5 -5
- data/config/syntax/YAML.rb +14 -12
- data/config/syntax/camlp4.rb +5 -5
- data/config/syntax/iCalendar.rb +3 -3
- data/config/syntax/jQuery (JavaScript).rb +9 -9
- data/config/syntax/mod_perl.rb +6 -6
- data/config/syntax/qmake Project file.rb +16 -15
- data/config/syntax/reStructuredText.rb +23 -21
- data/config/syntax/svn-commit.tmp.rb +5 -5
- data/lib/ver.rb +169 -85
- data/lib/ver/action.rb +39 -30
- data/lib/ver/buffer.rb +962 -144
- data/lib/ver/buffer/frame.rb +23 -0
- data/lib/ver/buffer/invalid_trailing_whitespace.rb +17 -0
- data/lib/ver/buffer/markup_underline_link.rb +30 -0
- data/lib/ver/buffer/matching_brace.rb +22 -0
- data/lib/ver/buffer/term.rb +1 -1
- data/lib/ver/clipboard.rb +107 -0
- data/lib/ver/digraphs.rb +1373 -0
- data/lib/ver/entry.rb +54 -43
- data/lib/ver/event.rb +335 -0
- data/lib/ver/exception_view.rb +3 -1
- data/lib/ver/executor.rb +7 -7
- data/lib/ver/executor/buffer.rb +4 -4
- data/lib/ver/executor/encoding.rb +19 -0
- data/lib/ver/executor/entry.rb +9 -9
- data/lib/ver/executor/fuzzy_file_finder.rb +1 -1
- data/lib/ver/executor/label.rb +2 -0
- data/lib/ver/executor/method.rb +2 -3
- data/lib/ver/help/describe_key.rb +44 -44
- data/lib/ver/hover_completion.rb +11 -6
- data/lib/ver/keymap.rb +68 -39
- data/lib/ver/layout/paned.rb +56 -44
- data/lib/ver/layout/toplevel.rb +68 -0
- data/lib/ver/layout/vim.rb +919 -0
- data/lib/ver/major_mode.rb +49 -49
- data/lib/ver/methods.rb +22 -25
- data/lib/ver/methods/basic.rb +49 -20
- data/lib/ver/methods/bookmark.rb +33 -33
- data/lib/ver/methods/clipboard.rb +186 -49
- data/lib/ver/methods/completion.rb +5 -5
- data/lib/ver/methods/control.rb +47 -66
- data/lib/ver/methods/delete.rb +5 -122
- data/lib/ver/methods/help.rb +2 -2
- data/lib/ver/methods/insert.rb +101 -29
- data/lib/ver/methods/layout.rb +62 -64
- data/lib/ver/methods/macro.rb +45 -0
- data/lib/ver/methods/move.rb +63 -349
- data/lib/ver/methods/nano.rb +99 -71
- data/lib/ver/methods/open.rb +8 -7
- data/lib/ver/methods/preview.rb +34 -14
- data/lib/ver/methods/save.rb +194 -163
- data/lib/ver/methods/search.rb +169 -81
- data/lib/ver/methods/search_and_replace.rb +62 -49
- data/lib/ver/methods/selection.rb +26 -54
- data/lib/ver/methods/snippet.rb +79 -54
- data/lib/ver/methods/undo.rb +12 -16
- data/lib/ver/minibuffer.rb +283 -134
- data/lib/ver/minor_mode.rb +36 -47
- data/lib/ver/mode_resolving.rb +71 -0
- data/lib/ver/platform.rb +41 -0
- data/lib/ver/plist.rb +16 -4
- data/lib/ver/register.rb +86 -0
- data/lib/ver/status.rb +44 -6
- data/lib/ver/status/battery.rb +1 -1
- data/lib/ver/status/buffer_position.rb +2 -2
- data/lib/ver/status/diakonos_position.rb +3 -3
- data/lib/ver/status/encoding.rb +1 -1
- data/lib/ver/status/filename.rb +1 -1
- data/lib/ver/status/label.rb +20 -20
- data/lib/ver/status/mode.rb +1 -1
- data/lib/ver/status/nano_help.rb +3 -14
- data/lib/ver/status/nano_position.rb +6 -6
- data/lib/ver/status/percent.rb +2 -2
- data/lib/ver/status/position.rb +2 -2
- data/lib/ver/status/short_filename.rb +1 -1
- data/lib/ver/status/syntax.rb +1 -1
- data/lib/ver/struct.rb +28 -0
- data/lib/ver/syntax/processor.rb +2 -1
- data/lib/ver/text.rb +48 -520
- data/lib/ver/text/end.rb +14 -0
- data/lib/ver/text/index.rb +16 -101
- data/lib/ver/text/insert.rb +138 -0
- data/lib/ver/text/mark.rb +559 -0
- data/lib/ver/text/position.rb +240 -0
- data/lib/ver/text/range.rb +74 -0
- data/lib/ver/text/selection.rb +402 -0
- data/lib/ver/text/selection/block.rb +69 -0
- data/lib/ver/text/selection/char.rb +93 -0
- data/lib/ver/text/selection/line.rb +64 -0
- data/lib/ver/text/tag.rb +322 -0
- data/lib/ver/undo.rb +109 -34
- data/lib/ver/vendor/eval_completer.rb +184 -0
- data/lib/ver/vendor/json_store.rb +23 -0
- data/lib/ver/vendor/open3.rb +729 -0
- data/lib/ver/vendor/pathname.rb +73 -0
- data/lib/ver/vendor/textpow.rb +1 -1
- data/lib/ver/version.rb +1 -1
- data/lib/ver/widget_event.rb +9 -5
- data/lib/ver/widget_major_mode.rb +69 -23
- data/spec/helper.rb +124 -8
- data/spec/ver/action.rb +160 -46
- data/spec/ver/buffer.rb +23 -0
- data/spec/ver/clipboard.rb +92 -0
- data/spec/ver/keymap.rb +63 -61
- data/spec/ver/keymap/diakonos.rb +88 -0
- data/spec/ver/keymap/emacs.rb +65 -0
- data/spec/ver/keymap/general.rb +98 -0
- data/spec/ver/keymap/nano.rb +84 -0
- data/spec/ver/keymap/vim.rb +205 -0
- data/spec/ver/keymap/vim/changing_text.rb +489 -0
- data/spec/ver/keymap/vim/complex_changes.rb +53 -0
- data/spec/ver/keymap/vim/copying_and_moving_text.rb +258 -0
- data/spec/ver/keymap/vim/deleting_text.rb +188 -0
- data/spec/ver/keymap/vim/digraphs.rb +52 -0
- data/spec/ver/keymap/vim/external_commands.rb +21 -0
- data/spec/ver/keymap/vim/inserting_mode_keys.rb +115 -0
- data/spec/ver/keymap/vim/inserting_mode_special.rb +168 -0
- data/spec/ver/keymap/vim/inserting_text.rb +108 -0
- data/spec/ver/keymap/vim/left_right_motion.rb +120 -0
- data/spec/ver/keymap/vim/mark_motion.rb +73 -0
- data/spec/ver/keymap/vim/repeating_commands.rb +64 -0
- data/spec/ver/keymap/vim/text_object_motion.rb +137 -0
- data/spec/ver/keymap/vim/text_objects.rb +101 -0
- data/spec/ver/keymap/vim/undo_redo.rb +21 -0
- data/spec/ver/keymap/vim/up_down_motion.rb +94 -0
- data/spec/ver/keymap/vim/various_motion.rb +33 -0
- data/spec/ver/keysyms.rb +13 -0
- data/spec/ver/major_mode.rb +37 -37
- data/spec/ver/minor_mode.rb +21 -20
- data/spec/ver/plugin/smart_autoindent.rb +2 -2
- data/spec/ver/text/index.rb +122 -0
- data/spec/ver/text/insert.rb +299 -0
- data/spec/ver/text/mark.rb +94 -0
- data/spec/ver/text/range.rb +71 -0
- data/spec/ver/text/selection.rb +315 -0
- data/spec/ver/text/tag.rb +93 -0
- data/spec/ver/undo.rb +133 -0
- data/spec/ver/undo/record_sanitize.rb +85 -0
- data/spec/ver/vendor/eval_completer.rb +91 -0
- data/spec/ver/widget_major_mode.rb +4 -3
- data/ver.gemspec +8 -8
- metadata +234 -72
- data/.todo +0 -102
- data/ROADMAP.textile +0 -187
- data/config/snippets/ANTLR.rb +0 -3
- data/config/snippets/Bison.rb +0 -3
- data/config/snippets/CTags.rb +0 -3
- data/config/snippets/CVS.rb +0 -3
- data/config/snippets/Darcs.rb +0 -3
- data/config/snippets/Diff.rb +0 -3
- data/config/snippets/Dylan.rb +0 -3
- data/config/snippets/Experimental Wiki.rb +0 -3
- data/config/snippets/Experimental.rb +0 -3
- data/config/snippets/FileMerge.rb +0 -3
- data/config/snippets/GTD2.rb +0 -3
- data/config/snippets/GetBundle.rb +0 -3
- data/config/snippets/Graphviz.rb +0 -3
- data/config/snippets/Hotkey.rb +0 -3
- data/config/snippets/Hyperlink Helper.rb +0 -3
- data/config/snippets/ImageBrowser.rb +0 -3
- data/config/snippets/Inform.rb +0 -3
- data/config/snippets/Ini.rb +0 -3
- data/config/snippets/Installer.rb +0 -3
- data/config/snippets/JSFL.rb +0 -3
- data/config/snippets/JSON.rb +0 -3
- data/config/snippets/Lex-Flex.rb +0 -3
- data/config/snippets/Lighttpd.rb +0 -3
- data/config/snippets/MEL.rb +0 -3
- data/config/snippets/MacPorts.rb +0 -3
- data/config/snippets/Make.rb +0 -3
- data/config/snippets/Man Pages.rb +0 -3
- data/config/snippets/Math.rb +0 -3
- data/config/snippets/Mercurial.rb +0 -3
- data/config/snippets/Modula.rb +0 -3
- data/config/snippets/Navigation.rb +0 -3
- data/config/snippets/OCaml Experimental Completions.rb +0 -3
- data/config/snippets/OpenGL.rb +0 -3
- data/config/snippets/Outlines.rb +0 -3
- data/config/snippets/Perforce.rb +0 -3
- data/config/snippets/Perl HTML::Template.rb +0 -27
- data/config/snippets/Postscript.rb +0 -3
- data/config/snippets/Prolog.rb +0 -3
- data/config/snippets/Quake.rb +0 -3
- data/config/snippets/R Console (R.app).rb +0 -3
- data/config/snippets/Ragel.rb +0 -3
- data/config/snippets/Regular Expressions.rb +0 -3
- data/config/snippets/Rez.rb +0 -3
- data/config/snippets/Ruby Haml.rb +0 -3
- data/config/snippets/SCons.rb +0 -3
- data/config/snippets/SQL.rb +0 -3
- data/config/snippets/SVK.rb +0 -3
- data/config/snippets/SWeave.rb +0 -3
- data/config/snippets/Scheme.rb +0 -3
- data/config/snippets/Subversion.rb +0 -3
- data/config/snippets/TODO.rb +0 -3
- data/config/snippets/Tabular.rb +0 -3
- data/config/snippets/TerminalMate.rb +0 -3
- data/config/snippets/TextMate.rb +0 -3
- data/config/snippets/Transmit.rb +0 -3
- data/config/snippets/Xcode.rb +0 -3
- data/config/snippets/iCalendar.rb +0 -3
- data/config/snippets/iTerm.rb +0 -3
- data/lib/ver/keysyms.rb +0 -104
- data/spec/ver/methods/move.rb +0 -150
@@ -7,13 +7,14 @@
|
|
7
7
|
{1 => {name: "punctuation.definition.separator.release-notes"},
|
8
8
|
2 => {name: "meta.toc-list.release-notes"},
|
9
9
|
3 => {name: "punctuation.definition.separator.release-notes"}},
|
10
|
-
match:
|
10
|
+
match:
|
11
|
+
/^(?<_1>\[)(?:[\d-]+: )?(?<_2>REVISION (?<_3>\d+|v[\d.b]+))(?<_4>\])$\n/,
|
11
12
|
name: "meta.separator.release-notes"},
|
12
|
-
{begin: /^([ \t]*)(?=\S)/,
|
13
|
+
{begin: /^(?<_1>[ \t]*)(?=\S)/,
|
13
14
|
contentName: "meta.paragraph.release-notes",
|
14
15
|
end: "^(?!\\1(?=\\S))",
|
15
16
|
patterns:
|
16
|
-
[{match: /(https?|ftp|mailto):\S+?(?=[)>,.':;"]*(
|
17
|
+
[{match: /(?<_1>https?|ftp|mailto):\S+?(?=[)>,.':;"]*(?<_2>\s|$)|$)/,
|
17
18
|
name: "markup.underline.link.release-notes"},
|
18
19
|
{captures:
|
19
20
|
{1 => {name: "keyword.other.release-notes"},
|
@@ -21,11 +22,11 @@
|
|
21
22
|
3 => {name: "punctuation.definition.keyword.release-notes"},
|
22
23
|
4 => {name: "constant.other.bundle-name.release-notes"}},
|
23
24
|
match:
|
24
|
-
/((
|
25
|
+
/(?<_1>(?<_2>\[)(?:NEW|FIXED|CHANGED|REMOVED|INFO)(?<_3>\])) (?:(?<_4>.+? bundle):)?/},
|
25
26
|
{captures:
|
26
27
|
{1 => {name: "storage.type.ticket.release-notes"},
|
27
28
|
2 => {name: "constant.numeric.ticket.release-notes"}},
|
28
|
-
match: /([Tt]icket) ([0-9A-F]{8})\b/,
|
29
|
+
match: /(?<_1>[Tt]icket) (?<_2>[0-9A-F]{8})\b/,
|
29
30
|
name: "meta.ticket.release-notes"},
|
30
31
|
{comment:
|
31
32
|
"I do not want spell checking for CamelCase words. Since this is generally when quoting various API’s, I have deliberately used A-Z and a-z (ASCII) -- Allan",
|
@@ -33,6 +34,6 @@
|
|
33
34
|
name: "meta.word.camel-case.release-notes"},
|
34
35
|
{captures: {1 => {name: "constant.other.committer-name.release-notes"}},
|
35
36
|
match:
|
36
|
-
/\((G(erd Knops|a(vin Kistner|rrett J. Woodworth)|ra(nt Hollingworth|eme Rocher))|R(yan McCuaig|ich Barton|o(ss Harmes|ger Braunstein|b(ert Rainthorpe| (Rix|Bevan))))|M(i(cha(il Pishchagin|el Sheets)|tch Chapman|etek Bąk|k(e Mellor|ael Säker))|a(t(s Persson|t(hew Gilbert|eo Spinelli| Pelletier))|r(tin Ström|k Grimes)|x Williams))|B(ill Duenskie|ob Fleck|en(oit Gagnon|jamin Jackson| Perry)|arrett Clark|r(ian (Donovan|Lalor)|ett Terpstra|ad (Miller|Choate)))|H(enrik Nyh|adley Wickham)|S(t(ephen Skubik-Peplaski|éphane Payrard|anley Rost)|imon (Gregory|Strandgaard)|u(ne Foldager|dara Williams)|ebastian Gräßl|am DeVore)|Nathan Youngman|C(h(a(ndler McWilliams|rilaos Skiadas)|ris(topher Forsythe| (Thomas|Jenkins)))|iarán Walsh)|T(homas Aylott|o(rsten Becker|m Lazar|bias Luetke)|akaaki Kato|roy Mcilvena)|Ian (Joyner|White)|Ollivier Robert|D(om(inique Peretti|enico Carbotta)|uane Johnson|a(n(iel Harple| Kelley)|vid (Glasser|Bonnet|Hansson|Powers|Wikler))|rew Colthorp)|J(iun Wei Chia|o(shua Emmons|nathan (Ragan-Kelley|Chaffer)|e Maller|achim Mårtensson)|ustin French|eroen van der Ham|a(cob Rus|y Soffian|kub Nešetřil|m(is Buck|es (Edward Gray II|A. Baker))))|Paul(o Jorge Lopes de Moura| Bissex)|Eric Hsu|K(umar McMillan|evin Ballard)|F(ergus Bremner|abien POTENCIER|lorent Pillet|r(
|
37
|
+
/\((?<_1>G(?<_2>erd Knops|a(?<_3>vin Kistner|rrett J. Woodworth)|ra(?<_4>nt Hollingworth|eme Rocher))|R(?<_5>yan McCuaig|ich Barton|o(?<_6>ss Harmes|ger Braunstein|b(?<_7>ert Rainthorpe| (?<_8>Rix|Bevan))))|M(?<_9>i(?<_10>cha(?<_11>il Pishchagin|el Sheets)|tch Chapman|etek Bąk|k(?<_12>e Mellor|ael Säker))|a(?<_13>t(?<_14>s Persson|t(?<_15>hew Gilbert|eo Spinelli| Pelletier))|r(?<_16>tin Ström|k Grimes)|x Williams))|B(?<_17>ill Duenskie|ob Fleck|en(?<_18>oit Gagnon|jamin Jackson| Perry)|arrett Clark|r(?<_19>ian (?<_20>Donovan|Lalor)|ett Terpstra|ad (?<_21>Miller|Choate)))|H(?<_22>enrik Nyh|adley Wickham)|S(?<_23>t(?<_24>ephen Skubik-Peplaski|éphane Payrard|anley Rost)|imon (?<_25>Gregory|Strandgaard)|u(?<_26>ne Foldager|dara Williams)|ebastian Gräßl|am DeVore)|Nathan Youngman|C(?<_27>h(?<_28>a(?<_29>ndler McWilliams|rilaos Skiadas)|ris(?<_30>topher Forsythe| (?<_31>Thomas|Jenkins)))|iarán Walsh)|T(?<_32>homas Aylott|o(?<_33>rsten Becker|m Lazar|bias Luetke)|akaaki Kato|roy Mcilvena)|Ian (?<_34>Joyner|White)|Ollivier Robert|D(?<_35>om(?<_36>inique Peretti|enico Carbotta)|uane Johnson|a(?<_37>n(?<_38>iel Harple| Kelley)|vid (?<_39>Glasser|Bonnet|Hansson|Powers|Wikler))|rew Colthorp)|J(?<_40>iun Wei Chia|o(?<_41>shua Emmons|nathan (?<_42>Ragan-Kelley|Chaffer)|e Maller|achim Mårtensson)|ustin French|eroen van der Ham|a(?<_43>cob Rus|y Soffian|kub Nešetřil|m(?<_44>is Buck|es (?<_45>Edward Gray II|A. Baker))))|Paul(?<_46>o Jorge Lopes de Moura| Bissex)|Eric Hsu|K(?<_47>umar McMillan|evin Ballard)|F(?<_48>ergus Bremner|abien POTENCIER|lorent Pillet|r(?<_49>édéric Ballériaux|ank Brault))|Wil(?<_50>son Miner|liam (?<_51>D. Neumann|Prater))|A(?<_52>n(?<_53>thony Underwood|d(?<_54>y Herbert|ers Thid|rew Henson))|dam Sanderson|urelio Marinho Jargas|parajita Fishman|l(?<_55>e(?<_56> Muñoz|xand(?<_57>er John Ross|re Girard))|an Schussman|lan Odgaard)|mro Nasr))\)$/}]}],
|
37
38
|
scopeName: "text.plain.release-notes",
|
38
39
|
uuid: "8926CAFE-1CF3-4CF9-A056-4FF90F596E9A"}
|
data/config/syntax/Remind.rb
CHANGED
@@ -5,22 +5,24 @@
|
|
5
5
|
name: "Remind",
|
6
6
|
patterns:
|
7
7
|
[{captures: {1 => {name: "punctuation.definition.comment.remind"}},
|
8
|
-
match: /[ ]*(
|
8
|
+
match: /[ ]*(?<_1>#).*\n?/,
|
9
9
|
name: "comment.line.number-sign.remind"},
|
10
10
|
{captures: {1 => {name: "punctuation.definition.comment.remind"}},
|
11
|
-
match: /[ ]*(
|
11
|
+
match: /[ ]*(?<_1>;).*\n?/,
|
12
12
|
name: "comment.line.semicolon.remind"},
|
13
13
|
{captures: {0 => {name: "keyword.control.single.command.remind"}},
|
14
|
-
match:
|
14
|
+
match:
|
15
|
+
/\b(?i:(?:RUN\s+(?<_1>ON|OFF))|(?<_2>PUSH|CLEAR|POP)-OMIT-CONTEXT)\b/,
|
15
16
|
name: "meta.single.command.remind"},
|
16
|
-
{begin: /\b(?i:(SET))\s+(
|
17
|
+
{begin: /\b(?i:(?<_1>SET))\s+(?<_2>\$?\w+)\s+/,
|
17
18
|
beginCaptures:
|
18
19
|
{1 => {name: "keyword.control.set.setline.remind"},
|
19
20
|
2 => {name: "variable.other.setline.remind"}},
|
20
21
|
end: "(?=#|\\n|\\z)",
|
21
22
|
name: "meta.setline.remind",
|
22
23
|
patterns: [{include: "#expression"}]},
|
23
|
-
{begin:
|
24
|
+
{begin:
|
25
|
+
/\b(?i:(?<_1>FSET))\s+(?<_2>\w+(?<_3>\())(?<_4>\w+)?(?:,(?<_5>\w+))*(?<_6>\))/,
|
24
26
|
beginCaptures:
|
25
27
|
{1 => {name: "keyword.control.fset.fsetline.remind"},
|
26
28
|
2 => {name: "entity.name.function.fsetline.remind"},
|
@@ -31,22 +33,22 @@
|
|
31
33
|
end: "(?=#|\\n|\\z)",
|
32
34
|
name: "meta.fsetline.remind",
|
33
35
|
patterns: [{include: "#expression"}]},
|
34
|
-
{begin: /\b(?i:(UNSET))\b/,
|
36
|
+
{begin: /\b(?i:(?<_1>UNSET))\b/,
|
35
37
|
beginCaptures: {1 => {name: "keyword.control.set.unsetline.remind"}},
|
36
38
|
end: "(?=#|\\n|\\z)",
|
37
39
|
name: "meta.unsetline.remind",
|
38
40
|
patterns: [{match: /\b\w+\b/, name: "variable.other.unsetline.remind"}]},
|
39
|
-
{begin: /\b(?i:(IF))\b/,
|
41
|
+
{begin: /\b(?i:(?<_1>IF))\b/,
|
40
42
|
captures: {1 => {name: "keyword.control.if.remind"}},
|
41
43
|
end: "(?=#|\\n|\\z)",
|
42
44
|
name: "meta.if.remind",
|
43
45
|
patterns: [{include: "#expression"}]},
|
44
|
-
{begin: /\b(?i:(IFTRIG))\b/,
|
46
|
+
{begin: /\b(?i:(?<_1>IFTRIG))\b/,
|
45
47
|
captures: {1 => {name: "keyword.control.iftrig.remind"}},
|
46
48
|
end: "(?=#|\\n|\\z)",
|
47
49
|
name: "meta.iftrig.remind",
|
48
50
|
patterns: [{include: "#trigger"}]},
|
49
|
-
{match: /\b(?i:(ELSE|ENDIF))\s*(?=#|\n|\z)/,
|
51
|
+
{match: /\b(?i:(?<_1>ELSE|ENDIF))\s*(?=#|\n|\z)/,
|
50
52
|
name: "keyword.control.else-or-endif.remind"},
|
51
53
|
{begin: /\b(?i:INCLUDE)\b/,
|
52
54
|
beginCaptures: {0 => {name: "keyword.control.include.commandline.remind"}},
|
@@ -105,7 +107,7 @@
|
|
105
107
|
endCaptures: {0 => {name: "punctuation.definition.string.end.remind"}},
|
106
108
|
name: "string.quoted.double.remind",
|
107
109
|
patterns: [{match: /\\./, name: "constant.character.escape.remind"}]},
|
108
|
-
{match: /'\d{4}([\-\/])\d{1,2}\
|
110
|
+
{match: /'\d{4}(?<_1>[\-\/])\d{1,2}\k<_1>\d{1,2}'/,
|
109
111
|
name: "constant.other.date.remind"},
|
110
112
|
{match: /\d{1,2}[:.]\d{2}/, name: "constant.other.time.remind"},
|
111
113
|
{match: /\d+/, name: "constant.numeric.integer.remind"},
|
@@ -118,7 +120,7 @@
|
|
118
120
|
end: "\\)",
|
119
121
|
name: "meta.function.builtin.remind",
|
120
122
|
patterns: [{include: "#expression"}]},
|
121
|
-
{begin: /\b(
|
123
|
+
{begin: /\b(?<_1>\w+)(?<_2>\()/,
|
122
124
|
beginCaptures:
|
123
125
|
{1 => {name: "entity.name.function.remind"},
|
124
126
|
2 => {name: "punctuation.definition.arguments.remind"}},
|
@@ -137,7 +139,7 @@
|
|
137
139
|
:"message-body" =>
|
138
140
|
{patterns:
|
139
141
|
[{captures: {1 => {name: "punctuation.definition.constant.remind"}},
|
140
|
-
match: /(
|
142
|
+
match: /(?<_1>%)[a-zA-Z0-9_!@#]/,
|
141
143
|
name: "constant.other.placeholder.remind"},
|
142
144
|
{begin: /%"/,
|
143
145
|
beginCaptures:
|
@@ -154,25 +156,25 @@
|
|
154
156
|
3 => {name: "variable.other.component.trigger.remind"},
|
155
157
|
4 => {name: "variable.other.comp.trigger.remind"}},
|
156
158
|
match:
|
157
|
-
/\b(?i:(AT))\s+(
|
159
|
+
/\b(?i:(?<_1>AT))\s+(?<_2>\d{1,2}[:.]\d{2})(?:\s+(?<_3>\+{1,2}\d+))?(?:\s+(?<_4>\*\d+))?(?=\s)/,
|
158
160
|
name: "meta.attime.trigger.remind"},
|
159
161
|
{captures:
|
160
162
|
{1 => {name: "keyword.other.duration.trigger.remind"},
|
161
163
|
2 => {name: "constant.other.time.trigger.remind"}},
|
162
|
-
match: /\b(?i:(DURATION))\s+(
|
164
|
+
match: /\b(?i:(?<_1>DURATION))\s+(?<_2>\d{1,2}[:.]\d{2})(?=\s)/,
|
163
165
|
name: "meta.duration.trigger.remind"},
|
164
166
|
{match: /\b(?i:OMIT)\b/,
|
165
167
|
name: "keyword.control.command.trigger.remind"},
|
166
168
|
{match: /\b(?i:ONCE|SKIP|BEFORE|AFTER)\b/,
|
167
169
|
name: "keyword.control.move-reminder.trigger.remind"},
|
168
170
|
{captures: {1 => {name: "punctuation.definition.variable.remind"}},
|
169
|
-
match: /(
|
171
|
+
match: /(?<_1>\+{1,2})\d+/,
|
170
172
|
name: "variable.other.component.delta.trigger.remind"},
|
171
173
|
{captures: {1 => {name: "punctuation.definition.variable.remind"}},
|
172
|
-
match: /(
|
174
|
+
match: /(?<_1>\-{1,2})\d+/,
|
173
175
|
name: "variable.other.component.back.trigger.remind"},
|
174
176
|
{captures: {1 => {name: "punctuation.definition.variable.remind"}},
|
175
|
-
match: /(
|
177
|
+
match: /(?<_1>\*)\d+/,
|
176
178
|
name: "variable.other.component.repeat.trigger.remind"},
|
177
179
|
{include: "#date-item"}]}},
|
178
180
|
scopeName: "source.remind",
|
data/config/syntax/Rez.rb
CHANGED
@@ -3,8 +3,8 @@
|
|
3
3
|
{comment:
|
4
4
|
"Rez. Legacy Mac OS source code frequently contains Rez files. – chris@cjack.com",
|
5
5
|
fileTypes: ["r"],
|
6
|
-
foldingStartMarker: /(
|
7
|
-
foldingStopMarker: /(
|
6
|
+
foldingStartMarker: /(?<_1>\/\*\*|\{\s*$)/,
|
7
|
+
foldingStopMarker: /(?<_1>\*\*\/|^\s*\})/,
|
8
8
|
keyEquivalent: "^~R",
|
9
9
|
name: "Rez",
|
10
10
|
patterns:
|
@@ -13,23 +13,24 @@
|
|
13
13
|
end: "\\*/",
|
14
14
|
name: "comment.block.rez"},
|
15
15
|
{captures: {1 => {name: "punctuation.definition.comment.rez"}},
|
16
|
-
match: /(
|
16
|
+
match: /(?<_1>\/\/).*$\n?/,
|
17
17
|
name: "comment.line.double-slash.rez"},
|
18
18
|
{comment:
|
19
19
|
"Note that Xcode gets case sensitivity wrong (last checked Xcode 2.0). I'm not sure built-in functions are case-insensitive, though, so we might too.",
|
20
|
-
match: /\b(?i:(change|data|delete|include|read|resource|type))\b/,
|
20
|
+
match: /\b(?i:(?<_1>change|data|delete|include|read|resource|type))\b/,
|
21
21
|
name: "keyword.control.rez"},
|
22
22
|
{match:
|
23
|
-
/\b(?i:(align|array|binary|bit|bitstring|boolean|byte|case|char|cstring|decimal|enum|fill|hex|integer|key|literal|long|longint|nibble|octal|point|pstring|rect|string|switch|unsigned|wide|word|wstring))\b/,
|
23
|
+
/\b(?i:(?<_1>align|array|binary|bit|bitstring|boolean|byte|case|char|cstring|decimal|enum|fill|hex|integer|key|literal|long|longint|nibble|octal|point|pstring|rect|string|switch|unsigned|wide|word|wstring))\b/,
|
24
24
|
name: "storage.type.rez"},
|
25
|
-
{match:
|
25
|
+
{match:
|
26
|
+
/\b(?i:(?<_1>appheap|locked|nonpurgeable|purgeable|sysheap|unlocked))\b/,
|
26
27
|
name: "keyword.other.attributes.rez"},
|
27
28
|
{captures: {1 => {name: "punctuation.definition.function.rez"}},
|
28
29
|
match:
|
29
|
-
/(
|
30
|
+
/(?<_1>\$\$)(?i:(?<_2>ArrayIndex|Attributes|BitField|Byte|CountOf|Date|Day|Format|Hour|ID|Long|Minute|Month|Name|PackedSize|Read|Resource|ResourceSize|Second|Shell|Time|Type|Version|Weekday|Word|Year))/,
|
30
31
|
name: "support.function.built-in.rez"},
|
31
32
|
{match:
|
32
|
-
/\b(((0(x|X|B)|\$)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(
|
33
|
+
/\b(?<_1>(?<_2>(?<_3>0(?<_4>x|X|B)|\$)[0-9a-fA-F]*)|(?<_5>(?<_6>[0-9]+\.?[0-9]*)|(?<_7>\.[0-9]+))(?<_8>(?<_9>e|E)(?<_10>\+|-)?[0-9]+)?)\b/,
|
33
34
|
name: "constant.numeric.rez"},
|
34
35
|
{begin: /"/,
|
35
36
|
beginCaptures: {0 => {name: "punctuation.definition.string.begin.rez"}},
|
@@ -53,7 +54,7 @@
|
|
53
54
|
{1 => {name: "punctuation.definition.preprocessor.rez"},
|
54
55
|
2 => {name: "keyword.control.import.rez"}},
|
55
56
|
match:
|
56
|
-
/^\s*(
|
57
|
+
/^\s*(?<_1>#)\s*(?<_2>define|defined|else|elif|endif|if|ifdef|ifndef|include|line|printf|undef)\b/,
|
57
58
|
name: "meta.preprocessor.rez"}],
|
58
59
|
repository:
|
59
60
|
{escaped_char: {match: /\\./, name: "constant.character.escape.rez"}},
|
data/config/syntax/Ruby Haml.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# Encoding: UTF-8
|
2
2
|
|
3
3
|
{fileTypes: ["haml", "sass"],
|
4
|
-
foldingStartMarker: /^\s*([-%#\:\.\w\=].*)\s$/,
|
4
|
+
foldingStartMarker: /^\s*(?<_1>[-%#\:\.\w\=].*)\s$/,
|
5
5
|
foldingStopMarker: /^\s*$/,
|
6
6
|
keyEquivalent: "^~H",
|
7
7
|
name: "Ruby Haml",
|
@@ -11,17 +11,17 @@
|
|
11
11
|
end: "$\\n?",
|
12
12
|
patterns: [{include: "#interpolated_ruby"}]},
|
13
13
|
{captures: {1 => {name: "punctuation.definition.prolog.haml"}},
|
14
|
-
match: /^(
|
14
|
+
match: /^(?<_1>!!!)(?<_2>$|\s.*)/,
|
15
15
|
name: "meta.prolog.haml"},
|
16
16
|
{captures: {1 => {name: "punctuation.section.comment.haml"}},
|
17
|
-
match: /^ *(
|
17
|
+
match: /^ *(?<_1>\/)\s*\S.*$\n?/,
|
18
18
|
name: "comment.line.slash.haml"},
|
19
|
-
{begin: /^( *)(
|
19
|
+
{begin: /^(?<_1> *)(?<_2>\/)\s*$/,
|
20
20
|
beginCaptures: {2 => {name: "punctuation.section.comment.haml"}},
|
21
21
|
end: "^(?!\\1 )",
|
22
22
|
name: "comment.block.haml",
|
23
23
|
patterns: [{include: "text.haml"}]},
|
24
|
-
{begin: /^\s*(?:((
|
24
|
+
{begin: /^\s*(?:(?<_1>(?<_2>%)(?<_3>[\w:]+))|(?=\.|#))/,
|
25
25
|
captures:
|
26
26
|
{1 => {name: "meta.tag.haml"},
|
27
27
|
2 => {name: "punctuation.definition.tag.haml"},
|
@@ -44,18 +44,18 @@
|
|
44
44
|
patterns: [{include: "source.ruby.rails"}, {include: "#continuation"}]},
|
45
45
|
{include: "#rubyline"},
|
46
46
|
{match: /\//, name: "punctuation.terminator.tag.haml"}]},
|
47
|
-
{captures: {1 => {name: "meta.escape.haml"}}, match: /^\s*(
|
47
|
+
{captures: {1 => {name: "meta.escape.haml"}}, match: /^\s*(?<_1>\\.)/},
|
48
48
|
{begin: /^\s*(?==|-|~)/, end: "$", patterns: [{include: "#rubyline"}]}],
|
49
49
|
repository:
|
50
50
|
{continuation:
|
51
51
|
{captures: {1 => {name: "punctuation.separator.continuation.haml"}},
|
52
|
-
match: /(
|
52
|
+
match: /(?<_1>\|)\s*\n/},
|
53
53
|
interpolated_ruby:
|
54
54
|
{patterns:
|
55
55
|
[{captures:
|
56
56
|
{0 => {name: "punctuation.section.embedded.ruby"},
|
57
57
|
1 => {name: "source.ruby.embedded.source.empty"}},
|
58
|
-
match: /#\{(
|
58
|
+
match: /#\{(?<_1>\})/,
|
59
59
|
name: "source.ruby.embedded.source"},
|
60
60
|
{begin: /#\{/,
|
61
61
|
captures: {0 => {name: "punctuation.section.embedded.ruby"}},
|
@@ -64,13 +64,13 @@
|
|
64
64
|
patterns:
|
65
65
|
[{include: "#nest_curly_and_self"}, {include: "source.ruby"}]},
|
66
66
|
{captures: {1 => {name: "punctuation.definition.variable.ruby"}},
|
67
|
-
match: /(
|
67
|
+
match: /(?<_1>\#@)[a-zA-Z_]\w*/,
|
68
68
|
name: "variable.other.readwrite.instance.ruby"},
|
69
69
|
{captures: {1 => {name: "punctuation.definition.variable.ruby"}},
|
70
|
-
match: /(
|
70
|
+
match: /(?<_1>\#@@)[a-zA-Z_]\w*/,
|
71
71
|
name: "variable.other.readwrite.class.ruby"},
|
72
72
|
{captures: {1 => {name: "punctuation.definition.variable.ruby"}},
|
73
|
-
match: /(
|
73
|
+
match: /(?<_1>#\$)[a-zA-Z_]\w*/,
|
74
74
|
name: "variable.other.readwrite.global.ruby"}]},
|
75
75
|
nest_curly_and_self:
|
76
76
|
{patterns:
|
@@ -3,26 +3,26 @@
|
|
3
3
|
{fileTypes: ["rb", "rxml", "builder"],
|
4
4
|
foldingStartMarker:
|
5
5
|
/(?x)^
|
6
|
-
(
|
7
|
-
(module|class|def
|
6
|
+
(?<_1>\s*+
|
7
|
+
(?<_2>module|class|def
|
8
8
|
|unless|if
|
9
9
|
|case
|
10
10
|
|begin
|
11
11
|
|for|while|until
|
12
|
-
|( "(
|
13
|
-
| '(
|
12
|
+
|(?<_3> "(?<_4>\\.|[^"])*+" # eat a double quoted string
|
13
|
+
| '(?<_5>\\.|[^'])*+' # eat a single quoted string
|
14
14
|
| [^#"'] # eat all but comments and strings
|
15
15
|
)*
|
16
|
-
( \s (do|begin|case)
|
17
|
-
| [-+=&|*\/~%^<>~] \s*+ (if|unless)
|
16
|
+
(?<_6> \s (?<_7>do|begin|case)
|
17
|
+
| [-+=&|*\/~%^<>~] \s*+ (?<_8>if|unless)
|
18
18
|
)
|
19
19
|
)\b
|
20
20
|
(?! [^;]*+ ; .*? \bend\b )
|
21
|
-
|( "(
|
22
|
-
| '(
|
21
|
+
|(?<_9> "(?<_10>\\.|[^"])*+" # eat a double quoted string
|
22
|
+
| '(?<_11>\\.|[^'])*+' # eat a single quoted string
|
23
23
|
| [^#"'] # eat all but comments and strings
|
24
24
|
)*
|
25
|
-
( \{ (?! [^}]*+ \} )
|
25
|
+
(?<_12> \{ (?! [^}]*+ \} )
|
26
26
|
| \[ (?! [^\]]*+ \] )
|
27
27
|
)
|
28
28
|
).*$
|
@@ -30,58 +30,60 @@
|
|
30
30
|
/,
|
31
31
|
foldingStopMarker:
|
32
32
|
/(?x)
|
33
|
-
( (
|
34
|
-
| ^ \s*+ [}\]] \s*+ ([#].*)? $
|
33
|
+
(?<_1> (?<_2>^|;) \s*+ end \s*+ (?<_3>[#].*)? $
|
34
|
+
| ^ \s*+ [}\]] \s*+ (?<_4>[#].*)? $
|
35
35
|
| [#] .*? \(end\) \s*+ $ # Sune’s special marker
|
36
36
|
)/,
|
37
37
|
keyEquivalent: "^~R",
|
38
38
|
name: "Ruby on Rails",
|
39
39
|
patterns:
|
40
40
|
[{begin:
|
41
|
-
/(
|
41
|
+
/(?<_1>^\s*)(?=class\s+(?<_2>(?<_3>[.a-zA-Z0-9_:]+ControllerTest(?<_4>\s*<\s*[.a-zA-Z0-9_:]+)?)))/,
|
42
42
|
comment:
|
43
43
|
"Uses lookahead to match classes with the ControllerTest suffix; includes 'source.ruby' to avoid infinite recursion",
|
44
44
|
end: "^\\1(?=end)\\b",
|
45
45
|
name: "meta.rails.functional_test",
|
46
46
|
patterns: [{include: "source.ruby"}, {include: "$self"}]},
|
47
47
|
{begin:
|
48
|
-
/(
|
48
|
+
/(?<_1>^\s*)(?=class\s+(?<_2>(?<_3>[.a-zA-Z0-9_:]+Controller\b(?<_4>\s*<\s*[.a-zA-Z0-9_:]+)?)|(?<_5><<\s*[.a-zA-Z0-9_:]+)))(?!.+\bend\b)/,
|
49
49
|
comment:
|
50
50
|
"Uses lookahead to match classes with the Controller suffix; includes 'source.ruby' to avoid infinite recursion",
|
51
51
|
end: "^\\1(?=end)\\b",
|
52
52
|
name: "meta.rails.controller",
|
53
53
|
patterns: [{include: "source.ruby"}, {include: "$self"}]},
|
54
|
-
{begin:
|
54
|
+
{begin:
|
55
|
+
/(?<_1>^\s*)(?=module\s+(?<_2>(?<_3>(?<_4>[A-Z]\w*::)*)[A-Z]\w*)Helper)/,
|
55
56
|
comment:
|
56
57
|
"Uses lookahead to match modules with the Helper suffix; includes 'source.ruby' to avoid infinite recursion",
|
57
58
|
end: "^\\1(?=end)\\b",
|
58
59
|
name: "meta.rails.helper",
|
59
60
|
patterns: [{include: "source.ruby"}, {include: "$self"}]},
|
60
|
-
{begin:
|
61
|
+
{begin:
|
62
|
+
/(?<_1>^\s*)(?=class\s+(?<_2>(?<_3>[.a-zA-Z0-9_:]+(?<_4>\s*<\s*ActionMailer::Base))))/,
|
61
63
|
comment:
|
62
64
|
"Uses lookahead to match classes that inherit from ActionMailer::Base; includes 'source.ruby' to avoid infinite recursion",
|
63
65
|
end: "^\\1(?=end)\\b",
|
64
66
|
name: "meta.rails.mailer",
|
65
67
|
patterns: [{include: "source.ruby"}, {include: "$self"}]},
|
66
|
-
{begin: /(
|
68
|
+
{begin: /(?<_1>^\s*)(?=class\s+.+ActiveRecord::Base)/,
|
67
69
|
comment:
|
68
70
|
"Uses lookahead to match classes that (may) inherit from ActiveRecord::Base; includes 'source.ruby' to avoid infinite recursion",
|
69
71
|
end: "^\\1(?=end)\\b",
|
70
72
|
name: "meta.rails.model",
|
71
73
|
patterns: [{include: "source.ruby"}, {include: "$self"}]},
|
72
|
-
{begin: /(
|
74
|
+
{begin: /(?<_1>^\s*)(?=class\s+.+ActiveRecord::Migration)/,
|
73
75
|
comment:
|
74
76
|
"Uses lookahead to match classes that (may) inherit from ActiveRecord::Migration; includes 'source.ruby' to avoid infinite recursion",
|
75
77
|
end: "^\\1(?=end)\\b",
|
76
78
|
name: "meta.rails.migration",
|
77
79
|
patterns:
|
78
|
-
[{begin: /(
|
80
|
+
[{begin: /(?<_1>^\s*)(?=change_table)\b/,
|
79
81
|
comment:
|
80
82
|
"Uses lookahead to match methods change_table; includes 'source.ruby' to avoid infinite recursion",
|
81
83
|
contentName: "meta.rails.migration.change_table",
|
82
84
|
end: "^\\1(?=end)\\b",
|
83
85
|
patterns: [{include: "source.ruby"}, {include: "$self"}]},
|
84
|
-
{begin: /(
|
86
|
+
{begin: /(?<_1>^\s*)(?=create_table)\b/,
|
85
87
|
comment:
|
86
88
|
"Uses lookahead to match methods create_table; includes 'source.ruby' to avoid infinite recursion",
|
87
89
|
contentName: "meta.rails.migration.create_table",
|
@@ -90,26 +92,26 @@
|
|
90
92
|
{include: "source.ruby"},
|
91
93
|
{include: "$self"}]},
|
92
94
|
{begin:
|
93
|
-
/(
|
95
|
+
/(?<_1>^\s*)(?=class\s+(?![.a-zA-Z0-9_:]+ControllerTest)(?<_2>(?<_3>[.a-zA-Z0-9_:]+Test(?<_4>\s*<\s*[.a-zA-Z0-9_:]+)?)|(?<_5><<\s*[.a-zA-Z0-9_:]+)))/,
|
94
96
|
comment:
|
95
97
|
"Uses lookahead to match classes with the Test suffix; includes 'source.ruby' to avoid infinite recursion",
|
96
98
|
end: "^\\1(?=end)\\b",
|
97
99
|
name: "meta.rails.unit_test",
|
98
100
|
patterns: [{include: "source.ruby"}, {include: "$self"}]},
|
99
|
-
{begin: /(
|
101
|
+
{begin: /(?<_1>^\s*)ActionController::Routing::Routes/,
|
100
102
|
comment:
|
101
103
|
"Uses ActionController::Routing::Routes to determine it is a routes file; includes 'source.ruby' to avoid infinite recursion",
|
102
104
|
end: "^\\1(?=end)\\b",
|
103
105
|
name: "meta.rails.routes",
|
104
106
|
patterns: [{include: "source.ruby"}, {include: "$self"}]},
|
105
107
|
{match:
|
106
|
-
/\b(before_filter|skip_before_filter|skip_after_filter|after_filter|around_filter|filter|filter_parameter_logging|layout|require_dependency|render|render_action|render_text|render_file|render_template|render_nothing|render_component|render_without_layout|rescue_from|url_for|redirect_to|redirect_to_path|redirect_to_url|respond_to|helper|helper_method|model|service|observer|serialize|scaffold|verify|hide_action)\b/,
|
108
|
+
/\b(?<_1>before_filter|skip_before_filter|skip_after_filter|after_filter|around_filter|filter|filter_parameter_logging|layout|require_dependency|render|render_action|render_text|render_file|render_template|render_nothing|render_component|render_without_layout|rescue_from|url_for|redirect_to|redirect_to_path|redirect_to_url|respond_to|helper|helper_method|model|service|observer|serialize|scaffold|verify|hide_action)\b/,
|
107
109
|
name: "support.function.actionpack.rails"},
|
108
110
|
{match:
|
109
|
-
/\b(named_scope|after_create|after_destroy|after_save|after_update|after_validation|after_validation_on_create|after_validation_on_update|before_create|before_destroy|before_save|before_update|before_validation|before_validation_on_create|before_validation_on_update|composed_of|belongs_to|has_one|has_many|has_and_belongs_to_many|validate|validate_on_create|validates_numericality_of|validate_on_update|validates_acceptance_of|validates_associated|validates_confirmation_of|validates_each|validates_format_of|validates_inclusion_of|validates_exclusion_of|validates_length_of|validates_presence_of|validates_size_of|validates_uniqueness_of|attr_protected|attr_accessible|attr_readonly)\b/,
|
111
|
+
/\b(?<_1>named_scope|after_create|after_destroy|after_save|after_update|after_validation|after_validation_on_create|after_validation_on_update|before_create|before_destroy|before_save|before_update|before_validation|before_validation_on_create|before_validation_on_update|composed_of|belongs_to|has_one|has_many|has_and_belongs_to_many|validate|validate_on_create|validates_numericality_of|validate_on_update|validates_acceptance_of|validates_associated|validates_confirmation_of|validates_each|validates_format_of|validates_inclusion_of|validates_exclusion_of|validates_length_of|validates_presence_of|validates_size_of|validates_uniqueness_of|attr_protected|attr_accessible|attr_readonly)\b/,
|
110
112
|
name: "support.function.activerecord.rails"},
|
111
113
|
{match:
|
112
|
-
/\b(alias_method_chain|alias_attribute|delegate|cattr_accessor|mattr_accessor|returning)\b/,
|
114
|
+
/\b(?<_1>alias_method_chain|alias_attribute|delegate|cattr_accessor|mattr_accessor|returning)\b/,
|
113
115
|
name: "support.function.activesupport.rails"},
|
114
116
|
{include: "source.ruby"}],
|
115
117
|
scopeName: "source.ruby.rails",
|
data/config/syntax/Ruby.rb
CHANGED
@@ -13,30 +13,30 @@
|
|
13
13
|
"gemspec",
|
14
14
|
"irbrc",
|
15
15
|
"capfile"],
|
16
|
-
firstLineMatch: "^#!/.*\\bruby
|
16
|
+
firstLineMatch: "^#!/.*\\bruby",
|
17
17
|
foldingStartMarker:
|
18
18
|
/(?x)^
|
19
|
-
(
|
20
|
-
(module|class|def(?!.*\bend\s*$)
|
19
|
+
(?<_1>\s*+
|
20
|
+
(?<_2>module|class|def(?!.*\bend\s*$)
|
21
21
|
|unless|if
|
22
22
|
|case
|
23
23
|
|begin
|
24
24
|
|for|while|until
|
25
25
|
|^=begin
|
26
|
-
|( "(
|
27
|
-
| '(
|
26
|
+
|(?<_3> "(?<_4>\\.|[^"])*+" # eat a double quoted string
|
27
|
+
| '(?<_5>\\.|[^'])*+' # eat a single quoted string
|
28
28
|
| [^#"'] # eat all but comments and strings
|
29
29
|
)*
|
30
|
-
( \s (do|begin|case)
|
31
|
-
| (?<!\$)[-+=&|*\/~%^<>~] \s*+ (if|unless)
|
30
|
+
(?<_6> \s (?<_7>do|begin|case)
|
31
|
+
| (?<!\$)[-+=&|*\/~%^<>~] \s*+ (?<_8>if|unless)
|
32
32
|
)
|
33
33
|
)\b
|
34
34
|
(?! [^;]*+ ; .*? \bend\b )
|
35
|
-
|( "(
|
36
|
-
| '(
|
35
|
+
|(?<_9> "(?<_10>\\.|[^"])*+" # eat a double quoted string
|
36
|
+
| '(?<_11>\\.|[^'])*+' # eat a single quoted string
|
37
37
|
| [^#"'] # eat all but comments and strings
|
38
38
|
)*
|
39
|
-
( \{ (?! [^}]*+ \} )
|
39
|
+
(?<_12> \{ (?! [^}]*+ \} )
|
40
40
|
| \[ (?! [^\]]*+ \] )
|
41
41
|
)
|
42
42
|
).*$
|
@@ -44,13 +44,13 @@
|
|
44
44
|
/,
|
45
45
|
foldingStopMarker:
|
46
46
|
/(?x)
|
47
|
-
( (
|
48
|
-
| (
|
49
|
-
| ^ \s*+ [}\]] ,? \s*+ ([#].*)? $
|
47
|
+
(?<_1> (?<_2>^|;) \s*+ end \s*+ (?<_3>[#].*)? $
|
48
|
+
| (?<_4>^|;) \s*+ end \. .* $
|
49
|
+
| ^ \s*+ [}\]] ,? \s*+ (?<_5>[#].*)? $
|
50
50
|
| [#] .*? \(end\) \s*+ $ # Sune’s special marker
|
51
51
|
| ^=end
|
52
52
|
)/,
|
53
|
-
keyEquivalent:
|
53
|
+
keyEquivalent: "^~R",
|
54
54
|
name: "Ruby",
|
55
55
|
patterns:
|
56
56
|
[{captures:
|
@@ -61,7 +61,7 @@
|
|
61
61
|
6 => {name: "variable.other.object.ruby"},
|
62
62
|
7 => {name: "punctuation.definition.variable.ruby"}},
|
63
63
|
match:
|
64
|
-
/^\s*(class)\s+(([.a-zA-Z0-9_:]+(
|
64
|
+
/^\s*(?<_1>class)\s+(?<_2>(?<_3>[.a-zA-Z0-9_:]+(?<_4>\s*(?<_5><)\s*[.a-zA-Z0-9_:]+)?)|(?<_6>(?<_7><<)\s*[.a-zA-Z0-9_:]+))/,
|
65
65
|
name: "meta.class.ruby"},
|
66
66
|
{captures:
|
67
67
|
{1 => {name: "keyword.control.module.ruby"},
|
@@ -73,70 +73,72 @@
|
|
73
73
|
7 => {name: "entity.other.inherited-class.module.third.ruby"},
|
74
74
|
8 => {name: "punctuation.separator.inheritance.ruby"}},
|
75
75
|
match:
|
76
|
-
/^\s*(module)\s+(([A-Z]\w*(
|
76
|
+
/^\s*(?<_1>module)\s+(?<_2>(?<_3>[A-Z]\w*(?<_4>::))?(?<_5>[A-Z]\w*(?<_6>::))?(?<_7>[A-Z]\w*(?<_8>::))*[A-Z]\w*)/,
|
77
77
|
name: "meta.module.ruby"},
|
78
78
|
{comment:
|
79
79
|
"else if is a common mistake carried over from other languages. it works if you put in a second end, but it’s never what you want.",
|
80
|
-
match: /(?<!\.)\belse(
|
80
|
+
match: /(?<!\.)\belse(?<_1>\s)+if\b/,
|
81
81
|
name: "invalid.deprecated.ruby"},
|
82
82
|
{comment:
|
83
83
|
"everything being a reserved word, not a value and needing a 'end' is a..",
|
84
84
|
match:
|
85
|
-
/(?<!\.)\b(BEGIN|begin|case|class|else|elsif|END|end|ensure|for|if|in|module|rescue|then|unless|until|when|while)\b(?![?!])/,
|
85
|
+
/(?<!\.)\b(?<_1>BEGIN|begin|case|class|else|elsif|END|end|ensure|for|if|in|module|rescue|then|unless|until|when|while)\b(?![?!])/,
|
86
86
|
name: "keyword.control.ruby"},
|
87
87
|
{comment: "contextual smart pair support for block parameters",
|
88
88
|
match: /(?<!\.)\bdo\b\s*/,
|
89
89
|
name: "keyword.control.start-block.ruby"},
|
90
90
|
{comment: "contextual smart pair support",
|
91
|
-
match: /(?<=\{)(
|
91
|
+
match: /(?<=\{)(?<_1>\s+)/,
|
92
92
|
name: "meta.syntax.ruby.start-block"},
|
93
93
|
{comment: " as above, just doesn't need a 'end' and does a logic operation",
|
94
|
-
match: /(?<!\.)\b(and|not|or)\b/,
|
94
|
+
match: /(?<!\.)\b(?<_1>and|not|or)\b/,
|
95
95
|
name: "keyword.operator.logical.ruby"},
|
96
96
|
{comment: " just as above but being not a logical operation",
|
97
97
|
match:
|
98
|
-
/(?<!\.)\b(alias|alias_method|break|next|redo|retry|return|super|undef|yield)\b(?![?!])|\bdefined\?|\bblock_given\?/,
|
98
|
+
/(?<!\.)\b(?<_1>alias|alias_method|break|next|redo|retry|return|super|undef|yield)\b(?![?!])|\bdefined\?|\bblock_given\?/,
|
99
99
|
name: "keyword.control.pseudo-method.ruby"},
|
100
|
-
{match: /\b(nil|true|false)\b(?![?!])/,
|
101
|
-
|
100
|
+
{match: /\b(?<_1>nil|true|false)\b(?![?!])/,
|
101
|
+
name: "constant.language.ruby"},
|
102
|
+
{match: /\b(?<_1>__(?<_2>FILE|LINE)__|self)\b(?![?!])/,
|
102
103
|
name: "variable.language.ruby"},
|
103
104
|
{comment: " everything being a method but having a special function is a..",
|
104
105
|
match:
|
105
|
-
/\b(initialize|new|loop|include|extend|raise|attr_reader|attr_writer|attr_accessor|attr|catch|throw|private|module_function|public|protected)\b(?![?!])/,
|
106
|
+
/\b(?<_1>initialize|new|loop|include|extend|raise|attr_reader|attr_writer|attr_accessor|attr|catch|throw|private|module_function|public|protected)\b(?![?!])/,
|
106
107
|
name: "keyword.other.special-method.ruby"},
|
107
|
-
{begin: /\b(require|gem)\b/,
|
108
|
+
{begin: /\b(?<_1>require|gem)\b/,
|
108
109
|
captures: {1 => {name: "keyword.other.special-method.ruby"}},
|
109
110
|
end: "$|(?=#)",
|
110
111
|
name: "meta.require.ruby",
|
111
112
|
patterns: [{include: "$self"}]},
|
112
113
|
{captures: {1 => {name: "punctuation.definition.variable.ruby"}},
|
113
|
-
match: /(
|
114
|
+
match: /(?<_1>@)[a-zA-Z_]\w*/,
|
114
115
|
name: "variable.other.readwrite.instance.ruby"},
|
115
116
|
{captures: {1 => {name: "punctuation.definition.variable.ruby"}},
|
116
|
-
match: /(
|
117
|
+
match: /(?<_1>@@)[a-zA-Z_]\w*/,
|
117
118
|
name: "variable.other.readwrite.class.ruby"},
|
118
119
|
{captures: {1 => {name: "punctuation.definition.variable.ruby"}},
|
119
|
-
match: /(
|
120
|
+
match: /(?<_1>\$)[a-zA-Z_]\w*/,
|
120
121
|
name: "variable.other.readwrite.global.ruby"},
|
121
122
|
{captures: {1 => {name: "punctuation.definition.variable.ruby"}},
|
122
123
|
match:
|
123
|
-
/(
|
124
|
+
/(?<_1>\$)(?<_2>!|@|&|`|'|\+|\d+|~|=|\/|\\|,|;|\.|<|>|_|\*|\$|\?|:|"|-[0adFiIlpv])/,
|
124
125
|
name: "variable.other.readwrite.global.pre-defined.ruby"},
|
125
|
-
{begin: /\b(ENV)\[/,
|
126
|
+
{begin: /\b(?<_1>ENV)\[/,
|
126
127
|
beginCaptures: {1 => {name: "variable.other.constant.ruby"}},
|
127
128
|
end: "\\]",
|
128
129
|
name: "meta.environment-variable.ruby",
|
129
130
|
patterns: [{include: "$self"}]},
|
130
|
-
{match: /\b[A-Z]\w*(?=((
|
131
|
+
{match: /\b[A-Z]\w*(?=(?<_1>(?<_2>\.|::)[A-Za-z]|\[))/,
|
132
|
+
name: "support.class.ruby"},
|
131
133
|
{match: /\b[A-Z]\w*\b/, name: "variable.other.constant.ruby"},
|
132
134
|
{begin:
|
133
135
|
/(?x)
|
134
136
|
(?=def\b) # an optimization to help Oniguruma fail fast
|
135
|
-
(?<=^|\s)(def)\s+ # the def keyword
|
136
|
-
( (?>[a-zA-Z_]\w*(?>\.|::))? # a method name prefix
|
137
|
+
(?<=^|\s)(?<_1>def)\s+ # the def keyword
|
138
|
+
(?<_2> (?>[a-zA-Z_]\w*(?>\.|::))? # a method name prefix
|
137
139
|
(?>[a-zA-Z_]\w*(?>[?!]|=(?!>))? # the method name
|
138
140
|
|===?|>[>=]?|<=>|<[<=]?|[%&`\/\|]|\*\*?|=?~|[-+]@?|\[\]=?) ) # …or an operator method
|
139
|
-
\s*(
|
141
|
+
\s*(?<_3>\() # the openning parenthesis for arguments
|
140
142
|
/,
|
141
143
|
beginCaptures:
|
142
144
|
{1 => {name: "keyword.control.def.ruby"},
|
@@ -152,12 +154,12 @@
|
|
152
154
|
{begin:
|
153
155
|
/(?x)
|
154
156
|
(?=def\b) # an optimization to help Oniguruma fail fast
|
155
|
-
(?<=^|\s)(def)\s+ # the def keyword
|
156
|
-
( (?>[a-zA-Z_]\w*(?>\.|::))? # a method name prefix
|
157
|
+
(?<=^|\s)(?<_1>def)\s+ # the def keyword
|
158
|
+
(?<_2> (?>[a-zA-Z_]\w*(?>\.|::))? # a method name prefix
|
157
159
|
(?>[a-zA-Z_]\w*(?>[?!]|=(?!>))? # the method name
|
158
160
|
|===?|>[>=]?|<=>|<[<=]?|[%&`\/\|]|\*\*?|=?~|[-+]@?|\[\]=?) ) # …or an operator method
|
159
161
|
[ \t] # the space separating the arguments
|
160
|
-
(?=[ \t]*[^\s
|
162
|
+
(?=[ \t]*[^\s#;]) # make sure arguments and not a comment follow
|
161
163
|
/,
|
162
164
|
beginCaptures:
|
163
165
|
{1 => {name: "keyword.control.def.ruby"},
|
@@ -176,15 +178,15 @@
|
|
176
178
|
match:
|
177
179
|
/(?x)
|
178
180
|
(?=def\b) # an optimization to help Oniguruma fail fast
|
179
|
-
(?<=^|\s)(def)\b # the def keyword
|
180
|
-
( \s+ # an optional group of whitespace followed by…
|
181
|
-
( (?>[a-zA-Z_]\w*(?>\.|::))? # a method name prefix
|
181
|
+
(?<=^|\s)(?<_1>def)\b # the def keyword
|
182
|
+
(?<_2> \s+ # an optional group of whitespace followed by…
|
183
|
+
(?<_3> (?>[a-zA-Z_]\w*(?>\.|::))? # a method name prefix
|
182
184
|
(?>[a-zA-Z_]\w*(?>[?!]|=(?!>))? # the method name
|
183
185
|
|===?|>[>=]?|<=>|<[<=]?|[%&`\/\|]|\*\*?|=?~|[-+]@?|\[\]=?) ) )? # …or an operator method
|
184
186
|
/,
|
185
187
|
name: "meta.function.method.without-arguments.ruby"},
|
186
188
|
{match:
|
187
|
-
/\b(0[xX]\h(?>_?\h)*|\d(?>_?\d)*(
|
189
|
+
/\b(?<_1>0[xX]\h(?>_?\h)*|\d(?>_?\d)*(?<_2>\.(?![^[:space:][:digit:]])(?>_?\d)*)?(?<_3>[eE][-+]?\d(?>_?\d)*)?|0[bB][01]+)\b/,
|
188
190
|
name: "constant.numeric.ruby"},
|
189
191
|
{begin: /:'/,
|
190
192
|
captures: {0 => {name: "punctuation.definition.constant.ruby"}},
|
@@ -260,7 +262,7 @@
|
|
260
262
|
[{include: "#interpolated_ruby"},
|
261
263
|
{include: "#escaped_char"},
|
262
264
|
{include: "#nest_parens_i"}]},
|
263
|
-
{begin: /%x([^\w])/,
|
265
|
+
{begin: /%x(?<_1>[^\w])/,
|
264
266
|
beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
|
265
267
|
comment: "execute string (allow for interpolation)",
|
266
268
|
end: "\\1",
|
@@ -298,7 +300,7 @@
|
|
298
300
|
| ^unless\s
|
299
301
|
)
|
300
302
|
)
|
301
|
-
\s*((
|
303
|
+
\s*(?<_1>(?<_2>\/))(?![*+{}?])
|
302
304
|
/,
|
303
305
|
captures:
|
304
306
|
{1 => {name: "string.regexp.classic.ruby"},
|
@@ -336,7 +338,7 @@
|
|
336
338
|
endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
|
337
339
|
name: "string.regexp.mod-r.ruby",
|
338
340
|
patterns: [{include: "#regex_sub"}, {include: "#nest_ltgt_r"}]},
|
339
|
-
{begin: /%r([^\w])/,
|
341
|
+
{begin: /%r(?<_1>[^\w])/,
|
340
342
|
beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
|
341
343
|
comment: "regular expressions (literal)",
|
342
344
|
end: "\\1[eimnosux]*",
|
@@ -383,14 +385,14 @@
|
|
383
385
|
[{include: "#interpolated_ruby"},
|
384
386
|
{include: "#escaped_char"},
|
385
387
|
{include: "#nest_curly_i"}]},
|
386
|
-
{begin: /%[QWSR]([^\w])/,
|
388
|
+
{begin: /%[QWSR](?<_1>[^\w])/,
|
387
389
|
beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
|
388
390
|
comment: "literal capable of interpolation -- wildcard",
|
389
391
|
end: "\\1",
|
390
392
|
endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
|
391
393
|
name: "string.quoted.other.literal.upper.ruby",
|
392
394
|
patterns: [{include: "#interpolated_ruby"}, {include: "#escaped_char"}]},
|
393
|
-
{begin: /%([^\w\s=])/,
|
395
|
+
{begin: /%(?<_1>[^\w\s=])/,
|
394
396
|
beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
|
395
397
|
comment: "literal capable of interpolation -- wildcard",
|
396
398
|
end: "\\1",
|
@@ -433,7 +435,7 @@
|
|
433
435
|
patterns:
|
434
436
|
[{match: /\\\}|\\\\/, name: "constant.character.escape.ruby"},
|
435
437
|
{include: "#nest_curly"}]},
|
436
|
-
{begin: /%[qws]([^\w])/,
|
438
|
+
{begin: /%[qws](?<_1>[^\w])/,
|
437
439
|
beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
|
438
440
|
comment: "literal incapable of interpolation -- wildcard",
|
439
441
|
end: "\\1",
|
@@ -445,12 +447,11 @@
|
|
445
447
|
{captures: {1 => {name: "punctuation.definition.constant.ruby"}},
|
446
448
|
comment: "symbols",
|
447
449
|
match:
|
448
|
-
/(?<!:)(
|
450
|
+
/(?<!:)(?<_1>:)(?>[a-zA-Z_]\w*(?>[?!]|=(?![>=]))?|===?|>[>=]?|<[<=]?|<=>|[%&`\/\|]|\*\*?|=?~|[-+]@?|\[\]=?|@@?[a-zA-Z_]\w*)/,
|
449
451
|
name: "constant.other.symbol.ruby"},
|
450
452
|
{captures: {1 => {name: "punctuation.definition.constant.ruby"}},
|
451
453
|
comment: "symbols",
|
452
|
-
match:
|
453
|
-
/(?>[a-zA-Z_]\w*(?>[?!]|=(?![>=]))?|===?|>[>=]?|<[<=]?|<=>|[%`\/\|]|\*\*?|=?~|[-+]@?|\[\]=?|@@?[a-zA-Z_]\w*)(:)(?!:)/,
|
454
|
+
match: /(?>[a-zA-Z_]\w*(?>[?!])?)(?<_1>:)(?!:)/,
|
454
455
|
name: "constant.other.symbol.ruby.19syntax"},
|
455
456
|
{begin: /^=begin/,
|
456
457
|
captures: {0 => {name: "punctuation.definition.comment.ruby"}},
|
@@ -458,12 +459,12 @@
|
|
458
459
|
end: "^=end",
|
459
460
|
name: "comment.block.documentation.ruby"},
|
460
461
|
{captures: {1 => {name: "punctuation.definition.comment.ruby"}},
|
461
|
-
match: /(?:^[ \t]+)?(
|
462
|
+
match: /(?:^[ \t]+)?(?<_1>#).*$\n?/,
|
462
463
|
name: "comment.line.number-sign.ruby"},
|
463
464
|
{comment:
|
464
465
|
"\n\t\t\tmatches questionmark-letters.\n\n\t\t\texamples (1st alternation = hex):\n\t\t\t?\\x1 ?\\x61\n\n\t\t\texamples (2nd alternation = octal):\n\t\t\t?\\0 ?\\07 ?\\017\n\n\t\t\texamples (3rd alternation = escaped):\n\t\t\t?\\n ?\\b\n\n\t\t\texamples (4th alternation = meta-ctrl):\n\t\t\t?\\C-a ?\\M-a ?\\C-\\M-\\C-\\M-a\n\n\t\t\texamples (4th alternation = normal):\n\t\t\t?a ?A ?0 \n\t\t\t?* ?\" ?( \n\t\t\t?. ?#\n\t\t\t\n\t\t\t\n\t\t\tthe negative lookbehind prevents against matching\n\t\t\tp(42.tainted?)\n\t\t\t",
|
465
466
|
match:
|
466
|
-
/(?<!\w)\?(
|
467
|
+
/(?<!\w)\?(?<_1>\\(?<_2>x\h{1,2}(?!\h)\b|0[0-7]{0,2}(?![0-7])\b|[^x0MC])|(?<_3>\\[MC]-)+\w|[^\s\\])/,
|
467
468
|
name: "constant.numeric.ruby"},
|
468
469
|
{begin: /^__END__\n/,
|
469
470
|
captures: {0 => {name: "string.unquoted.program-block.ruby"}},
|
@@ -475,7 +476,7 @@
|
|
475
476
|
end: "(?=not)impossible",
|
476
477
|
name: "text.html.embedded.ruby",
|
477
478
|
patterns: [{include: "text.html.basic"}]}]},
|
478
|
-
{begin: /(?><<-("?)((?:[_\w]+_|)HTML)\b\
|
479
|
+
{begin: /(?><<-(?<_1>"?)(?<_2>(?:[_\w]+_|)HTML)\b\k<_1>)/,
|
479
480
|
beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
|
480
481
|
comment: "heredoc with embedded HTML and indented terminator",
|
481
482
|
contentName: "text.html.embedded.ruby",
|
@@ -487,7 +488,7 @@
|
|
487
488
|
{include: "text.html.basic"},
|
488
489
|
{include: "#interpolated_ruby"},
|
489
490
|
{include: "#escaped_char"}]},
|
490
|
-
{begin: /(?><<-("?)((?:[_\w]+_|)SQL)\b\
|
491
|
+
{begin: /(?><<-(?<_1>"?)(?<_2>(?:[_\w]+_|)SQL)\b\k<_1>)/,
|
491
492
|
beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
|
492
493
|
comment: "heredoc with embedded SQL and indented terminator",
|
493
494
|
contentName: "text.sql.embedded.ruby",
|
@@ -499,7 +500,7 @@
|
|
499
500
|
{include: "source.sql"},
|
500
501
|
{include: "#interpolated_ruby"},
|
501
502
|
{include: "#escaped_char"}]},
|
502
|
-
{begin: /(?><<-("?)((?:[_\w]+_|)CSS)\b\
|
503
|
+
{begin: /(?><<-(?<_1>"?)(?<_2>(?:[_\w]+_|)CSS)\b\k<_1>)/,
|
503
504
|
beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
|
504
505
|
comment: "heredoc with embedded css and intented terminator",
|
505
506
|
contentName: "text.css.embedded.ruby",
|
@@ -511,7 +512,7 @@
|
|
511
512
|
{include: "source.css"},
|
512
513
|
{include: "#interpolated_ruby"},
|
513
514
|
{include: "#escaped_char"}]},
|
514
|
-
{begin: /(?><<-("?)((?:[_\w]+_|)CPP)\b\
|
515
|
+
{begin: /(?><<-(?<_1>"?)(?<_2>(?:[_\w]+_|)CPP)\b\k<_1>)/,
|
515
516
|
beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
|
516
517
|
comment: "heredoc with embedded c++ and intented terminator",
|
517
518
|
contentName: "text.c++.embedded.ruby",
|
@@ -523,7 +524,7 @@
|
|
523
524
|
{include: "source.c++"},
|
524
525
|
{include: "#interpolated_ruby"},
|
525
526
|
{include: "#escaped_char"}]},
|
526
|
-
{begin: /(?><<-("?)((?:[_\w]+_|)C)\b\
|
527
|
+
{begin: /(?><<-(?<_1>"?)(?<_2>(?:[_\w]+_|)C)\b\k<_1>)/,
|
527
528
|
beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
|
528
529
|
comment: "heredoc with embedded c++ and intented terminator",
|
529
530
|
contentName: "text.c.embedded.ruby",
|
@@ -535,7 +536,7 @@
|
|
535
536
|
{include: "source.c"},
|
536
537
|
{include: "#interpolated_ruby"},
|
537
538
|
{include: "#escaped_char"}]},
|
538
|
-
{begin: /(?><<-("?)((?:[_\w]+_|)(?:JS|JAVASCRIPT))\b\
|
539
|
+
{begin: /(?><<-(?<_1>"?)(?<_2>(?:[_\w]+_|)(?:JS|JAVASCRIPT))\b\k<_1>)/,
|
539
540
|
beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
|
540
541
|
comment: "heredoc with embedded javascript and intented terminator",
|
541
542
|
contentName: "text.js.embedded.ruby",
|
@@ -547,7 +548,7 @@
|
|
547
548
|
{include: "source.js"},
|
548
549
|
{include: "#interpolated_ruby"},
|
549
550
|
{include: "#escaped_char"}]},
|
550
|
-
{begin: /(?><<-("?)((?:[_\w]+_|)JQUERY)\b\
|
551
|
+
{begin: /(?><<-(?<_1>"?)(?<_2>(?:[_\w]+_|)JQUERY)\b\k<_1>)/,
|
551
552
|
beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
|
552
553
|
comment: "heredoc with embedded javascript and intented terminator",
|
553
554
|
contentName: "text.js.jquery.embedded.ruby",
|
@@ -559,7 +560,7 @@
|
|
559
560
|
{include: "source.js.jquery"},
|
560
561
|
{include: "#interpolated_ruby"},
|
561
562
|
{include: "#escaped_char"}]},
|
562
|
-
{begin: /(?><<-("?)((?:[_\w]+_|)(?:SH|SHELL))\b\
|
563
|
+
{begin: /(?><<-(?<_1>"?)(?<_2>(?:[_\w]+_|)(?:SH|SHELL))\b\k<_1>)/,
|
563
564
|
beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
|
564
565
|
comment: "heredoc with embedded shell and intented terminator",
|
565
566
|
contentName: "text.shell.embedded.ruby",
|
@@ -571,7 +572,7 @@
|
|
571
572
|
{include: "source.shell"},
|
572
573
|
{include: "#interpolated_ruby"},
|
573
574
|
{include: "#escaped_char"}]},
|
574
|
-
{begin: /(?><<-("?)((?:[_\w]+_|)RUBY)\b\
|
575
|
+
{begin: /(?><<-(?<_1>"?)(?<_2>(?:[_\w]+_|)RUBY)\b\k<_1>)/,
|
575
576
|
beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
|
576
577
|
comment: "heredoc with embedded ruby and intented terminator",
|
577
578
|
contentName: "text.ruby.embedded.ruby",
|
@@ -583,7 +584,7 @@
|
|
583
584
|
{include: "source.ruby"},
|
584
585
|
{include: "#interpolated_ruby"},
|
585
586
|
{include: "#escaped_char"}]},
|
586
|
-
{begin: /(?>\=\s*<<(
|
587
|
+
{begin: /(?>\=\s*<<(?<_1>\w+))/,
|
587
588
|
beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
|
588
589
|
end: "^\\1$",
|
589
590
|
endCaptures: {0 => {name: "punctuation.definition.string.end.ruby"}},
|
@@ -592,7 +593,7 @@
|
|
592
593
|
[{include: "#heredoc"},
|
593
594
|
{include: "#interpolated_ruby"},
|
594
595
|
{include: "#escaped_char"}]},
|
595
|
-
{begin: /(?><<-(
|
596
|
+
{begin: /(?><<-(?<_1>\w+))/,
|
596
597
|
beginCaptures: {0 => {name: "punctuation.definition.string.begin.ruby"}},
|
597
598
|
comment: "heredoc with indented terminator",
|
598
599
|
end: "\\s*\\1$",
|
@@ -602,7 +603,7 @@
|
|
602
603
|
[{include: "#heredoc"},
|
603
604
|
{include: "#interpolated_ruby"},
|
604
605
|
{include: "#escaped_char"}]},
|
605
|
-
{begin: /(?<=\{|do|\{\s|do\s)(
|
606
|
+
{begin: /(?<=\{|do|\{\s|do\s)(?<_1>\|)/,
|
606
607
|
captures: {1 => {name: "punctuation.separator.variable.ruby"}},
|
607
608
|
end: "(\\|)",
|
608
609
|
patterns:
|
@@ -615,7 +616,8 @@
|
|
615
616
|
name: "keyword.operator.comparison.ruby"},
|
616
617
|
{match: /(?<=[ \t])!+|\bnot\b|&&|\band\b|\|\||\bor\b|\^/,
|
617
618
|
name: "keyword.operator.logical.ruby"},
|
618
|
-
{match: /(
|
619
|
+
{match: /(?<_1>%|&|\*\*|\*|\+|\-|\/)/,
|
620
|
+
name: "keyword.operator.arithmetic.ruby"},
|
619
621
|
{match: /=/, name: "keyword.operator.assignment.ruby"},
|
620
622
|
{match: /\||~|>>/, name: "keyword.operator.other.ruby"},
|
621
623
|
{match: /:/, name: "punctuation.separator.other.ruby"},
|
@@ -635,7 +637,7 @@
|
|
635
637
|
[{captures:
|
636
638
|
{0 => {name: "punctuation.section.embedded.ruby"},
|
637
639
|
1 => {name: "source.ruby.embedded.source.empty"}},
|
638
|
-
match: /#\{(
|
640
|
+
match: /#\{(?<_1>\})/,
|
639
641
|
name: "source.ruby.embedded.source"},
|
640
642
|
{begin: /#\{/,
|
641
643
|
captures: {0 => {name: "punctuation.section.embedded.ruby"}},
|
@@ -643,13 +645,13 @@
|
|
643
645
|
name: "source.ruby.embedded.source",
|
644
646
|
patterns: [{include: "#nest_curly_and_self"}, {include: "$self"}]},
|
645
647
|
{captures: {1 => {name: "punctuation.definition.variable.ruby"}},
|
646
|
-
match: /(
|
648
|
+
match: /(?<_1>\#@)[a-zA-Z_]\w*/,
|
647
649
|
name: "variable.other.readwrite.instance.ruby"},
|
648
650
|
{captures: {1 => {name: "punctuation.definition.variable.ruby"}},
|
649
|
-
match: /(
|
651
|
+
match: /(?<_1>\#@@)[a-zA-Z_]\w*/,
|
650
652
|
name: "variable.other.readwrite.class.ruby"},
|
651
653
|
{captures: {1 => {name: "punctuation.definition.variable.ruby"}},
|
652
|
-
match: /(
|
654
|
+
match: /(?<_1>#\$)[a-zA-Z_]\w*/,
|
653
655
|
name: "variable.other.readwrite.global.ruby"}]},
|
654
656
|
nest_brackets:
|
655
657
|
{begin: /\[/,
|
@@ -737,7 +739,7 @@
|
|
737
739
|
{captures:
|
738
740
|
{1 => {name: "punctuation.definition.arbitrary-repitition.ruby"},
|
739
741
|
3 => {name: "punctuation.definition.arbitrary-repitition.ruby"}},
|
740
|
-
match: /(
|
742
|
+
match: /(?<_1>\{)\d+(?<_2>,\d+)?(?<_3>\})/,
|
741
743
|
name: "string.regexp.arbitrary-repitition.ruby"},
|
742
744
|
{begin: /\[(?:\^?\])?/,
|
743
745
|
captures: {0 => {name: "punctuation.definition.character-class.ruby"}},
|
@@ -752,7 +754,7 @@
|
|
752
754
|
{captures: {1 => {name: "punctuation.definition.comment.ruby"}},
|
753
755
|
comment:
|
754
756
|
"We are restrictive in what we allow to go after the comment character to avoid false positives, since the availability of comments depend on regexp flags.",
|
755
|
-
match: /(?<=^|\s)(
|
757
|
+
match: /(?<=^|\s)(?<_1>#)\s[[a-zA-Z0-9,. \t?!-][^\x00-\x7F]]*$/,
|
756
758
|
name: "comment.line.number-sign.ruby"}]}},
|
757
759
|
scopeName: "source.ruby",
|
758
760
|
uuid: "E00B62AC-6B1C-11D9-9B1F-000D93589AF6"}
|