mirror of
https://github.com/neovim/neovim.git
synced 2024-12-20 19:25:11 -07:00
133 lines
4.6 KiB
VimL
133 lines
4.6 KiB
VimL
|
" Vim syntax file
|
||
|
" Language: Haskell Cabal Build file
|
||
|
" Maintainer: Vincent Berthoux <twinside@gmail.com>
|
||
|
" File Types: .cabal
|
||
|
" Last Change: 2010 May 18
|
||
|
" v1.3: Updated to the last version of cabal
|
||
|
" Added more highlighting for cabal function, true/false
|
||
|
" and version number. Also added missing comment highlighting.
|
||
|
" Cabal known compiler are highlighted too.
|
||
|
"
|
||
|
" V1.2: Added cpp-options which was missing. Feature implemented
|
||
|
" by GHC, found with a GHC warning, but undocumented.
|
||
|
" Whatever...
|
||
|
"
|
||
|
" v1.1: Fixed operator problems and added ftdetect file
|
||
|
" (thanks to Sebastian Schwarz)
|
||
|
"
|
||
|
" v1.0: Cabal syntax in vimball format
|
||
|
" (thanks to Magnus Therning)
|
||
|
|
||
|
" 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
|
||
|
|
||
|
syn keyword cabalCategory Library library Executable executable Flag flag
|
||
|
syn keyword cabalCategory source-repository Source-Repository
|
||
|
|
||
|
syn keyword cabalConditional if else
|
||
|
syn match cabalOperator "&&\|||\|!\|==\|>=\|<="
|
||
|
syn keyword cabalFunction os arche impl flag
|
||
|
syn match cabalComment /--.*$/
|
||
|
syn match cabalVersion "\d\+\(.\(\d\)\+\)\+"
|
||
|
|
||
|
syn match cabalTruth "\ctrue"
|
||
|
syn match cabalTruth "\cfalse"
|
||
|
|
||
|
syn match cabalCompiler "\cghc"
|
||
|
syn match cabalCompiler "\cnhc"
|
||
|
syn match cabalCompiler "\cyhc"
|
||
|
syn match cabalCompiler "\chugs"
|
||
|
syn match cabalCompiler "\chbc"
|
||
|
syn match cabalCompiler "\chelium"
|
||
|
syn match cabalCompiler "\cjhc"
|
||
|
syn match cabalCompiler "\clhc"
|
||
|
|
||
|
|
||
|
syn match cabalStatement "\cauthor"
|
||
|
syn match cabalStatement "\cbranch"
|
||
|
syn match cabalStatement "\cbug-reports"
|
||
|
syn match cabalStatement "\cbuild-depends"
|
||
|
syn match cabalStatement "\cbuild-tools"
|
||
|
syn match cabalStatement "\cbuild-type"
|
||
|
syn match cabalStatement "\cbuildable"
|
||
|
syn match cabalStatement "\cc-sources"
|
||
|
syn match cabalStatement "\ccabal-version"
|
||
|
syn match cabalStatement "\ccategory"
|
||
|
syn match cabalStatement "\ccc-options"
|
||
|
syn match cabalStatement "\ccopyright"
|
||
|
syn match cabalStatement "\ccpp-options"
|
||
|
syn match cabalStatement "\cdata-dir"
|
||
|
syn match cabalStatement "\cdata-files"
|
||
|
syn match cabalStatement "\cdefault"
|
||
|
syn match cabalStatement "\cdescription"
|
||
|
syn match cabalStatement "\cexecutable"
|
||
|
syn match cabalStatement "\cexposed-modules"
|
||
|
syn match cabalStatement "\cexposed"
|
||
|
syn match cabalStatement "\cextensions"
|
||
|
syn match cabalStatement "\cextra-lib-dirs"
|
||
|
syn match cabalStatement "\cextra-libraries"
|
||
|
syn match cabalStatement "\cextra-source-files"
|
||
|
syn match cabalStatement "\cextra-tmp-files"
|
||
|
syn match cabalStatement "\cfor example"
|
||
|
syn match cabalStatement "\cframeworks"
|
||
|
syn match cabalStatement "\cghc-options"
|
||
|
syn match cabalStatement "\cghc-prof-options"
|
||
|
syn match cabalStatement "\cghc-shared-options"
|
||
|
syn match cabalStatement "\chomepage"
|
||
|
syn match cabalStatement "\chs-source-dirs"
|
||
|
syn match cabalStatement "\chugs-options"
|
||
|
syn match cabalStatement "\cinclude-dirs"
|
||
|
syn match cabalStatement "\cincludes"
|
||
|
syn match cabalStatement "\cinstall-includes"
|
||
|
syn match cabalStatement "\cld-options"
|
||
|
syn match cabalStatement "\clicense-file"
|
||
|
syn match cabalStatement "\clicense"
|
||
|
syn match cabalStatement "\clocation"
|
||
|
syn match cabalStatement "\cmain-is"
|
||
|
syn match cabalStatement "\cmaintainer"
|
||
|
syn match cabalStatement "\cmodule"
|
||
|
syn match cabalStatement "\cname"
|
||
|
syn match cabalStatement "\cnhc98-options"
|
||
|
syn match cabalStatement "\cother-modules"
|
||
|
syn match cabalStatement "\cpackage-url"
|
||
|
syn match cabalStatement "\cpkgconfig-depends"
|
||
|
syn match cabalStatement "\cstability"
|
||
|
syn match cabalStatement "\csubdir"
|
||
|
syn match cabalStatement "\csynopsis"
|
||
|
syn match cabalStatement "\ctag"
|
||
|
syn match cabalStatement "\ctested-with"
|
||
|
syn match cabalStatement "\ctype"
|
||
|
syn match cabalStatement "\cversion"
|
||
|
|
||
|
" 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_cabal_syn_inits")
|
||
|
if version < 508
|
||
|
let did_cabal_syn_inits = 1
|
||
|
command -nargs=+ HiLink hi link <args>
|
||
|
else
|
||
|
command -nargs=+ HiLink hi def link <args>
|
||
|
endif
|
||
|
|
||
|
HiLink cabalVersion Number
|
||
|
HiLink cabalTruth Boolean
|
||
|
HiLink cabalComment Comment
|
||
|
HiLink cabalStatement Statement
|
||
|
HiLink cabalCategory Type
|
||
|
HiLink cabalFunction Function
|
||
|
HiLink cabalConditional Conditional
|
||
|
HiLink cabalOperator Operator
|
||
|
HiLink cabalCompiler Constant
|
||
|
delcommand HiLink
|
||
|
endif
|
||
|
|
||
|
let b:current_syntax = "cabal"
|
||
|
|
||
|
" vim: ts=8
|