Difference between revisions of "Nano"

From Octave
Jump to navigation Jump to search
m (using templates)
(fix syntax error (tested with nano 2.9.3))
 
(2 intermediate revisions by 2 users 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="\]|\}"
  
Line 29: Line 30:
 
Alternatively, it can be an individual file available system-wide such as {{Path|/usr/share/nano/octave.nanorc}} which can then be included in {{Path|/etc/nanorc}} (again, system-wide), or in {{Path|~/.nanorc}} with
 
Alternatively, it can be an individual file available system-wide such as {{Path|/usr/share/nano/octave.nanorc}} which can then be included in {{Path|/etc/nanorc}} (again, system-wide), or in {{Path|~/.nanorc}} with
 
<pre>include "/usr/share/nano/octave.nanorc"</pre>
 
<pre>include "/usr/share/nano/octave.nanorc"</pre>
 +
 +
[[Category:Editors]]

Latest revision as of 10: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"