summaryrefslogtreecommitdiff
path: root/runtime/syntax/gp.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2004-06-13 20:20:40 +0000
committerBram Moolenaar <Bram@vim.org>2004-06-13 20:20:40 +0000
commit071d4279d6ab81b7187b48f3a0fc61e587b6db6c (patch)
tree221cbe3c40e043163c06f61c52a7ba2eb41e12ce /runtime/syntax/gp.vim
parentb4210b3bc14e2918f153a7307530fbe6eba659e1 (diff)
downloadvim-git-071d4279d6ab81b7187b48f3a0fc61e587b6db6c.tar.gz
updated for version 7.0001v7.0001
Diffstat (limited to 'runtime/syntax/gp.vim')
-rw-r--r--runtime/syntax/gp.vim79
1 files changed, 79 insertions, 0 deletions
diff --git a/runtime/syntax/gp.vim b/runtime/syntax/gp.vim
new file mode 100644
index 000000000..1999749c0
--- /dev/null
+++ b/runtime/syntax/gp.vim
@@ -0,0 +1,79 @@
+" Vim syntax file
+" Language: gp (version 2.1)
+" Maintainer: Karim Belabas <Karim.Belabas@math.u-psud.fr>
+" Last change: 2001 Sep 02
+
+if version < 600
+ syntax clear
+elseif exists("b:current_syntax")
+ finish
+endif
+
+" some control statements
+syntax keyword gpStatement break return next
+syntax keyword gpConditional if
+syntax keyword gpRepeat until while for fordiv forprime forstep forvec
+syntax keyword gpScope local global
+
+syntax keyword gpInterfaceKey buffersize colors compatible debug debugmem
+syntax keyword gpInterfaceKey echo format help histsize log logfile output
+syntax keyword gpInterfaceKey parisize path primelimit prompt psfile
+syntax keyword gpInterfaceKey realprecision seriesprecision simplify
+syntax keyword gpInterfaceKey strictmatch timer
+
+syntax match gpInterface "^\s*\\[a-z].*"
+syntax keyword gpInterface default
+syntax keyword gpInput read input
+
+" functions
+syntax match gpFunRegion "^\s*[a-zA-Z][_a-zA-Z0-9]*(.*)\s*=\s*[^ \t=]"me=e-1 contains=gpFunction,gpArgs
+syntax match gpFunRegion "^\s*[a-zA-Z][_a-zA-Z0-9]*(.*)\s*=\s*$" contains=gpFunction,gpArgs
+syntax match gpArgs contained "[a-zA-Z][_a-zA-Z0-9]*"
+syntax match gpFunction contained "^\s*[a-zA-Z][_a-zA-Z0-9]*("me=e-1
+
+" String and Character constants
+" Highlight special (backslash'ed) characters differently
+syntax match gpSpecial contained "\\[ent\\]"
+syntax region gpString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=gpSpecial
+
+"comments
+syntax region gpComment start="/\*" end="\*/" contains=gpTodo
+syntax match gpComment "\\\\.*" contains=gpTodo
+syntax keyword gpTodo contained TODO
+syntax sync ccomment gpComment minlines=10
+
+"catch errors caused by wrong parenthesis
+syntax region gpParen transparent start='(' end=')' contains=ALLBUT,gpParenError,gpTodo,gpFunction,gpArgs,gpSpecial
+syntax match gpParenError ")"
+syntax match gpInParen contained "[{}]"
+
+if version >= 508 || !exists("did_gp_syn_inits")
+ if version < 508
+ let did_gp_syn_inits = 1
+ command -nargs=+ HiLink hi link <args>
+ else
+ command -nargs=+ HiLink hi def link <args>
+ endif
+
+ HiLink gpConditional Conditional
+ HiLink gpRepeat Repeat
+ HiLink gpError Error
+ HiLink gpParenError gpError
+ HiLink gpInParen gpError
+ HiLink gpStatement Statement
+ HiLink gpString String
+ HiLink gpComment Comment
+ HiLink gpInterface Type
+ HiLink gpInput Type
+ HiLink gpInterfaceKey Statement
+ HiLink gpFunction Function
+ HiLink gpScope Type
+ " contained ones
+ HiLink gpSpecial Special
+ HiLink gpTodo Todo
+ HiLink gpArgs Type
+ delcommand HiLink
+endif
+
+let b:current_syntax = "gp"
+" vim: ts=8