1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Import ruby-electric.el version 2.2.3 from upstream

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50385 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
knu 2015-04-24 14:52:31 +00:00
parent 347d44ca41
commit 9955bb0130
2 changed files with 29 additions and 9 deletions

View file

@ -1,3 +1,8 @@
Fri Apr 24 23:48:45 2015 Akinori MUSHA <knu@iDaemons.org>
* misc/ruby-electric.el: Import version 2.2.3 from
https://github.com/knu/ruby-electric.el.
Fri Apr 24 10:40:02 2015 NAKAMURA Usaku <usa@ruby-lang.org>
* win32/win32.c (rb_w32_{getc,putc}): removed. they are needed for old

View file

@ -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.2
;; Version: 2.2.3
;;; Commentary:
;;
@ -33,6 +33,9 @@
(require 'ruby-mode)
(eval-when-compile
(require 'cl))
(defgroup ruby-electric nil
"Minor mode providing electric editing commands for ruby files"
:group 'ruby)
@ -279,19 +282,31 @@ enabled."
(t
(ruby-electric-space/return-fallback))))
(defun ruby-electric-code-at-point-p()
(defun ruby-electric--get-faces-at-point ()
(let* ((point (point))
(value (or
(get-text-property point 'read-face-name)
(get-text-property point 'face))))
(if (listp value) value (list value))))
(defun ruby-electric--faces-at-point-include-p (&rest faces)
(and ruby-electric-mode
(let* ((properties (text-properties-at (point))))
(and (null (memq 'font-lock-string-face properties))
(null (memq 'font-lock-comment-face properties))))))
(loop for face in faces
with pfaces = (ruby-electric--get-faces-at-point)
thereis (memq face pfaces))))
(defun ruby-electric-code-at-point-p()
(not (ruby-electric--faces-at-point-include-p
'font-lock-string-face
'font-lock-comment-face)))
(defun ruby-electric-string-at-point-p()
(and ruby-electric-mode
(consp (memq 'font-lock-string-face (text-properties-at (point))))))
(ruby-electric--faces-at-point-include-p
'font-lock-string-face))
(defun ruby-electric-comment-at-point-p()
(and ruby-electric-mode
(consp (memq 'font-lock-comment-face (text-properties-at (point))))))
(ruby-electric--faces-at-point-include-p
'font-lock-comment-face))
(defun ruby-electric-escaped-p()
(let ((f nil))