diff runtime/filetype.vim @ 22971:f39f960f3ea0 v8.2.2032

patch 8.2.2032: cabalconfig and cabalproject filetypes not recognized Commit: https://github.com/vim/vim/commit/dcbab75db3ba5e812f119e08cda6a02c6b028a14 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Nov 22 15:51:24 2020 +0100 patch 8.2.2032: cabalconfig and cabalproject filetypes not recognized Problem: Cabalconfig and cabalproject filetypes not recognized. Solution: Detect more cabal files. (Marcin Szamotulski, closes https://github.com/vim/vim/issues/7339)
author Bram Moolenaar <Bram@vim.org>
date Sun, 22 Nov 2020 16:00:04 +0100
parents f83e31419f6e
children 7160e85d62ff
line wrap: on
line diff
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -696,12 +696,21 @@ au BufNewFile,BufRead .gtkrc,gtkrc		setf
 au BufNewFile,BufRead *.haml			setf haml
 
 " Hamster Classic | Playground files
-au BufNewFile,BufRead *.hsc,*.hsm		setf hamster
+au BufNewFile,BufRead *.hsm	  		setf hamster
+au BufNewFile,BufRead *.hsc
+	\ if match(join(getline(1,10), "\n"), '\%(^\|\n\)\s*\%({-#\_s*LANGUAGE\>\|\<module\>\)') != -1 |
+	\   setf haskell |
+	\ else |
+	\   setf hamster |
+	\ endif
 
 " Haskell
 au BufNewFile,BufRead *.hs,*.hs-boot		setf haskell
 au BufNewFile,BufRead *.lhs			setf lhaskell
 au BufNewFile,BufRead *.chs			setf chaskell
+au BufNewFile,BufRead cabal.project		setf cabalproject
+au BufNewFile,BufRead $HOME/.cabal/config	setf cabalconfig
+au BufNewFile,BufRead cabal.config		setf cabalconfig
 
 " Haste
 au BufNewFile,BufRead *.ht			setf haste
@@ -2037,12 +2046,14 @@ au BufNewFile,BufRead bzr_log.*			setf b
 
 " Bazel build file
 if !has("fname_case")
-  au BufNewFile,BufRead *.BUILD,BUILD			setf bzl
+  au BufNewFile,BufRead *.BUILD,BUILD		setf bzl
 endif
 
 " BIND zone
 au BufNewFile,BufRead */named/db.*,*/bind/db.*	call s:StarSetf('bindzone')
 
+au BufNewFile,BufRead cabal.project.*		call s:StarSetf('cabalproject')
+
 " Calendar
 au BufNewFile,BufRead */.calendar/*,
 	\*/share/calendar/*/calendar.*,*/share/calendar/calendar.*