]> git.wh0rd.org Git - nano.git/commitdiff
Adding two files: syntax highlighting for Emacs Lisp and Guile Scheme.
authorBenno Schulenberg <bensberg@justemail.net>
Sat, 18 Apr 2015 13:04:57 +0000 (13:04 +0000)
committerBenno Schulenberg <bensberg@justemail.net>
Sat, 18 Apr 2015 13:04:57 +0000 (13:04 +0000)
Patch by Mark Oteiza.  (Tweaked by Benno.)

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5204 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

ChangeLog
doc/syntax/Makefile.am
doc/syntax/elisp.nanorc [new file with mode: 0644]
doc/syntax/guile.nanorc [new file with mode: 0644]

index 0f8e3aeee210c9606bd9a3c59ff341040927cfa6..ed45ffab10b13e28e4668b01cdc0184dec468eeb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2015-04-18  Mark Oteiza  <mvoteiza@udel.edu>
        * doc/syntax/{python,ruby,sh,tex}.nanorc: Add a linter definition.
+       * doc/syntax/elisp.nanorc: New file; syntax highlighting for Elisp.
+       * doc/syntax/guile.nanorc: New file; syntax highlighting for Guile.
 
 2015-04-17  Benno Schulenberg  <bensberg@justemail.net>
        * src/text.c (do_alt_speller, do_linter, do_formatter): Distinguish
index 03bc8e3e003b955fc6c8c7799f3336cf8e32cd61..3428fb6a39a70b1c7295620d558911cb21252e14 100644 (file)
@@ -6,10 +6,12 @@ pkgdata_DATA =        asm.nanorc \
                css.nanorc \
                debian.nanorc \
                default.nanorc \
+               elisp.nanorc \
                fortran.nanorc \
                gentoo.nanorc \
                go.nanorc \
                groff.nanorc \
+               guile.nanorc \
                html.nanorc \
                java.nanorc \
                javascript.nanorc \
diff --git a/doc/syntax/elisp.nanorc b/doc/syntax/elisp.nanorc
new file mode 100644 (file)
index 0000000..2a2bd2e
--- /dev/null
@@ -0,0 +1,31 @@
+## Here is an example for Emacs Lisp.
+
+syntax "elisp" "\.el$"
+
+# Basic functions/macros
+color brightcyan "\<(if|when|unless|cond|and|or|lambda|let|progn|while|dolist|dotimes)\>"
+color brightcyan "\<save-((window-)?excursion|restriction)\>"
+color brightcyan "\<eval-(and|when)-compile\>"
+# Defining functions
+color brightcyan "\<def(un|macro|subst|generic|alias)\>"
+color brightcyan "\<cl-def(un|macro|subst|generic|struct|type)\>"
+color brightcyan "\<define-(derived|minor|generic)-mode\>"
+# Defining variables
+color brightcyan "\<def(class|const|var(-local|alias)?)\>"
+# Customization functions
+color brightcyan "\<def(custom|face|group|theme)\>"
+# Setting values
+color brightcyan "\<(setq(-default|-local)?|setf|push|pop|declare(-function)?)\>"
+# Feature functions
+color brightcyan "\<(require|provide)\>"
+# Quoted symbols
+color brightyellow "#?'\<(\w|-)+\>"
+# Booleans
+color brightred "\<(t|nil)\>"
+# Keywords
+color blue ":(\w|[?-])+"
+# Strings
+color yellow start="^[[:blank:]]+\"" end="[^\]\""
+color yellow ""(\\.|[^"])*""
+# Comments
+color cyan "(^|[[:space:]]);.*$"
diff --git a/doc/syntax/guile.nanorc b/doc/syntax/guile.nanorc
new file mode 100644 (file)
index 0000000..1feb09b
--- /dev/null
@@ -0,0 +1,24 @@
+## Here is an example for Guile Scheme.
+
+syntax "guile" "\.scm$"
+header "^#!.*guile"
+magic "guile"
+
+# Basic scheme functions
+color green "\<(do|if|lambda|let(rec)?|map|unless|when)\>"
+# Defining things
+color brightcyan "\<define(-macro|-module|-public|-syntax)?\>"
+# Quoted symbols
+color brightyellow "'\<(\w|-)+\>"
+# Chars
+color brightmagenta "#\\."
+color brightmagenta "#\\\w+\>"
+# Booleans
+color brightred "(#t|#f)\>"
+# Keywords
+color blue "#?:(\w|[?-])+"
+# Strings
+color yellow start="^[[:blank:]]+\"" end="[^\]\""
+color yellow ""(\\.|[^"])*""
+# Comments
+color cyan "(^|[[:space:]]);.*$"