[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/evil-nerd-commenter d664ad5af7 203/235: clean code
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/evil-nerd-commenter d664ad5af7 203/235: clean code |
Date: |
Thu, 6 Jan 2022 02:59:48 -0500 (EST) |
branch: elpa/evil-nerd-commenter
commit d664ad5af7d4077516589bcf13c2e528c38de3bc
Author: Chen Bin <chenbin.sh@gmail.com>
Commit: Chen Bin <chenbin.sh@gmail.com>
clean code
---
README.org | 5 ++++-
evil-nerd-commenter-operator.el | 19 +++---------------
evil-nerd-commenter-sdk.el | 44 +++++++++++++++++++----------------------
3 files changed, 27 insertions(+), 41 deletions(-)
diff --git a/README.org b/README.org
index d0ae347571..e5a7578a45 100644
--- a/README.org
+++ b/README.org
@@ -1,7 +1,10 @@
* evil-nerd-commenter
[[https://travis-ci.org/redguardtoo/evil-nerd-commenter][https://travis-ci.org/redguardtoo/evil-nerd-commenter.svg?branch=master]]
-[[http://melpa.org/#/evil-nerd-commenter][file:http://melpa.org/packages/evil-nerd-commenter-badge.svg]]
[[http://stable.melpa.org/#/evil-nerd-commenter][file:http://stable.melpa.org/packages/evil-nerd-commenter-badge.svg]]
+
+[[http://melpa.org/#/evil-nerd-commenter][file:http://melpa.org/packages/evil-nerd-commenter-badge.svg]]
+
+[[http://stable.melpa.org/#/evil-nerd-commenter][file:http://stable.melpa.org/packages/evil-nerd-commenter-badge.svg]]
This program can be used *WITHOUT*
[[http://www.emacswiki.org/Evil][evil-mode]]!
diff --git a/evil-nerd-commenter-operator.el b/evil-nerd-commenter-operator.el
index b0a49c8d6c..44ea65a7fe 100644
--- a/evil-nerd-commenter-operator.el
+++ b/evil-nerd-commenter-operator.el
@@ -76,35 +76,22 @@
(setq last-command tmp-command)
(setq evilnc-temporary-goal-column 0)))
-(defun evilnc--in-comment-p (pos)
- "Check whether the code at POS is comment by comparing font face."
- (interactive)
- (let* ((fontfaces (get-text-property pos 'face)))
- (if (not (listp fontfaces))
- (setf fontfaces (list fontfaces)))
- (delq nil
- (mapcar #'(lambda (f)
- ;; learn this trick from flyspell
- (or (eq f 'font-lock-comment-face)
- (eq f 'font-lock-comment-delimiter-face)))
- fontfaces))))
-
(defun evilnc--extend-to-whole-comment (beg end)
"Extend the comment region defined by BEG and END so ALL comment is
included."
(interactive)
- (if (evilnc--in-comment-p beg)
+ (if (evilnc-is-pure-comment beg)
(save-excursion
(let* ((newbeg beg)
(newend end))
;; extend the beginning
(goto-char newbeg)
- (while (and (>= (1- newbeg) (line-beginning-position))
(evilnc--in-comment-p (1- newbeg)))
+ (while (and (>= (1- newbeg) (line-beginning-position))
(evilnc-is-pure-comment (1- newbeg)))
(setq newbeg (1- newbeg)))
;; extend the end
(goto-char newend)
- (while (and (<= newend (line-end-position)) (evilnc--in-comment-p
newend))
+ (while (and (<= newend (line-end-position)) (evilnc-is-pure-comment
newend))
(setq newend (1+ newend)))
(list newbeg newend)))
diff --git a/evil-nerd-commenter-sdk.el b/evil-nerd-commenter-sdk.el
index d8bde19bd2..09d8550caa 100644
--- a/evil-nerd-commenter-sdk.el
+++ b/evil-nerd-commenter-sdk.el
@@ -41,16 +41,18 @@
(eq (get-text-property pos 'block-token) 'comment)
(eq (get-text-property pos 'part-token) 'comment)))))
+(defun evilnc-fonts-at-point (pos)
+ "Get font faces at POS."
+ (let* ((fontfaces (if (> pos 0) (get-text-property pos 'face))))
+ (if (listp fontfaces) fontfaces (list fontfaces))))
+
(defun evilnc-is-pure-comment (pos)
"Check character at POS is pure comment."
- (let* ((fontfaces (if (> pos 0) (get-text-property pos 'face))))
- (if (not (listp fontfaces))
- (setf fontfaces (list fontfaces)))
- (or (and (string= major-mode "web-mode")
- (evilnc-web-mode-is-comment pos))
- (evilnc--check-fonts fontfaces
- '(font-lock-comment-face
- font-lock-comment-delimiter-face)))))
+ (or (and (eq major-mode 'web-mode)
+ (evilnc-web-mode-is-comment pos))
+ (evilnc--check-fonts (evilnc-fonts-at-point pos)
+ '(font-lock-comment-face
+ font-lock-comment-delimiter-face))))
(defun evilnc-is-whitespace (pos)
"Character at POS is white space."
@@ -64,18 +66,15 @@
"Check whether the code at POS is comment by comparing font face.
Please note the white spaces out of comment is treated as comment,
or else we can't select multiple lines comment."
- (let* ((fontfaces (if (> pos 0) (get-text-property pos 'face))))
- (if (not (listp fontfaces))
- (setf fontfaces (list fontfaces)))
- (cond
- ((or (< pos (point-min)) (> pos (point-max)))
- nil)
- ((not fontfaces)
- ;; character under cursor is SPACE or TAB
- ;; and out of comment
- (evilnc-is-whitespace pos))
- (t
- (evilnc-is-pure-comment pos)))))
+ (cond
+ ((or (< pos (point-min)) (> pos (point-max)))
+ nil)
+ ((not (evilnc-fonts-at-point pos))
+ ;; character under cursor is SPACE or TAB
+ ;; and out of comment
+ (evilnc-is-whitespace pos))
+ (t
+ (evilnc-is-pure-comment pos))))
(defun evilnc-get-char (pos)
"Get character at POS."
@@ -85,13 +84,10 @@ or else we can't select multiple lines comment."
(defun evilnc-is-comment-delimiter (pos)
"Is character at POS a comment delimiter?"
- (let* ((fontfaces (if (> pos 0) (get-text-property pos 'face))))
- (if (not (listp fontfaces))
- (setf fontfaces (list fontfaces)))
+ (let* ((fontfaces (evilnc-fonts-at-point pos)))
(and fontfaces
(evilnc--check-fonts fontfaces
'(font-lock-comment-delimiter-face)))))
(provide 'evil-nerd-commenter-sdk)
;;; evil-nerd-commenter-sdk.el ends here
-
- [nongnu] elpa/evil-nerd-commenter c68ad3346f 170/235: Add an option to not define keybindings in Emacs mode, (continued)
- [nongnu] elpa/evil-nerd-commenter c68ad3346f 170/235: Add an option to not define keybindings in Emacs mode, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter 8089308aad 181/235: Merge pull request #94 from leungbk/vertical-motion, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter 3089141dd2 183/235: Merge pull request #95 from leungbk/forward-line, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter 3cf6b1e746 174/235: can comment or uncomment jsx tag(s), ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter 72d4aacd28 187/235: more unit test, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter 5cf8755264 191/235: clean code. more unit test. bump 3.3.6, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter f510a491c1 195/235: support js2-rjsx-mode, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter 9c87ea30fa 199/235: wording, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter ce3530406c 201/235: fixed CI, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter a5555ff02a 202/235: remove legacy code on old version of web-mode, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter d664ad5af7 203/235: clean code,
ELPA Syncer <=
- [nongnu] elpa/evil-nerd-commenter c9fa23ee7e 206/235: evil operator try to comment on whole lines if possible, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter fd2fba722e 205/235: clean keybinding setup code, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter 4a72fbd022 207/235: README, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter 76f07963c0 213/235: Update outdated link to emacswiki, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter 747e346f11 212/235: Merge pull request #109 from hlissner/patch-1, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter 1bd2de5201 214/235: Merge pull request #111 from duchainer/patch-outdated-link-emacswiki, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter 87734b9c7f 218/235: clean code, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter 6ed6f9ea82 215/235: clean code, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter b670f69b64 221/235: add emacs27 to ci, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter 2401d871ad 217/235: use GPL version 3, ELPA Syncer, 2022/01/06