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:
parent
347d44ca41
commit
9955bb0130
2 changed files with 29 additions and 9 deletions
|
@ -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>
|
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
|
* win32/win32.c (rb_w32_{getc,putc}): removed. they are needed for old
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
;; URL: https://github.com/knu/ruby-electric.el
|
;; URL: https://github.com/knu/ruby-electric.el
|
||||||
;; Keywords: languages ruby
|
;; Keywords: languages ruby
|
||||||
;; License: The same license terms as Ruby
|
;; License: The same license terms as Ruby
|
||||||
;; Version: 2.2.2
|
;; Version: 2.2.3
|
||||||
|
|
||||||
;;; Commentary:
|
;;; Commentary:
|
||||||
;;
|
;;
|
||||||
|
@ -33,6 +33,9 @@
|
||||||
|
|
||||||
(require 'ruby-mode)
|
(require 'ruby-mode)
|
||||||
|
|
||||||
|
(eval-when-compile
|
||||||
|
(require 'cl))
|
||||||
|
|
||||||
(defgroup ruby-electric nil
|
(defgroup ruby-electric nil
|
||||||
"Minor mode providing electric editing commands for ruby files"
|
"Minor mode providing electric editing commands for ruby files"
|
||||||
:group 'ruby)
|
:group 'ruby)
|
||||||
|
@ -279,19 +282,31 @@ enabled."
|
||||||
(t
|
(t
|
||||||
(ruby-electric-space/return-fallback))))
|
(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
|
(and ruby-electric-mode
|
||||||
(let* ((properties (text-properties-at (point))))
|
(loop for face in faces
|
||||||
(and (null (memq 'font-lock-string-face properties))
|
with pfaces = (ruby-electric--get-faces-at-point)
|
||||||
(null (memq 'font-lock-comment-face properties))))))
|
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()
|
(defun ruby-electric-string-at-point-p()
|
||||||
(and ruby-electric-mode
|
(ruby-electric--faces-at-point-include-p
|
||||||
(consp (memq 'font-lock-string-face (text-properties-at (point))))))
|
'font-lock-string-face))
|
||||||
|
|
||||||
(defun ruby-electric-comment-at-point-p()
|
(defun ruby-electric-comment-at-point-p()
|
||||||
(and ruby-electric-mode
|
(ruby-electric--faces-at-point-include-p
|
||||||
(consp (memq 'font-lock-comment-face (text-properties-at (point))))))
|
'font-lock-comment-face))
|
||||||
|
|
||||||
(defun ruby-electric-escaped-p()
|
(defun ruby-electric-escaped-p()
|
||||||
(let ((f nil))
|
(let ((f nil))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue