view runtime/syntax/cabal.vim @ 10048:43efa4f5a8ea

commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Aug 30 23:26:57 2016 +0200 Updated runtime files. Remove version checks for Vim older than 6.0.
author Christian Brabandt <cb@256bit.org>
date Tue, 30 Aug 2016 23:30:09 +0200
parents a8afba7027ae
children 46763b01cd9a
line wrap: on
line source

" 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)

" quit when a syntax file was already loaded
if 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.
" Only when an item doesn't have highlighting yet
command -nargs=+ HiLink hi def link <args>

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

let b:current_syntax = "cabal"

" vim: ts=8