aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarian Schubert <maio@netsafe.cz>2013-02-08 13:11:21 +0000
committerMarian Schubert <maio@netsafe.cz>2013-02-08 13:11:21 +0000
commit0c5b67d3a1beaaebaf7142f0085de41398890cde (patch)
treef59eb56ce8ad48104473241c8dd6dab90cb54841
parent96523d8a4d82605d6eddae7995ddb954c5d65d8f (diff)
Support the symbol text object
-rw-r--r--evil-commands.el10
-rw-r--r--evil-maps.el2
2 files changed, 12 insertions, 0 deletions
diff --git a/evil-commands.el b/evil-commands.el
index 6026152..23c2b76 100644
--- a/evil-commands.el
+++ b/evil-commands.el
@@ -1059,6 +1059,16 @@ or line COUNT to the top of the window."
:extend-selection nil
(evil-xml-range count beg end type t))
+(evil-define-text-object evil-a-symbol (count &optional beg end type)
+ "Select a symbol."
+ (require 'thingatpt)
+ (evil-an-object-range count beg end type #'forward-symbol))
+
+(evil-define-text-object evil-inner-symbol (count &optional beg end type)
+ "Select inner symbol."
+ (require 'thingatpt)
+ (evil-inner-object-range count beg end type #'forward-symbol))
+
;;; Operator commands
(evil-define-operator evil-yank (beg end type register yank-handler)
diff --git a/evil-maps.el b/evil-maps.el
index d905a72..d2a9e75 100644
--- a/evil-maps.el
+++ b/evil-maps.el
@@ -284,6 +284,7 @@
(define-key evil-outer-text-objects-map "\"" 'evil-a-double-quote)
(define-key evil-outer-text-objects-map "`" 'evil-a-back-quote)
(define-key evil-outer-text-objects-map "t" 'evil-a-tag)
+(define-key evil-outer-text-objects-map "o" 'evil-a-symbol)
(define-key evil-inner-text-objects-map "w" 'evil-inner-word)
(define-key evil-inner-text-objects-map "W" 'evil-inner-WORD)
(define-key evil-inner-text-objects-map "s" 'evil-inner-sentence)
@@ -302,6 +303,7 @@
(define-key evil-inner-text-objects-map "\"" 'evil-inner-double-quote)
(define-key evil-inner-text-objects-map "`" 'evil-inner-back-quote)
(define-key evil-inner-text-objects-map "t" 'evil-inner-tag)
+(define-key evil-inner-text-objects-map "o" 'evil-inner-symbol)
(when evil-want-C-i-jump
(define-key evil-motion-state-map (kbd "C-i") 'evil-jump-forward))