All Projects → Shougo → ddc.vim

Shougo / ddc.vim

Licence: MIT license
Dark deno-powered completion framework for neovim/Vim8

Programming Languages

typescript
32286 projects
Vim Script
2826 projects
Makefile
30231 projects

Projects that are alternatives of or similar to ddc.vim

denops-signature help
Shows signature help from lsp server.
Stars: ✭ 40 (-91.89%)
Mutual labels:  ddc-vim
deoplete-solargraph
deoplete.nvim source for Ruby with solargraph.
Stars: ✭ 73 (-85.19%)
Mutual labels:  auto-completion
ddu.vim
Dark deno-powered UI framework for neovim/Vim8
Stars: ✭ 232 (-52.94%)
Mutual labels:  vim-denops
denops-docker.vim
Manage Docker in Vim/Neovim
Stars: ✭ 48 (-90.26%)
Mutual labels:  vim-denops
denops-deno
🐜 Deno module for denops.vim
Stars: ✭ 16 (-96.75%)
Mutual labels:  vim-denops
coc-github
🐙 Github issue source for coc.nvim
Stars: ✭ 33 (-93.31%)
Mutual labels:  auto-completion
ddc-zsh
Zsh completion for ddc.vim
Stars: ✭ 19 (-96.15%)
Mutual labels:  ddc-vim
gin.vim
🥃 Gin makes you drunk on Git
Stars: ✭ 101 (-79.51%)
Mutual labels:  vim-denops
deno-denops-std
📚 Standard module for denops.vim
Stars: ✭ 32 (-93.51%)
Mutual labels:  vim-denops
Mycli
A Terminal Client for MySQL with AutoCompletion and Syntax Highlighting.
Stars: ✭ 10,059 (+1940.37%)
Mutual labels:  auto-completion
denops-gh.vim
Vim/Neovim plugin for GitHub
Stars: ✭ 27 (-94.52%)
Mutual labels:  vim-denops
guise.vim
🎭 Guise is a Vim/Neovim plugin that opens a new tab page rather than invokes a new nested instance when a user tried to open a new Vim/Neovim through a job or terminal on the instance.
Stars: ✭ 71 (-85.6%)
Mutual labels:  vim-denops
auto-auto-complete
Autogenerate shell auto-completion scripts
Stars: ✭ 30 (-93.91%)
Mutual labels:  auto-completion
pum.vim
Original popup completion menu framework library
Stars: ✭ 53 (-89.25%)
Mutual labels:  ddc-vim
dps-kakkonan
Brackets completion plugin, using the denops.vim.
Stars: ✭ 22 (-95.54%)
Mutual labels:  vim-denops
ddc-buffer
Buffer source for ddc.vim
Stars: ✭ 21 (-95.74%)
Mutual labels:  ddc-vim
Jmp
You'll never use the cd cmd again.
Stars: ✭ 21 (-95.74%)
Mutual labels:  auto-completion
dps-ghosttext.vim
GhostText plugin powered by denops.vim
Stars: ✭ 20 (-95.94%)
Mutual labels:  vim-denops
ddc-around
Around completion for ddc.vim
Stars: ✭ 39 (-92.09%)
Mutual labels:  ddc-vim
Deoplete.nvim
🌠 Dark powered asynchronous completion framework for neovim/Vim8
Stars: ✭ 5,739 (+1064.1%)
Mutual labels:  auto-completion

ddc.vim

Dark deno-powered completion framework for neovim/Vim8

If you don't want to configure plugins, you don't have to use the plugin. It does not work with zero configuration. You can use other plugins.

Doc

Please read help for details.

Ddc is the abbreviation of "dark deno-powered completion". It provides an extensible and asynchronous completion framework for neovim/Vim8.

Note: I have created Japanese article for ddc.vim. After that I have created the next article Japanese article for both ddc.vim and pum.vim recently. You can read them by translation service.

The development is supported by github sponsors. Thank you!

Introduction

I have chosen denops.vim framework to create new plugin. Because denops.vim is better than neovim Python interface.

  • Easy to setup
  • Minimal dependency
  • Stability
  • neovim/Vim8 compatibility
  • Speed
  • Library
  • Easy to hack

Install

Note: Ddc.vim requires Neovim (0.6.0+ and of course, latest is recommended) or Vim 8.2.0662. See requirements if you aren't sure whether you have this.

For vim-plug

call plug#begin()

Plug 'Shougo/ddc.vim'
Plug 'vim-denops/denops.vim'

" Install your UIs
"Plug 'Shougo/ddc-ui-native'

" Install your sources
"Plug 'Shougo/ddc-source-around'

" Install your filters
"Plug 'Shougo/ddc-matcher_head'
"Plug 'Shougo/ddc-sorter_rank'

call plug#end()

For dein.vim

call dein#begin()

call dein#add('Shougo/ddc.vim')
call dein#add('vim-denops/denops.vim')

" Install your UIs
"call dein#add('Shougo/ddc-ui-native')

" Install your sources
"call dein#add('Shougo/ddc-source-around')

" Install your filters
"call dein#add('Shougo/ddc-matcher_head')
"call dein#add('Shougo/ddc-sorter_rank')

call dein#end()

Note: Ddc.vim does not include any UIs, sources and filters. You must install them which you want manually. You can search ddc plugins(sources and filters) from here.

Requirements

Ddc.vim requires both Deno and denops.vim.

Configuration

" Customize global settings

" You must set the default ui.
" Note: native ui
" https://github.com/Shougo/ddc-ui-native
call ddc#custom#patch_global('ui', 'native')

" Use around source.
" https://github.com/Shougo/ddc-source-around
call ddc#custom#patch_global('sources', ['around'])

" Use matcher_head and sorter_rank.
" https://github.com/Shougo/ddc-matcher_head
" https://github.com/Shougo/ddc-sorter_rank
call ddc#custom#patch_global('sourceOptions', {
      \ '_': {
      \   'matchers': ['matcher_head'],
      \   'sorters': ['sorter_rank']},
      \ })

" Change source options
call ddc#custom#patch_global('sourceOptions', {
      \ 'around': {'mark': 'A'},
      \ })
call ddc#custom#patch_global('sourceParams', {
      \ 'around': {'maxSize': 500},
      \ })

" Customize settings on a filetype
call ddc#custom#patch_filetype(['c', 'cpp'], 'sources', ['around', 'clangd'])
call ddc#custom#patch_filetype(['c', 'cpp'], 'sourceOptions', {
      \ 'clangd': {'mark': 'C'},
      \ })
call ddc#custom#patch_filetype('markdown', 'sourceParams', {
      \ 'around': {'maxSize': 100},
      \ })

" Mappings

" <TAB>: completion.
inoremap <silent><expr> <TAB>
\ pumvisible() ? '<C-n>' :
\ (col('.') <= 1 <Bar><Bar> getline('.')[col('.') - 2] =~# '\s') ?
\ '<TAB>' : ddc#map#manual_complete()

" <S-TAB>: completion back.
inoremap <expr><S-TAB>  pumvisible() ? '<C-p>' : '<C-h>'

" Use ddc.
call ddc#enable()

See :help ddc-options for a complete list of options.

Screenshots

Please see: #32

nvim-lsp

command line completion

Plans

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].