初ぷるりく

初めて海外製のOSSにプルリク送って、コントリビューターになれた話です。
vimのプラグインで、vim-markdownっていうやつ。

きっかけ

最近周りでmarkdown流行ってきているので、「乗っかり勢として僕も!」と、vimの設定を始めました。
vim-markdownっていうプラグインを入れて「markdown編集しやすくなったわーい」、とかprevimとかopen-browserとか入れて「ブラウザでmarkdownチェックできるようになったわーい」とかやってたわけです。

そんなことしてmarkdown書いてると、「なんかココの動作微妙…」っていうところがありました。
「ちょっと使いづらいし、とりあえず直してみるか」っていうのがきっかけ。

直した

その微妙な動作ってのが以下の2点。

  • インデントが半角スペース4つ
  • 改行すると勝手にインデントが1段深くなる

「しゃあないちょっと直すかー」ってことでvim scriptを軽くお勉強。
で5分後くらいに「これならオッケー」って具合にすることに成功。
ちなみにこの2つの修正はプルリク出してません。

直した後に

プラグインの設定いじって「おー、この設定するとこーなるのかー」と遊んでて、設定が反映されない部分を発見しました。
上の2つは「いや、プルリク出すの怖いし、これ出しても嬉しいの僕だけじゃないの」的なネガティブ発想から出してなかったんですが、今回の設定が反映されないっていうのはおそらく誰しもが困ります。
ということで正義のため的なノリで「プルリク出してみるか!」と。

(実はプルリクどっかに出してみたいな〜、とは思ってました。)
(けれど、「出してみたい」から「出す」になるまでの何か壁なものがあって、今回の「直さなかったら皆が困る」っていうのがいい具合な動機になってくれたかな、と。)

直した(2回目)

修正は意外と簡単で、1行修正すると直せるようなものだったのでパパッと終わりました。
で、ここからが本当の戦いで、「プルリクって、どーしたらいいの?」と。
「github プルリク 出し方」な先人の知恵をgoogle先生に教えてもらって、以下の点に気をつけろ、とのご忠告。

  • forkする
  • branch分ける
  • 修正する
  • commitまとめる
  • プルリク出す

「commitまとめる」以外は普段やってることでした。
しかも今回の修正は1commitで終わるものでまとめきれないので、思ったより楽チン。
後はcommitメッセージとプルリク出す時の英語力のみ。

英語むずい

前の講演会で「世界は割とプアイングリッシュで回ってる」と聞いていたのを思い出して「ならこっちもプアイングリッシュだ!」みたいなよく分からないノリになりながらも慎重にメッセージ記述しました。
プルリクも同様です。
結構ビビりなのでめっちゃ確認しながら…。

記述し終わって最後はボタン押して送信。
ここで17日朝4時頃。
あ、ちなみにurlはココです。

コメントもらった

で、17日の19時頃にコメントをもらいました。
要約すると、以下

僕「やあ。設定変更しても反映されないバグ直したよ。」
相手「いいね。別の場所にも似たようなのあるからそこもついでに直してよ。“g:“がdictだなんて知らなかった!」
僕「オッケー。直してcommitするね。」

そしてmerge

修正してcommitしてpushしたらすぐmergeされて、見事にコントリビューターになれましたとさ。

思っていたよりビビる必要はない

っていうのが今回の経験です。
(やってる途中はびびりまくりで、「あー出すのやめたい」とかもちょいちょい考えてたんですが、出し終わった途端にこの手の平返し。)

割とバグ修正の機会ってあるのかも、ってことで使ってるプラグインとか何かあって不満があるなら、直してみるっていうのが良いのかもって思いました。
少なくとも行動しないと得るものは少ないと思うので、やってみましょう。
技術力が…な人は先輩に聞くとか。
「この動作あまり好きじゃないんですけど、どうやったら直せますか?」とか??

とにかく、初めてプルリク出して、mergeされたのがとても嬉しくて書いた記事でした。終わり。

あ、「vim script使ったことない人がvim pluginにプルリク出すまで」ってタイトルにしとけば良かったか。