threads / patch / 42859

patchcontrib/vim: Fix filetype detection in VIM >=7.4

Subject: [StGit PATCH] contrib/vim: Fix filetype detection in VIM >=7.4

## tl;dr

2 messages between Jul 15, 2016 and Aug 16, 2016. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Zane Bitter· Jul 15, 2016, 18:58 UTC · lore

The command "setfiletype" will not override an existing filetype. This was never a problem for me previously, but since upgrading from VIM 7.3 to 7.4 the filetype for StGit's files is explicitly set to "text", preventing the stgit ftdetect plugin overriding it. Use "setlocal filetype=" instead to ensure that we override any previously detected filetype.

Signed-off-by: Zane Bitter <zbitter@redhat.com>
---
 contrib/vim/ftdetect/stg.vim |   11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)
Show changes to contrib/vim/ftdetect/stg.vim +5 −6
diff --git a/contrib/vim/ftdetect/stg.vim b/contrib/vim/ftdetect/stg.vim
index abd4d9f..adf46dd 100644
--- a/contrib/vim/ftdetect/stg.vim
+++ b/contrib/vim/ftdetect/stg.vim
@@ -6,23 +6,22 @@
 if has("autocmd")
 
   " Detect 'stg new' files
-  autocmd BufNewFile,BufRead .stgit-new.txt       setf     stgnew
-  autocmd BufNewFile,BufRead .stgitmsg.txt        setf     stgnew
+  autocmd BufNewFile,BufRead .stgit-new.txt       setlocal filetype=stgnew
+  autocmd BufNewFile,BufRead .stgitmsg.txt        setlocal filetype=stgnew
   " Ignore the modeline so we get type 'stgnew' instead of 'diff'
   autocmd BufNewFile,BufRead .stgitmsg.txt        setlocal nomodeline
 
   " Detect 'stg edit' files
-  autocmd BufNewFile,BufRead .stgit-edit.txt      setf     stgedit
-  " Use set filetype instead of setfiletype to override detection as patch
+  autocmd BufNewFile,BufRead .stgit-edit.txt      setlocal filetype=stgedit
   autocmd BufNewFile,BufRead .stgit-edit.patch    setlocal filetype=stgedit
   autocmd BufNewFile,BufRead .stgit-edit.diff     setlocal filetype=stgedit
   autocmd BufNewFile,BufRead .stgit-failed.patch  setlocal filetype=stgedit
 
   " Detect 'stg squash' files
-  autocmd BufNewFile,BufRead .stgit-squash.txt    setf     stgsquash
+  autocmd BufNewFile,BufRead .stgit-squash.txt    setlocal filetype=stgsquash
 
   " Detect 'stg mail' files
-  autocmd BufNewFile,BufRead .stgitmail.txt       setf     stgmail
+  autocmd BufNewFile,BufRead .stgitmail.txt       setlocal filetype=stgmail
 
 
   " A modeline in a diff belongs to the diffed file, so ignore it
Catalin Marinas· Aug 16, 2016, 08:52 UTC · re: Zane Bitter · lore

Re: [StGit PATCH] contrib/vim: Fix filetype detection in VIM >=7.4

On 15 July 2016 at 19:58, Zane Bitter <zbitter@redhat.com> wrote:
Show 5 quoted lines
> The command "setfiletype" will not override an existing filetype. This was
> never a problem for me previously, but since upgrading from VIM 7.3 to 7.4
> the filetype for StGit's files is explicitly set to "text", preventing the
> stgit ftdetect plugin overriding it. Use "setlocal filetype=" instead to
> ensure that we override any previously detected filetype.
Applied. Thanks.
Catalin

← back to recent threads