Skip to content

Latest commit

 

History

History
92 lines (52 loc) · 2.45 KB

api-reference.md

File metadata and controls

92 lines (52 loc) · 2.45 KB

CodeMirrorGrammar Methods

For node:

CodeMirrorGrammar = require('build/codemirror_grammar.js');

For browser:

<script src="build/codemirror_grammar.js"></script>

Method: clone

cloned_grammar = CodeMirrorGrammar.clone( grammar [, deep=true] );

Clone (deep) a grammar

Utility to clone objects efficiently

Method: extend

extended_grammar = CodeMirrorGrammar.extend( grammar, basegrammar1 [, basegrammar2, ..] );

Extend a grammar with basegrammar1, basegrammar2, etc..

This way arbitrary dialects and variations can be handled more easily

Method: pre_process

pre_processed_grammar = CodeMirrorGrammar.pre_process( grammar );

This is used internally by the CodeMirrorGrammar Class parse method In order to pre-process a JSON grammar (in-place) to transform any shorthand configurations to full object configurations and provide defaults. It also parses PEG/BNF (syntax) notations into full (syntax) configuration objects, so merging with other grammars can be easier, if needed.

Method: parse

parsed_grammar = CodeMirrorGrammar.parse( grammar );

This is used internally by the CodeMirrorGrammar Class In order to parse a JSON grammar to a form suitable to be used by the syntax-highlight parser. However user can use this method to cache a parsedgrammar to be used later. Already parsed grammars are NOT re-parsed when passed through the parse method again

Method: getMode

mode = CodeMirrorGrammar.getMode( grammar [, DEFAULT, CodeMirror] );

This is the main method which transforms a JSON grammar into a CodeMirror syntax-highlight parser. DEFAULT is the default return value (null by default) for things that are skipped or not styled In general there is no need to set this value, unless you need to return something else The CodeMirror reference can also be passed as parameter, for example, if CodeMirror is not already available when the add-on is first loaded (e.g via an async callback)

Parser Class: Parser

Parser = CodeMirrorGrammar.Parser;

The Parser Class used to instantiate a highlight parser, is available. The getMode method will instantiate this parser class, which can be overriden/extended if needed, as needed. In general there is no need to override/extend the parser, unless you definately need to.