diff --git a/ChangeLog b/ChangeLog index 0f8e3aeee210c9606bd9a3c59ff341040927cfa6..ed45ffab10b13e28e4668b01cdc0184dec468eeb 100644 --- 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 diff --git a/doc/syntax/Makefile.am b/doc/syntax/Makefile.am index 03bc8e3e003b955fc6c8c7799f3336cf8e32cd61..3428fb6a39a70b1c7295620d558911cb21252e14 100644 --- a/doc/syntax/Makefile.am +++ b/doc/syntax/Makefile.am @@ -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 index 0000000000000000000000000000000000000000..2a2bd2eb3616172900c685f21eb9cb7fb043e61a --- /dev/null +++ b/doc/syntax/elisp.nanorc @@ -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 index 0000000000000000000000000000000000000000..1feb09b2ad38972068448d570b5c4e72a18bd206 --- /dev/null +++ b/doc/syntax/guile.nanorc @@ -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:]]);.*$"