ver 2009.10.14 → 2009.11.28

Sign up to get free protection for your applications and to get access to all the features.
Files changed (318) hide show
  1. data/CHANGELOG +1094 -0
  2. data/MANIFEST +227 -25
  3. data/README.textile +185 -0
  4. data/bin/ver +96 -12
  5. data/config/detect.rb +73 -21
  6. data/config/keymap/emacs.rb +66 -0
  7. data/config/keymap/vim.rb +250 -140
  8. data/config/preferences/ANTLR.json +10 -0
  9. data/config/preferences/ASP vb.NET.json +3 -0
  10. data/config/preferences/ASP.json +15 -0
  11. data/config/preferences/ActionScript.json +755 -0
  12. data/config/preferences/Active4D.json +89 -0
  13. data/config/preferences/Ada.json +23 -0
  14. data/config/preferences/Ant.json +356 -0
  15. data/config/preferences/Apache.json +644 -0
  16. data/config/preferences/AppleScript.json +92 -0
  17. data/config/preferences/Bison.json +3 -0
  18. data/config/preferences/Blogging.json +3 -0
  19. data/config/preferences/C.json +127 -0
  20. data/config/preferences/CMake.json +41 -0
  21. data/config/preferences/CSS.json +461 -0
  22. data/config/preferences/CTags.json +3 -0
  23. data/config/preferences/CVS.json +3 -0
  24. data/config/preferences/ColdFusion.json +32 -0
  25. data/config/preferences/D.json +58 -0
  26. data/config/preferences/Darcs.json +3 -0
  27. data/config/preferences/Diff.json +67 -0
  28. data/config/preferences/DokuWiki.json +19 -0
  29. data/config/preferences/Doxygen.json +3 -0
  30. data/config/preferences/Dylan.json +3 -0
  31. data/config/preferences/Eiffel.json +59 -0
  32. data/config/preferences/Erlang.json +72 -0
  33. data/config/preferences/Experimental.json +1356 -0
  34. data/config/preferences/F-Script.json +87 -0
  35. data/config/preferences/FXScript.json +78 -0
  36. data/config/preferences/FileMerge.json +3 -0
  37. data/config/preferences/Fortran.json +158 -0
  38. data/config/preferences/GTD2.json +11 -0
  39. data/config/preferences/GTDAlt.json +20 -0
  40. data/config/preferences/GetBundle.json +3 -0
  41. data/config/preferences/Gettext.json +24 -0
  42. data/config/preferences/Graphviz.json +42 -0
  43. data/config/preferences/Greasemonkey.json +3 -0
  44. data/config/preferences/Gri.json +34 -0
  45. data/config/preferences/HTML.json +492 -0
  46. data/config/preferences/Haskell.json +72 -0
  47. data/config/preferences/Hotkey.json +3 -0
  48. data/config/preferences/ImageBrowser.json +3 -0
  49. data/config/preferences/Inform.json +3 -0
  50. data/config/preferences/Ini.json +60 -0
  51. data/config/preferences/Installer.json +3 -0
  52. data/config/preferences/Io.json +64 -0
  53. data/config/preferences/JSON.json +3 -0
  54. data/config/preferences/Java.json +86 -0
  55. data/config/preferences/JavaDoc.json +3 -0
  56. data/config/preferences/JavaScript.json +76 -0
  57. data/config/preferences/LaTeX.json +267 -0
  58. data/config/preferences/Lex/Flex.json +3 -0
  59. data/config/preferences/Lighttpd.json +3 -0
  60. data/config/preferences/LilyPond.json +77 -0
  61. data/config/preferences/Lisp.json +63 -0
  62. data/config/preferences/Logo.json +58 -0
  63. data/config/preferences/Logtalk.json +236 -0
  64. data/config/preferences/Lua.json +24 -0
  65. data/config/preferences/MEL.json +19 -0
  66. data/config/preferences/MIPS Assembler.json +26 -0
  67. data/config/preferences/MacPorts.json +3 -0
  68. data/config/preferences/Mail.json +3 -0
  69. data/config/preferences/Make.json +16 -0
  70. data/config/preferences/Markdown.json +102 -0
  71. data/config/preferences/Math.json +3 -0
  72. data/config/preferences/Matlab.json +128 -0
  73. data/config/preferences/Maven.json +308 -0
  74. data/config/preferences/Mediawiki.json +73 -0
  75. data/config/preferences/Mercurial.json +3 -0
  76. data/config/preferences/Modula.json +37 -0
  77. data/config/preferences/MoinMoin.json +52 -0
  78. data/config/preferences/Navigation.json +3 -0
  79. data/config/preferences/Nemerle.json +3 -0
  80. data/config/preferences/OCaml Code Completion.json +3 -0
  81. data/config/preferences/OCaml.json +163 -0
  82. data/config/preferences/ODCompletion.json +3 -0
  83. data/config/preferences/Objective-C.json +84 -0
  84. data/config/preferences/OpenGL.json +3331 -0
  85. data/config/preferences/Outlines.json +3 -0
  86. data/config/preferences/Pascal.json +60 -0
  87. data/config/preferences/Perforce.json +3 -0
  88. data/config/preferences/Perl.json +15 -0
  89. data/config/preferences/PmWiki.json +27 -0
  90. data/config/preferences/Postscript.json +15 -0
  91. data/config/preferences/Processing.json +32 -0
  92. data/config/preferences/Prolog.json +3 -0
  93. data/config/preferences/Propel.json +3 -0
  94. data/config/preferences/Python.json +38 -0
  95. data/config/preferences/Quake.json +15 -0
  96. data/config/preferences/R.json +33 -0
  97. data/config/preferences/Ragel.json +15 -0
  98. data/config/preferences/Regular Expressions.json +3 -0
  99. data/config/preferences/Remind.json +15 -0
  100. data/config/preferences/Rez.json +46 -0
  101. data/config/preferences/Ruby.json +98 -0
  102. data/config/preferences/S5 Slide Show.json +20 -0
  103. data/config/preferences/SCons.json +3 -0
  104. data/config/preferences/SQL.json +32 -0
  105. data/config/preferences/SSH Config.json +15 -0
  106. data/config/preferences/SVK.json +3 -0
  107. data/config/preferences/SWIG.json +3 -0
  108. data/config/preferences/SWeave.json +32 -0
  109. data/config/preferences/Scheme.json +35 -0
  110. data/config/preferences/Scilab.json +15 -0
  111. data/config/preferences/Setext.json +3 -0
  112. data/config/preferences/Shell Script.json +25 -0
  113. data/config/preferences/Slate.json +113 -0
  114. data/config/preferences/Source.json +132 -0
  115. data/config/preferences/Subversion.json +10 -0
  116. data/config/preferences/TODO.json +3 -0
  117. data/config/preferences/Tabular.json +3 -0
  118. data/config/preferences/Tcl.json +82 -0
  119. data/config/preferences/TerminalMate.json +112 -0
  120. data/config/preferences/Text.json +89 -0
  121. data/config/preferences/TextMate.json +38 -0
  122. data/config/preferences/Textile.json +76 -0
  123. data/config/preferences/Thrift.json +56 -0
  124. data/config/preferences/Transmit.json +3 -0
  125. data/config/preferences/Twiki.json +51 -0
  126. data/config/preferences/Txt2tags.json +81 -0
  127. data/config/preferences/Vectorscript.json +1280 -0
  128. data/config/preferences/XML.json +60 -0
  129. data/config/preferences/Xcode.json +3 -0
  130. data/config/preferences/YAML.json +24 -0
  131. data/config/preferences/iCalendar.json +10 -0
  132. data/config/preferences/iTerm.json +36 -0
  133. data/config/preferences/reStructuredText.json +48 -0
  134. data/config/rc.rb +49 -0
  135. data/config/syntax/ANTLR.json +5 -5
  136. data/config/syntax/{ASP VB.net.json → ASP vb.NET.json } +3 -3
  137. data/config/syntax/ASP.json +1 -1
  138. data/config/syntax/ActionScript.json +6 -6
  139. data/config/syntax/Active4D Config.json +86 -0
  140. data/config/syntax/Active4D Library.json +20 -0
  141. data/config/syntax/Active4D.json +418 -0
  142. data/config/syntax/Ada.json +3 -3
  143. data/config/syntax/Ant.json +196 -0
  144. data/config/syntax/Apache.json +7 -7
  145. data/config/syntax/AppleScript.json +3 -3
  146. data/config/syntax/{Bibtex.json → BibTeX.json} +1 -1
  147. data/config/syntax/Bison.json +59 -0
  148. data/config/syntax/{Blog (HTML).json → Blog - HTML.json } +2 -2
  149. data/config/syntax/{Blog (Markdown).json → Blog - Markdown.json } +2 -2
  150. data/config/syntax/Blog (Text).json b/data/config/syntax/Blog - → Text.json +0 -0
  151. data/config/syntax/Blog (Textile).json b/data/config/syntax/Blog - → Textile.json +0 -0
  152. data/config/syntax/C++.json +3 -3
  153. data/config/syntax/C.json +13 -13
  154. data/config/syntax/CMake Listfile.json +171 -0
  155. data/config/syntax/CSS.json +6 -6
  156. data/config/syntax/CSV.json +108 -0
  157. data/config/syntax/ColdFusion.json +204 -0
  158. data/config/syntax/D.json +560 -0
  159. data/config/syntax/Diff.json +1 -1
  160. data/config/syntax/DokuWiki.json +412 -0
  161. data/config/syntax/Doxygen.json +80 -0
  162. data/config/syntax/Dylan.json +4 -4
  163. data/config/syntax/Erlang.json +5 -5
  164. data/config/syntax/F-Script.json +1 -1
  165. data/config/syntax/FXScript.json +5 -5
  166. data/config/syntax/Fortran - Modern.json +221 -0
  167. data/config/syntax/Fortran - Punchcard.json +468 -0
  168. data/config/syntax/GTD.json +39 -0
  169. data/config/syntax/GTDalt.json +233 -0
  170. data/config/syntax/Gettext.json +118 -0
  171. data/config/syntax/Go.json +555 -0
  172. data/config/syntax/{DOT.json → Graphviz (DOT).json } +3 -3
  173. data/config/syntax/Greasemonkey.json +56 -0
  174. data/config/syntax/Gri.json +4 -4
  175. data/config/syntax/{HTML-ASP.json → HTML (ASP).json } +1 -1
  176. data/config/syntax/{HTML for ASP.net.json → HTML (ASP.net).json } +19 -19
  177. data/config/syntax/HTML (Active4D).json +540 -0
  178. data/config/syntax/HTML (Erlang).json +31 -0
  179. data/config/syntax/HTML (Tcl).json +1 -1
  180. data/config/syntax/HTML.json +20 -20
  181. data/config/syntax/Haskell.json +3 -3
  182. data/config/syntax/Installer Distribution Script.json +135 -0
  183. data/config/syntax/Io.json +6 -6
  184. data/config/syntax/JSON.json +151 -0
  185. data/config/syntax/{JavaProperties.json → Java Properties.json } +2 -2
  186. data/config/syntax/Java Server Page (JSP).json +163 -0
  187. data/config/syntax/Java.json +7 -7
  188. data/config/syntax/JavaDoc.json +435 -0
  189. data/config/syntax/JavaScript.json +8 -8
  190. data/config/syntax/LaTeX Log.json +3 -3
  191. data/config/syntax/LaTeX Memoir.json +101 -0
  192. data/config/syntax/LaTeX.json +2 -2
  193. data/config/syntax/Lex-Flex.json +396 -0
  194. data/config/syntax/LilyPond.json +608 -0
  195. data/config/syntax/Logo.json +48 -0
  196. data/config/syntax/Logtalk.json +6 -6
  197. data/config/syntax/Lua.json +1 -1
  198. data/config/syntax/{M.json → MATLAB.json} +3 -3
  199. data/config/syntax/MEL.json +7 -7
  200. data/config/syntax/MIPS.json b/data/config/syntax/MIPS → Assembler.json +0 -0
  201. data/config/syntax/MacPorts Portfile.json +298 -0
  202. data/config/syntax/Mail.json +1 -1
  203. data/config/syntax/Markdown.json +6 -6
  204. data/config/syntax/Maven POM.json +774 -0
  205. data/config/syntax/Mediawiki.json +736 -0
  206. data/config/syntax/MoinMoin.json +335 -0
  207. data/config/syntax/MultiMarkdown.json +41 -0
  208. data/config/syntax/Nemerle.json +128 -0
  209. data/config/syntax/OCaml.json +4 -4
  210. data/config/syntax/OCamllex.json +307 -0
  211. data/config/syntax/OCamlyacc.json +346 -0
  212. data/config/syntax/Objective-C++.json +2 -2
  213. data/config/syntax/Objective-C.json +979 -0
  214. data/config/syntax/Octave.json +417 -0
  215. data/config/syntax/PHP.json +32 -32
  216. data/config/syntax/Pascal.json +1 -1
  217. data/config/syntax/Perl.json +8 -8
  218. data/config/syntax/{Plain text.json → Plain Text.json } +1 -1
  219. data/config/syntax/PmWiki.json +241 -0
  220. data/config/syntax/Postscript.json +206 -0
  221. data/config/syntax/Processing.json +8 -8
  222. data/config/syntax/Prolog.json +70 -0
  223. data/config/syntax/Python.json +1934 -0
  224. data/config/syntax/{Quake3 Config.json → Quake Style .cfg.json } +1 -1
  225. data/config/syntax/R.json +2 -2
  226. data/config/syntax/Ragel.json +362 -0
  227. data/config/syntax/Rd (R Documentation).json +119 -0
  228. data/config/syntax/Regular Expressions (Oniguruma).json +186 -0
  229. data/config/syntax/Regular Expressions (Python).json +188 -0
  230. data/config/syntax/Release Notes.json +78 -0
  231. data/config/syntax/Remind.json +461 -0
  232. data/config/syntax/Rez.json +5 -5
  233. data/config/syntax/Ruby Sass.json +497 -0
  234. data/config/syntax/Ruby.json +13 -13
  235. data/config/syntax/S5 Slide Show.json +85 -0
  236. data/config/syntax/SQL.json +11 -11
  237. data/config/syntax/SSH Config.json +55 -0
  238. data/config/syntax/SWIG.json +2 -2
  239. data/config/syntax/SWeave.json +139 -0
  240. data/config/syntax/Scheme.json +8 -8
  241. data/config/syntax/Scilab.json +69 -0
  242. data/config/syntax/Setext.json +247 -0
  243. data/config/syntax/{Shell-Unix-Generic.json → Shell Script (Bash).json } +4 -4
  244. data/config/syntax/Slate.json +5 -5
  245. data/config/syntax/Strings File.json +53 -0
  246. data/config/syntax/TSV.json +83 -0
  247. data/config/syntax/Tcl.json +1 -1
  248. data/config/syntax/TeX Math.json +2 -2
  249. data/config/syntax/TeX.json +2 -2
  250. data/config/syntax/Textile.json +9 -9
  251. data/config/syntax/Thrift.json +641 -0
  252. data/config/syntax/Twiki.json +1 -1
  253. data/config/syntax/Txt2tags.json +154 -0
  254. data/config/syntax/XML strict.json +4 -4
  255. data/config/syntax/XML.json +6 -6
  256. data/config/syntax/XSL.json +2 -2
  257. data/config/syntax/camlp4.json +63 -0
  258. data/config/syntax/mod_perl.json +72 -0
  259. data/config/syntax/reStructuredText.json +1 -1
  260. data/config/syntax/{Subversion commit message.json → svn-commit.tmp.json} +0 -0
  261. data/config/tutorial +23 -19
  262. data/config/welcome +3 -3
  263. data/lib/ver.rb +273 -62
  264. data/lib/ver/entry.rb +142 -26
  265. data/lib/ver/font.rb +51 -0
  266. data/lib/ver/help.rb +16 -0
  267. data/lib/ver/help/describe_key.rb +82 -0
  268. data/lib/ver/help/help_for_help.rb +39 -0
  269. data/lib/ver/hover_completion.rb +129 -0
  270. data/lib/ver/keymap.rb +95 -24
  271. data/lib/ver/layout.rb +107 -43
  272. data/lib/ver/methods.rb +24 -8
  273. data/lib/ver/methods/clipboard.rb +91 -0
  274. data/lib/ver/methods/completion.rb +146 -71
  275. data/lib/ver/methods/control.rb +203 -222
  276. data/lib/ver/methods/ctags.rb +55 -0
  277. data/lib/ver/methods/delete.rb +30 -0
  278. data/lib/ver/methods/help.rb +7 -0
  279. data/lib/ver/methods/insert.rb +233 -1
  280. data/lib/ver/methods/move.rb +181 -32
  281. data/lib/ver/methods/open.rb +208 -0
  282. data/lib/ver/methods/preview.rb +14 -0
  283. data/lib/ver/methods/save.rb +111 -0
  284. data/lib/ver/methods/search.rb +57 -7
  285. data/lib/ver/methods/select.rb +97 -17
  286. data/lib/ver/methods/shortcuts.rb +21 -0
  287. data/lib/ver/methods/views.rb +56 -1
  288. data/lib/ver/mode.rb +60 -14
  289. data/lib/ver/status.rb +97 -19
  290. data/lib/ver/syntax.rb +14 -6
  291. data/lib/ver/syntax/detector.rb +16 -5
  292. data/lib/ver/syntax/processor.rb +9 -3
  293. data/lib/ver/text.rb +258 -199
  294. data/lib/ver/text/index.rb +103 -0
  295. data/lib/ver/theme.rb +27 -16
  296. data/lib/ver/tooltip.rb +59 -0
  297. data/lib/ver/vendor/binary_search.rb +61 -0
  298. data/lib/ver/vendor/levenshtein.rb +57 -0
  299. data/lib/ver/{textpow.rb → vendor/textpow.rb} +31 -29
  300. data/lib/ver/view.rb +65 -41
  301. data/lib/ver/view/console.rb +171 -0
  302. data/lib/ver/view/entry.rb +9 -5
  303. data/lib/ver/view/list.rb +44 -29
  304. data/lib/ver/view/list/ex.rb +71 -0
  305. data/lib/ver/view/list/grep.rb +42 -0
  306. data/lib/ver/view/list/methods.rb +159 -0
  307. data/lib/ver/view/term.rb +249 -0
  308. data/tasks/syntax_list.rake +3 -2
  309. data/ver.gemspec +4 -4
  310. metadata +230 -28
  311. data/config/syntax/Bulletin Board.json +0 -428
  312. data/config/syntax/HTML (Mason).json +0 -207
  313. data/config/syntax/HTML (Rails).json +0 -52
  314. data/config/syntax/Movable Type.json +0 -348
  315. data/config/syntax/Ruby on Rails.json +0 -170
  316. data/config/syntax/SQL (Rails).json +0 -31
  317. data/config/syntax/Smarty.json +0 -110
  318. data/config/syntax/Standard ML.json +0 -322
@@ -283,23 +283,23 @@
283
283
  ]
284
284
  },
285
285
  {
286
- "begin": "\/\\*\\*(?!\/)",
286
+ "begin": "/\\*\\*(?!/)",
287
287
  "captures": {
288
288
  "0": {
289
289
  "name": "punctuation.definition.comment.js"
290
290
  }
291
291
  },
292
- "end": "\\*\/",
292
+ "end": "\\*/",
293
293
  "name": "comment.block.documentation.js"
294
294
  },
295
295
  {
296
- "begin": "\/\\*",
296
+ "begin": "/\\*",
297
297
  "captures": {
298
298
  "0": {
299
299
  "name": "punctuation.definition.comment.js"
300
300
  }
301
301
  },
302
- "end": "\\*\/",
302
+ "end": "\\*/",
303
303
  "name": "comment.block.js"
304
304
  },
305
305
  {
@@ -308,7 +308,7 @@
308
308
  "name": "punctuation.definition.comment.js"
309
309
  }
310
310
  },
311
- "match": "(\/\/).*$\\n?",
311
+ "match": "(//).*$\\n?",
312
312
  "name": "comment.line.double-slash.js"
313
313
  },
314
314
  {
@@ -388,7 +388,7 @@
388
388
  "name": "support.function.event-handler.js"
389
389
  },
390
390
  {
391
- "match": "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|(?<!\\()\/=|%=|\\+=|\\-=|&=|\\^=|\\b(in|instanceof|new|delete|typeof|void)\\b",
391
+ "match": "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|(?<!\\()/=|%=|\\+=|\\-=|&=|\\^=|\\b(in|instanceof|new|delete|typeof|void)\\b",
392
392
  "name": "keyword.operator.js"
393
393
  },
394
394
  {
@@ -396,13 +396,13 @@
396
396
  "name": "constant.language.js"
397
397
  },
398
398
  {
399
- "begin": "(?<=[=(:]|^|return)\\s*(\/)(?![\/*+{}?])",
399
+ "begin": "(?<=[=(:]|^|return)\\s*(/)(?![/*+{}?])",
400
400
  "beginCaptures": {
401
401
  "1": {
402
402
  "name": "punctuation.definition.string.begin.js"
403
403
  }
404
404
  },
405
- "end": "(\/)[igm]*",
405
+ "end": "(/)[igm]*",
406
406
  "endCaptures": {
407
407
  "1": {
408
408
  "name": "punctuation.definition.string.end.js"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "firstLineMatch": "This is (pdf|pdfe)?TeXk?, Version ",
3
- "foldingStartMarker": "\/\\*\\*|\\(\\s*$",
4
- "foldingStopMarker": "\\*\\*\/|^\\s*\\)",
3
+ "foldingStartMarker": "/\\*\\*|\\(\\s*$",
4
+ "foldingStopMarker": "\\*\\*/|^\\s*\\)",
5
5
  "name": "LaTeX Log",
6
6
  "patterns": [
7
7
  {
@@ -77,7 +77,7 @@
77
77
  "name": "entity.name.function.filename.latex"
78
78
  }
79
79
  },
80
- "match": "(.*\/.*\\.pdf)",
80
+ "match": "(.*/.*\\.pdf)",
81
81
  "name": "support.function.with-arg.latex"
82
82
  }
83
83
  ]
@@ -0,0 +1,101 @@
1
+ {
2
+ "fileTypes": [
3
+
4
+ ],
5
+ "firstLineMatch": "^\\\\documentclass(\\[.*\\])?\\{memoir\\}",
6
+ "foldingStartMarker": "\\\\begin\\{.*\\}|%.*\\(fold\\)\\s*$",
7
+ "foldingStopMarker": "\\\\end\\{.*\\}|%.*\\(end\\)\\s*$",
8
+ "keyEquivalent": "^~M",
9
+ "name": "LaTeX Memoir",
10
+ "patterns": [
11
+ {
12
+ "begin": "(?:\\s*)((\\\\)begin)(\\{)(framed|shaded|leftbar)(\\})",
13
+ "captures": {
14
+ "1": {
15
+ "name": "support.function.be.latex"
16
+ },
17
+ "2": {
18
+ "name": "punctuation.definition.function.latex"
19
+ },
20
+ "3": {
21
+ "name": "punctuation.definition.arguments.begin.latex"
22
+ },
23
+ "4": {
24
+ "name": "variable.parameter.function.latex"
25
+ },
26
+ "5": {
27
+ "name": "punctuation.definition.arguments.end.latex"
28
+ }
29
+ },
30
+ "end": "((\\\\)end)(\\{)(\\4)(\\})",
31
+ "name": "meta.function.memoir-fbox.latex",
32
+ "patterns": [
33
+ {
34
+ "include": "$self"
35
+ }
36
+ ]
37
+ },
38
+ {
39
+ "begin": "(?:\\s*)((\\\\)begin)(\\{)((?:fboxv|boxedv|V)erbatim)(\\})",
40
+ "captures": {
41
+ "1": {
42
+ "name": "support.function.be.latex"
43
+ },
44
+ "2": {
45
+ "name": "punctuation.definition.function.latex"
46
+ },
47
+ "3": {
48
+ "name": "punctuation.definition.arguments.begin.latex"
49
+ },
50
+ "4": {
51
+ "name": "variable.parameter.function.latex"
52
+ },
53
+ "5": {
54
+ "name": "punctuation.definition.arguments.end.latex"
55
+ }
56
+ },
57
+ "contentName": "markup.raw.verbatim.latex",
58
+ "end": "((\\\\)end)(\\{)(\\4)(\\})",
59
+ "name": "meta.function.memoir-verbatim.latex"
60
+ },
61
+ {
62
+ "begin": "(?:\\s*)((\\\\)begin)(\\{)(alltt)(\\})",
63
+ "captures": {
64
+ "1": {
65
+ "name": "support.function.be.latex"
66
+ },
67
+ "2": {
68
+ "name": "punctuation.definition.function.latex"
69
+ },
70
+ "3": {
71
+ "name": "punctuation.definition.arguments.begin.latex"
72
+ },
73
+ "4": {
74
+ "name": "variable.parameter.function.latex"
75
+ },
76
+ "5": {
77
+ "name": "punctuation.definition.arguments.end.latex"
78
+ }
79
+ },
80
+ "contentName": "markup.raw.verbatim.latex",
81
+ "end": "((\\\\)end)(\\{)(alltt)(\\})",
82
+ "name": "meta.function.memoir-alltt.latex",
83
+ "patterns": [
84
+ {
85
+ "captures": {
86
+ "1": {
87
+ "name": "punctuation.definition.function.tex"
88
+ }
89
+ },
90
+ "match": "(\\\\)[A-Za-z]+",
91
+ "name": "support.function.general.tex"
92
+ }
93
+ ]
94
+ },
95
+ {
96
+ "include": "text.tex.latex"
97
+ }
98
+ ],
99
+ "scopeName": "text.tex.latex.memoir",
100
+ "uuid": "D0853B20-ABFF-48AB-8AB9-3D8BA0755C05"
101
+ }
@@ -718,7 +718,7 @@
718
718
  "name": "meta.reference.label.latex",
719
719
  "patterns": [
720
720
  {
721
- "match": "[a-zA-Z0-9\\.,:\/*!^_-]",
721
+ "match": "[a-zA-Z0-9\\.,:/*!^_-]",
722
722
  "name": "constant.other.reference.label.latex"
723
723
  }
724
724
  ]
@@ -745,7 +745,7 @@
745
745
  "name": "meta.definition.label.latex",
746
746
  "patterns": [
747
747
  {
748
- "match": "[a-zA-Z0-9\\.,:\/*!^_-]",
748
+ "match": "[a-zA-Z0-9\\.,:/*!^_-]",
749
749
  "name": "variable.parameter.definition.label.latex"
750
750
  }
751
751
  ]
@@ -0,0 +1,396 @@
1
+ {
2
+ "fileTypes": [
3
+ "l"
4
+ ],
5
+ "foldingStartMarker": "/\\*\\*|\\{\\s*$",
6
+ "foldingStopMarker": "\\*\\*/|^\\s*\\}",
7
+ "keyEquivalent": "^~L",
8
+ "name": "Lex/Flex",
9
+ "patterns": [
10
+ {
11
+ "begin": "\\A(?!%%$)",
12
+ "comment": "first section of the file - definitions",
13
+ "end": "^(?=%%$)",
14
+ "name": "meta.section.definitions.lex",
15
+ "patterns": [
16
+ {
17
+ "include": "#includes"
18
+ },
19
+ {
20
+ "begin": "/\\*",
21
+ "end": "\\*/|$",
22
+ "name": "comment.block.c.lex"
23
+ },
24
+ {
25
+ "begin": "^(?i)([a-z_][a-z0-9_-]*)(?=\\s|$)",
26
+ "beginCaptures": {
27
+ "1": {
28
+ "name": "entity.name.function.lex"
29
+ }
30
+ },
31
+ "end": "$",
32
+ "name": "meta.definition.lex",
33
+ "patterns": [
34
+ {
35
+ "include": "#regexp"
36
+ }
37
+ ]
38
+ },
39
+ {
40
+ "begin": "^(%[sx])(?=\\s|$)",
41
+ "beginCaptures": {
42
+ "1": {
43
+ "name": "punctuation.definition.start-condition.lex"
44
+ }
45
+ },
46
+ "end": "$",
47
+ "name": "meta.start-condition.lex",
48
+ "patterns": [
49
+ {
50
+ "match": "(?i)[a-z_][a-z0-9_-]*"
51
+ },
52
+ {
53
+ "match": "\\S",
54
+ "name": "invalid.illegal.lex"
55
+ }
56
+ ]
57
+ },
58
+ {
59
+ "begin": "^(%option)\\s(?=\\S)",
60
+ "beginCaptures": {
61
+ "1": {
62
+ "name": "keyword.other.option.lex"
63
+ }
64
+ },
65
+ "end": "$",
66
+ "name": "meta.options.lex",
67
+ "patterns": [
68
+ {
69
+ "match": "\\b(?:(?:no)?(?:[78]bit|align|backup|batch|c\\+\\+|debug|default|ecs|fast|full|interactive|lex-compat|meta-ecs|perf-report|read|stdout|verbose|warn|array|pointer|input|unput|yy_(?:(?:push|pop|top)_state|scan_(?:buffer|bytes|string))|main|stack|stdinit|yylineno|yywrap)|(?:case(?:ful|less)|case-(?:in)?sensitive|(?:always|never)-interactive))\\b",
70
+ "name": "support.other.option.lex"
71
+ }
72
+ ]
73
+ },
74
+ {
75
+ "begin": "^%(?:array|pointer)",
76
+ "end": "$",
77
+ "name": "keyword.other.option.lex",
78
+ "patterns": [
79
+ {
80
+ "match": "\\S",
81
+ "name": "invalid.illegal.lex"
82
+ }
83
+ ]
84
+ }
85
+ ]
86
+ },
87
+ {
88
+ "begin": "^(%%)$",
89
+ "beginCaptures": {
90
+ "1": {
91
+ "name": "punctuation.separator.sections.lex"
92
+ }
93
+ },
94
+ "end": "\\Z.\\A(?# never end)",
95
+ "patterns": [
96
+ {
97
+ "begin": "^(?!%%$)",
98
+ "comment": "second section of the file - rules",
99
+ "end": "^(?=%%$)",
100
+ "name": "meta.section.rules.lex",
101
+ "patterns": [
102
+ {
103
+ "begin": "^(?!$)",
104
+ "end": "$",
105
+ "name": "meta.rule.lex",
106
+ "patterns": [
107
+ {
108
+ "include": "#includes"
109
+ },
110
+ {
111
+ "begin": "(?i)^(<(?:(?:[a-z_][a-z0-9_-]*,)*[a-z_][a-z0-9_-]|\\*)>)?(?:(<<EOF>>)(\\s*))?(?=\\S)",
112
+ "beginCaptures": {
113
+ "1": {
114
+ "name": "keyword.other.start-condition.lex"
115
+ },
116
+ "2": {
117
+ "name": "keyword.operator.eof.lex"
118
+ },
119
+ "3": {
120
+ "name": "invalid.illegal.regexp.lex"
121
+ }
122
+ },
123
+ "comment": "rule pattern",
124
+ "end": "(?=\\s)|$",
125
+ "patterns": [
126
+ {
127
+ "include": "#regexp"
128
+ }
129
+ ]
130
+ },
131
+ {
132
+ "begin": "(%\\{)",
133
+ "beginCaptures": {
134
+ "1": {
135
+ "name": "punctuation.definition.code.lex"
136
+ }
137
+ },
138
+ "comment": "TODO: %} should override embedded scopes",
139
+ "end": "(%\\})(.*)",
140
+ "endCaptures": {
141
+ "1": {
142
+ "name": "punctuation.terminator.code.lex"
143
+ },
144
+ "2": {
145
+ "name": "invalid.illegal.ignored.lex"
146
+ }
147
+ },
148
+ "patterns": [
149
+ {
150
+ "include": "#csource"
151
+ }
152
+ ]
153
+ },
154
+ {
155
+ "begin": "(?=\\S)",
156
+ "comment": "TODO: eol should override embedded scopes",
157
+ "end": "$",
158
+ "name": "meta.rule.action.lex",
159
+ "patterns": [
160
+ {
161
+ "include": "#csource"
162
+ }
163
+ ]
164
+ }
165
+ ]
166
+ }
167
+ ]
168
+ },
169
+ {
170
+ "begin": "^(%%)$",
171
+ "beginCaptures": {
172
+ "1": {
173
+ "name": "punctuation.separator.sections.lex"
174
+ }
175
+ },
176
+ "comment": "third section of the file - user code",
177
+ "contentName": "meta.section.user-code.lex",
178
+ "end": "\\Z.\\A(?# never end)",
179
+ "patterns": [
180
+ {
181
+ "include": "#csource"
182
+ }
183
+ ]
184
+ }
185
+ ]
186
+ }
187
+ ],
188
+ "repository": {
189
+ "csource": {
190
+ "patterns": [
191
+ {
192
+ "match": "\\b(?:ECHO|BEGIN|REJECT|YY_FLUSH_BUFFER|YY_BREAK|yy(?:more|less|unput|input|terminate|text|leng|restart|_(?:push|pop|top)_state|_(?:create|switch_to|flush|delete)_buffer|_scan_(?:string|bytes|buffer)|_set_(?:bol|interactive))(?=\\(|$))\\b",
193
+ "name": "support.function.c.lex"
194
+ },
195
+ {
196
+ "include": "source.c"
197
+ }
198
+ ]
199
+ },
200
+ "includes": {
201
+ "patterns": [
202
+ {
203
+ "begin": "^%\\{$",
204
+ "comment": "TODO: $} should override the embedded scopes",
205
+ "end": "^%\\}$",
206
+ "name": "meta.embedded.source.c.lex",
207
+ "patterns": [
208
+ {
209
+ "include": "source.c"
210
+ }
211
+ ]
212
+ },
213
+ {
214
+ "begin": "^[ \\t]+",
215
+ "comment": "TODO: eol should override the embedded scopes",
216
+ "end": "$",
217
+ "name": "meta.embedded.source.c.lex",
218
+ "patterns": [
219
+ {
220
+ "include": "source.c"
221
+ }
222
+ ]
223
+ }
224
+ ]
225
+ },
226
+ "re_escape": {
227
+ "match": "\\\\(?i:[0-9]{1,3}|x[0-9a-f]{1,2}|.)",
228
+ "name": "constant.character.escape.lex"
229
+ },
230
+ "rec_csource": {
231
+ "begin": "\\{",
232
+ "end": "\\}",
233
+ "patterns": [
234
+ {
235
+ "include": "source.c"
236
+ },
237
+ {
238
+ "include": "#csource"
239
+ }
240
+ ]
241
+ },
242
+ "regexp": {
243
+ "begin": "\\G(?=\\S)(\\^)?",
244
+ "captures": {
245
+ "1": {
246
+ "name": "keyword.control.anchor.regexp.lex"
247
+ }
248
+ },
249
+ "end": "(\\$)?(?:(?=\\s)|$)",
250
+ "name": "string.regexp.lex",
251
+ "patterns": [
252
+ {
253
+ "include": "#subregexp"
254
+ }
255
+ ]
256
+ },
257
+ "subregexp": {
258
+ "patterns": [
259
+ {
260
+ "include": "#re_escape"
261
+ },
262
+ {
263
+ "begin": "(\\[)(\\^)?-?",
264
+ "beginCaptures": {
265
+ "1": {
266
+ "name": "punctuation.definition.character-class.set.lex"
267
+ },
268
+ "2": {
269
+ "name": "keyword.operator.negation.regexp.lex"
270
+ }
271
+ },
272
+ "end": "-?(\\])",
273
+ "endCaptures": {
274
+ "1": {
275
+ "name": "punctuation.terminator.character-class.set.lex"
276
+ }
277
+ },
278
+ "name": "constant.other.character-class.set.lex",
279
+ "patterns": [
280
+ {
281
+ "include": "#re_escape"
282
+ },
283
+ {
284
+ "captures": {
285
+ "1": {
286
+ "name": "invalid.illegal.regexp.lex"
287
+ }
288
+ },
289
+ "match": "\\[:(?:(?:alnum|alpha|blank|cntrl|x?digit|graph|lower|print|punct|space|upper)|(.*?)):\\]",
290
+ "name": "constant.other.character-class.set.lex"
291
+ }
292
+ ]
293
+ },
294
+ {
295
+ "match": "(?i){[a-z_][a-z0-9_-]*}",
296
+ "name": "variable.other.lex"
297
+ },
298
+ {
299
+ "begin": "\\{",
300
+ "end": "\\}",
301
+ "name": "keyword.operator.quantifier.regexp.lex",
302
+ "patterns": [
303
+ {
304
+ "match": "(?<=\\{)[0-9]*(?:,[0-9]*)?(?=\\})"
305
+ },
306
+ {
307
+ "comment": "{3} counts should only have digit[,digit]",
308
+ "match": "[^}]",
309
+ "name": "invalid.illegal.regexp.lex"
310
+ }
311
+ ]
312
+ },
313
+ {
314
+ "begin": "\"",
315
+ "end": "\"",
316
+ "name": "string.quoted.double.regexp.lex",
317
+ "patterns": [
318
+ {
319
+ "include": "#re_escape"
320
+ }
321
+ ]
322
+ },
323
+ {
324
+ "begin": "([*+?])(?=[*+?])",
325
+ "beginCaptures": {
326
+ "1": {
327
+ "name": "keyword.operator.quantifier.regexp.lex"
328
+ }
329
+ },
330
+ "comment": "make ** or +? or other combinations illegal",
331
+ "end": "(?=[^*+?])",
332
+ "patterns": [
333
+ {
334
+ "match": ".",
335
+ "name": "invalid.illegal.regexp.lex"
336
+ }
337
+ ]
338
+ },
339
+ {
340
+ "match": "[*+?]",
341
+ "name": "keyword.operator.quantifier.regexp.lex"
342
+ },
343
+ {
344
+ "comment": "<<EOF>> is handled in the rule pattern",
345
+ "match": "<<EOF>>",
346
+ "name": "invalid.illegal.regexp.lex"
347
+ },
348
+ {
349
+ "begin": "(\\()",
350
+ "beginCaptures": {
351
+ "1": {
352
+ "name": "punctuation.definition.group.regexp.lex"
353
+ }
354
+ },
355
+ "end": "(\\))|(?=\\s)|$(?#end on whitespace because regex does)",
356
+ "endCaptures": {
357
+ "1": {
358
+ "name": "punctuation.terminator.group.regexp.lex"
359
+ }
360
+ },
361
+ "name": "meta.group.regexp.lex",
362
+ "patterns": [
363
+ {
364
+ "match": "/",
365
+ "name": "invalid.illegal.regexp.lex"
366
+ },
367
+ {
368
+ "include": "#subregexp"
369
+ }
370
+ ]
371
+ },
372
+ {
373
+ "begin": "(/)",
374
+ "beginCaptures": {
375
+ "1": {
376
+ "name": "keyword.operator.trailing-match.regexp.lex"
377
+ }
378
+ },
379
+ "comment": "detection of multiple trailing contexts",
380
+ "end": "(?=\\s)|$",
381
+ "patterns": [
382
+ {
383
+ "match": "/|\\$(?!\\S)",
384
+ "name": "invalid.illegal.regexp.lex"
385
+ },
386
+ {
387
+ "include": "#subregexp"
388
+ }
389
+ ]
390
+ }
391
+ ]
392
+ }
393
+ },
394
+ "scopeName": "source.lex",
395
+ "uuid": "92E842A0-9DE6-4D31-A6AC-1CDE0F9547C5"
396
+ }