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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Toshikazu Ohashi
November 03, 2019
Programming
450
0
Share
Connect with many developers from the small plugin
VimConf2019 Lightning talk
Toshikazu Ohashi
November 03, 2019
More Decks by Toshikazu Ohashi
See All by Toshikazu Ohashi
無自覚にメンバーの心理的安全性を奪っていた経験から得た学び
lighttiger2505
161
220k
黒画面が最高のしごと道具である3つの理由
lighttiger2505
0
2.2k
Golangで作るSQL Language Server(sqls)
lighttiger2505
1
980
作ってわかる現代のVimのAutoComplete ~そしてVimConf2019へ~
lighttiger2505
3
1.8k
自社サービスのDjangoを 1.3から1.11(LTS)に アップグレードするまでの道のり
lighttiger2505
6
3.7k
LSPがもたらしたVimプラグインの変化に思いを馳せる
lighttiger2505
2
1.6k
ターミナルアプリケーションとしてのVim
lighttiger2505
0
620
Go Language Server 使うべし
lighttiger2505
5
2.1k
Goで作るインタラクティブなCLIコマンドとそのデザイン
lighttiger2505
0
1k
Other Decks in Programming
See All in Programming
今こそ押さえておきたい アマゾンウェブサービス(AWS)の データベースの基礎 おもクラ #6版
satoshi256kbyte
1
230
AI時代の脳疲弊と向き合う ~言語学としてのPHP~
sakuraikotone
1
1.8k
PHP でエミュレータを自作して Ubuntu を動かそう
m3m0r7
PRO
2
170
ファインチューニングせずメインコンペを解く方法
pokutuna
0
280
How Swift's Type System Guides AI Agents
koher
0
190
PCOVから学ぶコードカバレッジ #phpcon_odawara
o0h
PRO
0
240
瑠璃の宝石に学ぶ技術の声の聴き方 / 【劇場版】アニメから得た学びを発表会2026 #エンジニアニメ
mazrean
0
190
PHPで TLSのプロトコルを実装してみるをもう一度しゃべりたい
higaki_program
0
180
見せてもらおうか、 OpenSearchの性能とやらを!
shunta27
1
180
「接続」—パフォーマンスチューニングの最後の一手 〜点と点を結ぶ、その一瞬のために〜
kentaroutakeda
5
2.5k
Going Multiplatform with Your Android App (Android Makers 2026)
zsmb
2
360
의존성 주입과 모듈화
fornewid
0
120
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8k
Six Lessons from altMBA
skipperchong
29
4.2k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
330
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
250
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
240
Building Flexible Design Systems
yeseniaperezcruz
330
40k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
250
Facilitating Awesome Meetings
lara
57
6.8k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
53k
RailsConf 2023
tenderlove
30
1.4k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
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