upon exit also free the regexes for libmagic results and headerlines.
* doc/syntax/python.nanorc: Improve the multiline regexes, make the
one with single quotes work again, and add some comments.
+ * doc/syntax/{man,python,fortran}.nanorc: Add regexes for comments,
+ trailing whitespace and reminders, and trim some trailing spaces.
2014-05-10 Chris Allegretta <chrisa@asty.org>
* src/rcfile.c (parse_color_names): Redefine false and true to
## Here is an example for Fortran 90/95.
-syntax "fortran" "\.(f|f90|f95)$"
+syntax "fortran" "\.(f|f90|f95)$"
-#color red "\<[A-Z_]a[0-9A-Z_]+\>"
-color red "\<[0-9]+\>"
+color red "\<[0-9]+\>"
icolor green "\<(action|advance|all|allocatable|allocated|any|apostrophe)\>"
icolor green "\<(append|asis|assign|assignment|associated|character|common)\>"
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 "\<(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 magenta "\<(continue|cycle|exit|go?to|result|return)\>"
-## String highlighting.
+# Strings.
icolor yellow "<[^= ]*>" ""(\\.|[^"])*""
-## Comment highlighting
+# Comments.
icolor blue "!.*"
-
icolor brightblue "def [0-9A-Z_]+"
# Keywords.
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)\>"
+
# Strings.
color brightgreen "['][^']*[^\\][']" "[']{3}.*[^\\][']{3}"
color brightgreen "["][^"]*[^\\]["]" "["]{3}.*[^\\]["]{3}"
# Multiline strings.
color brightgreen start="\"\"\"([^"),]|$)" end="(^|[^(])\"\"\""
color brightgreen start="'''([^'),]|$)" end="(^|[^(])'''"
+
# Comments.
color brightred "(^|[[:blank:]])#.*$"
+# Reminders.
+color ,yellow "(FIXME|TODO|XXX)"
# Trailing whitespace.
color ,green "[[:space:]]+$"