aboutsummaryrefslogtreecommitdiff
path: root/atom/packages/vim-surround/lib/command/selector.coffee
blob: bcb3c156fe5e96962864b52d84d77fc9c308bb27 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
vimModePath = atom.packages.resolvePackagePath('vim-mode') or
              atom.packages.resolvePackagePath('vim-mode-next')

{SelectInsideQuotes, SelectInsideBrackets} = require "#{vimModePath}/lib/text-objects"

module.exports = class Selector
  constructor: (@editor, left, right) ->
    @left = left.trim()
    @right = right.trim()

  inside: ->
    if @isBraket()
      new SelectInsideBrackets(@editor, @left, @right, false)
    else
      new SelectInsideQuotes(@editor, @left, false)

  outside: ->
    if @isBraket()
      new SelectInsideBrackets(@editor, @left, @right, true)
    else
      new SelectInsideQuotes(@editor, @left, true)

  isBraket: ->
    ['[', ']', '{', '}', '<', '>', '(', ')'].indexOf?(@left.trim()) >= 0