diff options
Diffstat (limited to 'atom/packages/vim-surround/lib/command/selector.coffee')
| -rw-r--r-- | atom/packages/vim-surround/lib/command/selector.coffee | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/atom/packages/vim-surround/lib/command/selector.coffee b/atom/packages/vim-surround/lib/command/selector.coffee new file mode 100644 index 0000000..aae3541 --- /dev/null +++ b/atom/packages/vim-surround/lib/command/selector.coffee @@ -0,0 +1,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 |