Provides async clojure completion for:
Trying to use Fireplace's omnicompletion with auto-complete is painfully slow at times, making typing blocked. Using this module will be faster as it does not block, it runs in it's own thread.
For this plugin to work, your nREPL must have CIDER available. You can install it for lein and boot.
Follow the install instructions for deoplete.nvim. Then just include with your favourite plugin manager, mine is vim-plug
Plug 'clojure-vim/async-clj-omni'
You also need to include the following line in your init.vim:
call deoplete#custom#option('keyword_patterns', {'clojure': '[\w!$%&*+/:<=>?@\^_~\-\.#]*'})
- Follow the install instructions for ncm2.
- Add this plugin using your favourite plugin manager,
Plug 'clojure-vim/async-clj-omni'
Registration:
au User asyncomplete_setup call asyncomplete#register_source({
\ 'name': 'async_clj_omni',
\ 'whitelist': ['clojure'],
\ 'completor': function('async_clj_omni#sources#complete'),
\ })
- Follow the install instructions for coc.nvim.
- Add this plugin using your favourite plugin manager,
Plug 'clojure-vim/async-clj-omni'
- Follow the install instructions for nvim-cmp.
- Add
{ name = 'async_clj_omni' }
, a complete example:cmp.setup({ sources = { { name = 'async_clj_omni' }, } })
A few snippets and tidbits for development:
:call deoplete#custom#set('async_clj', 'debug_enabled', 1)
:call deoplete#enable_logging("DEBUG", "/tmp/deopletelog")
Then you can this command to watch debug statements:
$ tail -f /tmp/deopletelog
Debug statements can be made in the source via:
self.debug(msg)
NVIM_PYTHON_LOG_FILE=logfile NVIM_PYTHON_LOG_LEVEL=DEBUG nvim
-
Why do you include nrepl-python-client via submodule.
I made the decision that it was more complex to have users try and manage a version of nrepl-python-client, than it was for them to "just" have it included. In an ideal world, I'd be able to use virtualenv with the Python/Neovim, but this isn't currently a realistic expectation for all users to be able to use.