Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Connect with many developers from the small plugin
Search
Toshikazu Ohashi
November 03, 2019
Programming
0
440
Connect with many developers from the small plugin
VimConf2019 Lightning talk
Toshikazu Ohashi
November 03, 2019
Tweet
Share
More Decks by Toshikazu Ohashi
See All by Toshikazu Ohashi
無自覚にメンバーの心理的安全性を奪っていた経験から得た学び
lighttiger2505
159
220k
黒画面が最高のしごと道具である3つの理由
lighttiger2505
0
2.2k
Golangで作るSQL Language Server(sqls)
lighttiger2505
1
950
作ってわかる現代のVimのAutoComplete ~そしてVimConf2019へ~
lighttiger2505
3
1.8k
自社サービスのDjangoを 1.3から1.11(LTS)に アップグレードするまでの道のり
lighttiger2505
6
3.7k
LSPがもたらしたVimプラグインの変化に思いを馳せる
lighttiger2505
2
1.5k
ターミナルアプリケーションとしてのVim
lighttiger2505
0
600
Go Language Server 使うべし
lighttiger2505
5
2.1k
Goで作るインタラクティブなCLIコマンドとそのデザイン
lighttiger2505
0
970
Other Decks in Programming
See All in Programming
Fragmented Architectures
denyspoltorak
0
150
FOSDEM 2026: STUNMESH-go: Building P2P WireGuard Mesh Without Self-Hosted Infrastructure
tjjh89017
0
160
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
140
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.8k
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
450
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
190
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
120
CSC307 Lecture 07
javiergs
PRO
0
550
AgentCoreとHuman in the Loop
har1101
5
230
なるべく楽してバックエンドに型をつけたい!(楽とは言ってない)
hibiki_cube
0
140
今から始めるClaude Code超入門
448jp
8
8.6k
「ブロックテーマでは再現できない」は本当か?
inc2734
0
960
Featured
See All Featured
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
410
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
450
Building Flexible Design Systems
yeseniaperezcruz
330
40k
What's in a price? How to price your products and services
michaelherold
247
13k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
240
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
220
4 Signs Your Business is Dying
shpigford
187
22k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
820
Done Done
chrislema
186
16k
Crafting Experiences
bethany
1
48
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
Transcript
Connect with many developers from the small plugin VimConf 2019
Lightning Talk @lighttiger2505
deoplete-vim-lsp • Completion source for deoplete.nvim • Get a completion
candidate from language server via vim-lsp
Demo
It's a small plugin • deoplete-vim-lsp is small amount of
source code • Python: 175 step • Vim script: 32 step
Big developer experience • Suppurt completion all languages • Required
language server • High performance completion • Heavy processing is executed asynchronously
Why ? I only write a little code
The answer is in the architecture of deoplete-vim-lsp
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
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
Meny depends • deoplete-vim-lsp dose not work alone • Completion
Management • deoplete.nvim • Language Server Client • vim-lsp
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 !!!
Connections Everything started with Vim Vim
Connections NeoVim Vim NeoVim was created with Vim as the
fork. NeoVim had a new feature called remote plugin
Connections NeoVim Vim deoplete.nvim deoplete.nvim was created as completion manager
created by remote plugin
Connections NeoVim Vim deoplete.nvim LSP Langage server protocol(LSP) creates providing
a high level of support for any programming language in any editor.
Connections NeoVim Vim deoplete.nvim LSP vim-lsp vim-lsp was created as
Vim language server client
Connections NeoVim Vim deoplete.nvim LSP vim-lsp deoplete-vim-lsp I created deoplete-vim-lsp
to use vim- lsp completion in deoplete.nvim
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
Thanks to all Vim developers
About me • @lighttiger2505 (Toshikazu Ohashi) • Server Side Engineer
(iRidge inc) • Created Many CLI Commands • Created deoplete-vim-lsp