Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Neovimのリモートプラグインとはなんなのか、あるいはTypeScriptでのNeovimプラグイン実装について / Developing Remote Plugin in TypeScript

Neovimのリモートプラグインとはなんなのか、あるいはTypeScriptでのNeovimプラグイン実装について / Developing Remote Plugin in TypeScript

yuki-yano

July 10, 2020
Tweet

More Decks by yuki-yano

Other Decks in Programming

Transcript

  1. Who is me • yuki-ycino (Yuki Yano) • WebΤϯδχΞʢओʹTypeScriptɾRailsɾͦͷଞϑϧελοΫؾຯʣ •

    Vimྺ7೥͘Β͍ • झຯ • ओʹϑϩϯτΤϯυͷαʔϏε։ൃ • VimϓϥάΠϯͷ։ൃ • ࠷ۙ͸େ൒͕fzfΛ࢖ͬͨϓϥάΠϯ
  2. Output • DXΛେ෯ʹ௿Լͤ͞ΔDocker for MacΛࣺͯͯ Mac࠷଎ͷDocker؀ڥΛखʹೖΕΔ https://qiita.com/yuki_ycino/items/cb21cf91a39ddd61f484 • tmuxΛޮ཰Α͘࢖ͬͯ։ൃΛര଎ʹ͢Δ࠷ߴͷઃఆ https://qiita.com/yuki_ycino/items/ef5e6b63c8f9af2f03c0

    • Electron + Vue + flowtypeͰ࠷ߴͷը૾Λऩू͢ΔͨΊͷ TwitterΫϥΠΞϯτΛ࡞ͬͨ https://qiita.com/yuki_ycino/items/9a2f7feef947c4c258ac • Dockerʹ͍ͭͯجຊ͔Β࠷ۙ௥Ճ͞Εͨػೳ·Ͱ·ͱΊ https://qiita.com/yuki_ycino/items/b94ae2bf7d78685cd6f5
  3. ࣮૷ͨ͠ϓϥάΠϯʹ͍ͭͯ • fzf-preview.vim • Pure Vim script͔ΒRemote Plugin΁ͷҠߦ • ࠓिv2ͱͯ͠Remote

    PluginΛϦϦʔε͠·ͨ͠ • https://github.com/yuki-ycino/fzf-preview.vim • Scrapboxʢ։ൃϝϞʣ • https://scrapbox.io/fzf-preview/ • Vim script 1500ߦ → TypeScript 3500ߦ + Vim script 500ߦ
  4. TypeScript։ൃͷϝϦοτ 1/2 • ࠷ۙ࢖ΘΕ͍ͯΔݴޠͰ͸τοϓΫϥεʹ։ൃ؀ڥ΍ΤίγεςϜ͕ڧྗ • npm package • tsserver, eslint,

    prettier, jest… • coc.nvim • ڧྗͳܕγεςϜͱLinterͰόάͷࠞೖΛࣄલʹ๷͛Δ • ۃྗTypeScriptͷੈքͰ࣮૷Λ׬݁ͤ͞Δ
  5. ࣮ࡍʹ࢖༻ͨ͠ύοέʔδ • Redux • State container • yargs • Args

    parser • lodash • Modern utility library • Jest • Testing framework
  6. TypeScript։ൃͷσϝϦοτ • FuncRef͕࢖͑ͳ͍ • Vim script͔ΒFuncRef͕ड͚औΕͳ͍ • ࡞੒ͨؔ͠਺ͷFuncRef͕ੜ੒Ͱ͖ͳ͍ • ݺͼग़͠ຖʹঢ়ଶ͕ॳظԽ͞ΕΔ

    • fzfͷίʔϧόοΫʹొ࿥ͨ͠΢Οϯυ΢ੜ੒ؔ਺͕࣮ߦ࣌ʹԿނ͔Τϥʔ ʹͳΔʢNeovimຊମ಺ͰൃੜɺݪҼෆ໌ʣ