Mercurial > hg > RemoteEditor > vim7
annotate runtime/syntax/sas.vim @ 48:67300faee616 v7-3-618
v7-3-618
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 01 Aug 2012 18:08:28 +0900 |
parents | e170173ecb68 |
children |
rev | line source |
---|---|
0 | 1 " Vim syntax file |
2 " Language: SAS | |
3 " Maintainer: James Kidd <james.kidd@covance.com> | |
48 | 4 " Last Change: 2012 Apr 20 |
5 " Corrected bug causing some keywords to appear as strings instead | |
6 " 18 Jul 2008 by Paulo Tanimoto <ptanimoto@gmail.com> | |
34
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
7 " Fixed comments with * taking multiple lines. |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
8 " Fixed highlighting of macro keywords. |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
9 " Added words to cases that didn't fit anywhere. |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
10 " 02 Jun 2003 |
0 | 11 " Added highlighting for additional keywords and such; |
12 " Attempted to match SAS default syntax colors; | |
13 " Changed syncing so it doesn't lose colors on large blocks; | |
14 " Much thanks to Bob Heckel for knowledgeable tweaking. | |
15 " For version 5.x: Clear all syntax items | |
16 " For version 6.x: Quit when a syntax file was already loaded | |
17 if version < 600 | |
18 syntax clear | |
19 elseif exists("b:current_syntax") | |
20 finish | |
21 endif | |
22 | |
23 syn case ignore | |
24 | |
25 syn region sasString start=+"+ skip=+\\\\\|\\"+ end=+"+ | |
26 syn region sasString start=+'+ skip=+\\\\\|\\"+ end=+'+ | |
27 | |
28 " Want region from 'cards;' to ';' to be captured (Bob Heckel) | |
29 syn region sasCards start="^\s*CARDS.*" end="^\s*;\s*$" | |
30 syn region sasCards start="^\s*DATALINES.*" end="^\s*;\s*$" | |
31 | |
32 syn match sasNumber "-\=\<\d*\.\=[0-9_]\>" | |
33 | |
34
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
34 " Block comment |
0 | 35 syn region sasComment start="/\*" end="\*/" contains=sasTodo |
34
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
36 |
0 | 37 " Ignore misleading //JCL SYNTAX... (Bob Heckel) |
38 syn region sasComment start="[^/][^/]/\*" end="\*/" contains=sasTodo | |
39 | |
34
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
40 " Previous code for comments was written by Bob Heckel |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
41 " Comments with * may take multiple lines (Paulo Tanimoto) |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
42 syn region sasComment start=";\s*\*"hs=s+1 end=";" contains=sasTodo |
0 | 43 |
34
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
44 " Comments with * starting after a semicolon (Paulo Tanimoto) |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
45 syn region sasComment start="^\s*\*" end=";" contains=sasTodo |
0 | 46 |
47 " This line defines macro variables in code. HiLink at end of file | |
48 " defines the color scheme. Begin region with ampersand and end with | |
49 " any non-word character offset by -1; put ampersand in the skip list | |
50 " just in case it is used to concatenate macro variable values. | |
51 | |
52 " Thanks to ronald höllwarth for this fix to an intra-versioning | |
53 " problem with this little feature | |
54 | |
55 if version < 600 | |
56 syn region sasMacroVar start="\&" skip="[_&]" end="\W"he=e-1 | |
57 else " for the older Vim's just do it their way ... | |
58 syn region sasMacroVar start="&" skip="[_&]" end="\W"he=e-1 | |
59 endif | |
60 | |
61 | |
62 " I dont think specific PROCs need to be listed if use this line (Bob Heckel). | |
63 syn match sasProc "^\s*PROC \w\+" | |
64 syn keyword sasStep RUN QUIT DATA | |
65 | |
66 | |
67 " Base SAS Procs - version 8.1 | |
68 | |
69 syn keyword sasConditional DO ELSE END IF THEN UNTIL WHILE | |
70 | |
71 syn keyword sasStatement ABORT ARRAY ATTRIB BY CALL CARDS CARDS4 CATNAME | |
72 syn keyword sasStatement CONTINUE DATALINES DATALINES4 DELETE DISPLAY | |
73 syn keyword sasStatement DM DROP ENDSAS ERROR FILE FILENAME FOOTNOTE | |
74 syn keyword sasStatement FORMAT GOTO INFILE INFORMAT INPUT KEEP | |
75 syn keyword sasStatement LABEL LEAVE LENGTH LIBNAME LINK LIST LOSTCARD | |
76 syn keyword sasStatement MERGE MISSING MODIFY OPTIONS OUTPUT PAGE | |
77 syn keyword sasStatement PUT REDIRECT REMOVE RENAME REPLACE RETAIN | |
78 syn keyword sasStatement RETURN SELECT SET SKIP STARTSAS STOP TITLE | |
79 syn keyword sasStatement UPDATE WAITSAS WHERE WINDOW X SYSTASK | |
80 | |
81 " Keywords that are used in Proc SQL | |
82 " I left them as statements because SAS's enhanced editor highlights | |
83 " them the same as normal statements used in data steps (Jim Kidd) | |
84 | |
85 syn keyword sasStatement ADD AND ALTER AS CASCADE CHECK CREATE | |
86 syn keyword sasStatement DELETE DESCRIBE DISTINCT DROP FOREIGN | |
87 syn keyword sasStatement FROM GROUP HAVING INDEX INSERT INTO IN | |
88 syn keyword sasStatement KEY LIKE MESSAGE MODIFY MSGTYPE NOT | |
89 syn keyword sasStatement NULL ON OR ORDER PRIMARY REFERENCES | |
90 syn keyword sasStatement RESET RESTRICT SELECT SET TABLE | |
91 syn keyword sasStatement UNIQUE UPDATE VALIDATE VIEW WHERE | |
92 | |
34
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
93 " Match declarations have to appear one per line (Paulo Tanimoto) |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
94 syn match sasStatement "FOOTNOTE\d" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
95 syn match sasStatement "TITLE\d" |
0 | 96 |
34
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
97 " Match declarations have to appear one per line (Paulo Tanimoto) |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
98 syn match sasMacro "%BQUOTE" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
99 syn match sasMacro "%NRBQUOTE" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
100 syn match sasMacro "%CMPRES" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
101 syn match sasMacro "%QCMPRES" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
102 syn match sasMacro "%COMPSTOR" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
103 syn match sasMacro "%DATATYP" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
104 syn match sasMacro "%DISPLAY" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
105 syn match sasMacro "%DO" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
106 syn match sasMacro "%ELSE" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
107 syn match sasMacro "%END" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
108 syn match sasMacro "%EVAL" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
109 syn match sasMacro "%GLOBAL" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
110 syn match sasMacro "%GOTO" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
111 syn match sasMacro "%IF" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
112 syn match sasMacro "%INDEX" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
113 syn match sasMacro "%INPUT" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
114 syn match sasMacro "%KEYDEF" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
115 syn match sasMacro "%LABEL" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
116 syn match sasMacro "%LEFT" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
117 syn match sasMacro "%LENGTH" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
118 syn match sasMacro "%LET" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
119 syn match sasMacro "%LOCAL" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
120 syn match sasMacro "%LOWCASE" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
121 syn match sasMacro "%MACRO" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
122 syn match sasMacro "%MEND" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
123 syn match sasMacro "%NRBQUOTE" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
124 syn match sasMacro "%NRQUOTE" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
125 syn match sasMacro "%NRSTR" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
126 syn match sasMacro "%PUT" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
127 syn match sasMacro "%QCMPRES" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
128 syn match sasMacro "%QLEFT" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
129 syn match sasMacro "%QLOWCASE" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
130 syn match sasMacro "%QSCAN" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
131 syn match sasMacro "%QSUBSTR" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
132 syn match sasMacro "%QSYSFUNC" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
133 syn match sasMacro "%QTRIM" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
134 syn match sasMacro "%QUOTE" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
135 syn match sasMacro "%QUPCASE" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
136 syn match sasMacro "%SCAN" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
137 syn match sasMacro "%STR" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
138 syn match sasMacro "%SUBSTR" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
139 syn match sasMacro "%SUPERQ" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
140 syn match sasMacro "%SYSCALL" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
141 syn match sasMacro "%SYSEVALF" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
142 syn match sasMacro "%SYSEXEC" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
143 syn match sasMacro "%SYSFUNC" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
144 syn match sasMacro "%SYSGET" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
145 syn match sasMacro "%SYSLPUT" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
146 syn match sasMacro "%SYSPROD" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
147 syn match sasMacro "%SYSRC" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
148 syn match sasMacro "%SYSRPUT" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
149 syn match sasMacro "%THEN" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
150 syn match sasMacro "%TO" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
151 syn match sasMacro "%TRIM" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
152 syn match sasMacro "%UNQUOTE" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
153 syn match sasMacro "%UNTIL" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
154 syn match sasMacro "%UPCASE" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
155 syn match sasMacro "%VERIFY" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
156 syn match sasMacro "%WHILE" |
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
157 syn match sasMacro "%WINDOW" |
0 | 158 |
159 " SAS Functions | |
160 | |
161 syn keyword sasFunction ABS ADDR AIRY ARCOS ARSIN ATAN ATTRC ATTRN | |
162 syn keyword sasFunction BAND BETAINV BLSHIFT BNOT BOR BRSHIFT BXOR | |
163 syn keyword sasFunction BYTE CDF CEIL CEXIST CINV CLOSE CNONCT COLLATE | |
164 syn keyword sasFunction COMPBL COMPOUND COMPRESS COS COSH CSS CUROBS | |
165 syn keyword sasFunction CV DACCDB DACCDBSL DACCSL DACCSYD DACCTAB | |
166 syn keyword sasFunction DAIRY DATE DATEJUL DATEPART DATETIME DAY | |
167 syn keyword sasFunction DCLOSE DEPDB DEPDBSL DEPDBSL DEPSL DEPSL | |
168 syn keyword sasFunction DEPSYD DEPSYD DEPTAB DEPTAB DEQUOTE DHMS | |
169 syn keyword sasFunction DIF DIGAMMA DIM DINFO DNUM DOPEN DOPTNAME | |
170 syn keyword sasFunction DOPTNUM DREAD DROPNOTE DSNAME ERF ERFC EXIST | |
171 syn keyword sasFunction EXP FAPPEND FCLOSE FCOL FDELETE FETCH FETCHOBS | |
172 syn keyword sasFunction FEXIST FGET FILEEXIST FILENAME FILEREF FINFO | |
173 syn keyword sasFunction FINV FIPNAME FIPNAMEL FIPSTATE FLOOR FNONCT | |
174 syn keyword sasFunction FNOTE FOPEN FOPTNAME FOPTNUM FPOINT FPOS | |
175 syn keyword sasFunction FPUT FREAD FREWIND FRLEN FSEP FUZZ FWRITE | |
176 syn keyword sasFunction GAMINV GAMMA GETOPTION GETVARC GETVARN HBOUND | |
177 syn keyword sasFunction HMS HOSTHELP HOUR IBESSEL INDEX INDEXC | |
178 syn keyword sasFunction INDEXW INPUT INPUTC INPUTN INT INTCK INTNX | |
179 syn keyword sasFunction INTRR IRR JBESSEL JULDATE KURTOSIS LAG LBOUND | |
180 syn keyword sasFunction LEFT LENGTH LGAMMA LIBNAME LIBREF LOG LOG10 | |
181 syn keyword sasFunction LOG2 LOGPDF LOGPMF LOGSDF LOWCASE MAX MDY | |
182 syn keyword sasFunction MEAN MIN MINUTE MOD MONTH MOPEN MORT N | |
183 syn keyword sasFunction NETPV NMISS NORMAL NOTE NPV OPEN ORDINAL | |
184 syn keyword sasFunction PATHNAME PDF PEEK PEEKC PMF POINT POISSON POKE | |
185 syn keyword sasFunction PROBBETA PROBBNML PROBCHI PROBF PROBGAM | |
186 syn keyword sasFunction PROBHYPR PROBIT PROBNEGB PROBNORM PROBT PUT | |
187 syn keyword sasFunction PUTC PUTN QTR QUOTE RANBIN RANCAU RANEXP | |
188 syn keyword sasFunction RANGAM RANGE RANK RANNOR RANPOI RANTBL RANTRI | |
189 syn keyword sasFunction RANUNI REPEAT RESOLVE REVERSE REWIND RIGHT | |
190 syn keyword sasFunction ROUND SAVING SCAN SDF SECOND SIGN SIN SINH | |
191 syn keyword sasFunction SKEWNESS SOUNDEX SPEDIS SQRT STD STDERR STFIPS | |
192 syn keyword sasFunction STNAME STNAMEL SUBSTR SUM SYMGET SYSGET SYSMSG | |
193 syn keyword sasFunction SYSPROD SYSRC SYSTEM TAN TANH TIME TIMEPART | |
194 syn keyword sasFunction TINV TNONCT TODAY TRANSLATE TRANWRD TRIGAMMA | |
195 syn keyword sasFunction TRIM TRIMN TRUNC UNIFORM UPCASE USS VAR | |
196 syn keyword sasFunction VARFMT VARINFMT VARLABEL VARLEN VARNAME | |
197 syn keyword sasFunction VARNUM VARRAY VARRAYX VARTYPE VERIFY VFORMAT | |
198 syn keyword sasFunction VFORMATD VFORMATDX VFORMATN VFORMATNX VFORMATW | |
199 syn keyword sasFunction VFORMATWX VFORMATX VINARRAY VINARRAYX VINFORMAT | |
200 syn keyword sasFunction VINFORMATD VINFORMATDX VINFORMATN VINFORMATNX | |
201 syn keyword sasFunction VINFORMATW VINFORMATWX VINFORMATX VLABEL | |
202 syn keyword sasFunction VLABELX VLENGTH VLENGTHX VNAME VNAMEX VTYPE | |
203 syn keyword sasFunction VTYPEX WEEKDAY YEAR YYQ ZIPFIPS ZIPNAME ZIPNAMEL | |
204 syn keyword sasFunction ZIPSTATE | |
205 | |
206 " Handy settings for using vim with log files | |
207 syn keyword sasLogMsg NOTE | |
208 syn keyword sasWarnMsg WARNING | |
209 syn keyword sasErrMsg ERROR | |
210 | |
211 " Always contained in a comment (Bob Heckel) | |
212 syn keyword sasTodo TODO TBD FIXME contained | |
213 | |
214 " These don't fit anywhere else (Bob Heckel). | |
34
e170173ecb68
before ack base protocol.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
215 " Added others that were missing. |
48 | 216 syn keyword sasUnderscore _ALL_ _AUTOMATIC_ _CHARACTER_ _INFILE_ _N_ _NAME_ _NULL_ _NUMERIC_ _USER_ _WEBOUT_ |
0 | 217 |
218 " End of SAS Functions | |
219 | |
220 " Define the default highlighting. | |
221 " For version 5.7 and earlier: only when not done already | |
222 " For version 5.8 and later: only when an item doesn't have highlighting yet | |
223 | |
224 if version >= 508 || !exists("did_sas_syntax_inits") | |
225 if version < 508 | |
226 let did_sas_syntax_inits = 1 | |
227 command -nargs=+ HiLink hi link <args> | |
228 else | |
229 command -nargs=+ HiLink hi def link <args> | |
230 endif | |
231 | |
232 " Default sas enhanced editor color syntax | |
233 hi sComment term=bold cterm=NONE ctermfg=Green ctermbg=Black gui=NONE guifg=DarkGreen guibg=White | |
234 hi sCard term=bold cterm=NONE ctermfg=Black ctermbg=Yellow gui=NONE guifg=Black guibg=LightYellow | |
235 hi sDate_Time term=NONE cterm=bold ctermfg=Green ctermbg=Black gui=bold guifg=SeaGreen guibg=White | |
236 hi sKeyword term=NONE cterm=NONE ctermfg=Blue ctermbg=Black gui=NONE guifg=Blue guibg=White | |
237 hi sFmtInfmt term=NONE cterm=NONE ctermfg=LightGreen ctermbg=Black gui=NONE guifg=SeaGreen guibg=White | |
238 hi sString term=NONE cterm=NONE ctermfg=Magenta ctermbg=Black gui=NONE guifg=Purple guibg=White | |
239 hi sText term=NONE cterm=NONE ctermfg=White ctermbg=Black gui=bold guifg=Black guibg=White | |
240 hi sNumber term=NONE cterm=bold ctermfg=Green ctermbg=Black gui=bold guifg=SeaGreen guibg=White | |
241 hi sProc term=NONE cterm=bold ctermfg=Blue ctermbg=Black gui=bold guifg=Navy guibg=White | |
242 hi sSection term=NONE cterm=bold ctermfg=Blue ctermbg=Black gui=bold guifg=Navy guibg=White | |
243 hi mDefine term=NONE cterm=bold ctermfg=White ctermbg=Black gui=bold guifg=Black guibg=White | |
244 hi mKeyword term=NONE cterm=NONE ctermfg=Blue ctermbg=Black gui=NONE guifg=Blue guibg=White | |
245 hi mReference term=NONE cterm=bold ctermfg=White ctermbg=Black gui=bold guifg=Blue guibg=White | |
246 hi mSection term=NONE cterm=NONE ctermfg=Blue ctermbg=Black gui=bold guifg=Navy guibg=White | |
247 hi mText term=NONE cterm=NONE ctermfg=White ctermbg=Black gui=bold guifg=Black guibg=White | |
248 | |
249 " Colors that closely match SAS log colors for default color scheme | |
250 hi lError term=NONE cterm=NONE ctermfg=Red ctermbg=Black gui=none guifg=Red guibg=White | |
251 hi lWarning term=NONE cterm=NONE ctermfg=Green ctermbg=Black gui=none guifg=Green guibg=White | |
252 hi lNote term=NONE cterm=NONE ctermfg=Cyan ctermbg=Black gui=none guifg=Blue guibg=White | |
253 | |
254 | |
255 " Special hilighting for the SAS proc section | |
256 | |
257 HiLink sasComment sComment | |
258 HiLink sasConditional sKeyword | |
259 HiLink sasStep sSection | |
260 HiLink sasFunction sKeyword | |
261 HiLink sasMacro mKeyword | |
262 HiLink sasMacroVar NonText | |
263 HiLink sasNumber sNumber | |
264 HiLink sasStatement sKeyword | |
265 HiLink sasString sString | |
266 HiLink sasProc sProc | |
267 " (Bob Heckel) | |
268 HiLink sasTodo Todo | |
269 HiLink sasErrMsg lError | |
270 HiLink sasWarnMsg lWarning | |
271 HiLink sasLogMsg lNote | |
272 HiLink sasCards sCard | |
273 " (Bob Heckel) | |
274 HiLink sasUnderscore PreProc | |
275 delcommand HiLink | |
276 endif | |
277 | |
278 " Syncronize from beginning to keep large blocks from losing | |
279 " syntax coloring while moving through code. | |
280 syn sync fromstart | |
281 | |
282 let b:current_syntax = "sas" | |
283 | |
284 " vim: ts=8 |