I broke up with neovim....vim is my best friend now
This commit is contained in:
191
dot_vim/plugged/asyncomplete.vim/doc/asyncomplete.txt
Normal file
191
dot_vim/plugged/asyncomplete.vim/doc/asyncomplete.txt
Normal file
@@ -0,0 +1,191 @@
|
||||
*asyncomplete.vim.txt* Async autocompletion for Vim 8 and Neovim.
|
||||
*asyncomplete*
|
||||
|
||||
|
||||
===============================================================================
|
||||
CONTENTS *asyncomplete-contents*
|
||||
|
||||
1. Introduction |asyncomplete-introduction|
|
||||
2. Options |asyncomplete-options|
|
||||
3. Functions |asyncomplete-functions|
|
||||
4. Global vim configuration |asyncomplete-global-config|
|
||||
5. Known Issues |asyncomplete-known-issues|
|
||||
|
||||
===============================================================================
|
||||
1. Introduction *asyncomplete-introduction*
|
||||
|
||||
Async autocompletion for Vim 8 and Neovim with |timers|.
|
||||
|
||||
This is inspired by https://github.com/roxma/nvim-complete-manager but written
|
||||
in pure Vim Script.
|
||||
|
||||
===============================================================================
|
||||
2. Options *asyncomplete-options*
|
||||
|
||||
|
||||
g:asyncomplete_enable_for_all *g:asyncomplete_enable_for_all*
|
||||
|
||||
Type |Number|
|
||||
Default: 1
|
||||
|
||||
Enable asyncomplete for all buffers. Can be overriden with
|
||||
`b:asyncomplete_enable` on a per-buffer basis. Setting this to 0 prevents
|
||||
asyncomplete from loading upon entering a buffer.
|
||||
|
||||
b:asyncomplete_enable *b:asyncomplete_enable*
|
||||
|
||||
Type |Number|
|
||||
Default: 1
|
||||
|
||||
Setting this variable to 0 disables asyncomplete for the current buffer
|
||||
and overrides `g:asyncomplete_enable_for_all` .
|
||||
|
||||
g:asyncomplete_auto_popup *g:asyncomplete_auto_popup*
|
||||
|
||||
Type: |Number|
|
||||
Default: `1`
|
||||
|
||||
Automatically show the autocomplete popup menu as you start typing.
|
||||
|
||||
g:asyncomplete_log_file *g:asyncomplete_log_file*
|
||||
|
||||
Type: |String|
|
||||
Default: null
|
||||
|
||||
Path to log file.
|
||||
|
||||
g:asyncomplete_popup_delay *g:asyncomplete_popup_delay*
|
||||
|
||||
Type: |Number|
|
||||
Default: 30
|
||||
|
||||
Milliseconds to wait before opening the popup menu
|
||||
|
||||
g:asyncomplete_auto_completeopt *g:asyncomplete_auto_completeopt*
|
||||
|
||||
Type: |Number|
|
||||
Default: 1
|
||||
|
||||
Set default `completeopt` options. These are `menuone,noinsert,noselect`.
|
||||
This effectively overwrites what ever the user has in their config file.
|
||||
|
||||
Set to 0 to disable.
|
||||
|
||||
g:asyncomplete_preprocessor *g:asyncomplete_preprocessor*
|
||||
|
||||
Type: |Array| for zero or one |Function|
|
||||
Default: []
|
||||
|
||||
Set a function to allow custom filtering or sorting.
|
||||
Below example implements removing duplicates.
|
||||
|
||||
function! s:my_asyncomplete_preprocessor(options, matches) abort
|
||||
let l:visited = {}
|
||||
let l:items = []
|
||||
for [l:source_name, l:matches] in items(a:matches)
|
||||
for l:item in l:matches['items']
|
||||
if stridx(l:item['word'], a:options['base']) == 0
|
||||
if !has_key(l:visited, l:item['word'])
|
||||
call add(l:items, l:item)
|
||||
let l:visited[l:item['word']] = 1
|
||||
endif
|
||||
endif
|
||||
endfor
|
||||
endfor
|
||||
|
||||
call asyncomplete#preprocess_complete(a:options, l:items)
|
||||
endfunction
|
||||
|
||||
let g:asyncomplete_preprocessor = [function('s:my_asyncomplete_preprocessor')]
|
||||
|
||||
Note:
|
||||
asyncomplete#preprocess_complete() must be called synchronously.
|
||||
Plans to support async preprocessing will be supported in the future.
|
||||
|
||||
context and matches in arguments in preprecessor function should be treated
|
||||
as immutable.
|
||||
|
||||
g:asyncomplete_min_chars *g:asyncomplete_min_chars*
|
||||
|
||||
Type: |Number|
|
||||
Default: 0
|
||||
|
||||
Minimum consecutive characters to trigger auto-popup. Overridden by buffer
|
||||
variable if set (`b:asyncomplete_min_chars`)
|
||||
|
||||
g:asyncomplete_matchfuzzy *g:asyncomplete_matchfuzzy*
|
||||
|
||||
Type: |Number|
|
||||
Default: `exists('*matchfuzzypos')`
|
||||
|
||||
Use |matchfuzzypos| to support fuzzy matching of 'word' when completing
|
||||
items. Requires vim with `matchfuzzypos()` function to exists.
|
||||
|
||||
Set to `0` to disable fuzzy matching.
|
||||
|
||||
===============================================================================
|
||||
3. Functions *asyncomplete-functions*
|
||||
|
||||
asyncomplete#close_popup() *asyncomplete#close_popup()*
|
||||
|
||||
Insert selected candidate and close popup menu.
|
||||
Following example prevents popup menu from re-opening after insertion.
|
||||
>
|
||||
inoremap <expr> <C-y> pumvisible() ? asyncomplete#close_popup() : "\<C-y>"
|
||||
<
|
||||
asyncomplete#cancel_popup() *asyncomplete#cancel_popup()*
|
||||
|
||||
Cancel completion and close popup menu.
|
||||
Following example prevents popup menu from re-opening after cancellation.
|
||||
>
|
||||
inoremap <expr> <C-e> pumvisible() ? asyncomplete#cancel_popup() : "\<C-e>"
|
||||
<
|
||||
asyncomplete#get_source_info({source-name}) *asyncomplete#get_source_info()*
|
||||
|
||||
Get the source configuration info as dict.
|
||||
Below example implements a priority sort function.
|
||||
>
|
||||
function! s:sort_by_priority_preprocessor(options, matches) abort
|
||||
let l:items = []
|
||||
for [l:source_name, l:matches] in items(a:matches)
|
||||
for l:item in l:matches['items']
|
||||
if stridx(l:item['word'], a:options['base']) == 0
|
||||
let l:item['priority'] =
|
||||
\ get(asyncomplete#get_source_info(l:source_name),'priority',0)
|
||||
call add(l:items, l:item)
|
||||
endif
|
||||
endfor
|
||||
endfor
|
||||
|
||||
let l:items = sort(l:items, {a, b -> b['priority'] - a['priority']})
|
||||
|
||||
call asyncomplete#preprocess_complete(a:options, l:items)
|
||||
endfunction
|
||||
|
||||
let g:asyncomplete_preprocessor = [function('s:sort_by_priority_preprocessor')]
|
||||
<
|
||||
asyncomplete#get_source_names() *asyncomplete#get_source_names()*
|
||||
|
||||
Get the registered source names list.
|
||||
|
||||
===============================================================================
|
||||
4. Global vim configuration *asyncomplete-global-config*
|
||||
|
||||
If you notice messages like 'Pattern not found' or 'Match 1 of <N>' printed in
|
||||
red colour in vim command line and in `:messages` history and you are annoyed
|
||||
with them, try setting `shortmess` vim option in your `.vimrc` like so:
|
||||
>
|
||||
set shortmess+=c
|
||||
<
|
||||
See `:help shortmess` for details and description.
|
||||
|
||||
===============================================================================
|
||||
5. Known Issues *asyncomplete-known-issues*
|
||||
|
||||
Builtin complete such as omni func, file func flickers and closes.
|
||||
You need vim with patch v8.1.1068.
|
||||
https://github.com/vim/vim/commit/fd133323d4e1cc9c0e61c0ce357df4d36ea148e3
|
||||
|
||||
===============================================================================
|
||||
|
||||
vim:tw=78:ts=4:sts=4:sw=4:ft=help:norl:
|
||||
Reference in New Issue
Block a user