aboutsummaryrefslogtreecommitdiff
path: root/atom/packages/vim-surround/lib/command/selector.coffee
diff options
context:
space:
mode:
Diffstat (limited to 'atom/packages/vim-surround/lib/command/selector.coffee')
-rw-r--r--atom/packages/vim-surround/lib/command/selector.coffee22
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