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
data/config/syntax/Dylan.json
CHANGED
@@ -8,18 +8,18 @@
|
|
8
8
|
"name": "Dylan",
|
9
9
|
"patterns": [
|
10
10
|
{
|
11
|
-
"begin": "
|
11
|
+
"begin": "/\\*",
|
12
12
|
"captures": {
|
13
13
|
"0": {
|
14
14
|
"name": "punctuation.definition.comment.dylan"
|
15
15
|
}
|
16
16
|
},
|
17
17
|
"comment": "TODO -- Dylan allows nested comments.",
|
18
|
-
"end": "
|
18
|
+
"end": "\\*/",
|
19
19
|
"name": "comment.block.dylan"
|
20
20
|
},
|
21
21
|
{
|
22
|
-
"begin": "
|
22
|
+
"begin": "//",
|
23
23
|
"beginCaptures": {
|
24
24
|
"0": {
|
25
25
|
"name": "punctuation.definition.comment.dylan"
|
@@ -95,7 +95,7 @@
|
|
95
95
|
"name": "support.class.dylan"
|
96
96
|
},
|
97
97
|
{
|
98
|
-
"match": "\\b(?<!-)(abort|abs|add|add!|add-method|add-new|add-new!|all-superclasses|always|any?|applicable-method?|apply|aref|aref-setter|as|as-lowercase|as-lowercase!|as-uppercase|as-uppercase!|ash|backward-iteration-protocol|break|ceiling|ceiling
|
98
|
+
"match": "\\b(?<!-)(abort|abs|add|add!|add-method|add-new|add-new!|all-superclasses|always|any?|applicable-method?|apply|aref|aref-setter|as|as-lowercase|as-lowercase!|as-uppercase|as-uppercase!|ash|backward-iteration-protocol|break|ceiling|ceiling/|cerror|check-type|choose|choose-by|complement|compose|concatenate|concatenate-as|condition-format-arguments|condition-format-string|conjoin|copy-sequence|curry|default-handler|dimension|dimensions|direct-subclasses|direct-superclasses|disjoin|do|do-handlers|element|element-setter|empty?|error|even?|every?|fill!|find-key|find-method|first|first-setter|floor|floor/|forward-iteration-protocol|function-arguments|function-return-values|function-specializers|gcd|generic-function-mandatory-|keywords|generic-function-methods|head|head-setter|identity|initialize|instance?|integral?|intersection|key-sequence|key-test|last|last-setter|lcm|limited|list|logand|logbit?|logior|lognot|logxor|make|map|map-as|map-into|max|member?|merge-hash-codes|min|modulo|negative|negative?|object-class|object-hash|odd?|pair|pop|pop-last|positive?|push|push-last|range|rank|rcurry|reduce|reduce1|remainder|remove|remove!|remove-duplicates|remove-duplicates!|remove-key!|remove-method|replace-elements!|replace-subsequence!|restart-query|return-allowed?|return-description|return-query|reverse|reverse!|round|round/|row-major-index|second|second-setter|shallow-copy|signal|singleton|size|size-setter|slot-initialized?|sort|sort!|sorted-applicable-methods|subsequence-position|subtype?|table-protocol|tail|tail-setter|third|third-setter|truncate|truncate/|type-error-expected-type|type-error-value|type-for-copy|type-union|union|values|vector|zero?)(?![:-])\\b",
|
99
99
|
"name": "support.function.dylan"
|
100
100
|
}
|
101
101
|
],
|
data/config/syntax/Erlang.json
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
{
|
2
|
-
"comment": "The recognition of function definitions and compiler directives (such as module, record and macro definitions) requires that each of the aforementioned constructs must be the first string inside a line (except for whitespace). Also, the function
|
2
|
+
"comment": "The recognition of function definitions and compiler directives (such as module, record and macro definitions) requires that each of the aforementioned constructs must be the first string inside a line (except for whitespace). Also, the function/module/record/macro names must be given unquoted. -- desp",
|
3
3
|
"fileTypes": [
|
4
4
|
"erl",
|
5
5
|
"hrl"
|
@@ -448,7 +448,7 @@
|
|
448
448
|
"name": "punctuation.separator.function-arity.erlang"
|
449
449
|
}
|
450
450
|
},
|
451
|
-
"match": "\\b(fun)\\s*+(([a-z][a-zA-Z\\d@_]*+)\\s*+(:)\\s*+)?([a-z][a-zA-Z\\d@_]*+)\\s*(
|
451
|
+
"match": "\\b(fun)\\s*+(([a-z][a-zA-Z\\d@_]*+)\\s*+(:)\\s*+)?([a-z][a-zA-Z\\d@_]*+)\\s*(/)"
|
452
452
|
},
|
453
453
|
{
|
454
454
|
"begin": "\\b(fun)\\b",
|
@@ -761,7 +761,7 @@
|
|
761
761
|
"name": "meta.structure.list.function.erlang",
|
762
762
|
"patterns": [
|
763
763
|
{
|
764
|
-
"begin": "([a-z][a-zA-Z\\d@_]*+)\\s*+(
|
764
|
+
"begin": "([a-z][a-zA-Z\\d@_]*+)\\s*+(/)",
|
765
765
|
"beginCaptures": {
|
766
766
|
"1": {
|
767
767
|
"name": "entity.name.function.erlang"
|
@@ -891,7 +891,7 @@
|
|
891
891
|
]
|
892
892
|
},
|
893
893
|
"internal-type-specifiers": {
|
894
|
-
"begin": "(
|
894
|
+
"begin": "(/)",
|
895
895
|
"beginCaptures": {
|
896
896
|
"1": {
|
897
897
|
"name": "punctuation.separator.value-type.erlang"
|
@@ -1588,7 +1588,7 @@
|
|
1588
1588
|
]
|
1589
1589
|
},
|
1590
1590
|
"symbolic-operator": {
|
1591
|
-
"match": "
|
1591
|
+
"match": "\\+\\+|\\+|--|-|\\*|/=|/|=/=|=:=|==|=<|=|<-|<|>=|>|!",
|
1592
1592
|
"name": "keyword.operator.symbolic.erlang"
|
1593
1593
|
},
|
1594
1594
|
"textual-operator": {
|
data/config/syntax/F-Script.json
CHANGED
@@ -25,7 +25,7 @@
|
|
25
25
|
"name": "constant.numeric.fscript"
|
26
26
|
},
|
27
27
|
{
|
28
|
-
"match": "#([[:lower:]]|_|[
|
28
|
+
"match": "#([[:lower:]]|_|[+=\\-/!%&*|><~?])(\\w|[+=\\-/!%&*|><~?:])*",
|
29
29
|
"name": "constant.other.block.compact.fscript"
|
30
30
|
},
|
31
31
|
{
|
data/config/syntax/FXScript.json
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
"fxscript"
|
4
4
|
],
|
5
5
|
"foldingStartMarker": "(^|(?<=;)[ \\t]*)on[ \\t]+(\\w+)[ \\t]*",
|
6
|
-
"foldingStopMarker": "end(;|;?[ \\t]*|;?[ \\t]
|
6
|
+
"foldingStopMarker": "end(;|;?[ \\t]*|;?[ \\t]*//.*[ \\t]*)",
|
7
7
|
"keyEquivalent": "^~F",
|
8
8
|
"name": "FXScript",
|
9
9
|
"patterns": [
|
@@ -14,7 +14,7 @@
|
|
14
14
|
"name": "entity.name.function.fxscript"
|
15
15
|
}
|
16
16
|
},
|
17
|
-
"end": "end(;|;?[ \\t]*\\n|;?[ \\t]
|
17
|
+
"end": "end(;|;?[ \\t]*\\n|;?[ \\t]*//.*[ \\t]*\\n)",
|
18
18
|
"name": "meta.function.fxscript",
|
19
19
|
"patterns": [
|
20
20
|
{
|
@@ -74,11 +74,11 @@
|
|
74
74
|
"name": "keyword.control.fxscrpt"
|
75
75
|
},
|
76
76
|
{
|
77
|
-
"match": "
|
77
|
+
"match": "/b(?i:AlphaType|EffectID|FullFrame|Group|InformationFlag|InvalEntireItem|KeyType|ProducesAlpha|QTEffect|RenderEachFrameWhenStill|WipeCode)/b",
|
78
78
|
"name": "keyword.other.definition-statements.fxscript"
|
79
79
|
},
|
80
80
|
{
|
81
|
-
"match": "
|
81
|
+
"match": "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|==|=|!=|!==|<=|>=|<|>|!|&&|\\|\\||\\?\\:|\\*=|/=|%=|\\+=|\\-=|&=|\\^=",
|
82
82
|
"name": "keyword.operator.arithmetic.fxscrpt"
|
83
83
|
},
|
84
84
|
{
|
@@ -87,7 +87,7 @@
|
|
87
87
|
"name": "punctuation.definition.comment.fxscript"
|
88
88
|
}
|
89
89
|
},
|
90
|
-
"match": "(
|
90
|
+
"match": "(//).*$\\n?",
|
91
91
|
"name": "comment.line.double-slash.fxscript"
|
92
92
|
},
|
93
93
|
{
|
@@ -0,0 +1,221 @@
|
|
1
|
+
{
|
2
|
+
"comment": "Specificities of Fortran >= 90",
|
3
|
+
"fileTypes": [
|
4
|
+
"f90",
|
5
|
+
"F90",
|
6
|
+
"f95",
|
7
|
+
"F95",
|
8
|
+
"f03",
|
9
|
+
"F03",
|
10
|
+
"f08",
|
11
|
+
"F08"
|
12
|
+
],
|
13
|
+
"firstLineMatch": "(?i)-[*]- mode: f90 -[*]-",
|
14
|
+
"foldingStartMarker": "(?x)\t\t\t\t# extended mode\n\t\t\t\t^\\s*\t\t\t\t\t\t# start of line and some space\n\t\t\t\t(?i:\t\t\t\t\t\t# case insensitive match\n\t\t\t\t\t(\n\t\t\t\t\t\tif.*then\t\t\t\t# if ... then\n\t\t\t\t\t\t|for|do|select\\s+case|where|interface\t# some easy keywords\n\t\t\t\t\t\t|module(?!\\s*procedure)\t# module not followed by procedure\n\t\t\t\t\t\t|type(?!\\s*\\()\t\t# type but not type(\n\t\t\t\t\t)\n\t\t\t \t\t|\t\t\t\t\t# ...or...\n\t\t\t\t\t(\n\t\t\t\t\t\t[a-z]*(?<!end)\\s*(function|subroutine)\t# possibly some letters, but not the word end, and a space, then function\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t\t.*$\t\t\t\t\t\t# anything until the end of the line\n\t\t\t",
|
15
|
+
"foldingStopMarker": "(?x)\t\t\t\t# extended mode\n\t\t\t\t^\\s*\t\t\t\t\t\t# start of line and some space\n\t\t\t\t(?i:(end))\t\t\t\t# the word end, was insensitive\n\t\t\t\t.*$\t\t\t\t\t\t# anything until the end of the line\n\t\t\t",
|
16
|
+
"keyEquivalent": "^~F",
|
17
|
+
"name": "Fortran - Modern",
|
18
|
+
"patterns": [
|
19
|
+
{
|
20
|
+
"begin": "^[Cc]\\s+",
|
21
|
+
"beginCaptures": {
|
22
|
+
"0": {
|
23
|
+
"name": "punctuation.definition.comment.fortran"
|
24
|
+
}
|
25
|
+
},
|
26
|
+
"end": "$\\n?",
|
27
|
+
"name": "invalid.deprecated.comment.line.fortran",
|
28
|
+
"patterns": [
|
29
|
+
{
|
30
|
+
"match": "\\\\\\s*\\n"
|
31
|
+
}
|
32
|
+
]
|
33
|
+
},
|
34
|
+
{
|
35
|
+
"include": "source.fortran"
|
36
|
+
},
|
37
|
+
{
|
38
|
+
"begin": "(?x:\t\t\t\t\t# extended mode\n\t\t\t\t\t^\n\t\t\t\t\t\\s*\t\t\t\t\t# start of line and possibly some space\n\t\t\t\t\t(?i:(interface))\t\t# 1: word interface\n\t\t\t\t\t\\s+\t\t\t\t\t# some space\n\t\t\t\t\t(?i:(operator|assignment))\t\t# 2: the words operator or assignment\n\t\t\t\t\t\\(\t\t\t\t\t# opening parenthesis\n\t\t\t\t\t((\\.[a-zA-Z0-9_]+\\.)|[\\+\\-\\=\\/\\*]+)\t# 3: an operator\n\t\t\t\t\t\n\t\t\t\t\t\\)\t\t\t\t\t# closing parenthesis\n\t\t\t\t\t)",
|
39
|
+
"beginCaptures": {
|
40
|
+
"1": {
|
41
|
+
"name": "storage.type.function.fortran"
|
42
|
+
},
|
43
|
+
"2": {
|
44
|
+
"name": "storage.type.fortran"
|
45
|
+
},
|
46
|
+
"3": {
|
47
|
+
"name": "keyword.operator.fortran"
|
48
|
+
}
|
49
|
+
},
|
50
|
+
"comment": "Interface declaration of operator/assignments",
|
51
|
+
"end": "(?x:\n\t\t\t\t\t((?i:end))\t\t\t# 1: the word end\n\t\t\t\t\t\\s*\t\t\t\t\t# possibly some space\n\t\t\t\t\t((?i:interface)?) \t\t# 2: possibly interface\n\t\t\t\t\t)",
|
52
|
+
"endCaptures": {
|
53
|
+
"1": {
|
54
|
+
"name": "keyword.other.fortran"
|
55
|
+
},
|
56
|
+
"2": {
|
57
|
+
"name": "storage.type.function.fortran"
|
58
|
+
}
|
59
|
+
},
|
60
|
+
"name": "meta.function.interface.operator.fortran.modern",
|
61
|
+
"patterns": [
|
62
|
+
{
|
63
|
+
"include": "$self"
|
64
|
+
}
|
65
|
+
]
|
66
|
+
},
|
67
|
+
{
|
68
|
+
"begin": "(?x:\t\t\t\t\t# extended mode\n\t\t\t\t\t^\n\t\t\t\t\t\\s*\t\t\t\t\t# start of line and possibly some space\n\t\t\t\t\t(?i:(interface))\t\t# 1: word interface\n\t\t\t\t\t\\s+\t\t\t\t\t# some space\n\t\t\t\t\t([A-Za-z_][A-Za-z0-9_]*)\t# 1: name\n\t\t\t\t\t)",
|
69
|
+
"beginCaptures": {
|
70
|
+
"1": {
|
71
|
+
"name": "storage.type.function.fortran"
|
72
|
+
},
|
73
|
+
"2": {
|
74
|
+
"name": "entity.name.function.fortran"
|
75
|
+
}
|
76
|
+
},
|
77
|
+
"comment": "Interface declaration of function/subroutines",
|
78
|
+
"end": "(?x:\t\t\t\t# extended mode\n\t\t\t\t\t((?i:end))\t\t# 1: the word end\n\t\t\t\t\t\\s*\t\t\t\t# possibly some space\n\t\t\t\t\t((?i:interface)?) \t# 2: possibly interface\n\t\t\t\t\t)",
|
79
|
+
"endCaptures": {
|
80
|
+
"1": {
|
81
|
+
"name": "keyword.other.fortran"
|
82
|
+
},
|
83
|
+
"2": {
|
84
|
+
"name": "storage.type.function.fortran"
|
85
|
+
}
|
86
|
+
},
|
87
|
+
"name": "meta.function.interface.fortran.modern",
|
88
|
+
"patterns": [
|
89
|
+
{
|
90
|
+
"include": "$self"
|
91
|
+
}
|
92
|
+
]
|
93
|
+
},
|
94
|
+
{
|
95
|
+
"begin": "(?x:\t\t\t# extended mode\n\t\t\t\t\t^\\s*\t\t\t# begining of line and some space\n\t\t\t\t\t(?i:(type))\t# 1: word type\n\t\t\t\t\t\\s+\t\t\t# some space\n\t\t\t\t\t([a-zA-Z_][a-zA-Z0-9_]*)\t# 2: type name\n\t\t\t\t\t)",
|
96
|
+
"beginCaptures": {
|
97
|
+
"1": {
|
98
|
+
"name": "storage.type.fortran.modern"
|
99
|
+
},
|
100
|
+
"2": {
|
101
|
+
"name": "entity.name.type.fortran.modern"
|
102
|
+
}
|
103
|
+
},
|
104
|
+
"comment": "Type definition",
|
105
|
+
"end": "(?x:\n\t\t\t\t\t((?i:end))\t\t\t# 1: the word end\n\t\t\t\t\t\\s*\t\t\t\t\t# possibly some space\n\t\t\t\t\t(?i:(type))? \t\t\t# 2: possibly the word type\n\t\t\t\t\t(\\s+[A-Za-z_][A-Za-z0-9_]*)?\t# 3: possibly the name\n\t\t\t\t\t)",
|
106
|
+
"endCaptures": {
|
107
|
+
"1": {
|
108
|
+
"name": "keyword.other.fortran"
|
109
|
+
},
|
110
|
+
"2": {
|
111
|
+
"name": "storage.type.fortran.modern"
|
112
|
+
},
|
113
|
+
"3": {
|
114
|
+
"name": "entity.name.type.end.fortran.modern"
|
115
|
+
}
|
116
|
+
},
|
117
|
+
"name": "meta.type-definition.fortran.modern",
|
118
|
+
"patterns": [
|
119
|
+
{
|
120
|
+
"include": "$self"
|
121
|
+
}
|
122
|
+
]
|
123
|
+
},
|
124
|
+
{
|
125
|
+
"begin": "(!-)",
|
126
|
+
"beginCaptures": {
|
127
|
+
"0": {
|
128
|
+
"name": "punctuation.definition.comment.fortran"
|
129
|
+
}
|
130
|
+
},
|
131
|
+
"end": "$\\n?",
|
132
|
+
"name": "comment.line.exclamation.mark.fortran.modern",
|
133
|
+
"patterns": [
|
134
|
+
{
|
135
|
+
"match": "\\\\\\s*\\n"
|
136
|
+
}
|
137
|
+
]
|
138
|
+
},
|
139
|
+
{
|
140
|
+
"begin": "[!]",
|
141
|
+
"beginCaptures": {
|
142
|
+
"0": {
|
143
|
+
"name": "punctuation.definition.comment.fortran"
|
144
|
+
}
|
145
|
+
},
|
146
|
+
"end": "$\\n?",
|
147
|
+
"name": "comment.line.exclamation.fortran.modern",
|
148
|
+
"patterns": [
|
149
|
+
{
|
150
|
+
"match": "\\\\\\s*\\n"
|
151
|
+
}
|
152
|
+
]
|
153
|
+
},
|
154
|
+
{
|
155
|
+
"comment": "statements controling the flow of the program",
|
156
|
+
"match": "\\b(?i:(select\\s+case|case(\\s+default)?|end\\s+select|use|(end\\s+)?forall))\\b",
|
157
|
+
"name": "keyword.control.fortran.modern"
|
158
|
+
},
|
159
|
+
{
|
160
|
+
"comment": "input/output instrinsics",
|
161
|
+
"match": "\\b(?i:(access|action|advance|append|apostrophe|asis|blank|delete|delim|direct|end|eor|err|exist|file|fmt|form|formatted|iolength|iostat|keep|name|named|nextrec|new|nml|no|null|number|old|opened|pad|position|quote|read|readwrite|rec|recl|replace|scratch|sequential|size|status|undefined|unformatted|unit|unknown|write|yes|zero|namelist)(?=\\())",
|
162
|
+
"name": "keyword.control.io.fortran.modern"
|
163
|
+
},
|
164
|
+
{
|
165
|
+
"comment": "logical operators in symbolic format",
|
166
|
+
"match": "\\b(\\=\\=|\\/\\=|\\>\\=|\\>|\\<|\\<\\=)\\b",
|
167
|
+
"name": "keyword.operator.logical.fortran.modern"
|
168
|
+
},
|
169
|
+
{
|
170
|
+
"comment": "operators",
|
171
|
+
"match": "(\\%|\\=\\>)",
|
172
|
+
"name": "keyword.operator.fortran.modern"
|
173
|
+
},
|
174
|
+
{
|
175
|
+
"comment": "numeric instrinsics",
|
176
|
+
"match": "\\b(?i:(ceiling|floor|modulo)(?=\\())",
|
177
|
+
"name": "keyword.other.instrinsic.numeric.fortran.modern"
|
178
|
+
},
|
179
|
+
{
|
180
|
+
"comment": "matrix/vector/array instrinsics",
|
181
|
+
"match": "\\b(?i:(allocate|allocated|deallocate)(?=\\())",
|
182
|
+
"name": "keyword.other.instrinsic.array.fortran.modern"
|
183
|
+
},
|
184
|
+
{
|
185
|
+
"comment": "pointer instrinsics",
|
186
|
+
"match": "\\b(?i:(associated)(?=\\())",
|
187
|
+
"name": "keyword.other.instrinsic.pointer.fortran.modern"
|
188
|
+
},
|
189
|
+
{
|
190
|
+
"comment": "programming units",
|
191
|
+
"match": "\\b(?i:((end\\s*)?(interface|procedure|module)))\\b",
|
192
|
+
"name": "keyword.other.programming-units.fortran.modern"
|
193
|
+
},
|
194
|
+
{
|
195
|
+
"begin": "\\b(?i:(type(?=\\s*\\()))\\b(?=.*::)",
|
196
|
+
"beginCaptures": {
|
197
|
+
"1": {
|
198
|
+
"name": "storage.type.fortran.modern"
|
199
|
+
}
|
200
|
+
},
|
201
|
+
"comment": "Line of type specification",
|
202
|
+
"end": "(?=!)|$",
|
203
|
+
"name": "meta.specification.fortran.modern",
|
204
|
+
"patterns": [
|
205
|
+
{
|
206
|
+
"include": "$base"
|
207
|
+
}
|
208
|
+
]
|
209
|
+
},
|
210
|
+
{
|
211
|
+
"match": "\\b(?i:(type(?=\\s*\\()))\\b",
|
212
|
+
"name": "storage.type.fortran.modern"
|
213
|
+
},
|
214
|
+
{
|
215
|
+
"match": "\\b(?i:(optional|recursive|pointer|allocatable|target|private|public))\\b",
|
216
|
+
"name": "storage.modifier.fortran.modern"
|
217
|
+
}
|
218
|
+
],
|
219
|
+
"scopeName": "source.fortran.modern",
|
220
|
+
"uuid": "016CA1B6-8351-4B17-9215-29C275D5D973"
|
221
|
+
}
|
@@ -0,0 +1,468 @@
|
|
1
|
+
{
|
2
|
+
"comment": "?i: has to be added everywhere because fortran is case insensitive; NB: order of matching matters",
|
3
|
+
"fileTypes": [
|
4
|
+
"f",
|
5
|
+
"F",
|
6
|
+
"f77",
|
7
|
+
"F77",
|
8
|
+
"for",
|
9
|
+
"FOR",
|
10
|
+
"fpp",
|
11
|
+
"FPP"
|
12
|
+
],
|
13
|
+
"foldingStartMarker": "(?x:\t\t# extended mode\n\t\t^\\s*\t\t\t\t\t\t# start of line and some space\n\t\t(?i:\t\t\t\t\t\t# case insensitive match\n\t\t\t(\n\t\t\t\tif.*then\t\t\t# if ... then\n\t\t\t\t|for|do|select\\s+case|where|interface\t# some easy keywords\n\t\t\t\t|module(?!\\s*procedure)\t\t\t\t# module not followed by procedure\n\t\t\t\t|type(?!\\s*\\()\t# type but not type(\n\t\t\t)\n\t\t\t|\t\t\t\t\t# ...or...\n\t\t\t(\n\t\t\t\t[a-z]*(?<!end)\\s*(function|subroutine)\t# possibly some letters, but not the word end, and a space, then function\n\t\t\t)\n\t\t)\n\t\t.*$\t\t\t\t\t\t# anything until the end of the line\n\t\t)",
|
14
|
+
"foldingStopMarker": "(?x:\t\t# extended mode\n\t\t^\\s*\t\t\t\t# start of line and some space\n\t\t(?i:(end))\t\t# the word end, case insensitive\n\t\t.*$\t\t\t\t# anything until the end of the line\n\t\t)",
|
15
|
+
"name": "Fortran - Punchcard",
|
16
|
+
"patterns": [
|
17
|
+
{
|
18
|
+
"include": "#preprocessor-rule-enabled"
|
19
|
+
},
|
20
|
+
{
|
21
|
+
"include": "#preprocessor-rule-disabled"
|
22
|
+
},
|
23
|
+
{
|
24
|
+
"include": "#preprocessor-rule-other"
|
25
|
+
},
|
26
|
+
{
|
27
|
+
"comment": "built-in constants",
|
28
|
+
"match": "(?i:(r8|r4|\\.TRUE\\.|\\.FALSE\\.))",
|
29
|
+
"name": "constant.language.fortran"
|
30
|
+
},
|
31
|
+
{
|
32
|
+
"comment": "numbers",
|
33
|
+
"match": "\\b[\\+\\-]?[0-9]+\\.?[0-9a-zA-Z_]*\\b",
|
34
|
+
"name": "constant.numeric.fortran"
|
35
|
+
},
|
36
|
+
{
|
37
|
+
"begin": "(?x:\t\t\t\t\t# extended mode\n\t\t\t\t\t^\n\t\t\t\t\t\\s*\t\t\t\t\t# start of line and possibly some space\n\t\t\t\t\t([a-zA-Z\\(\\)]*)(?<!end)\t# 1: possibly some type specification but not the word end\n\t\t\t\t\t\\s*\t\t\t\t\t# possibly some space\n\t\t\t\t\t(?i:(function|subroutine))\\b\t# 2: function or subroutine\n\t\t\t\t\t\\s+\t\t\t\t\t# some space\n\t\t\t\t\t([A-Za-z_][A-Za-z0-9_]*)\t\t# 3: name\n\t\t\t\t\t\\s*\t\t\t\t\t# possibly some space\n\t\t\t\t\t(\\()\t\t\t\t\t# 4: opening parenthesis\n\t\t\t\t\t([^)]*)? \t\t# 5: arguments (anything but a parenthesis)\n\t\t\t\t\t(\\))?\t\t\t\t\t# 6: closing parenthesis\n\t\t\t\t\t)",
|
38
|
+
"beginCaptures": {
|
39
|
+
"1": {
|
40
|
+
"name": "storage.type.fortran"
|
41
|
+
},
|
42
|
+
"2": {
|
43
|
+
"name": "storage.type.function.fortran"
|
44
|
+
},
|
45
|
+
"3": {
|
46
|
+
"name": "entity.name.function.fortran"
|
47
|
+
},
|
48
|
+
"4": {
|
49
|
+
"name": "punctuation.definition.parameters.fortran"
|
50
|
+
},
|
51
|
+
"5": {
|
52
|
+
"name": "variable.parameter.fortran"
|
53
|
+
},
|
54
|
+
"6": {
|
55
|
+
"name": "punctuation.definition.parameters.fortran"
|
56
|
+
}
|
57
|
+
},
|
58
|
+
"comment": "First line of function/subroutine definition",
|
59
|
+
"end": "(?x:\t\t\t\t\t# extended mode\n\t\t\t\t\t((?i:end))\t\t\t# 1: the word end\n\t\t\t\t\t(\t\t\t\t\t# followed by\n\t\t\t\t\t\t$\t\t\t\t# end of line\n\t\t\t\t\t|\t\t\t\t\t# or\n\t\t\t\t\t\t\\s*\t\t\t\t# possibly some space\n\t\t\t\t\t\t(?i:(function|subroutine))\t# 2: function or subroutine\n\t\t\t\t\t\t((\\s+[A-Za-z_][A-Za-z0-9_]*)?)\t# 3: possibly the name\n\t\t\t\t\t)\n\t\t\t\t\t)",
|
60
|
+
"endCaptures": {
|
61
|
+
"1": {
|
62
|
+
"name": "keyword.other.fortran"
|
63
|
+
},
|
64
|
+
"3": {
|
65
|
+
"name": "storage.type.function.fortran"
|
66
|
+
},
|
67
|
+
"4": {
|
68
|
+
"name": "entity.name.function.end.fortran"
|
69
|
+
}
|
70
|
+
},
|
71
|
+
"name": "meta.function.fortran",
|
72
|
+
"patterns": [
|
73
|
+
{
|
74
|
+
"include": "$self"
|
75
|
+
},
|
76
|
+
{
|
77
|
+
"include": "source.fortran.modern"
|
78
|
+
}
|
79
|
+
]
|
80
|
+
},
|
81
|
+
{
|
82
|
+
"begin": "\\b(?i:(integer|real|double\\s+precision|complex|logical|character))\\b(?=.*::)",
|
83
|
+
"beginCaptures": {
|
84
|
+
"1": {
|
85
|
+
"name": "storage.type.fortran"
|
86
|
+
}
|
87
|
+
},
|
88
|
+
"comment": "Line of type specification",
|
89
|
+
"end": "(?=!)|$",
|
90
|
+
"name": "meta.specification.fortran",
|
91
|
+
"patterns": [
|
92
|
+
{
|
93
|
+
"include": "$self"
|
94
|
+
}
|
95
|
+
]
|
96
|
+
},
|
97
|
+
{
|
98
|
+
"comment": "statements controling the flow of the program",
|
99
|
+
"match": "\\b(?i:(go\\s*to|assign|to|if|then|else|end\\s*if|continue|stop|pause|do|end\\s*do|while|cycle))\\b",
|
100
|
+
"name": "keyword.control.fortran"
|
101
|
+
},
|
102
|
+
{
|
103
|
+
"comment": "programming units",
|
104
|
+
"match": "\\b(?i:(program|end\\s+program|entry|block\\s+data|call|return|contains|include))\\b",
|
105
|
+
"name": "keyword.control.programming-units.fortran"
|
106
|
+
},
|
107
|
+
{
|
108
|
+
"comment": "i/o statements",
|
109
|
+
"match": "\\b(?i:(open|close|read|write|print|inquire|backspace|endfile|format))\\b",
|
110
|
+
"name": "keyword.control.io.fortran"
|
111
|
+
},
|
112
|
+
{
|
113
|
+
"comment": "operators",
|
114
|
+
"match": "((?<!\\=)\\=(?!\\=)|\\-|\\+|\\/\\/|\\/|\\*|::)",
|
115
|
+
"name": "keyword.operator.fortran"
|
116
|
+
},
|
117
|
+
{
|
118
|
+
"comment": "logical operators",
|
119
|
+
"match": "(?i:(\\.and\\.|\\.or\\.|\\.eq\\.|\\.lt\\.|\\.le\\.|\\.gt\\.|\\.ge\\.|\\.ne\\.|\\.not\\.|\\.eqv\\.|\\.neqv\\.))",
|
120
|
+
"name": "keyword.operator.logical.fortran"
|
121
|
+
},
|
122
|
+
{
|
123
|
+
"comment": "argument related intrisics",
|
124
|
+
"match": "\\b(?i:(present)(?=\\())",
|
125
|
+
"name": "keyword.other.instrisic.argument.fortran"
|
126
|
+
},
|
127
|
+
{
|
128
|
+
"comment": "numeric intrisics",
|
129
|
+
"match": "\\b(?i:(abs|aimag|aint|anint|cmplx|conjg|dble|dim|dprod|int|max|min|mod|nint|real|sign|digits|epsilon|huge|maxexponent|minexponent|precision|radix|range|tiny)(?=\\())",
|
130
|
+
"name": "keyword.other.instrisic.numeric.fortran"
|
131
|
+
},
|
132
|
+
{
|
133
|
+
"comment": "character string intrinsics",
|
134
|
+
"match": "\\b(?i:(achar|adjustl|adjustr|char|iachar|ichar|index|len_trim|repeat|scan|string|trim|verify|len)(?=\\())",
|
135
|
+
"name": "keyword.other.instrisic.string.fortran"
|
136
|
+
},
|
137
|
+
{
|
138
|
+
"comment": "mathematical intrisics",
|
139
|
+
"match": "\\b(?i:(((acos|asin|atan|atan2|cos|cosh|exp|log|log10|sin|sinh|sqrt|tan|tanh)(?=\\())|(random_number|random_seed)))\\b",
|
140
|
+
"name": "keyword.other.instrisic.math.fortran"
|
141
|
+
},
|
142
|
+
{
|
143
|
+
"comment": "data kind intrinsics",
|
144
|
+
"match": "\\b(?i:(kind|selected_int_kind|selected_real_kind|transfer)(?=\\())",
|
145
|
+
"name": "keyword.other.instrisic.data.fortran"
|
146
|
+
},
|
147
|
+
{
|
148
|
+
"comment": "logical intrinsics",
|
149
|
+
"match": "\\b(?i:(logical)(?=\\())",
|
150
|
+
"name": "keyword.other.instrisic.logical.fortran"
|
151
|
+
},
|
152
|
+
{
|
153
|
+
"comment": "bit operations intrinsics",
|
154
|
+
"match": "\\b(?i:(((bit_size|btest|iand|ibclr|ibits|ibset|ieor|ior|ishift|ishiftc|not)(?=\\())|mvbits))\\b",
|
155
|
+
"name": "keyword.other.instrisic.bit.fortran"
|
156
|
+
},
|
157
|
+
{
|
158
|
+
"comment": "floating point intrinsics",
|
159
|
+
"match": "\\b(?i:(exponent|fraction|nearest|rrspacing|scale|set_exponent|spacing)(?=\\())",
|
160
|
+
"name": "keyword.other.instrisic.floating-point.fortran"
|
161
|
+
},
|
162
|
+
{
|
163
|
+
"comment": "matrix/vector/array intrisics",
|
164
|
+
"match": "\\b(?i:(((dot_product|sum|matmul|transpose|all|any|count|maxval|minval|maxloc|minloc|product|sum|lbound|ubound|shape|size|merge|pack|unpack|reshape|spread|cshift|eoshift)(?=\\())|(where|elsewhere|end\\s*where)))\\b",
|
165
|
+
"name": "keyword.other.instrisic.array.fortran"
|
166
|
+
},
|
167
|
+
{
|
168
|
+
"comment": "other intrisics",
|
169
|
+
"match": "\\b(?i:(((dtime)(?=\\())|(date_and_time|system_clock)))\\b",
|
170
|
+
"name": "keyword.other.instrisic.fortran"
|
171
|
+
},
|
172
|
+
{
|
173
|
+
"comment": "data specification",
|
174
|
+
"match": "\\b(?i:(integer|real|double\\s+precision|complex|logical|character|block\\sdata|operator|assignment))\\b",
|
175
|
+
"name": "storage.type.fortran"
|
176
|
+
},
|
177
|
+
{
|
178
|
+
"comment": "data type attributes",
|
179
|
+
"match": "\\b(?i:(dimension|common|equivalence|parameter|external|intrinsic|save|data|implicit\\s*none|implicit|intent|in|out|inout))\\b",
|
180
|
+
"name": "storage.modifier.fortran"
|
181
|
+
},
|
182
|
+
{
|
183
|
+
"applyEndPatternLast": 1,
|
184
|
+
"begin": "'",
|
185
|
+
"beginCaptures": {
|
186
|
+
"0": {
|
187
|
+
"name": "punctuation.definition.string.begin.fortran"
|
188
|
+
}
|
189
|
+
},
|
190
|
+
"comment": "String",
|
191
|
+
"end": "'",
|
192
|
+
"endCaptures": {
|
193
|
+
"0": {
|
194
|
+
"name": "punctuation.definition.string.end.fortran"
|
195
|
+
}
|
196
|
+
},
|
197
|
+
"name": "string.quoted.single.fortran",
|
198
|
+
"patterns": [
|
199
|
+
{
|
200
|
+
"match": "''",
|
201
|
+
"name": "constant.character.escape.apostrophe.fortran"
|
202
|
+
}
|
203
|
+
]
|
204
|
+
},
|
205
|
+
{
|
206
|
+
"applyEndPatternLast": 1,
|
207
|
+
"begin": "\"",
|
208
|
+
"beginCaptures": {
|
209
|
+
"0": {
|
210
|
+
"name": "punctuation.definition.string.begin.fortran"
|
211
|
+
}
|
212
|
+
},
|
213
|
+
"comment": "String",
|
214
|
+
"end": "\"",
|
215
|
+
"endCaptures": {
|
216
|
+
"0": {
|
217
|
+
"name": "punctuation.definition.string.end.fortran"
|
218
|
+
}
|
219
|
+
},
|
220
|
+
"name": "string.quoted.double.fortran",
|
221
|
+
"patterns": [
|
222
|
+
{
|
223
|
+
"match": "\"\"",
|
224
|
+
"name": "constant.character.escape.quote.fortran"
|
225
|
+
}
|
226
|
+
]
|
227
|
+
},
|
228
|
+
{
|
229
|
+
"begin": "^[Cc]",
|
230
|
+
"beginCaptures": {
|
231
|
+
"0": {
|
232
|
+
"name": "punctuation.definition.comment.fortran"
|
233
|
+
}
|
234
|
+
},
|
235
|
+
"end": "$\\n?",
|
236
|
+
"name": "comment.line.c.fortran",
|
237
|
+
"patterns": [
|
238
|
+
{
|
239
|
+
"match": "\\\\\\s*\\n"
|
240
|
+
}
|
241
|
+
]
|
242
|
+
},
|
243
|
+
{
|
244
|
+
"begin": "^\\s*#\\s*(error|warning)\\b",
|
245
|
+
"captures": {
|
246
|
+
"1": {
|
247
|
+
"name": "keyword.control.import.error.fortran"
|
248
|
+
}
|
249
|
+
},
|
250
|
+
"end": "$\\n?",
|
251
|
+
"name": "meta.preprocessor.diagnostic.fortran",
|
252
|
+
"patterns": [
|
253
|
+
{
|
254
|
+
"match": "(?>\\\\\\s*\\n)",
|
255
|
+
"name": "punctuation.separator.continuation.fortran"
|
256
|
+
}
|
257
|
+
]
|
258
|
+
},
|
259
|
+
{
|
260
|
+
"begin": "^\\s*#\\s*(include|import)\\b\\s+",
|
261
|
+
"captures": {
|
262
|
+
"1": {
|
263
|
+
"name": "keyword.control.import.include.fortran"
|
264
|
+
}
|
265
|
+
},
|
266
|
+
"end": "(?=(?://|/\\*))|$\\n?",
|
267
|
+
"name": "meta.preprocessor.fortran.include",
|
268
|
+
"patterns": [
|
269
|
+
{
|
270
|
+
"match": "(?>\\\\\\s*\\n)",
|
271
|
+
"name": "punctuation.separator.continuation.fortran"
|
272
|
+
},
|
273
|
+
{
|
274
|
+
"begin": "\"",
|
275
|
+
"beginCaptures": {
|
276
|
+
"0": {
|
277
|
+
"name": "punctuation.definition.string.begin.fortran"
|
278
|
+
}
|
279
|
+
},
|
280
|
+
"end": "\"",
|
281
|
+
"endCaptures": {
|
282
|
+
"0": {
|
283
|
+
"name": "punctuation.definition.string.end.fortran"
|
284
|
+
}
|
285
|
+
},
|
286
|
+
"name": "string.quoted.double.include.fortran"
|
287
|
+
},
|
288
|
+
{
|
289
|
+
"begin": "<",
|
290
|
+
"beginCaptures": {
|
291
|
+
"0": {
|
292
|
+
"name": "punctuation.definition.string.begin.fortran"
|
293
|
+
}
|
294
|
+
},
|
295
|
+
"end": ">",
|
296
|
+
"endCaptures": {
|
297
|
+
"0": {
|
298
|
+
"name": "punctuation.definition.string.end.fortran"
|
299
|
+
}
|
300
|
+
},
|
301
|
+
"name": "string.quoted.other.lt-gt.include.fortran"
|
302
|
+
}
|
303
|
+
]
|
304
|
+
},
|
305
|
+
{
|
306
|
+
"include": "#pragma-mark"
|
307
|
+
},
|
308
|
+
{
|
309
|
+
"begin": "^\\s*#\\s*(define|defined|elif|else|if|ifdef|ifndef|line|pragma|undef)\\b",
|
310
|
+
"captures": {
|
311
|
+
"1": {
|
312
|
+
"name": "keyword.control.import.fortran"
|
313
|
+
}
|
314
|
+
},
|
315
|
+
"end": "(?=(?://|/\\*))|$\\n?",
|
316
|
+
"name": "meta.preprocessor.fortran",
|
317
|
+
"patterns": [
|
318
|
+
{
|
319
|
+
"match": "(?>\\\\\\s*\\n)",
|
320
|
+
"name": "punctuation.separator.continuation.fortran"
|
321
|
+
}
|
322
|
+
]
|
323
|
+
}
|
324
|
+
],
|
325
|
+
"repository": {
|
326
|
+
"disabled": {
|
327
|
+
"begin": "^\\s*#\\s*if(n?def)?\\b.*$",
|
328
|
+
"comment": "eat nested preprocessor if(def)s",
|
329
|
+
"end": "^\\s*#\\s*endif\\b.*$",
|
330
|
+
"patterns": [
|
331
|
+
{
|
332
|
+
"include": "#disabled"
|
333
|
+
},
|
334
|
+
{
|
335
|
+
"include": "#pragma-mark"
|
336
|
+
}
|
337
|
+
]
|
338
|
+
},
|
339
|
+
"pragma-mark": {
|
340
|
+
"captures": {
|
341
|
+
"1": {
|
342
|
+
"name": "meta.preprocessor.fortran"
|
343
|
+
},
|
344
|
+
"2": {
|
345
|
+
"name": "keyword.control.import.pragma.fortran"
|
346
|
+
},
|
347
|
+
"3": {
|
348
|
+
"name": "meta.toc-list.pragma-mark.fortran"
|
349
|
+
}
|
350
|
+
},
|
351
|
+
"match": "^\\s*(#\\s*(pragma\\s+mark)\\s+(.*))",
|
352
|
+
"name": "meta.section"
|
353
|
+
},
|
354
|
+
"preprocessor-rule-disabled": {
|
355
|
+
"begin": "^\\s*(#(if)\\s+(0)\\b).*",
|
356
|
+
"captures": {
|
357
|
+
"1": {
|
358
|
+
"name": "meta.preprocessor.fortran"
|
359
|
+
},
|
360
|
+
"2": {
|
361
|
+
"name": "keyword.control.import.if.fortran"
|
362
|
+
},
|
363
|
+
"3": {
|
364
|
+
"name": "constant.numeric.preprocessor.fortran"
|
365
|
+
}
|
366
|
+
},
|
367
|
+
"end": "^\\s*(#\\s*(endif)\\b)",
|
368
|
+
"patterns": [
|
369
|
+
{
|
370
|
+
"begin": "^\\s*(#\\s*(else)\\b)",
|
371
|
+
"captures": {
|
372
|
+
"1": {
|
373
|
+
"name": "meta.preprocessor.fortran"
|
374
|
+
},
|
375
|
+
"2": {
|
376
|
+
"name": "keyword.control.import.else.fortran"
|
377
|
+
}
|
378
|
+
},
|
379
|
+
"end": "(?=^\\s*#\\s*endif\\b.*$)",
|
380
|
+
"patterns": [
|
381
|
+
{
|
382
|
+
"include": "$base"
|
383
|
+
}
|
384
|
+
]
|
385
|
+
},
|
386
|
+
{
|
387
|
+
"begin": "",
|
388
|
+
"end": "(?=^\\s*#\\s*(else|endif)\\b.*$)",
|
389
|
+
"name": "comment.block.preprocessor.if-branch",
|
390
|
+
"patterns": [
|
391
|
+
{
|
392
|
+
"include": "#disabled"
|
393
|
+
},
|
394
|
+
{
|
395
|
+
"include": "#pragma-mark"
|
396
|
+
}
|
397
|
+
]
|
398
|
+
}
|
399
|
+
]
|
400
|
+
},
|
401
|
+
"preprocessor-rule-enabled": {
|
402
|
+
"begin": "^\\s*(#(if)\\s+(0*1)\\b)",
|
403
|
+
"captures": {
|
404
|
+
"1": {
|
405
|
+
"name": "meta.preprocessor.fortran"
|
406
|
+
},
|
407
|
+
"2": {
|
408
|
+
"name": "keyword.control.import.if.fortran"
|
409
|
+
},
|
410
|
+
"3": {
|
411
|
+
"name": "constant.numeric.preprocessor.fortran"
|
412
|
+
}
|
413
|
+
},
|
414
|
+
"end": "^\\s*(#\\s*(endif)\\b)",
|
415
|
+
"patterns": [
|
416
|
+
{
|
417
|
+
"begin": "^\\s*(#\\s*(else)\\b).*",
|
418
|
+
"captures": {
|
419
|
+
"1": {
|
420
|
+
"name": "meta.preprocessor.fortran"
|
421
|
+
},
|
422
|
+
"2": {
|
423
|
+
"name": "keyword.control.import.else.fortran"
|
424
|
+
}
|
425
|
+
},
|
426
|
+
"contentName": "comment.block.preprocessor.else-branch",
|
427
|
+
"end": "(?=^\\s*#\\s*endif\\b.*$)",
|
428
|
+
"patterns": [
|
429
|
+
{
|
430
|
+
"include": "#disabled"
|
431
|
+
},
|
432
|
+
{
|
433
|
+
"include": "#pragma-mark"
|
434
|
+
}
|
435
|
+
]
|
436
|
+
},
|
437
|
+
{
|
438
|
+
"begin": "",
|
439
|
+
"end": "(?=^\\s*#\\s*(else|endif)\\b.*$)",
|
440
|
+
"patterns": [
|
441
|
+
{
|
442
|
+
"include": "$base"
|
443
|
+
}
|
444
|
+
]
|
445
|
+
}
|
446
|
+
]
|
447
|
+
},
|
448
|
+
"preprocessor-rule-other": {
|
449
|
+
"begin": "^\\s*(#\\s*(if(n?def)?)\\b.*?(?:(?=(?://|/\\*))|$))",
|
450
|
+
"captures": {
|
451
|
+
"1": {
|
452
|
+
"name": "meta.preprocessor.fortran"
|
453
|
+
},
|
454
|
+
"2": {
|
455
|
+
"name": "keyword.control.import.fortran"
|
456
|
+
}
|
457
|
+
},
|
458
|
+
"end": "^\\s*(#\\s*(endif)\\b).*$",
|
459
|
+
"patterns": [
|
460
|
+
{
|
461
|
+
"include": "$base"
|
462
|
+
}
|
463
|
+
]
|
464
|
+
}
|
465
|
+
},
|
466
|
+
"scopeName": "source.fortran",
|
467
|
+
"uuid": "45253F88-F7CC-49C5-9C32-F3FADD2AB579"
|
468
|
+
}
|