Class Index | File Index

## Classes

- _global_
- Boolean
- Date
- eclipse.sites
- eclipse.sites.SiteRenderer
- eclipse.sites.SiteTreeModel
- Object
- orion
- orion.breadcrumbs.BreadCrumbs
- orion.commands.Command
- orion.commands.CommandService
- orion.compare.DiffProvider
- orion.compare.rulers.CompareOverviewRuler
- orion.compare.rulers.CompareRuler
- orion.compare.rulers.LineNumberCompareRuler
- orion.compareUtils
- orion.contentAssist.CssContentAssistProvider
- orion.dialogs.DialogService
- orion.editor.AbstractStyler
- orion.editor.ContentAssist
- orion.editor.Editor
- orion.editor.HtmlGrammar
- orion.editor.JavaScriptContentAssistProvider
- orion.editor.TextMateStyler
- orion.editor.util
- orion.explorer-table.FileExplorer
- orion.explorer.Explorer
- orion.explorer.ExplorerFlatModel
- orion.explorer.ExplorerModel
- orion.explorer.SelectionRenderer
- orion.favorites.Favorites
- orion.favorites.FavoritesService
- orion.fileClient.FileClient
- orion.fileCommands
- orion.git.GitClonesExplorer
- orion.git.GitClonesModel
- orion.git.GitCommitNavigator
- orion.git.GitService
- orion.globalCommands
- orion.links.TextLinkService
- orion.log.LogService
- orion.outliner.Outliner
- orion.outliner.OutlineService
- orion.pluginregistry.Plugin
- orion.pluginregistry.PluginRegistry
- orion.preferences.Preferences
- orion.preferences.PreferencesService
- orion.problems.ProblemService
- orion.profile.usersClient.UsersClient
- orion.searchClient.Searcher
- orion.searchResults.SearchResultsGenerator
- orion.selection.Selection
- orion.serviceregistry.EventTarget
- orion.serviceregistry.Service
- orion.serviceregistry.ServiceReference
- orion.serviceregistry.ServiceRegistration
- orion.serviceregistry.ServiceRegistry
- orion.siteService.SiteConfiguration
- orion.siteService.SiteService
- orion.status.StatusReportingService
- orion.textview
- orion.textview.Annotation
- orion.textview.AnnotationIterator
- orion.textview.AnnotationModel
- orion.textview.AnnotationRuler
- orion.textview.ContextMenuEvent
- orion.textview.DestroyEvent
- orion.textview.FoldingAnnotation
- orion.textview.KeyBinding
- orion.textview.LineNumberRuler
- orion.textview.LineStyleEvent
- orion.textview.ModelChangedEvent
- orion.textview.ModelChangingEvent
- orion.textview.ModifyEvent
- orion.textview.OverviewRuler
- orion.textview.Projection
- orion.textview.ProjectionTextModel
- orion.textview.Ruler
- orion.textview.ScrollEvent
- orion.textview.Selection
- orion.textview.SelectionEvent
- orion.textview.Style
- orion.textview.StyleRange
- orion.textview.TextModel
- orion.textview.TextView
- orion.textview.UndoStack
- orion.textview.VerifyEvent
- orion.treetable.TableTree
- orion.util
- orion.widgets.DirectoryTreeModel
- orion.widgets.OpenResourceDialog
- orion.widgets.SiteEditor
- String

# 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` and `contentName` are supported.

#### Other features:

- `applyEndPatternLast` is supported.
- `include` is supported, but only when it references a rule in the current grammar's `repository`. Including `$self`, `$base`, or `rule.from.another.grammar` is not supported.

Defined in: </shared/eclipse/e4/orion/I201110211442/plugins/org.eclipse.orion.client.editor/web/orion/editor/textMateStyler.js>.

Class Summary
Constructor Attributes | Constructor Name and Description
--- | ---
| orion.editor.TextMateStyler(textView, grammar, externalGrammars) Creates a new TextMateStyler.

Methods borrowed from class orion.editor.AbstractStyler:
  _onDestroy, _onLineStyle, _onModelChanged, _onSelection, destroy, initialize

Class Detail
orion.editor.TextMateStyler(textView, grammar, externalGrammars)
Creates a new TextMateStyler.

Parameters:
{orion.textview.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.

Documentation generated by JsDoc Toolkit 2.4.0 on Fri Oct 21 2011 14:44:12 GMT-0400 (EDT)