neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

smcl.vim (12043B)


      1 " smcl.vim -- Vim syntax file for smcl files.
      2 " Language:	SMCL -- Stata Markup and Control Language
      3 " Maintainer:	Jeff Pitblado <jpitblado@stata.com>
      4 " Last Change:	26apr2006
      5 " Version:	1.1.2
      6 
      7 " Log:
      8 " 20mar2003	updated the match definition for cmdab
      9 " 14apr2006	'syntax clear' only under version control
     10 "		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 loaded
     14 if exists("b:current_syntax")
     15 finish
     16 endif
     17 
     18 syntax case match
     19 
     20 syn keyword smclCCLword current_date		contained
     21 syn keyword smclCCLword current_time		contained
     22 syn keyword smclCCLword rmsg_time		contained
     23 syn keyword smclCCLword stata_version		contained
     24 syn keyword smclCCLword version			contained
     25 syn keyword smclCCLword born_date		contained
     26 syn keyword smclCCLword flavor			contained
     27 syn keyword smclCCLword SE			contained
     28 syn keyword smclCCLword mode			contained
     29 syn keyword smclCCLword console			contained
     30 syn keyword smclCCLword os			contained
     31 syn keyword smclCCLword osdtl			contained
     32 syn keyword smclCCLword machine_type		contained
     33 syn keyword smclCCLword byteorder		contained
     34 syn keyword smclCCLword sysdir_stata		contained
     35 syn keyword smclCCLword sysdir_updates		contained
     36 syn keyword smclCCLword sysdir_base		contained
     37 syn keyword smclCCLword sysdir_site		contained
     38 syn keyword smclCCLword sysdir_plus		contained
     39 syn keyword smclCCLword sysdir_personal		contained
     40 syn keyword smclCCLword sysdir_oldplace		contained
     41 syn keyword smclCCLword adopath			contained
     42 syn keyword smclCCLword pwd			contained
     43 syn keyword smclCCLword dirsep			contained
     44 syn keyword smclCCLword max_N_theory		contained
     45 syn keyword smclCCLword max_N_current		contained
     46 syn keyword smclCCLword max_k_theory		contained
     47 syn keyword smclCCLword max_k_current		contained
     48 syn keyword smclCCLword max_width_theory	contained
     49 syn keyword smclCCLword max_width_current	contained
     50 syn keyword smclCCLword max_matsize		contained
     51 syn keyword smclCCLword min_matsize		contained
     52 syn keyword smclCCLword max_macrolen		contained
     53 syn keyword smclCCLword macrolen		contained
     54 syn keyword smclCCLword max_cmdlen		contained
     55 syn keyword smclCCLword cmdlen			contained
     56 syn keyword smclCCLword namelen			contained
     57 syn keyword smclCCLword mindouble		contained
     58 syn keyword smclCCLword maxdouble		contained
     59 syn keyword smclCCLword epsdouble		contained
     60 syn keyword smclCCLword minfloat		contained
     61 syn keyword smclCCLword maxfloat		contained
     62 syn keyword smclCCLword epsfloat		contained
     63 syn keyword smclCCLword minlong			contained
     64 syn keyword smclCCLword maxlong			contained
     65 syn keyword smclCCLword minint			contained
     66 syn keyword smclCCLword maxint			contained
     67 syn keyword smclCCLword minbyte			contained
     68 syn keyword smclCCLword maxbyte			contained
     69 syn keyword smclCCLword maxstrvarlen		contained
     70 syn keyword smclCCLword memory			contained
     71 syn keyword smclCCLword maxvar			contained
     72 syn keyword smclCCLword matsize			contained
     73 syn keyword smclCCLword N			contained
     74 syn keyword smclCCLword k			contained
     75 syn keyword smclCCLword width			contained
     76 syn keyword smclCCLword changed			contained
     77 syn keyword smclCCLword filename		contained
     78 syn keyword smclCCLword filedate		contained
     79 syn keyword smclCCLword more			contained
     80 syn keyword smclCCLword rmsg			contained
     81 syn keyword smclCCLword dp			contained
     82 syn keyword smclCCLword linesize		contained
     83 syn keyword smclCCLword pagesize		contained
     84 syn keyword smclCCLword logtype			contained
     85 syn keyword smclCCLword linegap			contained
     86 syn keyword smclCCLword scrollbufsize		contained
     87 syn keyword smclCCLword varlabelpos		contained
     88 syn keyword smclCCLword reventries		contained
     89 syn keyword smclCCLword graphics		contained
     90 syn keyword smclCCLword scheme			contained
     91 syn keyword smclCCLword printcolor		contained
     92 syn keyword smclCCLword adosize			contained
     93 syn keyword smclCCLword maxdb			contained
     94 syn keyword smclCCLword virtual			contained
     95 syn keyword smclCCLword checksum		contained
     96 syn keyword smclCCLword timeout1		contained
     97 syn keyword smclCCLword timeout2		contained
     98 syn keyword smclCCLword httpproxy		contained
     99 syn keyword smclCCLword h_current		contained
    100 syn keyword smclCCLword max_matsize		contained
    101 syn keyword smclCCLword min_matsize		contained
    102 syn keyword smclCCLword max_macrolen		contained
    103 syn keyword smclCCLword macrolen		contained
    104 syn keyword smclCCLword max_cmdlen		contained
    105 syn keyword smclCCLword cmdlen			contained
    106 syn keyword smclCCLword namelen			contained
    107 syn keyword smclCCLword mindouble		contained
    108 syn keyword smclCCLword maxdouble		contained
    109 syn keyword smclCCLword epsdouble		contained
    110 syn keyword smclCCLword minfloat		contained
    111 syn keyword smclCCLword maxfloat		contained
    112 syn keyword smclCCLword epsfloat		contained
    113 syn keyword smclCCLword minlong			contained
    114 syn keyword smclCCLword maxlong			contained
    115 syn keyword smclCCLword minint			contained
    116 syn keyword smclCCLword maxint			contained
    117 syn keyword smclCCLword minbyte			contained
    118 syn keyword smclCCLword maxbyte			contained
    119 syn keyword smclCCLword maxstrvarlen		contained
    120 syn keyword smclCCLword memory			contained
    121 syn keyword smclCCLword maxvar			contained
    122 syn keyword smclCCLword matsize			contained
    123 syn keyword smclCCLword N			contained
    124 syn keyword smclCCLword k			contained
    125 syn keyword smclCCLword width			contained
    126 syn keyword smclCCLword changed			contained
    127 syn keyword smclCCLword filename		contained
    128 syn keyword smclCCLword filedate		contained
    129 syn keyword smclCCLword more			contained
    130 syn keyword smclCCLword rmsg			contained
    131 syn keyword smclCCLword dp			contained
    132 syn keyword smclCCLword linesize		contained
    133 syn keyword smclCCLword pagesize		contained
    134 syn keyword smclCCLword logtype			contained
    135 syn keyword smclCCLword linegap			contained
    136 syn keyword smclCCLword scrollbufsize		contained
    137 syn keyword smclCCLword varlabelpos		contained
    138 syn keyword smclCCLword reventries		contained
    139 syn keyword smclCCLword graphics		contained
    140 syn keyword smclCCLword scheme			contained
    141 syn keyword smclCCLword printcolor		contained
    142 syn keyword smclCCLword adosize			contained
    143 syn keyword smclCCLword maxdb			contained
    144 syn keyword smclCCLword virtual			contained
    145 syn keyword smclCCLword checksum		contained
    146 syn keyword smclCCLword timeout1		contained
    147 syn keyword smclCCLword timeout2		contained
    148 syn keyword smclCCLword httpproxy		contained
    149 syn keyword smclCCLword httpproxyhost		contained
    150 syn keyword smclCCLword httpproxyport		contained
    151 syn keyword smclCCLword httpproxyauth		contained
    152 syn keyword smclCCLword httpproxyuser		contained
    153 syn keyword smclCCLword httpproxypw		contained
    154 syn keyword smclCCLword trace			contained
    155 syn keyword smclCCLword tracedepth		contained
    156 syn keyword smclCCLword tracesep		contained
    157 syn keyword smclCCLword traceindent		contained
    158 syn keyword smclCCLword traceexapnd		contained
    159 syn keyword smclCCLword tracenumber		contained
    160 syn keyword smclCCLword type			contained
    161 syn keyword smclCCLword level			contained
    162 syn keyword smclCCLword seed			contained
    163 syn keyword smclCCLword searchdefault		contained
    164 syn keyword smclCCLword pi			contained
    165 syn keyword smclCCLword rc			contained
    166 
    167 " Directive for the contant and current-value class
    168 syn region smclCCL start=/{ccl / end=/}/ oneline contains=smclCCLword
    169 
    170 " The order of the following syntax definitions is roughly that of the on-line
    171 " documentation for smcl in Stata, from within Stata see help smcl.
    172 
    173 " Format directives for line and paragraph modes
    174 syn match smclFormat /{smcl}/
    175 syn match smclFormat /{sf\(\|:[^}]\+\)}/
    176 syn match smclFormat /{it\(\|:[^}]\+\)}/
    177 syn match smclFormat /{bf\(\|:[^}]\+\)}/
    178 syn match smclFormat /{inp\(\|:[^}]\+\)}/
    179 syn match smclFormat /{input\(\|:[^}]\+\)}/
    180 syn match smclFormat /{err\(\|:[^}]\+\)}/
    181 syn match smclFormat /{error\(\|:[^}]\+\)}/
    182 syn match smclFormat /{res\(\|:[^}]\+\)}/
    183 syn match smclFormat /{result\(\|:[^}]\+\)}/
    184 syn match smclFormat /{txt\(\|:[^}]\+\)}/
    185 syn match smclFormat /{text\(\|:[^}]\+\)}/
    186 syn match smclFormat /{com\(\|:[^}]\+\)}/
    187 syn match smclFormat /{cmd\(\|:[^}]\+\)}/
    188 syn match smclFormat /{cmdab:[^:}]\+:[^:}()]*\(\|:\|:(\|:()\)}/
    189 syn match smclFormat /{hi\(\|:[^}]\+\)}/
    190 syn match smclFormat /{hilite\(\|:[^}]\+\)}/
    191 syn match smclFormat /{ul \(on\|off\)}/
    192 syn match smclFormat /{ul:[^}]\+}/
    193 syn match smclFormat /{hline\(\| \d\+\| -\d\+\|:[^}]\+\)}/
    194 syn match smclFormat /{dup \d\+:[^}]\+}/
    195 syn match smclFormat /{c [^}]\+}/
    196 syn match smclFormat /{char [^}]\+}/
    197 syn match smclFormat /{reset}/
    198 
    199 " Formatting directives for line mode
    200 syn match smclFormat /{title:[^}]\+}/
    201 syn match smclFormat /{center:[^}]\+}/
    202 syn match smclFormat /{centre:[^}]\+}/
    203 syn match smclFormat /{center \d\+:[^}]\+}/
    204 syn match smclFormat /{centre \d\+:[^}]\+}/
    205 syn match smclFormat /{right:[^}]\+}/
    206 syn match smclFormat /{lalign \d\+:[^}]\+}/
    207 syn match smclFormat /{ralign \d\+:[^}]\+}/
    208 syn match smclFormat /{\.\.\.}/
    209 syn match smclFormat /{col \d\+}/
    210 syn match smclFormat /{space \d\+}/
    211 syn match smclFormat /{tab}/
    212 
    213 " Formatting directives for paragraph mode
    214 syn match smclFormat /{bind:[^}]\+}/
    215 syn match smclFormat /{break}/
    216 
    217 syn match smclFormat /{p}/
    218 syn match smclFormat /{p \d\+}/
    219 syn match smclFormat /{p \d\+ \d\+}/
    220 syn match smclFormat /{p \d\+ \d\+ \d\+}/
    221 syn match smclFormat /{pstd}/
    222 syn match smclFormat /{psee}/
    223 syn match smclFormat /{phang\(\|2\|3\)}/
    224 syn match smclFormat /{pmore\(\|2\|3\)}/
    225 syn match smclFormat /{pin\(\|2\|3\)}/
    226 syn match smclFormat /{p_end}/
    227 
    228 syn match smclFormat /{opt \w\+\(\|:\w\+\)\(\|([^)}]*)\)}/
    229 
    230 syn match smclFormat /{opth \w*\(\|:\w\+\)(\w*)}/
    231 syn match smclFormat /{opth "\w\+\((\w\+:[^)}]\+)\)"}/
    232 syn match smclFormat /{opth \w\+:\w\+(\w\+:[^)}]\+)}/
    233 
    234 syn match smclFormat /{dlgtab\s*\(\|\d\+\|\d\+\s\+\d\+\):[^}]\+}/
    235 
    236 syn match smclFormat /{p2colset\s\+\d\+\s\+\d\+\s\+\d\+\s\+\d\+}/
    237 syn match smclFormat /{p2col\s\+:[^{}]*}.*{p_end}/
    238 syn match smclFormat /{p2col\s\+:{[^{}]*}}.*{p_end}/
    239 syn match smclFormat /{p2coldent\s*:[^{}]*}.*{p_end}/
    240 syn match smclFormat /{p2coldent\s*:{[^{}]*}}.*{p_end}/
    241 syn match smclFormat /{p2line\s*\(\|\d\+\s\+\d\+\)}/
    242 syn match smclFormat /{p2colreset}/
    243 
    244 syn match smclFormat /{synoptset\s\+\d\+\s\+\w\+}/
    245 syn match smclFormat /{synopt\s*:[^{}]*}.*{p_end}/
    246 syn match smclFormat /{synopt\s*:{[^{}]*}}.*{p_end}/
    247 syn match smclFormat /{syntab\s*:[^{}]*}/
    248 syn match smclFormat /{synopthdr}/
    249 syn match smclFormat /{synoptline}/
    250 
    251 " Link directive for line and paragraph modes
    252 syn match smclLink /{help [^}]\+}/
    253 syn match smclLink /{helpb [^}]\+}/
    254 syn match smclLink /{help_d:[^}]\+}/
    255 syn match smclLink /{search [^}]\+}/
    256 syn match smclLink /{search_d:[^}]\+}/
    257 syn match smclLink /{browse [^}]\+}/
    258 syn match smclLink /{view [^}]\+}/
    259 syn match smclLink /{view_d:[^}]\+}/
    260 syn match smclLink /{news:[^}]\+}/
    261 syn match smclLink /{net [^}]\+}/
    262 syn match smclLink /{net_d:[^}]\+}/
    263 syn match smclLink /{netfrom_d:[^}]\+}/
    264 syn match smclLink /{ado [^}]\+}/
    265 syn match smclLink /{ado_d:[^}]\+}/
    266 syn match smclLink /{update [^}]\+}/
    267 syn match smclLink /{update_d:[^}]\+}/
    268 syn match smclLink /{dialog [^}]\+}/
    269 syn match smclLink /{back:[^}]\+}/
    270 syn match smclLink /{clearmore:[^}]\+}/
    271 syn match smclLink /{stata [^}]\+}/
    272 
    273 syn match smclLink /{newvar\(\|:[^}]\+\)}/
    274 syn match smclLink /{var\(\|:[^}]\+\)}/
    275 syn match smclLink /{varname\(\|:[^}]\+\)}/
    276 syn match smclLink /{vars\(\|:[^}]\+\)}/
    277 syn match smclLink /{varlist\(\|:[^}]\+\)}/
    278 syn match smclLink /{depvar\(\|:[^}]\+\)}/
    279 syn match smclLink /{depvars\(\|:[^}]\+\)}/
    280 syn match smclLink /{depvarlist\(\|:[^}]\+\)}/
    281 syn match smclLink /{indepvars\(\|:[^}]\+\)}/
    282 
    283 syn match smclLink /{dtype}/
    284 syn match smclLink /{ifin}/
    285 syn match smclLink /{weight}/
    286 
    287 " Comment
    288 syn region smclComment start=/{\*/ end=/}/ oneline
    289 
    290 " Strings
    291 syn region smclString  matchgroup=Nothing start=/"/ end=/"/   oneline
    292 syn region smclEString matchgroup=Nothing start=/`"/ end=/"'/ oneline contains=smclEString
    293 
    294 " assign highlight groups
    295 
    296 hi def link smclEString		smclString
    297 
    298 hi def link smclCCLword		Statement
    299 hi def link smclCCL		Type
    300 hi def link smclFormat		Statement
    301 hi def link smclLink		Underlined
    302 hi def link smclComment		Comment
    303 hi def link smclString		String
    304 
    305 let b:current_syntax = "smcl"
    306 
    307 " vim: ts=8