mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-04 01:34:25 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			308 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			308 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
" smcl.vim -- Vim syntax file for smcl files.
 | 
						|
" Language:	SMCL -- Stata Markup and Control Language
 | 
						|
" Maintainer:	Jeff Pitblado <jpitblado@stata.com>
 | 
						|
" Last Change:	26apr2006
 | 
						|
" Version:	1.1.2
 | 
						|
 | 
						|
" Log:
 | 
						|
" 20mar2003	updated the match definition for cmdab
 | 
						|
" 14apr2006	'syntax clear' only under version control
 | 
						|
"		check for 'b:current_syntax', removed 'did_smcl_syntax_inits'
 | 
						|
" 26apr2006	changed 'stata_smcl' to 'smcl'
 | 
						|
 | 
						|
" quit when a syntax file was already loaded
 | 
						|
if exists("b:current_syntax")
 | 
						|
	finish
 | 
						|
endif
 | 
						|
 | 
						|
syntax case match
 | 
						|
 | 
						|
syn keyword smclCCLword current_date		contained
 | 
						|
syn keyword smclCCLword current_time		contained
 | 
						|
syn keyword smclCCLword rmsg_time		contained
 | 
						|
syn keyword smclCCLword stata_version		contained
 | 
						|
syn keyword smclCCLword version			contained
 | 
						|
syn keyword smclCCLword born_date		contained
 | 
						|
syn keyword smclCCLword flavor			contained
 | 
						|
syn keyword smclCCLword SE			contained
 | 
						|
syn keyword smclCCLword mode			contained
 | 
						|
syn keyword smclCCLword console			contained
 | 
						|
syn keyword smclCCLword os			contained
 | 
						|
syn keyword smclCCLword osdtl			contained
 | 
						|
syn keyword smclCCLword machine_type		contained
 | 
						|
syn keyword smclCCLword byteorder		contained
 | 
						|
syn keyword smclCCLword sysdir_stata		contained
 | 
						|
syn keyword smclCCLword sysdir_updates		contained
 | 
						|
syn keyword smclCCLword sysdir_base		contained
 | 
						|
syn keyword smclCCLword sysdir_site		contained
 | 
						|
syn keyword smclCCLword sysdir_plus		contained
 | 
						|
syn keyword smclCCLword sysdir_personal		contained
 | 
						|
syn keyword smclCCLword sysdir_oldplace		contained
 | 
						|
syn keyword smclCCLword adopath			contained
 | 
						|
syn keyword smclCCLword pwd			contained
 | 
						|
syn keyword smclCCLword dirsep			contained
 | 
						|
syn keyword smclCCLword max_N_theory		contained
 | 
						|
syn keyword smclCCLword max_N_current		contained
 | 
						|
syn keyword smclCCLword max_k_theory		contained
 | 
						|
syn keyword smclCCLword max_k_current		contained
 | 
						|
syn keyword smclCCLword max_width_theory	contained
 | 
						|
syn keyword smclCCLword max_width_current	contained
 | 
						|
syn keyword smclCCLword max_matsize		contained
 | 
						|
syn keyword smclCCLword min_matsize		contained
 | 
						|
syn keyword smclCCLword max_macrolen		contained
 | 
						|
syn keyword smclCCLword macrolen		contained
 | 
						|
syn keyword smclCCLword max_cmdlen		contained
 | 
						|
syn keyword smclCCLword cmdlen			contained
 | 
						|
syn keyword smclCCLword namelen			contained
 | 
						|
syn keyword smclCCLword mindouble		contained
 | 
						|
syn keyword smclCCLword maxdouble		contained
 | 
						|
syn keyword smclCCLword epsdouble		contained
 | 
						|
syn keyword smclCCLword minfloat		contained
 | 
						|
syn keyword smclCCLword maxfloat		contained
 | 
						|
syn keyword smclCCLword epsfloat		contained
 | 
						|
syn keyword smclCCLword minlong			contained
 | 
						|
syn keyword smclCCLword maxlong			contained
 | 
						|
syn keyword smclCCLword minint			contained
 | 
						|
syn keyword smclCCLword maxint			contained
 | 
						|
syn keyword smclCCLword minbyte			contained
 | 
						|
syn keyword smclCCLword maxbyte			contained
 | 
						|
syn keyword smclCCLword maxstrvarlen		contained
 | 
						|
syn keyword smclCCLword memory			contained
 | 
						|
syn keyword smclCCLword maxvar			contained
 | 
						|
syn keyword smclCCLword matsize			contained
 | 
						|
syn keyword smclCCLword N			contained
 | 
						|
syn keyword smclCCLword k			contained
 | 
						|
syn keyword smclCCLword width			contained
 | 
						|
syn keyword smclCCLword changed			contained
 | 
						|
syn keyword smclCCLword filename		contained
 | 
						|
syn keyword smclCCLword filedate		contained
 | 
						|
syn keyword smclCCLword more			contained
 | 
						|
syn keyword smclCCLword rmsg			contained
 | 
						|
syn keyword smclCCLword dp			contained
 | 
						|
syn keyword smclCCLword linesize		contained
 | 
						|
syn keyword smclCCLword pagesize		contained
 | 
						|
syn keyword smclCCLword logtype			contained
 | 
						|
syn keyword smclCCLword linegap			contained
 | 
						|
syn keyword smclCCLword scrollbufsize		contained
 | 
						|
syn keyword smclCCLword varlabelpos		contained
 | 
						|
syn keyword smclCCLword reventries		contained
 | 
						|
syn keyword smclCCLword graphics		contained
 | 
						|
syn keyword smclCCLword scheme			contained
 | 
						|
syn keyword smclCCLword printcolor		contained
 | 
						|
syn keyword smclCCLword adosize			contained
 | 
						|
syn keyword smclCCLword maxdb			contained
 | 
						|
syn keyword smclCCLword virtual			contained
 | 
						|
syn keyword smclCCLword checksum		contained
 | 
						|
syn keyword smclCCLword timeout1		contained
 | 
						|
syn keyword smclCCLword timeout2		contained
 | 
						|
syn keyword smclCCLword httpproxy		contained
 | 
						|
syn keyword smclCCLword h_current		contained
 | 
						|
syn keyword smclCCLword max_matsize		contained
 | 
						|
syn keyword smclCCLword min_matsize		contained
 | 
						|
syn keyword smclCCLword max_macrolen		contained
 | 
						|
syn keyword smclCCLword macrolen		contained
 | 
						|
syn keyword smclCCLword max_cmdlen		contained
 | 
						|
syn keyword smclCCLword cmdlen			contained
 | 
						|
syn keyword smclCCLword namelen			contained
 | 
						|
syn keyword smclCCLword mindouble		contained
 | 
						|
syn keyword smclCCLword maxdouble		contained
 | 
						|
syn keyword smclCCLword epsdouble		contained
 | 
						|
syn keyword smclCCLword minfloat		contained
 | 
						|
syn keyword smclCCLword maxfloat		contained
 | 
						|
syn keyword smclCCLword epsfloat		contained
 | 
						|
syn keyword smclCCLword minlong			contained
 | 
						|
syn keyword smclCCLword maxlong			contained
 | 
						|
syn keyword smclCCLword minint			contained
 | 
						|
syn keyword smclCCLword maxint			contained
 | 
						|
syn keyword smclCCLword minbyte			contained
 | 
						|
syn keyword smclCCLword maxbyte			contained
 | 
						|
syn keyword smclCCLword maxstrvarlen		contained
 | 
						|
syn keyword smclCCLword memory			contained
 | 
						|
syn keyword smclCCLword maxvar			contained
 | 
						|
syn keyword smclCCLword matsize			contained
 | 
						|
syn keyword smclCCLword N			contained
 | 
						|
syn keyword smclCCLword k			contained
 | 
						|
syn keyword smclCCLword width			contained
 | 
						|
syn keyword smclCCLword changed			contained
 | 
						|
syn keyword smclCCLword filename		contained
 | 
						|
syn keyword smclCCLword filedate		contained
 | 
						|
syn keyword smclCCLword more			contained
 | 
						|
syn keyword smclCCLword rmsg			contained
 | 
						|
syn keyword smclCCLword dp			contained
 | 
						|
syn keyword smclCCLword linesize		contained
 | 
						|
syn keyword smclCCLword pagesize		contained
 | 
						|
syn keyword smclCCLword logtype			contained
 | 
						|
syn keyword smclCCLword linegap			contained
 | 
						|
syn keyword smclCCLword scrollbufsize		contained
 | 
						|
syn keyword smclCCLword varlabelpos		contained
 | 
						|
syn keyword smclCCLword reventries		contained
 | 
						|
syn keyword smclCCLword graphics		contained
 | 
						|
syn keyword smclCCLword scheme			contained
 | 
						|
syn keyword smclCCLword printcolor		contained
 | 
						|
syn keyword smclCCLword adosize			contained
 | 
						|
syn keyword smclCCLword maxdb			contained
 | 
						|
syn keyword smclCCLword virtual			contained
 | 
						|
syn keyword smclCCLword checksum		contained
 | 
						|
syn keyword smclCCLword timeout1		contained
 | 
						|
syn keyword smclCCLword timeout2		contained
 | 
						|
syn keyword smclCCLword httpproxy		contained
 | 
						|
syn keyword smclCCLword httpproxyhost		contained
 | 
						|
syn keyword smclCCLword httpproxyport		contained
 | 
						|
syn keyword smclCCLword httpproxyauth		contained
 | 
						|
syn keyword smclCCLword httpproxyuser		contained
 | 
						|
syn keyword smclCCLword httpproxypw		contained
 | 
						|
syn keyword smclCCLword trace			contained
 | 
						|
syn keyword smclCCLword tracedepth		contained
 | 
						|
syn keyword smclCCLword tracesep		contained
 | 
						|
syn keyword smclCCLword traceindent		contained
 | 
						|
syn keyword smclCCLword traceexapnd		contained
 | 
						|
syn keyword smclCCLword tracenumber		contained
 | 
						|
syn keyword smclCCLword type			contained
 | 
						|
syn keyword smclCCLword level			contained
 | 
						|
syn keyword smclCCLword seed			contained
 | 
						|
syn keyword smclCCLword searchdefault		contained
 | 
						|
syn keyword smclCCLword pi			contained
 | 
						|
syn keyword smclCCLword rc			contained
 | 
						|
 | 
						|
" Directive for the contant and current-value class
 | 
						|
syn region smclCCL start=/{ccl / end=/}/ oneline contains=smclCCLword
 | 
						|
 | 
						|
" The order of the following syntax definitions is roughly that of the on-line
 | 
						|
" documentation for smcl in Stata, from within Stata see help smcl.
 | 
						|
 | 
						|
" Format directives for line and paragraph modes
 | 
						|
syn match smclFormat /{smcl}/
 | 
						|
syn match smclFormat /{sf\(\|:[^}]\+\)}/
 | 
						|
syn match smclFormat /{it\(\|:[^}]\+\)}/
 | 
						|
syn match smclFormat /{bf\(\|:[^}]\+\)}/
 | 
						|
syn match smclFormat /{inp\(\|:[^}]\+\)}/
 | 
						|
syn match smclFormat /{input\(\|:[^}]\+\)}/
 | 
						|
syn match smclFormat /{err\(\|:[^}]\+\)}/
 | 
						|
syn match smclFormat /{error\(\|:[^}]\+\)}/
 | 
						|
syn match smclFormat /{res\(\|:[^}]\+\)}/
 | 
						|
syn match smclFormat /{result\(\|:[^}]\+\)}/
 | 
						|
syn match smclFormat /{txt\(\|:[^}]\+\)}/
 | 
						|
syn match smclFormat /{text\(\|:[^}]\+\)}/
 | 
						|
syn match smclFormat /{com\(\|:[^}]\+\)}/
 | 
						|
syn match smclFormat /{cmd\(\|:[^}]\+\)}/
 | 
						|
syn match smclFormat /{cmdab:[^:}]\+:[^:}()]*\(\|:\|:(\|:()\)}/
 | 
						|
syn match smclFormat /{hi\(\|:[^}]\+\)}/
 | 
						|
syn match smclFormat /{hilite\(\|:[^}]\+\)}/
 | 
						|
syn match smclFormat /{ul \(on\|off\)}/
 | 
						|
syn match smclFormat /{ul:[^}]\+}/
 | 
						|
syn match smclFormat /{hline\(\| \d\+\| -\d\+\|:[^}]\+\)}/
 | 
						|
syn match smclFormat /{dup \d\+:[^}]\+}/
 | 
						|
syn match smclFormat /{c [^}]\+}/
 | 
						|
syn match smclFormat /{char [^}]\+}/
 | 
						|
syn match smclFormat /{reset}/
 | 
						|
 | 
						|
" Formatting directives for line mode
 | 
						|
syn match smclFormat /{title:[^}]\+}/
 | 
						|
syn match smclFormat /{center:[^}]\+}/
 | 
						|
syn match smclFormat /{centre:[^}]\+}/
 | 
						|
syn match smclFormat /{center \d\+:[^}]\+}/
 | 
						|
syn match smclFormat /{centre \d\+:[^}]\+}/
 | 
						|
syn match smclFormat /{right:[^}]\+}/
 | 
						|
syn match smclFormat /{lalign \d\+:[^}]\+}/
 | 
						|
syn match smclFormat /{ralign \d\+:[^}]\+}/
 | 
						|
syn match smclFormat /{\.\.\.}/
 | 
						|
syn match smclFormat /{col \d\+}/
 | 
						|
syn match smclFormat /{space \d\+}/
 | 
						|
syn match smclFormat /{tab}/
 | 
						|
 | 
						|
" Formatting directives for paragraph mode
 | 
						|
syn match smclFormat /{bind:[^}]\+}/
 | 
						|
syn match smclFormat /{break}/
 | 
						|
 | 
						|
syn match smclFormat /{p}/
 | 
						|
syn match smclFormat /{p \d\+}/
 | 
						|
syn match smclFormat /{p \d\+ \d\+}/
 | 
						|
syn match smclFormat /{p \d\+ \d\+ \d\+}/
 | 
						|
syn match smclFormat /{pstd}/
 | 
						|
syn match smclFormat /{psee}/
 | 
						|
syn match smclFormat /{phang\(\|2\|3\)}/
 | 
						|
syn match smclFormat /{pmore\(\|2\|3\)}/
 | 
						|
syn match smclFormat /{pin\(\|2\|3\)}/
 | 
						|
syn match smclFormat /{p_end}/
 | 
						|
 | 
						|
syn match smclFormat /{opt \w\+\(\|:\w\+\)\(\|([^)}]*)\)}/
 | 
						|
 | 
						|
syn match smclFormat /{opth \w*\(\|:\w\+\)(\w*)}/
 | 
						|
syn match smclFormat /{opth "\w\+\((\w\+:[^)}]\+)\)"}/
 | 
						|
syn match smclFormat /{opth \w\+:\w\+(\w\+:[^)}]\+)}/
 | 
						|
 | 
						|
syn match smclFormat /{dlgtab\s*\(\|\d\+\|\d\+\s\+\d\+\):[^}]\+}/
 | 
						|
 | 
						|
syn match smclFormat /{p2colset\s\+\d\+\s\+\d\+\s\+\d\+\s\+\d\+}/
 | 
						|
syn match smclFormat /{p2col\s\+:[^{}]*}.*{p_end}/
 | 
						|
syn match smclFormat /{p2col\s\+:{[^{}]*}}.*{p_end}/
 | 
						|
syn match smclFormat /{p2coldent\s*:[^{}]*}.*{p_end}/
 | 
						|
syn match smclFormat /{p2coldent\s*:{[^{}]*}}.*{p_end}/
 | 
						|
syn match smclFormat /{p2line\s*\(\|\d\+\s\+\d\+\)}/
 | 
						|
syn match smclFormat /{p2colreset}/
 | 
						|
 | 
						|
syn match smclFormat /{synoptset\s\+\d\+\s\+\w\+}/
 | 
						|
syn match smclFormat /{synopt\s*:[^{}]*}.*{p_end}/
 | 
						|
syn match smclFormat /{synopt\s*:{[^{}]*}}.*{p_end}/
 | 
						|
syn match smclFormat /{syntab\s*:[^{}]*}/
 | 
						|
syn match smclFormat /{synopthdr}/
 | 
						|
syn match smclFormat /{synoptline}/
 | 
						|
 | 
						|
" Link directive for line and paragraph modes
 | 
						|
syn match smclLink /{help [^}]\+}/
 | 
						|
syn match smclLink /{helpb [^}]\+}/
 | 
						|
syn match smclLink /{help_d:[^}]\+}/
 | 
						|
syn match smclLink /{search [^}]\+}/
 | 
						|
syn match smclLink /{search_d:[^}]\+}/
 | 
						|
syn match smclLink /{browse [^}]\+}/
 | 
						|
syn match smclLink /{view [^}]\+}/
 | 
						|
syn match smclLink /{view_d:[^}]\+}/
 | 
						|
syn match smclLink /{news:[^}]\+}/
 | 
						|
syn match smclLink /{net [^}]\+}/
 | 
						|
syn match smclLink /{net_d:[^}]\+}/
 | 
						|
syn match smclLink /{netfrom_d:[^}]\+}/
 | 
						|
syn match smclLink /{ado [^}]\+}/
 | 
						|
syn match smclLink /{ado_d:[^}]\+}/
 | 
						|
syn match smclLink /{update [^}]\+}/
 | 
						|
syn match smclLink /{update_d:[^}]\+}/
 | 
						|
syn match smclLink /{dialog [^}]\+}/
 | 
						|
syn match smclLink /{back:[^}]\+}/
 | 
						|
syn match smclLink /{clearmore:[^}]\+}/
 | 
						|
syn match smclLink /{stata [^}]\+}/
 | 
						|
 | 
						|
syn match smclLink /{newvar\(\|:[^}]\+\)}/
 | 
						|
syn match smclLink /{var\(\|:[^}]\+\)}/
 | 
						|
syn match smclLink /{varname\(\|:[^}]\+\)}/
 | 
						|
syn match smclLink /{vars\(\|:[^}]\+\)}/
 | 
						|
syn match smclLink /{varlist\(\|:[^}]\+\)}/
 | 
						|
syn match smclLink /{depvar\(\|:[^}]\+\)}/
 | 
						|
syn match smclLink /{depvars\(\|:[^}]\+\)}/
 | 
						|
syn match smclLink /{depvarlist\(\|:[^}]\+\)}/
 | 
						|
syn match smclLink /{indepvars\(\|:[^}]\+\)}/
 | 
						|
 | 
						|
syn match smclLink /{dtype}/
 | 
						|
syn match smclLink /{ifin}/
 | 
						|
syn match smclLink /{weight}/
 | 
						|
 | 
						|
" Comment
 | 
						|
syn region smclComment start=/{\*/ end=/}/ oneline
 | 
						|
 | 
						|
" Strings
 | 
						|
syn region smclString  matchgroup=Nothing start=/"/ end=/"/   oneline
 | 
						|
syn region smclEString matchgroup=Nothing start=/`"/ end=/"'/ oneline contains=smclEString
 | 
						|
 | 
						|
" assign highlight groups
 | 
						|
 | 
						|
hi def link smclEString		smclString
 | 
						|
 | 
						|
hi def link smclCCLword		Statement
 | 
						|
hi def link smclCCL		Type
 | 
						|
hi def link smclFormat		Statement
 | 
						|
hi def link smclLink		Underlined
 | 
						|
hi def link smclComment		Comment
 | 
						|
hi def link smclString		String
 | 
						|
 | 
						|
let b:current_syntax = "smcl"
 | 
						|
 | 
						|
" vim: ts=8
 |