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

  1. " Vim syntax file
  2. " Language:    S-Lang
  3. " Maintainer:    Jan Hlavacek <lahvak@math.ohio-state.edu>
  4. " Last change:    980216
  5.  
  6. " Remove any old syntax stuff hanging around
  7. syn clear
  8.  
  9. syn keyword slangStatement    break return continue EXECUTE_ERROR_BLOCK
  10. syn match slangStatement    "\<X_USER_BLOCK[0-4]\>"
  11. syn keyword slangLabel        case
  12. syn keyword slangConditional    !if if else switch
  13. syn keyword slangRepeat        while for _for loop do forever
  14. syn keyword slangDefinition    define typedef variable struct
  15. syn keyword slangOperator    or and andelse orelse shr shl xor not
  16. syn keyword slangBlock        EXIT_BLOCK ERROR_BLOCK
  17. syn match slangBlock        "\<USER_BLOCK[0-4]\>"
  18. syn keyword slangConstant    NULL
  19. syn keyword slangType        Integer_Type Double_Type Complex_Type String_Type Struct_Type Ref_Type Null_Type Array_Type DataType_Type
  20.  
  21. syn match slangOctal        "\<0\d\+\>" contains=slangOctalError
  22. syn match slangOctalError    "[89]\+" contained
  23. syn match slangHex        "\<0[xX][0-9A-Fa-f]*\>"
  24. syn match slangDecimal        "\<[1-9]\d*\>"
  25. syn match slangFloat        "\<\d\+\."
  26. syn match slangFloat        "\<\d\+\.\d\+\([Ee][-+]\=\d\+\)\=\>"
  27. syn match slangFloat        "\<\d\+\.[Ee][-+]\=\d\+\>"
  28. syn match slangFloat        "\<\d\+[Ee][-+]\=\d\+\>"
  29. syn match slangFloat        "\.\d\+\([Ee][-+]\=\d\+\)\=\>"
  30. syn match slangImaginary    "\.\d\+\([Ee][-+]\=\d*\)\=[ij]\>"
  31. syn match slangImaginary    "\<\d\+\(\.\d*\)\=\([Ee][-+]\=\d\+\)\=[ij]\>"
  32.  
  33. syn region slangString oneline start='"' end='"' skip='\\"'
  34. syn match slangCharacter    "'[^\\]'"
  35. syn match slangCharacter    "'\\.'"
  36. syn match slangCharacter    "'\\[0-7]\{1,3}'"
  37. syn match slangCharacter    "'\\d\d\{1,3}'"
  38. syn match slangCharacter    "'\\x[0-7a-fA-F]\{1,2}'"
  39.  
  40. syn match slangDelim        "[][{};:,]"
  41. syn match slangOperator        "[-%+/&*=<>|!~^@]"
  42.  
  43. "catch errors caused by wrong parenthesis
  44. syn region slangParen    matchgroup=slangDelim transparent start='(' end=')' contains=ALLBUT,slangParenError
  45. syn match slangParenError    ")"
  46.  
  47. syn match slangComment        "%.*$"
  48. syn keyword slangOperator    sizeof
  49.  
  50. syn region slangPreCondit start="^\s*#\s*\(ifdef\>\|ifndef\>\|iftrue\>\|ifnfalse\>\|iffalse\>\|ifntrue\>\|if\$\|ifn\$\|\|elif\>\|else\>\|endif\>\)" skip="\\$" end="$" contains=cComment,slangString,slangCharacter,slangNumber
  51.  
  52. " Default links
  53. if !exists("did_slang_syntax_inits")
  54.   let did_slang_syntax_inits = 1
  55.   " The default methods for highlighting.  Can be overridden later
  56.   hi link slangDefinition    Type
  57.   hi link slangBlock        slangDefinition
  58.   hi link slangLabel        Label
  59.   hi link slangConditional    Conditional
  60.   hi link slangRepeat        Repeat
  61.   hi link slangCharacter    Character
  62.   hi link slangFloat        Float
  63.   hi link slangImaginary    Float
  64.   hi link slangDecimal        slangNumber
  65.   hi link slangOctal        slangNumber
  66.   hi link slangHex        slangNumber
  67.   hi link slangNumber        Number
  68.   hi link slangParenError    Error
  69.   hi link slangOctalError    Error
  70.   hi link slangOperator        Operator
  71.   hi link slangStructure    Structure
  72.   hi link slangInclude        Include
  73.   hi link slangPreCondit    PreCondit
  74.   hi link slangError        Error
  75.   hi link slangStatement    Statement
  76.   hi link slangType        Type
  77.   hi link slangString        String
  78.   hi link slangConstant        Constant
  79.   hi link slangRangeArray    slangConstant
  80.   hi link slangComment        Comment
  81.   hi link slangSpecial        SpecialChar
  82.   hi link slangTodo        Todo
  83.   hi link slangDelim        Delimiter
  84. endif
  85.  
  86. let b:current_syntax = "slang"
  87.  
  88. " vim: ts=8
  89.