Slide 1

Slide 1 text

Connect with many developers from the small plugin VimConf 2019 Lightning Talk @lighttiger2505

Slide 2

Slide 2 text

deoplete-vim-lsp • Completion source for deoplete.nvim • Get a completion candidate from language server via vim-lsp

Slide 3

Slide 3 text

Demo

Slide 4

Slide 4 text

It's a small plugin • deoplete-vim-lsp is small amount of source code • Python: 175 step • Vim script: 32 step

Slide 5

Slide 5 text

Big developer experience • Suppurt completion all languages • Required language server • High performance completion • Heavy processing is executed asynchronously

Slide 6

Slide 6 text

Why ? I only write a little code

Slide 7

Slide 7 text

The answer is in the architecture of deoplete-vim-lsp

Slide 8

Slide 8 text

Archtecture deoplete-vim-lsp (Request completion) NeoVim deoplete.nvim deoplete-vim-lsp vim-lsp Language Server TextChange call getter_candidates() call lsp#send_request() textDocument/ Completion

Slide 9

Slide 9 text

deoplete-vim-lsp NeoVim deoplete.nvim vim-lsp Language Server Archtecture deoplete-vim-lsp (Receive completion candidate) call complete() call deoplete#auto_complete() call handle_completion() response

Slide 10

Slide 10 text

Meny depends • deoplete-vim-lsp dose not work alone • Completion Management • deoplete.nvim • Language Server Client • vim-lsp

Slide 11

Slide 11 text

Feel so a connection with the developers • If any of these are missing deoplete-vim-lsp does not exist • I have noticed that you are supported by many developers • Everything was connected !!!

Slide 12

Slide 12 text

Connections Everything started with Vim Vim

Slide 13

Slide 13 text

Connections NeoVim Vim NeoVim was created with Vim as the fork. NeoVim had a new feature called remote plugin

Slide 14

Slide 14 text

Connections NeoVim Vim deoplete.nvim deoplete.nvim was created as completion manager created by remote plugin

Slide 15

Slide 15 text

Connections NeoVim Vim deoplete.nvim LSP Langage server protocol(LSP) creates providing a high level of support for any programming language in any editor.

Slide 16

Slide 16 text

Connections NeoVim Vim deoplete.nvim LSP vim-lsp vim-lsp was created as Vim language server client

Slide 17

Slide 17 text

Connections NeoVim Vim deoplete.nvim LSP vim-lsp deoplete-vim-lsp I created deoplete-vim-lsp to use vim- lsp completion in deoplete.nvim

Slide 18

Slide 18 text

Summry • deoplete-vim-lsp is small plugin • Because other plugins already have the necessary features • I'm helped by the ecosystem of Vim created by the developers

Slide 19

Slide 19 text

Thanks to all Vim developers

Slide 20

Slide 20 text

About me • @lighttiger2505 (Toshikazu Ohashi) • Server Side Engineer (iRidge inc) • Created Many CLI Commands • Created deoplete-vim-lsp