-
Notifications
You must be signed in to change notification settings - Fork 30
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
Autoload an opt plugin on Filetype. #28
Comments
Currently minpac doesn't provide an easy way to load opt plugins. (Because, personally, I don't use it.) augroup PackFTLoad
autocmd!
autocmd FileType THEFILETYPE packadd PLUGINNAME
augroup END |
Other hack-around: " minautopac.vim
" Naïve autoload of packs
" See https://github.com/k-takata/minpac/issues/28
" And https://github.com/junegunn/vim-plug/blob/9813d5e/plug.vim#L271-L276
function! minautopac#add(repo, ...)
let l:opts = get(a:000, 0, {})
if has_key(l:opts, 'for')
let l:name = substitute(a:repo, '^.*/', '', '')
let l:ft = l:opts.for " TODO: support array
execut printf('autocmd FileType %s packadd %s', l:ft, l:name)
endif
endfunction
if exists('*minpac#init')
call minpac#init()
command! -nargs=+ -bar Plugin call minpac#add(<args>) | call minautopac#add(<args>)
else
" do nothing
command! -nargs=+ Plugin call minautopac#add(<args>)
endif
command! -bar PackUpdate packadd minpac | runtime minautopac.vim | call minpac#update()
command! -bar PackClean packadd minpac | runtime minautopac.vim | call minpac#clean()
runtime! OPT ftdetect/*.vim
augroup MinAutoPac
autocmd!
runtime! myplugins.vim
augroup END " myplugins.vim
Plugin 'eagletmt/neco-ghc', {'type': 'opt', 'for': 'haskell'} |
function! minautopac#add(repo, ...) abort
let l:opts = get(a:000, 0, {})
if has_key(l:opts, 'for')
let l:name = substitute(a:repo, '^.*/', '', '')
let l:ft = type(l:opts.for) == type([]) ? join(l:opts.for, ',') : l:opts.for
execut printf('autocmd FileType %s packadd %s', l:ft, l:name)
endif
endfunction |
k-takata
added a commit
that referenced
this issue
Apr 21, 2021
0fb846e avoid has_key check for on_stdout 236debf Merge pull request #43 from prabirshrestha/fix-retry c4d6144 Set waittime 8fc5956 Increment l:retry f6b87c1 Trim null 69a4a5c Merge pull request #42 from mattn/fix-null 35b369f Trim null 36e97f0 Merge pull request #41 from mattn/tcp 2addfc3 Skip neovim 625cd40 Add test for async#job#connect fa1b82d Retry a4f4005 Add async#job#connect 6102020 Add :AsyncEmbed d15123a Add default value when reading 'close_stdin' from input options bb3aceb Make `opts` argument of `async#job#send`, optional 732cf48 Pass `close_stdin` as a Dictionary rather than bool argument ab499e8 Better / safer management of non-blocking channels a0f4e4e Wait for transmit buffer to be empty, before calling `ch_close_in` ada658f Add support for sending data and closing stdin at the same time 42371b5 fix not restoring cpoptions f67ecb5 Support 'cwd' option in jobstart 627a8c4 Do NOT remove job in job_stop but on_exit 8998efb Add tests for Neovim 91c3f2b Do NOT raise E900 on invalid jobid f301455 doc: Update Embedding section 8da445b default to noblock if supported by vim 8 to avoid deadlocks causing vim to hang (#31) 4bde72e Don't use workaround (#30) ff9177c add async#job#pid() (#28) 0521409 Fix variable name in example (#19) d721851 Merge pull request #25 from prabirshrestha/add-test 633414e Use partial argument 79d54f4 Merge pull request #27 from prabirshrestha/revert-22 c980166 Revert #22 d7c52bc Fix test d5e8819 Install vim 2a883ee Fix test 519430b Add tests 7627c81 Merge pull request #24 from prabirshrestha/fix-heavy ca41dab Buffer size must be more large 300493e Merge pull request #22 from mattn/fix-block 017c6a8 Fix .travis.yml 7b1dfec Fix .travis.yml d10fdb9 Start timer to read lazy 89bec95 Add "sleep 1m" to read blocked channel git-subtree-dir: autoload/minpac git-subtree-split: 0fb846e1eb3c2bf04d52a57f41088afb3395212e
k-takata
added a commit
that referenced
this issue
Apr 21, 2021
0fb846e avoid has_key check for on_stdout 236debf Merge pull request #43 from prabirshrestha/fix-retry c4d6144 Set waittime 8fc5956 Increment l:retry f6b87c1 Trim null 69a4a5c Merge pull request #42 from mattn/fix-null 35b369f Trim null 36e97f0 Merge pull request #41 from mattn/tcp 2addfc3 Skip neovim 625cd40 Add test for async#job#connect fa1b82d Retry a4f4005 Add async#job#connect 6102020 Add :AsyncEmbed d15123a Add default value when reading 'close_stdin' from input options bb3aceb Make `opts` argument of `async#job#send`, optional 732cf48 Pass `close_stdin` as a Dictionary rather than bool argument ab499e8 Better / safer management of non-blocking channels a0f4e4e Wait for transmit buffer to be empty, before calling `ch_close_in` ada658f Add support for sending data and closing stdin at the same time 42371b5 fix not restoring cpoptions f67ecb5 Support 'cwd' option in jobstart 627a8c4 Do NOT remove job in job_stop but on_exit 8998efb Add tests for Neovim 91c3f2b Do NOT raise E900 on invalid jobid f301455 doc: Update Embedding section 8da445b default to noblock if supported by vim 8 to avoid deadlocks causing vim to hang (#31) 4bde72e Don't use workaround (#30) ff9177c add async#job#pid() (#28) 0521409 Fix variable name in example (#19) d721851 Merge pull request #25 from prabirshrestha/add-test 633414e Use partial argument 79d54f4 Merge pull request #27 from prabirshrestha/revert-22 c980166 Revert #22 d7c52bc Fix test d5e8819 Install vim 2a883ee Fix test 519430b Add tests 7627c81 Merge pull request #24 from prabirshrestha/fix-heavy ca41dab Buffer size must be more large 300493e Merge pull request #22 from mattn/fix-block 017c6a8 Fix .travis.yml 7b1dfec Fix .travis.yml d10fdb9 Start timer to read lazy 89bec95 Add "sleep 1m" to read blocked channel git-subtree-dir: autoload/minpac git-subtree-split: 0fb846e1eb3c2bf04d52a57f41088afb3395212e
k-takata
added a commit
that referenced
this issue
May 5, 2021
0fb846e avoid has_key check for on_stdout 236debf Merge pull request #43 from prabirshrestha/fix-retry c4d6144 Set waittime 8fc5956 Increment l:retry f6b87c1 Trim null 69a4a5c Merge pull request #42 from mattn/fix-null 35b369f Trim null 36e97f0 Merge pull request #41 from mattn/tcp 2addfc3 Skip neovim 625cd40 Add test for async#job#connect fa1b82d Retry a4f4005 Add async#job#connect 6102020 Add :AsyncEmbed d15123a Add default value when reading 'close_stdin' from input options bb3aceb Make `opts` argument of `async#job#send`, optional 732cf48 Pass `close_stdin` as a Dictionary rather than bool argument ab499e8 Better / safer management of non-blocking channels a0f4e4e Wait for transmit buffer to be empty, before calling `ch_close_in` ada658f Add support for sending data and closing stdin at the same time 42371b5 fix not restoring cpoptions f67ecb5 Support 'cwd' option in jobstart 627a8c4 Do NOT remove job in job_stop but on_exit 8998efb Add tests for Neovim 91c3f2b Do NOT raise E900 on invalid jobid f301455 doc: Update Embedding section 8da445b default to noblock if supported by vim 8 to avoid deadlocks causing vim to hang (#31) 4bde72e Don't use workaround (#30) ff9177c add async#job#pid() (#28) 0521409 Fix variable name in example (#19) d721851 Merge pull request #25 from prabirshrestha/add-test 633414e Use partial argument 79d54f4 Merge pull request #27 from prabirshrestha/revert-22 c980166 Revert #22 d7c52bc Fix test d5e8819 Install vim 2a883ee Fix test 519430b Add tests 7627c81 Merge pull request #24 from prabirshrestha/fix-heavy ca41dab Buffer size must be more large 300493e Merge pull request #22 from mattn/fix-block 017c6a8 Fix .travis.yml 7b1dfec Fix .travis.yml d10fdb9 Start timer to read lazy 89bec95 Add "sleep 1m" to read blocked channel git-subtree-dir: autoload/minpac git-subtree-split: 0fb846e1eb3c2bf04d52a57f41088afb3395212e
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
After reading the documentation it seems that it's the user responsibility to load opt plugins. ( with
:packadd
)Could minpac provide an API to load plugins on certain filetypes? Or is there an easy native way( besides Autocomd's) to do it?
The text was updated successfully, but these errors were encountered: