" Vim syntax file " Language: Singular " Maintainer: Henning Kopp " Last Change: 2011 Nov 09 " " HOW TO USE THIS FILE " Put this file into ~/.vim/syntax/singular.vim or " in your vim installation directory under syntax/singular.vim " " Then you can use the commands :syntax=singular " or :set filetype=singular to load the syntax highlighting for your " Singular file " If you are lazy, you should consider adding " map :set filetype=singular " to your vimrc. Now you can enable singular syntax by pressing F12 " " Quit when a (custom) syntax file was already loaded if exists("b:current_syntax") finish endif syn sync fromstart "start highlighting from the start of the document "COMMENT syn region Comment start="//" end="$" " stuff behind a // up to the newline syn region Comment start="/\*" end="\*/" " stuff between /* and */ including newlines " CONSTANTS " Strings syn region String start=+"+ end=+"+ contains=infostring " infostring are special keywords in the library syn keyword infostring AUTHORS OVERVIEW REFERENCES KEYWORDS SEE\ ALSO PROCEDURES USAGE RETURN NOTE ASSUME EXAMPLE LIBRARY contained=String "contained=String hi link infostring SpecialComment " Highlight infostring as if it is a special comment " Library specific stuff syn keyword Label version category info "Numbers syn match Number "\d\+" "Floats syn match Float "[+-]\?\d\+\.\d*" " stuff like -12.05 syn match Float "[+-]\?\d\+\.\d*e[+-]\?\d\+" " stuff like +0.3e-2 or even 1.e-02 " IDENTIFIER " Functions, up to now just basic commands, no library functions syn keyword Function attrib syn keyword Function bareiss betti syn keyword Function char char_series charstr chinrem cleardenom close coef coeffs contract syn keyword Function datetime dbprint defined deg degree delete det diff dim division dump syn keyword Function eliminate eval ERROR example execute extgcd syn keyword Function facstd factmodd factorize farey fetch fglm fglmquot find finduni fprintf freemodule frwalk syn keyword Function gcd gen getdump groebner syn keyword Function help highcorner hilb homog hres syn keyword Function imap impart indepSet insert interpolation interred intersect syn keyword Function jacob janet jet syn keyword Function kbase kernel kill killattrib koszul syn keyword Function laguerre lead leadcoef leadexp leadmonom LIB lift liftstd listvar lres ludecomp luinverse lusolve syn keyword Function maxideal memory minbase minor minres modulo monitor monomial mpresmat mres mstd mult syn keyword Function nameof names ncols npars nres nrows nvars syn keyword Function open option ord ordstr syn keyword Function par pardeg parstr preimage prime primefactors print printf prune syn keyword Function qhweight qrds quote quotient syn keyword Function random rank read reduce regularity repart res reservedName resultant ringlist rvar syn keyword Function setring simplex simplify size slimgb sortvec sqrfree sprintf sres status std stdfglm stdhilb subst system syz syn keyword Function trace transpose type typeof syn keyword Function univariate uressolve syn keyword Function vandermonde var variables varstr vdim syn keyword Function waitall waitfirst wedge weight weightKB write " STATEMENT " Conditional syn keyword Conditional if else " Repeat syn keyword Repeat for while "Keyword, also known as stuff that fits nowhere else (within statements) syn keyword Keyword break breakpoint continue export exportto importfrom keepring load quit return ~ " TYPE syn keyword Type bigint def ideal int intmat intvec link list map matrix module number package poly proc qring resolution ring string vector pyobject syn match Error "\*/" " For wrong comments let b:current_syntax = "singular"