mirror of
				https://github.com/neovim/neovim.git
				synced 2025-10-26 12:27:24 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			149 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			149 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| " 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:	2011 Dec 29 by Thilo Six
 | |
| 
 | |
| " 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
 | |
| 
 | |
| let s:cpo_save = &cpo
 | |
| set cpo&vim
 | |
| 
 | |
| " 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 beginning 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"
 | |
| 
 | |
| let &cpo = s:cpo_save
 | |
| unlet s:cpo_save
 | |
| " vim: ts=8
 | 
