Re: [RFC/PATCH] remove vim syntax highlighting in favor of upstream
- From
SZEDER Gábor <szeder@ira.uka.de>
- Date
- Sep 25, 2008, 12:48 UTC
- Message-ID
- <20080925124817.GC6816@neumann>
- In-Reply-To
- <20080924195658.GB6816@neumann>
Hi,
OK, so I'm complaining a bit.
On Wed, Sep 24, 2008 at 09:56:58PM +0200, SZEDER Gábor wrote:
Show 17 quoted lines
> +To install:
> +
> + 1. Copy these files to vim's syntax directory $HOME/.vim/syntax
> + 2. Auto-detect the editing of various git-related filetypes:
> + $ cat >>$HOME/.vimrc <<'EOF'
> + autocmd BufNewFile,BufRead *.git/COMMIT_EDITMSG setf gitcommit
> + autocmd BufNewFile,BufRead *.git/config,.gitconfig setf gitconfig
> + autocmd BufNewFile,BufRead git-rebase-todo setf gitrebase
> + autocmd BufNewFile,BufRead .msg.[0-9]*
> + \ if getline(1) =~ '^From.*# This line is ignored.$' |
> + \ setf gitsendemail |
> + \ endif
> + autocmd BufNewFile,BufRead *.git/**
> + \ if getline(1) =~ '^\x\{40\}\>\|^ref: ' |
> + \ setf git |
> + \ endif
> + EOFThere are issues with this second step. If I append this code to my .vimrc, then vim sometimes overrides the filetype with conf.
vim has a guessing rule for detecting conf files, which triggers if one of the first five lines of the file begins with a '#'. So if I start to write a new commit message or I interactively rebase 4 or less commits, then this rule triggers and vim overrides the git filetype with filetype conf. If I do a commit --amend with a long enough original commit message or an interactive rebase with more than 4 commit, then this rule no more triggers and everything is fine.
But what's really puzzling is that if I insert the above code into $VIMRUNTIME/filetype.vim (at the spot where it can be found in vim 7.2's filetype.vim), then everything works as expected, git filetypes are never overridden.
This is not related to the changes in this patch. git's original vim syntax highlight for commit messages has the exact same behaviour.
The first step is OK: it doesn't matter whether I put git-related syntax files under $HOME/.vim/syntax/ or under $VIMRUNTIME/syntax/.
I'm using vim 7.1.138 in Ubuntu 8.04.
Anyone have a clue?
Thanks, Gábor