aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcvpcs <root@cvpcs.org>2010-06-03 13:09:28 -0500
committercvpcs <root@cvpcs.org>2010-06-03 13:09:28 -0500
commitc4af4b0c3bfbafedc87cf44c2db56ef0f08b2203 (patch)
tree3288c3cd2a6db6f17ddc679998b2f61e1180a6f0
parent2af1b46ccbe23735463cb083dd2533971dbe5e6d (diff)
downloadandroid_external_nano-nano-2.2.4-froyo.tar.gz
android_external_nano-nano-2.2.4-froyo.tar.bz2
android_external_nano-nano-2.2.4-froyo.zip
added nanorc files for syntax highlighting and suchnano-2.2.4-froyonano-2.2.4-eclair
-rw-r--r--Android.mk17
-rw-r--r--etc/asm.nanorc17
-rw-r--r--etc/awk.nanorc38
-rw-r--r--etc/c.nanorc30
-rw-r--r--etc/cmake.nanorc19
-rw-r--r--etc/css.nanorc9
-rw-r--r--etc/fortran.nanorc41
-rw-r--r--etc/groff.nanorc24
-rw-r--r--etc/html.nanorc5
-rw-r--r--etc/java.nanorc12
-rw-r--r--etc/makefile.nanorc8
-rw-r--r--etc/nanorc257
-rw-r--r--etc/nanorc.nanorc16
-rw-r--r--etc/objc.nanorc41
-rw-r--r--etc/ocaml.nanorc27
-rw-r--r--etc/patch.nanorc10
-rw-r--r--etc/perl.nanorc12
-rw-r--r--etc/php.nanorc30
-rw-r--r--etc/python.nanorc10
-rw-r--r--etc/ruby.nanorc31
-rw-r--r--etc/sh.nanorc14
-rw-r--r--etc/tcl.nanorc16
-rw-r--r--etc/tex.nanorc6
-rw-r--r--etc/xml.nanorc9
24 files changed, 698 insertions, 1 deletions
diff --git a/Android.mk b/Android.mk
index cc14dec7..afc6e42a 100644
--- a/Android.mk
+++ b/Android.mk
@@ -29,7 +29,7 @@ LOCAL_C_INCLUDES += \
LOCAL_CFLAGS += \
-DHAVE_CONFIG_H \
-DLOCALEDIR=\"/data/locale\" \
- -DSYSCONFDIR=\"/system/etc\"
+ -DSYSCONFDIR=\"/system/etc/nano\"
LOCAL_SHARED_LIBRARIES += \
libncurses
LOCAL_STATIC_LIBRARIES += \
@@ -38,5 +38,20 @@ LOCAL_MODULE := nano
LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
include $(BUILD_EXECUTABLE)
+
+# ========================================================
+# nano configs
+# ========================================================
+etc_files := $(shell ls -1 $(LOCAL_PATH)/etc/)
+
+copy_to := $(addprefix $(TARGET_OUT)/etc/$(LOCAL_MODULE)/,$(etc_files))
+copy_from := $(addprefix $(LOCAL_PATH)/etc/,$(etc_files))
+
+$(copy_to) : PRIVATE_MODULE := system_etcdir
+$(copy_to) : $(TARGET_OUT)/etc/$(LOCAL_MODULE)/% : $(LOCAL_PATH)/etc/% | $(ACP)
+ $(transform-prebuilt-to-target)
+
+ALL_PREBUILT += $(copy_to)
+
# ========================================================
include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/etc/asm.nanorc b/etc/asm.nanorc
new file mode 100644
index 00000000..e94ee906
--- /dev/null
+++ b/etc/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/etc/awk.nanorc b/etc/awk.nanorc
new file mode 100644
index 00000000..696ab6ad
--- /dev/null
+++ b/etc/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/etc/c.nanorc b/etc/c.nanorc
new file mode 100644
index 00000000..b89c9d29
--- /dev/null
+++ b/etc/c.nanorc
@@ -0,0 +1,30 @@
+## Here is an example for C/C++.
+##
+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)\>"
+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)__"
+##
+## 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 "<[^= ]*>" ""(\\.|[^"])*""
+##
+## This string is VERY resource intensive!
+color brightyellow start=""(\\.|[^"])*\\[[:space:]]*$" end="^(\\.|[^"])*""
+
+## Comment highlighting
+color brightblue "//.*"
+color brightblue start="/\*" end="\*/"
+
+## Trailing whitespace
+color ,green "[[:space:]]+$"
diff --git a/etc/cmake.nanorc b/etc/cmake.nanorc
new file mode 100644
index 00000000..3c52f7de
--- /dev/null
+++ b/etc/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/etc/css.nanorc b/etc/css.nanorc
new file mode 100644
index 00000000..98eea180
--- /dev/null
+++ b/etc/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/etc/fortran.nanorc b/etc/fortran.nanorc
new file mode 100644
index 00000000..cc0c726a
--- /dev/null
+++ b/etc/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/etc/groff.nanorc b/etc/groff.nanorc
new file mode 100644
index 00000000..02b82b8e
--- /dev/null
+++ b/etc/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/etc/html.nanorc b/etc/html.nanorc
new file mode 100644
index 00000000..d31467da
--- /dev/null
+++ b/etc/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/etc/java.nanorc b/etc/java.nanorc
new file mode 100644
index 00000000..a432f817
--- /dev/null
+++ b/etc/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/etc/makefile.nanorc b/etc/makefile.nanorc
new file mode 100644
index 00000000..93a1e76d
--- /dev/null
+++ b/etc/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/etc/nanorc b/etc/nanorc
new file mode 100644
index 00000000..ee3ce6dc
--- /dev/null
+++ b/etc/nanorc
@@ -0,0 +1,257 @@
+## 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 }.
+
+## 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
+
+## 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
+
+
+## include various source coloring files
+include "/system/etc/nano/nanorc.nanorc"
+include "/system/etc/nano/c.nanorc"
+include "/system/etc/nano/makefile.nanorc"
+include "/system/etc/nano/css.nanorc"
+include "/system/etc/nano/html.nanorc"
+include "/system/etc/nano/php.nanorc"
+include "/system/etc/nano/tcl.nanorc"
+include "/system/etc/nano/tex.nanorc"
+include "/system/etc/nano/patch.nanorc"
+include "/system/etc/nano/groff.nanorc"
+include "/system/etc/nano/perl.nanorc"
+include "/system/etc/nano/python.nanorc"
+include "/system/etc/nano/ruby.nanorc"
+include "/system/etc/nano/java.nanorc"
+include "/system/etc/nano/fortran.nanorc"
+include "/system/etc/nano/objc.nanorc"
+include "/system/etc/nano/ocaml.nanorc"
+include "/system/etc/nano/awk.nanorc"
+include "/system/etc/nano/asm.nanorc"
+include "/system/etc/nano/sh.nanorc"
+include "/system/etc/nano/xml.nanorc"
diff --git a/etc/nanorc.nanorc b/etc/nanorc.nanorc
new file mode 100644
index 00000000..4b89faf0
--- /dev/null
+++ b/etc/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:]]+(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/etc/objc.nanorc b/etc/objc.nanorc
new file mode 100644
index 00000000..cdf6e485
--- /dev/null
+++ b/etc/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/etc/ocaml.nanorc b/etc/ocaml.nanorc
new file mode 100644
index 00000000..fc71ae23
--- /dev/null
+++ b/etc/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/etc/patch.nanorc b/etc/patch.nanorc
new file mode 100644
index 00000000..a788b359
--- /dev/null
+++ b/etc/patch.nanorc
@@ -0,0 +1,10 @@
+## 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.*"
diff --git a/etc/perl.nanorc b/etc/perl.nanorc
new file mode 100644
index 00000000..b5a56062
--- /dev/null
+++ b/etc/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/etc/php.nanorc b/etc/php.nanorc
new file mode 100644
index 00000000..8ef495f6
--- /dev/null
+++ b/etc/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/etc/python.nanorc b/etc/python.nanorc
new file mode 100644
index 00000000..42802749
--- /dev/null
+++ b/etc/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/etc/ruby.nanorc b/etc/ruby.nanorc
new file mode 100644
index 00000000..b30b229d
--- /dev/null
+++ b/etc/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/etc/sh.nanorc b/etc/sh.nanorc
new file mode 100644
index 00000000..ecce22ec
--- /dev/null
+++ b/etc/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/etc/tcl.nanorc b/etc/tcl.nanorc
new file mode 100644
index 00000000..ad3401fb
--- /dev/null
+++ b/etc/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/etc/tex.nanorc b/etc/tex.nanorc
new file mode 100644
index 00000000..fff8dd0d
--- /dev/null
+++ b/etc/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/etc/xml.nanorc b/etc/xml.nanorc
new file mode 100644
index 00000000..1f68c053
--- /dev/null
+++ b/etc/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 "&[^;]*;"