JavaScript is one of the famous langugae, it needs a built-in driver. As it was 
not present in the userdiff, this leads to the patch.
First line consists of some of the well used javascript keywords. Statements in 
js use one or many keywords like variable declaration, function definition, 
logical opreation etc. The following line is for statements of type 
object.method() & it is expected to end any statement using ";". The word_regex 
in js is usual alpha-numeric. Last two line shows all the different types of 
operators in js and different types of number system used in js are also 
defined.

Signed-off-by: sourav mondal <souravcristiano...@gmail.com>
---

I'm working on "Add more built-in driver for userdiff" as my microproject for 
Gsoc17. This patch is for javascript which is one of the popular language at 
this time. I'm willing to add more driver for other laguage that isn't present 
in userdiff.c and again I'm willing to participate in Gsoc17 with git. I'm 
eager to know about this patch.

thanks & regards
sourav

 userdiff.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/userdiff.c b/userdiff.c
index 8b732e4..2f8e078 100644
--- a/userdiff.c
+++ b/userdiff.c
@@ -160,6 +160,16 @@ IPATTERN("css",
         "-?[_a-zA-Z][-_a-zA-Z0-9]*" /* identifiers */
         "|-?[0-9]+|\\#[0-9a-fA-F]+" /* numbers */
 ),
+PATTERNS("javascript",
+        /* keywords/patterns*/
+        "^[ 
\t]*(var|if|else|for|do|while|switch|case|function|break|continue|new|return|class|super|instanceof)"
+        "^[ \t]*(([a-zA-Z_][a-zA-Z0-9])*[ \t]*\\.?[a-zA-Z_]*\\(\\)[ \t]*);$",
+        /* word_regex */
+        "[a-zA-Z_][a-zA-Z0-9]*"
+        "|[-+0-9.eE]+|0[bB]?|[xX]?|o?[0-9a-fA-F]+"
+        "|[==-+*/%<>&|!**=^]="
+        "|--|\\+\\+|<<=?|>>>?=?|&&|\|\|"
+),
 { "default", NULL, -1, { NULL, 0 } },
 };
 #undef PATTERNS
-- 
2.9.3

Reply via email to