view runtime/syntax/cabalconfig.vim @ 32539:cb37dba68329 v9.0.1601

patch 9.0.1601: filetype detection fails for *.conf file without comments Commit: https://github.com/vim/vim/commit/664fd12aa27a3c6bd19cfa474c4630d6c03fcc61 Author: zeertzjq <zeertzjq@outlook.com> Date: Sat Jun 3 17:56:30 2023 +0100 patch 9.0.1601: filetype detection fails for *.conf file without comments Problem: Filetype detection fails for *.conf file without comments. (Dmitrii Tcyganok) Solution: Use "conf" filetype as a fallback for an empty .conf file. (closes #12487, closes #12483)
author Bram Moolenaar <Bram@vim.org>
date Sat, 03 Jun 2023 19:00:04 +0200
parents 29c5f168c6fd
children
line wrap: on
line source

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