.agents/
.cargo/
.codex/
.config/
.gnupg/
.local/
.vim/
after/
ftplugin/
spell/
syntax/
cabal.vim
5.8 KiB
fuzzy.vim
418 B
haskell.vim
11.6 KiB
html.vim
2.9 KiB
pgsql.vim
145.6 KiB
todo.vim
601 B
bin/
etc/
images/
.dircolors
4.2 KiB
.fzy.zsh
1.1 KiB
.ghci
501 B
.gitconfig
2.2 KiB
.gitignore
0 B
.gitsigners
282 B
.ignore
136 B
.rgrc
174 B
.vimrc
12.7 KiB
.vimrc.lua
113 B
.wacom
260 B
.vim/syntax/cabal.vim
raw
| 1 | " Vim syntax file |
| 2 | " Language: Haskell Cabal Build file |
| 3 | " Maintainer: Vincent Berthoux <twinside@gmail.com> |
| 4 | " File Types: .cabal |
| 5 | " v1.4: Add benchmark support, thanks to Simon Meier |
| 6 | " v1.3: Updated to the last version of cabal |
| 7 | " Added more highlighting for cabal function, true/false |
| 8 | " and version number. Also added missing comment highlighting. |
| 9 | " Cabal known compiler are highlighted too. |
| 10 | " |
| 11 | " V1.2: Added cpp-options which was missing. Feature implemented |
| 12 | " by GHC, found with a GHC warning, but undocumented. |
| 13 | " Whatever... |
| 14 | " |
| 15 | " v1.1: Fixed operator problems and added ftdetect file |
| 16 | " (thanks to Sebastian Schwarz) |
| 17 | " |
| 18 | " v1.0: Cabal syntax in vimball format |
| 19 | " (thanks to Magnus Therning) |
| 20 | |
| 21 | " For version 5.x: Clear all syntax items |
| 22 | " For version 6.x: Quit when a syntax file was already loaded |
| 23 | if version < 600 |
| 24 | syntax clear |
| 25 | elseif exists("b:current_syntax") |
| 26 | finish |
| 27 | endif |
| 28 | |
| 29 | syn match cabalCategory "\c\<executable\>" |
| 30 | syn match cabalCategory "\c\<library\>" |
| 31 | syn match cabalCategory "\c\<benchmark\>" |
| 32 | syn match cabalCategory "\c\<test-suite\>" |
| 33 | syn match cabalCategory "\c\<source-repository\>" |
| 34 | syn match cabalCategory "\c\<flag\>" |
| 35 | |
| 36 | syn keyword cabalConditional if else |
| 37 | syn match cabalOperator "&&\|||\|!\|==\|>=\|<=" |
| 38 | syn keyword cabalFunction os arche impl flag |
| 39 | syn match cabalComment /--.*$/ |
| 40 | syn match cabalVersion "\d\+\(\.\(\d\)\+\)\+\(\.\*\)\?" |
| 41 | |
| 42 | syn match cabalTruth "\c\<true\>" |
| 43 | syn match cabalTruth "\c\<false\>" |
| 44 | |
| 45 | syn match cabalCompiler "\c\<ghc\>" |
| 46 | syn match cabalCompiler "\c\<nhc\>" |
| 47 | syn match cabalCompiler "\c\<yhc\>" |
| 48 | syn match cabalCompiler "\c\<hugs\>" |
| 49 | syn match cabalCompiler "\c\<hbc\>" |
| 50 | syn match cabalCompiler "\c\<helium\>" |
| 51 | syn match cabalCompiler "\c\<jhc\>" |
| 52 | syn match cabalCompiler "\c\<lhc\>" |
| 53 | |
| 54 | syn match cabalStatement /^\c\s*\<default-language\s*:/me=e-1 |
| 55 | syn match cabalStatement /^\c\s*\<default-extensions\s*:/me=e-1 |
| 56 | |
| 57 | syn match cabalStatement /^\c\s*\<author\s*:/me=e-1 |
| 58 | syn match cabalStatement /^\c\s*\<branch\s*:/me=e-1 |
| 59 | syn match cabalStatement /^\c\s*\<bug-reports\s*:/me=e-1 |
| 60 | syn match cabalStatement /^\c\s*\<build-depends\s*:/me=e-1 |
| 61 | syn match cabalStatement /^\c\s*\<build-tools\s*:/me=e-1 |
| 62 | syn match cabalStatement /^\c\s*\<build-type\s*:/me=e-1 |
| 63 | syn match cabalStatement /^\c\s*\<buildable\s*:/me=e-1 |
| 64 | syn match cabalStatement /^\c\s*\<c-sources\s*:/me=e-1 |
| 65 | syn match cabalStatement /^\c\s*\<cabal-version\s*:/me=e-1 |
| 66 | syn match cabalStatement /^\c\s*\<category\s*:/me=e-1 |
| 67 | syn match cabalStatement /^\c\s*\<cc-options\s*:/me=e-1 |
| 68 | syn match cabalStatement /^\c\s*\<copyright\s*:/me=e-1 |
| 69 | syn match cabalStatement /^\c\s*\<cpp-options\s*:/me=e-1 |
| 70 | syn match cabalStatement /^\c\s*\<data-dir\s*:/me=e-1 |
| 71 | syn match cabalStatement /^\c\s*\<data-files\s*:/me=e-1 |
| 72 | syn match cabalStatement /^\c\s*\<default\s*:/me=e-1 |
| 73 | syn match cabalStatement /^\c\s*\<description\s*:/me=e-1 |
| 74 | syn match cabalStatement /^\c\s*\<executable\s*:/me=e-1 |
| 75 | syn match cabalStatement /^\c\s*\<exposed-modules\s*:/me=e-1 |
| 76 | syn match cabalStatement /^\c\s*\<exposed\s*:/me=e-1 |
| 77 | syn match cabalStatement /^\c\s*\<extensions\s*:/me=e-1 |
| 78 | syn match cabalStatement /^\c\s*\<extra-lib-dirs\s*:/me=e-1 |
| 79 | syn match cabalStatement /^\c\s*\<extra-libraries\s*:/me=e-1 |
| 80 | syn match cabalStatement /^\c\s*\<extra-source-files\s*:/me=e-1 |
| 81 | syn match cabalStatement /^\c\s*\<extra-tmp-files\s*:/me=e-1 |
| 82 | syn match cabalStatement /^\c\s*\<for example\s*:/me=e-1 |
| 83 | syn match cabalStatement /^\c\s*\<frameworks\s*:/me=e-1 |
| 84 | syn match cabalStatement /^\c\s*\<ghc-options\s*:/me=e-1 |
| 85 | syn match cabalStatement /^\c\s*\<ghc-prof-options\s*:/me=e-1 |
| 86 | syn match cabalStatement /^\c\s*\<ghc-shared-options\s*:/me=e-1 |
| 87 | syn match cabalStatement /^\c\s*\<homepage\s*:/me=e-1 |
| 88 | syn match cabalStatement /^\c\s*\<hs-source-dirs\s*:/me=e-1 |
| 89 | syn match cabalStatement /^\c\s*\<hugs-options\s*:/me=e-1 |
| 90 | syn match cabalStatement /^\c\s*\<include-dirs\s*:/me=e-1 |
| 91 | syn match cabalStatement /^\c\s*\<includes\s*:/me=e-1 |
| 92 | syn match cabalStatement /^\c\s*\<install-includes\s*:/me=e-1 |
| 93 | syn match cabalStatement /^\c\s*\<ld-options\s*:/me=e-1 |
| 94 | syn match cabalStatement /^\c\s*\<license-file\s*:/me=e-1 |
| 95 | syn match cabalStatement /^\c\s*\<license\s*:/me=e-1 |
| 96 | syn match cabalStatement /^\c\s*\<location\s*:/me=e-1 |
| 97 | syn match cabalStatement /^\c\s*\<main-is\s*:/me=e-1 |
| 98 | syn match cabalStatement /^\c\s*\<maintainer\s*:/me=e-1 |
| 99 | syn match cabalStatement /^\c\s*\<module\s*:/me=e-1 |
| 100 | syn match cabalStatement /^\c\s*\<name\s*:/me=e-1 |
| 101 | syn match cabalStatement /^\c\s*\<nhc98-options\s*:/me=e-1 |
| 102 | syn match cabalStatement /^\c\s*\<other-modules\s*:/me=e-1 |
| 103 | syn match cabalStatement /^\c\s*\<package-url\s*:/me=e-1 |
| 104 | syn match cabalStatement /^\c\s*\<pkgconfig-depends\s*:/me=e-1 |
| 105 | syn match cabalStatement /^\c\s*\<stability\s*:/me=e-1 |
| 106 | syn match cabalStatement /^\c\s*\<subdir\s*:/me=e-1 |
| 107 | syn match cabalStatement /^\c\s*\<synopsis\s*:/me=e-1 |
| 108 | syn match cabalStatement /^\c\s*\<tag\s*:/me=e-1 |
| 109 | syn match cabalStatement /^\c\s*\<tested-with\s*:/me=e-1 |
| 110 | syn match cabalStatement /^\c\s*\<type\s*:/me=e-1 |
| 111 | syn match cabalStatement /^\c\s*\<version\s*:/me=e-1 |
| 112 | |
| 113 | " Define the default highlighting. |
| 114 | " For version 5.7 and earlier: only when not done already |
| 115 | " For version 5.8 and later: only when an item doesn't have highlighting yet |
| 116 | if version >= 508 || !exists("did_cabal_syn_inits") |
| 117 | if version < 508 |
| 118 | let did_cabal_syn_inits = 1 |
| 119 | command -nargs=+ HiLink hi link <args> |
| 120 | else |
| 121 | command -nargs=+ HiLink hi def link <args> |
| 122 | endif |
| 123 | |
| 124 | HiLink cabalVersion Number |
| 125 | HiLink cabalTruth Boolean |
| 126 | HiLink cabalComment Comment |
| 127 | HiLink cabalStatement Statement |
| 128 | HiLink cabalCategory Type |
| 129 | HiLink cabalFunction Function |
| 130 | HiLink cabalConditional Conditional |
| 131 | HiLink cabalOperator Operator |
| 132 | HiLink cabalCompiler Constant |
| 133 | delcommand HiLink |
| 134 | endif |
| 135 | |
| 136 | let b:current_syntax = "cabal" |
| 137 | |
| 138 | " vim: ts=8 |