This helper method makes it easy to modify existing grammars. For example, the markup language definition
defines highlighting for CSS embedded in HTML through <style> elements. To do this, it needs to modify
languages.markup and add the appropriate tokens. However, languages.markup is a regular JavaScript
object literal, so if you do this:
markup.style = { // token };
then the style token will be added (and processed) at the end. insertBefore allows you to insert tokens
before existing tokens. For the markup example above, you would use it like this:
Inserts tokens before another token in the given grammar.
Usage
This helper method makes it easy to modify existing grammars. For example, the markup language definition defines highlighting for CSS embedded in HTML through
<style>
elements. To do this, it needs to modifylanguages.markup
and add the appropriate tokens. However,languages.markup
is a regular JavaScript object literal, so if you do this:then the
style
token will be added (and processed) at the end.insertBefore
allows you to insert tokens before existing tokens. For the markup example above, you would use it like this:Special cases
If the grammars of
grammar
andinsert
have tokens with the same name, the tokens ingrammar
's grammar will be ignored.This behavior can be used to insert tokens after
before
: