Skip to content

Instantly share code, notes, and snippets.

@daisuzu
Created November 13, 2019 10:19
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save daisuzu/36d6d2237b4042b8c5fbc934fa688cb5 to your computer and use it in GitHub Desktop.
Save daisuzu/36d6d2237b4042b8c5fbc934fa688cb5 to your computer and use it in GitHub Desktop.
ゴリラ.vim #10 非公式VimConf後夜祭 girls.vimと合同開催

VimConf 2019 を振り返る

girls.vim vol.3
ゴリラ.vim #10
daisuzu

tagstackの話をしてきました

タイトル: Usage and manipulation of the tag stack
内容: @_a0iさんのグラレコ

Vimのタグ機能

続くセッションでも取り上げられていてちょっとビックリしました。

きっかけ

vim-lspを使う → Not enough → Write Vim script → Pull Request
こんな感じの流れは Your Vim is Only for You にありましたね。

ちなみに最初のKeynoteはvim-lsp作者のPrabir ShresthaさんによるVim Renaissanceでした。

調査でやったこと

  • ソースを読む

    • コマンド系はex_cmds.hex_docmd.cあたり
      • :tag / :pop
    • 関数系はevalfunc.c
      • gettagstack() / settagstack()
  • デバッグする

  • あたりをつけるのにカバレッジを使うことも

  • tagstackの変化をひたすら見る

command! TSD :call TSdump()
function! TSdump()
  echom 'gettagstack() = ' . string(gettagstack())
  echom ':tags'|for l in split(execute('tags'), "\n")|echom l|endfo
endfunction

gettagstack() / settagstack()

もちろんNeovimでも使えます。
2つ目のKeynoteはNeovimメンテナのJustin M. KeyesさんによるWe can have nice thingsでした。

そしてsettagstack()はさっそく活用してくれた人がいました。

deniteのtagstack対応

My dark plugins development history ~ over 10 years ~ で紹介されていたdenite

作者のShougoさんはtagstack対応をしようと思ったけど複雑なので諦めたとのこと...
なのでコントリビュートしてくれる人を募集中だそうです。

コントリビュートといえば Grown up from Vim User to Vim plugin developer side ですね。

The next OSS contributer is ...
You !!!

このスライドについて

showtimeというプラグインを使っています。

実は 13 Vim plugins I use every day のプラグイン一覧の中にありました。

ところで今日はゴリラ.vim

ゴリラ.vimといえばゴリラさん。
My Vim life の中でも紹介されていました。

また、「Vimが好きになる本」ではレビュアーとして協力させていただきました。

何が言いたいのかというと

Vimmerの輪を大事にしたい!!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment