home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / runtime / dos / syntax / gp.vim < prev    next >
Encoding:
Text File  |  2012-05-31  |  3.2 KB  |  94 lines

  1. " Vim syntax file
  2. " Language:    gp (version 2.5)
  3. " Maintainer:    Karim Belabas <Karim.Belabas@math.u-bordeaux.fr>
  4. " Last change:    2012 Jan 08
  5. " URL:        http://pari.math.u-bordeaux.fr
  6.  
  7. if version < 600
  8.   syntax clear
  9. elseif exists("b:current_syntax")
  10.   finish
  11. endif
  12.  
  13. let s:cpo_save = &cpo
  14. set cpo&vim
  15.  
  16. " control statements
  17. syntax keyword gpStatement    break return next
  18. syntax keyword gpConditional    if
  19. syntax keyword gpRepeat        until while for fordiv forell forprime 
  20. syntax keyword gpRepeat        forsubgroup forstep forvec
  21. " storage class
  22. syntax keyword gpScope        my local global
  23. " defaults
  24. syntax keyword gpInterfaceKey    breakloop colors compatible
  25. syntax keyword gpInterfaceKey    datadir debug debugfiles debugmem 
  26. syntax keyword gpInterfaceKey    echo factor_add_primes factor_proven format 
  27. syntax keyword gpInterfaceKey    graphcolormap graphcolors
  28. syntax keyword gpInterfaceKey    help histfile histsize 
  29. syntax keyword gpInterfaceKey    lines linewrap log logfile new_galois_format
  30. syntax keyword gpInterfaceKey    output parisize path prettyprinter primelimit
  31. syntax keyword gpInterfaceKey    prompt prompt_cont psfile 
  32. syntax keyword gpInterfaceKey    readline realprecision recover 
  33. syntax keyword gpInterfaceKey    secure seriesprecision simplify strictmatch
  34. syntax keyword gpInterfaceKey    TeXstyle timer
  35.  
  36. syntax match gpInterface    "^\s*\\[a-z].*"
  37. syntax keyword gpInterface    default
  38. syntax keyword gpInput        read input
  39.  
  40. " functions
  41. syntax match gpFunRegion "^\s*[a-zA-Z][_a-zA-Z0-9]*(.*)\s*=\s*[^ \t=]"me=e-1 contains=gpFunction,gpArgs
  42. syntax match gpFunRegion "^\s*[a-zA-Z][_a-zA-Z0-9]*(.*)\s*=\s*$" contains=gpFunction,gpArgs
  43. syntax match gpArgs contained "[a-zA-Z][_a-zA-Z0-9]*"
  44. syntax match gpFunction contained "^\s*[a-zA-Z][_a-zA-Z0-9]*("me=e-1
  45.  
  46. " String and Character constants
  47. " Highlight special (backslash'ed) characters differently
  48. syntax match  gpSpecial contained "\\[ent\\]"
  49. syntax region gpString  start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=gpSpecial
  50.  
  51. "comments
  52. syntax region gpComment    start="/\*"  end="\*/" contains=gpTodo
  53. syntax match  gpComment "\\\\.*" contains=gpTodo
  54. syntax keyword gpTodo contained    TODO
  55. syntax sync ccomment gpComment minlines=10
  56.  
  57. "catch errors caused by wrong parenthesis
  58. syntax region gpParen        transparent start='(' end=')' contains=ALLBUT,gpParenError,gpTodo,gpFunction,gpArgs,gpSpecial
  59. syntax match gpParenError    ")"
  60. syntax match gpInParen contained "[{}]"
  61.  
  62. if version >= 508 || !exists("did_gp_syn_inits")
  63.   if version < 508
  64.     let did_gp_syn_inits = 1
  65.     command -nargs=+ HiLink hi link <args>
  66.   else
  67.     command -nargs=+ HiLink hi def link <args>
  68.   endif
  69.  
  70.   HiLink gpConditional        Conditional
  71.   HiLink gpRepeat        Repeat
  72.   HiLink gpError        Error
  73.   HiLink gpParenError        gpError
  74.   HiLink gpInParen        gpError
  75.   HiLink gpStatement        Statement
  76.   HiLink gpString        String
  77.   HiLink gpComment        Comment
  78.   HiLink gpInterface        Type
  79.   HiLink gpInput        Type
  80.   HiLink gpInterfaceKey        Statement
  81.   HiLink gpFunction        Function
  82.   HiLink gpScope        Type
  83.   " contained ones
  84.   HiLink gpSpecial        Special
  85.   HiLink gpTodo            Todo
  86.   HiLink gpArgs            Type
  87.   delcommand HiLink
  88. endif
  89.  
  90. let b:current_syntax = "gp"
  91. let &cpo = s:cpo_save
  92. unlet s:cpo_save
  93. " vim: ts=8
  94.