qemacs-commit
[Top][All Lists]
Advanced

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

[Qemacs-commit] qemacs clang.c


From: Charlie Gordon
Subject: [Qemacs-commit] qemacs clang.c
Date: Sat, 21 May 2016 16:04:16 +0000 (UTC)

CVSROOT:        /sources/qemacs
Module name:    qemacs
Changes by:     Charlie Gordon <chqrlie>        16/05/21 16:04:16

Modified files:
        .              : clang.c 

Log message:
        clang: add C-minus colorizer

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemacs/clang.c?cvsroot=qemacs&r1=1.105&r2=1.106

Patches:
Index: clang.c
===================================================================
RCS file: /sources/qemacs/qemacs/clang.c,v
retrieving revision 1.105
retrieving revision 1.106
diff -u -b -r1.105 -r1.106
--- clang.c     6 Mar 2016 19:53:06 -0000       1.105
+++ clang.c     21 May 2016 16:04:16 -0000      1.106
@@ -62,6 +62,7 @@
     CLANG_CBANG,
     CLANG_VALA,
     CLANG_PAWN,
+    CLANG_CMINUS,
     CLANG_RUST,
     CLANG_SWIFT,
     CLANG_ICON,
@@ -2407,6 +2408,40 @@
     .fallback = &c_mode,
 };
 
+/*---------------- Kenneth Louden's C-minus language ----------------*/
+
+/* C minus supports a very crude subset of C:
+ *
+ * numbers: [0-9]+
+ * identifiers: [a-zA-Z]+
+ * comments: multi-line C comments
+ * keywords: if else return while
+ * types: int void
+ * operators: = ( ) { } [ ] \ . ; - + * / > < >= <= == !=
+ * no strings, charconst, pointers, preproc...
+ */
+
+static const char cminus_keywords[] = {
+    "if|else|return|while|",
+};
+
+static const char cminus_types[] = {
+    "int|void|"
+};
+
+ModeDef cminus_mode = {
+    .name = "C-minus",
+    .mode_name = "cminus",
+    .extensions = "cm",
+    .colorize_func = c_colorize_line,
+    .colorize_flags = CLANG_CMINUS,
+    .keywords = cminus_keywords,
+    .types = cminus_types,
+    .indent_func = c_indent_line,
+    .auto_indent = 1,
+    .fallback = &c_mode,
+};
+
 /*---------------- Other C based syntax modes ----------------*/
 
 #include "rust.c"
@@ -2467,6 +2502,7 @@
     qe_register_mode(&cbang_mode, MODEF_SYNTAX);
     qe_register_mode(&vala_mode, MODEF_SYNTAX);
     qe_register_mode(&pawn_mode, MODEF_SYNTAX);
+    qe_register_mode(&cminus_mode, MODEF_SYNTAX);
     rust_init();
     swift_init();
     icon_init();



reply via email to

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