nano

nano with my custom patches
git clone git://bsandro.tech/nano
Log | Files | Refs | README | LICENSE

commit ba9214c689b425a4fec07552db9cb5db597af0ab
parent 68acc1dfc5405010ac88e4a4c616b7fb6cdb4a79
Author: Luke Francl <look@recursion.org>
Date:   Thu, 23 Jun 2016 21:42:12 +0200

syntaxes: add highlighting rules for Rust

With tweaks from Andrea Canciani, Ben Young, Tennix, and Dirkjan Ochtman.

This fulfills https://savannah.gnu.org/bugs/?48163.

Diffstat:
Mdoc/syntax/Makefile.am | 1+
Adoc/syntax/rust.nanorc | 39+++++++++++++++++++++++++++++++++++++++
2 files changed, 40 insertions(+), 0 deletions(-)

diff --git a/doc/syntax/Makefile.am b/doc/syntax/Makefile.am @@ -34,6 +34,7 @@ pkgdata_DATA = asm.nanorc \ pov.nanorc \ python.nanorc \ ruby.nanorc \ + rust.nanorc \ sh.nanorc \ spec.nanorc \ tcl.nanorc \ diff --git a/doc/syntax/rust.nanorc b/doc/syntax/rust.nanorc @@ -0,0 +1,39 @@ +## Syntax highlighting for Rust. +## Copyright 2015 Luke Francl. +## Licensed under GPL version 3. + +## NOTE: Rules are applied in order: later rules re-colorize matching text. + +syntax "rust" "\.rs" +comment "//" + +# Function definitions +color magenta "fn [a-z_0-9]+" + +# Reserved words +color yellow "\<(abstract|alignof|as|become|box|break|const|continue|crate|do|else|enum|extern|false|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|offsetof|override|priv|pub|pure|ref|return|sizeof|static|self|struct|super|true|trait|type|typeof|unsafe|unsized|use|virtual|where|while|yield)\>" + +# Macros +color red "[a-z_]+!" + +# Constants +color magenta "[A-Z][A-Z_0-9]+" + +# Traits/Enums/Structs/Types/... +color magenta "[A-Z][a-z0-9]+" + +# Strings +color green "\".*\"" +color green start="\".*\\$" end=".*\"" +## NOTE: This isn't accurate, but matching "#{0,} for the end of the string is too liberal. +color green start="r#+\"" end="\"#+" + +# Comments +color blue "//.*" +color blue start="/\*" end="\*/" + +# Attributes +color magenta start="#!\[" end="\]" + +# Some common markers +color brightcyan "(XXX|TODO|FIXME|\?\?\?)"