octave.vim : Syntax highlighting file for GNU Octave language
script karma |
Rating 273/123,
Downloaded by 10535 |
Comments, bugs, improvements
|
Vim wiki
|
created by |
Rik *** |
|
script type |
syntax |
|
description |
This file provides syntax highlighting for the GNU Octave programming language.
Features
* Highlights entire Octave grammar (endwhile, endfor, etc.), not just Matlab keywords
* Updated to highlight all core Octave functions as of version 4.2.0
* Highlights user functions and anonymous functions [@(...)] from within the .m file being edited
* Use-dependent highlighting of Octave system variables
When querying system variables, keyword is highlighted as a constant. For example, var = true, highlights 'true' as a constant.
When setting variables or otherwise invoking keyword as a function, keyword is highlighted as a function. For example, var = true (2,4), highlights 'true' as a function.
* Support for multi-line strings with line continuation characters as well as escaped quotes (\" or \') within string.
* Support for multi-line block comments
* Support for highlighting numbers that use hex (0x) or binary (0b) syntax
* Error highlighting for bad number syntax, bad structure variable names, bad block comments, bad line continuations.
* Optional support for highlighting operators (+, -, *, etc.), user variables, or tabs
Errata
* Occasionally anonymous functions are highlighted as a function even though the instance is of the name as a variable. This is too difficult to correct without writing a full parser.
OMNIFUNC
* The syntax file has a list of every valid function in Octave which makes it useful as an auto-completion dictionary for use with ViM's omnifunc function. Once installed, type a few letters of the name of a function and then use Ctrl-X Ctrl-O to bring up a list of possible matches.
Addenda
This script owes some debt to the two existing Octave syntax scripts:
http://www.vim.org/scripts/script.php?script_id=1241
http://www.vim.org/scripts/script.php?script_id=1591
However, it has been thoroughly rewritten and expanded considerably.
|
|
install details |
Syntax file install on a UNIX-like system
1) mkdir -p ~/.vim/syntax
2) cp octave.vim ~/.vim/syntax/
3) Add the following lines to your ~/.vimrc to get ViM to use the file
----- SNIP -----
" Octave syntax
augroup filetypedetect
au! BufRead,BufNewFile *.m,*.oct set filetype=octave
augroup END
----- SNIP -----
Optional highlighting of operators (+, -, *, etc.), user variables, or tabs can be had by uncommenting the appropriately tagged lines in octave.vim.
OMNIFUNC install on a UNIX-like system
1) Install the syntax file as described above
2) Add the following lines to your ~/.vimrc after the snippet from step 3 above
----- SNIP -----
" Use keywords from Octave syntax language file for autocomplete
if has("autocmd") && exists("+omnifunc")
autocmd Filetype octave
\ if &omnifunc == "" |
\ setlocal omnifunc=syntaxcomplete#Complete |
\ endif
endif
----- SNIP -----
|
|
script versions (upload new version)
Click on the package to download.
octave.vim.4.2.0 |
4.2.0 |
2016-11-14 |
5.7 |
Rik *** |
Updated to include syntax highlighting for all functions in 4.2.0.
Highlights numbers that use new syntax for hex (0x) and binary (0b).
Classdef keywords now automatically indent/exdent when used in code. |
octave.vim |
3.8.3 |
2014-09-18 |
5.7 |
Rik *** |
Correctly highlight cell arrays that use a transpose operator |
octave.vim |
3.8.0 |
2014-01-10 |
6.0 |
Rik *** |
Updated function list to match 3.8.0 release of Octave
Correct coloring problem with escaped double quotes within double-quoted string |
octave.vim |
3.6.0b |
2012-01-30 |
5.7 |
Rik *** |
Correctly highlight functions like strcmp which use '=' within quotes rather than assignment |
octave.vim |
3.6.0 |
2012-01-23 |
5.7 |
Rik *** |
Update with list of 3.6.0 functions. Now highlights keywords varargin, varargout, parfor. |
octave.vim |
3.4.3 |
2011-10-12 |
5.7 |
Rik *** |
Updated for 3.4.3
Spellchecking in Vim, if used, is now restricted to string literals and comments which reduces screen clutter. |
octave.vim |
3.4.2 |
2011-08-03 |
5.7 |
Rik *** |
Updated with 3.4.2 function list |
octave.vim |
3.4.0c |
2011-06-08 |
5.7 |
Rik *** |
Now highlights anonymous functions.
Commands integrated into use-dependent highlighting.
Better recognition of keyword on LHS of '=' to stop highlighting user variables |
octave.vim |
3.4.0b |
2011-05-31 |
5.7 |
Rik *** |
Correct occasional non-highlighting of nested () within function calls |
octave.vim |
3.4.0 |
2011-05-24 |
5.7 |
Rik *** |
Initial upload |
ip used for rating: 44.192.27.11
|