summaryrefslogtreecommitdiff
path: root/misc/ruby-electric.el
diff options
context:
space:
mode:
Diffstat (limited to 'misc/ruby-electric.el')
-rw-r--r--misc/ruby-electric.el21
1 files changed, 14 insertions, 7 deletions
diff --git a/misc/ruby-electric.el b/misc/ruby-electric.el
index e6fb90d626..2d84954a77 100644
--- a/misc/ruby-electric.el
+++ b/misc/ruby-electric.el
@@ -10,7 +10,7 @@
;; URL: https://github.com/knu/ruby-electric.el
;; Keywords: languages ruby
;; License: The same license terms as Ruby
-;; Version: 2.2.1
+;; Version: 2.2.2
;;; Commentary:
;;
@@ -161,11 +161,6 @@ cons, ACTION can be set to one of the following values:
"$"))))
:group 'ruby-electric)
-(defcustom ruby-electric-simple-keywords-re nil
- "Obsolete and ignored. Customize `ruby-electric-keywords-alist'
-instead."
- :type 'regexp :group 'ruby-electric)
-
(defvar ruby-electric-mode-map
(let ((map (make-sparse-keymap)))
(define-key map " " 'ruby-electric-space/return)
@@ -274,7 +269,7 @@ enabled."
(ruby-indent-line)
(save-excursion
(newline)
- (ruby-insert-end)))
+ (ruby-electric-end)))
((eq action 'reindent)
(ruby-indent-line)))
(ruby-electric-space/return-fallback)))
@@ -542,6 +537,18 @@ enabled."
(delete-char 1))))
(delete-char (- arg)))
+(put 'ruby-electric-delete-backward-char 'delete-selection 'supersede)
+
+(defun ruby-electric-end ()
+ (interactive)
+ (if (eq (char-syntax (preceding-char)) ?w)
+ (insert " "))
+ (insert "end")
+ (save-excursion
+ (if (eq (char-syntax (following-char)) ?w)
+ (insert " "))
+ (ruby-indent-line t)))
+
(provide 'ruby-electric)
;;; ruby-electric.el ends here