ver 2009.10.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,93 @@
1
+ {
2
+ "foldingStartMarker": "(\\{|\\()\\s*$",
3
+ "foldingStopMarker": "^\\s*(\\}|\\))",
4
+ "keyEquivalent": "^~L",
5
+ "name": "Lighttpd",
6
+ "patterns": [
7
+ {
8
+ "captures": {
9
+ "1": {
10
+ "name": "punctuation.definition.comment.lighttpd-config"
11
+ }
12
+ },
13
+ "match": "(#).*$\\n?",
14
+ "name": "comment.line.number-sign.lighttpd-config"
15
+ },
16
+ {
17
+ "captures": {
18
+ "1": {
19
+ "name": "punctuation.separator.key-value.lighttpd-config"
20
+ },
21
+ "2": {
22
+ "name": "string.regexp.lighttpd-config"
23
+ },
24
+ "3": {
25
+ "name": "punctuation.definition.string.begin.lighttpd-config"
26
+ },
27
+ "4": {
28
+ "name": "punctuation.definition.string.end.lighttpd-config"
29
+ }
30
+ },
31
+ "match": "(=~|!~)\\s*((\").*(\"))"
32
+ },
33
+ {
34
+ "captures": {
35
+ "1": {
36
+ "name": "punctuation.separator.key-value.lighttpd-config"
37
+ },
38
+ "2": {
39
+ "name": "constant.numeric.lighttpd-config"
40
+ }
41
+ },
42
+ "match": "(=>?)\\s*([0-9]+)"
43
+ },
44
+ {
45
+ "match": "=|\\+=|==|!=|=~|!~|=>",
46
+ "name": "punctuation.separator.key-value.lighttpd-config"
47
+ },
48
+ {
49
+ "begin": "\"",
50
+ "beginCaptures": {
51
+ "0": {
52
+ "name": "punctuation.definition.string.begin.lighttpd-config"
53
+ }
54
+ },
55
+ "end": "\"",
56
+ "endCaptures": {
57
+ "0": {
58
+ "name": "punctuation.definition.string.end.lighttpd-config"
59
+ }
60
+ },
61
+ "name": "string.quoted.double.lighttpd-config",
62
+ "patterns": [
63
+ {
64
+ "match": "\"\"",
65
+ "name": "constant.character.escape.quote.lighttpd-config"
66
+ }
67
+ ]
68
+ },
69
+ {
70
+ "captures": {
71
+ "1": {
72
+ "name": "punctuation.definition.variable.lighttpd-config"
73
+ }
74
+ },
75
+ "match": "(\\$)[a-zA-Z][0-9a-zA-Z]*",
76
+ "name": "variable.language.lighttpd-config"
77
+ },
78
+ {
79
+ "match": "^\\s*[a-zA-Z][0-9a-zA-Z.-]*",
80
+ "name": "support.constant.name.lighttpd-config"
81
+ },
82
+ {
83
+ "captures": {
84
+ "1": {
85
+ "name": "invalid.illegal.semicolon-at-end-of-line.lighttpd-config"
86
+ }
87
+ },
88
+ "match": "(;)\\s*$"
89
+ }
90
+ ],
91
+ "scopeName": "source.lighttpd-config",
92
+ "uuid": "C244BFF4-2C1A-490F-831E-8EF7DF4E0C9B"
93
+ }
@@ -0,0 +1,101 @@
1
+ {
2
+ "comment": "",
3
+ "fileTypes": [
4
+ "lisp",
5
+ "cl",
6
+ "l",
7
+ "mud",
8
+ "el"
9
+ ],
10
+ "foldingStartMarker": "\\(",
11
+ "foldingStopMarker": "\\)",
12
+ "keyEquivalent": "^~L",
13
+ "name": "Lisp",
14
+ "patterns": [
15
+ {
16
+ "captures": {
17
+ "1": {
18
+ "name": "punctuation.definition.comment.lisp"
19
+ }
20
+ },
21
+ "match": "(;).*$\\n?",
22
+ "name": "comment.line.semicolon.lisp"
23
+ },
24
+ {
25
+ "captures": {
26
+ "2": {
27
+ "name": "storage.type.function-type.lisp"
28
+ },
29
+ "4": {
30
+ "name": "entity.name.function.lisp"
31
+ }
32
+ },
33
+ "match": "(\\b(?i:(defun|defmethod|defmacro))\\b)(\\s+)((\\w|\\-|\\!|\\?)*)",
34
+ "name": "meta.function.lisp"
35
+ },
36
+ {
37
+ "captures": {
38
+ "1": {
39
+ "name": "punctuation.definition.constant.lisp"
40
+ }
41
+ },
42
+ "match": "(#)(\\w|[\\\\+-=<>'\"&#])+",
43
+ "name": "constant.character.lisp"
44
+ },
45
+ {
46
+ "captures": {
47
+ "1": {
48
+ "name": "punctuation.definition.variable.lisp"
49
+ },
50
+ "3": {
51
+ "name": "punctuation.definition.variable.lisp"
52
+ }
53
+ },
54
+ "match": "(\\*)(\\S*)(\\*)",
55
+ "name": "variable.other.global.lisp"
56
+ },
57
+ {
58
+ "match": "\\b(?i:case|do|let|loop|if|else|when)\\b",
59
+ "name": "keyword.control.lisp"
60
+ },
61
+ {
62
+ "match": "\\b(?i:eq|neq|and|or)\\b",
63
+ "name": "keyword.operator.lisp"
64
+ },
65
+ {
66
+ "match": "\\b(?i:null|nil)\\b",
67
+ "name": "constant.language.lisp"
68
+ },
69
+ {
70
+ "match": "\\b(?i:cons|car|cdr|cond|lambda|format|setq|setf|quote|eval|append|list|listp|memberp|t|load|progn)\\b",
71
+ "name": "support.function.lisp"
72
+ },
73
+ {
74
+ "match": "\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b",
75
+ "name": "constant.numeric.lisp"
76
+ },
77
+ {
78
+ "begin": "\"",
79
+ "beginCaptures": {
80
+ "0": {
81
+ "name": "punctuation.definition.string.begin.lisp"
82
+ }
83
+ },
84
+ "end": "\"",
85
+ "endCaptures": {
86
+ "0": {
87
+ "name": "punctuation.definition.string.end.lisp"
88
+ }
89
+ },
90
+ "name": "string.quoted.double.lisp",
91
+ "patterns": [
92
+ {
93
+ "match": "\\\\.",
94
+ "name": "constant.character.escape.lisp"
95
+ }
96
+ ]
97
+ }
98
+ ],
99
+ "scopeName": "source.lisp",
100
+ "uuid": "00D451C9-6B1D-11D9-8DFA-000D93589AF6"
101
+ }
@@ -0,0 +1,55 @@
1
+ {
2
+ "fileTypes": [
3
+ "lhs"
4
+ ],
5
+ "keyEquivalent": "^~H",
6
+ "name": "Literate Haskell",
7
+ "patterns": [
8
+ {
9
+ "begin": "^((\\\\)begin)({)code(})(\\s*\\n)?",
10
+ "captures": {
11
+ "1": {
12
+ "name": "support.function.be.latex"
13
+ },
14
+ "2": {
15
+ "name": "punctuation.definition.function.latex"
16
+ },
17
+ "3": {
18
+ "name": "punctuation.definition.arguments.begin.latex"
19
+ },
20
+ "4": {
21
+ "name": "punctuation.definition.arguments.end.latex"
22
+ }
23
+ },
24
+ "contentName": "source.haskell.embedded.latex",
25
+ "end": "^((\\\\)end)({)code(})",
26
+ "name": "meta.function.embedded.haskell.latex",
27
+ "patterns": [
28
+ {
29
+ "include": "source.haskell"
30
+ }
31
+ ]
32
+ },
33
+ {
34
+ "begin": "^(> )",
35
+ "beginCaptures": {
36
+ "1": {
37
+ "name": "punctuation.definition.bird-track.haskell"
38
+ }
39
+ },
40
+ "comment": "This breaks type signature detection for now, but it's better than having no highlighting whatsoever.",
41
+ "end": "$",
42
+ "name": "meta.embedded.haskell",
43
+ "patterns": [
44
+ {
45
+ "include": "source.haskell"
46
+ }
47
+ ]
48
+ },
49
+ {
50
+ "include": "text.tex.latex"
51
+ }
52
+ ],
53
+ "scopeName": "text.tex.latex.haskell",
54
+ "uuid": "439807F5-7129-487D-B5DC-95D5272B43DD"
55
+ }
@@ -0,0 +1,289 @@
1
+ {
2
+ "fileTypes": [
3
+ "lgt",
4
+ "config"
5
+ ],
6
+ "foldingStartMarker": "(\/\\*|:-\\s+(object|protocol|category)(?=[(]))",
7
+ "foldingStopMarker": "(\\*\/|:-\\s+end_(object|protocol|category)(?=[.]))",
8
+ "keyEquivalent": "^~L",
9
+ "name": "Logtalk",
10
+ "patterns": [
11
+ {
12
+ "begin": "\/\\*",
13
+ "captures": {
14
+ "0": {
15
+ "name": "punctuation.definition.comment.logtalk"
16
+ }
17
+ },
18
+ "end": "\\*\/",
19
+ "name": "comment.block.logtalk"
20
+ },
21
+ {
22
+ "captures": {
23
+ "1": {
24
+ "name": "punctuation.definition.comment.logtalk"
25
+ }
26
+ },
27
+ "match": "(%).*$\\n?",
28
+ "name": "comment.line.percentage.logtalk"
29
+ },
30
+ {
31
+ "captures": {
32
+ "1": {
33
+ "name": "storage.type.opening.logtalk"
34
+ },
35
+ "2": {
36
+ "name": "punctuation.definition.storage.type.logtalk"
37
+ },
38
+ "4": {
39
+ "name": "entity.name.type.logtalk"
40
+ }
41
+ },
42
+ "match": "((:-)\\s(object|protocol|category|module))(?:\\()([^(,)]+)"
43
+ },
44
+ {
45
+ "captures": {
46
+ "1": {
47
+ "name": "punctuation.definition.storage.type.logtalk"
48
+ }
49
+ },
50
+ "match": "(:-)\\s(end_(object|protocol|category))(?=[.])",
51
+ "name": "storage.type.closing.logtalk"
52
+ },
53
+ {
54
+ "match": "\\b(complements|extends|i(nstantiates|mp(orts|lements))|specializes)(?=[(])",
55
+ "name": "storage.type.relations.logtalk"
56
+ },
57
+ {
58
+ "captures": {
59
+ "1": {
60
+ "name": "punctuation.definition.storage.modifier.logtalk"
61
+ }
62
+ },
63
+ "match": "(:-)\\s(e(lse|ndif)|dynamic|synchronized|threaded)(?=[.])",
64
+ "name": "storage.modifier.others.logtalk"
65
+ },
66
+ {
67
+ "captures": {
68
+ "1": {
69
+ "name": "punctuation.definition.storage.modifier.logtalk"
70
+ }
71
+ },
72
+ "match": "(:-)\\s(calls|e(lif|n(coding|sure_loaded)|xport)|i(f|n(itialization|fo))|set_(logtalk|prolog)_flag|uses)(?=[(])",
73
+ "name": "storage.modifier.others.logtalk"
74
+ },
75
+ {
76
+ "captures": {
77
+ "1": {
78
+ "name": "punctuation.definition.storage.modifier.logtalk"
79
+ }
80
+ },
81
+ "match": "(:-)\\s(alias|info|d(ynamic|iscontiguous)|m(eta_predicate|ode|ultifile)|p(ublic|r(otected|ivate))|op|use(s|_module)|synchronized)(?=[(])",
82
+ "name": "storage.modifier.others.logtalk"
83
+ },
84
+ {
85
+ "match": "(:|::|\\^\\^)",
86
+ "name": "keyword.operator.message-sending.logtalk"
87
+ },
88
+ {
89
+ "match": "([{}])",
90
+ "name": "keyword.operator.external-call.logtalk"
91
+ },
92
+ {
93
+ "match": "(\\?|@)",
94
+ "name": "keyword.operator.mode.logtalk"
95
+ },
96
+ {
97
+ "match": "(@=<|@<|@>|@>=|==|\\\\==)",
98
+ "name": "keyword.operator.comparison.term.logtalk"
99
+ },
100
+ {
101
+ "match": "(=<|<|>|>=|=:=|=\\\\=)",
102
+ "name": "keyword.operator.comparison.arithmetic.logtalk"
103
+ },
104
+ {
105
+ "match": "(<<|>>|\/\\\\|\\\\\/|\\\\)",
106
+ "name": "keyword.operator.bitwise.logtalk"
107
+ },
108
+ {
109
+ "match": "\\b(mod|rem)\\b(?![-!(^~])",
110
+ "name": "keyword.operator.evaluable.logtalk"
111
+ },
112
+ {
113
+ "match": "(\\*\\*|\\+|-|\\*|\/|\/\/)",
114
+ "name": "keyword.operator.evaluable.logtalk"
115
+ },
116
+ {
117
+ "match": "(:-|!|\\\\+|,|;|-->|->|=|\\=|\\.|=\\.\\.|\\bis\\b)",
118
+ "name": "keyword.operator.misc.logtalk"
119
+ },
120
+ {
121
+ "match": "\\b(a(bs|tan)|c(eiling|os)|exp|flo(at(_(integer|fractional)_part)?|or)|log|mod|r(em|ound)|s(i(n|gn)|qrt)|truncate)(?=[(])",
122
+ "name": "support.function.evaluable.logtalk"
123
+ },
124
+ {
125
+ "match": "\\b(true|fail|repeat)\\b(?![-!(^~])",
126
+ "name": "support.function.control.logtalk"
127
+ },
128
+ {
129
+ "match": "\\b(ca(ll|tch)|throw|once)(?=[(])",
130
+ "name": "support.function.control.logtalk"
131
+ },
132
+ {
133
+ "match": "\\b((get|p(eek|ut))_(c(har|ode)|byte)|nl)(?=[(])",
134
+ "name": "support.function.chars-and-bytes-io.logtalk"
135
+ },
136
+ {
137
+ "match": "\\bnl\\b",
138
+ "name": "support.function.chars-and-bytes-io.logtalk"
139
+ },
140
+ {
141
+ "match": "\\b(atom_(length|c(hars|o(ncat|des)))|sub_atom|char_code|number_c(har|ode)s)(?=[(])",
142
+ "name": "support.function.atom-term-processing.logtalk"
143
+ },
144
+ {
145
+ "match": "\\b(var|atom(ic)?|integer|float|compound|n(onvar|umber))(?=[(])",
146
+ "name": "support.function.term-testing.logtalk"
147
+ },
148
+ {
149
+ "match": "\\b(read(_term)?|write(q|_(canonical|term))?|(current_)?(char_conversion|op))(?=[(])",
150
+ "name": "support.function.term-io.logtalk"
151
+ },
152
+ {
153
+ "match": "\\b(arg|copy_term|functor)(?=[(])",
154
+ "name": "support.function.term-creation-and-decomposition.logtalk"
155
+ },
156
+ {
157
+ "match": "\\b(unify_with_occurs_check)(?=[(])",
158
+ "name": "support.function.term-unification.logtalk"
159
+ },
160
+ {
161
+ "match": "\\b((se|curren)t_(in|out)put|open|close|flush_output|stream_property|at_end_of_stream|set_stream_position)(?=[(])",
162
+ "name": "support.function.stream-selection-and-control.logtalk"
163
+ },
164
+ {
165
+ "match": "\\b(flush_output|at_end_of_stream)\\b",
166
+ "name": "support.function.stream-selection-and-control.logtalk"
167
+ },
168
+ {
169
+ "match": "\\b((se|curren)t_prolog_flag)(?=[(])",
170
+ "name": "support.function.prolog-flags.logtalk"
171
+ },
172
+ {
173
+ "match": "\\b(logtalk_(compile|l(ibrary_path|oad)))(?=[(])",
174
+ "name": "support.function.compiling-and-loading.logtalk"
175
+ },
176
+ {
177
+ "match": "\\b((abolish|define)_events|current_event)(?=[(])",
178
+ "name": "support.function.event-handling.logtalk"
179
+ },
180
+ {
181
+ "match": "\\b((curren|se)t_logtalk_flag|halt)(?=[(])",
182
+ "name": "support.function.implementation-defined-hooks.logtalk"
183
+ },
184
+ {
185
+ "match": "\\b(halt)\\b",
186
+ "name": "support.function.implementation-defined-hooks.logtalk"
187
+ },
188
+ {
189
+ "match": "\\b((c(reate|urrent)|abolish)_(object|protocol|category))(?=[(])",
190
+ "name": "support.function.entity-creation-and-abolishing.logtalk"
191
+ },
192
+ {
193
+ "match": "\\b((object|protocol|category)_property|complements_object|extends_(object|protocol|category)|imp(orts_category|lements_protocol)|(instantiat|specializ)es_class)(?=[(])",
194
+ "name": "support.function.reflection.logtalk"
195
+ },
196
+ {
197
+ "match": "\\b((for|retract)all)(?=[(])",
198
+ "name": "support.function.logtalk"
199
+ },
200
+ {
201
+ "match": "\\b(parameter|se(lf|nder)|this)(?=[(])",
202
+ "name": "support.function.execution-context.logtalk"
203
+ },
204
+ {
205
+ "match": "\\b(a(bolish|ssert(a|z))|clause|retract(all)?)(?=[(])",
206
+ "name": "support.function.database.logtalk"
207
+ },
208
+ {
209
+ "match": "\\b((bag|set)of|f(ind|or)all)(?=[(])",
210
+ "name": "support.function.all-solutions.logtalk"
211
+ },
212
+ {
213
+ "match": "\\b(threaded(_(call|once|ignore|exit|peek|wait|notify))?)(?=[(])",
214
+ "name": "support.function.multi-threading.logtalk"
215
+ },
216
+ {
217
+ "match": "\\b(current_predicate|predicate_property)(?=[(])",
218
+ "name": "support.function.reflection.logtalk"
219
+ },
220
+ {
221
+ "match": "\\b(before|after)(?=[(])",
222
+ "name": "support.function.event-handler.logtalk"
223
+ },
224
+ {
225
+ "match": "\\b(expand_(goal|term)|(goal|term)_expansion|phrase)(?=[(])",
226
+ "name": "support.function.grammar-rule.logtalk"
227
+ },
228
+ {
229
+ "begin": "'",
230
+ "beginCaptures": {
231
+ "0": {
232
+ "name": "punctuation.definition.string.begin.logtalk"
233
+ }
234
+ },
235
+ "end": "'",
236
+ "endCaptures": {
237
+ "0": {
238
+ "name": "punctuation.definition.string.end.logtalk"
239
+ }
240
+ },
241
+ "name": "string.quoted.single.logtalk",
242
+ "patterns": [
243
+ {
244
+ "match": "\\\\([\\\\abfnrtv\"']|(x[a-fA-F0-9]+|[0-7]+)\\\\)",
245
+ "name": "constant.character.escape.logtalk"
246
+ }
247
+ ]
248
+ },
249
+ {
250
+ "begin": "\"",
251
+ "beginCaptures": {
252
+ "0": {
253
+ "name": "punctuation.definition.string.begin.logtalk"
254
+ }
255
+ },
256
+ "end": "\"",
257
+ "endCaptures": {
258
+ "0": {
259
+ "name": "punctuation.definition.string.end.logtalk"
260
+ }
261
+ },
262
+ "name": "string.quoted.double.logtalk",
263
+ "patterns": [
264
+ {
265
+ "match": "\\\\.",
266
+ "name": "constant.character.escape.logtalk"
267
+ }
268
+ ]
269
+ },
270
+ {
271
+ "match": "\\b(0b[0-1]+|0o[0-7]+|0x\\h+)\\b",
272
+ "name": "constant.numeric.logtalk"
273
+ },
274
+ {
275
+ "match": "\\b(0'.|0''|0'\")",
276
+ "name": "constant.numeric.logtalk"
277
+ },
278
+ {
279
+ "match": "\\b(\\d+\\.?\\d*((e|E)(\\+|-)?\\d+)?)\\b",
280
+ "name": "constant.numeric.logtalk"
281
+ },
282
+ {
283
+ "match": "\\b([A-Z_][A-Za-z0-9_]*)\\b",
284
+ "name": "variable.other.logtalk"
285
+ }
286
+ ],
287
+ "scopeName": "source.logtalk",
288
+ "uuid": "C11FA1F2-6EDB-11D9-8798-000A95DAA580"
289
+ }