aboutsummaryrefslogtreecommitdiff
path: root/atom/packages/vim-surround/lib/command/selector.coffee
blob: aae35412a5590b18dbb710c459b1cb8a2fde75ea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
vimModePath = atom.packages.resolvePackagePath('vim-mode')
{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