Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/vim73/syntax/cabal.vim
diff options
context:
space:
mode:
Diffstat (limited to 'vim73/syntax/cabal.vim')
-rw-r--r--vim73/syntax/cabal.vim132
1 files changed, 132 insertions, 0 deletions
diff --git a/vim73/syntax/cabal.vim b/vim73/syntax/cabal.vim
new file mode 100644
index 0000000..4130bac
--- /dev/null
+++ b/vim73/syntax/cabal.vim
@@ -0,0 +1,132 @@
+" 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