diff --git a/ChangeLog b/ChangeLog index 4704e4f051240e236af6b68c1bbc7d7d4e84856d..5df83e5f9e5d4a3f5a928f416b9aace28eecd3d2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -117,6 +117,24 @@ CVS code - (Benno Schulenberg, minor tweaks by DLR) - Allow normal typing of high-bit control characters, as Pico does. Changes to do_output() and do_statusbar_output(). (DLR) + - Move color regexes into separate files, make nanorc.sample + reference them, and make them install properly. In the + process, rename nanorc.sample to nanorc.sample.in, put + @PKGDATADIR@ at the beginning of all nanorc file paths, add + needed AC_DEFINE_DIR macro from the Autoconf Macro Archive at + http://autoconf-archive.cryp.to/ac_define_dir.m4, and make + configure.ac do the substitution, so that the proper paths + will always be used in nanorc.sample. New files + m4/ac_define_dir.m4, doc/syntax/Makefile.am, + doc/syntax/asm.nanorc, doc/syntax/c.nanorc, + doc/syntax/groff.nanorc, doc/syntax/html.nanorc, + doc/syntax/java.nanorc, doc/syntax/man.nanorc, + doc/syntax/mutt.nanorc, doc/syntax/patch.nanorc, + doc/syntax/perl.nanorc, doc/syntax/python.nanorc, + doc/syntax/ruby.nanorc, doc/syntax/sh.nanorc, and + doc/syntax/tex.nanorc; changes to configure.ac, nano.spec.in, + doc/Makefile.am, and m4/Makefile.am; removal of + doc/nanorc.sample. (DLR) - browser.c: do_browser() - Reference NANO_GOTODIR_(ALT|F)?KEY instead of diff --git a/configure.ac b/configure.ac index 4bcdb05712028c6e65c0df767f7287c2ca04995c..d2799a43dd35e155740a9e264cdc90b5368636ee 100644 --- a/configure.ac +++ b/configure.ac @@ -41,6 +41,11 @@ AM_GNU_GETTEXT_VERSION(0.11.5) AM_GNU_GETTEXT([external], [need-ngettext]) AM_CONDITIONAL(USE_NLS, test "x$USE_NLS" = "xyes") +dnl Data location. + +pkgdatadir=${datadir}/${PACKAGE} +AC_DEFINE_DIR([PKGDATADIR], [pkgdatadir], [Where data are placed to.]) + dnl Checks for header files. AC_HEADER_STDC @@ -386,6 +391,8 @@ int main(void) ;; esac], [AC_MSG_RESULT(no)]) +AM_CONDITIONAL(USE_COLOR, test "x$color_support" = "xyes") + dnl Checks for functions. AC_CHECK_FUNCS(getdelim getline isblank strcasecmp strcasestr strncasecmp strnlen vsnprintf) @@ -492,8 +499,10 @@ fi AC_CONFIG_FILES([ Makefile doc/Makefile +doc/nanorc.sample doc/man/Makefile doc/man/fr/Makefile +doc/syntax/Makefile doc/texinfo/Makefile m4/Makefile po/Makefile.in diff --git a/doc/Makefile.am b/doc/Makefile.am index a83144dd1080d4946f2662a199b6f3fe1941193f..761759fbd0e047fff1ccda70d4f4919e8790e56d 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,3 +1,7 @@ SUBDIRS = man texinfo +if USE_COLOR +SUBDIRS += syntax +endif + EXTRA_DIST = faq.html nanorc.sample diff --git a/doc/nanorc.sample b/doc/nanorc.sample deleted file mode 100644 index 08cf12fd959c47ebba5075dcd69ab0b536f212e9..0000000000000000000000000000000000000000 --- a/doc/nanorc.sample +++ /dev/null @@ -1,409 +0,0 @@ -## 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 overrules "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" overrules 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 - -## 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 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 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. -## -## 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 "syntax file" -## -## All regexes should be extended regular expressions. - - -## Here is an example for C/C++. -## -# syntax "c-file" "\.(c|C|cc|cpp|cxx|h|H|hh|hpp|hxx)$" -# 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\>" -# 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-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="\*/" - -## 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 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 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]" - -## 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)\>" -# 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" - -## Here is an example for Python. -## -# syntax "python" "\.py$" -# icolor brightblue "def [0-9A-Z_]+" -# color brightcyan "\<(and|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|map|not|or|pass|print|raise|return|try|while)\>" -# color brightgreen "["'].*[^\\]["']" "["']{3}.*[^\\]["']{3}" -# color brightgreen start=""""[^"]" end=""""" start="'''[^']" end="'''" -# color brightred "#.*$" - -## Here is an example for Ruby. -# syntax "ruby" "\.rb$" -## 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 "##[^{].*$" "##$" -## Some common markers -# color brightcyan "(XXX|TODO|FIXME|\?\?\?)" - -## 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 ,green "[[:space:]]+$" - -## 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:]]*[.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="\*/" - -## Here is an example for Bourne shell scripts. -## -# syntax "shellscript" "\.sh$" -# 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 yellow "(^|[[:space:]])#.*$" -# color brightyellow ""(\\.|[^"])*"" "'(\\.|[^'])*'" - -## Here is an example for your .nanorc. -## -# 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|speller|suspend|tabsize|tabstospaces|tempfile|view|whitespace|wordbounds)\>" -# icolor green "^[[:space:]]*(set|unset|include|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 brightblue "^[[:space:]]*#.*$" diff --git a/doc/nanorc.sample.in b/doc/nanorc.sample.in new file mode 100644 index 0000000000000000000000000000000000000000..964a9e5901a9145433154ba6a3874d65c6ac4074 --- /dev/null +++ b/doc/nanorc.sample.in @@ -0,0 +1,264 @@ +## 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 overrules "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" overrules 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 + +## 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 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 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. +## +## 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 "syntax file" +## +## All regexes should be extended regular expressions. + +## Here is an example for your .nanorc. +## +# 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|speller|suspend|tabsize|tabstospaces|tempfile|view|whitespace|wordbounds)\>" +# icolor green "^[[:space:]]*(set|unset|include|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 brightblue "^[[:space:]]*#.*$" + +## C/C++ +# include "@PKGDATADIR@/c.nanorc" + +## HTML +# include "@PKGDATADIR@/html.nanorc" + +## TeX +# include "@PKGDATADIR@/tex.nanorc" + +## Quoted emails (under e.g. mutt) +# include "@PKGDATADIR@/mutt.nanorc" + +## Patch files +# include "@PKGDATADIR@/patch.nanorc" + +## Manpages +# include "@PKGDATADIR@/man.nanorc" + +## Groff +# include "@PKGDATADIR@/groff.nanorc" + +## Perl +# include "@PKGDATADIR@/perl.nanorc" + +## Python +# include "@PKGDATADIR@/python.nanorc" + +## Ruby +# include "@PKGDATADIR@/ruby.nanorc" + +## Java +# include "@PKGDATADIR@/java.nanorc" + +## Assembler +# include "@PKGDATADIR@/asm.nanorc" + +## Bourne shell scripts +# include "@PKGDATADIR@/sh.nanorc" diff --git a/doc/syntax/.cvsignore b/doc/syntax/.cvsignore new file mode 100644 index 0000000000000000000000000000000000000000..282522db0342d8750454b3dc162493b5fc709cc8 --- /dev/null +++ b/doc/syntax/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/doc/syntax/Makefile.am b/doc/syntax/Makefile.am new file mode 100644 index 0000000000000000000000000000000000000000..82a648bac51a52b325d2342a32e1e72b7b0fce75 --- /dev/null +++ b/doc/syntax/Makefile.am @@ -0,0 +1,15 @@ +pkgdata_DATA = asm.nanorc \ + c.nanorc \ + groff.nanorc \ + html.nanorc \ + java.nanorc \ + man.nanorc \ + mutt.nanorc \ + patch.nanorc \ + perl.nanorc \ + python.nanorc \ + ruby.nanorc \ + sh.nanorc \ + tex.nanorc + +EXTRA_DIST = $(pkgdata_DATA) diff --git a/doc/syntax/asm.nanorc b/doc/syntax/asm.nanorc new file mode 100644 index 0000000000000000000000000000000000000000..7668ffee231662e2a63e25e72ee3bf9928aa78ae --- /dev/null +++ b/doc/syntax/asm.nanorc @@ -0,0 +1,15 @@ +## 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="\*/" diff --git a/doc/syntax/c.nanorc b/doc/syntax/c.nanorc new file mode 100644 index 0000000000000000000000000000000000000000..640edc7a5d86f573f457c8cfba3e88ddb0a9fdae --- /dev/null +++ b/doc/syntax/c.nanorc @@ -0,0 +1,27 @@ +## Here is an example for C/C++. +## +syntax "c" "\.(c|C|cc|cpp|cxx|h|H|hh|hpp|hxx)$" +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\>" +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-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="\*/" diff --git a/doc/syntax/groff.nanorc b/doc/syntax/groff.nanorc new file mode 100644 index 0000000000000000000000000000000000000000..02b82b8e4388fa5042531e6b058503edd22d7553 --- /dev/null +++ b/doc/syntax/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/doc/syntax/html.nanorc b/doc/syntax/html.nanorc new file mode 100644 index 0000000000000000000000000000000000000000..d31467da995c26d68c775ac1787151a9828e694f --- /dev/null +++ b/doc/syntax/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/doc/syntax/java.nanorc b/doc/syntax/java.nanorc new file mode 100644 index 0000000000000000000000000000000000000000..535ab92ce8adcdcb82ef46db07c9b4cf6fb7dc5a --- /dev/null +++ b/doc/syntax/java.nanorc @@ -0,0 +1,12 @@ +## Here is an example for Java source. +## +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/doc/syntax/man.nanorc b/doc/syntax/man.nanorc new file mode 100644 index 0000000000000000000000000000000000000000..cc56430d27e74f3f1316e77cb31204e1e84c3272 --- /dev/null +++ b/doc/syntax/man.nanorc @@ -0,0 +1,9 @@ +## 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)" diff --git a/doc/syntax/mutt.nanorc b/doc/syntax/mutt.nanorc new file mode 100644 index 0000000000000000000000000000000000000000..2e683998254d1897e202afacc1e87d1925cc56c5 --- /dev/null +++ b/doc/syntax/mutt.nanorc @@ -0,0 +1,4 @@ +## Here is an example for quoted emails (under e.g. mutt). +## +syntax "mutt" +color green "^>.*" diff --git a/doc/syntax/patch.nanorc b/doc/syntax/patch.nanorc new file mode 100644 index 0000000000000000000000000000000000000000..a788b359384af6ed9178076003f7336a925aa25b --- /dev/null +++ b/doc/syntax/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/doc/syntax/perl.nanorc b/doc/syntax/perl.nanorc new file mode 100644 index 0000000000000000000000000000000000000000..7bca4cd1bec8736d9b17d0851fa6eda914191882 --- /dev/null +++ b/doc/syntax/perl.nanorc @@ -0,0 +1,11 @@ +## 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)\>" +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/doc/syntax/python.nanorc b/doc/syntax/python.nanorc new file mode 100644 index 0000000000000000000000000000000000000000..51f19f1bb4a1a78e20904c39309d53aba16e2d8f --- /dev/null +++ b/doc/syntax/python.nanorc @@ -0,0 +1,8 @@ +## Here is an example for Python. +## +syntax "python" "\.py$" +icolor brightblue "def [0-9A-Z_]+" +color brightcyan "\<(and|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|map|not|or|pass|print|raise|return|try|while)\>" +color brightgreen "["'].*[^\\]["']" "["']{3}.*[^\\]["']{3}" +color brightgreen start=""""[^"]" end=""""" start="'''[^']" end="'''" +color brightred "#.*$" diff --git a/doc/syntax/ruby.nanorc b/doc/syntax/ruby.nanorc new file mode 100644 index 0000000000000000000000000000000000000000..4526e53b82ad5feda8119ed7a124e4bbfb77cc76 --- /dev/null +++ b/doc/syntax/ruby.nanorc @@ -0,0 +1,27 @@ +## Here is an example for Ruby. +syntax "ruby" "\.rb$" +## 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 "##[^{].*$" "##$" +## Some common markers +color brightcyan "(XXX|TODO|FIXME|\?\?\?)" diff --git a/doc/syntax/sh.nanorc b/doc/syntax/sh.nanorc new file mode 100644 index 0000000000000000000000000000000000000000..fab9f11bb69700e823fc6664565cf36020836377 --- /dev/null +++ b/doc/syntax/sh.nanorc @@ -0,0 +1,12 @@ +## Here is an example for Bourne shell scripts. +## +syntax "sh" "\.sh$" +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 yellow "(^|[[:space:]])#.*$" +color brightyellow ""(\\.|[^"])*"" "'(\\.|[^'])*'" diff --git a/doc/syntax/tex.nanorc b/doc/syntax/tex.nanorc new file mode 100644 index 0000000000000000000000000000000000000000..fff8dd0d54a3c973a25b4ffe8154982b96488804 --- /dev/null +++ b/doc/syntax/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/m4/Makefile.am b/m4/Makefile.am index 23525a9530bc2db55969efa468f6e4a5cba9ec82..ab8542c24c36892b2a06a62a78a2e9eeea42f014 100644 --- a/m4/Makefile.am +++ b/m4/Makefile.am @@ -1,5 +1,5 @@ -EXTRA_DIST = codeset.m4 gettext.m4 glib-2.0.m4 glibc21.m4 iconv.m4 \ - intdiv0.m4 inttypes_h.m4 inttypes.m4 inttypes-pri.m4 \ - isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 \ - lib-prefix.m4 progtest.m4 stdint_h.m4 uintmax_t.m4 \ - ulonglong.m4 +EXTRA_DIST = ac_define_dir.m4 codeset.m4 gettext.m4 glib-2.0.m4 \ + glibc21.m4 iconv.m4 intdiv0.m4 inttypes_h.m4 \ + inttypes.m4 inttypes-pri.m4 isc-posix.m4 lcmessage.m4 \ + lib-ld.m4 lib-link.m4 lib-prefix.m4 progtest.m4 \ + stdint_h.m4 uintmax_t.m4 ulonglong.m4 diff --git a/m4/ac_define_dir.m4 b/m4/ac_define_dir.m4 new file mode 100644 index 0000000000000000000000000000000000000000..5e8c5ae138b65f3eb74248070e7fbb7442d60d03 --- /dev/null +++ b/m4/ac_define_dir.m4 @@ -0,0 +1,34 @@ +dnl @synopsis AC_DEFINE_DIR(VARNAME, DIR [, DESCRIPTION]) +dnl +dnl This macro sets VARNAME to the expansion of the DIR variable, +dnl taking care of fixing up ${prefix} and such. +dnl +dnl VARNAME is then offered as both an output variable and a C +dnl preprocessor symbol. +dnl +dnl Example: +dnl +dnl AC_DEFINE_DIR([DATADIR], [datadir], [Where data are placed to.]) +dnl +dnl @category Misc +dnl @author Stepan Kasal <kasal@ucw.cz> +dnl @author Andreas Schwab <schwab@suse.de> +dnl @author Guido Draheim <guidod@gmx.de> +dnl @author Alexandre Oliva +dnl @version 2005-07-29 +dnl @license AllPermissive + +AC_DEFUN([AC_DEFINE_DIR], [ + prefix_NONE= + exec_prefix_NONE= + test "x$prefix" = xNONE && prefix_NONE=yes && prefix=$ac_default_prefix + test "x$exec_prefix" = xNONE && exec_prefix_NONE=yes && exec_prefix=$prefix +dnl In Autoconf 2.60, ${datadir} refers to ${datarootdir}, which in turn +dnl refers to ${prefix}. Thus we have to use `eval' twice. + eval ac_define_dir="\"[$]$2\"" + eval ac_define_dir="\"$ac_define_dir\"" + AC_SUBST($1, "$ac_define_dir") + AC_DEFINE_UNQUOTED($1, "$ac_define_dir", [$3]) + test "$prefix_NONE" && prefix=NONE + test "$exec_prefix_NONE" && exec_prefix=NONE +]) diff --git a/nano.spec.in b/nano.spec.in index dddb93be00cc3c855f8e2bc792882f2eb745acef..c410af1f137da8786a65dbec6b2d35f5934ffafc 100644 --- a/nano.spec.in +++ b/nano.spec.in @@ -34,6 +34,7 @@ make DESTDIR="$RPM_BUILD_ROOT" install %{_bindir}/* %{_mandir}/*/* %{_datadir}/locale/*/LC_MESSAGES/nano.mo +%{_datadir}/nano/* %{_infodir}/nano.info* %changelog