User:L10nM4st3r/wToolCore/editor/wikitextAutocomplete.js
Appearance
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
// <nowiki>
var autocompletions = {
"__TOC__": {meta: "magic words"},
"__NOTOC__": {meta: "magic words"},
"__FORCETOC__": {meta: "magic words"},
"__NOEDITSECTION__": {meta: "magic words"},
"__NEWSECTIONLINK__": {meta: "magic words"},
"__NONEWSECTIONLINK__": {meta: "magic words"},
"__NOGALLERY__": {meta: "magic words"},
"__HIDDENCAT__": {meta: "magic words"},
"__EXPECTUNUSEDCATEGORY__": {meta: "magic words"},
"__NOCONTENTCONVERT__": {meta: "magic words"},
"__NOCC__": {meta: "magic words"},
"__NOTITLECONVERT__": {meta: "magic words"},
"__NOTC__": {meta: "magic words"},
"__INDEX__": {meta: "magic words"},
"__NOINDEX__": {meta: "magic words"},
"__STATICREDIRECT__": {meta: "magic words"},
"__EXPECTUNUSEDTEMPLATE__": {meta: "magic words"},
"__NOTITLECONVERT__": {meta: "magic words"},
"<hr>": {meta: "style tag"},
"<br/>": {meta: "style tag"},
"<strong>": {insert: "<strong>$cursor</strong>", meta: "style tag"},
"<span>": {insert: "<span style=\"\">$cursor</span>", meta: "style tag"},
"<div>": {insert: "<div style=\"\">$cursor</div>", meta: "style tag"},
"<nowiki\>": {insert: "<nowiki\>$cursor</nowiki\>", meta: "parser tag"},
"<nowiki\/>": {meta: "parser tag"},
"<noinclude\>": {insert: "<noinclude\>$cursor</noinclude\>", meta: "parser tag"},
"<noinclude\/>": {meta: "parser tag"},
"<onlyinclude\>": {insert: "<onlyinclude\>$cursor</onlyinclude\>", meta: "parser tag"},
"<onlyinclude\/>": {meta: "parser tag"},
"<includeonly\>": {insert: "<includeonly\>$cursor</includeonly\>", meta: "parser tag"},
"<includeonly\/>": {meta: "parser tag"},
"{{SITENAME}}": {meta: "variable"},
"{{SERVER}}": {meta: "variable"},
"{{SERVERNAME}}": {meta: "variable"},
"{{DIRECTIONMARK}}": {meta: "variable"},
"{{ARTICLEPATH}}": {meta: "variable"},
"{{SCRIPTPATH}}": {meta: "variable"},
"{{STYLEPATH}}": {meta: "variable"},
"{{CURRENTVERSION}}": {meta: "variable"},
"{{CONTENTLANG}}": {meta: "variable"},
"{{PAGEID}}": {meta: "variable"},
"{{PAGELANGUAGE}}": {meta: "variable"},
"{{TRANSLATABLEPAGE}}": {insert: "{{TRANSLATABLEPAGE}}", meta: "variable"},
"{{PROTECTIONLEVEL}}": {insert: "{{PROTECTIONLEVEL: <move/edit> }}", meta: "variable"},
"{{PROTECTIONEXPIRY}}": {insert: "{{PROTECTIONEXPIRY: <move/edit> }}", meta: "variable"},
"{{REVISIONID}}": {meta: "variable"},
"{{REVISIONDAY}} (unpadded)": {insert: "{{REVISIONDAY}}", meta: "variable"},
"{{REVISIONDAY2}} (padded)": {insert: "{{REVISIONDAY2}}", meta: "variable"},
"{{REVISIONMONTH}} (padded)": {insert: "{{REVISIONMONTH}}", meta: "variable"},
"{{REVISIONMONTH1}} (unpadded)": {insert: "{{REVISIONMONTH1}}", meta: "variable"},
"{{REVISIONYEAR}}": {insert: "{{REVISIONYEAR}}", meta: "variable"},
"{{REVISIONTIMESTAMP}}": {insert: "{{REVISIONTIMESTAMP}}", meta: "variable"},
"{{REVISIONUSER}}": {insert: "{{REVISIONUSER}}", meta: "variable"},
"{{REVISIONSIZE}}": {insert: "{{REVISIONSIZE}}", meta: "variable"},
"{{DISPLAYTITLE}}": {insert: "{{DISPLAYTITLE: $cursor }}", meta: "variable"},
"{{DEFAULTSORT}} (category sort)": {insert: "{{DEFAULTSORT: $cursor }}", meta: "variable"},
"{{USERLANGUAGE}}": {meta: "variable"},
"{{NUMBEROFPAGES}}": {meta: "variable"},
"{{NUMBEROFARTICLES}}": {meta: "variable"},
"{{NUMBEROFFILES}}": {meta: "variable"},
"{{NUMBEROFEDITS}}": {meta: "variable"},
"{{NUMBEROFUSERS}}": {meta: "variable"},
"{{NUMBEROFADMINS}}": {meta: "variable"},
"{{NUMBEROFACTIVEUSERS}}": {meta: "variable"},
"{{PAGESINCAT}}": {insert: "{{PAGESINCAT: <cat>$cursor }}", meta: "variable"},
"{{PAGESINCAT}} (parameter)": {insert: "{{PAGESINCAT: <cat>$cursor | <all / pages / subcats / files> }}", meta: "variable"},
"{{NUMINGROUP}}": {insert: "{{NUMINGROUP: <user group>$cursor }}", meta: "variable"},
"{{FULLPAGENAME}}": {meta: "variable"},
"{{PAGENAME}}": {meta: "variable"},
"{{BASEPAGENAME}}": {meta: "variable"},
"{{ROOTPAGENAME}}": {meta: "variable"},
"{{SUBPAGENAME}}": {meta: "variable"},
"{{ARTICLEPAGENAME}}": {meta: "variable"},
"{{TALKPAGENAME}}": {meta: "variable"},
"{{NAMESPACE}}": {meta: "variable"},
"{{NAMESPACENUMBER}}": {meta: "variable"},
"{{ARTICLESPACE}}": {meta: "variable"},
"{{TALKSPACE}}": {meta: "variable"},
"{{!}}": {meta: "character escape"},
"{{=}}": {meta: "character escape"},
"{{fullurl:}}": {insert: "{{fullurl: $cursor }}", meta: "parser function"},
"{{fullurl:}} (with query)": {insert: "{{fullurl: $cursor | <query> }}", meta: "parser function"},
"{{localurl:}}": {insert: "{{localurl: $cursor }}", meta: "parser function"},
"{{localurl:}} (with query)": {insert: "{{localurl: $cursor | <query> }}", meta: "parser function"},
"{{canonicalurl:}}": {insert: "{{canonicalurl: $cursor }}", meta: "parser function"},
"{{canonicalurl:}} (with query)": {insert: "{{canonicalurl: $cursor | <query> }}", meta: "parser function"},
"{{filepath:}}": {insert: "{{filepath: $cursor }}", meta: "parser function"},
"{{anchorencode:}}": {insert: "{{anchorencode: $cursor }}", meta: "parser function"},
"{{dateformat:}}": {insert: "{{dateformat: $cursor }}", meta: "parser function"},
"{{formatdate:}}": {insert: "{{formatdate: $cursor }}", meta: "parser function"},
"{{bidi:}}": {insert: "{{bidi: $cursor }}", meta: "parser function"},
"{{PLURAL:}}": {insert: "{{PLURAL: $cursor }}", meta: "parser function"},
"{{GENDER:}}": {insert: "{{GENDER: <username>$cursor | <he> | <she> | <unspecified> }}", meta: "parser function"},
"{{int:}}": {insert: "{{int: $cursor }}", meta: "parser function"},
"{{#interwikilink:}}": {insert: "{{#interwikilink: $cursor }}", meta: "parser function"},
"{{#interlanguagelink:}}": {insert: "{{#interlanguagelink: $cursor }}", meta: "parser function"},
"{{#special:}}": {insert: "{{#special: $cursor }}", meta: "parser function"},
"{{#speciale:}}": {insert: "{{#speciale: $cursor }}", meta: "parser function"},
"{{#tag:}}": {insert: "{{#tag:<tagname>\n$indent | content\n$indent | attribute1 = value1\n$indent | attribute2 = value2\n$indent}}", meta: "parser function"},
"{{ns:}} (id to name)": {insert: "{{ns: <namespace id>$cursor }}", meta: "parser function"},
"{{CURRENTYEAR}}": {meta: "variable"},
"{{CURRENTMONTH}} (padded)": {insert: "{{CURRENTMONTH}}", meta: "variable"},
"{{CURRENTMONTH1}} (unpadded)": {insert: "{{CURRENTMONTH1}}", meta: "variable"},
"{{CURRENTMONTHNAME}}": {meta: "variable"},
"{{CURRENTMONTHNAMEGEN}}": {meta: "variable"},
"{{CURRENTMONTHABBREV}}": {meta: "variable"},
"{{CURRENTDAY}} (unpadded)": {insert: "{{CURRENTDAY}}", meta: "variable"},
"{{CURRENTDAY2}} (padded)": {insert: "{{CURRENTDAY2}}", meta: "variable"},
"{{CURRENTDOW}} (day of week)": {insert: "{{CURRENTDOW}}", meta: "variable"},
"{{CURRENTDAYNAME}}": {meta: "variable"},
"{{CURRENTTIME}}": {meta: "variable"},
"{{CURRENTHOUR}}": {meta: "variable"},
"{{CURRENTWEEK}}": {meta: "variable"},
"{{CURRENTTIMESTAMP}}": {meta: "variable"},
"{{LOCALYEAR}}": {meta: "variable"},
"{{LOCALMONTH}} (padding)": {insert: "{{LOCALMONTH}}", meta: "variable"},
"{{LOCALMONTH1}} (unpadded)": {insert: "{{LOCALMONTH1}}", meta: "variable"},
"{{LOCALMONTHNAME}}": {meta: "variable"},
"{{LOCALMONTHNAMEGEN}}": {meta: "variable"},
"{{LOCALMONTHABBREV}}": {meta: "variable"},
"{{LOCALDAY}} (unpadded)": {insert: "{{LOCALDAY}}", meta: "variable"},
"{{LOCALDAY2}} (padded)": {insert: "{{LOCALDAY2}}", meta: "variable"},
"{{LOCALDOW}} (day of week)": {insert: "{{LOCALDOW}}", meta: "variable"},
"{{LOCALDAYNAME}}": {meta: "variable"},
"{{LOCALTIME}}": {meta: "variable"},
"{{LOCALHOUR}}": {meta: "variable"},
"{{LOCALWEEK}}": {meta: "variable"},
"{{LOCALTIMESTAMP}}": {meta: "variable"},
"{{#if:}}": {insert: "{{#if: $cursor\n$indent | \n$indent | \n$indent}}", meta: "parser function"},
"{{#ifeq:}}": {insert: "{{#ifeq: $cursor\n$indent | \n$indent | \n$indent | \n$indent}}", meta: "parser function"},
"{{#switch:}}": {insert: "{{#switch: $cursor\n$indent | val1 = \n$indent | val2 = \n$indent | #default = \n$indent}}", meta: "parser function"},
"{{#ifexpr:}}": {insert: "{{#ifexpr: {{#expr: $cursor}}\n$indent | \n$indent | \n$indent}}", meta: "parser function"},
"{{#iferr:}}": {insert: "{{#iferr: {{#expr: $cursor}}\n$indent | \n$indent | \n$indent}}", meta: "parser function"},
"{{#ifexist:}}": {insert: "{{#ifexist: $cursor\n$indent | \n$indent | \n$indent}}", meta: "parser function"},
"{{#rel2abs:}}": {insert: "{{#rel2abs: <../subpage>$cursor | <optional - base> }}", meta: "parser function"},
"{{#time:}}": {insert: "{{#time: d m y$cursor }}", meta: "parser function"},
"{{#timel:}}": {insert: "{{#timel: d m y$cursor }}", meta: "parser function"},
"{{#timef:}}": {insert: "{{#timef: <now/+1 hour> | date$cursor }}", meta: "parser function"},
"{{#timefl:}}": {insert: "{{#timefl: <now/+1 hour> | date$cursor }}", meta: "parser function"},
"{{#titleparts:}}": {insert: "{{#titleparts: <Page/Subpage/Sub-subpage> | 2$cursor }}", meta: "parser function"},
"{{#language:}} (short to long)": {insert: "{{#language: $cursor }}", meta: "parser function"},
"{{PAGESINCAT:}}": {insert: "{{PAGESINCAT: <Category name>$cursor }}", meta: "parser function"},
"{{PAGESINCAT:{{PAGENAME}}}}": {insert: "{{PAGESINCAT: {{#titleparts: {{PAGENAME}} }} }}", meta: "snippet"},
"{{lc:}}": {insert: "{{lc: $cursor }}", meta: "parser function"},
"{{lcfirst:}}": {insert: "{{lcfirst: $cursor }}", meta: "parser function"},
"{{uc:}}": {insert: "{{uc: $cursor }}", meta: "parser function"},
"{{ucfirst:}}": {insert: "{{ucfirst: $cursor }}", meta: "parser function"},
"{{urlencode:}}": {insert: "{{urlencode: $cursor }}", meta: "parser function"},
"{{anchorencode:}}": {insert: "{{anchorencode: $cursor }}", meta: "parser function"},
"{{padleft:}}": {insert: "{{padleft: <text>$cursor | 5 | <padding> }}", meta: "parser function"},
"{{padright:}}": {insert: "{{padright: <text>$cursor | 5 | <padding> }}", meta: "parser function"},
"{{formatnum:}}": {insert: "{{formatnum: <num>$cursor }}", meta: "parser function"},
"#REDIRECT": {insert: "#REDIRECT [[$cursor]]", meta: "keyword"},
};
var weditorPrefixRegex = /[\#\{\[a-zA-Z_0-9\.\$\-\u00A2-\uFFFF]/;