Return scopes arrays from deprecated methods

backward compatibility
This commit is contained in:
Ben Ogle
2014-10-21 11:19:58 -07:00
parent 14c8e9cedc
commit 137eeab4cf
4 changed files with 21 additions and 17 deletions

View File

@@ -221,7 +221,7 @@ class Cursor extends Model
@editor.scopeDescriptorForBufferPosition(@getBufferPosition())
getScopes: ->
Grim.deprecate 'Use Cursor::getScopeDescriptor() instead'
@getScopeDescriptor()
@getScopeDescriptor().getScopesArray()
# Public: Returns true if this cursor has no non-whitespace characters before
# its current position.

View File

@@ -16,11 +16,11 @@
# for more information.
module.exports =
class ScopeDescriptor
@fromObject: (descriptor) ->
if descriptor instanceof ScopeDescriptor
descriptor
@fromObject: (scopes) ->
if scopes instanceof ScopeDescriptor
scopes
else
new ScopeDescriptor({descriptor})
new ScopeDescriptor({scopes})
###
Section: Construction and Destruction
@@ -29,11 +29,14 @@ class ScopeDescriptor
# Public: Create a {ScopeDescriptor} object.
#
# * `object` {Object}
# * `descriptor` {Array} of {String}s
constructor: ({@descriptor}) ->
# * `scopes` {Array} of {String}s
constructor: ({@scopes}) ->
# Public: Returns an {Array} of {String}s
getScopesArray: -> @scopes
getScopeChain: ->
@descriptor
@scopes
.map (scope) ->
scope = ".#{scope}" unless scope[0] is '.'
scope

View File

@@ -2386,10 +2386,11 @@ class TextEditor extends Model
# * `bufferPosition` A {Point} or {Array} of [row, column].
#
# Returns a {ScopeDescriptor}.
scopeDescriptorForBufferPosition: (bufferPosition) -> @displayBuffer.scopeDescriptorForBufferPosition(bufferPosition)
scopeDescriptorForBufferPosition: (bufferPosition) ->
@displayBuffer.scopeDescriptorForBufferPosition(bufferPosition)
scopesForBufferPosition: (bufferPosition) ->
deprecate 'Use ::scopeDescriptorForBufferPosition instead'
@scopeDescriptorForBufferPosition(bufferPosition)
deprecate 'Use ::scopeDescriptorForBufferPosition instead. The return value has changed! It now returns a `ScopeDescriptor`'
@scopeDescriptorForBufferPosition(bufferPosition).getScopesArray()
# Extended: Get the range in buffer coordinates of all tokens surrounding the
# cursor that match the given scope selector.
@@ -2417,11 +2418,11 @@ class TextEditor extends Model
tokenForBufferPosition: (bufferPosition) -> @displayBuffer.tokenForBufferPosition(bufferPosition)
scopesAtCursor: ->
deprecate 'Use editor.getLastCursor().scopesAtCursor() instead'
@getLastCursor().getScopeDescriptor()
deprecate 'Use editor.getLastCursor().getScopeDescriptor() instead'
@getLastCursor().getScopeDescriptor().getScopesArray()
getCursorScopes: ->
deprecate 'Use editor.getLastCursor().scopesAtCursor() instead'
@scopesAtCursor()
deprecate 'Use editor.getLastCursor().getScopeDescriptor() instead'
@scopesAtCursor().getScopesArray()
###
Section: Clipboard Operations

View File

@@ -80,7 +80,7 @@ class TokenizedBuffer extends Model
return if grammar is @grammar
@unsubscribe(@grammar) if @grammar
@grammar = grammar
@rootScopeDescriptor = new ScopeDescriptor(descriptor: [@grammar.scopeName])
@rootScopeDescriptor = new ScopeDescriptor(scopes: [@grammar.scopeName])
@currentGrammarScore = score ? grammar.getScore(@buffer.getPath(), @buffer.getText())
@subscribe @grammar.onDidUpdate => @retokenizeLines()
@@ -304,7 +304,7 @@ class TokenizedBuffer extends Model
0
scopeDescriptorForPosition: (position) ->
new ScopeDescriptor(descriptor: @tokenForPosition(position).scopeDescriptor)
new ScopeDescriptor(scopes: @tokenForPosition(position).scopeDescriptor)
tokenForPosition: (position) ->
{row, column} = Point.fromObject(position)