Mercurial > hg > RemoteEditor > vim7
diff runtime/syntax/clipper.vim @ 0:76efa0be13f1
Initial revision
author | atsuki |
---|---|
date | Sat, 10 Nov 2007 15:07:22 +0900 |
parents | |
children | 67300faee616 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/syntax/clipper.vim Sat Nov 10 15:07:22 2007 +0900 @@ -0,0 +1,143 @@ +" Vim syntax file: +" Language: Clipper 5.2 & FlagShip +" Maintainer: C R Zamana <zamana@zip.net> +" Some things based on c.vim by Bram Moolenaar and pascal.vim by Mario Eusebio +" Last Change: Sat Sep 09 2000 + +" For version 5.x: Clear all syntax items +" For version 6.x: Quit when a syntax file was already loaded +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +" Exceptions for my "Very Own" (TM) user variables naming style. +" If you don't like this, comment it +syn match clipperUserVariable "\<[a,b,c,d,l,n,o,u,x][A-Z][A-Za-z0-9_]*\>" +syn match clipperUserVariable "\<[a-z]\>" + +" Clipper is case insensitive ( see "exception" above ) +syn case ignore + +" Clipper keywords ( in no particular order ) +syn keyword clipperStatement ACCEPT APPEND BLANK FROM AVERAGE CALL CANCEL +syn keyword clipperStatement CLEAR ALL GETS MEMORY TYPEAHEAD CLOSE +syn keyword clipperStatement COMMIT CONTINUE SHARED NEW PICT +syn keyword clipperStatement COPY FILE STRUCTURE STRU EXTE TO COUNT +syn keyword clipperStatement CREATE FROM NIL +syn keyword clipperStatement DELETE FILE DIR DISPLAY EJECT ERASE FIND GO +syn keyword clipperStatement INDEX INPUT VALID WHEN +syn keyword clipperStatement JOIN KEYBOARD LABEL FORM LIST LOCATE MENU TO +syn keyword clipperStatement NOTE PACK QUIT READ +syn keyword clipperStatement RECALL REINDEX RELEASE RENAME REPLACE REPORT +syn keyword clipperStatement RETURN FORM RESTORE +syn keyword clipperStatement RUN SAVE SEEK SELECT +syn keyword clipperStatement SKIP SORT STORE SUM TEXT TOTAL TYPE UNLOCK +syn keyword clipperStatement UPDATE USE WAIT ZAP +syn keyword clipperStatement BEGIN SEQUENCE +syn keyword clipperStatement SET ALTERNATE BELL CENTURY COLOR CONFIRM CONSOLE +syn keyword clipperStatement CURSOR DATE DECIMALS DEFAULT DELETED DELIMITERS +syn keyword clipperStatement DEVICE EPOCH ESCAPE EXACT EXCLUSIVE FILTER FIXED +syn keyword clipperStatement FORMAT FUNCTION INTENSITY KEY MARGIN MESSAGE +syn keyword clipperStatement ORDER PATH PRINTER PROCEDURE RELATION SCOREBOARD +syn keyword clipperStatement SOFTSEEK TYPEAHEAD UNIQUE WRAP +syn keyword clipperStatement BOX CLEAR GET PROMPT SAY ? ?? +syn keyword clipperStatement DELETE TAG GO RTLINKCMD TMP DBLOCKINFO +syn keyword clipperStatement DBEVALINFO DBFIELDINFO DBFILTERINFO DBFUNCTABLE +syn keyword clipperStatement DBOPENINFO DBORDERCONDINFO DBORDERCREATEINF +syn keyword clipperStatement DBORDERINFO DBRELINFO DBSCOPEINFO DBSORTINFO +syn keyword clipperStatement DBSORTITEM DBTRANSINFO DBTRANSITEM WORKAREA + +" Conditionals +syn keyword clipperConditional CASE OTHERWISE ENDCASE +syn keyword clipperConditional IF ELSE ENDIF IIF IFDEF IFNDEF + +" Loops +syn keyword clipperRepeat DO WHILE ENDDO +syn keyword clipperRepeat FOR TO NEXT STEP + +" Visibility +syn keyword clipperStorageClass ANNOUNCE STATIC +syn keyword clipperStorageClass DECLARE EXTERNAL LOCAL MEMVAR PARAMETERS +syn keyword clipperStorageClass PRIVATE PROCEDURE PUBLIC REQUEST STATIC +syn keyword clipperStorageClass FIELD FUNCTION +syn keyword clipperStorageClass EXIT PROCEDURE INIT PROCEDURE + +" Operators +syn match clipperOperator "$\|%\|&\|+\|-\|->\|!" +syn match clipperOperator "\.AND\.\|\.NOT\.\|\.OR\." +syn match clipperOperator ":=\|<\|<=\|<>\|!=\|#\|=\|==\|>\|>=\|@" +syn match clipperOperator "*" + +" Numbers +syn match clipperNumber "\<\d\+\(u\=l\=\|lu\|f\)\>" + +" Includes +syn region clipperIncluded contained start=+"+ skip=+\\\\\|\\"+ end=+"+ +syn match clipperIncluded contained "<[^>]*>" +syn match clipperInclude "^\s*#\s*include\>\s*["<]" contains=clipperIncluded + +" String and Character constants +syn region clipperString start=+"+ end=+"+ +syn region clipperString start=+'+ end=+'+ + +" Delimiters +syn match ClipperDelimiters "[()]\|[\[\]]\|[{}]\|[||]" + +" Special +syn match clipperLineContinuation ";" + +" This is from Bram Moolenaar: +if exists("c_comment_strings") + " A comment can contain cString, cCharacter and cNumber. + " But a "*/" inside a cString in a clipperComment DOES end the comment! + " So we need to use a special type of cString: clipperCommentString, which + " also ends on "*/", and sees a "*" at the start of the line as comment + " again. Unfortunately this doesn't very well work for // type of comments :-( + syntax match clipperCommentSkip contained "^\s*\*\($\|\s\+\)" + syntax region clipperCommentString contained start=+"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=clipperCommentSkip + syntax region clipperComment2String contained start=+"+ skip=+\\\\\|\\"+ end=+"+ end="$" + syntax region clipperComment start="/\*" end="\*/" contains=clipperCommentString,clipperCharacter,clipperNumber,clipperString + syntax match clipperComment "//.*" contains=clipperComment2String,clipperCharacter,clipperNumber +else + syn region clipperComment start="/\*" end="\*/" + syn match clipperComment "//.*" +endif +syntax match clipperCommentError "\*/" + +" Lines beggining with an "*" are comments too +syntax match clipperComment "^\*.*" + + +" Define the default highlighting. +" For version 5.7 and earlier: only when not done already +" For version 5.8 and later: only when an item doesn't have highlighting yet +if version >= 508 || !exists("did_clipper_syntax_inits") + if version < 508 + let did_clipper_syntax_inits = 1 + command -nargs=+ HiLink hi link <args> + else + command -nargs=+ HiLink hi def link <args> + endif + + HiLink clipperConditional Conditional + HiLink clipperRepeat Repeat + HiLink clipperNumber Number + HiLink clipperInclude Include + HiLink clipperComment Comment + HiLink clipperOperator Operator + HiLink clipperStorageClass StorageClass + HiLink clipperStatement Statement + HiLink clipperString String + HiLink clipperFunction Function + HiLink clipperLineContinuation Special + HiLink clipperDelimiters Delimiter + HiLink clipperUserVariable Identifier + + delcommand HiLink +endif + +let b:current_syntax = "clipper" + +" vim: ts=4