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
260
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
黒画面が最高のしごと道具である3つの理由
lighttiger2505
0
160
Golangで作るSQL Language Server(sqls)
lighttiger2505
1
640
作ってわかる現代のVimのAutoComplete ~そしてVimConf2019へ~
lighttiger2505
3
1.4k
自社サービスのDjangoを 1.3から1.11(LTS)に アップグレードするまでの道のり
lighttiger2505
6
3.2k
LSPがもたらしたVimプラグインの変化に思いを馳せる
lighttiger2505
2
1.2k
ターミナルアプリケーションとしてのVim
lighttiger2505
0
460
Go Language Server 使うべし
lighttiger2505
5
1.9k
Goで作るインタラクティブなCLIコマンドとそのデザイン
lighttiger2505
0
660
GUI is not fast enough!! (GUIには速さが足りないっ!!)
lighttiger2505
0
470
Other Decks in Programming
See All in Programming
Microservices rules (July 2024) : what good looks like
cer
PRO
0
1.6k
Cloudflare Workers x AWS Lambdaの組み合わせユースケース / Cloudflare Workers x AWS Lambda Combination Use Case
seike460
PRO
2
310
社内 LT 会を発足し、アウトプット文化を醸成させるために考えたこと・やったこと / Starting internal LT meetings and fostering an output culture
mackey0225
3
120
最古の関数型言語「Lisp」ことはじめ / lisp_in_kamiyama
uhooi
1
190
ピグパーティにおけるMongoDB CommunityバージョンからAtlasへの移行事例
10969hotaka
0
130
さきがけから振り返るアーキテクチャ刷新 / Reflecting on the Architectural Renewal from the Vanguard
nrslib
2
770
Harnessing Large Language Models for Training-free Video Anomaly Detection
tereka114
1
1.3k
CSC307 Lecture 09
javiergs
PRO
1
500
AHC035解説
terryu16
0
710
Product Management LT会_クアンド新家
shinshin
0
210
英語
s_shimotori
1
220
コード生成を伴うLLMエージェント - 2024.07.18 Tokyo AI
smiyawaki0820
11
4.1k
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
31
4.7k
Debugging Ruby Performance
tmm1
71
11k
Faster Mobile Websites
deanohume
303
30k
The MySQL Ecosystem @ GitHub 2015
samlambert
248
12k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
16
1.6k
What's in a price? How to price your products and services
michaelherold
239
11k
YesSQL, Process and Tooling at Scale
rocio
166
14k
For a Future-Friendly Web
brad_frost
173
9.2k
Imperfection Machines: The Place of Print at Facebook
scottboms
262
13k
A better future with KSS
kneath
231
17k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
What’s in a name? Adding method to the madness
productmarketing
PRO
21
2.9k
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