home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 February / OpenLinux 2.3 CD.iso / live / usr / share / vim / syntax / clipper.vim < prev    next >
Encoding:
Text File  |  1999-08-10  |  5.3 KB  |  126 lines

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