branch: elpa/evil-matchit
commit 79ec08d9211b8204c534f14b07572ef0e64e07c1
Author: Chen Bin <chenbin...@gmail.com>
Commit: Chen Bin <chenbin...@gmail.com>

    add more verilog keywords
---
 README.org              |  2 +-
 evil-matchit-pkg.el     |  2 --
 evil-matchit-sdk.el     |  2 +-
 evil-matchit-verilog.el | 27 +++++++++++++++++++++------
 evil-matchit.el         |  4 ++--
 pkg.sh                  |  8 +++++++-
 6 files changed, 32 insertions(+), 13 deletions(-)

diff --git a/README.org b/README.org
index f20f19efbe..dd528c2894 100644
--- a/README.org
+++ b/README.org
@@ -1,4 +1,4 @@
-* evil-matchit (v2.1.9)
+* evil-matchit (v2.2.0)
 
 
[[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-pkg.el b/evil-matchit-pkg.el
deleted file mode 100644
index 4244971e3a..0000000000
--- a/evil-matchit-pkg.el
+++ /dev/null
@@ -1,2 +0,0 @@
-(define-package "evil-matchit" "2.1.9"
-                "Vim matchit ported into Emacs (requires EVIL)")
diff --git a/evil-matchit-sdk.el b/evil-matchit-sdk.el
index b95c77c29d..464b743b76 100644
--- a/evil-matchit-sdk.el
+++ b/evil-matchit-sdk.el
@@ -178,8 +178,8 @@ is-function-exit-point could be unknown status"
     (while (not found)
       (forward-line (if (= orig-tag-type 2) -1 1))
       (setq cur-line (evilmi-sdk-curline))
-
       (setq keyword (evilmi--sdk-extract-keyword cur-line match-tags howtos))
+      (if evilmi-debug (message "keyword=%s cur-line=%s" keyword cur-line))
 
       (when keyword
         (setq cur-tag-info (evilmi-sdk-get-tag-info keyword match-tags))
diff --git a/evil-matchit-verilog.el b/evil-matchit-verilog.el
index 0377e805f9..11d97fafa8 100644
--- a/evil-matchit-verilog.el
+++ b/evil-matchit-verilog.el
@@ -63,8 +63,9 @@
 
 ;; should try next howto, the purpose is avoid missing any howto
 (defvar evilmi-verilog-extract-keyword-howtos
-  '(("^[ 
\t]*\\(while\\|module\\|primitive\\|case\\|function\\|specify\\|table\\)" 1)
-    ("^[ 
\t]*\\(endmodule\\|endprimitive\\|endcase\\|endfunction\\|endspecify\\|endtable\\)"
 1)
+  '(("^[ 
\t]*\\(while\\|module\\|primitive\\|case\\|function\\|specify\\|table\\|class\\|program\\|clocking\\|property\\|sequence\\|package\\covergroup\\|generate\\|interface\\|task\\|fork\\|join[a-z]*\\)"
 1)
+    ("^[ \t]*\\(end[a-z]+\\)" 1)
+    ("^[ \t]*\\(`[a-z]+\\)" 1) ; macro
     ("\\([^a-z]\\|^\\)\\(begin\\|end\\)\\([^a-z]\\|$\\)" 2)))
 
 (defvar evilmi-verilog-match-tags
@@ -72,9 +73,23 @@
     ("primitive" () "endprimitive" "MONOGAMY")
     ("case" () "endcase" "MONOGAMY")
     ("function" () "endfunction" "MONOGAMY")
-    ("table" () "endtable" "MONOGAMY")
     ("specify" () "endspecify" "MONOGAMY")
-    ("begin" () "end")))
+    ("table" () "endtable" "MONOGAMY")
+    ("class" () "endclass" "MONOGAMY")
+    ("program" () "endprogram" "MONOGAMY")
+    ("clocking" () "endclocking" "MONOGAMY")
+    ("property" () "endproperty" "MONOGAMY")
+    ("sequence" () "endsequence" "MONOGAMY")
+    ("package" () "endpackage" "MONOGAMY")
+    ("covergroup" () "endgroup" "MONOGAMY")
+    ("generate" () "endgenerate" "MONOGAMY")
+    ("interface" () "endinterface" "MONOGAMY")
+    ("task" () "endtask" "MONOGAMY")
+    ("fork" () ("join" "join_any" "join_none") "MONOGAMY")
+    ("begin" () "end")
+    ("`ifn?def" "`else" "`endif" "MONOGAMY")
+    ("`celldefine" () "`endcelldefine" "MONOGAMY")
+    ))
 
 ;;;###autoload
 (defun evilmi-verilog-get-tag ()
@@ -86,8 +101,8 @@
       (let* ((cur-line (evilmi-sdk-curline))
              next-line
              (pos (line-beginning-position)))
-        (when (string-match "^[ \t]*\\(if\\|else\\( if\\)?\\).*" cur-line)
-          ;; second change for if else statement
+        (when (string-match "^[ \t]*\\(if\\(n?def\\)?\\|else\\( if\\)?\\).*" 
cur-line)
+          ;; second chance for if else statement
           (save-excursion
             (forward-line 1)
             (setq orig-info (evilmi-sdk-get-tag evilmi-verilog-match-tags
diff --git a/evil-matchit.el b/evil-matchit.el
index 1ed471ab47..f3a8a42c2b 100644
--- a/evil-matchit.el
+++ b/evil-matchit.el
@@ -4,7 +4,7 @@
 
 ;; Author: Chen Bin <chenbin...@gmail.com>
 ;; URL: http://github.com/redguardtoo/evil-matchit
-;; Version: 2.1.9
+;; Version: 2.2.0
 ;; Keywords: matchit vim evil
 ;; Package-Requires: ((evil "1.0.7"))
 ;;
@@ -454,7 +454,7 @@ If font-face-under-cursor is NOT nil, the quoted string is 
being processed"
     (evilmi--operate-on-item NUM))))
 
 ;;;###autoload
-(defun evilmi-version() (interactive) (message "2.1.9"))
+(defun evilmi-version() (interactive) (message "2.2.0"))
 
 ;;;###autoload
 (define-minor-mode evil-matchit-mode
diff --git a/pkg.sh b/pkg.sh
index ff6c1dfabb..c10faeda04 100755
--- a/pkg.sh
+++ b/pkg.sh
@@ -1,8 +1,14 @@
 #!/bin/bash
-pkg=evil-matchit-2.1.9
+name=evil-matchit
+version=2.2.0
+pkg=$name-$version
 mkdir $pkg
 cp README.org $pkg
 cp *.el $pkg
+cat << EOF > $pkg/$name-pkg.el
+(define-package "$name" "$version" "Vim matchit ported into Emacs (requires 
EVIL)")
+EOF
+
 if [[ `uname -s` == *Darwin* ]]; then
    COPYFILE_DISABLE="" tar cvf $pkg.tar $pkg/
 else

Reply via email to