diff options
34 files changed, 897 insertions, 57 deletions
diff --git a/.compizsnap/left.sh b/.compizsnap/left.sh new file mode 100644 index 0000000..8fb479f --- /dev/null +++ b/.compizsnap/left.sh @@ -0,0 +1,23 @@ +#!/bin/sh +# +# CompizSnap is a collaborative project from ubuntuforums.org and is free software. +# This script adds window snapping functionality to compiz using the commands plugin. +# +# Directions: edit the mouse.sh script +# + +. $HOME/.compizsnap/mouse.sh + +WIDTH=`xdpyinfo | grep 'dimensions:' | sed -r 's/.*\s([0-9]+)x([0-9]+)\s.*/\1/'` +HALF=$(($WIDTH/2)) + +if (xinput --query-state $MOUSE | grep down) +then + echo ".compizsnap/left.sh: snapping because the mouse is pressed" + wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz + wmctrl -r :ACTIVE: -b add,maximized_vert + wmctrl -r :ACTIVE: -e 0,0,0,$HALF,-1 +else + echo ".compizsnap/left.sh: exiting because the mouse isn't pressed" +fi + diff --git a/.compizsnap/max.sh b/.compizsnap/max.sh new file mode 100644 index 0000000..d1115ec --- /dev/null +++ b/.compizsnap/max.sh @@ -0,0 +1,19 @@ +#!/bin/sh +# +# CompizSnap is a collaborative project from ubuntuforums.org and is free software. +# This script adds window snapping functionality to compiz using the commands plugin. +# +# Directions: edit the mouse.sh script +# + +. $HOME/.compizsnap/mouse.sh + +if (xinput --query-state $MOUSE | grep down) +then + echo ".compizsnap/max.sh: maximizing because the mouse is pressed" + wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz + wmctrl -r :ACTIVE: -b add,maximized_vert,maximized_horz +else + echo ".compizsnap/max.sh: exiting because the mouse isn't pressed" +fi + diff --git a/.compizsnap/mouse.sh b/.compizsnap/mouse.sh new file mode 100644 index 0000000..76d632c --- /dev/null +++ b/.compizsnap/mouse.sh @@ -0,0 +1,10 @@ +#!/bin/sh +# +# CompizSnap is a collaborative project from ubuntuforums.org and is free software. +# This script adds window snapping functionality to compiz using the commands plugin. +# +# Directions: run "xinput list" to find your mouse's ID# and then edit the MOUSE variable below: +# + +export MOUSE=12 + diff --git a/.compizsnap/right.sh b/.compizsnap/right.sh new file mode 100644 index 0000000..c79151f --- /dev/null +++ b/.compizsnap/right.sh @@ -0,0 +1,23 @@ +#!/bin/sh +# +# CompizSnap is a collaborative project from ubuntuforums.org and is free software. +# This script adds window snapping functionality to compiz using the commands plugin. +# +# Directions: edit the mouse.sh script +# + +. $HOME/.compizsnap/mouse.sh + +WIDTH=`xdpyinfo | grep 'dimensions:' | sed -r 's/.*\s([0-9]+)x([0-9]+)\s.*/\1/'` +HALF=$(($WIDTH/2)) + +if (xinput --query-state $MOUSE | grep down) +then + echo ".compizsnap/right.sh: snapping because the mouse is pressed" + wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz + wmctrl -r :ACTIVE: -b add,maximized_vert + wmctrl -r :ACTIVE: -e 0,$HALF,0,$HALF,-1 +else + echo ".compizsnap/right.sh: exiting because the mouse isn't pressed" +fi + diff --git a/.nano/nanorc.nanorc b/.nano/nanorc.nanorc deleted file mode 100644 index 6177a4b..0000000 --- a/.nano/nanorc.nanorc +++ /dev/null @@ -1,40 +0,0 @@ -syntax "nanorc" "\.nanorc$" - -# set/unset -color red "^(set|unset) (autoindent|backup|const|cut|historylog|keypad|multibuffer|noconvert|nofollow|nohelp|nowrap|preserve|regexp|smooth|suspend|tempfile|view)" -color cyan "^set (fill|operatingdir|quotestr|speller|tabsize) \w*" -color red "^set (fill|operatingdir|quotestr|speller|tabsize) " - -# syntax -color cyan "^syntax .*" - -# colors: "(bright)?(white|black|red|blue|green|yellow|magenta|cyan)" -color white,blue "white" -color black,white "black" -color red,white "red" -color blue,white "blue" -color green,white "green" -color yellow,white "yellow" -color magenta,white "magenta" -color cyan,white "cyan" - -color brightwhite,blue "brightwhite" -color brightblack,white "brightblack" -color brightred,white "brightred" -color brightblue,white "brightblue" -color brightgreen,white "brightgreen" -color brightyellow,white "brightyellow" -color brightmagenta,white "brightmagenta" -color brightcyan,white "brightcyan" - -# color -color cyan "start=\w*" -color cyan "end=\w*" - -# commands -color blue "^(set|unset|syntax|color|icolor|include) " -# comments -color green "#.*$" - -#quotes -#color yellow start="\"." end="[^((\\)*\)]\"" @@ -1,5 +1,312 @@ -include ~/.nano/nanorc.nanorc +## Sample initialization file for GNU nano. +## +## Please note that you must have configured nano with --enable-nanorc +## for this file to be read! Also note that this file should not be in +## DOS or Mac format, and that characters specially interpreted by the +## shell should not be escaped here. +## +## To make sure a value is disabled, use "unset <option>". +## +## For the options that take parameters, the default value is given. +## Other options are unset by default. +## +## Quotes inside string parameters don't have to be escaped with +## backslashes. The last double quote in the string will be treated as +## its end. For example, for the "brackets" option, ""')>]}" will match +## ", ', ), >, ], and }. -include ~/.nano/c.nanorc -include ~/.nano/diff.nanorc -include ~/.nano/php.nanorc +## Use auto-indentation. +set autoindent + +## Backup files to filename~. +# set backup + +## The directory to put unique backup files in. +set backupdir "~/.nano-backup" + +## Do backwards searches by default. +# set backwards + +## Use bold text instead of reverse video text. +# set boldtext + +## The characters treated as closing brackets when justifying +## paragraphs. They cannot contain blank characters. Only closing +## punctuation, optionally followed by closing brackets, can end +## sentences. +## +# set brackets ""')>]}" + +## Do case sensitive searches by default. +# set casesensitive + +## Constantly display the cursor position in the statusbar. Note that +## this overrides "quickblank". +# set const + +## Use cut to end of line by default. +# set cut + +## Set the line length for wrapping text and justifying paragraphs. +## If fill is 0 or less, the line length will be the screen width less +## this number. +## +# set fill -8 + +## Enable ~/.nano_history for saving and reading search/replace strings. +# set historylog + +## The opening and closing brackets that can be found by bracket +## searches. They cannot contain blank characters. The former set must +## come before the latter set, and both must be in the same order. +## +# set matchbrackets "(<[{)>]}" + +## Use the blank line below the titlebar as extra editing space. +# set morespace + +## Enable mouse support, if available for your system. When enabled, +## mouse clicks can be used to place the cursor, set the mark (with a +## double click), and execute shortcuts. The mouse will work in the X +## Window System, and on the console when gpm is running. +## +# set mouse + +## Allow multiple file buffers (inserting a file will put it into a +## separate buffer). You must have configured with --enable-multibuffer +## for this to work. +## +# set multibuffer + +## Don't convert files from DOS/Mac format. +set noconvert + +## Don't follow symlinks when writing files. +# set nofollow + +## Don't display the helpful shortcut lists at the bottom of the screen. +# set nohelp + +## Don't add newlines to the ends of files. +set nonewlines + +## Don't wrap text at all. +# set nowrap + +## Set operating directory. nano will not read or write files outside +## this directory and its subdirectories. Also, the current directory +## is changed to here, so any files are inserted from this dir. A blank +## string means the operating directory feature is turned off. +## +# set operatingdir "" + +## Preserve the XON and XOFF keys (^Q and ^S). +# set preserve + +## The characters treated as closing punctuation when justifying +## paragraphs. They cannot contain blank characters. Only closing +## punctuation, optionally followed by closing brackets, can end +## sentences. +## +# set punct "!.?" + +## Do quick statusbar blanking. Statusbar messages will disappear after +## 1 keystroke instead of 26. Note that "const" overrides this. +## +# set quickblank + +## The email-quote string, used to justify email-quoted paragraphs. +## This is an extended regular expression if your system supports them, +## otherwise a literal string. Default: +# set quotestr "^([ ]*[#:>\|}])+" +## if you have extended regular expression support, otherwise: +# set quotestr "> " + +## Fix Backspace/Delete confusion problem. +# set rebinddelete + +## Fix numeric keypad key confusion problem. +# set rebindkeypad + +## Do extended regular expression searches by default. +# set regexp + +## Make the Home key smarter. When Home is pressed anywhere but at the +## very beginning of non-whitespace characters on a line, the cursor +## will jump to that beginning (either forwards or backwards). If the +## cursor is already at that position, it will jump to the true +## beginning of the line. +set smarthome + +## Use smooth scrolling as the default. +set smooth + +## Enable soft line wrapping (AKA full line display). +set softwrap + +## Use this spelling checker instead of the internal one. This option +## does not properly have a default value. +## +# set speller "aspell -x -c" + +## Allow nano to be suspended. +# set suspend + +## Use this tab size instead of the default; it must be greater than 0. +# set tabsize 8 + +## Convert typed tabs to spaces. +# set tabstospaces + +## Save automatically on exit, don't prompt. +# set tempfile + +## Enable the new (EXPERIMENTAL) generic undo code, not just for line +## cuts. +# set undo + +## Disallow file modification. Why would you want this in an rcfile? ;) +# set view + +## The two single-column characters used to display the first characters +## of tabs and spaces. 187 in ISO 8859-1 (0000BB in Unicode) and 183 in +## ISO-8859-1 (0000B7 in Unicode) seem to be good values for these. +# set whitespace " " + +## Detect word boundaries more accurately by treating punctuation +## characters as parts of words. +# set wordbounds + + +## Color setup +## +## Format: +## +## syntax "short description" ["filename regex" ...] +## +## The "none" syntax is reserved; specifying it on the command line is +## the same as not having a syntax at all. The "default" syntax is +## special: it takes no filename regexes, and applies to files that +## don't match any other syntax's filename regexes. +## +## color foreground,background "regex" ["regex"...] +## or +## icolor foreground,background "regex" ["regex"...] +## +## "color" will do case sensitive matches, while "icolor" will do case +## insensitive matches. +## +## Valid colors: white, black, red, blue, green, yellow, magenta, cyan. +## For foreground colors, you may use the prefix "bright" to get a +## stronger highlight. +## +## To use multi-line regexes, use the start="regex" end="regex" +## [start="regex" end="regex"...] format. +## +## If your system supports transparency, not specifying a background +## color will use a transparent color. If you don't want this, be sure +## to set the background color to black or white. +## +## If you wish, you may put your syntaxes in separate files. You can +## make use of such files (which can only include "syntax", "color", and +## "icolor" commands) as follows: +## +## include "/path/to/syntax_file.nanorc" +## +## Unless otherwise noted, the name of the syntax file (without the +## ".nanorc" extension) should be the same as the "short description" +## name inside that file. These names are kept fairly short to make +## them easier to remember and faster to type using nano's -Y option. +## +## All regexes should be extended regular expressions. + +## Key bindings +## Please see nanorc(5) for more details on this +## +## Here are some samples to get you going +## +# bind M-W nowrap main +# bind M-A casesens search +# bind ^S research main + +## Set this if your backspace key sends delete most of the time (2.1.3+) +# bind kdel backspace all + + +## Nanorc files +include "/home/luke/share/nano/nanorc.nanorc" + +## C/C++ +include "/home/luke/share/nano/c.nanorc" + +## Makefiles +include "/home/luke/share/nano/makefile.nanorc" + +## Cascading Style Sheets +include "/home/luke/share/nano/css.nanorc" + +## Debian files +include "/home/luke/share/nano/debian.nanorc" + +## Gentoo files +include "/home/luke/share/nano/gentoo.nanorc" + +## HTML +include "/home/luke/share/nano/html.nanorc" + +## PHP +include "/home/luke/share/nano/php.nanorc" + +## TCL +include "/home/luke/share/nano/tcl.nanorc" + +## TeX +include "/home/luke/share/nano/tex.nanorc" + +## Quoted emails (under e.g. mutt) +include "/home/luke/share/nano/mutt.nanorc" + +## Patch files +include "/home/luke/share/nano/patch.nanorc" + +## Manpages +include "/home/luke/share/nano/man.nanorc" + +## Groff +include "/home/luke/share/nano/groff.nanorc" + +## Perl +include "/home/luke/share/nano/perl.nanorc" + +## Python +include "/home/luke/share/nano/python.nanorc" + +## Ruby +include "/home/luke/share/nano/ruby.nanorc" + +## Java +include "/home/luke/share/nano/java.nanorc" + +## Fortran +include "/home/luke/share/nano/fortran.nanorc" + +## Objective-C +include "/home/luke/share/nano/objc.nanorc" + +## OCaml +include "/home/luke/share/nano/ocaml.nanorc" + +## AWK +include "/home/luke/share/nano/awk.nanorc" + +## Assembler +include "/home/luke/share/nano/asm.nanorc" + +## Bourne shell scripts +include "/home/luke/share/nano/sh.nanorc" + +## POV-Ray +include "/home/luke/share/nano/pov.nanorc" + +## XML-type files +include "/home/luke/share/nano/xml.nanorc" diff --git a/share/nano/asm.nanorc b/share/nano/asm.nanorc new file mode 100644 index 0000000..e94ee90 --- /dev/null +++ b/share/nano/asm.nanorc @@ -0,0 +1,17 @@ +## Here is an example for assembler. +## +syntax "asm" "\.(S|s|asm)$" +color red "\<[A-Z_]{2,}\>" +color brightgreen "\.(data|subsection|text)" +color green "\.(align|file|globl|global|hidden|section|size|type|weak)" +color brightyellow "\.(ascii|asciz|byte|double|float|hword|int|long|short|single|struct|word)" +icolor brightred "^[[:space:]]*[.0-9A-Z_]*:" +color brightcyan "^[[:space:]]*#[[:space:]]*(define|undef|include|ifn?def|endif|elif|else|if|warning|error)" +## Highlight strings (note: VERY resource intensive) +color brightyellow "<[^= ]*>" ""(\\.|[^"])*"" +color brightyellow start=""(\\.|[^"])*\\[[:space:]]*$" end="^(\\.|[^"])*"" +## Highlight comments +color brightblue "//.*" +color brightblue start="/\*" end="\*/" +## Highlight trailing whitespace +color ,green "[[:space:]]+$" diff --git a/share/nano/awk.nanorc b/share/nano/awk.nanorc new file mode 100644 index 0000000..696ab6a --- /dev/null +++ b/share/nano/awk.nanorc @@ -0,0 +1,38 @@ +## Here is an example for awk. +## +syntax "awk" "\.awk$" +## records +icolor brightred "\$[0-9A-Z_!@#$*?-]+" +## awk-set variables +color red "\<(ARGC|ARGIND|ARGV|BINMODE|CONVFMT|ENVIRON|ERRNO|FIELDWIDTHS)\>" +color red "\<(FILENAME|FNR|FS|IGNORECASE|LINT|NF|NR|OFMT|OFS|ORS)\>" +color red "\<(PROCINFO|RS|RT|RSTART|RLENGTH|SUBSEP|TEXTDOMAIN)\>" +## function declarations and special patterns +color brightgreen "\<(function|extension|BEGIN|END)\>" +## operators +color green "(\{|\}|\(|\)|\;|\]|\[|\\|<|>|!|=|&|\+|-|\*|%|/|\?:|\^|\|)" +## flow control +color brightyellow "\<(for|if|while|do|else|in|delete|exit)\>" +color brightyellow "\<(break|continue|return)\>" +## I/O statements +color brightgreen "\<(close|getline|next|nextfile|print|printf)\>" +color brightgreen "\<(system|fflush)\>" +## standard functions +color magenta "\<(atan2|cos|exp|int|log|rand|sin|sqrt|srand)\>" +color magenta "\<(asort|asorti|gensub|gsub|index|length|match)\>" +color magenta "\<(split|sprintf|strtonum|sub|substr|tolower|toupper)\>" +color magenta "\<(mktime|strftime|systime)\>" +color magenta "\<(and|compl|lshift|or|rshift|xor)\>" +color magenta "\<(bindtextdomain|dcgettext|dcngettext)\>" + +## +## String highlighting. You will in general want your comments and +## strings to come last, because syntax highlighting rules will be +## applied in the order they are read in. +color brightyellow "<[^= ]*>" ""(\\.|[^"])*"" + +## Comment highlighting +color brightblue "(^|[[:space:]])#.*$" + +## Trailing whitespace +color ,green "[[:space:]]+$" diff --git a/.nano/c.nanorc b/share/nano/c.nanorc index abe2e58..b89c9d2 100644 --- a/.nano/c.nanorc +++ b/share/nano/c.nanorc @@ -1,30 +1,30 @@ -syntax "c" "\.(c|C|cc|cpp|cxx|h|H|hh|hpp|hxx)$" -## Preprocessor directives (Anything that begins with #) -color brightblack "#+(.*)" +## Here is an example for C/C++. ## -## General syntax -color brightred "\<[A-Z_][0-9A-Z_]+\>" -color green "\<(float|double|bool|char|int|short|long|sizeof|enum|void|static|const|struct|union|typedef|extern|signed|unsigned|inline)\>" -color green "\<(u_?)?int(8|16|32|64|ptr)_t\>" +syntax "c" "\.(c(c|pp|xx)?|C)$" "\.(h(h|pp|xx)?|H)$" "\.ii?$" +color brightred "\<[A-Z_][0-9A-Z_]+\>" +color green "\<(float|double|bool|char|int|short|long|sizeof|enum|void|static|const|struct|union|typedef|extern|(un)?signed|inline)\>" +color green "\<((s?size)|((u_?)?int(8|16|32|64|ptr)))_t\>" color green "\<(class|namespace|template|public|protected|private|typename|this|friend|virtual|using|mutable|volatile|register|explicit)\>" color brightyellow "\<(for|if|while|do|else|case|default|switch)\>" color brightyellow "\<(try|throw|catch|operator|new|delete)\>" -color magenta "\<(goto|continue|break|return|throw)\>" -color brightcyan "^space:*#space:*(define|undef|include|ifn?def|endif|elif|else|if|warning|error)" +color magenta "\<(goto|continue|break|return)\>" +color brightcyan "^[[:space:]]*#[[:space:]]*(define|include(_next)?|(un|ifn?)def|endif|el(if|se)|if|warning|error|pragma)" color brightmagenta "'([^'\]|(\\["'abfnrtv\\]))'" "'\\(([0-3]?[0-7]{1,2}))'" "'\\x[0-9A-Fa-f]{1,2}'" ## ## GCC builtins -color cyan "__attribute__space:*\(\([^)]*\)\)" "__(aligned|asm|builtin|hidden|inline|packed|restrict|section|typeof|weak)__" +color cyan "__attribute__[[:space:]]*\(\([^)]*\)\)" "__(aligned|asm|builtin|hidden|inline|packed|restrict|section|typeof|weak)__" ## ## String highlighting. You will in general want your comments and ## strings to come last, because syntax highlighting rules will be ## applied in the order they are read in. -color brightyellow "<[^= ]*>" ""(\\.|[^"])*"" +color brightyellow "<[^= ]*>" ""(\\.|[^"])*"" ## ## This string is VERY resource intensive! -color brightyellow start=""(\\.|[^"])*\\space:*$" end="^(\\.|[^"])*"" -## +color brightyellow start=""(\\.|[^"])*\\[[:space:]]*$" end="^(\\.|[^"])*"" + ## Comment highlighting color brightblue "//.*" color brightblue start="/\*" end="\*/" +## Trailing whitespace +color ,green "[[:space:]]+$" diff --git a/share/nano/cmake.nanorc b/share/nano/cmake.nanorc new file mode 100644 index 0000000..3c52f7d --- /dev/null +++ b/share/nano/cmake.nanorc @@ -0,0 +1,19 @@ +## CMake syntax highlighter for GNU Nano +## +syntax "cmake" "(CMakeLists\.txt|\.cmake)$" + +icolor green "^[[:space:]]*[A-Z0-9_]+" +icolor brightyellow "^[[:space:]]*(include|include_directories|include_external_msproject)\>" + +icolor brightgreen "^[[:space:]]*\<((else|end)?if|else|(end)?while|(end)?foreach|break)\>" +color brightgreen "\<(NOT|COMMAND|POLICY|TARGET|EXISTS|IS_(DIRECTORY|ABSOLUTE)|DEFINED)\>[[:space:]]" +color brightgreen "[[:space:]]\<(OR|AND|IS_NEWER_THAN|MATCHES|(STR|VERSION_)?(LESS|GREATER|EQUAL))\>[[:space:]]" + +icolor brightred "^[[:space:]]*\<((end)?(function|macro)|return)" + +icolor cyan start="\$(\{|ENV\{)" end="\}" +color magenta "\<(APPLE|UNIX|WIN32|CYGWIN|BORLAND|MINGW|MSVC(_IDE|60|71|80|90)?)\>" + +icolor brightblue "^([[:space:]]*)?#.*" +icolor brightblue "[[:space:]]#.*" +color ,green "[[:space:]]+$" diff --git a/share/nano/css.nanorc b/share/nano/css.nanorc new file mode 100644 index 0000000..98eea18 --- /dev/null +++ b/share/nano/css.nanorc @@ -0,0 +1,9 @@ +## Here is an example for css files. +## +syntax "css" "\.css$" +color brightred "." +color brightyellow start="\{" end="\}" +color brightwhite start=":" end="([;^\{]|$)" +color brightblue ":active|:focus|:hover|:link|:visited|:link|:after|:before|$" +color brightblue start="\/\*" end="\\*/" +color green ";|:|\{|\}" diff --git a/share/nano/debian.nanorc b/share/nano/debian.nanorc new file mode 100644 index 0000000..a945dee --- /dev/null +++ b/share/nano/debian.nanorc @@ -0,0 +1,20 @@ +## Here is an exmaple for apt's sources.list +## Adapted from http://milianw.de/blog/Syntax-Highlighting-in-Nano +## (mail@milianw.de). +## +syntax "apt/sources.list" "sources\.list(\.old|~)?$" +# component +color brightmagenta "^deb(-src)? ((http|file|ftp):/[^ ]+|cdrom:\[[^\]]+\]/|cdrom:\[[-a-zA-Z0-9\._\(\) ]+\]/) [^ ]+ .+$" +# distribution +color brightred "^deb(-src)? ((http|file|ftp):/[^ ]+|cdrom:\[[^\]]+\]/|cdrom:\[[-a-zA-Z0-9\._\(\) ]+\]/) [^ ]+" +# URI +color brightgreen "(http|file|ftp):/[^ ]+" +# cdroms +# [^\]] does not work... +color brightgreen "cdrom:\[[-a-zA-Z0-9\._\(\) ]+\]/" +# deb / deb-src +color yellow "^deb" +color yellow "^deb-src" +# comments +color brightblue "#.*" + diff --git a/share/nano/fortran.nanorc b/share/nano/fortran.nanorc new file mode 100644 index 0000000..cc0c726 --- /dev/null +++ b/share/nano/fortran.nanorc @@ -0,0 +1,41 @@ +## Here is an example for Fortran 90/95 + +syntax "fortran" "\.(f|f90|f95)$" + +#color red "\<[A-Z_]a[0-9A-Z_]+\>" +color red "\<[0-9]+\>" + +icolor green "\<(action|advance|all|allocatable|allocated|any|apostrophe)\>" +icolor green "\<(append|asis|assign|assignment|associated|character|common)\>" +icolor green "\<(complex|data|default|delim|dimension|double precision)\>" +icolor green "\<(elemental|epsilon|external|file|fmt|form|format|huge)\>" +icolor green "\<(implicit|include|index|inquire|integer|intent|interface)\>" +icolor green "\<(intrinsic|iostat|kind|logical|module|none|null|only)>" +icolor green "\<(operator|optional|pack|parameter|pointer|position|private)\>" +icolor green "\<(program|public|real|recl|recursive|selected_int_kind)\>" +icolor green "\<(selected_real_kind|subroutine|status)\>" + +icolor cyan "\<(abs|achar|adjustl|adjustr|allocate|bit_size|call|char)\>" +icolor cyan "\<(close|contains|count|cpu_time|cshift|date_and_time)\>" +icolor cyan "\<(deallocate|digits|dot_product|eor|eoshift|function|iachar)\>" +icolor cyan "\<(iand|ibclr|ibits|ibset|ichar|ieor|iolength|ior|ishft|ishftc)\>" +icolor cyan "\<(lbound|len|len_trim|matmul|maxexponent|maxloc|maxval|merge)\>" +icolor cyan "\<(minexponent|minloc|minval|mvbits|namelist|nearest|nullify)\>" +icolor cyan "\<(open|pad|present|print|product|pure|quote|radix)\>" +icolor cyan "\<(random_number|random_seed|range|read|readwrite|replace)\>" +icolor cyan "\<(reshape|rewind|save|scan|sequence|shape|sign|size|spacing)\>" +icolor cyan "\<(spread|sum|system_clock|target|transfer|transpose|trim)\>" +icolor cyan "\<(ubound|unpack|verify|write|tiny|type|use|yes)\>" + +icolor yellow "\<(.and.|case|do|else|else?if|else?where|end|end?do|end?if)\>" +icolor yellow "\<(end?select|.eqv.|forall|if|lge|lgt|lle|llt|.neqv.|.not.)\>" +icolor yellow "\<(.or.|repeat|select case|then|where|while)\>" + +icolor magenta "\<(continue|cycle|exit|go?to|result|return)\>" + +## String highlighting. +icolor yellow "<[^= ]*>" ""(\\.|[^"])*"" + +## Comment highlighting +icolor blue "!.*" + diff --git a/share/nano/gentoo.nanorc b/share/nano/gentoo.nanorc new file mode 100644 index 0000000..2ad1597 --- /dev/null +++ b/share/nano/gentoo.nanorc @@ -0,0 +1,55 @@ +## Here is an example for Gentoo ebuilds/eclasses +## +syntax "ebuild" "\.e(build|class)$" +## All the standard portage functions +color brightgreen "^src_(unpack|prepare|configure|compile|install|test)" "^pkg_(config|nofetch|setup|(pre|post)(inst|rm))" +## Highlight bash related syntax +color green "\<(case|do|done|elif|else|esac|exit|fi|for|function|if|in|local|read|return|select|shift|then|time|until|while|continue|break)\>" +color green "\<(declare|eval|exec|let)\>" +color green "(\{|\}|\(|\)|\;|\]|\[|`|\\|\$|<|>|!|=|&|\|)" +color green "-[edfgruwxL]\>" +color green "-(eq|ne|gt|lt|ge|le|s|n|z)\>" +## Highlight variables ... official portage ones in red, all others in bright red +color brightred "\$\{?[a-zA-Z_0-9]+\}?" +color red "\<(EAPI|ARCH|HOMEPAGE|DESCRIPTION|IUSE|SRC_URI|LICENSE|SLOT|KEYWORDS|(P|R)?DEPEND|PROVIDE|PROPERTIES|RESTRICT|USERLAND)\>" +color red "\<(S|D|T|PV|PF|P|PN|PR|PVR|A|CATEGORY|DISTDIR|FILESDIR|ROOT|WORKDIR)\>" "\<(AS|C(PP|XX)?|LD)FLAGS\>" "\<C(HOST|TARGET|BUILD)\>" +color red "\<QA_((TEXTRELS|EXECSTACK|WX_LOAD)(_[a-zA-Z_0-9]+)?|DT_HASH|PRESTRIPPED)\>" "\<WANT_AUTO(CONF|MAKE)\>" "\<AT_M4DIR\>" +## Highlight portage commands +color magenta "\<use(_(with|enable))?\> [!a-zA-Z0-9_+ -]*" "inherit.*" +color brightblue "\<e(begin|end|conf|install|make|qmake[34]|ant|(qa)?warn|infon?|error|log|patch|new(group|user))\>" +color brightblue "\<e(pause|beep|mktemp|(cvs|svn)_clean|punt_cxx)\>" "\<e(aclocal|auto(reconf|header|conf|make))\>" +color brightblue "\<built_with_use\>" "\<make_desktop_entry\>" "\<unpack(_(makeself|pdv))?\>" +color brightblue "\<die\>" "\<use(_(with|enable))?\>" "\<inherit\>" "\<has\>" "\<(has|best)_version\>" +color brightblue "\<(do|new)(ins|(games)?s?bin|doc|lib(\.so|\.a)?|man|info|exe|initd|confd|envd|pam|menu|icon)\>" +color brightblue "\<do(python|sed|dir|hard|sym|html|jar|mo)\>" "\<keepdir\>" +color brightblue "prepall(docs|info|man|strip)?" "prep(info|lib|lib\.(so|a)|man|strip|gamesdirs)" +color brightblue "\<(doc|ins|exe)?into\>" "\<(f|games)(owners|perms)\>" "\<(exe|ins|dir)opts\>" +## Highlight common commands used in ebuilds +color blue "\<make\>" "\<(awk|cat|cd|chmod|chown|cp|echo|env|export|find|e?grep|ln|mkdir|mv|rm|sed|set|tar|touch|unset|xargs)\>" +## Highlight comments (doesnt work that well) +color yellow "(^|[[:space:]])#.*$" +## Highlight strings (doesnt work that well) +color brightyellow ""(\\.|[^\"])*"" "'(\\.|[^'])*'" +## Trailing space is bad! +color ,green "[[:space:]]+$" + +## Here is an example for Portage control files +## +syntax "/etc/portage" "\.(keywords|mask|unmask|use)(/.+)?$" +## Base text: +color green "^.+$" +## Use flags: +color brightred "[[:space:]]+\+?[a-zA-Z0-9_-]+" +color brightblue "[[:space:]]+-[a-zA-Z0-9_-]+" +## Likely version and slot numbers: +color magenta "-[[:digit:]].*([[:space:]]|$)" +color magenta ":[^[:space:]]+([[:space:]]|$)" +## Accepted arches: +color white "[~-]?\<(alpha|amd64|arm|hppa|ia64|mips|ppc|ppc64|s390|sh|sparc(-fbsd)?|x86(-fbsd)?)\>" +color white "[[:space:]][*~-]?\*" +## Categories: +color cyan "^[[:space:]]*.*/" +## Masking regulators: +color brightmagenta "^[[:space:]]*(=|~|<|<=|=<|>|>=|=>)" +## Comments: +color yellow "#.*$" diff --git a/share/nano/groff.nanorc b/share/nano/groff.nanorc new file mode 100644 index 0000000..02b82b8 --- /dev/null +++ b/share/nano/groff.nanorc @@ -0,0 +1,24 @@ +## Here is an example for groff. +## +syntax "groff" "\.m[ems]$" "\.rof" "\.tmac$" "^tmac." +## The argument of .ds or .nr +color cyan "^\.(ds|nr) [^[[:space:]]]*" +## Single character escapes +color brightmagenta "\\." +## Highlight the argument of \f or \s in the same color +color brightmagenta "\\f." "\\f\(.." "\\s(\+|\-)?[0-9]" +## Newlines +color cyan "(\\|\\\\)n(.|\(..)" +color cyan start="(\\|\\\\)n\[" end="]" +## Requests +color brightgreen "^\.[[:space:]]*[^[[:space:]]]*" +## Comments +color yellow "^\.\\".*$" +## Strings +color green "(\\|\\\\)\*(.|\(..)" +color green start="(\\|\\\\)\*\[" end="]" +## Characters +color brightred "\\\(.." +color brightred start="\\\[" end="]" +## Macro arguments +color brightcyan "\\\\\$[1-9]" diff --git a/share/nano/html.nanorc b/share/nano/html.nanorc new file mode 100644 index 0000000..d31467d --- /dev/null +++ b/share/nano/html.nanorc @@ -0,0 +1,5 @@ +## Here is a short example for HTML. +## +syntax "html" "\.html$" +color blue start="<" end=">" +color red "&[^;[[:space:]]]*;" diff --git a/share/nano/java.nanorc b/share/nano/java.nanorc new file mode 100644 index 0000000..a432f81 --- /dev/null +++ b/share/nano/java.nanorc @@ -0,0 +1,12 @@ +## Here is an example for Java. +## +syntax "java" "\.java$" +color green "\<(boolean|byte|char|double|float|int|long|new|short|this|transient|void)\>" +color red "\<(break|case|catch|continue|default|do|else|finally|for|if|return|switch|throw|try|while)\>" +color cyan "\<(abstract|class|extends|final|implements|import|instanceof|interface|native|package|private|protected|public|static|strictfp|super|synchronized|throws|volatile)\>" +color red ""[^"]*"" +color yellow "\<(true|false|null)\>" +color blue "//.*" +color blue start="/\*" end="\*/" +color brightblue start="/\*\*" end="\*/" +color ,green "[[:space:]]+$" diff --git a/share/nano/makefile.nanorc b/share/nano/makefile.nanorc new file mode 100644 index 0000000..93a1e76 --- /dev/null +++ b/share/nano/makefile.nanorc @@ -0,0 +1,8 @@ +# unattributed syntax highlighting example from wiki.linuxhelp.net/ + +syntax "makefile" "Makefile[^/]*$" +color red "[:=]" +color magenta "\<(if|ifeq|else|endif)\>" +color blue "\$+[{(][a-zA-Z0-9_-]+[})]" +color brightblue "^[^ ]+:" +color green "#.*$" diff --git a/share/nano/man.nanorc b/share/nano/man.nanorc new file mode 100644 index 0000000..85efd26 --- /dev/null +++ b/share/nano/man.nanorc @@ -0,0 +1,9 @@ +## Here is an example for manpages. +## +syntax "man" "\.[1-9]x?$" +color green "\.(S|T)H.*$" +color brightgreen "\.(S|T)H" "\.TP" +color brightred "\.(BR?|I[PR]?).*$" +color brightblue "\.(BR?|I[PR]?|PP)" +color brightwhite "\\f[BIPR]" +color yellow "\.(br|DS|RS|RE|PD)" diff --git a/share/nano/mgp.nanorc b/share/nano/mgp.nanorc new file mode 100644 index 0000000..daba282 --- /dev/null +++ b/share/nano/mgp.nanorc @@ -0,0 +1,8 @@ +## Here is an example for Magicpoint presentations +## +syntax "mgp" "\.mgp$" +header "^%include.*" +icolor green "^%[a-z].*$" +color cyan "(^|[[:space:]])#.*$" +color cyan "(^|[[:space:]])%%.*$" +color ,green "[[:space:]]+$" diff --git a/share/nano/mutt.nanorc b/share/nano/mutt.nanorc new file mode 100644 index 0000000..2e68399 --- /dev/null +++ b/share/nano/mutt.nanorc @@ -0,0 +1,4 @@ +## Here is an example for quoted emails (under e.g. mutt). +## +syntax "mutt" +color green "^>.*" diff --git a/share/nano/nanorc.nanorc b/share/nano/nanorc.nanorc new file mode 100644 index 0000000..19ab533 --- /dev/null +++ b/share/nano/nanorc.nanorc @@ -0,0 +1,16 @@ +## Here is an example for nanorc files. +## +syntax "nanorc" "\.?nanorc$" +## Possible errors and parameters +icolor brightwhite "^[[:space:]]*((un)?set|include|syntax|i?color).*$" +## Keywords +icolor brightgreen "^[[:space:]]*(set|unset)[[:space:]]+(allow_insecure_backup|autoindent|backup|backupdir|backwards|boldtext|brackets|casesensitive|const|cut|fill|historylog|matchbrackets|morespace|mouse|multibuffer|noconvert|nofollow|nohelp|nonewlines|nowrap|operatingdir|preserve|punct)\>" "^[[:space:]]*(set|unset)[[:space:]]+(quickblank|quotestr|rebinddelete|rebindkeypad|regexp|smarthome|smooth|softwrap|speller|suspend|suspendenable|tabsize|tabstospaces|tempfile|undo|view|whitespace|wordbounds)\>" +icolor green "^[[:space:]]*(set|unset|include|syntax|header)\>" +## Colors +icolor yellow "^[[:space:]]*i?color[[:space:]]*(bright)?(white|black|red|blue|green|yellow|magenta|cyan)?(,(white|black|red|blue|green|yellow|magenta|cyan))?\>" +icolor magenta "^[[:space:]]*i?color\>" "\<(start|end)=" +## Strings +icolor white ""(\\.|[^"])*"" +## Comments +icolor brightblue "^[[:space:]]*#.*$" +icolor cyan "^[[:space:]]*##.*$" diff --git a/share/nano/objc.nanorc b/share/nano/objc.nanorc new file mode 100644 index 0000000..cdf6e48 --- /dev/null +++ b/share/nano/objc.nanorc @@ -0,0 +1,41 @@ +## Here is an example for C/C++/Obj-C. +## +syntax "m" "\.m$" + + +## Stuffs +color brightwhite "\<[A-Z_][0-9A-Z_]+\>" +color green "\<(float|double|BOOL|bool|char|int|short|long|id|sizeof|enum|void|static|const|struct|union|typedef|extern|(un)?signed|inline)\>" +color green "\<[[:alpha:]_][[:alnum:]_]*_t\>" +color green "\<(class|namespace|template|public|protected|private|typename|this|friend|virtual|using|mutable|volatile|register|explicit)\>" +color brightgreen "\<(for|if|while|do|else|case|default|switch)\>" +color brightgreen "\<(try|throw|catch|operator|new|delete)\>" +color brightgreen "\<(goto|continue|break|return)\>" +color brightgreen "@\<(en(code|d)|i(mplementation|nterface)|selector)\>" +## +## GCC builtins +color cyan "__attribute__[[:space:]]*\(\([^)]*\)\)" "__(aligned|asm|builtin|hidden|inline|packed|restrict|section|typeof|weak)__" + +## Selector/method +color brightmagenta "(^|[[:space:]])\[.*[[:space:]].*\]" +color white ":[[:alnum:]]*" +color magenta "[[:alnum:]]*:" +color white "\[[^][:space:]]*\]" + +## +## String highlighting. You will in general want your comments and +## strings to come last, because syntax highlighting rules will be +## applied in the order they are read in. +color brightblack "'([^'\]|(\\["'abfnrtv\\]))'" "'\\(([0-3]?[0-7]{1,2}))'" "'\\x[0-9A-Fa-f]{1,2}'" +color brightblack "<[^= ]*>" ""(\\.|[^"])*"" +color brightblue "@"(\\.|[^"])*"" +## +## This string is VERY resource intensive! +## color brightyellow start=""(\\.|[^"])*\\[[:space:]]*$" end="^(\\.|[^"])*"" + +color brightblue "^[[:space:]]*#[[:space:]]*(define|include|import|(un|ifn?)def|endif|el(if|se)|if|warning|error)" + +## Comment highlighting +color yellow "//.*" +color yellow start="/\*" end="\*/" + diff --git a/share/nano/ocaml.nanorc b/share/nano/ocaml.nanorc new file mode 100644 index 0000000..fc71ae2 --- /dev/null +++ b/share/nano/ocaml.nanorc @@ -0,0 +1,27 @@ +# OCaml sample nanorc +# +syntax "ocaml" "\.mli?$" +#uid +color red "\<[A-Z][0-9a-z_]{2,}\>" +#declarations +color green "\<(let|val|method|in|and|rec|private|virtual|constraint)\>" +#structure items +color red "\<(type|open|class|module|exception|external)\>" +#patterns +color blue "\<(fun|function|functor|match|try|with)\>" +#patterns-modifiers +color yellow "\<(as|when|of)\>" +#conditions +color cyan "\<(if|then|else)\>" +#blocs +color magenta "\<(begin|end|object|struct|sig|for|while|do|done|to|downto)\>" +#constantes +color green "\<(true|false)\>" +#modules/classes +color green "\<(include|inherit|initializer)\>" +#expr modifiers +color yellow "\<(new|ref|mutable|lazy|assert|raise)\>" +#comments +color white start="\(\*" end="\*\)" +#strings (no multiline handling yet) +color brightblack ""[^\"]*"" diff --git a/.nano/diff.nanorc b/share/nano/patch.nanorc index 1e14b25..a788b35 100644 --- a/.nano/diff.nanorc +++ b/share/nano/patch.nanorc @@ -1,3 +1,5 @@ +## Here is an example for patch files. +## syntax "patch" "\.(patch|diff)$" color brightgreen "^\+.*" color green "^\+\+\+.*" diff --git a/share/nano/perl.nanorc b/share/nano/perl.nanorc new file mode 100644 index 0000000..b5a5606 --- /dev/null +++ b/share/nano/perl.nanorc @@ -0,0 +1,12 @@ +## Here is an example for Perl. +## +syntax "perl" "\.p[lm]$" +header "^#!.*/perl[-0-9._]*" +color red "\<(accept|alarm|atan2|bin(d|mode)|c(aller|h(dir|mod|op|own|root)|lose(dir)?|onnect|os|rypt)|d(bm(close|open)|efined|elete|ie|o|ump)|e(ach|of|val|x(ec|ists|it|p))|f(cntl|ileno|lock|ork))\>" "\<(get(c|login|peername|pgrp|ppid|priority|pwnam|(host|net|proto|serv)byname|pwuid|grgid|(host|net)byaddr|protobynumber|servbyport)|([gs]et|end)(pw|gr|host|net|proto|serv)ent|getsock(name|opt)|gmtime|goto|grep|hex|index|int|ioctl|join)\>" "\<(keys|kill|last|length|link|listen|local(time)?|log|lstat|m|mkdir|msg(ctl|get|snd|rcv)|next|oct|open(dir)?|ord|pack|pipe|pop|printf?|push|q|qq|qx|rand|re(ad(dir|link)?|cv|do|name|quire|set|turn|verse|winddir)|rindex|rmdir|s|scalar|seek(dir)?)\>" "\<(se(lect|mctl|mget|mop|nd|tpgrp|tpriority|tsockopt)|shift|shm(ctl|get|read|write)|shutdown|sin|sleep|socket(pair)?|sort|spli(ce|t)|sprintf|sqrt|srand|stat|study|substr|symlink|sys(call|read|tem|write)|tell(dir)?|time|tr(y)?|truncate|umask)\>" "\<(un(def|link|pack|shift)|utime|values|vec|wait(pid)?|wantarray|warn|write)\>" +color magenta "\<(continue|else|elsif|do|for|foreach|if|unless|until|while|eq|ne|lt|gt|le|ge|cmp|x|my|sub|use|package|can|isa)\>" +icolor cyan start="[$@%]" end="( |[^0-9A-Z_]|-)" +color yellow "".*"|qq\|.*\|" +color white "[sm]/.*/" +color white start="(^use| = new)" end=";" +color green "#.*" +color yellow start="<< 'STOP'" end="STOP" diff --git a/share/nano/php.nanorc b/share/nano/php.nanorc new file mode 100644 index 0000000..8ef495f --- /dev/null +++ b/share/nano/php.nanorc @@ -0,0 +1,30 @@ +## Here is an example for PHP +## +syntax "php" "\.php[2345s~]?$" + +## php markings +color brightgreen "(<\?(php)?|\?>)" + +## functions +color white "\<[a-z_]*\(" + +## types +color green "\<(var|float|global|double|bool|char|int|enum|const)\>" + +## structure +color brightyellow "\<(class|new|private|public|function|for|foreach|if|while|do|else|elseif|case|default|switch)\>" + +## control flow +color magenta "\<(goto|continue|break|return)\>" + +## strings +color brightyellow "<[^= ]*>" ""(\.|[^"])*"" + +## comments +color brightblue "//.*" +color brightblue start="/\*" end="\*/" +#color blue start="<" end=">" +#color red "&[^;[[:space:]]]*;" + +## Trailing whitespace +color ,green "[[:space:]]+$" diff --git a/share/nano/pov.nanorc b/share/nano/pov.nanorc new file mode 100644 index 0000000..298b201 --- /dev/null +++ b/share/nano/pov.nanorc @@ -0,0 +1,15 @@ +## Here is an example for POV-Ray. +## +syntax "pov" "\.(pov|POV|povray|POVRAY)$" +color brightcyan "^[[:space:]]*#[[:space:]]*(declare)" +color brightyellow "\<(sphere|cylinder|translate|matrix|rotate|scale)\>" +color brightyellow "\<(orthographic|location|up|right|direction|clipped_by)\>" +color brightyellow "\<(fog_type|fog_offset|fog_alt|rgb|distance|transform)\>" +color brightred "^\<(texture)\>" +color brightred "\<(light_source|background)\>" +color brightred "\<(fog|object|camera)\>" +color green "(\{|\}|\(|\)|\;|\]|\[|`|\\|\$|<|>|!|=|&|\|)" +color brightmagenta "\<(union|group|subgroup)\>" +## Comment highlighting +color brightblue "//.*" +color brightblue start="/\*" end="\*/" diff --git a/share/nano/python.nanorc b/share/nano/python.nanorc new file mode 100644 index 0000000..4280274 --- /dev/null +++ b/share/nano/python.nanorc @@ -0,0 +1,10 @@ +## Here is an example for Python. +## +syntax "python" "\.py$" +header "^#!.*/python[-0-9._]*" +icolor brightblue "def [0-9A-Z_]+" +color brightcyan "\<(and|as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|not|or|pass|print|raise|return|try|while|with|yield)\>" +color brightgreen "['][^']*[^\\][']" "[']{3}.*[^\\][']{3}" +color brightgreen "["][^"]*[^\\]["]" "["]{3}.*[^\\]["]{3}" +color brightgreen start=""""[^"]" end=""""" start="'''[^']" end="'''" +color brightred "#.*$" diff --git a/share/nano/ruby.nanorc b/share/nano/ruby.nanorc new file mode 100644 index 0000000..b30b229 --- /dev/null +++ b/share/nano/ruby.nanorc @@ -0,0 +1,31 @@ +## Here is an example for Ruby. +## +syntax "ruby" "\.rb$" +header "^#!.*/ruby[-0-9._]*" +## Asciibetical list of reserved words +color yellow "\<(BEGIN|END|alias|and|begin|break|case|class|def|defined\?|do|else|elsif|end|ensure|false|for|if|in|module|next|nil|not|or|redo|rescue|retry|return|self|super|then|true|undef|unless|until|when|while|yield)\>" +## Constants +color brightblue "(\$|@|@@)?\<[A-Z]+[0-9A-Z_a-z]*" +## Ruby "symbols" +icolor magenta "([ ]|^):[0-9A-Z_]+\>" +## Some unique things we want to stand out +color brightyellow "\<(__FILE__|__LINE__)\>" +## Regular expressions +color brightmagenta "/([^/]|(\\/))*/[iomx]*" "%r\{([^}]|(\\}))*\}[iomx]*" +## Shell command expansion is in `backticks` or like %x{this}. These are +## "double-quotish" (to use a perlism). +color brightblue "`[^`]*`" "%x\{[^}]*\}" +## Strings, double-quoted +color green ""([^"]|(\\"))*"" "%[QW]?\{[^}]*\}" "%[QW]?\([^)]*\)" "%[QW]?<[^>]*>" "%[QW]?\[[^]]*\]" "%[QW]?\$[^$]*\$" "%[QW]?\^[^^]*\^" "%[QW]?![^!]*!" +## Expression substitution. These go inside double-quoted strings, +## "like #{this}". +color brightgreen "#\{[^}]*\}" +## Strings, single-quoted +color green "'([^']|(\\'))*'" "%[qw]\{[^}]*\}" "%[qw]\([^)]*\)" "%[qw]<[^>]*>" "%[qw]\[[^]]*\]" "%[qw]\$[^$]*\$" "%[qw]\^[^^]*\^" "%[qw]![^!]*!" +## Comments +color cyan "#[^{].*$" "#$" +color brightcyan "##[^{].*$" "##$" +## "Here" docs +color green start="<<-?'?EOT'?" end="^EOT" +## Some common markers +color brightcyan "(XXX|TODO|FIXME|\?\?\?)" diff --git a/share/nano/sh.nanorc b/share/nano/sh.nanorc new file mode 100644 index 0000000..ecce22e --- /dev/null +++ b/share/nano/sh.nanorc @@ -0,0 +1,14 @@ +## Here is an example for Bourne shell scripts. +## +syntax "sh" "\.sh$" +header "^#!.*/(ba|k|pdk)?sh[-0-9_]*" +icolor brightgreen "^[0-9A-Z_]+\(\)" +color green "\<(case|do|done|elif|else|esac|exit|fi|for|function|if|in|local|read|return|select|shift|then|time|until|while)\>" +color green "(\{|\}|\(|\)|\;|\]|\[|`|\\|\$|<|>|!|=|&|\|)" +color green "-[Ldefgruwx]\>" +color green "-(eq|ne|gt|lt|ge|le|s|n|z)\>" +color brightblue "\<(cat|cd|chmod|chown|cp|echo|env|export|grep|install|let|ln|make|mkdir|mv|rm|sed|set|tar|touch|umask|unset)\>" +icolor brightred "\$\{?[0-9A-Z_!@#$*?-]+\}?" +color cyan "(^|[[:space:]])#.*$" +color brightyellow ""(\\.|[^"])*"" "'(\\.|[^'])*'" +color ,green "[[:space:]]+$" diff --git a/share/nano/tcl.nanorc b/share/nano/tcl.nanorc new file mode 100644 index 0000000..ad3401f --- /dev/null +++ b/share/nano/tcl.nanorc @@ -0,0 +1,16 @@ +syntax "tcl" "\.tcl$" + +## Standard Tcl [info commands] +color green "\<(after|append|array|auto_execok|auto_import|auto_load|auto_load_index|auto_qualify|binary|break|case|catch|cd|clock|close|concat|continue|encoding|eof|error|eval|exec|exit|expr|fblocked|fconfigure|fcopy|file|fileevent|flush|for|foreach|format|gets|glob|global|history|if|incr|info|interp|join|lappend|lindex|linsert|list|llength|load|lrange|lreplace|lsearch|lset|lsort|namespace|open|package|pid|puts|pwd|read|regexp|regsub|rename|return|scan|seek|set|socket|source|split|string|subst|switch|tclLog|tell|time|trace|unknown|unset|update|uplevel|upvar|variable|vwait|while)\>" +## Basic Tcl sub commands. +color green "\<(array anymore|array donesearch|array exists|array get|array names|array nextelement|array set|array size|array startsearch|array statistics|array unset)\>" +color green "\<(string bytelength|string compare|string equal|string first|string index|string is|string last|string length|string map|string match|string range|string repeat|string replace|string to|string tolower|string totitle|string toupper|string trim|string trimleft|string trimright|string will|string wordend|string wordstart)\>" +## Extended TclX [info commands] +color green "\<(alarm|auto_load_pkg|bsearch|catclose|catgets|catopen|ccollate|cconcat|cequal|chgrp|chmod|chown|chroot|cindex|clength|cmdtrace|commandloop|crange|csubstr|ctoken|ctype|dup|echo|execl|fcntl|flock|fork|fstat|ftruncate|funlock|host_info|id|infox|keyldel|keylget|keylkeys|keylset|kill|lassign|lcontain|lempty|lgets|link|lmatch|loadlibindex|loop|lvarcat|lvarpop|lvarpush|max|min|nice|pipe|profile|random|readdir|replicate|scancontext|scanfile|scanmatch|select|server_accept|server_create|signal|sleep|sync|system|tclx_findinit|tclx_fork|tclx_load_tndxs|tclx_sleep|tclx_system|tclx_wait|times|translit|try_eval|umask|wait)\>" +## Syntax. +color brightblue "proc[[:space:]]" "(\{|\})" +color green "(\(|\)|\;|`|\\|\$|<|>|!|=|&|\|)" +color brightyellow ""(\\.|[^"])*"" "'(\\.|[^'])*'" +icolor brightred "\$\{?[0-9A-Z_!@#$*?-]+\}?" +color ,green "[[:space:]]+$" +color ,magenta "^[[:space:]]*#.*" diff --git a/share/nano/tex.nanorc b/share/nano/tex.nanorc new file mode 100644 index 0000000..23ca3a4 --- /dev/null +++ b/share/nano/tex.nanorc @@ -0,0 +1,6 @@ +## Here is a short example for TeX files. +## +syntax "tex" "\.tex$" +icolor green "\\.|\\[A-Z]*" +color magenta "[{}]" +color blue "(^|[^\])%.*" diff --git a/share/nano/xml.nanorc b/share/nano/xml.nanorc new file mode 100644 index 0000000..1f68c05 --- /dev/null +++ b/share/nano/xml.nanorc @@ -0,0 +1,9 @@ +## Here is an example for xml files. +## +syntax "xml" "\.([jrs]html?|sgml?|xml|xslt?)$" +color green start="<" end=">" +color cyan "<[^> ]+" +color cyan ">" +color yellow start="<!DOCTYPE" end="[/]?>" +color yellow start="<!--" end="-->" +color red "&[^;]*;" |