• Packages
  • Themes
  • Documentation
  • Blog
  • Discuss
Sign in
Whoops, there was an error
v1.34.0
v1.33.1
v1.33.0
v1.32.2
v1.32.1
v1.32.0
v1.31.2
v1.31.1
v1.31.0
v1.30.0
v1.29.0
v1.28.2
v1.28.1
v1.28.0
untagged-688de6479cca05b51c00
untagged-2abd5a23b4430027c837
v1.27.2
v1.27.1
v1.27.0
v1.26.1
v1.26.0
v1.25.1
v1.25.0
v1.24.1
v1.24.0
v1.23.3
v1.23.2
v1.23.1
v1.23.0
v1.22.1
v1.22.0
v1.21.2
v1.21.1
v1.21.0
v1.20.1
v1.20.0
v1.19.7
v1.19.6
v1.19.5
v1.19.4
v1.19.3
v1.19.2
v1.19.1
v1.19.0
v1.18.0
v1.17.2
v1.17.1
v1.17.0
v1.16.0
v1.15.0
v1.14.4
v1.14.3
v1.14.2
v1.14.1
v1.14.0
v1.13.1
v1.13.0
v1.12.9
v1.12.8
v1.12.7
v1.12.6
v1.12.5
v1.12.4
v1.12.3
v1.12.2
v1.12.1
v1.12.0
v1.11.2
v1.11.1
v1.11.0
v1.10.2
v1.10.1
v1.10.0
v1.9.9
v1.9.8
v1.9.7
v1.9.6
v1.9.5
v1.9.4
v1.9.3
v1.9.2
v1.9.1
v1.9.0
v1.8.0
v1.7.4
v1.7.3
v1.7.2
v1.7.1
v1.7.0
v1.6.2
v1.6.1
v1.6.0
v1.5.4
v1.5.3
v1.5.2
v1.5.1
v1.5.0
v1.4.3
v1.4.2
v1.4.1
v1.4.0
v1.3.3
v1.3.2
v1.3.1
v1.3.0
v1.2.4
v1.2.3
v1.2.2
v1.2.1
v1.2.0
v1.1.0
v1.0.19
v1.0.18
v1.0.17
v1.0.16
v1.0.15
v1.0.14
v1.0.13
v1.0.12
v1.0.11
v1.0.10
v1.0.9
v1.0.8
v1.0.7
v1.0.6
v1.0.5
v1.0.4
v1.0.3
v1.0.2
v1.0.1
v1.0.0
v0.211.0
v0.210.0
v0.209.0
v0.208.0
v0.207.0
v0.206.0
v0.205.0
v0.204.0
v0.203.0
v0.202.0
v0.201.0
v0.200.0
v0.199.0
v0.198.0
v0.197.0
v0.196.0
v0.195.0
v0.194.0
v0.193.0
v0.192.0
v0.191.0
v0.190.0
v0.189.0
v0.188.0
v0.187.0
Loading…

Essential Classes

  • AtomEnvironment
  • Color
  • CommandRegistry
  • CompositeDisposable
  • Config
  • Decoration
  • DisplayMarker
  • DisplayMarkerLayer
  • Disposable
  • Emitter
  • LayerDecoration
  • MarkerLayer
  • Notification
  • NotificationManager
  • Point
  • Range
  • TextEditor
  • TooltipManager
  • ViewRegistry
  • Workspace
  • WorkspaceCenter

Extended Classes

  • BufferedNodeProcess
  • BufferedProcess
  • Clipboard
  • ContextMenuManager
  • Cursor
  • DeserializerManager
  • Directory
  • Dock
  • File
  • GitRepository
  • Grammar
  • GrammarRegistry
  • Gutter
  • HistoryManager
  • KeymapManager
  • MenuManager
  • Package
  • PackageManager
  • Pane
  • Panel
  • PathWatcher
  • Project
  • ScopeDescriptor
  • Selection
  • StyleManager
  • Task
  • TextBuffer
  • ThemeManager

DisplayMarkerLayer essential

Experimental: A container for a related set of markers at the DisplayLayer level. Wraps an underlying MarkerLayer on the TextBuffer.

This API is experimental and subject to change on any release.

Lifecycle

::destroy()

Destroy this layer.

::clear()

Destroy all markers in this layer.

::isDestroyed()

Determine whether this layer has been destroyed.

Return values

Returns a Boolean.

Event Subscription

::onDidDestroy()

Subscribe to be notified synchronously when this layer is destroyed.

Return values

Returns a Disposable.

::onDidUpdate(callback)

Subscribe to be notified asynchronously whenever markers are created, updated, or destroyed on this layer. Prefer this method for optimal performance when interacting with layers that could contain large numbers of markers.

Subscribers are notified once, asynchronously when any number of changes occur in a given tick of the event loop. You should re-query the layer to determine the state of markers in which you're interested in. It may be counter-intuitive, but this is much more efficient than subscribing to events on individual markers, which are expensive to deliver.

Argument Description
callback()

A Function that will be called with no arguments when changes occur on this layer.

Return values

Returns a Disposable.

::onDidCreateMarker(callback)

Subscribe to be notified synchronously whenever markers are created on this layer. Avoid this method for optimal performance when interacting with layers that could contain large numbers of markers.

You should prefer ::onDidUpdate when synchronous notifications aren't absolutely necessary.

Argument Description
callback()

A Function that will be called with a TextEditorMarker whenever a new marker is created.

Return values

Returns a Disposable.

Marker creation

::markScreenRange(range, options)

Create a marker with the given screen range.

Argument Description
range

A Range or range-compatible Array

options

A hash of key-value pairs to associate with the marker. There are also reserved property names that have marker-specific meaning.

reversed optional

Boolean Creates the marker in a reversed orientation. (default: false)

invalidate optional

String Determines the rules by which changes to the buffer invalidate the marker. (default: 'overlap') It can be any of the following strategies, in order of fragility:

  • never: The marker is never marked as invalid. This is a good choice for markers representing selections in an editor.
  • surround: The marker is invalidated by changes that completely surround it.
  • overlap: The marker is invalidated by changes that surround the start or end of the marker. This is the default.
  • inside: The marker is invalidated by changes that extend into the inside of the marker. Changes that end at the marker's start or start at the marker's end do not invalidate the marker.
  • touch: The marker is invalidated by a change that touches the marked region in any way, including changes that end at the marker's start or start at the marker's end. This is the most fragile strategy.
exclusive

Boolean indicating whether insertions at the start or end of the marked range should be interpreted as happening outside the marker. Defaults to false, except when using the inside invalidation strategy or when when the marker has no tail, in which case it defaults to true. Explicitly assigning this option overrides behavior in all circumstances.

clipDirection

String If 'backward', returns the first valid position preceding an invalid position. If 'forward', returns the first valid position following an invalid position. If 'closest', returns the first valid position closest to an invalid position. Defaults to 'closest'. Applies to the start and end of the given range.

Return values

Returns a DisplayMarker.

::markScreenPosition(screenPosition, [options])

Create a marker on this layer with its head at the given screen position and no tail.

Argument Description
screenPosition

A Point or point-compatible Array

options optional

An Object with the following keys:

.invalidate optional

String Determines the rules by which changes to the buffer invalidate the marker. (default: 'overlap') It can be any of the following strategies, in order of fragility:

  • never: The marker is never marked as invalid. This is a good choice for markers representing selections in an editor.
  • surround: The marker is invalidated by changes that completely surround it.
  • overlap: The marker is invalidated by changes that surround the start or end of the marker. This is the default.
  • inside: The marker is invalidated by changes that extend into the inside of the marker. Changes that end at the marker's start or start at the marker's end do not invalidate the marker.
  • touch: The marker is invalidated by a change that touches the marked region in any way, including changes that end at the marker's start or start at the marker's end. This is the most fragile strategy.
.exclusive

Boolean indicating whether insertions at the start or end of the marked range should be interpreted as happening outside the marker. Defaults to false, except when using the inside invalidation strategy or when when the marker has no tail, in which case it defaults to true. Explicitly assigning this option overrides behavior in all circumstances.

.clipDirection

String If 'backward', returns the first valid position preceding an invalid position. If 'forward', returns the first valid position following an invalid position. If 'closest', returns the first valid position closest to an invalid position. Defaults to 'closest'.

Return values

Returns a DisplayMarker.

::markBufferRange(range, options)

Create a marker with the given buffer range.

Argument Description
range

A Range or range-compatible Array

options

A hash of key-value pairs to associate with the marker. There are also reserved property names that have marker-specific meaning.

reversed optional

Boolean Creates the marker in a reversed orientation. (default: false)

invalidate optional

String Determines the rules by which changes to the buffer invalidate the marker. (default: 'overlap') It can be any of the following strategies, in order of fragility:

  • never: The marker is never marked as invalid. This is a good choice for markers representing selections in an editor.
  • surround: The marker is invalidated by changes that completely surround it.
  • overlap: The marker is invalidated by changes that surround the start or end of the marker. This is the default.
  • inside: The marker is invalidated by changes that extend into the inside of the marker. Changes that end at the marker's start or start at the marker's end do not invalidate the marker.
  • touch: The marker is invalidated by a change that touches the marked region in any way, including changes that end at the marker's start or start at the marker's end. This is the most fragile strategy.
exclusive

Boolean indicating whether insertions at the start or end of the marked range should be interpreted as happening outside the marker. Defaults to false, except when using the inside invalidation strategy or when when the marker has no tail, in which case it defaults to true. Explicitly assigning this option overrides behavior in all circumstances.

Return values

Returns a DisplayMarker.

::markBufferPosition(bufferPosition, [options])

Create a marker on this layer with its head at the given buffer position and no tail.

Argument Description
bufferPosition

A Point or point-compatible Array

options optional

An Object with the following keys:

.invalidate optional

String Determines the rules by which changes to the buffer invalidate the marker. (default: 'overlap') It can be any of the following strategies, in order of fragility:

  • never: The marker is never marked as invalid. This is a good choice for markers representing selections in an editor.
  • surround: The marker is invalidated by changes that completely surround it.
  • overlap: The marker is invalidated by changes that surround the start or end of the marker. This is the default.
  • inside: The marker is invalidated by changes that extend into the inside of the marker. Changes that end at the marker's start or start at the marker's end do not invalidate the marker.
  • touch: The marker is invalidated by a change that touches the marked region in any way, including changes that end at the marker's start or start at the marker's end. This is the most fragile strategy.
.exclusive

Boolean indicating whether insertions at the start or end of the marked range should be interpreted as happening outside the marker. Defaults to false, except when using the inside invalidation strategy or when when the marker has no tail, in which case it defaults to true. Explicitly assigning this option overrides behavior in all circumstances.

Return values

Returns a DisplayMarker.

Querying

::getMarker()

Get an existing marker by its id.

Return values

Returns a DisplayMarker.

::getMarkers()

Get all markers in the layer.

Return values

Returns an Array of DisplayMarkers.

::getMarkerCount()

Get the number of markers in the marker layer.

Return values

Returns a Number.

::findMarkers(properties)

Find markers in the layer conforming to the given parameters.

This method finds markers based on the given properties. Markers can be associated with custom properties that will be compared with basic equality. In addition, there are several special properties that will be compared with the range of the markers rather than their properties.

Argument Description
properties

An Object containing properties that each returned marker must satisfy. Markers can be associated with custom properties, which are compared with basic equality. In addition, several reserved properties can be used to filter markers based on their current range:

.startBufferPosition

Only include markers starting at this Point in buffer coordinates.

.endBufferPosition

Only include markers ending at this Point in buffer coordinates.

.startScreenPosition

Only include markers starting at this Point in screen coordinates.

.endScreenPosition

Only include markers ending at this Point in screen coordinates.

.startsInBufferRange

Only include markers starting inside this Range in buffer coordinates.

.endsInBufferRange

Only include markers ending inside this Range in buffer coordinates.

.startsInScreenRange

Only include markers starting inside this Range in screen coordinates.

.endsInScreenRange

Only include markers ending inside this Range in screen coordinates.

.startBufferRow

Only include markers starting at this row in buffer coordinates.

.endBufferRow

Only include markers ending at this row in buffer coordinates.

.startScreenRow

Only include markers starting at this row in screen coordinates.

.endScreenRow

Only include markers ending at this row in screen coordinates.

.intersectsBufferRowRange

Only include markers intersecting this Array of [startRow, endRow] in buffer coordinates.

.intersectsScreenRowRange

Only include markers intersecting this Array of [startRow, endRow] in screen coordinates.

.containsBufferRange

Only include markers containing this Range in buffer coordinates.

.containsBufferPosition

Only include markers containing this Point in buffer coordinates.

.containedInBufferRange

Only include markers contained in this Range in buffer coordinates.

.containedInScreenRange

Only include markers contained in this Range in screen coordinates.

.intersectsBufferRange

Only include markers intersecting this Range in buffer coordinates.

.intersectsScreenRange

Only include markers intersecting this Range in screen coordinates.

Return values

Returns an Array of DisplayMarkers

  • Terms of Use
  • Privacy
  • Code of Conduct
  • Releases
  • FAQ
  • Contact
with by