ver 2009.10.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (188) hide show
  1. data/CHANGELOG +1404 -0
  2. data/MANIFEST +187 -0
  3. data/Rakefile +30 -0
  4. data/TODO +169 -0
  5. data/bin/ver +19 -0
  6. data/config/detect.rb +109 -0
  7. data/config/keymap/vim.rb +239 -0
  8. data/config/rc.rb +0 -0
  9. data/config/scratch +3 -0
  10. data/config/syntax/ANTLR.json +275 -0
  11. data/config/syntax/ASP VB.net.json +228 -0
  12. data/config/syntax/ASP.json +135 -0
  13. data/config/syntax/ActionScript.json +168 -0
  14. data/config/syntax/Ada.json +108 -0
  15. data/config/syntax/Apache.json +342 -0
  16. data/config/syntax/AppleScript.json +721 -0
  17. data/config/syntax/Bibtex.json +253 -0
  18. data/config/syntax/Blog (HTML).json +47 -0
  19. data/config/syntax/Blog (Markdown).json +50 -0
  20. data/config/syntax/Blog (Text).json +45 -0
  21. data/config/syntax/Blog (Textile).json +45 -0
  22. data/config/syntax/Bulletin Board.json +428 -0
  23. data/config/syntax/C++.json +323 -0
  24. data/config/syntax/C.json +694 -0
  25. data/config/syntax/CSS.json +346 -0
  26. data/config/syntax/DOT.json +79 -0
  27. data/config/syntax/Diff.json +136 -0
  28. data/config/syntax/Dylan.json +104 -0
  29. data/config/syntax/Eiffel.json +128 -0
  30. data/config/syntax/Erlang.json +1636 -0
  31. data/config/syntax/F-Script.json +137 -0
  32. data/config/syntax/FXScript.json +260 -0
  33. data/config/syntax/Gri.json +141 -0
  34. data/config/syntax/HTML (Mason).json +207 -0
  35. data/config/syntax/HTML (Rails).json +52 -0
  36. data/config/syntax/HTML (Tcl).json +42 -0
  37. data/config/syntax/HTML for ASP.net.json +736 -0
  38. data/config/syntax/HTML-ASP.json +45 -0
  39. data/config/syntax/HTML.json +614 -0
  40. data/config/syntax/Haskell.json +407 -0
  41. data/config/syntax/Inform.json +80 -0
  42. data/config/syntax/Ini.json +91 -0
  43. data/config/syntax/Io.json +142 -0
  44. data/config/syntax/Java.json +745 -0
  45. data/config/syntax/JavaProperties.json +42 -0
  46. data/config/syntax/JavaScript.json +446 -0
  47. data/config/syntax/LaTeX Beamer.json +65 -0
  48. data/config/syntax/LaTeX Log.json +88 -0
  49. data/config/syntax/LaTeX.json +962 -0
  50. data/config/syntax/Lighttpd.json +93 -0
  51. data/config/syntax/Lisp.json +101 -0
  52. data/config/syntax/Literate Haskell.json +55 -0
  53. data/config/syntax/Logtalk.json +289 -0
  54. data/config/syntax/Lua.json +146 -0
  55. data/config/syntax/M.json +744 -0
  56. data/config/syntax/MEL.json +161 -0
  57. data/config/syntax/MIPS.json +114 -0
  58. data/config/syntax/Mail.json +224 -0
  59. data/config/syntax/Makefile.json +66 -0
  60. data/config/syntax/Markdown.json +644 -0
  61. data/config/syntax/Modula-3.json +80 -0
  62. data/config/syntax/Movable Type.json +348 -0
  63. data/config/syntax/OCaml.json +1391 -0
  64. data/config/syntax/Objective-C++.json +21 -0
  65. data/config/syntax/OpenGL.json +24 -0
  66. data/config/syntax/PHP.json +2184 -0
  67. data/config/syntax/Pascal.json +128 -0
  68. data/config/syntax/Perl.json +2091 -0
  69. data/config/syntax/Plain text.json +49 -0
  70. data/config/syntax/Processing.json +188 -0
  71. data/config/syntax/Quake3 Config.json +54 -0
  72. data/config/syntax/R.json +157 -0
  73. data/config/syntax/Rez.json +137 -0
  74. data/config/syntax/Ruby on Rails.json +170 -0
  75. data/config/syntax/Ruby.json +1753 -0
  76. data/config/syntax/SQL (Rails).json +31 -0
  77. data/config/syntax/SQL.json +435 -0
  78. data/config/syntax/SWIG.json +96 -0
  79. data/config/syntax/Scheme.json +359 -0
  80. data/config/syntax/Shell-Unix-Generic.json +1198 -0
  81. data/config/syntax/Slate.json +265 -0
  82. data/config/syntax/Smarty.json +110 -0
  83. data/config/syntax/Standard ML.json +322 -0
  84. data/config/syntax/Subversion commit message.json +62 -0
  85. data/config/syntax/Tcl.json +278 -0
  86. data/config/syntax/TeX Math.json +83 -0
  87. data/config/syntax/TeX.json +157 -0
  88. data/config/syntax/Textile.json +273 -0
  89. data/config/syntax/Twiki.json +436 -0
  90. data/config/syntax/Vectorscript.json +97 -0
  91. data/config/syntax/XML strict.json +148 -0
  92. data/config/syntax/XML.json +301 -0
  93. data/config/syntax/XSL.json +96 -0
  94. data/config/syntax/YAML.json +293 -0
  95. data/config/syntax/iCalendar.json +51 -0
  96. data/config/syntax/reStructuredText.json +403 -0
  97. data/config/theme/Active4D.json +260 -0
  98. data/config/theme/All Hallow's Eve.json +171 -0
  99. data/config/theme/Amy.json +359 -0
  100. data/config/theme/BBEdit.json +269 -0
  101. data/config/theme/Bespin.json +322 -0
  102. data/config/theme/Blackboard.json +215 -0
  103. data/config/theme/BoysAndGirls01.json +156 -0
  104. data/config/theme/Brilliance Black.json +1695 -0
  105. data/config/theme/Brilliance Dull.json +1451 -0
  106. data/config/theme/Classic Modified.json +288 -0
  107. data/config/theme/Cobalt.json +345 -0
  108. data/config/theme/Cool Glow.json +215 -0
  109. data/config/theme/Dawn.json +258 -0
  110. data/config/theme/Eiffel.json +270 -0
  111. data/config/theme/Espresso Libre.json +247 -0
  112. data/config/theme/Fluidvision.json +272 -0
  113. data/config/theme/IDLE.json +159 -0
  114. data/config/theme/LAZY.json +178 -0
  115. data/config/theme/Mac Classic.json +277 -0
  116. data/config/theme/MagicWB (Amiga).json +231 -0
  117. data/config/theme/Merbivore Soft.json +181 -0
  118. data/config/theme/Merbivore.json +181 -0
  119. data/config/theme/Monokai.json +177 -0
  120. data/config/theme/Notepad2.json +166 -0
  121. data/config/theme/Pastels on Dark.json +437 -0
  122. data/config/theme/RubyBlue.json +226 -0
  123. data/config/theme/Sin City 2.json +361 -0
  124. data/config/theme/Slate.json +270 -0
  125. data/config/theme/Slush & Poppies.json +232 -0
  126. data/config/theme/SpaceCadet.json +143 -0
  127. data/config/theme/Sunburst.json +415 -0
  128. data/config/theme/Twilight BG FG.json +633 -0
  129. data/config/theme/Twilight.json +321 -0
  130. data/config/theme/Whys Poignant.json +119 -0
  131. data/config/theme/Zenburnesque.json +237 -0
  132. data/config/theme/barf.json +155 -0
  133. data/config/theme/fake.json +418 -0
  134. data/config/theme/happydeluxe.json +114 -0
  135. data/config/theme/iLife 05.json +393 -0
  136. data/config/theme/iPlastic.json +177 -0
  137. data/config/theme/mintBlue Dark.json +414 -0
  138. data/config/theme/mintBlue.json +415 -0
  139. data/config/theme/monoindustrial.json +276 -0
  140. data/config/theme/starlight.json +67 -0
  141. data/config/tutorial +74 -0
  142. data/config/welcome +115 -0
  143. data/help/index.verh +14 -0
  144. data/lib/ver.rb +156 -0
  145. data/lib/ver/entry.rb +97 -0
  146. data/lib/ver/keymap.rb +96 -0
  147. data/lib/ver/layout.rb +107 -0
  148. data/lib/ver/methods.rb +19 -0
  149. data/lib/ver/methods/completion.rb +116 -0
  150. data/lib/ver/methods/control.rb +340 -0
  151. data/lib/ver/methods/insert.rb +6 -0
  152. data/lib/ver/methods/move.rb +65 -0
  153. data/lib/ver/methods/search.rb +33 -0
  154. data/lib/ver/methods/select.rb +145 -0
  155. data/lib/ver/methods/views.rb +21 -0
  156. data/lib/ver/mode.rb +160 -0
  157. data/lib/ver/options.rb +207 -0
  158. data/lib/ver/plist.rb +106 -0
  159. data/lib/ver/status.rb +67 -0
  160. data/lib/ver/syntax.rb +68 -0
  161. data/lib/ver/syntax/detector.rb +53 -0
  162. data/lib/ver/syntax/processor.rb +48 -0
  163. data/lib/ver/text.rb +374 -0
  164. data/lib/ver/textpow.rb +357 -0
  165. data/lib/ver/theme.rb +162 -0
  166. data/lib/ver/vendor/fuzzy_file_finder.rb +340 -0
  167. data/lib/ver/view.rb +163 -0
  168. data/lib/ver/view/entry.rb +28 -0
  169. data/lib/ver/view/list.rb +137 -0
  170. data/lib/ver/view/list/buffer.rb +27 -0
  171. data/lib/ver/view/list/fuzzy_file_finder.rb +44 -0
  172. data/lib/ver/view/list/syntax.rb +13 -0
  173. data/lib/ver/view/list/theme.rb +13 -0
  174. data/spec/keymap.rb +224 -0
  175. data/tasks/bacon.rake +49 -0
  176. data/tasks/changelog.rake +18 -0
  177. data/tasks/gem.rake +22 -0
  178. data/tasks/gem_installer.rake +76 -0
  179. data/tasks/grancher.rake +12 -0
  180. data/tasks/install_dependencies.rake +6 -0
  181. data/tasks/manifest.rake +4 -0
  182. data/tasks/plist2json.rake +35 -0
  183. data/tasks/rcov.rake +18 -0
  184. data/tasks/release.rake +12 -0
  185. data/tasks/reversion.rake +8 -0
  186. data/tasks/syntax_list.rake +31 -0
  187. data/ver.gemspec +29 -0
  188. metadata +241 -0
@@ -0,0 +1,137 @@
1
+ {
2
+ "fileTypes": [
3
+ "fscript"
4
+ ],
5
+ "foldingStartMarker": "\\[",
6
+ "foldingStopMarker": "\\]",
7
+ "keyEquivalent": "^~F",
8
+ "name": "F-Script",
9
+ "patterns": [
10
+ {
11
+ "match": "(:|\\w):",
12
+ "name": "meta.dummy.symbol.ignore.fscript"
13
+ },
14
+ {
15
+ "captures": {
16
+ "1": {
17
+ "name": "punctuation.definition.symbol.fscript"
18
+ }
19
+ },
20
+ "match": "(:)\\w+\\b",
21
+ "name": "constant.other.symbol.fscript"
22
+ },
23
+ {
24
+ "match": "\\b((([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)\\b",
25
+ "name": "constant.numeric.fscript"
26
+ },
27
+ {
28
+ "match": "#([[:lower:]]|_|[+=\\-\/!%&*|><~?])(\\w|[+=\\-\/!%&*|><~?:])*",
29
+ "name": "constant.other.block.compact.fscript"
30
+ },
31
+ {
32
+ "captures": {
33
+ "1": {
34
+ "name": "punctuation.section.block.fscript"
35
+ },
36
+ "2": {
37
+ "name": "variable.parameter.block.fscript"
38
+ },
39
+ "3": {
40
+ "name": "punctuation.section.block.fscript"
41
+ }
42
+ },
43
+ "match": "(\\[)(?:\\s*((?::\\w+\\s+)*:\\w+)\\s*\\|)?\\s*(\\])",
44
+ "name": "meta.block.empty.fscript"
45
+ },
46
+ {
47
+ "begin": "(\\[)(?:\\s*((?::\\w+\\s+)*:\\w+)\\s*\\|)?",
48
+ "beginCaptures": {
49
+ "1": {
50
+ "name": "punctuation.section.block.fscript"
51
+ },
52
+ "2": {
53
+ "name": "variable.parameter.block.fscript"
54
+ }
55
+ },
56
+ "end": "\\]",
57
+ "endCaptures": {
58
+ "0": {
59
+ "name": "punctuation.section.block.fscript"
60
+ }
61
+ },
62
+ "name": "meta.block.fscript",
63
+ "patterns": [
64
+ {
65
+ "match": "\\s+",
66
+ "name": "meta.block.header.fscript"
67
+ },
68
+ {
69
+ "begin": "(?:\\|(\\s*(?:\\w+\\s+)*\\w+\\s*)?\\||(?=[^\\s|]))",
70
+ "captures": {
71
+ "1": {
72
+ "name": "variable.other.local.fscript"
73
+ }
74
+ },
75
+ "end": "(?=\\])",
76
+ "name": "meta.block.content.fscript",
77
+ "patterns": [
78
+ {
79
+ "include": "$base"
80
+ }
81
+ ]
82
+ }
83
+ ]
84
+ },
85
+ {
86
+ "match": "\\b(true|YES|false|NO|sys|nil)\\b",
87
+ "name": "constant.language.fscript"
88
+ },
89
+ {
90
+ "captures": {
91
+ "1": {
92
+ "name": "entity.name.function.fscript"
93
+ }
94
+ },
95
+ "comment": "a hack for the symbol popup",
96
+ "match": "^(\\w+)\\s*:=\\s*(?=\\[)"
97
+ },
98
+ {
99
+ "begin": "\"",
100
+ "beginCaptures": {
101
+ "0": {
102
+ "name": "punctuation.definition.comment.begin.fscript"
103
+ }
104
+ },
105
+ "end": "\"",
106
+ "endCaptures": {
107
+ "0": {
108
+ "name": "punctuation.definition.comment.end.fscript"
109
+ }
110
+ },
111
+ "name": "comment.block.quotes.fscript"
112
+ },
113
+ {
114
+ "begin": "'",
115
+ "beginCaptures": {
116
+ "0": {
117
+ "name": "punctuation.definition.string.begin.fscript"
118
+ }
119
+ },
120
+ "end": "'",
121
+ "endCaptures": {
122
+ "0": {
123
+ "name": "punctuation.definition.string.end.fscript"
124
+ }
125
+ },
126
+ "name": "string.quoted.single.fscript",
127
+ "patterns": [
128
+ {
129
+ "match": "\\\\.",
130
+ "name": "constant.character.escape.fscript"
131
+ }
132
+ ]
133
+ }
134
+ ],
135
+ "scopeName": "source.fscript",
136
+ "uuid": "C2CB9A74-C9FC-4F63-8BAF-E64B72A60DD4"
137
+ }
@@ -0,0 +1,260 @@
1
+ {
2
+ "fileTypes": [
3
+ "fxscript"
4
+ ],
5
+ "foldingStartMarker": "(^|(?<=;)[ \\t]*)on[ \\t]+(\\w+)[ \\t]*",
6
+ "foldingStopMarker": "end(;|;?[ \\t]*|;?[ \\t]*\/\/.*[ \\t]*)",
7
+ "keyEquivalent": "^~F",
8
+ "name": "FXScript",
9
+ "patterns": [
10
+ {
11
+ "begin": "(^|(?<=;)[ \\t]*)on[ \\t]+(\\w+)[ \\t]*(?=\\([^\\)]*\\))",
12
+ "captures": {
13
+ "2": {
14
+ "name": "entity.name.function.fxscript"
15
+ }
16
+ },
17
+ "end": "end(;|;?[ \\t]*\\n|;?[ \\t]*\/\/.*[ \\t]*\\n)",
18
+ "name": "meta.function.fxscript",
19
+ "patterns": [
20
+ {
21
+ "begin": "\\((?=(?i:clip|color|float|image|point|string|value|point3d))",
22
+ "end": "\\)",
23
+ "patterns": [
24
+ {
25
+ "captures": {
26
+ "1": {
27
+ "name": "support.type.fxscript"
28
+ },
29
+ "2": {
30
+ "name": "variable.parameter.function.fxscript"
31
+ }
32
+ },
33
+ "match": "((?i:clip|color|float|image|point|string|value|point3d))[ \\t]+([^,)]+)"
34
+ }
35
+ ]
36
+ },
37
+ {
38
+ "include": "$self"
39
+ }
40
+ ]
41
+ },
42
+ {
43
+ "begin": "(^|(?<=;)[ \\t]*)input[ \\t]*",
44
+ "comment": "Input Controls",
45
+ "end": "\\n",
46
+ "name": "keyword.other.input-control.fxscript",
47
+ "patterns": [
48
+ {
49
+ "include": "$self"
50
+ },
51
+ {
52
+ "captures": {
53
+ "1": {
54
+ "name": "variable.other.global.fxscript"
55
+ },
56
+ "2": {
57
+ "name": "string.quoted.double.fxscript"
58
+ },
59
+ "3": {
60
+ "name": "support.type.fxscript"
61
+ }
62
+ },
63
+ "match": "\\b(\\w+),[ \\t]+(\"[^\"]+\"),[ \\t]+(?i:Angle|CheckBox|Clip|Color|FontList|Label|Point|Popup|RadioGroup|Slider|Text),?"
64
+ }
65
+ ]
66
+ },
67
+ {
68
+ "comment": "Data Types",
69
+ "match": "(?i:float|image|point|point3d|region|string|value|YUVcolor)\\b",
70
+ "name": "storage.type.fxscript"
71
+ },
72
+ {
73
+ "match": "\\b(?i:if|(end|else)( if)?|for|next|return|repeat( While| With (Counter|List)))\\b",
74
+ "name": "keyword.control.fxscrpt"
75
+ },
76
+ {
77
+ "match": "\/b(?i:AlphaType|EffectID|FullFrame|Group|InformationFlag|InvalEntireItem|KeyType|ProducesAlpha|QTEffect|RenderEachFrameWhenStill|WipeCode)\/b",
78
+ "name": "keyword.other.definition-statements.fxscript"
79
+ },
80
+ {
81
+ "match": "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|==|=|!=|!==|<=|>=|<|>|!|&&|\\|\\||\\?\\:|\\*=|\/=|%=|\\+=|\\-=|&=|\\^=",
82
+ "name": "keyword.operator.arithmetic.fxscrpt"
83
+ },
84
+ {
85
+ "captures": {
86
+ "1": {
87
+ "name": "punctuation.definition.comment.fxscript"
88
+ }
89
+ },
90
+ "match": "(\/\/).*$\\n?",
91
+ "name": "comment.line.double-slash.fxscript"
92
+ },
93
+ {
94
+ "match": "(?i:kFormatRGB219|kFormatRGB255|kFormatYUV219)",
95
+ "name": "support.constant.colorspace.fxscript"
96
+ },
97
+ {
98
+ "match": "\\b[0-9]+(\\.[0-9]*)?\\b",
99
+ "name": "constant.numeric.fxscript"
100
+ },
101
+ {
102
+ "match": "\\b0x([a-fA-F0-9]*)?\\b",
103
+ "name": "constant.numeric.hex.fxscript"
104
+ },
105
+ {
106
+ "match": "(?i:kBlack|kBlue|kCyan|kGray|kGreen|kMagenta|kRed|kWhite|kYellow)",
107
+ "name": "support.constant.color.fxscript"
108
+ },
109
+ {
110
+ "match": "(?i:k16mm|k24fps|k25fps|k30df|k30fps|k35mm|k60df|k60fps|kFloat2|kFloat4|kFloat6|kInteger|kSize)",
111
+ "name": "support.constant.formatting.fxscript"
112
+ },
113
+ {
114
+ "match": "(?i:false|kAlpha|kNone|kUndefined|true)\\b",
115
+ "name": "support.constant.general.fxscript"
116
+ },
117
+ {
118
+ "match": "(?i:kKeyAdd|kKeyDarken|kKeyDifference|kKeyHardLight|kKeyLighten|kKeyMultiply|kKeyNormal|kKeyOverlay|kKeyScreen|kKeySoftLight|kKeySubtract)",
119
+ "name": "support.constant.key.fxscript"
120
+ },
121
+ {
122
+ "match": "(?i:k16mm|k24fps|k25fps|k30df|k30fps|k35mm|k60df|k60fps|kFloat2|kFloat4|kFloat6|kInteger|kSize)",
123
+ "name": "support.constant.formatting.fxscript"
124
+ },
125
+ {
126
+ "match": "\\b(?i:clip1|clip2|dest|duration|exposedBackground|fieldNumber|fieldprocessing|fps|frame|linearRamp|previewing|ratio|renderRes|RGBtoYUV|src1|src2|srcIsGap1|srcIsGap2|srcType1|srcType2|topfield|YUVtoRGB)\\b",
127
+ "name": "support.variable.predeclared.fxscript"
128
+ },
129
+ {
130
+ "match": "(?i:kbold|kbolditalic|kcenterjustify|kitalic|kleftjustify|kplain|krightjustify)",
131
+ "name": "support.constant.text.fxscript"
132
+ },
133
+ {
134
+ "match": "(?i:kDiamond|kRound|kSquare)",
135
+ "name": "support.constant.shapes.fxscript"
136
+ },
137
+ {
138
+ "captures": {
139
+ "1": {
140
+ "name": "entity.name.function.color.alpha.fxscript"
141
+ },
142
+ "2": {
143
+ "name": "entity.name.function.color.red.fxscript"
144
+ },
145
+ "3": {
146
+ "name": "entity.name.function.color.green.fxscript"
147
+ },
148
+ "4": {
149
+ "name": "entity.name.function.color.blue.fxscript"
150
+ },
151
+ "5": {
152
+ "name": "entity.name.function.color.luma.fxscript"
153
+ },
154
+ "6": {
155
+ "name": "entity.name.function.color.chroma-u.fxscript"
156
+ },
157
+ "7": {
158
+ "name": "entity.name.function.color.chroma-v.fxscript"
159
+ }
160
+ },
161
+ "match": "\\b\\w+\\.(?i:(a)|(r)|(g)|(b)|(y)|(u)|(v))\\b"
162
+ },
163
+ {
164
+ "begin": "\"",
165
+ "beginCaptures": {
166
+ "0": {
167
+ "name": "punctuation.definition.string.begin.fxscript"
168
+ }
169
+ },
170
+ "end": "\"",
171
+ "endCaptures": {
172
+ "0": {
173
+ "name": "punctuation.definition.string.end.fxscript"
174
+ }
175
+ },
176
+ "name": "string.quoted.double.fxscript",
177
+ "patterns": [
178
+ {
179
+ "match": "\\\\.",
180
+ "name": "constant.character.escape.fxscript"
181
+ }
182
+ ]
183
+ },
184
+ {
185
+ "match": "\\b(?i:Add|AddOffset|Darken|Difference|ImageAnd|ImageOr|ImageXor|Invert|InvertChannel|Lighten|Matte|Multiply|Overlay|Screen|Subtract|UnMultiply)\\b",
186
+ "name": "support.function.composite.fxscript"
187
+ },
188
+ {
189
+ "match": "\\b(?i:Blit|BlitRect|MaskCopy|MeshBlit|MeshBlit3D|PagePeel|RegionCopy)\\b",
190
+ "name": "support.function.blit.fxscript"
191
+ },
192
+ {
193
+ "match": "\\b(?i:GetLimits|GetReelName|GetTimeCode|GetVideo)",
194
+ "name": "support.function.clip.fxscript"
195
+ },
196
+ {
197
+ "match": "\\b(?i:BumpMap|Cylinder|Displace|Fisheye|OffsetPixels|PondRipple|Ripple|Wave|Whirlpool)\\b",
198
+ "name": "support.function.distort.fxscript"
199
+ },
200
+ {
201
+ "match": "\\b(?i:Filter|Generator|Transition)\\b",
202
+ "name": "support.function.external.fxscript"
203
+ },
204
+ {
205
+ "match": "\\b(?i:AngleTo|AspectOf|BoundsOf|CenterOf|Convert2dto3d|convert3dto2d|DimensionsOf|DistTo|Grid|Interpolate|Mesh)\\b",
206
+ "name": "support.function.geometry.fxscript"
207
+ },
208
+ {
209
+ "match": "\\b(?i:BGDiff|BlueScreen|GreenScreen|RGBColorKey|YUVColorKey)\\b",
210
+ "name": "support.function.key.fxscript"
211
+ },
212
+ {
213
+ "match": "\\b(?i:Abs|Integer|Sign|Sqrt|Power)\\b",
214
+ "name": "support.function.math.fxscript"
215
+ },
216
+ {
217
+ "match": "\\b(?i:BezToLevelMap|ChromaAngleKey)",
218
+ "name": "support.function.parser.fxscript"
219
+ },
220
+ {
221
+ "match": "\\b(?i:Blend|Blur|BlurChannel|Channel(Copy|Fill|Multiply)|ColorTransform|Convolve|Desaturate|Diffuse|DiffuseOffset|LevelMap|MotionBlur|RadialBlur)\\b",
222
+ "name": "support.function.process.fxscript"
223
+ },
224
+ {
225
+ "match": "\\b(?i:CurveTo|DrawSoftDot|FillArc|FillOval|FillPoly|FillRegion|FrameArc|FrameOval|FramePoly|FrameRegion|Line|MakeRect|MakeRegion|OvalRegion|RegionIsEmpty)\\b",
226
+ "name": "support.function.shapes.process.fxscript"
227
+ },
228
+ {
229
+ "match": "\\b(?i:ASCIIOf|ASCIIToSTring|CharsOf|CountTextLines|FindString|getTextLine|GetTimecodeStringFromClip|Length|NumToString|StringToNum)",
230
+ "name": "support.function.string.fxscript"
231
+ },
232
+ {
233
+ "match": "\\b(?i:DrawString|DrawStringPlain|MeasureString|MeasureStringPlain|ResetText|SetTextFont|SetTextJustify|SetTextSize|SetTextStyle)",
234
+ "name": "support.function.text.fxscript"
235
+ },
236
+ {
237
+ "match": "\\b(?i:Offset|Offset3d|Outset3d|Rotate|Rotate3d|Scale|Scale3d)\\b",
238
+ "name": "support.function.transform.fxscript"
239
+ },
240
+ {
241
+ "match": "\\b(?i:getNativeAspect|getNativeSize|FilteredBlitRect|BlurChannel_alt)\\b",
242
+ "name": "support.function.undocumented.fxscript"
243
+ },
244
+ {
245
+ "match": "\\b(?i:debugtext)\\b",
246
+ "name": "support.function.debug.fxscript"
247
+ },
248
+ {
249
+ "match": "\\b(?i:Assert|CircleLight|ColorOf|ConvertImage|GetConversionMatrix|GetPixelFormat|Highlight|MatrixConcat|PointTrack|Random(Noise|Seed|Table)?|SetPixelFormat|SysTime|Truncate)\\b",
250
+ "name": "support.function.utility.fxscript"
251
+ },
252
+ {
253
+ "comment": "Joe Maller\u2019s personal FXScript Functions, these will be appearing on the FXScript Reference site someday.",
254
+ "match": "\\b((?i:absNoInt|ArrayFloatAbs|ArrayFloatAverage|ArrayFloatCount|ArrayFloatCountAll|ArrayFloatFlatten|ArrayFloatIndexExists|ArrayFloatInsertionSort|ArrayFloatMax|ArrayFloatMin|ArrayFloatNormalize|ArrayFloatPrint_r|ArrayFloatQuickSort|ArrayFloatSum|ArrayPointCount|ArrayPointReverse|ArrayPointWrap|BlurChannelInPlace|BoundsOfPoly|ceil|CenterOfPoly|ChannelCopyFit|ChannelMultiplyYUV|ChannelScreen|ChannelView|ColorRampImage|ColorReporter|DeInterlace|DeInterlaceFast|DeInterlaceInterpolate|DifferenceMask|DimensionsOfPoly|DrawGridFrames|ease|easeIn|easeMiddle|easeOut|easeS|ErrorReporter|factorial|factorialabsNoInt|FastRotate|FieldDouble|fitPoly|fitRange|fitRect|floor|gcd|getField|indexExistsPt|isFloatArray|isIndexFloat|isIndexFloatArray|makeLevelMapBez|makeThresholdMapBez|max|min|mirrorRect|NumReporter|PlaceFrame|PointInPoly|pt3dReporter|PtReporter|RandomNoiseScaled|RandomSeedFPS|RGBtoYUVcolor|round|scaleToFit|sumNaturals|T_borderFade|whattype|YUVtoRGBcolor))\\b",
255
+ "name": "support.function.joe.fxscript"
256
+ }
257
+ ],
258
+ "scopeName": "source.fxscript",
259
+ "uuid": "43751327-3FD1-4BE7-AD05-136FC552BABA"
260
+ }
@@ -0,0 +1,141 @@
1
+ {
2
+ "fileTypes": [
3
+ "gri"
4
+ ],
5
+ "firstLineMatch": "-[*]-( Mode:)? Gri -[*]-",
6
+ "foldingStartMarker": "(\/\\*\\*|\\{\\s*$)",
7
+ "foldingStopMarker": "(\\*\\*\/|^\\s*\\})",
8
+ "name": "Gri",
9
+ "patterns": [
10
+ {
11
+ "captures": {
12
+ "1": {
13
+ "name": "punctuation.definition.function.gri"
14
+ },
15
+ "2": {
16
+ "name": "entity.name.function.gri"
17
+ },
18
+ "3": {
19
+ "name": "punctuation.definition.function.gri"
20
+ }
21
+ },
22
+ "match": "(\\`)(.*)(')",
23
+ "name": "meta.function.gri"
24
+ },
25
+ {
26
+ "begin": "#",
27
+ "beginCaptures": {
28
+ "0": {
29
+ "name": "punctuation.definition.comment.gri"
30
+ }
31
+ },
32
+ "end": "$\\n?",
33
+ "name": "comment.line.number-sign.gri",
34
+ "patterns": [
35
+ {
36
+ "match": "(?>\\\\\\s*\\n)",
37
+ "name": "punctuation.separator.continuation.gri"
38
+ }
39
+ ]
40
+ },
41
+ {
42
+ "begin": "\/\/",
43
+ "beginCaptures": {
44
+ "0": {
45
+ "name": "punctuation.definition.comment.gri"
46
+ }
47
+ },
48
+ "end": "$\\n?",
49
+ "name": "comment.line.double-slash.gri",
50
+ "patterns": [
51
+ {
52
+ "match": "(?>\\\\\\s*\\n)",
53
+ "name": "punctuation.separator.continuation.gri"
54
+ }
55
+ ]
56
+ },
57
+ {
58
+ "match": "\\b(break|else|end|if|return|rpn|while)\\b",
59
+ "name": "keyword.control.gri"
60
+ },
61
+ {
62
+ "match": "(\\-|\\+|\\*|\\\/|%\\\/%|%%|\\^)",
63
+ "name": "keyword.operator.arithmetic.gri"
64
+ },
65
+ {
66
+ "match": "(=|<-)",
67
+ "name": "keyword.operator.assignment.gri"
68
+ },
69
+ {
70
+ "match": "(==|!=)",
71
+ "name": "keyword.operator.comparison.gri"
72
+ },
73
+ {
74
+ "match": "\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)\\b",
75
+ "name": "constant.numeric.gri"
76
+ },
77
+ {
78
+ "begin": "(<< *\")([^\"]*)(\")",
79
+ "captures": {
80
+ "1": {
81
+ "name": "punctuation.definition.heredoc.gri"
82
+ },
83
+ "3": {
84
+ "name": "punctuation.definition.heredoc.gri"
85
+ }
86
+ },
87
+ "end": "^\\2$",
88
+ "name": "string.unquoted.heredoc.doublequote.gri"
89
+ },
90
+ {
91
+ "captures": {
92
+ "1": {
93
+ "name": "punctuation.definition.variable.gri"
94
+ }
95
+ },
96
+ "match": "(\\\\)[\\.a-zA-Z0-9_][\\.a-zA-Z0-9_]*\\b",
97
+ "name": "variable.other.synonym.gri"
98
+ },
99
+ {
100
+ "captures": {
101
+ "1": {
102
+ "name": "punctuation.definition.variable.gri"
103
+ },
104
+ "2": {
105
+ "name": "punctuation.definition.variable.gri"
106
+ }
107
+ },
108
+ "match": "(\\.)[a-zA-Z0-9_][a-zA-Z0-9_]*(\\.)",
109
+ "name": "variable.other.variable.gri"
110
+ },
111
+ {
112
+ "captures": {
113
+ "1": {
114
+ "name": "punctuation.definition.variable.gri"
115
+ },
116
+ "2": {
117
+ "name": "punctuation.definition.variable.gri"
118
+ }
119
+ },
120
+ "match": "(\\.\\.)[a-zA-Z0-9_][a-zA-Z0-9_]*(\\.\\.)",
121
+ "name": "variable.other.variabledot.gri"
122
+ },
123
+ {
124
+ "begin": "\"",
125
+ "beginCaptures": {
126
+ "0": {
127
+ "name": "punctuation.definition.string.begin.gri"
128
+ }
129
+ },
130
+ "end": "\"",
131
+ "endCaptures": {
132
+ "0": {
133
+ "name": "punctuation.definition.string.end.gri"
134
+ }
135
+ },
136
+ "name": "string.quoted.double.gri"
137
+ }
138
+ ],
139
+ "scopeName": "source.gri",
140
+ "uuid": "A7E000BE-6A87-4D7E-A053-469DA0DFEA02"
141
+ }