emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/evil-matchit b24a7232a2 218/244: support octave, requires


From: ELPA Syncer
Subject: [nongnu] elpa/evil-matchit b24a7232a2 218/244: support octave, requires emacs25+, clean up tests
Date: Thu, 6 Jan 2022 02:59:03 -0500 (EST)

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

    support octave, requires emacs25+, clean up tests
---
 README.org                  |   3 +-
 evil-matchit-octave.el      |  57 ++++++++++
 evil-matchit.el             |   9 +-
 pkg.sh                      |   2 +-
 tests/evil-matchit-tests.el | 268 +++++++++++++++++++-------------------------
 tests/hello-git.diff        |  11 ++
 tests/hello-gnu.diff        |   8 ++
 tests/hello.c               |  20 ++++
 tests/hello.el              |   5 +
 tests/hello.f               |  21 ++++
 tests/hello.html            |   8 ++
 tests/hello.js              |   3 +
 tests/hello.lua             |  14 +++
 tests/hello.m               |   7 ++
 tests/hello.md              |   9 ++
 tests/hello.v               |  14 +++
 16 files changed, 300 insertions(+), 159 deletions(-)

diff --git a/README.org b/README.org
index 6d57cd2885..6f2a3e996a 100644
--- a/README.org
+++ b/README.org
@@ -19,6 +19,7 @@ Many modern languages are supported:
 - Markdown
 - Perl
 - Latex
+- MATLAB/Octave
 - CMake
 - Org-mode (match tag of org-mode and tags of other languages embedded in org 
file)
 - Ruby
@@ -37,7 +38,7 @@ Many modern languages are supported:
 
 This package uses Evil as its vi layer!
 
-Tested on Emacs 24.4, 24.5, 25.1, 26, 27, 28
+Tested on Emacs 25.1, 26, 27, 28
 
 * Why use evil-matchit
 - No learning curve. Press "%" to jump. That's all!
diff --git a/evil-matchit-octave.el b/evil-matchit-octave.el
new file mode 100644
index 0000000000..1dd7d6d046
--- /dev/null
+++ b/evil-matchit-octave.el
@@ -0,0 +1,57 @@
+;;; evil-matchit-octave.el --- octave plugin of evil-matchit
+
+;; Copyright (C) 2020 Chen Bin <chenbin DOT sh AT gmail DOT com>
+
+;; Author: Chen Bin <chenbin DOT sh AT gmail DOT com>
+
+;; This file is not part of GNU Emacs.
+
+;;; License:
+
+;; This file is part of evil-matchit
+;;
+;; evil-matchit is free software: you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License as published
+;; by the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+;;
+;; evil-matchit is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
+;;
+;;; Commentary:
+;;
+;;; Code:
+
+;; OPTIONAL, you don't need SDK to write a plugin for evil-matchit
+;; but SDK do make you write less code, isn't it?
+;; All you need to do is just define the match-tags for SDK algorithm to 
lookup.
+(require 'evil-matchit-sdk)
+
+(defvar evilmi-octave-extract-keyword-howtos
+  '(("^[ \t]*\\([a-zA-Z]+\\)[ \t]*" 1)))
+
+;; Octave (http://www.octave.org) syntax
+(defvar evilmi-octave-match-tags
+  '((("if" "for" "while" "switch" "function") ("elseif" "else" "case" 
"otherwise") ("end"))))
+
+;;;###autoload
+(defun evilmi-octave-get-tag ()
+  "Get current tag info."
+  (evilmi-sdk-get-tag evilmi-octave-match-tags
+                      evilmi-octave-extract-keyword-howtos))
+
+;;;###autoload
+(defun evilmi-octave-jump (info num)
+  "Use INFO returned by `evilmi-octave-get-tag' and NUM to jump to matched 
tag."
+  (evilmi-sdk-jump info
+                   num
+                   evilmi-octave-match-tags
+                   evilmi-octave-extract-keyword-howtos))
+
+(provide 'evil-matchit-octave)
+;;; evil-matchit-octave.el ends here
diff --git a/evil-matchit.el b/evil-matchit.el
index 2035d7d27a..8962d95ce2 100644
--- a/evil-matchit.el
+++ b/evil-matchit.el
@@ -4,9 +4,9 @@
 
 ;; Author: Chen Bin <chenbin DOT sh AT gmail DOT com>
 ;; URL: http://github.com/redguardtoo/evil-matchit
-;; Version: 2.3.9
+;; Version: 2.3.10
 ;; Keywords: matchit vim evil
-;; Package-Requires: ((evil "1.2.0") (emacs "24.4"))
+;; Package-Requires: ((evil "1.2.0") (emacs "25.1"))
 ;;
 ;; This file is not part of GNU Emacs.
 
@@ -172,6 +172,9 @@ Some people prefer using \"m\" instead.")
   ;; Ocaml
   (evilmi-load-plugin-rules '(tuareg-mode) '(simple ocaml))
 
+  ;; Octave
+  (evilmi-load-plugin-rules '(octave-mode) '(simple octave))
+
   ;; Python
   (evilmi-load-plugin-rules '(python-mode) '(simple python))
 
@@ -310,7 +313,7 @@ If IS-INNER is t, the region is inner text object."
 (defun evilmi-version()
   "Print version."
   (interactive)
-  (message "2.3.9"))
+  (message "2.3.10"))
 
 (defvar evil-matchit-mode-map (make-sparse-keymap)
   "Keymap used by the minor mode.")
diff --git a/pkg.sh b/pkg.sh
index 553e29fbfe..ee1de47900 100755
--- a/pkg.sh
+++ b/pkg.sh
@@ -1,6 +1,6 @@
 #!/bin/bash
 name=evil-matchit
-version=2.3.9
+version=2.3.10
 pkg=$name-$version
 mkdir $pkg
 cp README.org $pkg
diff --git a/tests/evil-matchit-tests.el b/tests/evil-matchit-tests.el
index e91114d091..e4326bb9de 100644
--- a/tests/evil-matchit-tests.el
+++ b/tests/evil-matchit-tests.el
@@ -21,6 +21,7 @@
 ;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
 ;;; Commentary:
+;;; Code:
 
 (require 'ert)
 (require 'evil-matchit)
@@ -28,6 +29,12 @@
 (setq evilmi-may-jump-by-percentage nil)
 (setq evilmi-debug nil) ; debug
 
+(defun evilmi-test-read-file (file)
+  "Read FILE's content into current buffer."
+  (let* ((files (directory-files-recursively default-directory file)))
+    (when files
+      (insert-file-contents (car files)))))
+
 (ert-deftest evilmi-test-generic ()
   (let* ((str "123456")
          (jump-offset (+ 1 (length str))))
@@ -70,8 +77,11 @@
 
 (ert-deftest evilmi-test-javascript ()
   (with-temp-buffer
-    (insert  "function hello() {\n  console.log('hello world');\n}")
+    (evilmi-test-read-file "hello.js")
     (js-mode)
+
+    (font-lock-ensure)
+
     ;; for javascript, jump from anywhere in function beginning
     (goto-char (+ 3 (point-min)))
     (evilmi-jump-items)
@@ -86,14 +96,23 @@
     (evilmi-jump-items)
     (should (eq (following-char) ?{))
 
-    ;; jump between ends of string can't be tested.
-    ;; because font face is not useable in batch mode
+    (search-forward "'")
+    (backward-char 1)
+    (let* ((beg (point))
+           end)
+      (should (string= "'" (string (following-char))))
+      (evilmi-jump-items)
+      (setq end (point))
+      (should (> end beg))
+      (should (string= (buffer-substring-no-properties (1+ beg) end) "hello 
world"))
+      (evilmi-jump-items)
+      (should (eq (point) beg)))
 
     (should (eq major-mode 'js-mode))))
 
 (ert-deftest evilmi-test-html ()
   (with-temp-buffer
-    (insert  "<html lang=\"en\">\n<head>\n<link rel=\"icon\" 
href=\"%PUBLIC_URL%/favicon.ico\" />\n</head>\n<body>\n<p>Hello 
world!</p>\n</body>\n</html>")
+    (evilmi-test-read-file "hello.html")
     (html-mode)
 
     ;; jump from start again
@@ -129,9 +148,7 @@
 
 (ert-deftest evilmi-test-c ()
   (with-temp-buffer
-    (insert "#ifdef CONFIG_COMPAT\n#ifndef TEST1\nstruct mtip_s {\n  int 
v1;\n}\n#endif\n#endif\n"
-            "static int fn1()\n{\nprintf(\"hello world\");\n}\nint a = 3;\n"
-            "switch(c) {\ncase 'a':\nbreak;\ncase 'b':\nbreak;\n}\n")
+    (evilmi-test-read-file "hello.c")
     (c-mode)
 
     ;; jump from start
@@ -179,20 +196,7 @@
 
 (ert-deftest evilmi-test-lua ()
   (with-temp-buffer
-    (insert "if configTable:FindFirstChild(configName) then\n"
-            "    configs[configName] = 
configTable:FindFirstChild(configName).Value\n"
-            "else\n"
-            "    configs[configName] = defaultValue\n"
-            "end\n"
-            "\n"
-            "local thread = coroutine.create(function()\n"
-            "    while true do\n"
-            "        wait()\n"
-            "        if state then\n"
-            "            display.Text = state.Name\n"
-            "        end\n"
-            "    end\n"
-            "end)\n")
+    (evilmi-test-read-file "hello.lua")
     (lua-mode)
 
     ;; jump from start
@@ -225,18 +229,7 @@
 
 (ert-deftest evilmi-test-diff ()
   (with-temp-buffer
-    (insert "diff 1\n"
-            "index abed2b7\n"
-            "--- a/1.c\n"
-            "+++ b/1.c\n"
-            "line1\n"
-            "line2\n"
-            "diff 2"
-            "index abed2b7\n"
-            "--- a/2.c\n"
-            "+++ b/2.c\n"
-            "line3\n"
-            "line4")
+    (evilmi-test-read-file "hello-git.diff")
     (diff-mode)
 
     ;; test git diff
@@ -265,14 +258,7 @@
 
     ;; test GNU diff
     (erase-buffer)
-    (insert "--- a/1.c\n"
-            "+++ b/1.c\n"
-            "line1\n"
-            "line2\n"
-            "--- a/2.c\n"
-            "+++ b/2.c\n"
-            "line3\n"
-            "line4")
+    (evilmi-test-read-file "hello-gnu.diff")
     ;; jump to diff end
     (goto-char (point-min))
     (evilmi-jump-items)
@@ -289,11 +275,7 @@
 
 (ert-deftest evilmi-test-fortran ()
   (with-temp-buffer
-    (insert "PROGRAM cows\n"
-            "IMPLICIT NONE\n"
-            "INTEGER :: func_name\n"
-            "PRINT *,func_name(2, 1.3)\n"
-            "END PROGRAM\n")
+    (evilmi-test-read-file "hello.f")
     (f90-mode)
 
     (goto-char (point-min))
@@ -305,13 +287,8 @@
     (should (string= "PROGRAM cows" (evilmi-sdk-curline)))
 
     ;; lower case conditional statement
-    (erase-buffer)
-    (insert "if (x < x1) then\n"
-            "  print 1\n"
-            "else\n"
-            "  print 2\n"
-            "end if\n")
-    (goto-char (point-min))
+    (search-forward "if (x < x1)")
+    (goto-char (line-beginning-position))
     (evilmi-jump-items)
     (should (string= "else" (evilmi-sdk-curline)))
     (evilmi-jump-items)
@@ -320,17 +297,8 @@
     (should (string= "if (x < x1) then" (evilmi-sdk-curline)))
 
     ;; upper case conditional statement
-    (erase-buffer)
-    (insert "IF (x < 50) THEN\n"
-            "   Grade = 'F'\n"
-            "ELSE IF (x < 60) THEN\n"
-            "   Grade = 'D'\n"
-            "ELSE IF (x < 70) THEN\n"
-            "   Grade = 'C'\n"
-            "ELSE\n"
-            "   Grade = 'A'\n"
-            "END IF\n")
-    (goto-char (point-min))
+    (search-forward "IF (x < 50)")
+    (goto-char (line-beginning-position))
     (evilmi-jump-items)
     (should (string= "ELSE IF (x < 60) THEN" (evilmi-sdk-curline)))
     (evilmi-jump-items)
@@ -344,16 +312,7 @@
 
 (ert-deftest evilmi-test-verilog ()
   (with-temp-buffer
-    (insert "`ifdef behavioral\n"
-            " `include \"groupA_beh.v \";\n"
-            " `include \"groupB_beh.v \";\n"
-            " `include \"ctrl_beh.v \";\n"
-            "`else\n"
-            " `include \"groupA_synth.v \";\n"
-            " `include \"groupB_ synth.v \";\n"
-            " `include \"ctrl_ synth.v \";\n"
-            "`endif\n"
-            )
+    (evilmi-test-read-file "hello.v")
     (verilog-mode)
 
     (goto-char (point-min))
@@ -364,14 +323,9 @@
     (evilmi-jump-items)
     (should (string= "`ifdef behavioral" (evilmi-sdk-curline)))
 
-    (erase-buffer)
-    (insert "always @(WRITE or READ or STATUS) // test \n"
-            " /* hello */"
-            "  begin\n"
-            "  out = 9;\n"
-            "  end\n"
-            " // more comment\n")
     (goto-char (point-min))
+    (search-forward "always")
+    (goto-char (line-beginning-position))
     (evilmi-jump-items)
     (should (string= "end" (thing-at-point 'symbol)))
 
@@ -379,14 +333,7 @@
 
 (ert-deftest evilmi-test-markdown ()
   (with-temp-buffer
-    (insert "### test1\n"
-            "```java\n"
-            "Example 1\n"
-            "```\n\n"
-            "### test2\n"
-            "```c\n"
-            "Example 2\n"
-            "```\n")
+    (evilmi-test-read-file "hello.md")
     (markdown-mode)
 
     (goto-char (point-min))
@@ -410,26 +357,21 @@
 
 (ert-deftest evilmi-test-emacs-lisp ()
   (with-temp-buffer
-    (insert ";; test1\n"
-            ";; {{\n"
-            ";; java\n"
-            ";; }}\n"
-            "test\n")
+    (evilmi-test-read-file "hello.el")
     (emacs-lisp-mode)
-    (when (fboundp 'font-lock-ensure)
-      (font-lock-ensure)
+    (font-lock-ensure)
 
-      (goto-char (point-min))
-      (forward-char 2)
-      (evilmi-jump-items)
-      ;; still at the same line if there is no bracket at point
-      (should (string= ";; test1" (evilmi-sdk-curline)))
-      ;; test matched brackets
-      (search-forward "{")
-      (evilmi-jump-items)
-      (should (string= ";; }}" (evilmi-sdk-curline)))
-      (evilmi-jump-items)
-      (should (string= ";; {{" (evilmi-sdk-curline))))
+    (goto-char (point-min))
+    (forward-char 2)
+    (evilmi-jump-items)
+    ;; still at the same line if there is no bracket at point
+    (should (string= ";; test1" (evilmi-sdk-curline)))
+    ;; test matched brackets
+    (search-forward "{")
+    (evilmi-jump-items)
+    (should (string= ";; }}" (evilmi-sdk-curline)))
+    (evilmi-jump-items)
+    (should (string= ";; {{" (evilmi-sdk-curline)))
 
     (should (eq major-mode 'emacs-lisp-mode))))
 
@@ -440,76 +382,94 @@
 
     (defun prepare (&rest text)
       (progn
-             (erase-buffer)
-             (apply 'insert text)
-             (goto-char (point-min))
-             (font-lock-ensure)))
+        (erase-buffer)
+        (apply 'insert text)
+        (goto-char (point-min))
+        (font-lock-ensure)))
 
     (defun expect (text)
       (progn
-           (insert "|")
-           (should (string= text (thing-at-point 'line)))
-           (delete-backward-char 1)))
+        (insert "|")
+        (should (string= text (thing-at-point 'line)))
+        (delete-backward-char 1)))
 
-    (when (fboundp 'font-lock-ensure)
-      ;; if then
-      ;; TODO: doesn't work if there's no whitespace before if
-      (prepare " if foo then 1 else 2")
+    ;; if then
+    ;; TODO: doesn't work if there's no whitespace before if
+    (prepare " if foo then 1 else 2")
 
-      (evilmi-jump-items)
-      (expect " if foo |then 1 else 2")
+    (evilmi-jump-items)
+    (expect " if foo |then 1 else 2")
 
-      (evilmi-jump-items)
-      (expect " |if foo then 1 else 2")
+    (evilmi-jump-items)
+    (expect " |if foo then 1 else 2")
 
-      ;; parentheses
-      (prepare "let x = (1, 2) in 3")
+    ;; parentheses
+    (prepare "let x = (1, 2) in 3")
 
-      (evilmi-jump-items)
-      (expect "let x = (1, 2|) in 3" )
+    (evilmi-jump-items)
+    (expect "let x = (1, 2|) in 3" )
 
-      (evilmi-jump-items)
-      (expect "let x = |(1, 2) in 3" )
+    (evilmi-jump-items)
+    (expect "let x = |(1, 2) in 3" )
 
-      ;; struct end
-      (prepare "module X = struct type t = int end")
+    ;; struct end
+    (prepare "module X = struct type t = int end")
 
-      (evilmi-jump-items)
-      (expect "module X = struct type t = int |end" )
+    (evilmi-jump-items)
+    (expect "module X = struct type t = int |end" )
 
-      (evilmi-jump-items)
-      (expect "module X = |struct type t = int end" )
+    (evilmi-jump-items)
+    (expect "module X = |struct type t = int end" )
 
-      ;; TODO: begin end doesn't seem to be working
-      (prepare "begin 1 end ;;")
+    ;; TODO: begin end doesn't seem to be working
+    (prepare "begin 1 end ;;")
 
-      (evilmi-jump-items)
-      (expect "|begin 1 end ;;")
+    (evilmi-jump-items)
+    (expect "|begin 1 end ;;")
 
-      ;; match with
-      (prepare "let _ = match x with _ -> ()")
+    ;; match with
+    (prepare "let _ = match x with _ -> ()")
 
-      (evilmi-jump-items)
-      (expect "let _ = match x |with _ -> ()" )
+    (evilmi-jump-items)
+    (expect "let _ = match x |with _ -> ()" )
 
-      (evilmi-jump-items)
-      (expect "let _ = |match x with _ -> ()" )
+    (evilmi-jump-items)
+    (expect "let _ = |match x with _ -> ()" )
 
-      ;; let in
-      (prepare
-         "let () =\n"
-         "  let x = foo in bar")
+    ;; let in
+    (prepare
+     "let () =\n"
+     "  let x = foo in bar")
 
-      (goto-char 10)
-      (expect "|  let x = foo in bar" )
+    (goto-char 10)
+    (expect "|  let x = foo in bar" )
 
-      (evilmi-jump-items)
-      (expect "  let x = foo |in bar" )
+    (evilmi-jump-items)
+    (expect "  let x = foo |in bar" )
 
-      (evilmi-jump-items)
-      (expect "  |let x = foo in bar" ))
+    (evilmi-jump-items)
+    (expect "  |let x = foo in bar" )
 
     (should (eq major-mode 'tuareg-mode))))
 
+(ert-deftest evilmi-test-octave ()
+  (with-temp-buffer
+    (evilmi-test-read-file "hello.m")
+    (octave-mode)
+    (font-lock-ensure)
+
+    (goto-char (point-min))
+    (evilmi-jump-items)
+    ;; still at the same line if there is no bracket at point
+    (should (string= "elseif a < 80" (evilmi-sdk-curline)))
+    (evilmi-jump-items)
+    (should (string= "else" (evilmi-sdk-curline)))
+    (evilmi-jump-items)
+    (should (string= "end" (evilmi-sdk-curline)))
+    (evilmi-jump-items)
+    (should (string= "if a < 30" (evilmi-sdk-curline)))
+
+    (should (eq major-mode 'octave-mode))))
+
 (ert-run-tests-batch-and-exit)
 ;;; evil-matchit-tests.el ends here
diff --git a/tests/hello-git.diff b/tests/hello-git.diff
new file mode 100644
index 0000000000..c8c31b93de
--- /dev/null
+++ b/tests/hello-git.diff
@@ -0,0 +1,11 @@
+diff 1
+index abed2b7
+--- a/1.c
++++ b/1.c
+line1
+line2
+diff 2index abed2b7
+--- a/2.c
++++ b/2.c
+line3
+line4
\ No newline at end of file
diff --git a/tests/hello-gnu.diff b/tests/hello-gnu.diff
new file mode 100644
index 0000000000..cb8f53ce20
--- /dev/null
+++ b/tests/hello-gnu.diff
@@ -0,0 +1,8 @@
+--- a/1.c
++++ b/1.c
+line1
+line2
+--- a/2.c
++++ b/2.c
+line3
+line4
\ No newline at end of file
diff --git a/tests/hello.c b/tests/hello.c
new file mode 100644
index 0000000000..fa2172ee55
--- /dev/null
+++ b/tests/hello.c
@@ -0,0 +1,20 @@
+#ifdef CONFIG_COMPAT
+#ifndef TEST1
+struct mtip_s {
+    int v1;
+};
+#endif
+#endif
+
+static int fn1()
+{
+    printf("hello world");
+}
+
+int a = 3;
+switch(c) {
+case 'a':
+    break;
+case 'b':
+    break;
+}
diff --git a/tests/hello.el b/tests/hello.el
new file mode 100644
index 0000000000..5fa83c23e6
--- /dev/null
+++ b/tests/hello.el
@@ -0,0 +1,5 @@
+;; test1
+;; {{
+;; java
+;; }}
+test
diff --git a/tests/hello.f b/tests/hello.f
new file mode 100644
index 0000000000..810911fcbc
--- /dev/null
+++ b/tests/hello.f
@@ -0,0 +1,21 @@
+PROGRAM cows
+IMPLICIT NONE
+INTEGER :: func_name
+PRINT *,func_name(2, 1.3)
+END PROGRAM
+
+if (x < x1) then
+  print 1
+else
+  print 2
+end if
+
+IF (x < 50) THEN
+   Grade = 'F'
+ELSE IF (x < 60) THEN
+   Grade = 'D'
+ELSE IF (x < 70) THEN
+   Grade = 'C'
+ELSE
+   Grade = 'A'
+END IF
diff --git a/tests/hello.html b/tests/hello.html
new file mode 100644
index 0000000000..0d029096f7
--- /dev/null
+++ b/tests/hello.html
@@ -0,0 +1,8 @@
+<html lang="en">
+<head>
+<link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
+</head>
+<body>
+<p>Hello world!</p>
+</body>
+</html>
\ No newline at end of file
diff --git a/tests/hello.js b/tests/hello.js
new file mode 100644
index 0000000000..73955f05bc
--- /dev/null
+++ b/tests/hello.js
@@ -0,0 +1,3 @@
+function hello() {
+  console.log('hello world');
+}
\ No newline at end of file
diff --git a/tests/hello.lua b/tests/hello.lua
new file mode 100644
index 0000000000..8a3acec496
--- /dev/null
+++ b/tests/hello.lua
@@ -0,0 +1,14 @@
+if configTable:FindFirstChild(configName) then
+    configs[configName] = configTable:FindFirstChild(configName).Value
+else
+    configs[configName] = defaultValue
+end
+
+local thread = coroutine.create(function()
+    while true do
+        wait()
+        if state then
+            display.Text = state.Name
+        end
+    end
+end)
diff --git a/tests/hello.m b/tests/hello.m
new file mode 100644
index 0000000000..8b9dc7263f
--- /dev/null
+++ b/tests/hello.m
@@ -0,0 +1,7 @@
+if a < 30
+  disp('small');
+elseif a < 80
+  disp('medium');
+else
+  disp('large');
+end
diff --git a/tests/hello.md b/tests/hello.md
new file mode 100644
index 0000000000..17998be30e
--- /dev/null
+++ b/tests/hello.md
@@ -0,0 +1,9 @@
+### test1
+```java
+Example 1
+```
+
+### test2
+```c
+Example 2
+```
diff --git a/tests/hello.v b/tests/hello.v
new file mode 100644
index 0000000000..48a09dd118
--- /dev/null
+++ b/tests/hello.v
@@ -0,0 +1,14 @@
+`ifdef behavioral
+ `include "groupA_beh.v ";
+ `include "groupB_beh.v ";
+ `include "ctrl_beh.v ";
+`else
+ `include "groupA_synth.v ";
+ `include "groupB_ synth.v ";
+ `include "ctrl_ synth.v ";
+`endif
+always @(WRITE or READ or STATUS) // test 
+ /* hello */  begin
+  out = 9;
+  end
+ // more comment



reply via email to

[Prev in Thread] Current Thread [Next in Thread]