public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* Nano syntax files
@ 2009-01-18  4:28 Vincent François
  2009-01-18  8:39 ` Yaakov (Cygwin/X)
  0 siblings, 1 reply; 5+ messages in thread
From: Vincent François @ 2009-01-18  4:28 UTC (permalink / raw)
  To: cygwin

Hello,

In wanting to use the syntax of the text editor NANO, I noticed a
problem. In the Cygwin, regular expressions \< and \> are not
recognized. In reading the man page (7 regex) I learned that he had
used respectively for [[:<:]] for \< and [[:>:]] for \>.

I wrote this message to provide a patch to update the syntax files (*.
nanorc) available in the directory /usr/share/nano

To apply the patch, perform the command:
$ patch -p0 -i syntax.nanorc.patch

To reverse patch, perform the command:
$ patch -p0 -Ri syntax.nanorc.patch

Below file syntax.nanorc.patch:

--- BOF --- syntax.nanorc.patch ---
diff -c /usr/share/nano/asm.nanorc /home/Benjamin/nano/asm.nanorc
*** /usr/share/nano/asm.nanorc	Sun Jan 18 02:26:06 2009
--- /home/Benjamin/nano/asm.nanorc	Sun Jan 18 02:25:29 2009
***************
*** 1,7 ****
  ## 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)"
--- 1,7 ----
  ## 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)"
diff -c /usr/share/nano/c.nanorc /home/Benjamin/nano/c.nanorc
*** /usr/share/nano/c.nanorc	Sun Jan 18 02:26:06 2009
--- /home/Benjamin/nano/c.nanorc	Sun Jan 18 02:25:29 2009
***************
*** 1,13 ****
  ## 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|(un|ifn?)def|endif|el(if|se)|if|warning|error)"
  color brightmagenta "'([^'\]|(\\["'abfnrtv\\]))'"
"'\\(([0-3]?[0-7]{1,2}))'" "'\\x[0-9A-Fa-f]{1,2}'"
  ##
--- 1,13 ----
  ## 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|(un|ifn?)def|endif|el(if|se)|if|warning|error)"
  color brightmagenta "'([^'\]|(\\["'abfnrtv\\]))'"
"'\\(([0-3]?[0-7]{1,2}))'" "'\\x[0-9A-Fa-f]{1,2}'"
  ##
diff -c /usr/share/nano/java.nanorc /home/Benjamin/nano/java.nanorc
*** /usr/share/nano/java.nanorc	Sun Jan 18 02:26:07 2009
--- /home/Benjamin/nano/java.nanorc	Sun Jan 18 02:25:29 2009
***************
*** 1,11 ****
  ## 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="\*/"
--- 1,11 ----
  ## 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="\*/"
diff -c /usr/share/nano/nanorc.nanorc /home/Benjamin/nano/nanorc.nanorc
*** /usr/share/nano/nanorc.nanorc	Sun Jan 18 02:26:07 2009
--- /home/Benjamin/nano/nanorc.nanorc	Sun Jan 18 02:25:29 2009
***************
*** 4,14 ****
  ## 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
--- 4,14 ----
  ## 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
diff -c /usr/share/nano/perl.nanorc /home/Benjamin/nano/perl.nanorc
*** /usr/share/nano/perl.nanorc	Sun Jan 18 02:26:07 2009
--- /home/Benjamin/nano/perl.nanorc	Sun Jan 18 02:25:30 2009
***************
*** 1,8 ****
  ## 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]/.*/"
--- 1,8 ----
  ## 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]/.*/"
diff -c /usr/share/nano/pov.nanorc /home/Benjamin/nano/pov.nanorc
*** /usr/share/nano/pov.nanorc	Sun Jan 18 02:26:07 2009
--- /home/Benjamin/nano/pov.nanorc	Sun Jan 18 02:25:30 2009
***************
*** 2,15 ****
  ##
  syntax "pov" "\.(pov|POV|povray|POVRAY)$"
  color brightcyan "^[[:space:]]*#[[:space:]]*(declare)"
! color brightyellow "\<(sphere|cylinder|translate|matrix|rotate|scale)\>"
! color brightyellow "\<(orthographic|location|up|right|direction|clipped_by)\>"
! color brightyellow "\<(fog_type|fog_offset|fog_alt|rgb|distance|transform)\>"
! color brightred "^\<(texture)\>"
! color brightred "\<(light_source|background)\>"
! color brightred "\<(fog|object|camera)\>"
  color green "(\{|\}|\(|\)|\;|\]|\[|`|\\|\$|<|>|!|=|&|\|)"
! color brightmagenta "\<(union|group|subgroup)\>"
  ## Comment highlighting
  color brightblue "//.*"
  color brightblue start="/\*" end="\*/"
--- 2,15 ----
  ##
  syntax "pov" "\.(pov|POV|povray|POVRAY)$"
  color brightcyan "^[[:space:]]*#[[:space:]]*(declare)"
! color brightyellow
"[[:<:]](sphere|cylinder|translate|matrix|rotate|scale)[[:>:]]"
! color brightyellow
"[[:<:]](orthographic|location|up|right|direction|clipped_by)[[:>:]]"
! color brightyellow
"[[:<:]](fog_type|fog_offset|fog_alt|rgb|distance|transform)[[:>:]]"
! color brightred "^[[:<:]](texture)[[:>:]]"
! color brightred "[[:<:]](light_source|background)[[:>:]]"
! color brightred "[[:<:]](fog|object|camera)[[:>:]]"
  color green "(\{|\}|\(|\)|\;|\]|\[|`|\\|\$|<|>|!|=|&|\|)"
! color brightmagenta "[[:<:]](union|group|subgroup)[[:>:]]"
  ## Comment highlighting
  color brightblue "//.*"
  color brightblue start="/\*" end="\*/"
diff -c /usr/share/nano/python.nanorc /home/Benjamin/nano/python.nanorc
*** /usr/share/nano/python.nanorc	Sun Jan 18 02:26:07 2009
--- /home/Benjamin/nano/python.nanorc	Sun Jan 18 02:25:30 2009
***************
*** 2,8 ****
  ##
  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 "["][^"]*[^\\]["]" "["]{3}.*[^\\]["]{3}"
  color brightgreen start=""""[^"]" end=""""" start="'''[^']" end="'''"
--- 2,8 ----
  ##
  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 "["][^"]*[^\\]["]" "["]{3}.*[^\\]["]{3}"
  color brightgreen start=""""[^"]" end=""""" start="'''[^']" end="'''"
diff -c /usr/share/nano/ruby.nanorc /home/Benjamin/nano/ruby.nanorc
*** /usr/share/nano/ruby.nanorc	Sun Jan 18 02:26:07 2009
--- /home/Benjamin/nano/ruby.nanorc	Sun Jan 18 02:25:30 2009
***************
*** 2,14 ****
  ##
  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
--- 2,14 ----
  ##
  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
diff -c /usr/share/nano/sh.nanorc /home/Benjamin/nano/sh.nanorc
*** /usr/share/nano/sh.nanorc	Sun Jan 18 02:26:08 2009
--- /home/Benjamin/nano/sh.nanorc	Sun Jan 18 02:25:30 2009
***************
*** 2,12 ****
  ##
  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 cyan "(^|[[:space:]])#.*$"
  color brightyellow ""(\\.|[^"])*"" "'(\\.|[^'])*'"
--- 2,12 ----
  ##
  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 cyan "(^|[[:space:]])#.*$"
  color brightyellow ""(\\.|[^"])*"" "'(\\.|[^'])*'"
--- EOF --- syntax.nanorc.patch ---

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Nano syntax files
  2009-01-18  4:28 Nano syntax files Vincent François
@ 2009-01-18  8:39 ` Yaakov (Cygwin/X)
  2009-01-18  8:41   ` Vincent François
  0 siblings, 1 reply; 5+ messages in thread
From: Yaakov (Cygwin/X) @ 2009-01-18  8:39 UTC (permalink / raw)
  To: cygwin

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Vincent François wrote:
> In wanting to use the syntax of the text editor NANO, I noticed a
> problem. In the Cygwin, regular expressions \< and \> are not
> recognized. In reading the man page (7 regex) I learned that he had
> used respectively for [[:<:]] for \< and [[:>:]] for \>.
> 
> I wrote this message to provide a patch to update the syntax files (*.
> nanorc) available in the directory /usr/share/nano
> 
> To apply the patch, perform the command:
> $ patch -p0 -i syntax.nanorc.patch
> 
> To reverse patch, perform the command:
> $ patch -p0 -Ri syntax.nanorc.patch

Nice work!  For maximum benefit, could you do two things:

1) Make this a unified diff (with "diff -u")
2) Attach the patch rather than including it inline.

I'll fix cygport.nanorc in cygport accordingly; I hope the nano
maintainer will consider including this patch in a new release as well.

Thanks!


Yaakov
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEAREIAAYFAklypa4ACgkQpiWmPGlmQSODBQCgkN1wQNteVNUblpvU2WLGJgzM
Ix4An3kLichVlHAiNrupH2QskJOc7ZYM
=jWeR
-----END PGP SIGNATURE-----

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Nano syntax files
  2009-01-18  8:39 ` Yaakov (Cygwin/X)
@ 2009-01-18  8:41   ` Vincent François
  2009-01-18 14:03     ` Yaakov (Cygwin/X)
  0 siblings, 1 reply; 5+ messages in thread
From: Vincent François @ 2009-01-18  8:41 UTC (permalink / raw)
  To: cygwin

[-- Attachment #1: Type: text/plain, Size: 1764 bytes --]

2009/1/18 Yaakov (Cygwin/X) <yselkowitz@users.sourceforge.net>:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
>
> Vincent François wrote:
>> In wanting to use the syntax of the text editor NANO, I noticed a
>> problem. In the Cygwin, regular expressions \< and \> are not
>> recognized. In reading the man page (7 regex) I learned that he had
>> used respectively for [[:<:]] for \< and [[:>:]] for \>.
>>
>> I wrote this message to provide a patch to update the syntax files (*.
>> nanorc) available in the directory /usr/share/nano
>>
>> To apply the patch, perform the command:
>> $ patch -p0 -i syntax.nanorc.patch
>>
>> To reverse patch, perform the command:
>> $ patch -p0 -Ri syntax.nanorc.patch
>
> Nice work!  For maximum benefit, could you do two things:
>
> 1) Make this a unified diff (with "diff -u")
> 2) Attach the patch rather than including it inline.
>
> I'll fix cygport.nanorc in cygport accordingly; I hope the nano
> maintainer will consider including this patch in a new release as well.
>
> Thanks!
>
>
> Yaakov
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (Cygwin)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>
> iEYEAREIAAYFAklypa4ACgkQpiWmPGlmQSODBQCgkN1wQNteVNUblpvU2WLGJgzM
> Ix4An3kLichVlHAiNrupH2QskJOc7ZYM
> =jWeR
> -----END PGP SIGNATURE-----
>
> --
> Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> Problem reports:       http://cygwin.com/problems.html
> Documentation:         http://cygwin.com/docs.html
> FAQ:                   http://cygwin.com/faq/
>
>

Hello Yakoov,

That I applied the new command (diff -u), the file syntax.nanorc.patch
is now join ;-)

Excuse me for my English, I am of French origin.

Bye

[-- Attachment #2: syntax.nanorc.patch --]
[-- Type: text/plain, Size: 12973 bytes --]

diff -u /usr/share/nano/asm.nanorc /home/Benjamin/nano/asm.nanorc
--- /usr/share/nano/asm.nanorc	2009-01-18 05:26:20.375000000 +0100
+++ /home/Benjamin/nano/asm.nanorc	2009-01-18 02:25:29.953125000 +0100
@@ -1,7 +1,7 @@
 ## Here is an example for assembler.
 ##
 syntax "asm" "\.(S|s|asm)$"
-color red "\<[A-Z_]{2,}\>"
+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)"
diff -u /usr/share/nano/c.nanorc /home/Benjamin/nano/c.nanorc
--- /usr/share/nano/c.nanorc	2009-01-18 05:26:20.484375000 +0100
+++ /home/Benjamin/nano/c.nanorc	2009-01-18 02:25:29.968750000 +0100
@@ -1,13 +1,13 @@
 ## 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 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|(un|ifn?)def|endif|el(if|se)|if|warning|error)"
 color brightmagenta "'([^'\]|(\\["'abfnrtv\\]))'" "'\\(([0-3]?[0-7]{1,2}))'" "'\\x[0-9A-Fa-f]{1,2}'"
 ##
diff -u /usr/share/nano/java.nanorc /home/Benjamin/nano/java.nanorc
--- /usr/share/nano/java.nanorc	2009-01-18 05:26:20.765625000 +0100
+++ /home/Benjamin/nano/java.nanorc	2009-01-18 02:25:29.968750000 +0100
@@ -1,11 +1,11 @@
 ## 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 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 yellow "[[:<:]](true|false|null)[[:>:]]"
 color blue "//.*"
 color blue start="/\*" end="\*/"
 color brightblue start="/\*\*" end="\*/"
diff -u /usr/share/nano/nanorc.nanorc /home/Benjamin/nano/nanorc.nanorc
--- /usr/share/nano/nanorc.nanorc	2009-01-18 05:26:21.046875000 +0100
+++ /home/Benjamin/nano/nanorc.nanorc	2009-01-18 02:25:29.984375000 +0100
@@ -4,11 +4,11 @@
 ## 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)\>"
+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)="
+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
diff -u /usr/share/nano/perl.nanorc /home/Benjamin/nano/perl.nanorc
--- /usr/share/nano/perl.nanorc	2009-01-18 05:26:21.250000000 +0100
+++ /home/Benjamin/nano/perl.nanorc	2009-01-18 02:25:30.000000000 +0100
@@ -1,8 +1,8 @@
 ## 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 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]/.*/"
diff -u /usr/share/nano/pov.nanorc /home/Benjamin/nano/pov.nanorc
--- /usr/share/nano/pov.nanorc	2009-01-18 05:26:21.343750000 +0100
+++ /home/Benjamin/nano/pov.nanorc	2009-01-18 02:25:30.031250000 +0100
@@ -2,14 +2,14 @@
 ##
 syntax "pov" "\.(pov|POV|povray|POVRAY)$"
 color brightcyan "^[[:space:]]*#[[:space:]]*(declare)"
-color brightyellow "\<(sphere|cylinder|translate|matrix|rotate|scale)\>"
-color brightyellow "\<(orthographic|location|up|right|direction|clipped_by)\>"
-color brightyellow "\<(fog_type|fog_offset|fog_alt|rgb|distance|transform)\>"
-color brightred "^\<(texture)\>"
-color brightred "\<(light_source|background)\>"
-color brightred "\<(fog|object|camera)\>"
+color brightyellow "[[:<:]](sphere|cylinder|translate|matrix|rotate|scale)[[:>:]]"
+color brightyellow "[[:<:]](orthographic|location|up|right|direction|clipped_by)[[:>:]]"
+color brightyellow "[[:<:]](fog_type|fog_offset|fog_alt|rgb|distance|transform)[[:>:]]"
+color brightred "^[[:<:]](texture)[[:>:]]"
+color brightred "[[:<:]](light_source|background)[[:>:]]"
+color brightred "[[:<:]](fog|object|camera)[[:>:]]"
 color green "(\{|\}|\(|\)|\;|\]|\[|`|\\|\$|<|>|!|=|&|\|)"
-color brightmagenta "\<(union|group|subgroup)\>"
+color brightmagenta "[[:<:]](union|group|subgroup)[[:>:]]"
 ## Comment highlighting
 color brightblue "//.*"
 color brightblue start="/\*" end="\*/"
diff -u /usr/share/nano/python.nanorc /home/Benjamin/nano/python.nanorc
--- /usr/share/nano/python.nanorc	2009-01-18 05:26:21.437500000 +0100
+++ /home/Benjamin/nano/python.nanorc	2009-01-18 02:25:30.062500000 +0100
@@ -2,7 +2,7 @@
 ##
 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 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 "["][^"]*[^\\]["]" "["]{3}.*[^\\]["]{3}"
 color brightgreen start=""""[^"]" end=""""" start="'''[^']" end="'''"
diff -u /usr/share/nano/ruby.nanorc /home/Benjamin/nano/ruby.nanorc
--- /usr/share/nano/ruby.nanorc	2009-01-18 05:26:21.531250000 +0100
+++ /home/Benjamin/nano/ruby.nanorc	2009-01-18 02:25:30.078125000 +0100
@@ -2,13 +2,13 @@
 ##
 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)\>"
+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]*"
+color brightblue "(\$|@|@@)?[[:<:]][A-Z]+[0-9A-Z_a-z]*"
 ## Ruby "symbols"
-icolor magenta "([ 	]|^):[0-9A-Z_]+\>"
+icolor magenta "([ 	]|^):[0-9A-Z_]+[[:>:]]"
 ## Some unique things we want to stand out
-color brightyellow "\<(__FILE__|__LINE__)\>"
+color brightyellow "[[:<:]](__FILE__|__LINE__)[[:>:]]"
 ## Regular expressions
 color brightmagenta "/([^/]|(\\/))*/[iomx]*" "%r\{([^}]|(\\}))*\}[iomx]*"
 ## Shell command expansion is in `backticks` or like %x{this}.  These are
diff -u /usr/share/nano/sh.nanorc /home/Benjamin/nano/sh.nanorc
--- /usr/share/nano/sh.nanorc	2009-01-18 05:26:21.625000000 +0100
+++ /home/Benjamin/nano/sh.nanorc	2009-01-18 02:25:30.093750000 +0100
@@ -2,11 +2,11 @@
 ##
 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 "[[:<:]](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)\>"
+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 ""(\\.|[^"])*"" "'(\\.|[^'])*'"
Only in /home/Benjamin/nano/: syntax.nanorc.patch

[-- Attachment #3: Type: text/plain, Size: 218 bytes --]

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Nano syntax files
  2009-01-18  8:41   ` Vincent François
@ 2009-01-18 14:03     ` Yaakov (Cygwin/X)
  0 siblings, 0 replies; 5+ messages in thread
From: Yaakov (Cygwin/X) @ 2009-01-18 14:03 UTC (permalink / raw)
  To: cygwin

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Vincent François wrote:
> That I applied the new command (diff -u), the file syntax.nanorc.patch
> is now join ;-)
>
> Excuse me for my English, I am of French origin.

Merci beaucoup.


Yaakov

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEAREIAAYFAkly6rAACgkQpiWmPGlmQSMXJgCbB9t4ePPnYWLv2g9BQ6iDxNDG
bh4AoNFwm1jbQYKls3rDjktlUEN41TUX
=i5Z8
-----END PGP SIGNATURE-----

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Nano syntax files
@ 2009-01-18  5:52 Vincent François
  0 siblings, 0 replies; 5+ messages in thread
From: Vincent François @ 2009-01-18  5:52 UTC (permalink / raw)
  To: cygwin

To use the syntax, add the file .nanorc in your home directory (eg ~/.nanorc)

Below the file .nanorc:

--- BOF --- .nanorc ---
include /usr/share/nano/asm.nanorc
include /usr/share/nano/c.nanorc
include /usr/share/nano/groff.nanorc
include /usr/share/nano/html.nanorc
include /usr/share/nano/java.nanorc
include /usr/share/nano/man.nanorc
include /usr/share/nano/mutt.nanorc
include /usr/share/nano/nanorc.nanorc
include /usr/share/nano/patch.nanorc
include /usr/share/nano/perl.nanorc
include /usr/share/nano/pov.nanorc
include /usr/share/nano/python.nanorc
include /usr/share/nano/ruby.nanorc
include /usr/share/nano/sh.nanorc
include /usr/share/nano/tex.nanorc

set autoindent
set const
set nowrap
set regexp
set tabsize 4
--- EOF --- .nanorc ---

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-01-18  8:39 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-01-18  4:28 Nano syntax files Vincent François
2009-01-18  8:39 ` Yaakov (Cygwin/X)
2009-01-18  8:41   ` Vincent François
2009-01-18 14:03     ` Yaakov (Cygwin/X)
2009-01-18  5:52 Vincent François

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).