/runtime/syntax/ave.vim
https://bitbucket.org/wolever/vim72-logging · Vim Script · 92 lines · 40 code · 25 blank · 27 comment · 7 complexity · 0830bf2d8b330b562bd0356e3abeb4c8 MD5 · raw file
- " Vim syntax file
- " Copyright by Jan-Oliver Wagner
- " Language: avenue
- " Maintainer: Jan-Oliver Wagner <Jan-Oliver.Wagner@intevation.de>
- " Last change: 2001 May 10
- " Avenue is the ArcView built-in language. ArcView is
- " a desktop GIS by ESRI. Though it is a built-in language
- " and a built-in editor is provided, the use of VIM increases
- " development speed.
- " I use some technologies to automatically load avenue scripts
- " into ArcView.
- " For version 5.x: Clear all syntax items
- " For version 6.x: Quit when a syntax file was already loaded
- if version < 600
- syntax clear
- elseif exists("b:current_syntax")
- finish
- endif
- " Avenue is entirely case-insensitive.
- syn case ignore
- " The keywords
- syn keyword aveStatement if then elseif else end break exit return
- syn keyword aveStatement for each in continue while
- " String
- syn region aveString start=+"+ end=+"+
- " Integer number
- syn match aveNumber "[+-]\=\<[0-9]\+\>"
- " Operator
- syn keyword aveOperator or and max min xor mod by
- " 'not' is a kind of a problem: Its an Operator as well as a method
- " 'not' is only marked as an Operator if not applied as method
- syn match aveOperator "[^\.]not[^a-zA-Z]"
- " Variables
- syn keyword aveFixVariables av nil self false true nl tab cr tab
- syn match globalVariables "_[a-zA-Z][a-zA-Z0-9]*"
- syn match aveVariables "[a-zA-Z][a-zA-Z0-9_]*"
- syn match aveConst "#[A-Z][A-Z_]+"
- " Comments
- syn match aveComment "'.*"
- " Typical Typos
- " for C programmers:
- syn match aveTypos "=="
- syn match aveTypos "!="
- " Define the default highlighting.
- " For version 5.7 and earlier: only when not done already
- " For version 5.8 and later: only when an item doesn't have highlighting+yet
- if version >= 508 || !exists("did_ave_syn_inits")
- if version < 508
- let did_ave_syn_inits = 1
- command -nargs=+ HiLink hi link <args>
- else
- command -nargs=+ HiLink hi def link <args>
- endif
- HiLink aveStatement Statement
- HiLink aveString String
- HiLink aveNumber Number
- HiLink aveFixVariables Special
- HiLink aveVariables Identifier
- HiLink globalVariables Special
- HiLink aveConst Special
- HiLink aveClassMethods Function
- HiLink aveOperator Operator
- HiLink aveComment Comment
- HiLink aveTypos Error
- delcommand HiLink
- endif
- let b:current_syntax = "ave"