mirror of
				https://github.com/neovim/neovim.git
				synced 2025-10-26 12:27:24 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			451 lines
		
	
	
		
			26 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			451 lines
		
	
	
		
			26 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| " stata.vim -- Vim syntax file for Stata do, ado, and class files.
 | |
| " Language:	Stata and/or Mata
 | |
| " Maintainer:	Jeff Pitblado <jpitblado@stata.com>
 | |
| " Last Change:	26apr2006
 | |
| " Version:	1.1.4
 | |
| 
 | |
| " Log:
 | |
| " 14apr2006	renamed syntax groups st* to stata*
 | |
| "		'syntax clear' only under version control
 | |
| "		check for 'b:current_syntax', removed 'did_stata_syntax_inits'
 | |
| " 17apr2006	fixed start expression for stataFunc
 | |
| " 26apr2006	fixed brace confusion in stataErrInParen and stataErrInBracket
 | |
| "		fixed paren/bracket confusion in stataFuncGroup
 | |
| 
 | |
| " quit when a syntax file was already loaded
 | |
| if exists("b:current_syntax")
 | |
| 	finish
 | |
| endif
 | |
| 
 | |
| syntax case match
 | |
| 
 | |
| " comments - single line
 | |
| " note that the triple slash continuing line comment comes free
 | |
| syn region stataStarComment  start=/^\s*\*/ end=/$/    contains=stataComment oneline
 | |
| syn region stataSlashComment start="\s//"   end=/$/    contains=stataComment oneline
 | |
| syn region stataSlashComment start="^//"    end=/$/    contains=stataComment oneline
 | |
| " comments - multiple line
 | |
| syn region stataComment      start="/\*"    end="\*/"  contains=stataComment
 | |
| 
 | |
| " global macros - simple case
 | |
| syn match  stataGlobal /\$\a\w*/
 | |
| " global macros - general case
 | |
| syn region stataGlobal start=/\${/ end=/}/ oneline contains=@stataMacroGroup
 | |
| " local macros - general case
 | |
| syn region stataLocal  start=/`/ end=/'/   oneline contains=@stataMacroGroup
 | |
| 
 | |
| " numeric formats
 | |
| syn match  stataFormat /%-\=\d\+\.\d\+[efg]c\=/
 | |
| " numeric hex format
 | |
| syn match  stataFormat /%-\=21x/
 | |
| " string format
 | |
| syn match  stataFormat /%\(\|-\|\~\)\d\+s/
 | |
| 
 | |
| " Statements
 | |
| syn keyword stataConditional else if
 | |
| syn keyword stataRepeat      foreach
 | |
| syn keyword stataRepeat      forv[alues]
 | |
| syn keyword stataRepeat      while
 | |
| 
 | |
| " Common programming commands
 | |
| syn keyword stataCommand about
 | |
| syn keyword stataCommand adopath
 | |
| syn keyword stataCommand adoupdate
 | |
| syn keyword stataCommand assert
 | |
| syn keyword stataCommand break
 | |
| syn keyword stataCommand by
 | |
| syn keyword stataCommand cap[ture]
 | |
| syn keyword stataCommand cd
 | |
| syn keyword stataCommand chdir
 | |
| syn keyword stataCommand checksum
 | |
| syn keyword stataCommand class
 | |
| syn keyword stataCommand classutil
 | |
| syn keyword stataCommand compress
 | |
| syn keyword stataCommand conf[irm]
 | |
| syn keyword stataCommand conren
 | |
| syn keyword stataCommand continue
 | |
| syn keyword stataCommand cou[nt]
 | |
| syn keyword stataCommand cscript
 | |
| syn keyword stataCommand cscript_log
 | |
| syn keyword stataCommand #delimit
 | |
| syn keyword stataCommand d[escribe]
 | |
| syn keyword stataCommand dir
 | |
| syn keyword stataCommand discard
 | |
| syn keyword stataCommand di[splay]
 | |
| syn keyword stataCommand do
 | |
| syn keyword stataCommand doedit
 | |
| syn keyword stataCommand drop
 | |
| syn keyword stataCommand edit
 | |
| syn keyword stataCommand end
 | |
| syn keyword stataCommand erase
 | |
| syn keyword stataCommand eret[urn]
 | |
| syn keyword stataCommand err[or]
 | |
| syn keyword stataCommand e[xit]
 | |
| syn keyword stataCommand expand
 | |
| syn keyword stataCommand expandcl
 | |
| syn keyword stataCommand file
 | |
| syn keyword stataCommand findfile
 | |
| syn keyword stataCommand format
 | |
| syn keyword stataCommand g[enerate]
 | |
| syn keyword stataCommand gettoken
 | |
| syn keyword stataCommand gl[obal]
 | |
| syn keyword stataCommand help
 | |
| syn keyword stataCommand hexdump
 | |
| syn keyword stataCommand include
 | |
| syn keyword stataCommand infile
 | |
| syn keyword stataCommand infix
 | |
| syn keyword stataCommand input
 | |
| syn keyword stataCommand insheet
 | |
| syn keyword stataCommand joinby
 | |
| syn keyword stataCommand la[bel]
 | |
| syn keyword stataCommand levelsof
 | |
| syn keyword stataCommand list
 | |
| syn keyword stataCommand loc[al]
 | |
| syn keyword stataCommand log
 | |
| syn keyword stataCommand ma[cro]
 | |
| syn keyword stataCommand mark
 | |
| syn keyword stataCommand markout
 | |
| syn keyword stataCommand marksample
 | |
| syn keyword stataCommand mata
 | |
| syn keyword stataCommand matrix
 | |
| syn keyword stataCommand memory
 | |
| syn keyword stataCommand merge
 | |
| syn keyword stataCommand mkdir
 | |
| syn keyword stataCommand more
 | |
| syn keyword stataCommand net
 | |
| syn keyword stataCommand nobreak
 | |
| syn keyword stataCommand n[oisily]
 | |
| syn keyword stataCommand note[s]
 | |
| syn keyword stataCommand numlist
 | |
| syn keyword stataCommand outfile
 | |
| syn keyword stataCommand outsheet
 | |
| syn keyword stataCommand _parse
 | |
| syn keyword stataCommand pause
 | |
| syn keyword stataCommand plugin
 | |
| syn keyword stataCommand post
 | |
| syn keyword stataCommand postclose
 | |
| syn keyword stataCommand postfile
 | |
| syn keyword stataCommand preserve
 | |
| syn keyword stataCommand print
 | |
| syn keyword stataCommand printer
 | |
| syn keyword stataCommand profiler
 | |
| syn keyword stataCommand pr[ogram]
 | |
| syn keyword stataCommand q[uery]
 | |
| syn keyword stataCommand qui[etly]
 | |
| syn keyword stataCommand rcof
 | |
| syn keyword stataCommand reg[ress]
 | |
| syn keyword stataCommand rename
 | |
| syn keyword stataCommand repeat
 | |
| syn keyword stataCommand replace
 | |
| syn keyword stataCommand reshape
 | |
| syn keyword stataCommand ret[urn]
 | |
| syn keyword stataCommand _rmcoll
 | |
| syn keyword stataCommand _rmcoll
 | |
| syn keyword stataCommand _rmcollright
 | |
| syn keyword stataCommand rmdir
 | |
| syn keyword stataCommand _robust
 | |
| syn keyword stataCommand save
 | |
| syn keyword stataCommand sca[lar]
 | |
| syn keyword stataCommand search
 | |
| syn keyword stataCommand serset
 | |
| syn keyword stataCommand set
 | |
| syn keyword stataCommand shell
 | |
| syn keyword stataCommand sleep
 | |
| syn keyword stataCommand sort
 | |
| syn keyword stataCommand split
 | |
| syn keyword stataCommand sret[urn]
 | |
| syn keyword stataCommand ssc
 | |
| syn keyword stataCommand su[mmarize]
 | |
| syn keyword stataCommand syntax
 | |
| syn keyword stataCommand sysdescribe
 | |
| syn keyword stataCommand sysdir
 | |
| syn keyword stataCommand sysuse
 | |
| syn keyword stataCommand token[ize]
 | |
| syn keyword stataCommand translate
 | |
| syn keyword stataCommand type
 | |
| syn keyword stataCommand unab
 | |
| syn keyword stataCommand unabcmd
 | |
| syn keyword stataCommand update
 | |
| syn keyword stataCommand use
 | |
| syn keyword stataCommand vers[ion]
 | |
| syn keyword stataCommand view
 | |
| syn keyword stataCommand viewsource
 | |
| syn keyword stataCommand webdescribe
 | |
| syn keyword stataCommand webseek
 | |
| syn keyword stataCommand webuse
 | |
| syn keyword stataCommand which
 | |
| syn keyword stataCommand who
 | |
| syn keyword stataCommand window
 | |
| 
 | |
| " Literals
 | |
| syn match  stataQuote   /"/
 | |
| syn region stataEString matchgroup=Nothing start=/`"/ end=/"'/ oneline contains=@stataMacroGroup,stataQuote,stataString,stataEString
 | |
| syn region stataString  matchgroup=Nothing start=/"/ end=/"/   oneline contains=@stataMacroGroup
 | |
| 
 | |
| " define clusters
 | |
| syn cluster stataFuncGroup contains=@stataMacroGroup,stataFunc,stataString,stataEstring,stataParen,stataBracket
 | |
| syn cluster stataMacroGroup contains=stataGlobal,stataLocal
 | |
| syn cluster stataParenGroup contains=stataParenError,stataBracketError,stataBraceError,stataSpecial,stataFormat
 | |
| 
 | |
| " Stata functions
 | |
| " Math
 | |
| syn region stataFunc matchgroup=Function start=/\<abs(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<acos(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<asin(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<atan(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<atan2(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<atanh(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<ceil(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<cloglog(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<comb(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<cos(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<digamma(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<exp(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<floor(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<int(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<invcloglog(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<invlogit(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<ln(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<lnfact(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<lnfactorial(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<lngamma(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<log(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<log10(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<logit(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<max(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<mod(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<reldif(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<round(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<sign(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<sin(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<sqrt(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<sum(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<tan(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<tanh(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<trigamma(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<trunc(/ end=/)/ contains=@stataFuncGroup
 | |
| " Probability distriubtions and density functions
 | |
| syn region stataFunc matchgroup=Function start=/\<betaden(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<Binomial(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<binorm(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<binormal(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<chi2(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<chi2tail(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<dgammapda(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<dgammapdada(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<dgammapdadx(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<dgammapdx(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<dgammapdxdx(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<F(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<Fden(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<Ftail(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<gammaden(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<gammap(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<ibeta(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<invbinomial(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<invchi2(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<invchi2tail(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<invF(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<invFtail(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<invgammap(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<invibeta(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<invnchi2(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<invFtail(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<invibeta(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<invnorm(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<invnormal(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<invttail(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<lnnormal(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<lnnormalden(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<nbetaden(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<nchi2(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<nFden(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<nFtail(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<nibeta(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<norm(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<normal(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<normalden(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<normden(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<npnchi2(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<tden(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<ttail(/ end=/)/ contains=@stataFuncGroup
 | |
| " Random numbers
 | |
| syn region stataFunc matchgroup=Function start=/\<uniform(/ end=/)/ contains=@stataFuncGroup
 | |
| " String
 | |
| syn region stataFunc matchgroup=Function start=/\<abbrev(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<hchar(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<indexnot(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<itrim(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<length(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<lower(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<ltrim(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<plural(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<proper(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<real(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<regexm(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<regexr(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<regexs(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<reverse(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<rtrim(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<string(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<strlen(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<strmatch(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<strpos(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<subinstr(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<subinword(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<substr(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<trim(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<upper(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<word(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<wordcount(/ end=/)/ contains=@stataFuncGroup
 | |
| " Programming
 | |
| syn region stataFunc matchgroup=Function start=/\<autocode(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<byteorder(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<c(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<_caller(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<chop(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<clip(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<cond(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<e(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<epsdouble(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<epsfloat(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<float(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<has_eprop(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<has_eprop(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<inlist(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<inrange(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<irecode(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<matrix(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<maxbyte(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<maxdouble(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<maxfloat(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<maxint(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<maxlong(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<mi(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<minbyte(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<mindouble(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<minfloat(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<minint(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<minlong(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<missing(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<r(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<recode(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<replay(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<return(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<s(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<scalar(/ end=/)/ contains=@stataFuncGroup
 | |
| " Date
 | |
| syn region stataFunc matchgroup=Function start=/\<d(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<date(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<day(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<dow(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<doy(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<halfyear(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<mdy(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<month(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<quarter(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<week(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<year(/ end=/)/ contains=@stataFuncGroup
 | |
| " Time-series
 | |
| syn region stataFunc matchgroup=Function start=/\<daily(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<halfyearly(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<monthly(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<quarterly(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<weekly(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<yearly(/ end=/)/ contains=@stataFuncGroup
 | |
| "
 | |
| syn region stataFunc matchgroup=Function start=/\<yh(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<ym(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<yq(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<yw(/ end=/)/ contains=@stataFuncGroup
 | |
| "
 | |
| syn region stataFunc matchgroup=Function start=/\<d(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<h(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<m(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<q(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<w(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<y(/ end=/)/ contains=@stataFuncGroup
 | |
| "
 | |
| syn region stataFunc matchgroup=Function start=/\<dofd(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<dofh(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<dofm(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<dofq(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<dofw(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<dofy(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<hofd(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<mofd(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<qofd(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<wofd(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<yofd(/ end=/)/ contains=@stataFuncGroup
 | |
| "
 | |
| syn region stataFunc matchgroup=Function start=/\<tin(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<twithin(/ end=/)/ contains=@stataFuncGroup
 | |
| " Matrix
 | |
| syn region stataFunc matchgroup=Function start=/\<colnumb(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<colsof(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<det(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<diag0cnt(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<el(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<issymmetric(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<matmissing(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<mreldif(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<rownumb(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<rowsof(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<trace(/ end=/)/ contains=@stataFuncGroup
 | |
| "
 | |
| syn region stataFunc matchgroup=Function start=/\<cholsky(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<corr(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<diag(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<get(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<hadamard(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<I(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<inv(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<invsym(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<J(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<matuniform(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<nullmat(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<sweep(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<vec(/ end=/)/ contains=@stataFuncGroup
 | |
| syn region stataFunc matchgroup=Function start=/\<vecdiag(/ end=/)/ contains=@stataFuncGroup
 | |
| 
 | |
| " Errors to catch
 | |
| " taken from $VIMRUNTIME/syntax/c.vim 
 | |
| " catch errors caused by wrong parenthesis, braces and brackets
 | |
| syn region	stataParen	transparent start=/(/ end=/)/  contains=ALLBUT,@stataParenGroup,stataErrInBracket,stataErrInBrace
 | |
| syn region	stataBracket	transparent start=/\[/ end=/]/ contains=ALLBUT,@stataParenGroup,stataErrInParen,stataErrInBrace
 | |
| syn region	stataBrace	transparent start=/{/ end=/}/  contains=ALLBUT,@stataParenGroup,stataErrInParen,stataErrInBracket
 | |
| syn match	stataParenError	/[\])}]/
 | |
| syn match	stataBracketError	/]/
 | |
| syn match	stataBraceError	/}/
 | |
| syn match	stataErrInParen	contained /[\]}]/
 | |
| syn match	stataErrInBracket	contained /[)}]/
 | |
| syn match	stataErrInBrace	contained /[)\]]/
 | |
| 
 | |
| " assign highlight groups
 | |
| hi def link stataBraceError	stataError
 | |
| hi def link stataBracketError	stataError
 | |
| hi def link stataErrInBrace	stataError
 | |
| hi def link stataErrInBracket	stataError
 | |
| hi def link stataErrInParen	stataError
 | |
| hi def link stataEString	stataString
 | |
| hi def link stataFormat		stataSpecial
 | |
| hi def link stataGlobal		stataMacro
 | |
| hi def link stataLocal		stataMacro
 | |
| hi def link stataParenError	stataError
 | |
| hi def link stataSlashComment	stataComment
 | |
| hi def link stataStarComment	stataComment
 | |
| 
 | |
| hi def link stataCommand	Define
 | |
| hi def link stataComment	Comment
 | |
| hi def link stataConditional	Conditional
 | |
| hi def link stataError		Error
 | |
| hi def link stataFunc		None
 | |
| hi def link stataMacro		Define
 | |
| hi def link stataRepeat		Repeat
 | |
| hi def link stataSpecial	SpecialChar
 | |
| hi def link stataString		String
 | |
| 
 | |
| let b:current_syntax = "stata"
 | |
| 
 | |
| " vim: ts=8
 | 
