From Octave
Jump to navigation Jump to search

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"