[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/evil-matchit 43be86d8c4 171/244: support css-in-js styled
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/evil-matchit 43be86d8c4 171/244: support css-in-js styled components |
Date: |
Thu, 6 Jan 2022 02:58:59 -0500 (EST) |
branch: elpa/evil-matchit
commit 43be86d8c41841a20733718d177e8299d5379218
Author: Chen Bin <chenbin.sh@gmail.com>
Commit: Chen Bin <chenbin.sh@gmail.com>
support css-in-js styled components
---
README.org | 2 +-
evil-matchit-javascript.el | 60 ++++++++++++++++++++++++++++++++++------------
evil-matchit.el | 4 ++--
pkg.sh | 2 +-
4 files changed, 49 insertions(+), 19 deletions(-)
diff --git a/README.org b/README.org
index 084a5f102a..5dd87c97c2 100644
--- a/README.org
+++ b/README.org
@@ -1,4 +1,4 @@
-* evil-matchit (v2.3.2)
+* evil-matchit (v2.3.3)
[[http://melpa.org/#/evil-matchit][file:http://melpa.org/packages/evil-matchit-badge.svg]]
[[http://stable.melpa.org/#/evil-matchit][file:http://stable.melpa.org/packages/evil-matchit-badge.svg]]
diff --git a/evil-matchit-javascript.el b/evil-matchit-javascript.el
index e5478a81b4..562f567799 100644
--- a/evil-matchit-javascript.el
+++ b/evil-matchit-javascript.el
@@ -28,6 +28,14 @@
(require 'evil-matchit-sdk)
+;; should try next howto, the purpose is avoid missing any howto
+(defvar evilmi-javascript-extract-keyword-howtos
+ '(("const .* *= *\\(styled\\)[^`]*` *$" 1) ; styled component
+ ("^[ \t]*\\(`\\); *$" 1)))
+
+(defvar evilmi-javascript-match-tags
+ '((("styled") () "`")))
+
(defvar evilmi-javascript-matching-chars
(string-to-list "{[(}}])"))
@@ -54,22 +62,44 @@
;;;###autoload
(defun evilmi-javascript-get-tag ()
;; only handle open tag
- (cond
- ((memq (following-char)
- evilmi-javascript-matching-chars)
- (list (point)))
- (t
- (let* ((r (evilmi--javascript-find-open-brace (evilmi-sdk-curline)))
- (p (line-beginning-position)))
- (when r
- (forward-line (1- (car r)))
- (search-forward (cadr r) nil nil)
- (backward-char)
- (list p))))))
+ (let* (rlt)
+ (cond
+ ;; bracket
+ ((memq (following-char)
+ evilmi-javascript-matching-chars)
+ (setq rlt (list (point))))
+
+ ;; use defined tag
+ ((setq rlt (evilmi-sdk-get-tag evilmi-javascript-match-tags
+ evilmi-javascript-extract-keyword-howtos))
+ ;; do nothing
+ )
+
+ ;; other javascript statements containing brackets
+ (t
+ (let* ((r (evilmi--javascript-find-open-brace (evilmi-sdk-curline)))
+ (p (line-beginning-position)))
+ (when r
+ (forward-line (1- (car r)))
+ (search-forward (cadr r) nil nil)
+ (backward-char)
+ (setq rlt (list p))))))
+ rlt))
;;;###autoload
-(defun evilmi-javascript-jump (rlt NUM)
- (when rlt
+(defun evilmi-javascript-jump (rlt num)
+ "Jump to the matching tag using RLT and NUM."
+ (cond
+ ((not rlt)
+ ;; don nothing
+ )
+ ((evilmi-sdk-get-tag evilmi-javascript-match-tags
+ evilmi-javascript-extract-keyword-howtos)
+ (evilmi-sdk-jump rlt
+ num
+ evilmi-javascript-match-tags
+ evilmi-javascript-extract-keyword-howtos))
+ (t
(evilmi--simple-jump)
(let* ((cur-line (evilmi-sdk-curline)))
;; hack for javascript
@@ -77,6 +107,6 @@
(string-match "^[ \t]*}\(.*\))\; *$" cur-line)
(string-match "^[ \t]*}\])\; *$" cur-line))
(line-end-position)
- (1+ (point))))))
+ (1+ (point)))))))
(provide 'evil-matchit-javascript)
diff --git a/evil-matchit.el b/evil-matchit.el
index e8a9944cfa..2841bac7ed 100644
--- a/evil-matchit.el
+++ b/evil-matchit.el
@@ -4,7 +4,7 @@
;; Author: Chen Bin <chenbin.sh@gmail.com>
;; URL: http://github.com/redguardtoo/evil-matchit
-;; Version: 2.3.2
+;; Version: 2.3.3
;; Keywords: matchit vim evil
;; Package-Requires: ((evil "1.2.0") (emacs "24.4"))
;;
@@ -455,7 +455,7 @@ If IS-FORWARD is t, jump forward; or else jump backward."
;;;###autoload
(defun evilmi-version()
(interactive)
- (message "2.3.2"))
+ (message "2.3.3"))
;;;###autoload
(define-minor-mode evil-matchit-mode
diff --git a/pkg.sh b/pkg.sh
index dfc8e57a03..26de8a61d8 100755
--- a/pkg.sh
+++ b/pkg.sh
@@ -1,6 +1,6 @@
#!/bin/bash
name=evil-matchit
-version=2.3.2
+version=2.3.3
pkg=$name-$version
mkdir $pkg
cp README.org $pkg
- [nongnu] elpa/evil-matchit 9cdaddd55d 228/244: Merge pull request #132 from aaronjensen/require-evil-macros, (continued)
- [nongnu] elpa/evil-matchit 9cdaddd55d 228/244: Merge pull request #132 from aaronjensen/require-evil-macros, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-matchit 8b71b42603 041/244: better support for sh and c/c++ v1.2.8, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-matchit 4846518b59 109/244: support rjsx-mode, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-matchit 0b0e6d61a6 119/244: clean code, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-matchit 8a10046f25 145/244: fix python issue, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-matchit 0d62d497d1 143/244: Fix typo, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-matchit 4435f3ada5 128/244: evil-matchit-org: add :results: :end: drawer, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-matchit a91ea21c4a 141/244: Fix typo in readme, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-matchit fb5807c096 129/244: Merge pull request #82 from et2010/patch-1, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-matchit 4f3928db11 157/244: let evil-repeat ignore evilmi jump, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-matchit 43be86d8c4 171/244: support css-in-js styled components,
ELPA Syncer <=
- [nongnu] elpa/evil-matchit 2fc961d94b 122/244: fixed css-mode minor issue, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-matchit 2001c5be5f 147/244: ocaml: improve validation of keywords, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-matchit 8fa4c1390d 163/244: can change shortcut from "%" to "m", ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-matchit 665751dff8 165/244: Ignore trailing space in Ruby blocks with arguments, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-matchit 848dc06902 183/244: clean code&do, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-matchit 1027459d44 180/244: more torelant to ruby syntax, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-matchit d75d41d7b3 197/244: add unit test for c, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-matchit 25ad66d397 190/244: clean code, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-matchit 289982cbee 192/244: doc, ELPA Syncer, 2022/01/06
- [nongnu] elpa/evil-matchit 9b228b097a 242/244: easier to add own rules, ELPA Syncer, 2022/01/06