" Vim syntax file " Language: Haskell Cabal Build file " Maintainer: Vincent Berthoux " 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 else command -nargs=+ HiLink hi def link 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