aboutsummaryrefslogtreecommitdiff
path: root/runtime/syntax/cabalconfig.vim
diff options
context:
space:
mode:
authorSaad Parwaiz <saad.parwaiz1@gmail.com>2021-03-03 01:44:57 +0000
committerSaad Parwaiz <saad.parwaiz1@gmail.com>2021-03-03 01:54:39 +0000
commitaf0a9da97566f5567c339a278bd620ac32dc2485 (patch)
tree6d2fc28b026d95fbfd87bca431d8c1c62cf9280b /runtime/syntax/cabalconfig.vim
parent4053b7b1ca5c3c5bda14a1e86f1d7fff671f011f (diff)
downloadrneovim-af0a9da97566f5567c339a278bd620ac32dc2485.tar.gz
rneovim-af0a9da97566f5567c339a278bd620ac32dc2485.tar.bz2
rneovim-af0a9da97566f5567c339a278bd620ac32dc2485.zip
runtime/cabal: 23515b4ef7580af8b9d3b964a558ab2007cacda5
port cabal, cabalconfig, cabalproject syntax file
Diffstat (limited to 'runtime/syntax/cabalconfig.vim')
-rw-r--r--runtime/syntax/cabalconfig.vim30
1 files changed, 30 insertions, 0 deletions
diff --git a/runtime/syntax/cabalconfig.vim b/runtime/syntax/cabalconfig.vim
new file mode 100644
index 0000000000..0165725c06
--- /dev/null
+++ b/runtime/syntax/cabalconfig.vim
@@ -0,0 +1,30 @@
+" Vim syntax file
+" Language: Cabal Config
+" Maintainer: profunctor@pm.me
+" Last Change: Marcin Szamotulski
+" Original Author: Marcin Szamotulski
+
+if exists("b:current_syntax")
+ finish
+endif
+
+syn match CabalConfigSection /^\S[[:alpha:]]\+\%(-[[:alpha:]]\+\)*[^:]*$/
+syn region CabalConfigRegion matchgroup=CabalConfigKey start=/^\s*[[:alpha:]]\+\%(-[[:alpha:]]\+\)*:/ matchgroup=NONE end=/$/ contains=CabalConfigSeparator,CabalConfigKeyword,CabalConfigPath keepend
+syn match CabalConfigComment /^\s*--.*$/
+syn match CabalConfigValue /.*$/ contained
+syn match CabalConfigKey /[[:alpha:]]\+\%(-[[:alpha:]]\+\)*\ze:/
+syn keyword CabalConfigSeparator : contained
+syn match CabalConfigVariable /\$[[:alpha:]]\+/
+syn keyword CabalConfigKeyword True False ghc
+syn match CabalConfigPath /\%([[:alpha:]]\+:\)\?\%(\/[[:print:]]\+\)\+/
+
+hi def link CabalConfigComment Comment
+hi def link CabalConfigSection Title
+hi def link CabalConfigKey Statement
+hi def link CabalConfigSeparator NonText
+hi def link CabalConfigValue Normal
+hi def link CabalConfigVariable Identifier
+hi def link CabalConfigKeyword Keyword
+hi def link CabalConfigPath Directory
+
+let b:current_syntax = "cabal.config"