Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Connect with many developers from the small plugin
Toshikazu Ohashi
November 03, 2019
Programming
0
140
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
Golangで作るSQL Language Server(sqls)
lighttiger2505
1
340
作ってわかる現代のVimのAutoComplete ~そしてVimConf2019へ~
lighttiger2505
3
820
自社サービスのDjangoを 1.3から1.11(LTS)に アップグレードするまでの道のり
lighttiger2505
7
2.4k
LSPがもたらしたVimプラグインの変化に思いを馳せる
lighttiger2505
2
940
ターミナルアプリケーションとしてのVim
lighttiger2505
0
410
Go Language Server 使うべし
lighttiger2505
5
1.5k
Goで作るインタラクティブなCLIコマンドとそのデザイン
lighttiger2505
0
440
GUI is not fast enough!! (GUIには速さが足りないっ!!)
lighttiger2505
0
390
Other Decks in Programming
See All in Programming
バンドル最適化マニアクス at tfconf
mizchi
3
2.1k
Jakarta EE 10 is Coming Your Way
ivargrimstad
0
2.2k
About Type Syntax Proposal
quramy
1
1k
Is Rust a great language for building Kubernetes ecosystem
deepu105
0
140
Android Architecture Design With Koin
agiuliani
0
230
tfcon2022_Web3Dひとめぐり.pdf
emadurandal
0
840
SPA/MPA 議論の俯瞰と 現代における設計のポイント - #tfcon 2022 フロントエンド設計
ahomu
3
1.6k
Let's make a contract: the art of designing a Java API
mariofusco
0
160
読みやすいコードを書こう
yutorin
0
390
Licences open source : entre guerre de clochers et radicalité
pylapp
1
160
Where and how to run UI tests (Droidcon London, 2021)
nonews
0
210
ゴーファーくんと学ぶGo言語の世界/golang-world-with-gopher
iwasiman
1
150
Featured
See All Featured
Optimizing for Happiness
mojombo
365
63k
The Language of Interfaces
destraynor
148
20k
Building Applications with DynamoDB
mza
83
4.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
268
11k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
237
19k
WebSockets: Embracing the real-time Web
robhawkes
57
5k
StorybookのUI Testing Handbookを読んだ
zakiyama
4
2k
BBQ
matthewcrist
74
7.9k
Practical Orchestrator
shlominoach
178
8.6k
Intergalactic Javascript Robots from Outer Space
tanoku
261
25k
Six Lessons from altMBA
skipperchong
14
1.3k
Documentation Writing (for coders)
carmenhchung
48
2.5k
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