ddu.vim icon indicating copy to clipboard operation
ddu.vim copied to clipboard

Dark deno-powered UI framework for neovim/Vim

ddu.vim

Dark deno-powered UI 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.

Note: I have created Japanese article for ddu.vim.

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

The development is supported by github sponsors. Thank you!

  • Introduction
  • Install
    • Requirements
  • Configuration
  • Screenshots

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: Ddu.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 'vim-denops/denops.vim'
Plug 'Shougo/ddu.vim'

" Install your UIs

" Install your sources

" Install your filters

" Install your kinds

" Install your columns

call plug#end()

For dein.vim

call dein#begin()

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

" Install your UIs

" Install your sources

" Install your filters

" Install your kinds

" Install your columns

call dein#end()

Note: Ddu.vim does not include any extra plugins. You must install them you want manually. You can search ddu plugins from here.

Requirements

Ddu.vim requires both Deno and denops.vim.

Configuration

" You must set the default ui.
" Note: ff ui
" https://github.com/Shougo/ddu-ui-ff
call ddu#custom#patch_global({
    \ 'ui': 'ff',
    \ })

" You must set the default action.
" Note: file kind
" https://github.com/Shougo/ddu-kind-file
call ddu#custom#patch_global({
    \   'kindOptions': {
    \     'file': {
    \       'defaultAction': 'open',
    \     },
    \   }
    \ })

" Specify matcher.
" Note: matcher_substring filter
" https://github.com/Shougo/ddu-filter-matcher_substring
call ddu#custom#patch_global({
    \   'sourceOptions': {
    \     '_': {
    \       'matchers': ['matcher_substring'],
    \     },
    \   }
    \ })

" Set default sources
" Note: file source
" https://github.com/Shougo/ddu-source-file
"call ddu#custom#patch_global({
"    \ 'sources': [{'name': 'file', 'params': {}}],
"    \ })

" Call default sources
"call ddu#start({})

" Set name specific configuration
"call ddu#custom#patch_local('files', {
"    \ 'sources': [
"    \   {'name': 'file', 'params': {}},
"    \   {'name': 'file_old', 'params': {}},
"    \ ],
"    \ })

" Specify name
"call ddu#start({'name': 'files'})

" Specify source with params
" Note: file_rec source
" https://github.com/Shougo/ddu-source-file_rec
"call ddu#start({'sources': [
"    \ {'name': 'file_rec', 'params': {'path': expand('~')}}
"    \ ]})

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

Screenshots

Please see: https://github.com/Shougo/ddu.vim/issues/10

ddu.vim

Plans

  • [ ] XXX