Mercurial > hg > RemoteEditor > vim7
comparison runtime/syntax/clipper.vim @ 0:76efa0be13f1
Initial revision
author | atsuki |
---|---|
date | Sat, 10 Nov 2007 15:07:22 +0900 |
parents | |
children | 67300faee616 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:76efa0be13f1 |
---|---|
1 " Vim syntax file: | |
2 " Language: Clipper 5.2 & FlagShip | |
3 " Maintainer: C R Zamana <zamana@zip.net> | |
4 " Some things based on c.vim by Bram Moolenaar and pascal.vim by Mario Eusebio | |
5 " Last Change: Sat Sep 09 2000 | |
6 | |
7 " For version 5.x: Clear all syntax items | |
8 " For version 6.x: Quit when a syntax file was already loaded | |
9 if version < 600 | |
10 syntax clear | |
11 elseif exists("b:current_syntax") | |
12 finish | |
13 endif | |
14 | |
15 " Exceptions for my "Very Own" (TM) user variables naming style. | |
16 " If you don't like this, comment it | |
17 syn match clipperUserVariable "\<[a,b,c,d,l,n,o,u,x][A-Z][A-Za-z0-9_]*\>" | |
18 syn match clipperUserVariable "\<[a-z]\>" | |
19 | |
20 " Clipper is case insensitive ( see "exception" above ) | |
21 syn case ignore | |
22 | |
23 " Clipper keywords ( in no particular order ) | |
24 syn keyword clipperStatement ACCEPT APPEND BLANK FROM AVERAGE CALL CANCEL | |
25 syn keyword clipperStatement CLEAR ALL GETS MEMORY TYPEAHEAD CLOSE | |
26 syn keyword clipperStatement COMMIT CONTINUE SHARED NEW PICT | |
27 syn keyword clipperStatement COPY FILE STRUCTURE STRU EXTE TO COUNT | |
28 syn keyword clipperStatement CREATE FROM NIL | |
29 syn keyword clipperStatement DELETE FILE DIR DISPLAY EJECT ERASE FIND GO | |
30 syn keyword clipperStatement INDEX INPUT VALID WHEN | |
31 syn keyword clipperStatement JOIN KEYBOARD LABEL FORM LIST LOCATE MENU TO | |
32 syn keyword clipperStatement NOTE PACK QUIT READ | |
33 syn keyword clipperStatement RECALL REINDEX RELEASE RENAME REPLACE REPORT | |
34 syn keyword clipperStatement RETURN FORM RESTORE | |
35 syn keyword clipperStatement RUN SAVE SEEK SELECT | |
36 syn keyword clipperStatement SKIP SORT STORE SUM TEXT TOTAL TYPE UNLOCK | |
37 syn keyword clipperStatement UPDATE USE WAIT ZAP | |
38 syn keyword clipperStatement BEGIN SEQUENCE | |
39 syn keyword clipperStatement SET ALTERNATE BELL CENTURY COLOR CONFIRM CONSOLE | |
40 syn keyword clipperStatement CURSOR DATE DECIMALS DEFAULT DELETED DELIMITERS | |
41 syn keyword clipperStatement DEVICE EPOCH ESCAPE EXACT EXCLUSIVE FILTER FIXED | |
42 syn keyword clipperStatement FORMAT FUNCTION INTENSITY KEY MARGIN MESSAGE | |
43 syn keyword clipperStatement ORDER PATH PRINTER PROCEDURE RELATION SCOREBOARD | |
44 syn keyword clipperStatement SOFTSEEK TYPEAHEAD UNIQUE WRAP | |
45 syn keyword clipperStatement BOX CLEAR GET PROMPT SAY ? ?? | |
46 syn keyword clipperStatement DELETE TAG GO RTLINKCMD TMP DBLOCKINFO | |
47 syn keyword clipperStatement DBEVALINFO DBFIELDINFO DBFILTERINFO DBFUNCTABLE | |
48 syn keyword clipperStatement DBOPENINFO DBORDERCONDINFO DBORDERCREATEINF | |
49 syn keyword clipperStatement DBORDERINFO DBRELINFO DBSCOPEINFO DBSORTINFO | |
50 syn keyword clipperStatement DBSORTITEM DBTRANSINFO DBTRANSITEM WORKAREA | |
51 | |
52 " Conditionals | |
53 syn keyword clipperConditional CASE OTHERWISE ENDCASE | |
54 syn keyword clipperConditional IF ELSE ENDIF IIF IFDEF IFNDEF | |
55 | |
56 " Loops | |
57 syn keyword clipperRepeat DO WHILE ENDDO | |
58 syn keyword clipperRepeat FOR TO NEXT STEP | |
59 | |
60 " Visibility | |
61 syn keyword clipperStorageClass ANNOUNCE STATIC | |
62 syn keyword clipperStorageClass DECLARE EXTERNAL LOCAL MEMVAR PARAMETERS | |
63 syn keyword clipperStorageClass PRIVATE PROCEDURE PUBLIC REQUEST STATIC | |
64 syn keyword clipperStorageClass FIELD FUNCTION | |
65 syn keyword clipperStorageClass EXIT PROCEDURE INIT PROCEDURE | |
66 | |
67 " Operators | |
68 syn match clipperOperator "$\|%\|&\|+\|-\|->\|!" | |
69 syn match clipperOperator "\.AND\.\|\.NOT\.\|\.OR\." | |
70 syn match clipperOperator ":=\|<\|<=\|<>\|!=\|#\|=\|==\|>\|>=\|@" | |
71 syn match clipperOperator "*" | |
72 | |
73 " Numbers | |
74 syn match clipperNumber "\<\d\+\(u\=l\=\|lu\|f\)\>" | |
75 | |
76 " Includes | |
77 syn region clipperIncluded contained start=+"+ skip=+\\\\\|\\"+ end=+"+ | |
78 syn match clipperIncluded contained "<[^>]*>" | |
79 syn match clipperInclude "^\s*#\s*include\>\s*["<]" contains=clipperIncluded | |
80 | |
81 " String and Character constants | |
82 syn region clipperString start=+"+ end=+"+ | |
83 syn region clipperString start=+'+ end=+'+ | |
84 | |
85 " Delimiters | |
86 syn match ClipperDelimiters "[()]\|[\[\]]\|[{}]\|[||]" | |
87 | |
88 " Special | |
89 syn match clipperLineContinuation ";" | |
90 | |
91 " This is from Bram Moolenaar: | |
92 if exists("c_comment_strings") | |
93 " A comment can contain cString, cCharacter and cNumber. | |
94 " But a "*/" inside a cString in a clipperComment DOES end the comment! | |
95 " So we need to use a special type of cString: clipperCommentString, which | |
96 " also ends on "*/", and sees a "*" at the start of the line as comment | |
97 " again. Unfortunately this doesn't very well work for // type of comments :-( | |
98 syntax match clipperCommentSkip contained "^\s*\*\($\|\s\+\)" | |
99 syntax region clipperCommentString contained start=+"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=clipperCommentSkip | |
100 syntax region clipperComment2String contained start=+"+ skip=+\\\\\|\\"+ end=+"+ end="$" | |
101 syntax region clipperComment start="/\*" end="\*/" contains=clipperCommentString,clipperCharacter,clipperNumber,clipperString | |
102 syntax match clipperComment "//.*" contains=clipperComment2String,clipperCharacter,clipperNumber | |
103 else | |
104 syn region clipperComment start="/\*" end="\*/" | |
105 syn match clipperComment "//.*" | |
106 endif | |
107 syntax match clipperCommentError "\*/" | |
108 | |
109 " Lines beggining with an "*" are comments too | |
110 syntax match clipperComment "^\*.*" | |
111 | |
112 | |
113 " Define the default highlighting. | |
114 " For version 5.7 and earlier: only when not done already | |
115 " For version 5.8 and later: only when an item doesn't have highlighting yet | |
116 if version >= 508 || !exists("did_clipper_syntax_inits") | |
117 if version < 508 | |
118 let did_clipper_syntax_inits = 1 | |
119 command -nargs=+ HiLink hi link <args> | |
120 else | |
121 command -nargs=+ HiLink hi def link <args> | |
122 endif | |
123 | |
124 HiLink clipperConditional Conditional | |
125 HiLink clipperRepeat Repeat | |
126 HiLink clipperNumber Number | |
127 HiLink clipperInclude Include | |
128 HiLink clipperComment Comment | |
129 HiLink clipperOperator Operator | |
130 HiLink clipperStorageClass StorageClass | |
131 HiLink clipperStatement Statement | |
132 HiLink clipperString String | |
133 HiLink clipperFunction Function | |
134 HiLink clipperLineContinuation Special | |
135 HiLink clipperDelimiters Delimiter | |
136 HiLink clipperUserVariable Identifier | |
137 | |
138 delcommand HiLink | |
139 endif | |
140 | |
141 let b:current_syntax = "clipper" | |
142 | |
143 " vim: ts=4 |