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

  1. " Vim syntax file
  2. " Language:    Pascal
  3. " Maintainer:    Mario Eusebio <bio@dq.fct.unl.pt>
  4. " Last change:    1997 April 25
  5.  
  6. " Remove any old syntax stuff hanging around
  7. syn clear
  8.  
  9. syn case ignore
  10.  
  11. syn keyword pascalStatement        program begin end
  12. syn keyword pascalLabel        case goto
  13. syn keyword pascalConditional    if else then
  14. syn keyword pascalRepeat        do for while to until
  15.  
  16. syn keyword pascalTodo contained    TODO
  17.  
  18. " String
  19. syn region  pascalString    start=+'+  end=+'+
  20.  
  21. "syn match  pascalIdentifier        "\<[a-zA-Z_][a-zA-Z0-9_]*\>"
  22.  
  23. "syn match  pascalDelimiter        "[()]"
  24.  
  25. syn match  pascalMatrixDelimiter    "[][]"
  26.  
  27. "if you prefer you can highlight the range
  28. "syn match  pascalMatrixDelimiter    "[\d\+\.\.\d\+]"
  29.  
  30. "syn match  pascalNumber        "-\=\<\d\+\.\d\+[dD]-\=\d\+\>"
  31. "syn match  pascalNumber        "-\=\<\d\+\.\d\+[eE]-\=\d\+\>"
  32. "syn match  pascalNumber        "-\=\<\d\+\.\d\+\>"
  33. syn match  pascalNumber        "-\=\<\d\+\>"
  34. syn match  pascalByte        "\$[0-9a-fA-F]\+\>"
  35.  
  36. " If you don't like tabs
  37. "syn match pascalShowTab "\t"
  38. "syn match pascalShowTabc "\t"
  39.  
  40. syn region pascalComment    start="(\*"  end="\*)" contains=pascalTodo
  41. syn region pascalComment    start="{"  end="}" contains=pascalTodo
  42.  
  43. syn keyword pascalOperator    and array boolean delete div downto
  44. syn keyword pascalOperator    false file get in input insert
  45. syn keyword pascalOperator    interactive keyboard label maxint
  46. syn keyword pascalOperator    mod new nil not of or output packed
  47. syn keyword pascalOperator    put read readln record repeat
  48. syn keyword pascalOperator    reset rewrite seek set
  49. syn keyword pascalOperator    with write writeln
  50.  
  51. syn keyword pascalType    char const integer real text
  52. syn keyword pascalType    var type string
  53.  
  54. syn keyword pascalFunction    procedure function
  55.  
  56. syn sync lines=250
  57.  
  58. if !exists("did_pascal_syntax_inits")
  59.   let did_pascal_syntax_inits = 1
  60.   " The default methods for highlighting.  Can be overridden later
  61.   hi link pascalStatement        Statement
  62.   hi link pascalLabel            Label
  63.   hi link pascalConditional        Conditional
  64.   hi link pascalRepeat            Repeat
  65.   hi link pascalTodo            Todo
  66.   hi link pascalString            String
  67.   hi link pascalMatrixDelimiter        Identifier
  68.   hi link pascalNumber            Number
  69.   hi link pascalByte            Number
  70.   hi link pascalOperator            Operator
  71.   hi link pascalFunction            Function
  72.   hi link pascalType            Type
  73.   hi link pascalComment            Comment
  74.   hi link pascalStatement        Statement
  75.  
  76. "optional highlighting
  77.   "hi link pascalDelimiter        Identifier
  78.  
  79.   "hi link pascalShowTab            Error
  80.   "hi link pascalShowTabc        Error
  81.  
  82.   "hi link pascalIdentifier        Identifier
  83. endif
  84.  
  85. let b:current_syntax = "pascal"
  86.  
  87. " vim: ts=8
  88.