Nano: Difference between revisions

From Octave
Jump to navigation Jump to search
No edit summary
(fix syntax error (tested with nano 2.9.3))
 
(One intermediate revision by one other user not shown)
Line 2: Line 2:


== Syntax highlight ==
== Syntax highlight ==
Nano can extended to highlight octave code. The following can be added to {{File|~/.nanorc|<pre>
Nano can be extended to highlight octave code. The following can be added to {{File|~/.nanorc|<pre>
# Octave syntax colors
# Octave syntax colors
syntax "octave" "\.m$" "\.octaverc$"
syntax "octave" "\.m$" "\.octaverc$"
Line 17: Line 17:


# embraced
# embraced
color brightred start="\(" end="\)" # this line needs to be fixed to work properly in all cases
# TODO: the next line needs to be fixed to work properly in all cases
color brightred start="\(" end="\)"
color blue start="\[|\{" end="\]|\}"
color blue start="\[|\{" end="\]|\}"



Latest revision as of 17:16, 7 February 2018

Nano is a very useful text editor. Even if you don't use a command line that often, and never bothered to learn vim or emacs, nano will always be there and is simple enough.

Syntax highlight[edit]

Nano can be extended to highlight octave code. The following can be added to

File: ~/.nanorc
# Octave syntax colors
syntax "octave" "\.m$" "\.octaverc$"

# keywords
color brightyellow "(case|catch|do|else(if)?|for|function|if|otherwise|switch|try|until|unwind_protect(_cleanup)?|vararg(in|out)|while)"
color brightyellow "end(_try_catch|_unwind_protect|for|function|if|switch|while)?"
color magenta "(break|continue|return)"

# storage-type
color green "(global|persistent|static)"
# data-type
color green "(cell(str)?|char|double|(u)?int(8|16|32|64)|logical|single|struct)"

# embraced
# TODO: the next line needs to be fixed to work properly in all cases
color brightred start="\(" end="\)"
color blue start="\[|\{" end="\]|\}"

# strings
color yellow ""(\\.|[^\"])*"|'(\\.|[^\"])*'"

# comments
color brightblue "#.*|%.*"

Alternatively, it can be an individual file available system-wide such as /usr/share/nano/octave.nanorc which can then be included in /etc/nanorc (again, system-wide), or in ~/.nanorc with

include "/usr/share/nano/octave.nanorc"