From 0256f1b5a6e1bdbae60f7b6ceaa5691045ac29f0 Mon Sep 17 00:00:00 2001
From: Marijn Haverbeke <marijnh@gmail.com>
Date: Fri, 6 Jan 2012 13:20:02 +0100
Subject: [PATCH] Update verilog mode

by Soumen Basak
---
 mode/verilog/verilog.js | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/mode/verilog/verilog.js b/mode/verilog/verilog.js
index 9aba6a28..736d16ad 100644
--- a/mode/verilog/verilog.js
+++ b/mode/verilog/verilog.js
@@ -5,7 +5,7 @@ CodeMirror.defineMode("verilog", function(config, parserConfig) {
       atoms = parserConfig.atoms || {},
       hooks = parserConfig.hooks || {},
       multiLineStrings = parserConfig.multiLineStrings;
-  var isOperatorChar = /[+\-*&%=<>!?|\/]/;
+  var isOperatorChar = /[&|~><!\)\(*#%@+\/=?\:;}{,\.\^\-\[\]]/;
 
   var curPunc;
 
@@ -15,7 +15,7 @@ CodeMirror.defineMode("verilog", function(config, parserConfig) {
       var result = hooks[ch](stream, state);
       if (result !== false) return result;
     }
-    if (ch == '"' || ch == "'") {
+    if (ch == '"') {
       state.tokenize = tokenString(ch);
       return state.tokenize(stream, state);
     }
@@ -23,8 +23,8 @@ CodeMirror.defineMode("verilog", function(config, parserConfig) {
       curPunc = ch;
       return null
     }
-    if (/\d/.test(ch)) {
-      stream.eatWhile(/[\w\.]/);
+    if (/[\d']/.test(ch)) {
+      stream.eatWhile(/[\w\.']/);
       return "number";
     }
     if (ch == "/") {
@@ -189,6 +189,6 @@ CodeMirror.defineMode("verilog", function(config, parserConfig) {
     keywords: words(verilogKeywords),
     blockKeywords: words(verilogBlockKeywords),
     atoms: words("null"),
-    hooks: {"`": metaHook}
+    hooks: {"`": metaHook, "$": metaHook}
   });
 }());
-- 
GitLab