[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/evil-nerd-commenter d1a5c9cd63 188/235: org v9.1 changed a
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/evil-nerd-commenter d1a5c9cd63 188/235: org v9.1 changed api to get language of src_block |
Date: |
Thu, 6 Jan 2022 02:59:47 -0500 (EST) |
branch: elpa/evil-nerd-commenter
commit d1a5c9cd63dcb8c22dc27d657926efb4b673a7f4
Author: Chen Bin <chenbin.sh@gmail.com>
Commit: Chen Bin <chenbin.sh@gmail.com>
org v9.1 changed api to get language of src_block
---
Makefile | 4 +---
README.org | 2 +-
evil-nerd-commenter-tests.el | 19 ++++++++++++++++--
evil-nerd-commenter.el | 48 +++++++++++++++++++++++++++-----------------
pkg.sh | 2 +-
5 files changed, 50 insertions(+), 25 deletions(-)
diff --git a/Makefile b/Makefile
index af3245c7d4..d4acfa32a4 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,5 @@
SHELL = /bin/sh
EMACS ?= emacs
-FILES = $(filter-out evil-test-helpers.el evil-tests.el evil-pkg.el,$(wildcard
evil*.el))
PROFILER =
.PHONY: test
@@ -12,6 +11,5 @@ clean:
rm -f *.elc
# Run tests.
-test:
+test: clean
$(EMACS) -batch -Q -l evil-nerd-commenter-sdk.el -l
evil-nerd-commenter.el -l evil-nerd-commenter-tests.el
- rm -f *.elc .depend
\ No newline at end of file
diff --git a/README.org b/README.org
index c0f8767e52..dd40ee4617 100644
--- a/README.org
+++ b/README.org
@@ -1,4 +1,4 @@
-* evil-nerd-commenter (v3.3.4)
+* evil-nerd-commenter (v3.3.5)
[[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]]
diff --git a/evil-nerd-commenter-tests.el b/evil-nerd-commenter-tests.el
index c6f301c7c8..c6ffb927b3 100644
--- a/evil-nerd-commenter-tests.el
+++ b/evil-nerd-commenter-tests.el
@@ -98,7 +98,22 @@
(setq lines (evilnc-get-lines (point-min) (point-max)))
(should (string= (nth 0 lines) "<div class=\"box\">"))
(should (string= (nth 1 lines) "hello world"))
- (should (string= (nth 2 lines) "</div>"))
- )))
+ (should (string= (nth 2 lines) "</div>")))))
+
+(ert-deftest evilnc-test-org-src-block ()
+ (let* (lang-f)
+ (with-temp-buffer
+ (insert "* hello\n"
+ "** world\n"
+ "#+BEGIN_SRC python\n"
+ "def f():"
+ " print 'hello world'\n"
+ " print 'bye wrold'\n"
+ "#+END_SRC\n")
+ (org-mode)
+ (goto-char (point-min))
+ (re-search-forward "print 'hello world'")
+ (setq lang-f (evilnc--org-lang-major-mode))
+ (should (string= lang-f "python-mode")))))
(ert-run-tests-batch-and-exit)
diff --git a/evil-nerd-commenter.el b/evil-nerd-commenter.el
index 647f5c6a97..837c37fd51 100644
--- a/evil-nerd-commenter.el
+++ b/evil-nerd-commenter.el
@@ -3,7 +3,7 @@
;; Author: Chen Bin <chenbin.sh@gmail.com>
;; URL: http://github.com/redguardtoo/evil-nerd-commenter
-;; Version: 3.3.4
+;; Version: 3.3.5
;; Package-Requires: ((emacs "24.4"))
;; Keywords: commenter vim line evil
;;
@@ -312,34 +312,45 @@ See
http://lists.gnu.org/archive/html/bug-gnu-emacs/2013-03/msg00891.html."
(declare-function org-show-subtree "org")
(declare-function outline-up-heading "outline")
+(defun evilnc--org-lang-major-mode ()
+ "Get `major-mode' for language of org source block."
+ (let* (info lang lang-f)
+ (when (eq major-mode 'org-mode)
+ (cond
+ ;; Emacs 24.4+
+ ((fboundp 'org-edit-src-find-region-and-lang)
+ (setq info (org-edit-src-find-region-and-lang))
+ (when info
+ (setq lang (or (cdr (assoc (nth 2 info) org-src-lang-modes))
+ (nth 2 info)))))
+
+ ;; Emacs 26.1
+ ((fboundp 'org-element-at-point)
+ (setq lang (org-element-property :language (org-element-at-point))))))
+ (when lang
+ (setq lang (if (symbolp lang) (symbol-name lang) lang))
+ (setq lang-f (intern (concat lang "-mode"))))
+ lang-f))
+
(defun evilnc--working-on-region (beg end fn)
"Region from BEG to END is applied with operation FN.
Code snippets embedded in Org-mode is identified and right `major-mode' is
used."
(let* (pos
- info
- lang
- lang-f
+ (lang-f (evilnc--org-lang-major-mode))
old-flag)
- (when (and (eq major-mode 'org-mode)
- (fboundp 'org-edit-src-find-region-and-lang))
- (setq info (funcall 'org-edit-src-find-region-and-lang)))
-
- (when info
- (setq lang (or (cdr (assoc (nth 2 info) org-src-lang-modes))
- (nth 2 info)))
- (setq lang (if (symbolp lang) (symbol-name lang) lang))
- (setq lang-f (intern (concat lang "-mode"))))
;; turn on 3rd party language's major-mode temporarily
(if lang-f (funcall lang-f))
- (if evilnc-invert-comment-line-by-line
- (evilnc--invert-comment beg end)
+ (cond
+ (evilnc-invert-comment-line-by-line
+ (evilnc--invert-comment beg end))
+ (t
(setq pos (point))
(funcall fn beg end)
- (goto-char pos))
+ (goto-char pos)))
- ;; turn off 3rd party language's major-mode temporarily and clean the shit
+ ;; turn off 3rd party language's major-mode and clean up
(when lang-f
;; avoid org file automatically collapsed
(setq pos (point))
@@ -351,6 +362,7 @@ Code snippets embedded in Org-mode is identified and right
`major-mode' is used.
(message "in the beginning ...")))
;; expand current node because by default (org-mode) will collapse all
nodes
(org-show-subtree)
+ ;; goto original point before commenting
(goto-char pos))))
(declare-function web-mode-comment-or-uncomment "ext:web-mode")
@@ -711,7 +723,7 @@ Then we operate the expanded region. NUM is ignored."
(defun evilnc-version ()
"The version number."
(interactive)
- (message "3.3.4"))
+ (message "3.3.5"))
(defvar evil-normal-state-map)
(defvar evil-visual-state-map)
diff --git a/pkg.sh b/pkg.sh
index 6e1f94b51c..d757997cd3 100755
--- a/pkg.sh
+++ b/pkg.sh
@@ -1,6 +1,6 @@
#!/bin/bash
name=evil-nerd-commenter
-version=3.3.4
+version=3.3.5
pkg=$name-$version
mkdir $pkg
cp *.el $pkg
- [nongnu] elpa/evil-nerd-commenter 3eadae264f 138/235: new evil-mode operator "evil-copy-and-comment-operator", (continued)
- [nongnu] elpa/evil-nerd-commenter 3eadae264f 138/235: new evil-mode operator "evil-copy-and-comment-operator", ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter 9349468db8 148/235: Remove autoloads for evil text objects, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter cac2f7945f 151/235: handle one line comment properly, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter 96f76a67a3 153/235: evilnc-comment-text-object: doc-string fix, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter 684f558931 152/235: visual-state key bindings, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter dac58399e8 158/235: select/yank text object of irregular lines, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter 498ac2dbbd 154/235: Merge pull request #75 from duianto/patch-1, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter 0a46b91120 157/235: more precise inner comment text object, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter 6a05c86bdf 164/235: Merge pull request #80 from duianto/fix-doc-string-typo-length, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter 8f6fafcce9 168/235: better algorithm to extract comments in imenu, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter d1a5c9cd63 188/235: org v9.1 changed api to get language of src_block,
ELPA Syncer <=
- [nongnu] elpa/evil-nerd-commenter cf1f57921d 175/235: can comment html paragraphs, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter a4ef4ec548 176/235: document on comment paragraph, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter 29990d314c 177/235: enable evil text object usage by default, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter a6d492b819 193/235: support inline comment for rust-mode, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter 7e48e61207 197/235: Make evilnc-comment-and-copy-operator create only one undo entry, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter 16561277ae 200/235: comment html tag in more web templates, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter cc8b254723 216/235: optimize performance, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter 2730820b9c 224/235: fixed: evil-copy-and-comment-operator does not copy in visual-mode, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter e32519bc75 231/235: remove travis setup, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-nerd-commenter 6bc41317ba 233/235: doc, ELPA Syncer, 2022/01/06