]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 8.2.1055: no filetype set for pacman config files v8.2.1055
authorBram Moolenaar <Bram@vim.org>
Thu, 25 Jun 2020 17:53:24 +0000 (19:53 +0200)
committerBram Moolenaar <Bram@vim.org>
Thu, 25 Jun 2020 17:53:24 +0000 (19:53 +0200)
Problem:    No filetype set for pacman config files.
Solution:   Recognize pacman.conf and *.hook. (Guido Cella, closes #6335)

runtime/filetype.vim
src/testdir/test_filetype.vim
src/version.c

index cd1c509d6ef9aaa77f376a840647f3cf76c5688c..a6c8956542fd4c214bf3b2e242486509031b1af1 100644 (file)
@@ -1134,8 +1134,17 @@ au BufNewFile,BufRead *.ora                      setf ora
 " Packet filter conf
 au BufNewFile,BufRead pf.conf                  setf pf
 
+" Pacman Config (close enough to dosini)
+au BufNewFile,BufRead */etc/pacman.conf                setf dosini
+
+" Pacman hooks
+au BufNewFile,BufRead *.hook
+       \ if getline(1) == '[Trigger]' |
+       \   setf dosini |
+       \ endif
+
 " Pam conf
-au BufNewFile,BufRead */etc/pam.conf           setf pamconf
+au BufNewFile,BufRead */etc/pam.conf                   setf pamconf
 
 " Pam environment
 au BufNewFile,BufRead pam_env.conf,.pam_environment    setf pamenv
index 6d245ae12f1c8f40eeac90cfd74093e609c07220..38339aefec1c3da2b45a40937a9f2bf308a732f4 100644 (file)
@@ -139,7 +139,7 @@ let s:filename_checks = {
     \ 'dnsmasq': ['/etc/dnsmasq.conf'],
     \ 'dockerfile': ['Containerfile', 'Dockerfile', 'file.Dockerfile'],
     \ 'dosbatch': ['file.bat', 'file.sys'],
-    \ 'dosini': ['.editorconfig', '/etc/yum.conf', 'file.ini'],
+    \ 'dosini': ['.editorconfig', '/etc/pacman.conf', '/etc/yum.conf', 'file.ini'],
     \ 'dot': ['file.dot', 'file.gv'],
     \ 'dracula': ['file.drac', 'file.drc', 'filelvs', 'filelpe'],
     \ 'dsl': ['file.dsl'],
@@ -665,4 +665,22 @@ func Test_filetype_indent_off()
   close
 endfunc
 
+func Test_hook_file()
+  filetype on
+
+  call writefile(['[Trigger]', 'this is pacman config'], 'Xfile.hook')
+  split Xfile.hook
+  call assert_equal('dosini', &filetype)
+  bwipe!
+
+  call writefile(['not pacman'], 'Xfile.hook')
+  split Xfile.hook
+  call assert_notequal('dosini', &filetype)
+  bwipe!
+
+  call delete('Xfile.hook')
+  filetype off
+endfunc
+
+
 " vim: shiftwidth=2 sts=2 expandtab
index 536d27d44ca893d8b41c906f1a80ab65d6c4c948..11ec7637e6a2b62eae276e08fb3907edaa96de4a 100644 (file)
@@ -754,6 +754,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1055,
 /**/
     1054,
 /**/