## 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 characters specially
## interpreted by the shell should not be escaped here.
##
## To make sure a value is not enabled, use "unset <option>"
##
## For the options that take parameters, the default value is given.
## Other options are unset by default.
## Use auto-indentation.
# set autoindent
## Backup files to filename~.
# set backup
## The directory to put unique backup files in.
# set backupdir ""
## Do backwards searches by default.
# set backwards
## The characters treated as closing brackets. 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 cancels out "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
## Use the blank line below the titlebar as extra editing space.
# set morespace
## Enable mouse support, so that mouse clicks can be used to set the
## mark and run shortcuts.
# 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 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 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. 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 25. Note that "const" cancels this out.
##
# 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 regexps, otherwise:
# set quotestr "> "
## You can get old nano quoted-justify behavior via:
# 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
## 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
## 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 decimal (00BB hexadecimal) and 183 decimal
## (00B7 hexadecimal) seem to be good values for these.
# set whitespace " "
## Detect word boundaries more accurately by treating punctuation
## characters as part of a word.
# 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.)
##
## Legal colors: white, black, red, blue, green, yellow, magenta, cyan.
## You may use the prefix "bright" to mean a stronger color highlight
## for the foreground.
##
## To use multi-line regexes, use the 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.
##
# syntax "c-file" "\.(c|C|cc|cpp|cxx|h|H|hh|hpp|hxx)$"
# color brightred "\<[A-Z_][A-Z_0-9]+\>"
# 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\>"
# 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)\>"
# color brightcyan "^[[:space:]]*#[[:space:]]*(define|undef|include|ifn?def|endif|elif|else|if|warning|error)"
# color brightmagenta "'([^\]|(\\['abfnrtv\\]))'" "'\\(([0-7][0-7]?)|([0-3][0-7][0-7]))'" "'\\x[0-9A-Fa-f][0-9A-Fa-f]?'"
##
## GCC builtins
##
# color cyan "__attribute__[[:space:]]*\(\([^)]*\)\)" "__(aligned|asm|builtin|hidden|inline|packed|restrict|section|typeof|weak)__"
##
## 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 "<[^= ]*>" ""(\\.|[^\"])*""
##
## This string is VERY resource intensive!
# color brightyellow start=""(\\.|[^\"])*\\[[:space:]]*$" end="^(\\.|[^\"])*""
##
## And we want to have some nice comment highlighting too
# color brightblue "//.*"
# color brightblue start="/\*" end="\*/"
## Here is a short example for HTML
# syntax "HTML" "\.html$"
# color blue start="<" end=">"
# color red "&[^;[[:space:]]]*;"
## Here is a short example for TeX files
# syntax "TeX" "\.tex$"
# icolor green "\\.|\\[A-Z]*"
# color magenta "[{}]"
# color blue "%.*"
## Here is an example for quoted emails (under e.g. mutt)
# syntax "mutt"
# color green "^>.*"
## Here is an example for groff
##
# syntax "groff" "\.m[ems]$" "\.tmac$" "^tmac." ".rof"
## The argument of .nr or .ds
# color cyan "^\.ds [^[[:space:]]]*"
# color cyan "^\.nr [^[[:space:]]]*"
## Single character escapes
# color brightmagenta "\\."
## Highlight the argument of \f or \s in the same color
# color brightmagenta "\\f."
# color brightmagenta "\\f\(.."
# color brightmagenta "\\s(\+|\-)?[0-9]"
## \n
# color cyan "(\\|\\\\)n."
# color cyan "(\\|\\\\)n\(.."
# color cyan start="(\\|\\\\)n\[" end="]"
## Requests
# color brightgreen "^\.[[:space:]]*[^[[:space:]]]*"
## Comments
# color yellow "^\.\\\".*$"
## Strings
# color green "(\\|\\\\)\*."
# color green "(\\|\\\\)\*\(.."
# color green start="(\\|\\\\)\*\[" end="]"
## Characters
# color brightred "\\\(.."
# color brightred start="\\\[" end="]"
## Macro arguments
# color brightcyan "\\\\\$[1-9]"
## Here is an example for perl
##
# syntax "perl" "\.p[lm]$"
# 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)\>"
# color cyan start="[$@%]" end="( |\\W|-)"
# color yellow "".*"|qq\|.*\|"
# color white "[sm]/.*/"
# color white start="(^use| = new)" end=";"
# color green "#.*"
# color yellow start="<< 'STOP'" end="STOP"
## Here is an example for Java source
##
# syntax "Java source" "\.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 brightgreen,green "[[:space:]]+$"
## Here is an example for patch files
##
# syntax "patch" "\.(patch|diff)$"
# color brightgreen "^\+.*"
# color green "^\+\+\+.*"
# color brightblue "^ .*"
# color brightred "^-.*"
# color red "^---.*"
# color brightyellow "^@@.*"
# color magenta "^diff.*"
## Here is an example for manpages
##
# syntax "manpage" "\.[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)"
## Here is an example for assembler
##
# syntax "asm-file" "\.(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:]]*[._A-Z0-9]*:"
# 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="\*/"
## Here is an example for Bourne shell scripts
##
# syntax "shellscript" "\.sh$"
# icolor brightgreen "^[_A-Z0-9]+\(\)"
# 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 "-(L|d|e|f|g|r|u|w|x)\>"
# 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 "\$\{?[_A-Z0-9]+\}?"
# color yellow "#.*$"
# color brightyellow ""(\\.|[^\"])*"" "'(\\.|[^'])*'"
## Here is an example for your .nanorc
##
# syntax "nanorc" "(\.|/|)nanorc$"
## highlight possible errors and parameters
# icolor brightwhite "^[[:space:]]*(set|unset|syntax|i?color).*$"
## set, unset and syntax
# icolor cyan "^[[:space:]]*(set|unset)[[:space:]]+(autoindent|backup|backupdir|backwards|brackets|casesensitive|const|cut|fill|historylog|morespace|mouse|multibuffer|noconvert|nofollow|nohelp|nowrap|operatingdir|preserve|punct|quickblank|quotestr|rebinddelete)\>" "^[[:space:]]*(set|unset)[[:space:]]+(rebindkeypad|regexp|smarthome|smooth|speller|suspend|tabsize|tabstospaces|tempfile|view|whitespace|wordbounds)\>"
# icolor green "^[[:space:]]*(set|unset|syntax)\>"
## 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 blue "^[[:space:]]*#.*$"
## Here is an example for ebuilds/eclasses
##
syntax "ebuild" "\.e(build|class)$"
## All the standard portage functions
color brightgreen "^src_(unpack|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)\>"
color green "(\{|\}|\(|\)|\;|\]|\[|`|\\|\$|<|>|!|=|&|\|)"
color green "-(e|d|f|r|g|u|w|x|L)\>"
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 "\<(ARCH|HOMEPAGE|DESCRIPTION|IUSE|SRC_URI|LICENSE|SLOT|KEYWORDS|FILESDIR|WORKDIR|(P|R)?DEPEND|PROVIDE|DISTDIR|RESTRICT|USERLAND)\>"
color red "\<(S|D|T|PV|PF|P|PN|A)\>" "\<C(XX)?FLAGS\>" "\<LDFLAGS\>" "\<C(HOST|TARGET|BUILD)\>"
## Highlight portage commands
color magenta "\<use(_(with|enable))?\> [!a-zA-Z0-9_+ -]*" "inherit.*"
color brightblue "e(begin|end|conf|install|make|warn|infon?|error|patch)"
color brightblue "\<die\>" "\<use(_(with|enable))?\>" "\<inherit\>" "\<has\>" "\<(has|best)_version\>" "\<unpack\>"
color brightblue "\<(do|new)(ins|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)"
color brightblue "\<(|doc|ins|exe)into\>" "\<f(owners|perms)\>" "\<(exe|ins|dir)opts\>"
## Highlight common commands used in ebuilds
color blue "\<make\>" "\<(cat|cd|chmod|chown|cp|echo|env|export|grep|let|ln|mkdir|mv|rm|sed|set|tar|touch|unset)\>"
## Highlight comments (doesnt work that well)
# color yellow "#.*$"
## Highlight strings (doesnt work that well)
# color brightyellow ""(\\.|[^\"])*"" "'(\\.|[^'])*'"
##############################################################################
#
# Here is an example for shell scripts
#
#
##############################################################################
syntax "shellscript" "\.sh$"
color brightgreen "^[a-zA-Z_0-9]+\(\)"
color magenta "\<(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 "-(e|d|f|r|g|u|w|x|L)\>"
#color green "-(eq|ne|gt|lt|ge|le|s|n|z)\>"
color brightgreen "(\{|\}|\(|\)|\;|\]|\[|`|\\|\$|<|>|!|=|&|\|)"
color brightgreen "-(e|d|f|r|g|u|w|x|L)\>"
color brightgreen "-(eq|ne|gt|lt|ge|le|s|n|z)\>"
color brightblue "\<make\>" "\<(cat|cd|chmod|chown|cp|echo|env|export|grep|install|let|ln|mkdir|mv|rm|sed|set|tar|touch|umask|unset)\>"
color brightred "\$\{?[a-zA-Z_0-9]+\}?"
color yellow "#.*$"
color brightcyan ""(\\.|[^\"])*"" "'(\\.|[^'])*'"
##############################################################################
## PHP syntax highlighting
##############################################################################
syntax "php" "\.php$" "\.php[2345s]$" "\.phtml$"
#special
color brightwhite "([^A-Za-z0-9])|(<\?php|\?>|var|and|or|default|class|extends|true|false|global|function|new|switch|case|break|next|prev|elseif|if|else|foreach|for|as|do|while|exit|declare|require_once|require|include_once|include|return)([^A-Za-z0-9])"
#types
color brightblue "([^A-Za-z0-9])|(null|int|string|array|float|bool|object|resource)[^A-Za-z0-9]"
#functions (Ack! - Too many!)
color brightmagenta "([^A-Za-z0-9])|(setcookie|base64_encode|base64_decode|serialize|unserialize|sprintf|rmdir|move_uploaded_file|readdir|chdir|closedir|getcwd|shuffle|strpos|array_reverse|rsort|arsort|array_search|array_merge|array_slice|strnatcasecmp|strtolower|strtoupper|round|ceil|floor|filetype|fileowner|filegroup|fileperms|filesize|fileatime|filemtime|array_push|array_pop|is_dir|realpath|sort|usort|substr_count|file_get_contents|in_array|chr|opendir|substr|mktime|getdata|date|fopen|fwrite|fread|fclose|sizeof|nl2br|str_replace|strstr|preg_match_all|preg_replace|preg_match|preg_split|basename|file_exists|copy|isset|time|unlink|session_start|trim|rtrim|md5|echo|print|printf|explode|implode|array|split|join|stripslashes|addslashes|die|function|mysql_error|mysql_connect|mysql_select_db|mysql_close|mysql_query)([^A-Za-z0-9])*"
#Etc global command ;) (added by ObsidianX)
color blue "([^A-Za-z0-9])|(global|if|else)([^A-Za-z0-9])*"
#Variables
color brightcyan "\$[A-Za-z0-9_\>-]*"
#strings
color brightyellow ""(\\.|[^\"])*""
color brightyellow "'(\\.|[^\'])*'"
#color brightyellow start=""(\\.|[^\"])*\\( | )*$" end="^(\\.|[^\"])*""
#color brightblue start="\".*" end=".*\""
#comments
color brightred "//.*"
color brightred "#.*"
color brightred start="/\*" end="\*/"
##############################################################################
## syntax highlighting in xorg.conf
##
##############################################################################
syntax "xorg" "xorg\.conf$"
color brightwhite "(Section|EndSection|Sub[sS]ection|EndSub[sS]ection)"
# keywords
color yellow "[^A-Za-z0-9](Identifier|Screen|InputDevice|Option|RightOf|LeftOf|Driver|RgbPath|FontPath|ModulePath|Load|VendorName|ModelName|BoardName|BusID|Device|Monitor|DefaultDepth|View[pP]ort|Depth|Virtual|Modes|Mode|DefaultColorDepth|Modeline|\+vsync|\+hsync|HorizSync|VertRefresh)[^A-Za-z0-9]"
# numbers
color magenta "[0-9]"
# strings
color green ""(\\.|[^\"])*""
# comments
color blue "#.*"
##############################################################################
#
# Syntax highlighting for C files
#
# Author: Josef 'Jupp' Schugt, jupp(a)rubyforge.org
# License: GPL 2 or later
#
# Version: 2004-02-25
#
##############################################################################
syntax "c-file" "\.(c|h)$"
# Default
color white "^.+$"
# Trigraphs
color brightyellow "\?\?[-=(\\)'<!>]"
# Decimal, cotal and hexadecimal numbers
color red "\<[-+]?([1-9][0-9]*|0[0-7]*|0x[0-9a-fA-F]+)([uU][lL]?|[lL][uU]?)?\>"
# Floating point number with at least one digit before decimal point
color red "\<[-+]?([0-9]+\.[0-9]*|[0-9]*\.[0-9]+)([EePp][+-]?[0-9]+)?[fFlL]?"
color red "\<[-+]?([0-9]+[EePp][+-]?[0-9]+)[fFlL]?"
# Keywords
color brightyellow "\<(break|case|continue|default|do|else|for|goto|if)\>"
color brightyellow "\<(inline|return|sizeof|switch|typedef|while)\>"
# Storage classes
color cyan "\<(auto|register|static|extern)\>"
# Type qualifiers
color cyan "\<(const|restrict|volatile)\>"
# Enumerations, structs, and unions
color cyan "\<(enum|struct|union)\>"
# Type specifiers
color cyan "\<(char|double|float|int|long|short|(un)?signed|void)\>"
color cyan "\<(_(Bool|Complex|Imaginary)|FILE|va_list|wc(trans|type)_t)\>"
color cyan "\<(u?int((_fast|_least)?(8|16|32|64)|max|ptr)|w(char|int))_t|\>"
# Preprocessor directives: Conditions
color red "^[ \t]*#(ifn?def|else|endif)\>"
color red "^[ \t]*#(if|elif)[ \t]*!?[ \t]*(defined)?\>"
# Preprocessor directive: Set line number
color yellow "^[ \t]*#line\>.*$"
color red "^[ \t]*#line\>"
# Preprocessor: Issue error message
color yellow "^[ \t]*#error\>.*$"
color red "^[ \t]*#error\>"
# Preprocessor: Pragma (don't ask :-)
color yellow "^[ \t]*#pragma\>.*$"
color red "^[ \t]*#pragma\>"
# Preprocessor: Predefined macros
color red "__(LINE|FILE|func|DATE|TIME|STD(C|_HOSTED|_VERSION))__"
# Preprocessor directives: Definition
color red "^[ \t]*#(define|undef)\>"
# Preprocessor directive: File inclusion
color yellow "^[ \t]*#include[ \t]*(\"[^"]*\"|<[^>]*>)"
color red "^[ \t]*#include\>"
# String
color yellow "L?\"(\\"|[^"])*\""
color yellow "L?'(\'|[^'])*'"
# Escapes
color red "\\[0-7][0-7]?[0-7]?|\\x[0-9a-fA-F]+|\\[abfnrtv'"\?\\]""
# Comments
color magenta start="/\*" end="\*/"
color magenta "//.*$"
##############################################################################
#
# Ruby syntax highlighting for Nano.
#
# Author: Josef 'Jupp' Schugt, jupp(a)rubyforge.org
# License: GPL 2 or later
#
# Version: 2004-02-27
#
##############################################################################
# Automatically use for '.rb' files
syntax "ruby" ".*\.*rb$"
# General
color white ".+"
color brightyellow "::|\*\*|!|~|\*|/|%|\+|-|&|<<|>>|\|\^|>|>=|<|<=|<=>|\|\||!=|=~|!~|&&|\+=|-=|=|\.\.|\.\.\.|\<(not|and|or)\>"
# Keywords
color brightyellow "\<(BEGIN|END|alias|and|begin|break|case|class|def|defined|do|else|elsif|end|ensure|for|if|in|module)\>"
color brightyellow "\<(next|not|or|redo|rescue|retry|return|self|super|then|undef|unless|until|when|while|yield)\>"
# false, nil, true
color magenta "\<(false|nil|true)\>"
# Above must not match 'nil?'
color white "\<nil\?"
# external stuff
color brightgreen "(\<(load|require|include)|%q|%!|%Q|%r|%x)\>"
# Iterators
color brightgreen "\|\w+(,[ \t]*\w+)*\|"
# Constants
color yellow "\<[A-Z]\w*\>"
# Variables starting with '$', '@' or '@@'
color white "(\$|@@?)\w+\>"
# Function names ending in '!' or '?'
color white "\w+(!|\?)"
# Symbols
color yellow "([ \t]|^):(@|@@|\$)?\w+\>"
color green "\"(\\.|[^\\\"])*\"|'(\\.|[^\\'])*'"
# Strings
color green "\"(\\.|[^\\\"])*\"|'(\\.|[^\\'])*'"
# Backticks
color green "`(\\.|[^\\\"])*`"
# Regular expressions
color green "/(\\.|[^\\/])*/[imox]*"
# Escapes
color red "\\[0-7][0-7][0-7]|\\x[0-9a-fA-F][0-9a-fA-F]|\\[abefnrs]|(\\c|\\C-|\\M-|\\M-\\C-)."
# Expression substitution
color red "#\{[^}]*\}|#[@$]\w+"
# Simple comments
color cyan "#([^{$@].*)?$"
# Shebang
color brightcyan "^#!.*"
# Multiline comments
color cyan start="^=begin" end="^=end"
##############################################################################
#
# Syntax highlighting for XML files
#
# Author: Josef 'Jupp' Schugt, jupp(a)rubyforge.org
# License: GPL 2 or later
#
# Version: 2004-02-25
#
##############################################################################
syntax "ml" ".*\.([jrs]?html?|xml|sgml?)$"
color white "^.+$"
color green start="<" end=">"
color cyan "<[^> ]+"
color cyan ">"
color yellow start="<!DOCTYPE" end="[/]?>"
color yellow start="<!--" end="-->"
color red "&[^;]*;"
##############################################################################
#
# Syntax highlighting for HTTP codes
#
# Author: Josef 'Jupp' Schugt, jupp(a)rubyforge.org
# License: GPL 2 or later
#
# Version: 2004-02-25
#
##############################################################################
syntax "urls"
color brightmagenta "^.*$"
color cyan "^(1[0-9][0-9]|20[256]|30[45]).*$"
color green "^20[03].*$"
color brightyellow "^(201|30[0-37]).*$"
color brightred "^(204|[45][0-9][0-9]|666).*$"