neovim

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

clipper.vim (5576B)


      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:	2011 Dec 29 by Thilo Six
      6 
      7 " quit when a syntax file was already loaded
      8 if exists("b:current_syntax")
      9  finish
     10 endif
     11 
     12 let s:cpo_save = &cpo
     13 set cpo&vim
     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 beginning with an "*" are comments too
    110 syntax match clipperComment		"^\*.*"
    111 
    112 
    113 " Define the default highlighting.
    114 " Only when an item doesn't have highlighting yet
    115 
    116 hi def link clipperConditional		Conditional
    117 hi def link clipperRepeat			Repeat
    118 hi def link clipperNumber			Number
    119 hi def link clipperInclude		Include
    120 hi def link clipperComment		Comment
    121 hi def link clipperOperator		Operator
    122 hi def link clipperStorageClass		StorageClass
    123 hi def link clipperStatement		Statement
    124 hi def link clipperString			String
    125 hi def link clipperFunction		Function
    126 hi def link clipperLineContinuation	Special
    127 hi def link clipperDelimiters		Delimiter
    128 hi def link clipperUserVariable		Identifier
    129 
    130 
    131 let b:current_syntax = "clipper"
    132 
    133 let &cpo = s:cpo_save
    134 unlet s:cpo_save
    135 " vim: ts=8