Bram Moolenaar | c6249bb | 2006-04-15 20:25:09 +0000 | [diff] [blame] | 1 | " stata.vim -- Vim syntax file for Stata do, ado, and class files. |
| 2 | " Language: Stata and/or Mata |
| 3 | " Maintainer: Jeff Pitblado <jpitblado@stata.com> |
Bram Moolenaar | f193fff | 2006-04-27 00:02:13 +0000 | [diff] [blame] | 4 | " Last Change: 26apr2006 |
| 5 | " Version: 1.1.4 |
Bram Moolenaar | c6249bb | 2006-04-15 20:25:09 +0000 | [diff] [blame] | 6 | |
| 7 | " Log: |
| 8 | " 14apr2006 renamed syntax groups st* to stata* |
| 9 | " 'syntax clear' only under version control |
Bram Moolenaar | a93fa7e | 2006-04-17 22:14:47 +0000 | [diff] [blame] | 10 | " check for 'b:current_syntax', removed 'did_stata_syntax_inits' |
Bram Moolenaar | f193fff | 2006-04-27 00:02:13 +0000 | [diff] [blame] | 11 | " 17apr2006 fixed start expression for stataFunc |
| 12 | " 26apr2006 fixed brace confusion in stataErrInParen and stataErrInBracket |
| 13 | " fixed paren/bracket confusion in stataFuncGroup |
Bram Moolenaar | c6249bb | 2006-04-15 20:25:09 +0000 | [diff] [blame] | 14 | |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 15 | " quit when a syntax file was already loaded |
| 16 | if exists("b:current_syntax") |
Bram Moolenaar | c6249bb | 2006-04-15 20:25:09 +0000 | [diff] [blame] | 17 | finish |
| 18 | endif |
| 19 | |
| 20 | syntax case match |
| 21 | |
| 22 | " comments - single line |
| 23 | " note that the triple slash continuing line comment comes free |
| 24 | syn region stataStarComment start=/^\s*\*/ end=/$/ contains=stataComment oneline |
| 25 | syn region stataSlashComment start="\s//" end=/$/ contains=stataComment oneline |
| 26 | syn region stataSlashComment start="^//" end=/$/ contains=stataComment oneline |
| 27 | " comments - multiple line |
| 28 | syn region stataComment start="/\*" end="\*/" contains=stataComment |
| 29 | |
| 30 | " global macros - simple case |
| 31 | syn match stataGlobal /\$\a\w*/ |
| 32 | " global macros - general case |
| 33 | syn region stataGlobal start=/\${/ end=/}/ oneline contains=@stataMacroGroup |
| 34 | " local macros - general case |
| 35 | syn region stataLocal start=/`/ end=/'/ oneline contains=@stataMacroGroup |
| 36 | |
| 37 | " numeric formats |
| 38 | syn match stataFormat /%-\=\d\+\.\d\+[efg]c\=/ |
| 39 | " numeric hex format |
| 40 | syn match stataFormat /%-\=21x/ |
| 41 | " string format |
| 42 | syn match stataFormat /%\(\|-\|\~\)\d\+s/ |
| 43 | |
| 44 | " Statements |
| 45 | syn keyword stataConditional else if |
| 46 | syn keyword stataRepeat foreach |
| 47 | syn keyword stataRepeat forv[alues] |
| 48 | syn keyword stataRepeat while |
| 49 | |
| 50 | " Common programming commands |
| 51 | syn keyword stataCommand about |
| 52 | syn keyword stataCommand adopath |
| 53 | syn keyword stataCommand adoupdate |
| 54 | syn keyword stataCommand assert |
| 55 | syn keyword stataCommand break |
| 56 | syn keyword stataCommand by |
| 57 | syn keyword stataCommand cap[ture] |
| 58 | syn keyword stataCommand cd |
| 59 | syn keyword stataCommand chdir |
| 60 | syn keyword stataCommand checksum |
| 61 | syn keyword stataCommand class |
| 62 | syn keyword stataCommand classutil |
| 63 | syn keyword stataCommand compress |
| 64 | syn keyword stataCommand conf[irm] |
| 65 | syn keyword stataCommand conren |
| 66 | syn keyword stataCommand continue |
| 67 | syn keyword stataCommand cou[nt] |
| 68 | syn keyword stataCommand cscript |
| 69 | syn keyword stataCommand cscript_log |
| 70 | syn keyword stataCommand #delimit |
| 71 | syn keyword stataCommand d[escribe] |
| 72 | syn keyword stataCommand dir |
| 73 | syn keyword stataCommand discard |
| 74 | syn keyword stataCommand di[splay] |
| 75 | syn keyword stataCommand do |
| 76 | syn keyword stataCommand doedit |
| 77 | syn keyword stataCommand drop |
| 78 | syn keyword stataCommand edit |
| 79 | syn keyword stataCommand end |
| 80 | syn keyword stataCommand erase |
| 81 | syn keyword stataCommand eret[urn] |
| 82 | syn keyword stataCommand err[or] |
| 83 | syn keyword stataCommand e[xit] |
| 84 | syn keyword stataCommand expand |
| 85 | syn keyword stataCommand expandcl |
| 86 | syn keyword stataCommand file |
| 87 | syn keyword stataCommand findfile |
| 88 | syn keyword stataCommand format |
| 89 | syn keyword stataCommand g[enerate] |
| 90 | syn keyword stataCommand gettoken |
| 91 | syn keyword stataCommand gl[obal] |
| 92 | syn keyword stataCommand help |
| 93 | syn keyword stataCommand hexdump |
| 94 | syn keyword stataCommand include |
| 95 | syn keyword stataCommand infile |
| 96 | syn keyword stataCommand infix |
| 97 | syn keyword stataCommand input |
| 98 | syn keyword stataCommand insheet |
| 99 | syn keyword stataCommand joinby |
| 100 | syn keyword stataCommand la[bel] |
| 101 | syn keyword stataCommand levelsof |
| 102 | syn keyword stataCommand list |
| 103 | syn keyword stataCommand loc[al] |
| 104 | syn keyword stataCommand log |
| 105 | syn keyword stataCommand ma[cro] |
| 106 | syn keyword stataCommand mark |
| 107 | syn keyword stataCommand markout |
| 108 | syn keyword stataCommand marksample |
| 109 | syn keyword stataCommand mata |
| 110 | syn keyword stataCommand matrix |
| 111 | syn keyword stataCommand memory |
| 112 | syn keyword stataCommand merge |
| 113 | syn keyword stataCommand mkdir |
| 114 | syn keyword stataCommand more |
| 115 | syn keyword stataCommand net |
| 116 | syn keyword stataCommand nobreak |
| 117 | syn keyword stataCommand n[oisily] |
| 118 | syn keyword stataCommand note[s] |
| 119 | syn keyword stataCommand numlist |
| 120 | syn keyword stataCommand outfile |
| 121 | syn keyword stataCommand outsheet |
| 122 | syn keyword stataCommand _parse |
| 123 | syn keyword stataCommand pause |
| 124 | syn keyword stataCommand plugin |
| 125 | syn keyword stataCommand post |
| 126 | syn keyword stataCommand postclose |
| 127 | syn keyword stataCommand postfile |
| 128 | syn keyword stataCommand preserve |
| 129 | syn keyword stataCommand print |
| 130 | syn keyword stataCommand printer |
| 131 | syn keyword stataCommand profiler |
| 132 | syn keyword stataCommand pr[ogram] |
| 133 | syn keyword stataCommand q[uery] |
| 134 | syn keyword stataCommand qui[etly] |
| 135 | syn keyword stataCommand rcof |
| 136 | syn keyword stataCommand reg[ress] |
| 137 | syn keyword stataCommand rename |
| 138 | syn keyword stataCommand repeat |
| 139 | syn keyword stataCommand replace |
| 140 | syn keyword stataCommand reshape |
| 141 | syn keyword stataCommand ret[urn] |
| 142 | syn keyword stataCommand _rmcoll |
| 143 | syn keyword stataCommand _rmcoll |
| 144 | syn keyword stataCommand _rmcollright |
| 145 | syn keyword stataCommand rmdir |
| 146 | syn keyword stataCommand _robust |
| 147 | syn keyword stataCommand save |
| 148 | syn keyword stataCommand sca[lar] |
| 149 | syn keyword stataCommand search |
| 150 | syn keyword stataCommand serset |
| 151 | syn keyword stataCommand set |
| 152 | syn keyword stataCommand shell |
| 153 | syn keyword stataCommand sleep |
| 154 | syn keyword stataCommand sort |
| 155 | syn keyword stataCommand split |
| 156 | syn keyword stataCommand sret[urn] |
| 157 | syn keyword stataCommand ssc |
| 158 | syn keyword stataCommand su[mmarize] |
| 159 | syn keyword stataCommand syntax |
| 160 | syn keyword stataCommand sysdescribe |
| 161 | syn keyword stataCommand sysdir |
| 162 | syn keyword stataCommand sysuse |
| 163 | syn keyword stataCommand token[ize] |
| 164 | syn keyword stataCommand translate |
| 165 | syn keyword stataCommand type |
| 166 | syn keyword stataCommand unab |
| 167 | syn keyword stataCommand unabcmd |
| 168 | syn keyword stataCommand update |
| 169 | syn keyword stataCommand use |
| 170 | syn keyword stataCommand vers[ion] |
| 171 | syn keyword stataCommand view |
| 172 | syn keyword stataCommand viewsource |
| 173 | syn keyword stataCommand webdescribe |
| 174 | syn keyword stataCommand webseek |
| 175 | syn keyword stataCommand webuse |
| 176 | syn keyword stataCommand which |
| 177 | syn keyword stataCommand who |
| 178 | syn keyword stataCommand window |
| 179 | |
| 180 | " Literals |
| 181 | syn match stataQuote /"/ |
| 182 | syn region stataEString matchgroup=Nothing start=/`"/ end=/"'/ oneline contains=@stataMacroGroup,stataQuote,stataString,stataEString |
| 183 | syn region stataString matchgroup=Nothing start=/"/ end=/"/ oneline contains=@stataMacroGroup |
| 184 | |
| 185 | " define clusters |
Bram Moolenaar | f193fff | 2006-04-27 00:02:13 +0000 | [diff] [blame] | 186 | syn cluster stataFuncGroup contains=@stataMacroGroup,stataFunc,stataString,stataEstring,stataParen,stataBracket |
Bram Moolenaar | c6249bb | 2006-04-15 20:25:09 +0000 | [diff] [blame] | 187 | syn cluster stataMacroGroup contains=stataGlobal,stataLocal |
| 188 | syn cluster stataParenGroup contains=stataParenError,stataBracketError,stataBraceError,stataSpecial,stataFormat |
| 189 | |
| 190 | " Stata functions |
| 191 | " Math |
Bram Moolenaar | a93fa7e | 2006-04-17 22:14:47 +0000 | [diff] [blame] | 192 | syn region stataFunc matchgroup=Function start=/\<abs(/ end=/)/ contains=@stataFuncGroup |
| 193 | syn region stataFunc matchgroup=Function start=/\<acos(/ end=/)/ contains=@stataFuncGroup |
| 194 | syn region stataFunc matchgroup=Function start=/\<asin(/ end=/)/ contains=@stataFuncGroup |
| 195 | syn region stataFunc matchgroup=Function start=/\<atan(/ end=/)/ contains=@stataFuncGroup |
| 196 | syn region stataFunc matchgroup=Function start=/\<atan2(/ end=/)/ contains=@stataFuncGroup |
| 197 | syn region stataFunc matchgroup=Function start=/\<atanh(/ end=/)/ contains=@stataFuncGroup |
| 198 | syn region stataFunc matchgroup=Function start=/\<ceil(/ end=/)/ contains=@stataFuncGroup |
| 199 | syn region stataFunc matchgroup=Function start=/\<cloglog(/ end=/)/ contains=@stataFuncGroup |
| 200 | syn region stataFunc matchgroup=Function start=/\<comb(/ end=/)/ contains=@stataFuncGroup |
| 201 | syn region stataFunc matchgroup=Function start=/\<cos(/ end=/)/ contains=@stataFuncGroup |
| 202 | syn region stataFunc matchgroup=Function start=/\<digamma(/ end=/)/ contains=@stataFuncGroup |
| 203 | syn region stataFunc matchgroup=Function start=/\<exp(/ end=/)/ contains=@stataFuncGroup |
| 204 | syn region stataFunc matchgroup=Function start=/\<floor(/ end=/)/ contains=@stataFuncGroup |
| 205 | syn region stataFunc matchgroup=Function start=/\<int(/ end=/)/ contains=@stataFuncGroup |
| 206 | syn region stataFunc matchgroup=Function start=/\<invcloglog(/ end=/)/ contains=@stataFuncGroup |
| 207 | syn region stataFunc matchgroup=Function start=/\<invlogit(/ end=/)/ contains=@stataFuncGroup |
| 208 | syn region stataFunc matchgroup=Function start=/\<ln(/ end=/)/ contains=@stataFuncGroup |
| 209 | syn region stataFunc matchgroup=Function start=/\<lnfact(/ end=/)/ contains=@stataFuncGroup |
| 210 | syn region stataFunc matchgroup=Function start=/\<lnfactorial(/ end=/)/ contains=@stataFuncGroup |
| 211 | syn region stataFunc matchgroup=Function start=/\<lngamma(/ end=/)/ contains=@stataFuncGroup |
| 212 | syn region stataFunc matchgroup=Function start=/\<log(/ end=/)/ contains=@stataFuncGroup |
| 213 | syn region stataFunc matchgroup=Function start=/\<log10(/ end=/)/ contains=@stataFuncGroup |
| 214 | syn region stataFunc matchgroup=Function start=/\<logit(/ end=/)/ contains=@stataFuncGroup |
| 215 | syn region stataFunc matchgroup=Function start=/\<max(/ end=/)/ contains=@stataFuncGroup |
| 216 | syn region stataFunc matchgroup=Function start=/\<mod(/ end=/)/ contains=@stataFuncGroup |
| 217 | syn region stataFunc matchgroup=Function start=/\<reldif(/ end=/)/ contains=@stataFuncGroup |
| 218 | syn region stataFunc matchgroup=Function start=/\<round(/ end=/)/ contains=@stataFuncGroup |
| 219 | syn region stataFunc matchgroup=Function start=/\<sign(/ end=/)/ contains=@stataFuncGroup |
| 220 | syn region stataFunc matchgroup=Function start=/\<sin(/ end=/)/ contains=@stataFuncGroup |
| 221 | syn region stataFunc matchgroup=Function start=/\<sqrt(/ end=/)/ contains=@stataFuncGroup |
| 222 | syn region stataFunc matchgroup=Function start=/\<sum(/ end=/)/ contains=@stataFuncGroup |
| 223 | syn region stataFunc matchgroup=Function start=/\<tan(/ end=/)/ contains=@stataFuncGroup |
| 224 | syn region stataFunc matchgroup=Function start=/\<tanh(/ end=/)/ contains=@stataFuncGroup |
| 225 | syn region stataFunc matchgroup=Function start=/\<trigamma(/ end=/)/ contains=@stataFuncGroup |
| 226 | syn region stataFunc matchgroup=Function start=/\<trunc(/ end=/)/ contains=@stataFuncGroup |
Bram Moolenaar | c6249bb | 2006-04-15 20:25:09 +0000 | [diff] [blame] | 227 | " Probability distriubtions and density functions |
Bram Moolenaar | a93fa7e | 2006-04-17 22:14:47 +0000 | [diff] [blame] | 228 | syn region stataFunc matchgroup=Function start=/\<betaden(/ end=/)/ contains=@stataFuncGroup |
| 229 | syn region stataFunc matchgroup=Function start=/\<Binomial(/ end=/)/ contains=@stataFuncGroup |
| 230 | syn region stataFunc matchgroup=Function start=/\<binorm(/ end=/)/ contains=@stataFuncGroup |
| 231 | syn region stataFunc matchgroup=Function start=/\<binormal(/ end=/)/ contains=@stataFuncGroup |
| 232 | syn region stataFunc matchgroup=Function start=/\<chi2(/ end=/)/ contains=@stataFuncGroup |
| 233 | syn region stataFunc matchgroup=Function start=/\<chi2tail(/ end=/)/ contains=@stataFuncGroup |
| 234 | syn region stataFunc matchgroup=Function start=/\<dgammapda(/ end=/)/ contains=@stataFuncGroup |
| 235 | syn region stataFunc matchgroup=Function start=/\<dgammapdada(/ end=/)/ contains=@stataFuncGroup |
| 236 | syn region stataFunc matchgroup=Function start=/\<dgammapdadx(/ end=/)/ contains=@stataFuncGroup |
| 237 | syn region stataFunc matchgroup=Function start=/\<dgammapdx(/ end=/)/ contains=@stataFuncGroup |
| 238 | syn region stataFunc matchgroup=Function start=/\<dgammapdxdx(/ end=/)/ contains=@stataFuncGroup |
| 239 | syn region stataFunc matchgroup=Function start=/\<F(/ end=/)/ contains=@stataFuncGroup |
| 240 | syn region stataFunc matchgroup=Function start=/\<Fden(/ end=/)/ contains=@stataFuncGroup |
| 241 | syn region stataFunc matchgroup=Function start=/\<Ftail(/ end=/)/ contains=@stataFuncGroup |
| 242 | syn region stataFunc matchgroup=Function start=/\<gammaden(/ end=/)/ contains=@stataFuncGroup |
| 243 | syn region stataFunc matchgroup=Function start=/\<gammap(/ end=/)/ contains=@stataFuncGroup |
| 244 | syn region stataFunc matchgroup=Function start=/\<ibeta(/ end=/)/ contains=@stataFuncGroup |
| 245 | syn region stataFunc matchgroup=Function start=/\<invbinomial(/ end=/)/ contains=@stataFuncGroup |
| 246 | syn region stataFunc matchgroup=Function start=/\<invchi2(/ end=/)/ contains=@stataFuncGroup |
| 247 | syn region stataFunc matchgroup=Function start=/\<invchi2tail(/ end=/)/ contains=@stataFuncGroup |
| 248 | syn region stataFunc matchgroup=Function start=/\<invF(/ end=/)/ contains=@stataFuncGroup |
| 249 | syn region stataFunc matchgroup=Function start=/\<invFtail(/ end=/)/ contains=@stataFuncGroup |
| 250 | syn region stataFunc matchgroup=Function start=/\<invgammap(/ end=/)/ contains=@stataFuncGroup |
| 251 | syn region stataFunc matchgroup=Function start=/\<invibeta(/ end=/)/ contains=@stataFuncGroup |
| 252 | syn region stataFunc matchgroup=Function start=/\<invnchi2(/ end=/)/ contains=@stataFuncGroup |
| 253 | syn region stataFunc matchgroup=Function start=/\<invFtail(/ end=/)/ contains=@stataFuncGroup |
| 254 | syn region stataFunc matchgroup=Function start=/\<invibeta(/ end=/)/ contains=@stataFuncGroup |
| 255 | syn region stataFunc matchgroup=Function start=/\<invnorm(/ end=/)/ contains=@stataFuncGroup |
| 256 | syn region stataFunc matchgroup=Function start=/\<invnormal(/ end=/)/ contains=@stataFuncGroup |
| 257 | syn region stataFunc matchgroup=Function start=/\<invttail(/ end=/)/ contains=@stataFuncGroup |
| 258 | syn region stataFunc matchgroup=Function start=/\<lnnormal(/ end=/)/ contains=@stataFuncGroup |
| 259 | syn region stataFunc matchgroup=Function start=/\<lnnormalden(/ end=/)/ contains=@stataFuncGroup |
| 260 | syn region stataFunc matchgroup=Function start=/\<nbetaden(/ end=/)/ contains=@stataFuncGroup |
| 261 | syn region stataFunc matchgroup=Function start=/\<nchi2(/ end=/)/ contains=@stataFuncGroup |
| 262 | syn region stataFunc matchgroup=Function start=/\<nFden(/ end=/)/ contains=@stataFuncGroup |
| 263 | syn region stataFunc matchgroup=Function start=/\<nFtail(/ end=/)/ contains=@stataFuncGroup |
| 264 | syn region stataFunc matchgroup=Function start=/\<nibeta(/ end=/)/ contains=@stataFuncGroup |
| 265 | syn region stataFunc matchgroup=Function start=/\<norm(/ end=/)/ contains=@stataFuncGroup |
| 266 | syn region stataFunc matchgroup=Function start=/\<normal(/ end=/)/ contains=@stataFuncGroup |
| 267 | syn region stataFunc matchgroup=Function start=/\<normalden(/ end=/)/ contains=@stataFuncGroup |
| 268 | syn region stataFunc matchgroup=Function start=/\<normden(/ end=/)/ contains=@stataFuncGroup |
| 269 | syn region stataFunc matchgroup=Function start=/\<npnchi2(/ end=/)/ contains=@stataFuncGroup |
| 270 | syn region stataFunc matchgroup=Function start=/\<tden(/ end=/)/ contains=@stataFuncGroup |
| 271 | syn region stataFunc matchgroup=Function start=/\<ttail(/ end=/)/ contains=@stataFuncGroup |
Bram Moolenaar | c6249bb | 2006-04-15 20:25:09 +0000 | [diff] [blame] | 272 | " Random numbers |
Bram Moolenaar | a93fa7e | 2006-04-17 22:14:47 +0000 | [diff] [blame] | 273 | syn region stataFunc matchgroup=Function start=/\<uniform(/ end=/)/ contains=@stataFuncGroup |
Bram Moolenaar | c6249bb | 2006-04-15 20:25:09 +0000 | [diff] [blame] | 274 | " String |
Bram Moolenaar | a93fa7e | 2006-04-17 22:14:47 +0000 | [diff] [blame] | 275 | syn region stataFunc matchgroup=Function start=/\<abbrev(/ end=/)/ contains=@stataFuncGroup |
| 276 | syn region stataFunc matchgroup=Function start=/\<hchar(/ end=/)/ contains=@stataFuncGroup |
| 277 | syn region stataFunc matchgroup=Function start=/\<indexnot(/ end=/)/ contains=@stataFuncGroup |
| 278 | syn region stataFunc matchgroup=Function start=/\<itrim(/ end=/)/ contains=@stataFuncGroup |
| 279 | syn region stataFunc matchgroup=Function start=/\<length(/ end=/)/ contains=@stataFuncGroup |
| 280 | syn region stataFunc matchgroup=Function start=/\<lower(/ end=/)/ contains=@stataFuncGroup |
| 281 | syn region stataFunc matchgroup=Function start=/\<ltrim(/ end=/)/ contains=@stataFuncGroup |
| 282 | syn region stataFunc matchgroup=Function start=/\<plural(/ end=/)/ contains=@stataFuncGroup |
| 283 | syn region stataFunc matchgroup=Function start=/\<proper(/ end=/)/ contains=@stataFuncGroup |
| 284 | syn region stataFunc matchgroup=Function start=/\<real(/ end=/)/ contains=@stataFuncGroup |
| 285 | syn region stataFunc matchgroup=Function start=/\<regexm(/ end=/)/ contains=@stataFuncGroup |
| 286 | syn region stataFunc matchgroup=Function start=/\<regexr(/ end=/)/ contains=@stataFuncGroup |
| 287 | syn region stataFunc matchgroup=Function start=/\<regexs(/ end=/)/ contains=@stataFuncGroup |
| 288 | syn region stataFunc matchgroup=Function start=/\<reverse(/ end=/)/ contains=@stataFuncGroup |
| 289 | syn region stataFunc matchgroup=Function start=/\<rtrim(/ end=/)/ contains=@stataFuncGroup |
| 290 | syn region stataFunc matchgroup=Function start=/\<string(/ end=/)/ contains=@stataFuncGroup |
| 291 | syn region stataFunc matchgroup=Function start=/\<strlen(/ end=/)/ contains=@stataFuncGroup |
| 292 | syn region stataFunc matchgroup=Function start=/\<strmatch(/ end=/)/ contains=@stataFuncGroup |
| 293 | syn region stataFunc matchgroup=Function start=/\<strpos(/ end=/)/ contains=@stataFuncGroup |
| 294 | syn region stataFunc matchgroup=Function start=/\<subinstr(/ end=/)/ contains=@stataFuncGroup |
| 295 | syn region stataFunc matchgroup=Function start=/\<subinword(/ end=/)/ contains=@stataFuncGroup |
| 296 | syn region stataFunc matchgroup=Function start=/\<substr(/ end=/)/ contains=@stataFuncGroup |
| 297 | syn region stataFunc matchgroup=Function start=/\<trim(/ end=/)/ contains=@stataFuncGroup |
| 298 | syn region stataFunc matchgroup=Function start=/\<upper(/ end=/)/ contains=@stataFuncGroup |
| 299 | syn region stataFunc matchgroup=Function start=/\<word(/ end=/)/ contains=@stataFuncGroup |
| 300 | syn region stataFunc matchgroup=Function start=/\<wordcount(/ end=/)/ contains=@stataFuncGroup |
Bram Moolenaar | c6249bb | 2006-04-15 20:25:09 +0000 | [diff] [blame] | 301 | " Programming |
Bram Moolenaar | a93fa7e | 2006-04-17 22:14:47 +0000 | [diff] [blame] | 302 | syn region stataFunc matchgroup=Function start=/\<autocode(/ end=/)/ contains=@stataFuncGroup |
| 303 | syn region stataFunc matchgroup=Function start=/\<byteorder(/ end=/)/ contains=@stataFuncGroup |
| 304 | syn region stataFunc matchgroup=Function start=/\<c(/ end=/)/ contains=@stataFuncGroup |
| 305 | syn region stataFunc matchgroup=Function start=/\<_caller(/ end=/)/ contains=@stataFuncGroup |
| 306 | syn region stataFunc matchgroup=Function start=/\<chop(/ end=/)/ contains=@stataFuncGroup |
| 307 | syn region stataFunc matchgroup=Function start=/\<clip(/ end=/)/ contains=@stataFuncGroup |
| 308 | syn region stataFunc matchgroup=Function start=/\<cond(/ end=/)/ contains=@stataFuncGroup |
| 309 | syn region stataFunc matchgroup=Function start=/\<e(/ end=/)/ contains=@stataFuncGroup |
| 310 | syn region stataFunc matchgroup=Function start=/\<epsdouble(/ end=/)/ contains=@stataFuncGroup |
| 311 | syn region stataFunc matchgroup=Function start=/\<epsfloat(/ end=/)/ contains=@stataFuncGroup |
| 312 | syn region stataFunc matchgroup=Function start=/\<float(/ end=/)/ contains=@stataFuncGroup |
| 313 | syn region stataFunc matchgroup=Function start=/\<has_eprop(/ end=/)/ contains=@stataFuncGroup |
| 314 | syn region stataFunc matchgroup=Function start=/\<has_eprop(/ end=/)/ contains=@stataFuncGroup |
| 315 | syn region stataFunc matchgroup=Function start=/\<inlist(/ end=/)/ contains=@stataFuncGroup |
| 316 | syn region stataFunc matchgroup=Function start=/\<inrange(/ end=/)/ contains=@stataFuncGroup |
| 317 | syn region stataFunc matchgroup=Function start=/\<irecode(/ end=/)/ contains=@stataFuncGroup |
| 318 | syn region stataFunc matchgroup=Function start=/\<matrix(/ end=/)/ contains=@stataFuncGroup |
| 319 | syn region stataFunc matchgroup=Function start=/\<maxbyte(/ end=/)/ contains=@stataFuncGroup |
| 320 | syn region stataFunc matchgroup=Function start=/\<maxdouble(/ end=/)/ contains=@stataFuncGroup |
| 321 | syn region stataFunc matchgroup=Function start=/\<maxfloat(/ end=/)/ contains=@stataFuncGroup |
| 322 | syn region stataFunc matchgroup=Function start=/\<maxint(/ end=/)/ contains=@stataFuncGroup |
| 323 | syn region stataFunc matchgroup=Function start=/\<maxlong(/ end=/)/ contains=@stataFuncGroup |
| 324 | syn region stataFunc matchgroup=Function start=/\<mi(/ end=/)/ contains=@stataFuncGroup |
| 325 | syn region stataFunc matchgroup=Function start=/\<minbyte(/ end=/)/ contains=@stataFuncGroup |
| 326 | syn region stataFunc matchgroup=Function start=/\<mindouble(/ end=/)/ contains=@stataFuncGroup |
| 327 | syn region stataFunc matchgroup=Function start=/\<minfloat(/ end=/)/ contains=@stataFuncGroup |
| 328 | syn region stataFunc matchgroup=Function start=/\<minint(/ end=/)/ contains=@stataFuncGroup |
| 329 | syn region stataFunc matchgroup=Function start=/\<minlong(/ end=/)/ contains=@stataFuncGroup |
| 330 | syn region stataFunc matchgroup=Function start=/\<missing(/ end=/)/ contains=@stataFuncGroup |
| 331 | syn region stataFunc matchgroup=Function start=/\<r(/ end=/)/ contains=@stataFuncGroup |
| 332 | syn region stataFunc matchgroup=Function start=/\<recode(/ end=/)/ contains=@stataFuncGroup |
| 333 | syn region stataFunc matchgroup=Function start=/\<replay(/ end=/)/ contains=@stataFuncGroup |
| 334 | syn region stataFunc matchgroup=Function start=/\<return(/ end=/)/ contains=@stataFuncGroup |
| 335 | syn region stataFunc matchgroup=Function start=/\<s(/ end=/)/ contains=@stataFuncGroup |
| 336 | syn region stataFunc matchgroup=Function start=/\<scalar(/ end=/)/ contains=@stataFuncGroup |
Bram Moolenaar | c6249bb | 2006-04-15 20:25:09 +0000 | [diff] [blame] | 337 | " Date |
Bram Moolenaar | a93fa7e | 2006-04-17 22:14:47 +0000 | [diff] [blame] | 338 | syn region stataFunc matchgroup=Function start=/\<d(/ end=/)/ contains=@stataFuncGroup |
| 339 | syn region stataFunc matchgroup=Function start=/\<date(/ end=/)/ contains=@stataFuncGroup |
| 340 | syn region stataFunc matchgroup=Function start=/\<day(/ end=/)/ contains=@stataFuncGroup |
| 341 | syn region stataFunc matchgroup=Function start=/\<dow(/ end=/)/ contains=@stataFuncGroup |
| 342 | syn region stataFunc matchgroup=Function start=/\<doy(/ end=/)/ contains=@stataFuncGroup |
| 343 | syn region stataFunc matchgroup=Function start=/\<halfyear(/ end=/)/ contains=@stataFuncGroup |
| 344 | syn region stataFunc matchgroup=Function start=/\<mdy(/ end=/)/ contains=@stataFuncGroup |
| 345 | syn region stataFunc matchgroup=Function start=/\<month(/ end=/)/ contains=@stataFuncGroup |
| 346 | syn region stataFunc matchgroup=Function start=/\<quarter(/ end=/)/ contains=@stataFuncGroup |
| 347 | syn region stataFunc matchgroup=Function start=/\<week(/ end=/)/ contains=@stataFuncGroup |
| 348 | syn region stataFunc matchgroup=Function start=/\<year(/ end=/)/ contains=@stataFuncGroup |
Bram Moolenaar | c6249bb | 2006-04-15 20:25:09 +0000 | [diff] [blame] | 349 | " Time-series |
Bram Moolenaar | a93fa7e | 2006-04-17 22:14:47 +0000 | [diff] [blame] | 350 | syn region stataFunc matchgroup=Function start=/\<daily(/ end=/)/ contains=@stataFuncGroup |
| 351 | syn region stataFunc matchgroup=Function start=/\<halfyearly(/ end=/)/ contains=@stataFuncGroup |
| 352 | syn region stataFunc matchgroup=Function start=/\<monthly(/ end=/)/ contains=@stataFuncGroup |
| 353 | syn region stataFunc matchgroup=Function start=/\<quarterly(/ end=/)/ contains=@stataFuncGroup |
| 354 | syn region stataFunc matchgroup=Function start=/\<weekly(/ end=/)/ contains=@stataFuncGroup |
| 355 | syn region stataFunc matchgroup=Function start=/\<yearly(/ end=/)/ contains=@stataFuncGroup |
Bram Moolenaar | c6249bb | 2006-04-15 20:25:09 +0000 | [diff] [blame] | 356 | " |
Bram Moolenaar | a93fa7e | 2006-04-17 22:14:47 +0000 | [diff] [blame] | 357 | syn region stataFunc matchgroup=Function start=/\<yh(/ end=/)/ contains=@stataFuncGroup |
| 358 | syn region stataFunc matchgroup=Function start=/\<ym(/ end=/)/ contains=@stataFuncGroup |
| 359 | syn region stataFunc matchgroup=Function start=/\<yq(/ end=/)/ contains=@stataFuncGroup |
| 360 | syn region stataFunc matchgroup=Function start=/\<yw(/ end=/)/ contains=@stataFuncGroup |
Bram Moolenaar | c6249bb | 2006-04-15 20:25:09 +0000 | [diff] [blame] | 361 | " |
Bram Moolenaar | a93fa7e | 2006-04-17 22:14:47 +0000 | [diff] [blame] | 362 | syn region stataFunc matchgroup=Function start=/\<d(/ end=/)/ contains=@stataFuncGroup |
| 363 | syn region stataFunc matchgroup=Function start=/\<h(/ end=/)/ contains=@stataFuncGroup |
| 364 | syn region stataFunc matchgroup=Function start=/\<m(/ end=/)/ contains=@stataFuncGroup |
| 365 | syn region stataFunc matchgroup=Function start=/\<q(/ end=/)/ contains=@stataFuncGroup |
| 366 | syn region stataFunc matchgroup=Function start=/\<w(/ end=/)/ contains=@stataFuncGroup |
| 367 | syn region stataFunc matchgroup=Function start=/\<y(/ end=/)/ contains=@stataFuncGroup |
Bram Moolenaar | c6249bb | 2006-04-15 20:25:09 +0000 | [diff] [blame] | 368 | " |
Bram Moolenaar | a93fa7e | 2006-04-17 22:14:47 +0000 | [diff] [blame] | 369 | syn region stataFunc matchgroup=Function start=/\<dofd(/ end=/)/ contains=@stataFuncGroup |
| 370 | syn region stataFunc matchgroup=Function start=/\<dofh(/ end=/)/ contains=@stataFuncGroup |
| 371 | syn region stataFunc matchgroup=Function start=/\<dofm(/ end=/)/ contains=@stataFuncGroup |
| 372 | syn region stataFunc matchgroup=Function start=/\<dofq(/ end=/)/ contains=@stataFuncGroup |
| 373 | syn region stataFunc matchgroup=Function start=/\<dofw(/ end=/)/ contains=@stataFuncGroup |
| 374 | syn region stataFunc matchgroup=Function start=/\<dofy(/ end=/)/ contains=@stataFuncGroup |
| 375 | syn region stataFunc matchgroup=Function start=/\<hofd(/ end=/)/ contains=@stataFuncGroup |
| 376 | syn region stataFunc matchgroup=Function start=/\<mofd(/ end=/)/ contains=@stataFuncGroup |
| 377 | syn region stataFunc matchgroup=Function start=/\<qofd(/ end=/)/ contains=@stataFuncGroup |
| 378 | syn region stataFunc matchgroup=Function start=/\<wofd(/ end=/)/ contains=@stataFuncGroup |
| 379 | syn region stataFunc matchgroup=Function start=/\<yofd(/ end=/)/ contains=@stataFuncGroup |
Bram Moolenaar | c6249bb | 2006-04-15 20:25:09 +0000 | [diff] [blame] | 380 | " |
Bram Moolenaar | a93fa7e | 2006-04-17 22:14:47 +0000 | [diff] [blame] | 381 | syn region stataFunc matchgroup=Function start=/\<tin(/ end=/)/ contains=@stataFuncGroup |
| 382 | syn region stataFunc matchgroup=Function start=/\<twithin(/ end=/)/ contains=@stataFuncGroup |
Bram Moolenaar | c6249bb | 2006-04-15 20:25:09 +0000 | [diff] [blame] | 383 | " Matrix |
Bram Moolenaar | a93fa7e | 2006-04-17 22:14:47 +0000 | [diff] [blame] | 384 | syn region stataFunc matchgroup=Function start=/\<colnumb(/ end=/)/ contains=@stataFuncGroup |
| 385 | syn region stataFunc matchgroup=Function start=/\<colsof(/ end=/)/ contains=@stataFuncGroup |
| 386 | syn region stataFunc matchgroup=Function start=/\<det(/ end=/)/ contains=@stataFuncGroup |
| 387 | syn region stataFunc matchgroup=Function start=/\<diag0cnt(/ end=/)/ contains=@stataFuncGroup |
| 388 | syn region stataFunc matchgroup=Function start=/\<el(/ end=/)/ contains=@stataFuncGroup |
| 389 | syn region stataFunc matchgroup=Function start=/\<issymmetric(/ end=/)/ contains=@stataFuncGroup |
| 390 | syn region stataFunc matchgroup=Function start=/\<matmissing(/ end=/)/ contains=@stataFuncGroup |
| 391 | syn region stataFunc matchgroup=Function start=/\<mreldif(/ end=/)/ contains=@stataFuncGroup |
| 392 | syn region stataFunc matchgroup=Function start=/\<rownumb(/ end=/)/ contains=@stataFuncGroup |
| 393 | syn region stataFunc matchgroup=Function start=/\<rowsof(/ end=/)/ contains=@stataFuncGroup |
| 394 | syn region stataFunc matchgroup=Function start=/\<trace(/ end=/)/ contains=@stataFuncGroup |
Bram Moolenaar | c6249bb | 2006-04-15 20:25:09 +0000 | [diff] [blame] | 395 | " |
Bram Moolenaar | a93fa7e | 2006-04-17 22:14:47 +0000 | [diff] [blame] | 396 | syn region stataFunc matchgroup=Function start=/\<cholsky(/ end=/)/ contains=@stataFuncGroup |
| 397 | syn region stataFunc matchgroup=Function start=/\<corr(/ end=/)/ contains=@stataFuncGroup |
| 398 | syn region stataFunc matchgroup=Function start=/\<diag(/ end=/)/ contains=@stataFuncGroup |
| 399 | syn region stataFunc matchgroup=Function start=/\<get(/ end=/)/ contains=@stataFuncGroup |
| 400 | syn region stataFunc matchgroup=Function start=/\<hadamard(/ end=/)/ contains=@stataFuncGroup |
| 401 | syn region stataFunc matchgroup=Function start=/\<I(/ end=/)/ contains=@stataFuncGroup |
| 402 | syn region stataFunc matchgroup=Function start=/\<inv(/ end=/)/ contains=@stataFuncGroup |
| 403 | syn region stataFunc matchgroup=Function start=/\<invsym(/ end=/)/ contains=@stataFuncGroup |
| 404 | syn region stataFunc matchgroup=Function start=/\<J(/ end=/)/ contains=@stataFuncGroup |
| 405 | syn region stataFunc matchgroup=Function start=/\<matuniform(/ end=/)/ contains=@stataFuncGroup |
| 406 | syn region stataFunc matchgroup=Function start=/\<nullmat(/ end=/)/ contains=@stataFuncGroup |
| 407 | syn region stataFunc matchgroup=Function start=/\<sweep(/ end=/)/ contains=@stataFuncGroup |
| 408 | syn region stataFunc matchgroup=Function start=/\<vec(/ end=/)/ contains=@stataFuncGroup |
| 409 | syn region stataFunc matchgroup=Function start=/\<vecdiag(/ end=/)/ contains=@stataFuncGroup |
Bram Moolenaar | c6249bb | 2006-04-15 20:25:09 +0000 | [diff] [blame] | 410 | |
| 411 | " Errors to catch |
| 412 | " taken from $VIMRUNTIME/syntax/c.vim |
| 413 | " catch errors caused by wrong parenthesis, braces and brackets |
Bram Moolenaar | f193fff | 2006-04-27 00:02:13 +0000 | [diff] [blame] | 414 | syn region stataParen transparent start=/(/ end=/)/ contains=ALLBUT,@stataParenGroup,stataErrInBracket,stataErrInBrace |
Bram Moolenaar | c6249bb | 2006-04-15 20:25:09 +0000 | [diff] [blame] | 415 | syn region stataBracket transparent start=/\[/ end=/]/ contains=ALLBUT,@stataParenGroup,stataErrInParen,stataErrInBrace |
Bram Moolenaar | f193fff | 2006-04-27 00:02:13 +0000 | [diff] [blame] | 416 | syn region stataBrace transparent start=/{/ end=/}/ contains=ALLBUT,@stataParenGroup,stataErrInParen,stataErrInBracket |
Bram Moolenaar | c6249bb | 2006-04-15 20:25:09 +0000 | [diff] [blame] | 417 | syn match stataParenError /[\])}]/ |
| 418 | syn match stataBracketError /]/ |
| 419 | syn match stataBraceError /}/ |
Bram Moolenaar | f193fff | 2006-04-27 00:02:13 +0000 | [diff] [blame] | 420 | syn match stataErrInParen contained /[\]}]/ |
| 421 | syn match stataErrInBracket contained /[)}]/ |
Bram Moolenaar | c6249bb | 2006-04-15 20:25:09 +0000 | [diff] [blame] | 422 | syn match stataErrInBrace contained /[)\]]/ |
| 423 | |
| 424 | " assign highlight groups |
| 425 | hi def link stataBraceError stataError |
| 426 | hi def link stataBracketError stataError |
| 427 | hi def link stataErrInBrace stataError |
| 428 | hi def link stataErrInBracket stataError |
| 429 | hi def link stataErrInParen stataError |
| 430 | hi def link stataEString stataString |
| 431 | hi def link stataFormat stataSpecial |
| 432 | hi def link stataGlobal stataMacro |
| 433 | hi def link stataLocal stataMacro |
| 434 | hi def link stataParenError stataError |
| 435 | hi def link stataSlashComment stataComment |
| 436 | hi def link stataStarComment stataComment |
| 437 | |
| 438 | hi def link stataCommand Define |
| 439 | hi def link stataComment Comment |
| 440 | hi def link stataConditional Conditional |
| 441 | hi def link stataError Error |
| 442 | hi def link stataFunc None |
| 443 | hi def link stataMacro Define |
| 444 | hi def link stataRepeat Repeat |
| 445 | hi def link stataSpecial SpecialChar |
| 446 | hi def link stataString String |
| 447 | |
| 448 | let b:current_syntax = "stata" |
| 449 | |
| 450 | " vim: ts=8 |