github-linguist 5.3.3 → 6.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/git-linguist +5 -2
- data/ext/linguist/linguist.c +18 -7
- data/grammars/annotation.liquidhaskell.haskell.json +969 -862
- data/grammars/config.xcompose.json +22 -25
- data/grammars/file.lasso.json +296 -309
- data/grammars/hint.haskell.json +867 -766
- data/grammars/hint.message.haskell.json +867 -766
- data/grammars/hint.type.haskell.json +867 -766
- data/grammars/objdump.x86asm.json +20 -24
- data/grammars/source.Kotlin.json +220 -225
- data/grammars/source.LS.json +36 -55
- data/grammars/source.MCPOST.json +24 -38
- data/grammars/source.MOD.json +26 -41
- data/grammars/source.SASLog.json +9 -16
- data/grammars/source.abap.json +48 -56
- data/grammars/source.abl.json +8 -14
- data/grammars/source.abnf.json +88 -98
- data/grammars/source.actionscript.3.json +398 -429
- data/grammars/source.acucobol.json +5 -8
- data/grammars/source.ada.json +46 -53
- data/grammars/source.afm.json +548 -554
- data/grammars/source.agc.json +34 -37
- data/grammars/source.agda.json +79 -91
- data/grammars/source.ahk.json +62 -66
- data/grammars/source.alloy.json +16 -20
- data/grammars/source.ampl.json +41 -47
- data/grammars/source.angelscript.json +71 -80
- data/grammars/source.antlr.json +131 -136
- data/grammars/source.apache-config.json +93 -99
- data/grammars/source.apache-config.mod_perl.json +19 -24
- data/grammars/source.apl.json +1038 -1029
- data/grammars/source.applescript.json +501 -523
- data/grammars/source.apt.json +9 -16
- data/grammars/source.asn.json +27 -31
- data/grammars/source.asp.json +61 -67
- data/grammars/source.aspectj.json +385 -391
- data/grammars/source.assembly.json +49 -55
- data/grammars/source.ats.json +45 -121
- data/grammars/source.autoit.json +64 -69
- data/grammars/source.awk.json +172 -176
- data/grammars/source.ballerina.json +48 -395
- data/grammars/source.batchfile.json +269 -269
- data/grammars/source.befunge.json +17 -21
- data/grammars/source.bf.json +5 -11
- data/grammars/source.bison.json +10 -14
- data/grammars/source.blitzmax.json +300 -305
- data/grammars/source.boo.json +189 -193
- data/grammars/source.brightauthorproject.json +8 -13
- data/grammars/source.brightscript.json +37 -47
- data/grammars/source.bro.json +134 -140
- data/grammars/source.bsl.json +152 -193
- data/grammars/source.bsv.json +96 -102
- data/grammars/source.c++.json +176 -193
- data/grammars/source.c++.qt.json +13 -21
- data/grammars/source.c.ec.json +15 -21
- data/grammars/source.c.json +237 -251
- data/grammars/source.c.platform.json +153 -159
- data/grammars/source.c2hs.json +3 -6
- data/grammars/source.cabal.json +17 -20
- data/grammars/source.cache.cmake.json +18 -23
- data/grammars/source.cake.json +4 -7
- data/grammars/source.camlp4.ocaml.json +24 -27
- data/grammars/source.capnp.json +33 -38
- data/grammars/source.ceylon.json +44 -50
- data/grammars/source.cfscript.cfc.json +78 -86
- data/grammars/source.cfscript.json +513 -520
- data/grammars/source.changelogs.rpm-spec.json +8 -16
- data/grammars/source.chapel.json +109 -87
- data/grammars/source.cirru.json +25 -30
- data/grammars/source.clarion.json +41 -54
- data/grammars/source.clean.json +90 -95
- data/grammars/source.click.json +25 -28
- data/grammars/source.clips.json +10 -23
- data/grammars/source.clojure.json +151 -168
- data/grammars/source.cm.json +14 -19
- data/grammars/source.cmake.json +53 -61
- data/grammars/source.cobol.json +165 -180
- data/grammars/source.coffee.json +454 -462
- data/grammars/source.cool.json +36 -43
- data/grammars/source.coq.json +17 -21
- data/grammars/source.crystal.json +889 -983
- data/grammars/source.cs.json +739 -740
- data/grammars/source.csound-document.json +69 -73
- data/grammars/source.csound-score.json +52 -55
- data/grammars/source.csound.json +167 -171
- data/grammars/source.css.json +683 -688
- data/grammars/source.css.less.json +211 -511
- data/grammars/source.css.mss.json +94 -101
- data/grammars/source.css.postcss.sugarss.json +260 -0
- data/grammars/source.csx.json +4 -7
- data/grammars/source.cuda-c++.json +47 -81
- data/grammars/source.cwl.json +103 -0
- data/grammars/source.cython.json +536 -582
- data/grammars/source.d.json +243 -252
- data/grammars/source.dart.json +161 -166
- data/grammars/source.data-weave.json +901 -905
- data/grammars/source.desktop.json +29 -33
- data/grammars/source.diff.json +43 -52
- data/grammars/source.disasm.json +15 -16
- data/grammars/source.ditroff.desc.json +73 -84
- data/grammars/source.ditroff.json +60 -61
- data/grammars/source.dm.json +202 -213
- data/grammars/source.dmf.json +44 -47
- data/grammars/source.dockerfile.json +29 -34
- data/grammars/source.dot.json +46 -55
- data/grammars/source.dylan.json +63 -68
- data/grammars/source.ebnf.json +55 -62
- data/grammars/source.eiffel.json +57 -62
- data/grammars/source.elixir.json +321 -366
- data/grammars/source.emacs.lisp.json +458 -249
- data/grammars/source.erazor.json +49 -57
- data/grammars/source.erlang.json +508 -515
- data/grammars/source.essl.json +17 -30
- data/grammars/source.factor.json +85 -91
- data/grammars/source.fan.json +92 -96
- data/grammars/source.fancy.json +93 -118
- data/grammars/source.fish.json +74 -98
- data/grammars/source.fontforge.json +142 -146
- data/grammars/source.forth.json +42 -57
- data/grammars/source.fortran.json +193 -231
- data/grammars/source.fortran.modern.json +77 -103
- data/grammars/source.fsharp.fsi.json +1 -6
- data/grammars/source.fsharp.fsl.json +1 -6
- data/grammars/source.fsharp.fsx.json +1 -6
- data/grammars/source.fsharp.json +148 -153
- data/grammars/source.gap.json +60 -70
- data/grammars/source.gcode.json +9 -16
- data/grammars/source.gdb.json +63 -79
- data/grammars/source.gdb.session.json +27 -28
- data/grammars/source.gdbregs.json +7 -8
- data/grammars/source.gdscript.json +92 -96
- data/grammars/source.gerber.json +38 -56
- data/grammars/source.gfm.json +447 -462
- data/grammars/source.glsl.json +58 -83
- data/grammars/source.gn.json +188 -193
- data/grammars/source.gnuplot.json +104 -120
- data/grammars/source.go.json +169 -181
- data/grammars/source.golo.json +82 -87
- data/grammars/source.gosu.2.json +58 -68
- data/grammars/source.grace.json +266 -270
- data/grammars/source.graphql.json +586 -596
- data/grammars/source.groovy.gradle.json +18 -22
- data/grammars/source.groovy.json +422 -433
- data/grammars/source.harbour.json +129 -173
- data/grammars/source.haskell.json +871 -772
- data/grammars/source.haxe.2.json +402 -413
- data/grammars/source.hlsl.json +6 -16
- data/grammars/source.hsc2hs.json +1 -4
- data/grammars/source.hsig.json +871 -770
- data/grammars/source.hss.1.json +122 -144
- data/grammars/source.httpspec.json +119 -123
- data/grammars/source.hxml.json +8 -15
- data/grammars/source.ideal.json +125 -125
- data/grammars/source.idl-dlm.json +25 -32
- data/grammars/source.idl.json +59 -80
- data/grammars/source.idris.json +171 -185
- data/grammars/source.inform7.json +117 -121
- data/grammars/source.ini.json +37 -43
- data/grammars/source.io.json +65 -73
- data/grammars/source.ioke.json +72 -78
- data/grammars/source.isabelle.root.json +26 -30
- data/grammars/source.isabelle.theory.json +46 -50
- data/grammars/source.j.json +18 -21
- data/grammars/source.jasmin.json +45 -50
- data/grammars/source.java-properties.json +31 -41
- data/grammars/source.java.json +333 -342
- data/grammars/source.jcl.json +15 -18
- data/grammars/source.jflex.json +166 -172
- data/grammars/source.jison.json +331 -334
- data/grammars/source.jisonlex-injection.json +1 -2
- data/grammars/source.jisonlex.json +148 -151
- data/grammars/source.jolie.json +37 -43
- data/grammars/source.jq.json +80 -87
- data/grammars/source.js.json +798 -818
- data/grammars/source.js.jsx.json +2115 -2225
- data/grammars/source.js.objj.json +167 -172
- data/grammars/source.js.regexp.json +50 -50
- data/grammars/source.js.regexp.replacement.json +7 -7
- data/grammars/source.jsdoc.json +94 -94
- data/grammars/source.json.json +61 -71
- data/grammars/source.julia.console.json +5 -6
- data/grammars/source.julia.json +237 -234
- data/grammars/source.lean.json +55 -67
- data/grammars/source.lid.json +6 -10
- data/grammars/source.lilypond.json +181 -195
- data/grammars/source.lisp.json +40 -50
- data/grammars/source.litcoffee.json +169 -183
- data/grammars/source.livescript.json +207 -220
- data/grammars/source.llvm.json +28 -38
- data/grammars/source.logos.json +7 -14
- data/grammars/source.logtalk.json +136 -141
- data/grammars/source.loomscript.json +77 -83
- data/grammars/source.lsl.json +90 -106
- data/grammars/source.lua.json +100 -109
- data/grammars/source.makefile.json +181 -188
- data/grammars/source.makegen.json +3 -7
- data/grammars/source.mask.json +260 -265
- data/grammars/source.mata.json +38 -46
- data/grammars/source.mathematica.json +155 -167
- data/grammars/source.matlab.json +407 -684
- data/grammars/source.maxscript.json +293 -281
- data/grammars/source.mercury.json +179 -184
- data/grammars/source.meson.json +52 -58
- data/grammars/source.meta-info.json +64 -74
- data/grammars/source.ml.json +107 -113
- data/grammars/source.modelica.json +51 -59
- data/grammars/source.modula2.json +33 -42
- data/grammars/source.monkey.json +234 -241
- data/grammars/source.moonscript.json +51 -56
- data/grammars/source.mql5.json +74 -101
- data/grammars/source.mupad.json +30 -72
- data/grammars/source.ncl.json +1 -14
- data/grammars/source.ne.json +39 -42
- data/grammars/source.nemerle.json +58 -63
- data/grammars/source.nesc.json +9 -15
- data/grammars/source.netlinx.erb.json +13 -25
- data/grammars/source.netlinx.json +231 -292
- data/grammars/source.nextflow-groovy.json +1360 -0
- data/grammars/source.nextflow.json +74 -0
- data/grammars/source.nginx.json +274 -287
- data/grammars/source.nim.json +442 -483
- data/grammars/source.nim_filter.json +6 -26
- data/grammars/source.nimcfg.json +38 -51
- data/grammars/source.ninja.json +64 -70
- data/grammars/source.nit.json +60 -64
- data/grammars/source.nix.json +269 -273
- data/grammars/source.nmml.json +31 -37
- data/grammars/source.nsis.json +66 -72
- data/grammars/source.nu.json +129 -139
- data/grammars/source.nut.json +129 -133
- data/grammars/source.objc++.json +3 -10
- data/grammars/source.objc.json +303 -314
- data/grammars/source.objc.platform.json +145 -151
- data/grammars/source.ocaml.json +506 -514
- data/grammars/source.ocamllex.json +108 -115
- data/grammars/source.ocamlyacc.json +116 -123
- data/grammars/source.ooc.json +148 -155
- data/grammars/source.opa.json +39 -49
- data/grammars/source.opal.json +84 -89
- data/grammars/source.opalsysdefs.json +9 -13
- data/grammars/source.opencobol.json +22 -25
- data/grammars/source.opentype.json +148 -152
- data/grammars/source.ox.json +36 -44
- data/grammars/source.oz.json +31 -38
- data/grammars/source.p4.json +49 -59
- data/grammars/source.pan.json +273 -278
- data/grammars/source.papyrus.skyrim.json +705 -781
- data/grammars/source.parrot.pir.json +59 -65
- data/grammars/source.pascal.json +54 -61
- data/grammars/source.pawn.json +835 -849
- data/grammars/source.pcb.board.json +153 -158
- data/grammars/source.pcb.schematic.json +134 -138
- data/grammars/source.pcb.sexp.json +64 -74
- data/grammars/source.pep8.json +28 -32
- data/grammars/source.perl.6.json +83 -92
- data/grammars/source.perl.json +711 -737
- data/grammars/source.perl6fe.json +1204 -1218
- data/grammars/source.php.zephir.json +80 -89
- data/grammars/source.pic.json +137 -142
- data/grammars/source.pig_latin.json +76 -80
- data/grammars/source.pike.json +23 -36
- data/grammars/source.po.json +74 -84
- data/grammars/source.pogoscript.json +23 -29
- data/grammars/source.pony.json +98 -108
- data/grammars/source.postcss.json +370 -0
- data/grammars/source.postscript.json +88 -97
- data/grammars/source.pov-ray sdl.json +36 -42
- data/grammars/source.powershell.json +175 -197
- data/grammars/source.processing.json +236 -249
- data/grammars/source.prolog.eclipse.json +33 -38
- data/grammars/source.prolog.json +66 -72
- data/grammars/source.protobuf.json +88 -94
- data/grammars/source.puppet.json +144 -151
- data/grammars/source.purescript.json +268 -289
- data/grammars/source.pyjade.json +256 -281
- data/grammars/source.python.django.json +13 -18
- data/grammars/source.python.json +3319 -3367
- data/grammars/source.python.salt.json +3 -7
- data/grammars/source.qmake.json +83 -90
- data/grammars/source.qml.json +57 -78
- data/grammars/source.quoting.perl6fe.json +666 -669
- data/grammars/source.r.json +75 -84
- data/grammars/source.racket.json +17 -38
- data/grammars/source.rascal.json +77 -80
- data/grammars/source.reason.hover.type.json +1 -1
- data/grammars/source.reason.json +1025 -1080
- data/grammars/source.rebol.json +167 -177
- data/grammars/source.red.json +169 -177
- data/grammars/source.regexp.babel.json +74 -77
- data/grammars/source.regexp.extended.json +4 -5
- data/grammars/source.regexp.json +260 -264
- data/grammars/source.regexp.perl6fe.json +108 -111
- data/grammars/source.regexp.python.json +210 -215
- data/grammars/source.regexp.spin.json +63 -72
- data/grammars/source.renpy.json +617 -687
- data/grammars/source.rexx.json +25 -32
- data/grammars/source.ring.json +84 -114
- data/grammars/source.rpm-spec.json +392 -401
- data/grammars/source.ruby.gemfile.json +9 -12
- data/grammars/source.ruby.json +862 -952
- data/grammars/source.ruby.rspec.cucumber.steps.json +90 -103
- data/grammars/source.rust.json +223 -281
- data/grammars/source.sas.json +88 -105
- data/grammars/source.sass.json +100 -108
- data/grammars/source.sbt.json +16 -23
- data/grammars/source.scad.json +60 -67
- data/grammars/source.scala.json +215 -228
- data/grammars/source.scaml.json +120 -135
- data/grammars/source.scheme.json +119 -136
- data/grammars/source.scilab.json +40 -47
- data/grammars/source.scss.json +369 -403
- data/grammars/source.sdbl.json +14 -25
- data/grammars/source.shaderlab.json +24 -27
- data/grammars/source.shell.json +409 -440
- data/grammars/source.shen.json +75 -94
- data/grammars/source.smali.json +232 -293
- data/grammars/source.smalltalk.json +60 -75
- data/grammars/source.smt.json +67 -82
- data/grammars/source.solidity.json +35 -54
- data/grammars/source.sp.json +40 -45
- data/grammars/source.sparql.json +3 -8
- data/grammars/source.spin.json +277 -297
- data/grammars/source.sqf.json +34 -44
- data/grammars/source.sql.json +142 -156
- data/grammars/source.stan.json +201 -160
- data/grammars/source.stata.json +57 -68
- data/grammars/source.strings.json +26 -30
- data/grammars/source.stylus.json +558 -565
- data/grammars/source.supercollider.json +33 -40
- data/grammars/source.swift.json +999 -1077
- data/grammars/source.systemverilog.json +351 -365
- data/grammars/source.tcl.json +77 -94
- data/grammars/source.tea.json +61 -67
- data/grammars/source.terra.json +25 -32
- data/grammars/source.terraform.json +68 -88
- data/grammars/source.thrift.json +300 -306
- data/grammars/source.tl.json +112 -117
- data/grammars/source.tla.json +65 -69
- data/grammars/source.toc.json +21 -25
- data/grammars/source.toml.json +117 -122
- data/grammars/source.ts.json +2838 -2774
- data/grammars/source.tsx.json +180 -184
- data/grammars/source.turing.json +970 -974
- data/grammars/source.turtle.json +124 -140
- data/grammars/source.txl.json +23 -37
- data/grammars/source.ucfconstraints.json +16 -21
- data/grammars/source.ur.json +15 -27
- data/grammars/source.vala.json +221 -235
- data/grammars/source.varnish.vcl.json +117 -129
- data/grammars/source.vbnet.json +69 -106
- data/grammars/source.verilog.json +101 -107
- data/grammars/source.vhdl.json +437 -445
- data/grammars/source.viml.json +540 -550
- data/grammars/source.wavefront.mtl.json +274 -277
- data/grammars/source.wavefront.obj.json +781 -784
- data/grammars/source.wdl.json +66 -46
- data/grammars/source.webassembly.json +97 -102
- data/grammars/source.webidl.json +311 -326
- data/grammars/source.x10.json +28 -32
- data/grammars/source.x86asm.json +21 -26
- data/grammars/source.xc.json +164 -172
- data/grammars/source.xq.json +81 -92
- data/grammars/source.xtend.json +199 -208
- data/grammars/source.yaml-ext.json +118 -124
- data/grammars/source.yaml.json +155 -174
- data/grammars/source.yaml.salt.json +113 -116
- data/grammars/source.yang.json +10 -13
- data/grammars/source.yara.json +98 -0
- data/grammars/text.bibtex.json +95 -100
- data/grammars/text.cfml.basic.json +403 -404
- data/grammars/text.elixir.json +18 -23
- data/grammars/text.error-list.json +15 -16
- data/grammars/text.find-refs.json +487 -488
- data/grammars/text.gherkin.feature.json +45 -53
- data/grammars/text.haml.json +176 -189
- data/grammars/text.hamlc.json +82 -88
- data/grammars/text.html.abl.json +16 -21
- data/grammars/text.html.asciidoc.json +139 -153
- data/grammars/text.html.asdoc.json +145 -155
- data/grammars/text.html.asp.json +23 -28
- data/grammars/text.html.basic.json +323 -338
- data/grammars/text.html.cfm.json +316 -325
- data/grammars/text.html.creole.json +177 -189
- data/grammars/text.html.django.json +27 -33
- data/grammars/text.html.ecr.json +21 -25
- data/grammars/text.html.elixir.json +3 -9
- data/grammars/text.html.erb.json +81 -85
- data/grammars/text.html.erlang.yaws.json +24 -29
- data/grammars/text.html.factor.json +5 -11
- data/grammars/text.html.ftl.json +16 -25
- data/grammars/text.html.handlebars.json +579 -598
- data/grammars/text.html.javadoc.json +426 -0
- data/grammars/text.html.js.json +11 -17
- data/grammars/text.html.jsp.json +377 -384
- data/grammars/text.html.liquid.json +8 -18
- data/grammars/text.html.mako.json +257 -275
- data/grammars/text.html.markdown.source.gfm.apib.json +419 -427
- data/grammars/text.html.markdown.source.gfm.mson.json +405 -414
- data/grammars/text.html.mediawiki.json +318 -344
- data/grammars/text.html.php.blade.json +2134 -2140
- data/grammars/text.html.php.json +980 -1013
- data/grammars/text.html.slash.json +101 -107
- data/grammars/text.html.smarty.json +75 -83
- data/grammars/text.html.soy.json +250 -253
- data/grammars/text.html.ssp.json +18 -24
- data/grammars/text.html.tcl.json +17 -24
- data/grammars/text.html.twig.json +712 -718
- data/grammars/text.idl-idldoc.json +5 -9
- data/grammars/text.jade.json +213 -235
- data/grammars/text.junit-test-report.json +25 -28
- data/grammars/text.log.latex.json +44 -46
- data/grammars/text.marko.json +370 -401
- data/grammars/text.python.console.json +3 -7
- data/grammars/text.python.traceback.json +2 -5
- data/grammars/text.rdoc.json +15 -19
- data/grammars/text.restructuredtext.clean.json +8 -11
- data/grammars/text.restructuredtext.json +886 -873
- data/grammars/text.robot.json +26 -36
- data/grammars/text.roff.json +2852 -2915
- data/grammars/text.runoff.json +56 -69
- data/grammars/text.sfd.json +151 -155
- data/grammars/text.shell-session.json +5 -8
- data/grammars/text.slim.json +184 -210
- data/grammars/text.srt.json +54 -57
- data/grammars/text.tex.json +98 -105
- data/grammars/text.tex.latex.beamer.json +14 -20
- data/grammars/text.tex.latex.haskell.json +883 -782
- data/grammars/text.tex.latex.json +281 -291
- data/grammars/text.tex.latex.memoir.json +39 -46
- data/grammars/text.tex.latex.rd.json +32 -38
- data/grammars/text.xml.ant.json +62 -69
- data/grammars/text.xml.flex-config.json +1009 -1013
- data/grammars/text.xml.genshi.json +10 -16
- data/grammars/text.xml.json +117 -130
- data/grammars/text.xml.pom.json +235 -240
- data/grammars/text.xml.xsl.json +31 -37
- data/grammars/text.zone_file.json +24 -29
- data/lib/linguist/blob.rb +10 -1
- data/lib/linguist/blob_helper.rb +4 -1
- data/lib/linguist/file_blob.rb +5 -0
- data/lib/linguist/generated.rb +16 -0
- data/lib/linguist/heuristics.rb +23 -11
- data/lib/linguist/language.rb +3 -6
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +74 -12
- data/lib/linguist/lazy_blob.rb +15 -1
- data/lib/linguist/linguist.bundle +0 -0
- data/lib/linguist/samples.json +1666 -3381
- data/lib/linguist/shebang.rb +2 -0
- data/lib/linguist/strategy/modeline.rb +2 -0
- data/lib/linguist/vendor.yml +5 -6
- data/lib/linguist/version.rb +1 -1
- metadata +12 -11
- data/grammars/source.elm.json +0 -381
- data/grammars/source.nant-build.json +0 -86
- data/grammars/source.octave.json +0 -451
- data/grammars/text.html.mediawiki.elm-build-output.json +0 -111
- data/grammars/text.html.mediawiki.elm-documentation.json +0 -22
- data/grammars/text.html.vue.json +0 -936
@@ -1,12 +1,6 @@
|
|
1
1
|
{
|
2
|
-
"comment": "\n\t\tTODO: language\n\t\t 1. Add a bunch of HTML tags. See the #block and #style sections.\n\t\t 2. Correctly scope all the parser functions and their contents.\n\t\t This on will be complicated, as there are several: expr, if, etc.\n\t\t 3. Get some kind of folding by heading (Not possible with TM1 rules).\n\t\t 4. Make sure that illegal things are correctly scoped illegal.\n\t\t This is non-trivial, and has several parts\n\t\t - Bold/italic are based on brain-dead heuristics. Also, we should\n\t\t scope as illegal when for instance a new heading starts\n\t\t before an italic has been closed.\n\t\t - Templates... these will be pretty tough as they are flexible.\n\t\t 5. <timeline></timeline> tag. Not sure this one is worth the effort\n\n\t\t 6. Figure out a better scope for meta.function-call. Infininight\n\t\t suggests entity.name.function.call, to be paralleled by\n\t\t entity.name.function.definition. I am not completely sure I like\n\t\t that solution, but it is probably better than meta.function-call\n\n\t\tTODO snippets and commands\n\t\t 1. Add a drop command (and keyboard shortcuts) for links/images\n\t\t 2. Make sure all the preference items are sorted out, for instance\n\t\t smart typing pairs, indent patterns, etc.\n\t\t 3. Command: big/small\n\t\t\n\t\tFINISHED:\n\t\t 1. Add support for LaTeX math mode inside of <math></math> tags.\n\t\t 2. Add a command for new list item. This one is trivial\n\t\t 3. Get the symbol list working on headings. Trivial.\n\t\t 4. <gallery></gallery> tag. This one adds some complication, but\n\t\t is worth supporting.\n\t\t 5. commands for bold/italic (tbates)\n\t\t 6. All lists scoped by type of list. (tbates)\n\t",
|
3
|
-
"fileTypes": [
|
4
|
-
"mediawiki",
|
5
|
-
"wikipedia",
|
6
|
-
"wiki"
|
7
|
-
],
|
8
|
-
"keyEquivalent": "^~M",
|
9
2
|
"name": "Mediawiki",
|
3
|
+
"scopeName": "text.html.mediawiki",
|
10
4
|
"patterns": [
|
11
5
|
{
|
12
6
|
"include": "#block"
|
@@ -19,22 +13,29 @@
|
|
19
13
|
"block": {
|
20
14
|
"patterns": [
|
21
15
|
{
|
16
|
+
"name": "meta.redirect.mediawiki",
|
22
17
|
"begin": "^\\s*(?i)(#redirect)",
|
23
|
-
"beginCaptures": {
|
24
|
-
"1": {
|
25
|
-
"name": "keyword.control.redirect.mediawiki"
|
26
|
-
}
|
27
|
-
},
|
28
18
|
"end": "\\n",
|
29
|
-
"name": "meta.redirect.mediawiki",
|
30
19
|
"patterns": [
|
31
20
|
{
|
32
21
|
"include": "#link"
|
33
22
|
}
|
34
|
-
]
|
23
|
+
],
|
24
|
+
"beginCaptures": {
|
25
|
+
"1": {
|
26
|
+
"name": "keyword.control.redirect.mediawiki"
|
27
|
+
}
|
28
|
+
}
|
35
29
|
},
|
36
30
|
{
|
37
|
-
"
|
31
|
+
"name": "meta.tag.source.mediawiki",
|
32
|
+
"begin": " ?(\u003c)(source)[ \\t]+(lang)(=)(\"[^\"]+\")(\u003e)",
|
33
|
+
"end": " ?(\u003c/)(source)(\u003e)",
|
34
|
+
"patterns": [
|
35
|
+
{
|
36
|
+
"include": "#tag-stuff"
|
37
|
+
}
|
38
|
+
],
|
38
39
|
"beginCaptures": {
|
39
40
|
"1": {
|
40
41
|
"name": "punctuation.definition.tag.mediawiki"
|
@@ -55,8 +56,6 @@
|
|
55
56
|
"name": "punctuation.definition.tag.mediawiki"
|
56
57
|
}
|
57
58
|
},
|
58
|
-
"comment": "source: <source lang=\"R\">",
|
59
|
-
"end": " ?(</)(source)(>)",
|
60
59
|
"endCaptures": {
|
61
60
|
"1": {
|
62
61
|
"name": "punctuation.definition.tag.mediawiki"
|
@@ -67,15 +66,11 @@
|
|
67
66
|
"3": {
|
68
67
|
"name": "punctuation.definition.tag.mediawiki"
|
69
68
|
}
|
70
|
-
}
|
71
|
-
"name": "meta.tag.source.mediawiki",
|
72
|
-
"patterns": [
|
73
|
-
{
|
74
|
-
"include": "#tag-stuff"
|
75
|
-
}
|
76
|
-
]
|
69
|
+
}
|
77
70
|
},
|
78
71
|
{
|
72
|
+
"name": "markup.heading.${1/=(?\u003cb\u003e=)?(?\u003cc\u003e=)?(?\u003cd\u003e=)?(?\u003ce\u003e=)?(?\u003cf\u003e=)?/${f:?6:${e:?5:${d:?4:${c:?3:${b:?2:1}}}}}/}.mediawiki",
|
73
|
+
"match": "^(={1,6})(?!=)((.+))(\\1)\\s*$\\n?",
|
79
74
|
"captures": {
|
80
75
|
"1": {
|
81
76
|
"name": "punctuation.definition.heading.mediawiki"
|
@@ -86,8 +81,8 @@
|
|
86
81
|
"3": {
|
87
82
|
"patterns": [
|
88
83
|
{
|
89
|
-
"
|
90
|
-
"
|
84
|
+
"name": "invalid.illegal.extra-equals-sign.mediawiki",
|
85
|
+
"match": "=+$"
|
91
86
|
},
|
92
87
|
{
|
93
88
|
"include": "#inline"
|
@@ -97,20 +92,16 @@
|
|
97
92
|
"4": {
|
98
93
|
"name": "punctuation.definition.heading.mediawiki"
|
99
94
|
}
|
100
|
-
}
|
101
|
-
"match": "^(={1,6})(?!=)((.+))(\\1)\\s*$\\n?",
|
102
|
-
"name": "markup.heading.${1/=(?<b>=)?(?<c>=)?(?<d>=)?(?<e>=)?(?<f>=)?/${f:?6:${e:?5:${d:?4:${c:?3:${b:?2:1}}}}}/}.mediawiki"
|
95
|
+
}
|
103
96
|
},
|
104
97
|
{
|
105
|
-
"
|
106
|
-
"match": "^-{4,}[ \\t]*($\\n)?"
|
107
|
-
"name": "meta.separator.mediawiki"
|
98
|
+
"name": "meta.separator.mediawiki",
|
99
|
+
"match": "^-{4,}[ \\t]*($\\n)?"
|
108
100
|
},
|
109
101
|
{
|
102
|
+
"name": "markup.raw.block.mediawiki",
|
110
103
|
"begin": "^ (?=\\s*\\S)",
|
111
|
-
"comment": "\n\t\t\t\t\t\tCode blocks start with one space. Wiki text and\n\t\t\t\t\t\thtml are still interpreted in MediaWiki, unlike in\n\t\t\t\t\t\tmediawiki.\n\t\t\t\t\t",
|
112
104
|
"end": "^(?=[^ ])",
|
113
|
-
"name": "markup.raw.block.mediawiki",
|
114
105
|
"patterns": [
|
115
106
|
{
|
116
107
|
"include": "#inline"
|
@@ -118,10 +109,9 @@
|
|
118
109
|
]
|
119
110
|
},
|
120
111
|
{
|
112
|
+
"name": "markup.list.numbered.mediawiki",
|
121
113
|
"begin": "^([#:;])",
|
122
|
-
"comment": "\n\t\t\t\t\t\tneed to scope nested lists\n\t\t\t\t\t\t - need to cope with \n definition lists (; :)\n\t\t\t\t\t\t indented paragraphs, as used on talk pages (:)\n\t\t\t\t\t",
|
123
114
|
"end": "^(?!\\1)",
|
124
|
-
"name": "markup.list.numbered.mediawiki",
|
125
115
|
"patterns": [
|
126
116
|
{
|
127
117
|
"include": "#inline"
|
@@ -129,10 +119,9 @@
|
|
129
119
|
]
|
130
120
|
},
|
131
121
|
{
|
122
|
+
"name": "markup.list.unnumbered.mediawiki",
|
132
123
|
"begin": "^([*])",
|
133
|
-
"comment": "unordered list",
|
134
124
|
"end": "^(?!\\1)",
|
135
|
-
"name": "markup.list.unnumbered.mediawiki",
|
136
125
|
"patterns": [
|
137
126
|
{
|
138
127
|
"include": "#inline"
|
@@ -146,10 +135,9 @@
|
|
146
135
|
"include": "#comments"
|
147
136
|
},
|
148
137
|
{
|
138
|
+
"name": "meta.paragraph.mediawiki",
|
149
139
|
"begin": "^(?![\\t ;*#:=]|----|$)",
|
150
|
-
"comment": "\n\t\t\t\t\t\tAnything that is not a code block, list, header, etc.\n\t\t\t\t\t\tis a paragraph.\n\t\t\t\t\t",
|
151
140
|
"end": "^(?:\\s*$|(?=[;*#:=]|----))",
|
152
|
-
"name": "meta.paragraph.mediawiki",
|
153
141
|
"patterns": [
|
154
142
|
{
|
155
143
|
"include": "#inline"
|
@@ -159,10 +147,17 @@
|
|
159
147
|
]
|
160
148
|
},
|
161
149
|
"block_html": {
|
162
|
-
"comment": "\n\t\t\t\tThe available block HTML tags supported are:\n\t\t\t\t * blockquote, center, pre, div, hr, p\n\t\t\t\t * tables: table, th, tr, td, caption\n\t\t\t\t * lists: ul, ol, li\n\t\t\t\t * definition lists: dl, dt, dd\n\t\t\t\t * headers: h1, h2, h3, h4, h5, h6\n\t\t\t\t * br\n\t\t\t",
|
163
150
|
"patterns": [
|
164
151
|
{
|
165
|
-
"
|
152
|
+
"name": "meta.embedded.tex.math",
|
153
|
+
"contentName": "source.tex.math",
|
154
|
+
"begin": "(\u003cmath\u003e)",
|
155
|
+
"end": "((\u003c)/math\u003e)",
|
156
|
+
"patterns": [
|
157
|
+
{
|
158
|
+
"include": "text.tex#math"
|
159
|
+
}
|
160
|
+
],
|
166
161
|
"captures": {
|
167
162
|
"0": {
|
168
163
|
"name": "punctuation.section.embedded.tex.math"
|
@@ -173,21 +168,13 @@
|
|
173
168
|
"2": {
|
174
169
|
"name": "source.tex.math"
|
175
170
|
}
|
176
|
-
}
|
177
|
-
"contentName": "source.tex.math",
|
178
|
-
"end": "((<)/math>)",
|
179
|
-
"name": "meta.embedded.tex.math",
|
180
|
-
"patterns": [
|
181
|
-
{
|
182
|
-
"include": "text.tex#math"
|
183
|
-
}
|
184
|
-
]
|
171
|
+
}
|
185
172
|
},
|
186
173
|
{
|
187
|
-
"begin": "<table[^>]*>",
|
188
|
-
"contentName": "source.html",
|
189
|
-
"end": "</table>",
|
190
174
|
"name": "meta.embedded.html.table",
|
175
|
+
"contentName": "source.html",
|
176
|
+
"begin": "\u003ctable[^\u003e]*\u003e",
|
177
|
+
"end": "\u003c/table\u003e",
|
191
178
|
"patterns": [
|
192
179
|
{
|
193
180
|
"include": "text.html.basic"
|
@@ -195,7 +182,15 @@
|
|
195
182
|
]
|
196
183
|
},
|
197
184
|
{
|
198
|
-
"
|
185
|
+
"name": "meta.reference.mediawiki",
|
186
|
+
"contentName": "meta.reference.content.mediawiki",
|
187
|
+
"begin": "(\u003c)(ref)(\u003e)",
|
188
|
+
"end": "(\u003c/)(ref)(\u003e)",
|
189
|
+
"patterns": [
|
190
|
+
{
|
191
|
+
"include": "#inline"
|
192
|
+
}
|
193
|
+
],
|
199
194
|
"beginCaptures": {
|
200
195
|
"1": {
|
201
196
|
"name": "meta.tag.inline.ref.mediawiki"
|
@@ -207,9 +202,6 @@
|
|
207
202
|
"name": "meta.tag.inline.ref.mediawiki"
|
208
203
|
}
|
209
204
|
},
|
210
|
-
"comment": "<ref>content</ref> TODO: Redundant with named tag",
|
211
|
-
"contentName": "meta.reference.content.mediawiki",
|
212
|
-
"end": "(</)(ref)(>)",
|
213
205
|
"endCaptures": {
|
214
206
|
"1": {
|
215
207
|
"name": "meta.tag.inline.ref.mediawiki"
|
@@ -220,15 +212,11 @@
|
|
220
212
|
"3": {
|
221
213
|
"name": "meta.tag.inline.ref.mediawiki"
|
222
214
|
}
|
223
|
-
}
|
224
|
-
"name": "meta.reference.mediawiki",
|
225
|
-
"patterns": [
|
226
|
-
{
|
227
|
-
"include": "#inline"
|
228
|
-
}
|
229
|
-
]
|
215
|
+
}
|
230
216
|
},
|
231
217
|
{
|
218
|
+
"name": "meta.reference.named.cite.mediawiki",
|
219
|
+
"match": "(\u003c)(ref) *((name) *(=) *([^\u003e]*))(/\u003e)",
|
232
220
|
"captures": {
|
233
221
|
"1": {
|
234
222
|
"name": "meta.tag.inline.ref.mediawiki"
|
@@ -248,13 +236,17 @@
|
|
248
236
|
"7": {
|
249
237
|
"name": "meta.tag.inline.ref.mediawiki"
|
250
238
|
}
|
251
|
-
}
|
252
|
-
"comment": "<ref name=\"label\"/>",
|
253
|
-
"match": "(<)(ref) *((name) *(=) *([^>]*))(/>)",
|
254
|
-
"name": "meta.reference.named.cite.mediawiki"
|
239
|
+
}
|
255
240
|
},
|
256
241
|
{
|
257
|
-
"
|
242
|
+
"contentName": "meta.reference.content.labelled.mediawiki",
|
243
|
+
"begin": "(\u003c)(ref) *((name) *(=) *([^\u003e]*))(\u003e)",
|
244
|
+
"end": "(\u003c/ref\u003e)",
|
245
|
+
"patterns": [
|
246
|
+
{
|
247
|
+
"include": "#inline"
|
248
|
+
}
|
249
|
+
],
|
258
250
|
"beginCaptures": {
|
259
251
|
"1": {
|
260
252
|
"name": "meta.tag.inline.ref.mediawiki"
|
@@ -275,102 +267,94 @@
|
|
275
267
|
"name": "meta.tag.inline.ref.mediawiki"
|
276
268
|
}
|
277
269
|
},
|
278
|
-
"comment": "<ref name=\"label\">content</ref>",
|
279
|
-
"contentName": "meta.reference.content.labelled.mediawiki",
|
280
|
-
"end": "(</ref>)",
|
281
270
|
"endCaptures": {
|
282
271
|
"1": {
|
283
272
|
"name": "meta.tag.inline.ref.mediawiki"
|
284
273
|
}
|
285
|
-
}
|
286
|
-
"patterns": [
|
287
|
-
{
|
288
|
-
"include": "#inline"
|
289
|
-
}
|
290
|
-
]
|
274
|
+
}
|
291
275
|
},
|
292
276
|
{
|
293
|
-
"begin": "(<gallery>)",
|
294
|
-
"captures": {
|
295
|
-
"1": {
|
296
|
-
"name": "meta.tag.inline.ref.mediawiki"
|
297
|
-
}
|
298
|
-
},
|
299
277
|
"contentName": "meta.gallery.mediawiki",
|
300
|
-
"
|
278
|
+
"begin": "(\u003cgallery\u003e)",
|
279
|
+
"end": "(\u003c/gallery\u003e)",
|
301
280
|
"patterns": [
|
302
281
|
{
|
303
|
-
"begin": "(?x)\n\t\t\t\t\t\t\t\t^(?!\\s*\\n)\t # not an empty line\n\t\t\t\t\t\t\t\t( [ ]*(((i|I)mage)(:)) # spaces, image, colon\n\t\t\t\t\t\t\t\t ([^\\[\\]|]+) # anything\n\t\t\t\t\t\t\t\t (?<!\\s)[ ]* # spaces\n\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t",
|
304
|
-
"beginCaptures": {
|
305
|
-
"3": {
|
306
|
-
"name": "constant.other.namespace.image.mediawiki"
|
307
|
-
},
|
308
|
-
"5": {
|
309
|
-
"name": "punctuation.fix_this_later.colon.mediawiki"
|
310
|
-
},
|
311
|
-
"6": {
|
312
|
-
"name": "constant.other.wiki-link.image.mediawiki"
|
313
|
-
}
|
314
|
-
},
|
315
|
-
"end": "\\n",
|
316
282
|
"name": "meta.item.gallery.mediawiki",
|
283
|
+
"begin": "(?x)\n\t\t\t\t\t\t\t\t^(?!\\s*\\n)\t # not an empty line\n\t\t\t\t\t\t\t\t( [ ]*(((i|I)mage)(:)) # spaces, image, colon\n\t\t\t\t\t\t\t\t ([^\\[\\]|]+) # anything\n\t\t\t\t\t\t\t\t (?\u003c!\\s)[ ]* # spaces\n\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t",
|
284
|
+
"end": "\\n",
|
317
285
|
"patterns": [
|
318
286
|
{
|
319
|
-
"begin": "^(?!\\|)|(\\|)",
|
320
|
-
"beginCaptures": {
|
321
|
-
"1": {
|
322
|
-
"name": "punctuation.fix_this_later.pipe.mediawiki"
|
323
|
-
}
|
324
|
-
},
|
325
287
|
"contentName": "string.other.title.gallery.mediawiki",
|
288
|
+
"begin": "^(?!\\|)|(\\|)",
|
326
289
|
"end": "\\n|(?=\\|)",
|
327
290
|
"patterns": [
|
328
291
|
{
|
329
292
|
"include": "#inline"
|
330
293
|
}
|
331
|
-
]
|
294
|
+
],
|
295
|
+
"beginCaptures": {
|
296
|
+
"1": {
|
297
|
+
"name": "punctuation.fix_this_later.pipe.mediawiki"
|
298
|
+
}
|
299
|
+
}
|
332
300
|
},
|
333
301
|
{
|
334
|
-
"
|
335
|
-
"
|
302
|
+
"name": "punctuation.fix_this_later.pipe.mediawiki",
|
303
|
+
"match": "\\|"
|
336
304
|
}
|
337
|
-
]
|
305
|
+
],
|
306
|
+
"beginCaptures": {
|
307
|
+
"3": {
|
308
|
+
"name": "constant.other.namespace.image.mediawiki"
|
309
|
+
},
|
310
|
+
"5": {
|
311
|
+
"name": "punctuation.fix_this_later.colon.mediawiki"
|
312
|
+
},
|
313
|
+
"6": {
|
314
|
+
"name": "constant.other.wiki-link.image.mediawiki"
|
315
|
+
}
|
316
|
+
}
|
338
317
|
}
|
339
|
-
]
|
318
|
+
],
|
319
|
+
"captures": {
|
320
|
+
"1": {
|
321
|
+
"name": "meta.tag.inline.ref.mediawiki"
|
322
|
+
}
|
323
|
+
}
|
340
324
|
}
|
341
325
|
]
|
342
326
|
},
|
343
327
|
"comments": {
|
344
328
|
"patterns": [
|
345
329
|
{
|
346
|
-
"begin": "<!--",
|
347
|
-
"end": "--\\s*>",
|
348
330
|
"name": "comment.block.html.mediawiki",
|
331
|
+
"begin": "\u003c!--",
|
332
|
+
"end": "--\\s*\u003e",
|
349
333
|
"patterns": [
|
350
334
|
{
|
351
|
-
"
|
352
|
-
"
|
335
|
+
"name": "invalid.illegal.bad-comments-or-CDATA.html.mediawiki",
|
336
|
+
"match": "--"
|
353
337
|
}
|
354
338
|
]
|
355
339
|
}
|
356
340
|
]
|
357
341
|
},
|
358
342
|
"entities": {
|
359
|
-
"comment": "\n\t\t\t\tMediawiki supports Unicode, so these should not usually be\n\t\t\t\tnecessary, but they do show up on pages from time to time.\n\t\t\t",
|
360
343
|
"patterns": [
|
361
344
|
{
|
362
|
-
"
|
363
|
-
"
|
345
|
+
"name": "constant.character.entity.html.mediawiki",
|
346
|
+
"match": "\u0026([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+);"
|
364
347
|
},
|
365
348
|
{
|
366
|
-
"
|
367
|
-
"
|
349
|
+
"name": "invalid.illegal.bad-ampersand.html.mediawiki",
|
350
|
+
"match": "\u0026"
|
368
351
|
}
|
369
352
|
]
|
370
353
|
},
|
371
354
|
"inline": {
|
372
355
|
"patterns": [
|
373
356
|
{
|
357
|
+
"match": "(~~~~~)(~{0,2})(?!~)",
|
374
358
|
"captures": {
|
375
359
|
"1": {
|
376
360
|
"name": "constant.other.date-time.mediawiki"
|
@@ -378,13 +362,11 @@
|
|
378
362
|
"2": {
|
379
363
|
"name": "invalid.illegal.too-many-tildes.mediawiki"
|
380
364
|
}
|
381
|
-
}
|
382
|
-
"match": "(~~~~~)(~{0,2})(?!~)"
|
365
|
+
}
|
383
366
|
},
|
384
367
|
{
|
385
|
-
"
|
386
|
-
"match": "~~~~?"
|
387
|
-
"name": "constant.other.signature.mediawiki"
|
368
|
+
"name": "constant.other.signature.mediawiki",
|
369
|
+
"match": "~~~~?"
|
388
370
|
},
|
389
371
|
{
|
390
372
|
"include": "#link"
|
@@ -409,34 +391,12 @@
|
|
409
391
|
"link": {
|
410
392
|
"patterns": [
|
411
393
|
{
|
412
|
-
"applyEndPatternLast": 1,
|
413
|
-
"begin": "(?x:\n\t\t\t\t\t\t(\\[\\[) # opening brackets\n\t\t\t\t\t\t ( [ ]*(((i|I)mage)(:)) # spaces, image, colon\n\t\t\t\t\t\t ([^\\[\\]|]+) # anything\n\t\t\t\t\t\t (?<!\\s)[ ]* # spaces\n\t\t\t\t\t\t )\n\t\t\t\t\t)",
|
414
|
-
"beginCaptures": {
|
415
|
-
"1": {
|
416
|
-
"name": "meta.tag.inline.any.mediawiki"
|
417
|
-
},
|
418
|
-
"4": {
|
419
|
-
"name": "constant.other.namespace.image.mediawiki"
|
420
|
-
},
|
421
|
-
"6": {
|
422
|
-
"name": "punctuation.fix_this_later.colon.mediawiki"
|
423
|
-
},
|
424
|
-
"7": {
|
425
|
-
"name": "constant.other.wiki-link.image.mediawiki"
|
426
|
-
}
|
427
|
-
},
|
428
|
-
"end": "(?x:\n\t\t\t\t\t\t ((\\|)[ ]*( [^\\[\\]|]+ )[ ]*)? # pipe, spaces, anything, spaces\n\t\t\t\t\t\t(\\]\\]) # closing brackets\n\t\t\t\t\t)",
|
429
|
-
"endCaptures": {
|
430
|
-
"2": {
|
431
|
-
"name": "punctuation.fix_this_later.pipe.mediawiki"
|
432
|
-
},
|
433
|
-
"3": {
|
434
|
-
"name": "string.other.title.link.wiki-link.mediawiki"
|
435
|
-
}
|
436
|
-
},
|
437
394
|
"name": "meta.image.wiki.mediawiki",
|
395
|
+
"begin": "(?x:\n\t\t\t\t\t\t(\\[\\[) # opening brackets\n\t\t\t\t\t\t ( [ ]*(((i|I)mage)(:)) # spaces, image, colon\n\t\t\t\t\t\t ([^\\[\\]|]+) # anything\n\t\t\t\t\t\t (?\u003c!\\s)[ ]* # spaces\n\t\t\t\t\t\t )\n\t\t\t\t\t)",
|
396
|
+
"end": "(?x:\n\t\t\t\t\t\t ((\\|)[ ]*( [^\\[\\]|]+ )[ ]*)? # pipe, spaces, anything, spaces\n\t\t\t\t\t\t(\\]\\]) # closing brackets\n\t\t\t\t\t)",
|
438
397
|
"patterns": [
|
439
398
|
{
|
399
|
+
"match": "(?x)\n\t\t\t\t\t\t\t\t(\\|)[ ]*\n\t\t\t\t\t\t\t\t( (thumb|thumbnail|frame)\n\t\t\t\t\t\t\t\t |(right|left|center|none)\n\t\t\t\t\t\t\t\t |([0-9]+)(px)\n\t\t\t\t\t\t\t\t)[ ]*\n\t\t\t\t\t\t\t",
|
440
400
|
"captures": {
|
441
401
|
"1": {
|
442
402
|
"name": "punctuation.fix_this_later.pipe.mediawiki"
|
@@ -453,20 +413,49 @@
|
|
453
413
|
"5": {
|
454
414
|
"name": "constant.other.unit.mediawiki"
|
455
415
|
}
|
456
|
-
}
|
457
|
-
"match": "(?x)\n\t\t\t\t\t\t\t\t(\\|)[ ]*\n\t\t\t\t\t\t\t\t( (thumb|thumbnail|frame)\n\t\t\t\t\t\t\t\t |(right|left|center|none)\n\t\t\t\t\t\t\t\t |([0-9]+)(px)\n\t\t\t\t\t\t\t\t)[ ]*\n\t\t\t\t\t\t\t"
|
416
|
+
}
|
458
417
|
},
|
459
418
|
{
|
460
|
-
"
|
461
|
-
"
|
419
|
+
"name": "punctuation.fix_this_later.pipe.mediawiki",
|
420
|
+
"match": "\\|"
|
462
421
|
},
|
463
422
|
{
|
464
423
|
"include": "#style_in_link"
|
465
424
|
}
|
466
|
-
]
|
425
|
+
],
|
426
|
+
"beginCaptures": {
|
427
|
+
"1": {
|
428
|
+
"name": "meta.tag.inline.any.mediawiki"
|
429
|
+
},
|
430
|
+
"4": {
|
431
|
+
"name": "constant.other.namespace.image.mediawiki"
|
432
|
+
},
|
433
|
+
"6": {
|
434
|
+
"name": "punctuation.fix_this_later.colon.mediawiki"
|
435
|
+
},
|
436
|
+
"7": {
|
437
|
+
"name": "constant.other.wiki-link.image.mediawiki"
|
438
|
+
}
|
439
|
+
},
|
440
|
+
"endCaptures": {
|
441
|
+
"2": {
|
442
|
+
"name": "punctuation.fix_this_later.pipe.mediawiki"
|
443
|
+
},
|
444
|
+
"3": {
|
445
|
+
"name": "string.other.title.link.wiki-link.mediawiki"
|
446
|
+
}
|
447
|
+
},
|
448
|
+
"applyEndPatternLast": true
|
467
449
|
},
|
468
450
|
{
|
451
|
+
"name": "meta.link.wiki.redirect.mediawiki",
|
469
452
|
"begin": "(?x:\n\t\t\t\t\t({{) # opening brackets\n\t\t\t\t\t\t([Rr]edirect|subst:.*) # redirect?\n\t\t\t\t\t\t[ ]* # spaces\n\t\t\t\t\t\t(\\|) # pipe\n\t\t\t\t\t)",
|
453
|
+
"end": "(?x:\n\t\t\t\t\t\t\t(([\\|}]+)(\\|)([\\|}]+))? # from | to \n\t\t\t\t\t\t\t([^}]*) # anything\n\t\t\t\t\t\t\t(}}) # closing brackets\n\t\t\t\t\t)",
|
454
|
+
"patterns": [
|
455
|
+
{
|
456
|
+
"include": "#style_in_link"
|
457
|
+
}
|
458
|
+
],
|
470
459
|
"beginCaptures": {
|
471
460
|
"1": {
|
472
461
|
"name": "meta.tag.inline.redirect.mediawiki"
|
@@ -478,7 +467,6 @@
|
|
478
467
|
"name": "constant.other.pipe.mediawiki"
|
479
468
|
}
|
480
469
|
},
|
481
|
-
"end": "(?x:\n\t\t\t\t\t\t\t(([\\|}]+)(\\|)([\\|}]+))? # from | to \n\t\t\t\t\t\t\t([^}]*) # anything\n\t\t\t\t\t\t\t(}}) # closing brackets\n\t\t\t\t\t)",
|
482
470
|
"endCaptures": {
|
483
471
|
"2": {
|
484
472
|
"name": "meta.tag.inline.any.mediawiki"
|
@@ -492,16 +480,17 @@
|
|
492
480
|
"6": {
|
493
481
|
"name": "meta.tag.inline.redirect.mediawiki"
|
494
482
|
}
|
495
|
-
}
|
496
|
-
|
483
|
+
}
|
484
|
+
},
|
485
|
+
{
|
486
|
+
"name": "meta.link.wiki.mediawiki",
|
487
|
+
"begin": "(?x:\n\t\t\t\t\t\t(\\[\\[) # opening brackets\n\t\t\t\t\t\t (:)? # colon to suppress image or category?\n\t\t\t\t\t\t ((\\s+):[^\\[\\]]*(?=\\]\\]))? # a colon after spaces is invalid\n\t\t\t\t\t\t [ ]* # spaces\n\t\t\t\t\t\t ( (([^\\[\\]|]+)(:))? # namespace\n\t\t\t\t\t\t ([^\\[\\]|]+)(?\u003c!\\s)[ ]* # link name\n\t\t\t\t\t\t )?\n\t\t\t\t\t)",
|
488
|
+
"end": "(?x:\n\t\t\t\t\t\t (\\|[ ]*([^\\[\\]\\|]+)[ ]*)? # pipe, spaces, anything, spaces\n\t\t\t\t\t\t(\\]\\]) # closing brackets\n\t\t\t\t\t)",
|
497
489
|
"patterns": [
|
498
490
|
{
|
499
491
|
"include": "#style_in_link"
|
500
492
|
}
|
501
|
-
]
|
502
|
-
},
|
503
|
-
{
|
504
|
-
"begin": "(?x:\n\t\t\t\t\t\t(\\[\\[) # opening brackets\n\t\t\t\t\t\t (:)? # colon to suppress image or category?\n\t\t\t\t\t\t ((\\s+):[^\\[\\]]*(?=\\]\\]))? # a colon after spaces is invalid\n\t\t\t\t\t\t [ ]* # spaces\n\t\t\t\t\t\t ( (([^\\[\\]|]+)(:))? # namespace\n\t\t\t\t\t\t ([^\\[\\]|]+)(?<!\\s)[ ]* # link name\n\t\t\t\t\t\t )?\n\t\t\t\t\t)",
|
493
|
+
],
|
505
494
|
"beginCaptures": {
|
506
495
|
"1": {
|
507
496
|
"name": "meta.tag.inline.any.mediawiki"
|
@@ -522,7 +511,6 @@
|
|
522
511
|
"name": "constant.other.wiki-link.mediawiki"
|
523
512
|
}
|
524
513
|
},
|
525
|
-
"end": "(?x:\n\t\t\t\t\t\t (\\|[ ]*([^\\[\\]\\|]+)[ ]*)? # pipe, spaces, anything, spaces\n\t\t\t\t\t\t(\\]\\]) # closing brackets\n\t\t\t\t\t)",
|
526
514
|
"endCaptures": {
|
527
515
|
"2": {
|
528
516
|
"name": "string.other.title.link.wiki-link.mediawiki"
|
@@ -530,43 +518,36 @@
|
|
530
518
|
"3": {
|
531
519
|
"name": "meta.tag.inline.any.mediawiki"
|
532
520
|
}
|
533
|
-
}
|
534
|
-
"name": "meta.link.wiki.mediawiki",
|
535
|
-
"patterns": [
|
536
|
-
{
|
537
|
-
"include": "#style_in_link"
|
538
|
-
}
|
539
|
-
]
|
521
|
+
}
|
540
522
|
},
|
541
523
|
{
|
542
|
-
"
|
543
|
-
"beginCaptures": {
|
544
|
-
"1": {
|
545
|
-
"name": "markup.underline.link.external.mediawiki"
|
546
|
-
}
|
547
|
-
},
|
524
|
+
"name": "meta.link.inline.external.mediawiki",
|
548
525
|
"contentName": "string.other.title.link.external.mediawiki",
|
526
|
+
"begin": "\\[(\\S+)\\s*(?=[^\\]]*\\])",
|
549
527
|
"end": "\\]",
|
550
|
-
"name": "meta.link.inline.external.mediawiki",
|
551
528
|
"patterns": [
|
552
529
|
{
|
553
530
|
"include": "#style_in_link"
|
554
531
|
}
|
555
|
-
]
|
532
|
+
],
|
533
|
+
"beginCaptures": {
|
534
|
+
"1": {
|
535
|
+
"name": "markup.underline.link.external.mediawiki"
|
536
|
+
}
|
537
|
+
}
|
556
538
|
},
|
557
539
|
{
|
558
|
-
"
|
559
|
-
"
|
540
|
+
"name": "markup.underline.link.external.mediawiki",
|
541
|
+
"match": "((https?|ftp|file)://|mailto:)[-:@a-zA-Z0-9_.~%+/?=\u0026#]+(?\u003c![.?:])"
|
560
542
|
}
|
561
543
|
]
|
562
544
|
},
|
563
545
|
"style": {
|
564
|
-
"comment": "\n\t\t\t\tTODO: Still need to add:\n\t\t\t\t * font\n\t\t\t\t * ruby, rb, rp, rt\n\t\t\t\t * cite\n\t\t\t\tinline tags to this section, and make sure that the other\n\t\t\t\ttags can accept attributes in the tag opening, etc. The\n\t\t\t\tcurrent implementation is intended to be naive, but covering\n\t\t\t\tthe majority of uses in mediawiki code.\n\t\t\t\t\n\t\t\t\tWe also need to add mediawiki-specific tags:\n\t\t\t\t * nowiki, noinclude, includeonly\n\t\t\t\t\n\t\t\t",
|
565
546
|
"patterns": [
|
566
547
|
{
|
548
|
+
"name": "markup.bold.mediawiki",
|
567
549
|
"begin": "'''",
|
568
550
|
"end": "'''",
|
569
|
-
"name": "markup.bold.mediawiki",
|
570
551
|
"patterns": [
|
571
552
|
{
|
572
553
|
"include": "#inline"
|
@@ -574,9 +555,9 @@
|
|
574
555
|
]
|
575
556
|
},
|
576
557
|
{
|
558
|
+
"name": "markup.italic.mediawiki",
|
577
559
|
"begin": "''",
|
578
560
|
"end": "''(?!'[^'])",
|
579
|
-
"name": "markup.italic.mediawiki",
|
580
561
|
"patterns": [
|
581
562
|
{
|
582
563
|
"include": "#inline"
|
@@ -584,103 +565,103 @@
|
|
584
565
|
]
|
585
566
|
},
|
586
567
|
{
|
587
|
-
"begin": "(<(b|strong)>)",
|
588
|
-
"captures": {
|
589
|
-
"1": {
|
590
|
-
"name": "meta.tag.inline.bold.html.mediawiki"
|
591
|
-
}
|
592
|
-
},
|
593
568
|
"contentName": "markup.bold.html.mediawiki",
|
594
|
-
"
|
569
|
+
"begin": "(\u003c(b|strong)\u003e)",
|
570
|
+
"end": "(\u003c/\\2\u003e)",
|
595
571
|
"patterns": [
|
596
572
|
{
|
597
573
|
"include": "#inline"
|
598
574
|
}
|
599
|
-
]
|
600
|
-
},
|
601
|
-
{
|
602
|
-
"begin": "(<(i|em)>)",
|
575
|
+
],
|
603
576
|
"captures": {
|
604
577
|
"1": {
|
605
|
-
"name": "meta.tag.inline.
|
578
|
+
"name": "meta.tag.inline.bold.html.mediawiki"
|
606
579
|
}
|
607
|
-
}
|
580
|
+
}
|
581
|
+
},
|
582
|
+
{
|
608
583
|
"contentName": "markup.italic.html.mediawiki",
|
609
|
-
"
|
584
|
+
"begin": "(\u003c(i|em)\u003e)",
|
585
|
+
"end": "(\u003c/\\2\u003e)",
|
610
586
|
"patterns": [
|
611
587
|
{
|
612
588
|
"include": "#inline"
|
613
589
|
}
|
614
|
-
]
|
615
|
-
},
|
616
|
-
{
|
617
|
-
"begin": "(<(s|strike)>)",
|
590
|
+
],
|
618
591
|
"captures": {
|
619
592
|
"1": {
|
620
|
-
"name": "meta.tag.inline.
|
593
|
+
"name": "meta.tag.inline.italic.html.mediawiki"
|
621
594
|
}
|
622
|
-
}
|
595
|
+
}
|
596
|
+
},
|
597
|
+
{
|
623
598
|
"contentName": "markup.other.strikethrough.html.mediawiki",
|
624
|
-
"
|
599
|
+
"begin": "(\u003c(s|strike)\u003e)",
|
600
|
+
"end": "(\u003c/\\2\u003e)",
|
625
601
|
"patterns": [
|
626
602
|
{
|
627
603
|
"include": "#inline"
|
628
604
|
}
|
629
|
-
]
|
630
|
-
},
|
631
|
-
{
|
632
|
-
"begin": "(<(u)>)",
|
605
|
+
],
|
633
606
|
"captures": {
|
634
607
|
"1": {
|
635
|
-
"name": "meta.tag.inline.
|
608
|
+
"name": "meta.tag.inline.strikethrough.html.mediawiki"
|
636
609
|
}
|
637
|
-
}
|
610
|
+
}
|
611
|
+
},
|
612
|
+
{
|
638
613
|
"contentName": "markup.underline.html.mediawiki",
|
639
|
-
"
|
614
|
+
"begin": "(\u003c(u)\u003e)",
|
615
|
+
"end": "(\u003c/\\2\u003e)",
|
640
616
|
"patterns": [
|
641
617
|
{
|
642
618
|
"include": "#inline"
|
643
619
|
}
|
644
|
-
]
|
645
|
-
},
|
646
|
-
{
|
647
|
-
"begin": "(<(tt|code)>)",
|
620
|
+
],
|
648
621
|
"captures": {
|
649
622
|
"1": {
|
650
|
-
"name": "meta.tag.inline.
|
623
|
+
"name": "meta.tag.inline.underline.html.mediawiki"
|
651
624
|
}
|
652
|
-
}
|
625
|
+
}
|
626
|
+
},
|
627
|
+
{
|
653
628
|
"contentName": "markup.raw.html.mediawiki",
|
654
|
-
"
|
629
|
+
"begin": "(\u003c(tt|code)\u003e)",
|
630
|
+
"end": "(\u003c/\\2\u003e)",
|
655
631
|
"patterns": [
|
656
632
|
{
|
657
633
|
"include": "#inline"
|
658
634
|
}
|
659
|
-
]
|
660
|
-
},
|
661
|
-
{
|
662
|
-
"begin": "(<(big|small|sub|sup)>)",
|
635
|
+
],
|
663
636
|
"captures": {
|
664
637
|
"1": {
|
665
|
-
"name": "meta.tag.inline.
|
638
|
+
"name": "meta.tag.inline.raw.html.mediawiki"
|
666
639
|
}
|
667
|
-
}
|
640
|
+
}
|
641
|
+
},
|
642
|
+
{
|
668
643
|
"contentName": "markup.other.inline-styles.html.mediawiki",
|
669
|
-
"
|
644
|
+
"begin": "(\u003c(big|small|sub|sup)\u003e)",
|
645
|
+
"end": "(\u003c/\\2\u003e)",
|
670
646
|
"patterns": [
|
671
647
|
{
|
672
648
|
"include": "#inline"
|
673
649
|
}
|
674
|
-
]
|
650
|
+
],
|
651
|
+
"captures": {
|
652
|
+
"1": {
|
653
|
+
"name": "meta.tag.inline.any.html.mediawiki"
|
654
|
+
}
|
655
|
+
}
|
675
656
|
}
|
676
657
|
]
|
677
658
|
},
|
678
659
|
"style_in_link": {
|
679
660
|
"patterns": [
|
680
661
|
{
|
662
|
+
"name": "markup.bold.mediawiki",
|
681
663
|
"begin": "'''",
|
682
664
|
"end": "'''",
|
683
|
-
"name": "markup.bold.mediawiki",
|
684
665
|
"patterns": [
|
685
666
|
{
|
686
667
|
"include": "#style_in_link"
|
@@ -688,9 +669,9 @@
|
|
688
669
|
]
|
689
670
|
},
|
690
671
|
{
|
672
|
+
"name": "markup.italic.mediawiki",
|
691
673
|
"begin": "''",
|
692
674
|
"end": "''",
|
693
|
-
"name": "markup.italic.mediawiki",
|
694
675
|
"patterns": [
|
695
676
|
{
|
696
677
|
"include": "#style_in_link"
|
@@ -698,94 +679,94 @@
|
|
698
679
|
]
|
699
680
|
},
|
700
681
|
{
|
701
|
-
"begin": "(<(b|strong)>)",
|
702
|
-
"captures": {
|
703
|
-
"1": {
|
704
|
-
"name": "meta.tag.inline.bold.html.mediawiki"
|
705
|
-
}
|
706
|
-
},
|
707
682
|
"contentName": "markup.bold.html.mediawiki",
|
708
|
-
"
|
683
|
+
"begin": "(\u003c(b|strong)\u003e)",
|
684
|
+
"end": "(\u003c/\\2\u003e)",
|
709
685
|
"patterns": [
|
710
686
|
{
|
711
687
|
"include": "#style_in_link"
|
712
688
|
}
|
713
|
-
]
|
714
|
-
},
|
715
|
-
{
|
716
|
-
"begin": "(<(i|em)>)",
|
689
|
+
],
|
717
690
|
"captures": {
|
718
691
|
"1": {
|
719
|
-
"name": "meta.tag.inline.
|
692
|
+
"name": "meta.tag.inline.bold.html.mediawiki"
|
720
693
|
}
|
721
|
-
}
|
694
|
+
}
|
695
|
+
},
|
696
|
+
{
|
722
697
|
"contentName": "markup.italic.html.mediawiki",
|
723
|
-
"
|
698
|
+
"begin": "(\u003c(i|em)\u003e)",
|
699
|
+
"end": "(\u003c/\\2\u003e)",
|
724
700
|
"patterns": [
|
725
701
|
{
|
726
702
|
"include": "#style_in_link"
|
727
703
|
}
|
728
|
-
]
|
729
|
-
},
|
730
|
-
{
|
731
|
-
"begin": "(<(s|strike)>)",
|
704
|
+
],
|
732
705
|
"captures": {
|
733
706
|
"1": {
|
734
|
-
"name": "meta.tag.inline.
|
707
|
+
"name": "meta.tag.inline.italic.html.mediawiki"
|
735
708
|
}
|
736
|
-
}
|
709
|
+
}
|
710
|
+
},
|
711
|
+
{
|
737
712
|
"contentName": "markup.other.strikethrough.html.mediawiki",
|
738
|
-
"
|
713
|
+
"begin": "(\u003c(s|strike)\u003e)",
|
714
|
+
"end": "(\u003c/\\2\u003e)",
|
739
715
|
"patterns": [
|
740
716
|
{
|
741
717
|
"include": "#style_in_link"
|
742
718
|
}
|
743
|
-
]
|
744
|
-
},
|
745
|
-
{
|
746
|
-
"begin": "(<(u)>)",
|
719
|
+
],
|
747
720
|
"captures": {
|
748
721
|
"1": {
|
749
|
-
"name": "meta.tag.inline.
|
722
|
+
"name": "meta.tag.inline.strikethrough.html.mediawiki"
|
750
723
|
}
|
751
|
-
}
|
724
|
+
}
|
725
|
+
},
|
726
|
+
{
|
752
727
|
"contentName": "markup.underline.html.mediawiki",
|
753
|
-
"
|
728
|
+
"begin": "(\u003c(u)\u003e)",
|
729
|
+
"end": "(\u003c/\\2\u003e)",
|
754
730
|
"patterns": [
|
755
731
|
{
|
756
732
|
"include": "#style_in_link"
|
757
733
|
}
|
758
|
-
]
|
759
|
-
},
|
760
|
-
{
|
761
|
-
"begin": "(<(tt|code)>)",
|
734
|
+
],
|
762
735
|
"captures": {
|
763
736
|
"1": {
|
764
|
-
"name": "meta.tag.inline.
|
737
|
+
"name": "meta.tag.inline.underline.html.mediawiki"
|
765
738
|
}
|
766
|
-
}
|
739
|
+
}
|
740
|
+
},
|
741
|
+
{
|
767
742
|
"contentName": "markup.raw.html.mediawiki",
|
768
|
-
"
|
743
|
+
"begin": "(\u003c(tt|code)\u003e)",
|
744
|
+
"end": "(\u003c/\\2\u003e)",
|
769
745
|
"patterns": [
|
770
746
|
{
|
771
747
|
"include": "#style_in_link"
|
772
748
|
}
|
773
|
-
]
|
774
|
-
},
|
775
|
-
{
|
776
|
-
"begin": "(<(big|small|sub|sup)>)",
|
749
|
+
],
|
777
750
|
"captures": {
|
778
751
|
"1": {
|
779
|
-
"name": "meta.tag.inline.
|
752
|
+
"name": "meta.tag.inline.raw.html.mediawiki"
|
780
753
|
}
|
781
|
-
}
|
754
|
+
}
|
755
|
+
},
|
756
|
+
{
|
782
757
|
"contentName": "markup.other.inline-styles.html.mediawiki",
|
783
|
-
"
|
758
|
+
"begin": "(\u003c(big|small|sub|sup)\u003e)",
|
759
|
+
"end": "(\u003c/\\2\u003e)",
|
784
760
|
"patterns": [
|
785
761
|
{
|
786
762
|
"include": "#style_in_link"
|
787
763
|
}
|
788
|
-
]
|
764
|
+
],
|
765
|
+
"captures": {
|
766
|
+
"1": {
|
767
|
+
"name": "meta.tag.inline.any.html.mediawiki"
|
768
|
+
}
|
769
|
+
}
|
789
770
|
},
|
790
771
|
{
|
791
772
|
"include": "#comments"
|
@@ -795,22 +776,13 @@
|
|
795
776
|
"table": {
|
796
777
|
"patterns": [
|
797
778
|
{
|
779
|
+
"name": "markup.other.table.mediawiki",
|
798
780
|
"begin": "^({\\|)",
|
799
|
-
"beginCaptures": {
|
800
|
-
"1": {
|
801
|
-
"name": "meta.tag.inline.table.mediawiki"
|
802
|
-
}
|
803
|
-
},
|
804
|
-
"comment": "TODO: add styling capabilities",
|
805
781
|
"end": "(^\\|})",
|
806
|
-
"endCaptures": {
|
807
|
-
"1": {
|
808
|
-
"name": "meta.tag.inline.table.mediawiki"
|
809
|
-
}
|
810
|
-
},
|
811
|
-
"name": "markup.other.table.mediawiki",
|
812
782
|
"patterns": [
|
813
783
|
{
|
784
|
+
"name": "meta.table.caption.mediawiki",
|
785
|
+
"match": "^(\\|\\+)[\\t ]*(.*)$",
|
814
786
|
"captures": {
|
815
787
|
"1": {
|
816
788
|
"name": "meta.tag.inline.table.caption.mediawiki"
|
@@ -818,27 +790,26 @@
|
|
818
790
|
"2": {
|
819
791
|
"name": "variable.parameter.name.string.mediawiki"
|
820
792
|
}
|
821
|
-
}
|
822
|
-
"match": "^(\\|\\+)[\\t ]*(.*)$",
|
823
|
-
"name": "meta.table.caption.mediawiki"
|
793
|
+
}
|
824
794
|
},
|
825
795
|
{
|
796
|
+
"name": "markup.other.table.row.mediawiki",
|
826
797
|
"begin": "^\\|-",
|
827
|
-
"beginCaptures": {
|
828
|
-
"1": {
|
829
|
-
"name": "meta.tag.inline.table.mediawiki"
|
830
|
-
}
|
831
|
-
},
|
832
|
-
"comment": "TODO: allow selection of rows; move row up/down, etc.",
|
833
798
|
"end": "^(?=\\|-|^\\|})",
|
834
|
-
"name": "markup.other.table.row.mediawiki",
|
835
799
|
"patterns": [
|
836
800
|
{
|
837
801
|
"include": "#inline"
|
838
802
|
}
|
839
|
-
]
|
803
|
+
],
|
804
|
+
"beginCaptures": {
|
805
|
+
"1": {
|
806
|
+
"name": "meta.tag.inline.table.mediawiki"
|
807
|
+
}
|
808
|
+
}
|
840
809
|
},
|
841
810
|
{
|
811
|
+
"name": "meta.table.cell.mediawiki",
|
812
|
+
"match": "(^\\||\\|\\|) *([^\\|]*) *",
|
842
813
|
"captures": {
|
843
814
|
"1": {
|
844
815
|
"name": "meta.tag.inline.table.cellwall.mediawiki"
|
@@ -846,64 +817,54 @@
|
|
846
817
|
"2": {
|
847
818
|
"name": "string.other.table.cellcontents.mediawiki"
|
848
819
|
}
|
849
|
-
}
|
850
|
-
"match": "(^\\||\\|\\|) *([^\\|]*) *",
|
851
|
-
"name": "meta.table.cell.mediawiki"
|
820
|
+
}
|
852
821
|
},
|
853
822
|
{
|
854
823
|
"include": "#inline"
|
855
824
|
}
|
856
|
-
]
|
825
|
+
],
|
826
|
+
"beginCaptures": {
|
827
|
+
"1": {
|
828
|
+
"name": "meta.tag.inline.table.mediawiki"
|
829
|
+
}
|
830
|
+
},
|
831
|
+
"endCaptures": {
|
832
|
+
"1": {
|
833
|
+
"name": "meta.tag.inline.table.mediawiki"
|
834
|
+
}
|
835
|
+
}
|
857
836
|
}
|
858
837
|
]
|
859
838
|
},
|
860
839
|
"template": {
|
861
|
-
"comment": "\n\t\t\t\tThis repository item covers templates and parser functions.\n\t\t\t",
|
862
840
|
"patterns": [
|
863
841
|
{
|
842
|
+
"name": "meta.template-parameter.mediawiki",
|
843
|
+
"match": "{{{[ ]*([0-9]+)[ ]*}}}",
|
864
844
|
"captures": {
|
865
845
|
"1": {
|
866
846
|
"name": "variable.parameter.template.numeric.mediawiki"
|
867
847
|
}
|
868
|
-
}
|
869
|
-
"match": "{{{[ ]*([0-9]+)[ ]*}}}",
|
870
|
-
"name": "meta.template-parameter.mediawiki"
|
848
|
+
}
|
871
849
|
},
|
872
850
|
{
|
851
|
+
"name": "meta.template-parameter.mediawiki",
|
852
|
+
"match": "{{{[ ]*(.*?)[ ]*}}}",
|
873
853
|
"captures": {
|
874
854
|
"1": {
|
875
855
|
"name": "variable.parameter.template.named.mediawiki"
|
876
856
|
}
|
877
|
-
}
|
878
|
-
"match": "{{{[ ]*(.*?)[ ]*}}}",
|
879
|
-
"name": "meta.template-parameter.mediawiki"
|
857
|
+
}
|
880
858
|
},
|
881
859
|
{
|
860
|
+
"name": "meta.template.parser-function.mediawiki",
|
882
861
|
"begin": "({{)(?=[ ]*#)",
|
883
|
-
"beginCaptures": {
|
884
|
-
"1": {
|
885
|
-
"name": "meta.tag.inline.template.mediawiki"
|
886
|
-
},
|
887
|
-
"2": {
|
888
|
-
"name": "meta.function-call.template.mediawiki"
|
889
|
-
}
|
890
|
-
},
|
891
|
-
"comment": "\n\t\t\t\t\t\tWhy oh why did mediawiki have to add these??\n\t\t\t\t\t",
|
892
862
|
"end": "(}})",
|
893
|
-
"endCaptures": {
|
894
|
-
"1": {
|
895
|
-
"name": "meta.tag.inline.template.mediawiki"
|
896
|
-
}
|
897
|
-
},
|
898
|
-
"name": "meta.template.parser-function.mediawiki",
|
899
863
|
"patterns": [
|
900
864
|
{
|
901
865
|
"include": "#inline"
|
902
866
|
}
|
903
|
-
]
|
904
|
-
},
|
905
|
-
{
|
906
|
-
"begin": "({{)([^{}\\|]+)?",
|
867
|
+
],
|
907
868
|
"beginCaptures": {
|
908
869
|
"1": {
|
909
870
|
"name": "meta.tag.inline.template.mediawiki"
|
@@ -912,20 +873,24 @@
|
|
912
873
|
"name": "meta.function-call.template.mediawiki"
|
913
874
|
}
|
914
875
|
},
|
915
|
-
"comment": "scope as meta.function-call as the closest thing to a template with parameters, etc.",
|
916
|
-
"end": "(}})",
|
917
876
|
"endCaptures": {
|
918
877
|
"1": {
|
919
878
|
"name": "meta.tag.inline.template.mediawiki"
|
920
879
|
}
|
921
|
-
}
|
880
|
+
}
|
881
|
+
},
|
882
|
+
{
|
922
883
|
"name": "meta.template.mediawiki",
|
884
|
+
"begin": "({{)([^{}\\|]+)?",
|
885
|
+
"end": "(}})",
|
923
886
|
"patterns": [
|
924
887
|
{
|
925
888
|
"include": "#comments"
|
926
889
|
},
|
927
890
|
{
|
891
|
+
"contentName": "comment.block.template-hack.mediawiki",
|
928
892
|
"begin": "(\\|)\\s*(=)",
|
893
|
+
"end": "(?=[|}])",
|
929
894
|
"beginCaptures": {
|
930
895
|
"1": {
|
931
896
|
"name": "punctuation.fix_this_later.pipe.mediawiki"
|
@@ -933,12 +898,17 @@
|
|
933
898
|
"2": {
|
934
899
|
"name": "punctuation.fix_this_later.equals-sign.mediawiki"
|
935
900
|
}
|
936
|
-
}
|
937
|
-
"contentName": "comment.block.template-hack.mediawiki",
|
938
|
-
"end": "(?=[|}])"
|
901
|
+
}
|
939
902
|
},
|
940
903
|
{
|
904
|
+
"contentName": "meta.value.template.mediawiki",
|
941
905
|
"begin": "(\\|)(([^{}\\|=]+)(=))?",
|
906
|
+
"end": "(?=[|}])",
|
907
|
+
"patterns": [
|
908
|
+
{
|
909
|
+
"include": "#inline"
|
910
|
+
}
|
911
|
+
],
|
942
912
|
"beginCaptures": {
|
943
913
|
"1": {
|
944
914
|
"name": "punctuation.fix_this_later.pipe.mediawiki"
|
@@ -949,24 +919,28 @@
|
|
949
919
|
"3": {
|
950
920
|
"name": "punctuation.fix_this_later.equals-sign.mediawiki"
|
951
921
|
}
|
952
|
-
}
|
953
|
-
"contentName": "meta.value.template.mediawiki",
|
954
|
-
"end": "(?=[|}])",
|
955
|
-
"patterns": [
|
956
|
-
{
|
957
|
-
"include": "#inline"
|
958
|
-
}
|
959
|
-
]
|
922
|
+
}
|
960
923
|
},
|
961
924
|
{
|
962
|
-
"
|
963
|
-
"
|
925
|
+
"name": "punctuation.fix_this_later.pipe.mediawiki",
|
926
|
+
"match": "\\|"
|
964
927
|
}
|
965
|
-
]
|
928
|
+
],
|
929
|
+
"beginCaptures": {
|
930
|
+
"1": {
|
931
|
+
"name": "meta.tag.inline.template.mediawiki"
|
932
|
+
},
|
933
|
+
"2": {
|
934
|
+
"name": "meta.function-call.template.mediawiki"
|
935
|
+
}
|
936
|
+
},
|
937
|
+
"endCaptures": {
|
938
|
+
"1": {
|
939
|
+
"name": "meta.tag.inline.template.mediawiki"
|
940
|
+
}
|
941
|
+
}
|
966
942
|
}
|
967
943
|
]
|
968
944
|
}
|
969
|
-
}
|
970
|
-
|
971
|
-
"uuid": "6AF21ADF-316A-47D1-A8B6-1BB38637DE9A"
|
972
|
-
}
|
945
|
+
}
|
946
|
+
}
|