Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Don't register filetype detection more than once #21

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

lieryan
Copy link

@lieryan lieryan commented Oct 1, 2020

This adds a command to avoid redefining autocmd more than once in a vim session.

Every time vim sets filetype for a new buffer, vim will re-run ftdetect.vim. The augroup in django-plus.vim's ftdetect.vim file didn't clear any of the existing commands in its augroup, so the autocmd will get registered multiple times. Indeed, this can be verified by running :autocmd filetypedetect to see that this command has been registered multiple times:

filetypedetect BufReadPost
    *        call djangoplus#detect#filetype(expand('<afile>:p'))
    *        call djangoplus#detect#filetype(expand('<afile>:p'))
    *        call djangoplus#detect#filetype(expand('<afile>:p'))
    [repeat 100 times]

I don't have measurements, but I can see a noticeable effect on the delay when opening new buffers in long running vim session with lots of open files.

@lieryan lieryan force-pushed the fix-augroup-redefinition branch from 85218ad to d8aa0fc Compare October 1, 2020 09:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant