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