ultraviolet1x 0.12.2 → 0.13.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (170) hide show
  1. data/Gemfile +1 -1
  2. data/Gemfile.lock +2 -2
  3. data/README.rdoc +1 -6
  4. data/lib/uv.rb +1 -1
  5. data/lib/uv/version.rb +1 -1
  6. data/spec/ultraviolet_spec.rb +0 -9
  7. metadata +52 -195
  8. data/syntax/actionscript.syntax +0 -97
  9. data/syntax/active4d.syntax +0 -276
  10. data/syntax/active4d_html.syntax +0 -311
  11. data/syntax/active4d_ini.syntax +0 -50
  12. data/syntax/active4d_library.syntax +0 -21
  13. data/syntax/ada.syntax +0 -33
  14. data/syntax/antlr.syntax +0 -151
  15. data/syntax/apache.syntax +0 -191
  16. data/syntax/applescript.syntax +0 -384
  17. data/syntax/asp.syntax +0 -70
  18. data/syntax/asp_vb.net.syntax +0 -129
  19. data/syntax/bibtex.syntax +0 -151
  20. data/syntax/blog_html.syntax +0 -41
  21. data/syntax/blog_markdown.syntax +0 -42
  22. data/syntax/blog_text.syntax +0 -27
  23. data/syntax/blog_textile.syntax +0 -27
  24. data/syntax/broken/markdown.syntax +0 -543
  25. data/syntax/broken/php.syntax +0 -1253
  26. data/syntax/buggy/nemerle.syntax +0 -74
  27. data/syntax/build.syntax +0 -53
  28. data/syntax/bulletin_board.syntax +0 -287
  29. data/syntax/c++.syntax +0 -186
  30. data/syntax/c.syntax +0 -414
  31. data/syntax/cake.syntax +0 -55
  32. data/syntax/camlp4.syntax +0 -36
  33. data/syntax/cm.syntax +0 -32
  34. data/syntax/coffeescript.syntax +0 -216
  35. data/syntax/coldfusion.syntax +0 -119
  36. data/syntax/context_free.syntax +0 -176
  37. data/syntax/cs.syntax +0 -59
  38. data/syntax/css.syntax +0 -195
  39. data/syntax/css_experimental.syntax +0 -1925
  40. data/syntax/csv.syntax +0 -68
  41. data/syntax/d.syntax +0 -142
  42. data/syntax/diff.syntax +0 -81
  43. data/syntax/dokuwiki.syntax +0 -204
  44. data/syntax/dot.syntax +0 -47
  45. data/syntax/doxygen.syntax +0 -43
  46. data/syntax/dylan.syntax +0 -62
  47. data/syntax/eiffel.syntax +0 -78
  48. data/syntax/erlang.syntax +0 -922
  49. data/syntax/f-script.syntax +0 -80
  50. data/syntax/fortran.syntax +0 -141
  51. data/syntax/fxscript.syntax +0 -142
  52. data/syntax/greasemonkey.syntax +0 -34
  53. data/syntax/gri.syntax +0 -83
  54. data/syntax/groovy.syntax +0 -191
  55. data/syntax/gtd.syntax +0 -22
  56. data/syntax/gtdalt.syntax +0 -143
  57. data/syntax/haml.syntax +0 -88
  58. data/syntax/haskell.syntax +0 -88
  59. data/syntax/html-asp.syntax +0 -27
  60. data/syntax/html.syntax +0 -362
  61. data/syntax/html_django.syntax +0 -36
  62. data/syntax/html_for_asp.net.syntax +0 -424
  63. data/syntax/html_mason.syntax +0 -119
  64. data/syntax/html_rails.syntax +0 -40
  65. data/syntax/html_tcl.syntax +0 -26
  66. data/syntax/icalendar.syntax +0 -32
  67. data/syntax/inform.syntax +0 -48
  68. data/syntax/ini.syntax +0 -55
  69. data/syntax/installer_distribution_script.syntax +0 -77
  70. data/syntax/io.syntax +0 -81
  71. data/syntax/java.syntax +0 -211
  72. data/syntax/javaproperties.syntax +0 -20
  73. data/syntax/javascript.syntax +0 -256
  74. data/syntax/javascript_+_prototype.syntax +0 -72
  75. data/syntax/javascript_+_prototype_bracketed.syntax +0 -140
  76. data/syntax/jquery_javascript.syntax +0 -114
  77. data/syntax/json.syntax +0 -136
  78. data/syntax/languagedefinition.syntax +0 -708
  79. data/syntax/latex.syntax +0 -566
  80. data/syntax/latex_beamer.syntax +0 -41
  81. data/syntax/latex_log.syntax +0 -50
  82. data/syntax/latex_memoir.syntax +0 -64
  83. data/syntax/lexflex.syntax +0 -219
  84. data/syntax/lighttpd.syntax +0 -54
  85. data/syntax/lilypond.syntax +0 -492
  86. data/syntax/lisp.syntax +0 -61
  87. data/syntax/literate_haskell.syntax +0 -24
  88. data/syntax/logo.syntax +0 -29
  89. data/syntax/logtalk.syntax +0 -152
  90. data/syntax/lua.syntax +0 -86
  91. data/syntax/m.syntax +0 -142
  92. data/syntax/macports_portfile.syntax +0 -163
  93. data/syntax/mail.syntax +0 -118
  94. data/syntax/makefile.syntax +0 -36
  95. data/syntax/man.syntax +0 -17
  96. data/syntax/mediawiki.syntax +0 -567
  97. data/syntax/mel.syntax +0 -92
  98. data/syntax/mips.syntax +0 -66
  99. data/syntax/mod_perl.syntax +0 -50
  100. data/syntax/modula-3.syntax +0 -47
  101. data/syntax/moinmoin.syntax +0 -189
  102. data/syntax/mootools.syntax +0 -572
  103. data/syntax/movable_type.syntax +0 -162
  104. data/syntax/multimarkdown.syntax +0 -39
  105. data/syntax/objective-c++.syntax +0 -18
  106. data/syntax/objective-c.syntax +0 -233
  107. data/syntax/ocaml.syntax +0 -764
  108. data/syntax/ocamllex.syntax +0 -167
  109. data/syntax/ocamlyacc.syntax +0 -184
  110. data/syntax/old/YAML.yaml +0 -160
  111. data/syntax/old/txt2tags.yaml +0 -139
  112. data/syntax/opengl.syntax +0 -14
  113. data/syntax/pascal.syntax +0 -77
  114. data/syntax/perl.syntax +0 -1113
  115. data/syntax/plain_text.syntax +0 -32
  116. data/syntax/pmwiki.syntax +0 -113
  117. data/syntax/postscript.syntax +0 -114
  118. data/syntax/processing.syntax +0 -106
  119. data/syntax/prolog.syntax +0 -40
  120. data/syntax/property_list.syntax +0 -635
  121. data/syntax/python.syntax +0 -868
  122. data/syntax/python_django.syntax +0 -21
  123. data/syntax/qmake_project.syntax +0 -114
  124. data/syntax/qt_c++.syntax +0 -26
  125. data/syntax/quake3_config.syntax +0 -32
  126. data/syntax/r.syntax +0 -81
  127. data/syntax/r_console.syntax +0 -16
  128. data/syntax/ragel.syntax +0 -201
  129. data/syntax/rd_r_documentation.syntax +0 -91
  130. data/syntax/regexp.syntax +0 -50
  131. data/syntax/regular_expressions_oniguruma.syntax +0 -107
  132. data/syntax/regular_expressions_python.syntax +0 -109
  133. data/syntax/release_notes.syntax +0 -46
  134. data/syntax/remind.syntax +0 -253
  135. data/syntax/restructuredtext.syntax +0 -250
  136. data/syntax/rez.syntax +0 -80
  137. data/syntax/ruby.syntax +0 -1035
  138. data/syntax/ruby_experimental.syntax +0 -145
  139. data/syntax/ruby_on_rails.syntax +0 -88
  140. data/syntax/s5.syntax +0 -69
  141. data/syntax/sass.syntax +0 -45
  142. data/syntax/scheme.syntax +0 -347
  143. data/syntax/scilab.syntax +0 -41
  144. data/syntax/setext.syntax +0 -147
  145. data/syntax/shell-unix-generic.syntax +0 -384
  146. data/syntax/slate.syntax +0 -149
  147. data/syntax/smarty.syntax +0 -63
  148. data/syntax/sql.syntax +0 -237
  149. data/syntax/sql_rails.syntax +0 -18
  150. data/syntax/ssh-config.syntax +0 -33
  151. data/syntax/standard_ml.syntax +0 -121
  152. data/syntax/strings_file.syntax +0 -39
  153. data/syntax/subversion_commit_message.syntax +0 -36
  154. data/syntax/sweave.syntax +0 -84
  155. data/syntax/swig.syntax +0 -57
  156. data/syntax/tcl.syntax +0 -152
  157. data/syntax/template_toolkit.syntax +0 -121
  158. data/syntax/tex.syntax +0 -86
  159. data/syntax/tex_math.syntax +0 -49
  160. data/syntax/textile.syntax +0 -215
  161. data/syntax/tsv.syntax +0 -50
  162. data/syntax/twiki.syntax +0 -241
  163. data/syntax/txt2tags.syntax +0 -79
  164. data/syntax/vectorscript.syntax +0 -57
  165. data/syntax/xhtml_1.0.syntax +0 -4027
  166. data/syntax/xml.syntax +0 -180
  167. data/syntax/xml_strict.syntax +0 -92
  168. data/syntax/xsl.syntax +0 -60
  169. data/syntax/yaml.syntax +0 -160
  170. data/syntax/yui_javascript.syntax +0 -176
@@ -1,163 +0,0 @@
1
- ---
2
- name: MacPorts Portfile
3
- fileTypes: []
4
-
5
- scopeName: source.tcl.macports
6
- repository:
7
- escape:
8
- name: constant.character.escape.tcl
9
- match: \\(\d{1,3}|x[a-fA-F0-9]+|u[a-fA-F0-9]{1,4}|.|\n)
10
- comment: imported from Tcl grammar
11
- bare-string:
12
- endCaptures:
13
- "1":
14
- name: invalid.illegal.tcl
15
- begin: (?:^|(?<=\s))"
16
- end: "\"(\\S*)"
17
- patterns:
18
- - include: "#escape"
19
- - include: "#variable"
20
- comment: imported from Tcl grammar
21
- braces:
22
- endCaptures:
23
- "1":
24
- name: invalid.illegal.tcl
25
- begin: (?:^|(?<=\s))\{
26
- end: \}(\S*)
27
- patterns:
28
- - name: constant.character.escape.tcl
29
- match: \\[{}\n]
30
- - include: "#inner-braces"
31
- comment: imported from Tcl grammar
32
- inner-braces:
33
- begin: \{
34
- end: \}
35
- patterns:
36
- - name: constant.character.escape.tcl
37
- match: \\[{}\n]
38
- - include: "#inner-braces"
39
- comment: imported from Tcl grammar
40
- variable:
41
- name: variable.other.tcl
42
- captures:
43
- "1":
44
- name: punctuation.definition.variable.tcl
45
- match: (\$)([a-zA-Z0-9_:]+(\([^\)]+\))?|\{[^\}]*\})
46
- comment: imported from Tcl grammar
47
- string:
48
- name: string.quoted.double.tcl
49
- begin: (?:^|(?<=\s))(?=")
50
- applyEndPatternLast: 1
51
- end: ""
52
- patterns:
53
- - include: "#bare-string"
54
- comment: imported from Tcl grammar
55
- embedded:
56
- name: source.tcl.embedded
57
- endCaptures:
58
- "0":
59
- name: punctuation.section.embedded.end.tcl
60
- begin: \[
61
- beginCaptures:
62
- "0":
63
- name: punctuation.section.embedded.begin.tcl
64
- end: \]
65
- patterns:
66
- - include: source.tcl.macports
67
- comment: imported from Tcl grammar
68
- uuid: 33EC56FE-2BD4-4B73-A6CD-73395F4E5E58
69
- foldingStartMarker: \{\s*$
70
- patterns:
71
- - begin: ^\s*(PortGroup)\s+ruby(?!\S)
72
- beginCaptures:
73
- "1":
74
- name: keyword.other.tcl.macports
75
- end: $.^
76
- patterns:
77
- - include: $base
78
- - name: keyword.other.tcl.macports
79
- match: ^\s*ruby\.setup(?!\S)
80
- comment: special case for ruby PortGroup
81
- - begin: ^\s*(PortGroup)\s+perl5(?!\S)
82
- beginCaptures:
83
- "1":
84
- name: keyword.other.tcl.macports
85
- end: $.^
86
- patterns:
87
- - include: $base
88
- - name: keyword.other.tcl.macports
89
- match: ^\s*perl5\.setup(?!\S)
90
- comment: special case for the perl5 PortGroup
91
- - captures:
92
- "1":
93
- name: keyword.other.tcl.macports
94
- match: ^\s*(PortSystem|PortGroup)(?!\S)
95
- comment: Base commands
96
- - captures:
97
- "1":
98
- name: keyword.other.tcl.macports
99
- match: ^\s*(use_(?:configure|build|automake|autoconf|xmkmf|libtool|destroot|extract|cvs|svn|patch|test)|(?:configure|build|automake|autoconf|xmkmf|libtool|destroot|extract|cvs|svn|patch|test)\.(?:dir|(?:pre_|post_)?args|env|type|cmd)(?:-(?:delete|append))?)(?!\S)
100
- comment: Procs defined with the `commands` keyword (ignore use_option-{delete,append} as it is useless)
101
- - captures:
102
- "1":
103
- name: keyword.other.tcl.macports
104
- match: ^\s*((?:(?:pre|post)-)?(?:activate|build|checksum|clean|configure|destroot|distcheck|extract|fetch|install|livecheck|main|mirror|patch|pkg|mpkg|submit|test))(?!\S)
105
- comment: Procs defined with the `target_provides` keyword
106
- - captures:
107
- "1":
108
- name: keyword.other.tcl.macports
109
- match: ^\s*((?:build\.target|categories|checksum\.skip|checksums|cvs\.(?:date|module|password|root|tag)|default_variants|depends_(?:build|lib|run)|destroot\.(?:clean|destdir|keepdirs|target|umask)|dist_subdir|distcheck\.check|distfiles|distname|distpath|epoch|extract\.(?:only|suffix)|fetch\.(?:password|type|use_epsv|user)|filesdir|gnustep\.domain|homepage|install\.(?:group|user)|libpath|livecheck\.(?:check|md5|name|distname|regex|url|version)|maintainers|(?:master|patch)_sites(?:\.mirror_subdir)?|name|os\.(?:arch|endian|platform|version)|patchfiles|platforms|portdbpath|portname|prefix|revision|sources_conf|startupitem\.(?:create|executable|init|logevents|logfile|name|pidfile|requires|restart|start|stop|type)|svn\.(?:tag|url)|test\.(?:run|target)|use_bzip2|use_zip|version|workdir|worksrcdir|xcode\.(?:build\.settings|configuration|destroot\.(?:path|settings|type)|project|target)|zope\.need_subdir)(?:-(?:delete|append))?)(?!\S)
110
- comment: Procs defined with the `options` keyword
111
- - begin: ^\s*((?:long_)?description)(?!\S)
112
- contentName: string.unquoted.tcl.macports
113
- beginCaptures:
114
- "1":
115
- name: keyword.other.tcl.macports
116
- end: "[\\n;]"
117
- patterns:
118
- - include: "#escape"
119
- - include: "#string"
120
- - include: "#braces"
121
- - include: "#embedded"
122
- - include: "#variable"
123
- comment: special-case description and long_description for backslash-newline escapes and string scoping
124
- - name: meta.variant.tcl.macports
125
- captures:
126
- "1":
127
- name: keyword.other.variant.tcl.macports
128
- begin: ^(variant)(?!\S)
129
- end: \n
130
- patterns:
131
- - name: keyword.other.variant.tcl.macports
132
- match: (?<=\s)(?:provides|requires|conflicts)(?!\S)
133
- - name: entity.name.function.variant.tcl.macports
134
- match: (?<=\s)([\w-]+)
135
- - endCaptures:
136
- "1":
137
- name: punctuation.terminator.variant.tcl.macports
138
- begin: (\{)
139
- beginCaptures:
140
- "1":
141
- name: punctuation.section.variant.tcl.macports
142
- end: (\})
143
- patterns:
144
- - include: source.tcl.macports
145
- - name: meta.variant.platform.tcl.macports
146
- endCaptures:
147
- "1":
148
- name: punctuation.terminator.variant.platform.tcl.macports
149
- begin: ^(platform)(?:\s+(\S+))?(?:\s+(\S+))?(?:\s+(\S+))?\s+(\{)
150
- beginCaptures:
151
- "1":
152
- name: keyword.other.variant.platform.tcl.macports
153
- "2":
154
- name: entity.name.function.variant.platform.tcl.macports
155
- "5":
156
- name: punctuation.section.variant.platform.tcl.macports
157
- end: (\})
158
- patterns:
159
- - include: source.tcl.macports
160
- - name: keyword.other.tcl.macports
161
- match: (?<=^|[\[{;])\s*(adduser|addgroup|dirSize|binaryInPath|archiveTypeIsSupported|variant_isset|xinstall|system|reinplace|flock|readdir|strsed|mkstemp|mktemp|existsuser|existsgroup|nextuid|nextgid|md5|find|filemap|rpm-vercomp|rmd160|sha1|compat|umask|sudo|mkfifo|unixsocketpair|mkchannelfromfd|pipe|curl|readline|rl_history|getuid|geteuid|setuid|seteuid|name_to_uid|uid_to_name|ldelete|delete|include)\b
162
- - include: source.tcl
163
- foldingStopMarker: ^\s*\}
@@ -1,118 +0,0 @@
1
- ---
2
- fileTypes:
3
- - mail
4
- firstLineMatch: "^From: .*(?=\\w+@[\\w-]+\\.\\w+)"
5
- keyEquivalent: ^~M
6
- name: Mail
7
- patterns:
8
- - begin: ((?i:subject))(:)\s*
9
- beginCaptures:
10
- "1":
11
- name: keyword.other.mail
12
- "2":
13
- name: punctuation.separator.key-value.mail
14
- contentName: entity.name.section.mail
15
- end: ^(?![ \t\v])
16
- name: meta.header.mail
17
- - begin: ([\x21-\x39\x3B-\x7E]+)(:)\s*
18
- beginCaptures:
19
- "1":
20
- name: keyword.other.mail
21
- "2":
22
- name: punctuation.separator.key-value.mail
23
- end: ^(?![ \t\v])
24
- name: meta.header.mail
25
- patterns:
26
- - include: "#string"
27
- - include: "#comment"
28
- - include: "#reference"
29
- - include: "#atom"
30
- - begin: ^(?![A-Za-z0-9]+:)
31
- end: ^(?=not)possible$
32
- name: text.html.markdown
33
- patterns:
34
- - match: ^-- $\n
35
- name: meta.separator.signature.mail
36
- - include: text.html.markdown
37
- repository:
38
- any:
39
- patterns:
40
- - include: "#group"
41
- - include: "#reference"
42
- - include: "#string"
43
- - include: "#comment"
44
- - include: "#domain_literal"
45
- - include: "#atom"
46
- atom:
47
- match: "[^ \\t\\v\\n()<>@,;:\\\\\".\\[\\]]+"
48
- name: string.unquoted.atom.mail
49
- comment:
50
- begin: \(
51
- captures:
52
- "0":
53
- name: punctuation.definition.comment.mail
54
- end: \)
55
- name: comment.line.parentheses.mail
56
- patterns:
57
- - include: "#quote_pair"
58
- - include: "#comment"
59
- domain_literal:
60
- begin: \[
61
- end: \]
62
- name: meta.domain-literal.mail
63
- patterns:
64
- - include: "#quote_pair"
65
- - include: "#group"
66
- - include: "#reference"
67
- - include: "#string"
68
- - include: "#comment"
69
- - include: "#atom"
70
- encoded_text:
71
- captures:
72
- "1":
73
- name: constant.other.charset.mail
74
- "2":
75
- name: constant.other.encoding.mail
76
- match: =\?(.*?)(?:\*[^?]+)?\?([QB])\?(.*?)\?=
77
- name: meta.encoded-text.mail
78
- group:
79
- begin: ":(?=.*;)"
80
- comment: "this is to group addresses, RFC822 says that these \xE2\x80\x9Cmust occur in matched pairs,\xE2\x80\x9D but e.g. the date header uses : as a time separator."
81
- end: ;
82
- name: meta.group.mail
83
- patterns:
84
- - include: "#reference"
85
- - include: "#string"
86
- - include: "#comment"
87
- - include: "#domain_literal"
88
- - include: "#atom"
89
- quote_pair:
90
- match: \\.
91
- name: constant.other.escape.mail
92
- reference:
93
- begin: <
94
- captures:
95
- "0":
96
- name: punctuation.definition.constant.mail
97
- end: ">"
98
- name: constant.other.reference.mail
99
- patterns:
100
- - include: "#string"
101
- - include: "#comment"
102
- - include: "#domain_literal"
103
- - include: "#atom"
104
- string:
105
- begin: "\""
106
- beginCaptures:
107
- "0":
108
- name: punctuation.definition.string.begin.mail
109
- end: "\""
110
- endCaptures:
111
- "0":
112
- name: punctuation.definition.string.end.mail
113
- name: string.quoted.double.mail
114
- patterns:
115
- - include: "#quote_pair"
116
- - include: "#encoded_text"
117
- scopeName: text.mail.markdown
118
- uuid: 15615A0C-37B0-4B3F-9105-53ED536AFBB4
@@ -1,36 +0,0 @@
1
- ---
2
- name: Makefile
3
- fileTypes:
4
- - GNUmakefile
5
- - makefile
6
- - Makefile
7
- - OCamlMakefile
8
- scopeName: source.makefile
9
- uuid: FF1825E8-6B1C-11D9-B883-000D93589AF6
10
- patterns:
11
- - name: variable.other.makefile
12
- begin: ^(\w|[-_])+\s*\??=
13
- end: $
14
- patterns:
15
- - match: \\\n
16
- - name: string.interpolated.backtick.makefile
17
- begin: "`"
18
- end: "`"
19
- patterns:
20
- - include: source.shell
21
- - name: comment.line.number-sign.makefile
22
- begin: "#"
23
- beginCaptures:
24
- "0":
25
- name: punctuation.definition.comment.makefile
26
- end: $\n?
27
- patterns:
28
- - name: punctuation.separator.continuation.makefile
29
- match: (?<!\\)\\$\n
30
- - name: keyword.control.makefile
31
- match: ^(\s*)\b(\-??include|ifeq|ifneq|ifdef|ifndef|else|endif|vpath|export|unexport|define|endef|override)\b
32
- - name: meta.function.makefile
33
- captures:
34
- "1":
35
- name: entity.name.function.makefile
36
- match: ^([^\t ]+:(?!\=))\s*.*
@@ -1,17 +0,0 @@
1
- ---
2
- name: Man
3
- fileTypes:
4
- - man
5
- scopeName: text.man
6
- uuid: E8BAC30A-16BF-498D-941D-73FBAED37891
7
- foldingStartMarker: ^[A-Z](?:(?:\S+\s\S+)+|\S+)$
8
- patterns:
9
- - name: markup.heading.man
10
- match: ^[A-Z](?:(?:\S+\s\S+)+|\S+)$
11
- - name: markup.underline.link.man
12
- match: ((https?|ftp|file|txmt)://|mailto:)[-:@a-zA-Z0-9_.~%+/?=&#]+(?<![.?:])
13
- - name: markup.underline.link.internal.man
14
- match: ([\w\.]+\(\d[a-z]?\))
15
- - name: meta.foldingStopMarker.man
16
- match: ^_{2,}$
17
- foldingStopMarker: ^_{2,}$
@@ -1,567 +0,0 @@
1
- ---
2
- name: Mediawiki
3
- fileTypes:
4
- - mediawiki
5
- - wikipedia
6
- - wiki
7
- scopeName: text.html.mediawiki
8
- repository:
9
- comments:
10
- patterns:
11
- - name: comment.block.html.mediawiki
12
- begin: <!--
13
- end: --\s*>
14
- patterns:
15
- - name: invalid.illegal.bad-comments-or-CDATA.html.mediawiki
16
- match: --
17
- inline:
18
- patterns:
19
- - captures:
20
- "1":
21
- name: constant.other.date-time.mediawiki
22
- "2":
23
- name: invalid.illegal.too-many-tildes.mediawiki
24
- match: (~~~~~)(~{0,2})(?!~)
25
- - name: constant.other.signature.mediawiki
26
- match: ~~~~?
27
- comment: 3 ~s for sig, 4 for sig + timestamp
28
- - include: "#link"
29
- - include: "#style"
30
- - include: "#template"
31
- - include: "#block_html"
32
- - include: "#comments"
33
- template:
34
- patterns:
35
- - name: meta.template-parameter.mediawiki
36
- captures:
37
- "1":
38
- name: variable.parameter.template.numeric.mediawiki
39
- match: "{{{[ ]*([0-9]+)[ ]*}}}"
40
- - name: meta.template-parameter.mediawiki
41
- captures:
42
- "1":
43
- name: variable.parameter.template.named.mediawiki
44
- match: "{{{[ ]*(.*?)[ ]*}}}"
45
- - name: meta.template.parser-function.mediawiki
46
- endCaptures:
47
- "1":
48
- name: punctuation.fix_this_later.template.mediawiki
49
- begin: ({{)(?=[ ]*#)
50
- beginCaptures:
51
- "1":
52
- name: punctuation.fix_this_later.template.mediawiki
53
- "2":
54
- name: meta.function-call.template.mediawiki
55
- end: (}})
56
- patterns:
57
- - include: "#inline"
58
- comment: "\n\
59
- \t\t\t\t\t\tWhy oh why did mediawiki have to add these??\n\
60
- \t\t\t\t\t"
61
- - name: meta.template.mediawiki
62
- endCaptures:
63
- "1":
64
- name: punctuation.fix_this_later.template.mediawiki
65
- begin: ({{)([^{}\|]+)?
66
- beginCaptures:
67
- "1":
68
- name: punctuation.fix_this_later.template.mediawiki
69
- "2":
70
- name: meta.function-call.template.mediawiki
71
- end: (}})
72
- patterns:
73
- - include: "#comments"
74
- - begin: (\|)\s*(=)
75
- contentName: comment.block.template-hack.mediawiki
76
- beginCaptures:
77
- "1":
78
- name: punctuation.fix_this_later.pipe.mediawiki
79
- "2":
80
- name: punctuation.fix_this_later.equals-sign.mediawiki
81
- end: (?=[|}])
82
- - begin: (\|)(([^{}\|=]+)(=))?
83
- contentName: meta.value.template.mediawiki
84
- beginCaptures:
85
- "1":
86
- name: punctuation.fix_this_later.pipe.mediawiki
87
- "2":
88
- name: variable.parameter.template.mediawiki
89
- "3":
90
- name: punctuation.fix_this_later.equals-sign.mediawiki
91
- end: (?=[|}])
92
- patterns:
93
- - include: "#inline"
94
- - name: punctuation.fix_this_later.pipe.mediawiki
95
- match: \|
96
- comment: "\n\
97
- \t\t\t\t\t\tI am not sure I really like the scope of\n\
98
- \t\t\t\t\t\tmeta.function-call for templates, but it seems like\n\
99
- \t\t\t\t\t\tthe closest thing to what a template is really doing,\n\
100
- \t\t\t\t\t\twith parameters, etc.\n\
101
- \t\t\t\t\t"
102
- comment: "\n\
103
- \t\t\t\tThis repository item covers templates and parser functions.\n\
104
- \t\t\t"
105
- entities:
106
- patterns:
107
- - name: constant.character.entity.html.mediawiki
108
- match: "&([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+);"
109
- - name: invalid.illegal.bad-ampersand.html.mediawiki
110
- match: "&"
111
- comment: "\n\
112
- \t\t\t\tMediawiki supports Unicode, so these should not usually be\n\
113
- \t\t\t\tnecessary, but they do show up on pages from time to time.\n\
114
- \t\t\t"
115
- style_in_link:
116
- patterns:
117
- - name: markup.bold.mediawiki
118
- begin: "'''"
119
- end: "'''"
120
- patterns:
121
- - include: "#style_in_link"
122
- - name: markup.italic.mediawiki
123
- begin: "''"
124
- end: "''"
125
- patterns:
126
- - include: "#style_in_link"
127
- - captures:
128
- "1":
129
- name: meta.tag.inline.bold.html.mediawiki
130
- begin: (<(b|strong)>)
131
- contentName: markup.bold.html.mediawiki
132
- end: (</\2>)
133
- patterns:
134
- - include: "#style_in_link"
135
- - captures:
136
- "1":
137
- name: meta.tag.inline.italic.html.mediawiki
138
- begin: (<(i|em)>)
139
- contentName: markup.italic.html.mediawiki
140
- end: (</\2>)
141
- patterns:
142
- - include: "#style_in_link"
143
- - captures:
144
- "1":
145
- name: meta.tag.inline.strikethrough.html.mediawiki
146
- begin: (<(s|strike)>)
147
- contentName: markup.other.strikethrough.html.mediawiki
148
- end: (</\2>)
149
- patterns:
150
- - include: "#style_in_link"
151
- - captures:
152
- "1":
153
- name: meta.tag.inline.underline.html.mediawiki
154
- begin: (<(u)>)
155
- contentName: markup.underline.html.mediawiki
156
- end: (</\2>)
157
- patterns:
158
- - include: "#style_in_link"
159
- - captures:
160
- "1":
161
- name: meta.tag.inline.raw.html.mediawiki
162
- begin: (<(tt|code)>)
163
- contentName: markup.raw.html.mediawiki
164
- end: (</\2>)
165
- patterns:
166
- - include: "#style_in_link"
167
- - captures:
168
- "1":
169
- name: meta.tag.inline.any.html.mediawiki
170
- begin: (<(big|small|sub|sup)>)
171
- contentName: markup.other.inline-styles.html.mediawiki
172
- end: (</\2>)
173
- patterns:
174
- - include: "#style_in_link"
175
- - include: "#comments"
176
- block:
177
- patterns:
178
- - name: meta.redirect.mediawiki
179
- begin: ^\s*(?i)(#redirect)
180
- beginCaptures:
181
- "1":
182
- name: keyword.control.redirect.mediawiki
183
- end: \n
184
- patterns:
185
- - include: "#link"
186
- - name: markup.heading.mediawiki
187
- match: ^=+\s*$
188
- - name: markup.heading.mediawiki
189
- begin: ^(=+)(?=.*\1\s*$)
190
- end: \1\s*$\n?
191
- patterns:
192
- - name: invalid.illegal.extra-equals-sign.mediawiki
193
- match: (?<=^=|^==|^===|^====|^=====|^======)=+|=(?==*\s*$)
194
- - include: "#inline"
195
- comment: "\n\
196
- \t\t\t\t\t\tThis matches lines which begin and end with some\n\
197
- \t\t\t\t\t number of \xE2\x80\x9C=\xE2\x80\x9D marks. If they are mismatched, then\n\
198
- \t\t\t\t\t interior \xE2\x80\x9C=\xE2\x80\x9D marks will be treated as invalid.\n\
199
- \t\t\t\t "
200
- - name: meta.separator.mediawiki
201
- match: ^-{4,}[ \t]*($\n)?
202
- comment: "\n\
203
- \t\t\t\t\t\tA separator is made up of 4 or more -s alone on a\n\
204
- \t\t\t\t\t\tline by themselves.\n\
205
- \t\t\t\t\t"
206
- - name: markup.raw.block.mediawiki
207
- begin: ^ (?=\s*\S)
208
- end: ^(?=[^ ])
209
- patterns:
210
- - include: "#inline"
211
- comment: "\n\
212
- \t\t\t\t\t\tCode blocks start with one space. Wiki text and\n\
213
- \t\t\t\t\t\thtml are still interpreted in MediaWiki, unlike in\n\
214
- \t\t\t\t\t\tmediawiki.\n\
215
- \t\t\t\t\t"
216
- - name: markup.list.mediawiki
217
- begin: ^([#*:;])
218
- end: ^(?!\1)
219
- patterns:
220
- - include: "#inline"
221
- comment: "\n\
222
- \t\t\t\t\t\tThis is preliminary. Eventually it would be nice\n\
223
- \t\t\t\t\t\tto scope each type of list differently, and even to\n\
224
- \t\t\t\t\t\tdo scopes of nested lists. There are 4 main things\n\
225
- \t\t\t\t\t\twhich will be scoped as lists:\n\
226
- \t\t\t\t\t\t\n\
227
- \t\t\t\t\t\t - numbered lists (#)\n\
228
- \t\t\t\t\t\t - unnumbered lists (*)\n\
229
- \t\t\t\t\t\t - definition lists (; :)\n\
230
- \t\t\t\t\t\t - indented paragraphs, as used on talk pages (:)\n\
231
- \t\t\t\t\t\t\n\
232
- \t\t\t\t\t\tthis last one might not even be scoped as a list in\n\
233
- \t\t\t\t\t\tthe ideal case. It is fine as a list for now,\n\
234
- \t\t\t\t\t\thowever.\n\
235
- \t\t\t\t\t"
236
- - include: "#table"
237
- - include: "#comments"
238
- - name: meta.paragraph.mediawiki
239
- begin: ^(?![\t ;*#:=]|----|$)
240
- end: ^(?:\s*$|(?=[;*#:=]|----))
241
- patterns:
242
- - include: "#inline"
243
- comment: "\n\
244
- \t\t\t\t\t\tAnything that is not a code block, list, header, etc.\n\
245
- \t\t\t\t\t\tis a paragraph.\n\
246
- \t\t\t\t\t"
247
- table:
248
- patterns:
249
- - name: markup.other.table.mediawiki
250
- begin: ^{\|
251
- end: ^\|}
252
- patterns:
253
- - name: markup.other.table.row.mediawiki
254
- begin: ^\|-
255
- end: ^(?=\|-|\|})
256
- patterns:
257
- - include: "#inline"
258
- comment: "\n\
259
- \t\t\t\t\t\t\t\thopefully we can allow selection of a whole\n\
260
- \t\t\t\t\t\t\t\ttable row, and possibly later allow things\n\
261
- \t\t\t\t\t\t\t\tlike moving a whole row up/down, etc.\n\
262
- \t\t\t\t\t\t\t"
263
- - include: "#inline"
264
- comment: "\n\
265
- \t\t\t\t\t\twe are going to have to add the styling capabilities\n\
266
- \t\t\t\t\t\tto this section eventually. It is complicated,\n\
267
- \t\t\t\t\t\tthough, so I am putting it off.\n\
268
- \t\t\t\t\t"
269
- block_html:
270
- patterns:
271
- - captures:
272
- "1":
273
- name: meta.tag.inline.math.mediawiki
274
- begin: (<math>)
275
- contentName: source.math.tex.embedded.mediawiki
276
- end: (</math>)
277
- patterns:
278
- - include: text.tex.math
279
- - captures:
280
- "1":
281
- name: meta.tag.inline.ref.mediawiki
282
- begin: (<ref>)
283
- contentName: meta.reference.content.mediawiki
284
- end: (</ref>)
285
- patterns:
286
- - include: "#inline"
287
- - captures:
288
- "1":
289
- name: meta.tag.inline.ref.mediawiki
290
- begin: (<gallery>)
291
- contentName: meta.gallery.mediawiki
292
- end: (</gallery>)
293
- patterns:
294
- - name: meta.item.gallery.mediawiki
295
- begin: "(?x)\n\
296
- \t\t\t\t\t\t\t\t^(?!\\s*\\n)\t\t\t\t# not an empty line\n\
297
- \t\t\t\t\t\t\t\t( [ ]*(((i|I)mage)(:)) # spaces, image, colon\n\
298
- \t\t\t\t\t\t\t\t ([^\\[\\]|]+) # anything\n\
299
- \t\t\t\t\t\t\t\t (?<!\\s)[ ]* # spaces\n\
300
- \t\t\t\t\t\t\t\t)?\n\
301
- \t\t\t\t\t\t\t"
302
- beginCaptures:
303
- "6":
304
- name: constant.other.wiki-link.image.mediawiki
305
- "3":
306
- name: constant.other.namespace.image.mediawiki
307
- "5":
308
- name: punctuation.fix_this_later.colon.mediawiki
309
- end: \n
310
- patterns:
311
- - begin: ^(?!\|)|(\|)
312
- contentName: string.other.title.gallery.mediawiki
313
- beginCaptures:
314
- "1":
315
- name: punctuation.fix_this_later.pipe.mediawiki
316
- end: \n|(?=\|)
317
- patterns:
318
- - include: "#inline"
319
- - name: punctuation.fix_this_later.pipe.mediawiki
320
- match: \|
321
- comment: "\n\
322
- \t\t\t\tThe available block HTML tags supported are:\n\
323
- \t\t\t\t\n\
324
- \t\t\t\t * blockquote, center, pre, div, hr, p\n\
325
- \t\t\t\t * tables: table, th, tr, td, caption\n\
326
- \t\t\t\t * lists: ul, ol, li\n\
327
- \t\t\t\t * definition lists: dl, dt, dd\n\
328
- \t\t\t\t * headers: h1, h2, h3, h4, h5, h6\n\
329
- \t\t\t\t * br\n\
330
- \t\t\t"
331
- link:
332
- patterns:
333
- - name: meta.image.wiki.mediawiki
334
- endCaptures:
335
- "2":
336
- name: punctuation.fix_this_later.pipe.mediawiki
337
- "3":
338
- name: string.other.title.link.wiki-link.mediawiki
339
- begin: |-
340
- (?x:
341
- (\[\[) # opening brackets
342
- ( [ ]*(((i|I)mage)(:)) # spaces, image, colon
343
- ([^\[\]|]+) # anything
344
- (?<!\s)[ ]* # spaces
345
- )
346
- )
347
- applyEndPatternLast: 1
348
- beginCaptures:
349
- "6":
350
- name: punctuation.fix_this_later.colon.mediawiki
351
- "7":
352
- name: constant.other.wiki-link.image.mediawiki
353
- "1":
354
- name: punctuation.fix_this_later.brackets.mediwiki
355
- "4":
356
- name: constant.other.namespace.image.mediawiki
357
- end: |-
358
- (?x:
359
- ((\|)[ ]*( [^\[\]|]+ )[ ]*)? # pipe, spaces, anything, spaces
360
- (\]\]) # closing brackets
361
- )
362
- patterns:
363
- - captures:
364
- "1":
365
- name: punctuation.fix_this_later.pipe.mediawiki
366
- "2":
367
- name: keyword.control.image.formatting.mediawiki
368
- "3":
369
- name: keyword.control.image.alignment.mediawiki
370
- "4":
371
- name: constant.numeric.image.width.mediawiki
372
- "5":
373
- name: constant.other.unit.mediawiki
374
- match: "(?x)\n\
375
- \t\t\t\t\t\t\t\t(\\|)[ ]*\n\
376
- \t\t\t\t\t\t\t\t( (thumb|thumbnail|frame)\n\
377
- \t\t\t\t\t\t\t\t |(right|left|center|none)\n\
378
- \t\t\t\t\t\t\t\t |([0-9]+)(px)\n\
379
- \t\t\t\t\t\t\t\t)[ ]*\n\
380
- \t\t\t\t\t\t\t"
381
- - name: punctuation.fix_this_later.pipe.mediawiki
382
- match: \|
383
- - include: "#style_in_link"
384
- - name: meta.link.wiki.mediawiki
385
- endCaptures:
386
- "2":
387
- name: string.other.title.link.wiki-link.mediawiki
388
- begin: |-
389
- (?x:
390
- (\[\[) # opening brackets
391
- (:)? # colon to suppress image or category?
392
- ((\s+):[^\[\]]*(?=\]\]))? # a colon after spaces is invalid
393
- [ ]* # spaces
394
- ( (([^\[\]|]+)(:))? # namespace
395
- ([^\[\]|]+)(?<!\s)[ ]* # link name
396
- )?
397
- )
398
- beginCaptures:
399
- "7":
400
- name: constant.other.namespace.mediawiki
401
- "8":
402
- name: punctuation.fix_this_later.colon.mediawiki
403
- "9":
404
- name: constant.other.wiki-link.mediawiki
405
- "1":
406
- name: punctuation.fix_this_later.brackets.mediawiki
407
- "2":
408
- name: keyword.operator.wiki-link.suppress-image-or-category.mediawiki
409
- "4":
410
- name: invalid.illegal.whitespace.mediawiki
411
- end: |-
412
- (?x:
413
- (\|[ ]*([^\[\]|]+)[ ]*)? # pipe, spaces, anything, spaces
414
- (\]\]) # closing brackets
415
- )
416
- patterns:
417
- - include: "#style_in_link"
418
- - name: meta.link.inline.external.mediawiki
419
- begin: \[(\S+)\s*(?=[^\]]*\])
420
- contentName: string.other.title.link.external.mediawiki
421
- beginCaptures:
422
- "1":
423
- name: markup.underline.link.external.mediawiki
424
- end: \]
425
- patterns:
426
- - include: "#style_in_link"
427
- - name: markup.underline.link.external.mediawiki
428
- match: ((https?|ftp|file)://|mailto:)[-:@a-zA-Z0-9_.~%+/?=&#]+(?<![.?:])
429
- style:
430
- patterns:
431
- - name: markup.bold.mediawiki
432
- begin: "'''"
433
- end: "'''"
434
- patterns:
435
- - include: "#inline"
436
- - name: markup.italic.mediawiki
437
- begin: "''"
438
- end: "''(?!'[^'])"
439
- patterns:
440
- - include: "#inline"
441
- - captures:
442
- "1":
443
- name: meta.tag.inline.bold.html.mediawiki
444
- begin: (<(b|strong)>)
445
- contentName: markup.bold.html.mediawiki
446
- end: (</\2>)
447
- patterns:
448
- - include: "#inline"
449
- - captures:
450
- "1":
451
- name: meta.tag.inline.italic.html.mediawiki
452
- begin: (<(i|em)>)
453
- contentName: markup.italic.html.mediawiki
454
- end: (</\2>)
455
- patterns:
456
- - include: "#inline"
457
- - captures:
458
- "1":
459
- name: meta.tag.inline.strikethrough.html.mediawiki
460
- begin: (<(s|strike)>)
461
- contentName: markup.other.strikethrough.html.mediawiki
462
- end: (</\2>)
463
- patterns:
464
- - include: "#inline"
465
- - captures:
466
- "1":
467
- name: meta.tag.inline.underline.html.mediawiki
468
- begin: (<(u)>)
469
- contentName: markup.underline.html.mediawiki
470
- end: (</\2>)
471
- patterns:
472
- - include: "#inline"
473
- - captures:
474
- "1":
475
- name: meta.tag.inline.raw.html.mediawiki
476
- begin: (<(tt|code)>)
477
- contentName: markup.raw.html.mediawiki
478
- end: (</\2>)
479
- patterns:
480
- - include: "#inline"
481
- - captures:
482
- "1":
483
- name: meta.tag.inline.any.html.mediawiki
484
- begin: (<(big|small|sub|sup)>)
485
- contentName: markup.other.inline-styles.html.mediawiki
486
- end: (</\2>)
487
- patterns:
488
- - include: "#inline"
489
- comment: "\n\
490
- \t\t\t\tTODO: We still need to add:\n\n\
491
- \t\t\t\t * font\n\
492
- \t\t\t\t * ruby, rb, rp, rt\n\
493
- \t\t\t\t * cite\n\
494
- \t\t\t\t\n\
495
- \t\t\t\tinline tags to this section, and make sure that the other\n\
496
- \t\t\t\ttags can accept attributes in the tag opening, etc. The\n\
497
- \t\t\t\tcurrent implementation is intended to be naive, but covering\n\
498
- \t\t\t\tthe majority of uses in mediawiki code.\n\
499
- \t\t\t\t\n\
500
- \t\t\t\tWe also need to add mediawiki-specific tags:\n\
501
- \t\t\t\t\n\
502
- \t\t\t\t * nowiki, noinclude, includeonly\n\
503
- \t\t\t\t\n\
504
- \t\t\t"
505
- uuid: 6AF21ADF-316A-47D1-A8B6-1BB38637DE9A
506
- foldingStartMarker: ^(=+)
507
- patterns:
508
- - include: "#block"
509
- - include: "#inline"
510
- foldingStopMarker: ^.*$(?=\n(=+)|(?!\n))
511
- keyEquivalent: ^~M
512
- comment: "\n\
513
- \t\tThis language grammar tries to handle Mediawiki syntax. Mediawiki\n\
514
- \t\tsyntax is a mess. This grammar will likely never quite work right.\n\
515
- \t\tThis is unsurprising as Mediawiki itself has never quite worked right.\n\
516
- \t\t\n\
517
- \t\t\t\t--Jacob\n\
518
- \t\t\n\
519
- \t\tTODO: lots of fixes still to do:\n\
520
- \t\t\n\
521
- \t\t 1. Add a bunch of HTML tags. See the #block and #style sections.\n\
522
- \t\t 3. Correctly scope all the parser functions and their contents.\n\
523
- \t\t This on will be complicated, as there are several: expr, if, etc.\n\
524
- \t\t 4. This is probably the biggest one: get all the lists to scope\n\
525
- \t\t correctly by type of list. Right now we just scope every list\n\
526
- \t\t as a list, and do not worry about what happens beyond that.\n\
527
- \t\t Eventually we want to do numbered and unnumbered separately, etc.\n\
528
- \t\t 5. Get some kind of folding by heading. Maybe it should just fold\n\
529
- \t\t to the next header, no matter which level it is. Then we can\n\
530
- \t\t make a contents just by folding everything. Not completely sure\n\
531
- \t\t\tthis is possible with current TM folding.\n\
532
- \t\t 7. Make sure that illegal things are correctly scoped illegal.\n\
533
- \t\t This is non-trivial, and has several parts\n\
534
- \t\t \n\
535
- \t\t - Bold/italic are based on brain-dead heuristics. I want to\n\
536
- \t\t be stricter than Mediawiki on this one. Also, we should\n\
537
- \t\t scope as illegal when for instance a new heading starts\n\
538
- \t\t before an italic has been closed.\n\
539
- \t\t - Templates... these will be pretty tough to do, as they can\n\
540
- \t\t be so flexible.\n\
541
- \t\t - \n\
542
- \t\t\n\
543
- \t\t 9. <timeline></timeline> tag. I am really not sure this one is\n\
544
- \t\t worth trying to do\n\
545
- \t\t10. Figure out a better scope for meta.function-call. Infininight\n\
546
- \t\t suggests entity.name.function.call, to be paralleled by\n\
547
- \t\t entity.name.function.definition. I am not completly sure I like\n\
548
- \t\t that solution, but it is probably better than meta.function-call\n\
549
- \t\t\n\
550
- \t\t\n\
551
- \t\tTODO items not closely related to the grammar:\n\
552
- \t\t\n\
553
- \t\t 2. Add a drop command for links/images, add keyboard shortcuts for\n\
554
- \t\t them too\n\
555
- \t\t 3. Make sure all the preference items are sorted out, for instance\n\
556
- \t\t smart typing pairs, indent patterns, etc.\n\
557
- \t\t 4. Commands to do bold/italic, and maybe things like big/small \n\
558
- \t\t 5. \n\
559
- \t\t\n\
560
- \t\tFINISHED:\n\
561
- \t\t 2. Add support for LaTeX math mode inside of <math></math> tags.\n\
562
- \t\t 1. Add a command for new list item. This one is trivial\n\
563
- \t\t 6. Get the symbol list working on headings. Trivial.\n\
564
- \t\t 8. <gallery></gallery> tag. This one adds some complication, but\n\
565
- \t\t is worth supporting.\n\
566
- \t\t \n\
567
- \t"