codekingpro/portable-devtools
114k
1" smcl.vim -- Vim syntax file for smcl files.2" Language: SMCL -- Stata Markup and Control Language3" Maintainer: Jeff Pitblado <jpitblado@stata.com>4" Last Change: 26apr20065" Version: 1.1.26 7" Log:8" 20mar2003 updated the match definition for cmdab9" 14apr2006 'syntax clear' only under version control10" check for 'b:current_syntax', removed 'did_smcl_syntax_inits'11" 26apr2006 changed 'stata_smcl' to 'smcl'12 13" quit when a syntax file was already loaded14if exists("b:current_syntax")15 finish16endif17 18syntax case match19 20syn keyword smclCCLword current_date contained21syn keyword smclCCLword current_time contained22syn keyword smclCCLword rmsg_time contained23syn keyword smclCCLword stata_version contained24syn keyword smclCCLword version contained25syn keyword smclCCLword born_date contained26syn keyword smclCCLword flavor contained27syn keyword smclCCLword SE contained28syn keyword smclCCLword mode contained29syn keyword smclCCLword console contained30syn keyword smclCCLword os contained31syn keyword smclCCLword osdtl contained32syn keyword smclCCLword machine_type contained33syn keyword smclCCLword byteorder contained34syn keyword smclCCLword sysdir_stata contained35syn keyword smclCCLword sysdir_updates contained36syn keyword smclCCLword sysdir_base contained37syn keyword smclCCLword sysdir_site contained38syn keyword smclCCLword sysdir_plus contained39syn keyword smclCCLword sysdir_personal contained40syn keyword smclCCLword sysdir_oldplace contained41syn keyword smclCCLword adopath contained42syn keyword smclCCLword pwd contained43syn keyword smclCCLword dirsep contained44syn keyword smclCCLword max_N_theory contained45syn keyword smclCCLword max_N_current contained46syn keyword smclCCLword max_k_theory contained47syn keyword smclCCLword max_k_current contained48syn keyword smclCCLword max_width_theory contained49syn keyword smclCCLword max_width_current contained50syn keyword smclCCLword max_matsize contained51syn keyword smclCCLword min_matsize contained52syn keyword smclCCLword max_macrolen contained53syn keyword smclCCLword macrolen contained54syn keyword smclCCLword max_cmdlen contained55syn keyword smclCCLword cmdlen contained56syn keyword smclCCLword namelen contained57syn keyword smclCCLword mindouble contained58syn keyword smclCCLword maxdouble contained59syn keyword smclCCLword epsdouble contained60syn keyword smclCCLword minfloat contained61syn keyword smclCCLword maxfloat contained62syn keyword smclCCLword epsfloat contained63syn keyword smclCCLword minlong contained64syn keyword smclCCLword maxlong contained65syn keyword smclCCLword minint contained66syn keyword smclCCLword maxint contained67syn keyword smclCCLword minbyte contained68syn keyword smclCCLword maxbyte contained69syn keyword smclCCLword maxstrvarlen contained70syn keyword smclCCLword memory contained71syn keyword smclCCLword maxvar contained72syn keyword smclCCLword matsize contained73syn keyword smclCCLword N contained74syn keyword smclCCLword k contained75syn keyword smclCCLword width contained76syn keyword smclCCLword changed contained77syn keyword smclCCLword filename contained78syn keyword smclCCLword filedate contained79syn keyword smclCCLword more contained80syn keyword smclCCLword rmsg contained81syn keyword smclCCLword dp contained82syn keyword smclCCLword linesize contained83syn keyword smclCCLword pagesize contained84syn keyword smclCCLword logtype contained85syn keyword smclCCLword linegap contained86syn keyword smclCCLword scrollbufsize contained87syn keyword smclCCLword varlabelpos contained88syn keyword smclCCLword reventries contained89syn keyword smclCCLword graphics contained90syn keyword smclCCLword scheme contained91syn keyword smclCCLword printcolor contained92syn keyword smclCCLword adosize contained93syn keyword smclCCLword maxdb contained94syn keyword smclCCLword virtual contained95syn keyword smclCCLword checksum contained96syn keyword smclCCLword timeout1 contained97syn keyword smclCCLword timeout2 contained98syn keyword smclCCLword httpproxy contained99syn keyword smclCCLword h_current contained100syn keyword smclCCLword max_matsize contained101syn keyword smclCCLword min_matsize contained102syn keyword smclCCLword max_macrolen contained103syn keyword smclCCLword macrolen contained104syn keyword smclCCLword max_cmdlen contained105syn keyword smclCCLword cmdlen contained106syn keyword smclCCLword namelen contained107syn keyword smclCCLword mindouble contained108syn keyword smclCCLword maxdouble contained109syn keyword smclCCLword epsdouble contained110syn keyword smclCCLword minfloat contained111syn keyword smclCCLword maxfloat contained112syn keyword smclCCLword epsfloat contained113syn keyword smclCCLword minlong contained114syn keyword smclCCLword maxlong contained115syn keyword smclCCLword minint contained116syn keyword smclCCLword maxint contained117syn keyword smclCCLword minbyte contained118syn keyword smclCCLword maxbyte contained119syn keyword smclCCLword maxstrvarlen contained120syn keyword smclCCLword memory contained121syn keyword smclCCLword maxvar contained122syn keyword smclCCLword matsize contained123syn keyword smclCCLword N contained124syn keyword smclCCLword k contained125syn keyword smclCCLword width contained126syn keyword smclCCLword changed contained127syn keyword smclCCLword filename contained128syn keyword smclCCLword filedate contained129syn keyword smclCCLword more contained130syn keyword smclCCLword rmsg contained131syn keyword smclCCLword dp contained132syn keyword smclCCLword linesize contained133syn keyword smclCCLword pagesize contained134syn keyword smclCCLword logtype contained135syn keyword smclCCLword linegap contained136syn keyword smclCCLword scrollbufsize contained137syn keyword smclCCLword varlabelpos contained138syn keyword smclCCLword reventries contained139syn keyword smclCCLword graphics contained140syn keyword smclCCLword scheme contained141syn keyword smclCCLword printcolor contained142syn keyword smclCCLword adosize contained143syn keyword smclCCLword maxdb contained144syn keyword smclCCLword virtual contained145syn keyword smclCCLword checksum contained146syn keyword smclCCLword timeout1 contained147syn keyword smclCCLword timeout2 contained148syn keyword smclCCLword httpproxy contained149syn keyword smclCCLword httpproxyhost contained150syn keyword smclCCLword httpproxyport contained151syn keyword smclCCLword httpproxyauth contained152syn keyword smclCCLword httpproxyuser contained153syn keyword smclCCLword httpproxypw contained154syn keyword smclCCLword trace contained155syn keyword smclCCLword tracedepth contained156syn keyword smclCCLword tracesep contained157syn keyword smclCCLword traceindent contained158syn keyword smclCCLword traceexapnd contained159syn keyword smclCCLword tracenumber contained160syn keyword smclCCLword type contained161syn keyword smclCCLword level contained162syn keyword smclCCLword seed contained163syn keyword smclCCLword searchdefault contained164syn keyword smclCCLword pi contained165syn keyword smclCCLword rc contained166 167" Directive for the contant and current-value class168syn region smclCCL start=/{ccl / end=/}/ oneline contains=smclCCLword169 170" The order of the following syntax definitions is roughly that of the on-line171" documentation for smcl in Stata, from within Stata see help smcl.172 173" Format directives for line and paragraph modes174syn match smclFormat /{smcl}/175syn match smclFormat /{sf\(\|:[^}]\+\)}/176syn match smclFormat /{it\(\|:[^}]\+\)}/177syn match smclFormat /{bf\(\|:[^}]\+\)}/178syn match smclFormat /{inp\(\|:[^}]\+\)}/179syn match smclFormat /{input\(\|:[^}]\+\)}/180syn match smclFormat /{err\(\|:[^}]\+\)}/181syn match smclFormat /{error\(\|:[^}]\+\)}/182syn match smclFormat /{res\(\|:[^}]\+\)}/183syn match smclFormat /{result\(\|:[^}]\+\)}/184syn match smclFormat /{txt\(\|:[^}]\+\)}/185syn match smclFormat /{text\(\|:[^}]\+\)}/186syn match smclFormat /{com\(\|:[^}]\+\)}/187syn match smclFormat /{cmd\(\|:[^}]\+\)}/188syn match smclFormat /{cmdab:[^:}]\+:[^:}()]*\(\|:\|:(\|:()\)}/189syn match smclFormat /{hi\(\|:[^}]\+\)}/190syn match smclFormat /{hilite\(\|:[^}]\+\)}/191syn match smclFormat /{ul \(on\|off\)}/192syn match smclFormat /{ul:[^}]\+}/193syn match smclFormat /{hline\(\| \d\+\| -\d\+\|:[^}]\+\)}/194syn match smclFormat /{dup \d\+:[^}]\+}/195syn match smclFormat /{c [^}]\+}/196syn match smclFormat /{char [^}]\+}/197syn match smclFormat /{reset}/198 199" Formatting directives for line mode200syn match smclFormat /{title:[^}]\+}/201syn match smclFormat /{center:[^}]\+}/202syn match smclFormat /{centre:[^}]\+}/203syn match smclFormat /{center \d\+:[^}]\+}/204syn match smclFormat /{centre \d\+:[^}]\+}/205syn match smclFormat /{right:[^}]\+}/206syn match smclFormat /{lalign \d\+:[^}]\+}/207syn match smclFormat /{ralign \d\+:[^}]\+}/208syn match smclFormat /{\.\.\.}/209syn match smclFormat /{col \d\+}/210syn match smclFormat /{space \d\+}/211syn match smclFormat /{tab}/212 213" Formatting directives for paragraph mode214syn match smclFormat /{bind:[^}]\+}/215syn match smclFormat /{break}/216 217syn match smclFormat /{p}/218syn match smclFormat /{p \d\+}/219syn match smclFormat /{p \d\+ \d\+}/220syn match smclFormat /{p \d\+ \d\+ \d\+}/221syn match smclFormat /{pstd}/222syn match smclFormat /{psee}/223syn match smclFormat /{phang\(\|2\|3\)}/224syn match smclFormat /{pmore\(\|2\|3\)}/225syn match smclFormat /{pin\(\|2\|3\)}/226syn match smclFormat /{p_end}/227 228syn match smclFormat /{opt \w\+\(\|:\w\+\)\(\|([^)}]*)\)}/229 230syn match smclFormat /{opth \w*\(\|:\w\+\)(\w*)}/231syn match smclFormat /{opth "\w\+\((\w\+:[^)}]\+)\)"}/232syn match smclFormat /{opth \w\+:\w\+(\w\+:[^)}]\+)}/233 234syn match smclFormat /{dlgtab\s*\(\|\d\+\|\d\+\s\+\d\+\):[^}]\+}/235 236syn match smclFormat /{p2colset\s\+\d\+\s\+\d\+\s\+\d\+\s\+\d\+}/237syn match smclFormat /{p2col\s\+:[^{}]*}.*{p_end}/238syn match smclFormat /{p2col\s\+:{[^{}]*}}.*{p_end}/239syn match smclFormat /{p2coldent\s*:[^{}]*}.*{p_end}/240syn match smclFormat /{p2coldent\s*:{[^{}]*}}.*{p_end}/241syn match smclFormat /{p2line\s*\(\|\d\+\s\+\d\+\)}/242syn match smclFormat /{p2colreset}/243 244syn match smclFormat /{synoptset\s\+\d\+\s\+\w\+}/245syn match smclFormat /{synopt\s*:[^{}]*}.*{p_end}/246syn match smclFormat /{synopt\s*:{[^{}]*}}.*{p_end}/247syn match smclFormat /{syntab\s*:[^{}]*}/248syn match smclFormat /{synopthdr}/249syn match smclFormat /{synoptline}/250 251" Link directive for line and paragraph modes252syn match smclLink /{help [^}]\+}/253syn match smclLink /{helpb [^}]\+}/254syn match smclLink /{help_d:[^}]\+}/255syn match smclLink /{search [^}]\+}/256syn match smclLink /{search_d:[^}]\+}/257syn match smclLink /{browse [^}]\+}/258syn match smclLink /{view [^}]\+}/259syn match smclLink /{view_d:[^}]\+}/260syn match smclLink /{news:[^}]\+}/261syn match smclLink /{net [^}]\+}/262syn match smclLink /{net_d:[^}]\+}/263syn match smclLink /{netfrom_d:[^}]\+}/264syn match smclLink /{ado [^}]\+}/265syn match smclLink /{ado_d:[^}]\+}/266syn match smclLink /{update [^}]\+}/267syn match smclLink /{update_d:[^}]\+}/268syn match smclLink /{dialog [^}]\+}/269syn match smclLink /{back:[^}]\+}/270syn match smclLink /{clearmore:[^}]\+}/271syn match smclLink /{stata [^}]\+}/272 273syn match smclLink /{newvar\(\|:[^}]\+\)}/274syn match smclLink /{var\(\|:[^}]\+\)}/275syn match smclLink /{varname\(\|:[^}]\+\)}/276syn match smclLink /{vars\(\|:[^}]\+\)}/277syn match smclLink /{varlist\(\|:[^}]\+\)}/278syn match smclLink /{depvar\(\|:[^}]\+\)}/279syn match smclLink /{depvars\(\|:[^}]\+\)}/280syn match smclLink /{depvarlist\(\|:[^}]\+\)}/281syn match smclLink /{indepvars\(\|:[^}]\+\)}/282 283syn match smclLink /{dtype}/284syn match smclLink /{ifin}/285syn match smclLink /{weight}/286 287" Comment288syn region smclComment start=/{\*/ end=/}/ oneline289 290" Strings291syn region smclString matchgroup=Nothing start=/"/ end=/"/ oneline292syn region smclEString matchgroup=Nothing start=/`"/ end=/"'/ oneline contains=smclEString293 294" assign highlight groups295 296hi def link smclEString smclString297 298hi def link smclCCLword Statement299hi def link smclCCL Type300hi def link smclFormat Statement301hi def link smclLink Underlined302hi def link smclComment Comment303hi def link smclString String304 305let b:current_syntax = "smcl"306 307" vim: ts=8308 