# echodoc.vim Displays function signatures from completions in the command line. ![example](https://cloud.githubusercontent.com/assets/111942/19444981/a076d748-9460-11e6-851c-f249f8110b3b.gif) ## Installation Use a package manager and follow its instructions. Note: echodoc requires v:completed_item feature. It is added in Vim 7.4.774. ### Global options |Flag |Default |Description | |-----------------------------------|-------------------|------------------------------------------------------------------------------------------------------------------| |`g:echodoc#enable_at_startup` |`0` |If the value of this variable is non-zero, `echodoc` is automatically enabled at startup. | |`g:echodoc#type` |` "echo"` |Where the documentation is displayed. Choose between:` "echo"`,` "signature"`, `"virtual" `or `"floating"` | |`g:echodoc#events` |`['CompleteDone']` |If the `autocmd-events` are fired, echodoc is enabled. | |`g:echodoc#floating_config` |`{}` |The configuration for the floating window. | |`g:echodoc#highlight_identifier` |`"Identifier"` |The highlight of identifier. | |`g:echodoc#highlight_arguments` |`"Special"` |The highlight of current argument. | |`g:echodoc#highlight_trailing` |`"Type"` |The highlight of trailing. | ## Type "echo" Usage When using ```vim let g:echodoc#type = "echo" " Default value ``` The command line is used to display `echodoc` text. This means that you will either need to `set noshowmode` or `set cmdheight=2`. Otherwise, the `-- INSERT --` mode text will overwrite `echodoc`'s text. When you accept a completion for a function with ``, `echodoc` will display the function signature in the command line and highlight the argument position your cursor is in. ## Examples Option 1: ```vim " To use echodoc, you must increase 'cmdheight' value. set cmdheight=2 let g:echodoc_enable_at_startup = 1 ``` Option 2: ```vim " Or, you could disable showmode alltogether. set noshowmode let g:echodoc_enable_at_startup = 1 ``` Option 3: ```vim " Or, you could use neovim's virtual virtual text feature. let g:echodoc#enable_at_startup = 1 let g:echodoc#type = 'virtual' ``` Option 4: ```vim " Or, you could use neovim's floating window feature. let g:echodoc#enable_at_startup = 1 let g:echodoc#type = 'floating' " You could configure the behaviour of the floating window like below: let g:echodoc#floating_config = {'border': 'single'} " To use a custom highlight for the float window, " change Pmenu to your highlight group highlight link EchoDocFloat Pmenu ``` Option 5: ```vim " Or, you could use vim's popup window feature. let g:echodoc#enable_at_startup = 1 let g:echodoc#type = 'popup' " To use a custom highlight for the popup window, " change Pmenu to your highlight group highlight link EchoDocPopup Pmenu ```