Class orion.editor.TextMateStyler
Extends
orion.editor.AbstractStyler.
A styler that knows how to apply a subset of the TextMate grammar format to style a line.
Styling from a grammar:
Each scope name given in the grammar is converted to an array of CSS class names. For example
a region of text with scope keyword.control.php
will be assigned the CSS classes
keyword, keyword-control, keyword-control-php
A CSS file can give rules matching any of these class names to provide generic or more specific styling. For example,
.keyword { font-color: blue; }
colors all keywords blue, while
.keyword-control-php { font-weight: bold; }
bolds only PHP control keywords.
This is useful when using grammars that adhere to TextMate's scope name conventions, as a single CSS rule can provide consistent styling to similar constructs across different languages.
Top-level grammar constructs:
patterns, repository
(with limitations, see "Other Features") are supported.scopeName, firstLineMatch, foldingStartMarker, foldingStopMarker
are not supported.fileTypes
is not supported. When using the Orion service registry, the "orion.edit.highlighter" service serves a similar purpose.
Regular expression constructs:
match
patterns are supported.begin .. end
patterns are supported.- The "extended" regex forms
(?x)
and(?x:...)
are supported, but only when they apply to the entire regex pattern. - Matching is done using native JavaScript
RegExp
s. As a result, many features of the Oniguruma regex engine used by TextMate are not supported. Unsupported features include:- Named captures
- Setting flags inside subgroups (eg.
(?i:a)b
) - Lookbehind and negative lookbehind
- Subexpression call
- etc.
Scope-assignment constructs:
captures, beginCaptures, endCaptures
are supported.name
andcontentName
are supported.
Other features:
applyEndPatternLast
is supported.include
is supported, but only when it references a rule in the current grammar'srepository
. Including$self
,$base
, orrule.from.another.grammar
is not supported.
Defined in: </shared/eclipse/e4/orion/I201404012230/bundles/org.eclipse.orion.client.editor/web/orion/editor/textMateStyler.js>.
Constructor Attributes | Constructor Name and Description |
---|---|
orion.editor.TextMateStyler(textView, grammar, externalGrammars)
Creates a new TextMateStyler.
|
Method Attributes | Method Name and Description |
---|---|
destroy()
|
|
initialize(textView)
|
|
onDestroy(e)
|
|
onLineStyle(e)
|
|
- Parameters:
- {orion.editor.TextView} textView
- The
TextView
to provide styling for. - {Object} grammar
- The TextMate grammar to use for styling the
TextView
, as a JavaScript object. You can produce this object by running a PList-to-JavaScript conversion tool on a TextMate.tmLanguage
file. - {Object[]} externalGrammars Optional
- Additional grammar objects that will be used to resolve named rule references.
- Parameters:
- textView
- Parameters:
- {eclipse.DestroyEvent} e
- Parameters:
- {eclipse.LineStyleEvent} e
- Parameters:
- {eclipse.ModelChangedEvent} e