mirror of
https://github.com/sheerun/vim-polyglot.git
synced 2025-11-15 23:13:50 -05:00
Add syntax files from upstream vim repository
This commit is contained in:
87
syntax/gp.vim
Normal file
87
syntax/gp.vim
Normal file
@@ -0,0 +1,87 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vim') == -1
|
||||
|
||||
" Vim syntax file
|
||||
" Language: gp (version 2.5)
|
||||
" Maintainer: Karim Belabas <Karim.Belabas@math.u-bordeaux.fr>
|
||||
" Last change: 2012 Jan 08
|
||||
" URL: http://pari.math.u-bordeaux.fr
|
||||
|
||||
" quit when a syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" control statements
|
||||
syntax keyword gpStatement break return next
|
||||
syntax keyword gpConditional if
|
||||
syntax keyword gpRepeat until while for fordiv forell forprime
|
||||
syntax keyword gpRepeat forsubgroup forstep forvec
|
||||
" storage class
|
||||
syntax keyword gpScope my local global
|
||||
" defaults
|
||||
syntax keyword gpInterfaceKey breakloop colors compatible
|
||||
syntax keyword gpInterfaceKey datadir debug debugfiles debugmem
|
||||
syntax keyword gpInterfaceKey echo factor_add_primes factor_proven format
|
||||
syntax keyword gpInterfaceKey graphcolormap graphcolors
|
||||
syntax keyword gpInterfaceKey help histfile histsize
|
||||
syntax keyword gpInterfaceKey lines linewrap log logfile new_galois_format
|
||||
syntax keyword gpInterfaceKey output parisize path prettyprinter primelimit
|
||||
syntax keyword gpInterfaceKey prompt prompt_cont psfile
|
||||
syntax keyword gpInterfaceKey readline realprecision recover
|
||||
syntax keyword gpInterfaceKey secure seriesprecision simplify strictmatch
|
||||
syntax keyword gpInterfaceKey TeXstyle 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 "[{}]"
|
||||
|
||||
|
||||
hi def link gpConditional Conditional
|
||||
hi def link gpRepeat Repeat
|
||||
hi def link gpError Error
|
||||
hi def link gpParenError gpError
|
||||
hi def link gpInParen gpError
|
||||
hi def link gpStatement Statement
|
||||
hi def link gpString String
|
||||
hi def link gpComment Comment
|
||||
hi def link gpInterface Type
|
||||
hi def link gpInput Type
|
||||
hi def link gpInterfaceKey Statement
|
||||
hi def link gpFunction Function
|
||||
hi def link gpScope Type
|
||||
" contained ones
|
||||
hi def link gpSpecial Special
|
||||
hi def link gpTodo Todo
|
||||
hi def link gpArgs Type
|
||||
|
||||
let b:current_syntax = "gp"
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
" vim: ts=8
|
||||
|
||||
endif
|
||||
Reference in New Issue
Block a user