neovimで新しくなったところまとめ

neovimは「vimを近代化させよう」というvimのforkです。

https://github.com/neovim/neovim
http://news.mynavi.jp/news/2014/02/26/097/

なかなかかっこいいので、現状どのような改修が行われたのかcommitを追いかけてみました

TL;DR

  • 開発始まったばっかりなので総Commit数まだ少ない
  • CMake使うようにした
  • ゴミ掃除とサポートしたくない環境の切り捨てをした
  • 実用段階になるには少なくとも半年以上はかかりそう

詳しく


Import vim from changeset v5628:c9cad40b4181

  • ファーストコミット
  • いらなそうなファイルとかマクロとか消したらしい
  • Cmakeにビルドを移植したらしい
  • fork元との差分はなし。あんまり丁寧じゃないね


Fix build on OSX/Archlinux and add README

  • SELinux対応面倒なのでとりあえずコメントアウト
  • OSX/Archlinuxでビルドが壊れているのを修正
  • OSXでlibintl(gettextなどから使用される)を探すように&なんか色々ハックしてる
  • Archlinuxでリンク時に-ltermcapをつけても名前が見つからずリンクできないのでtermcapを包有しているcursesをリンクすることで(-llibcurses)回避

わりと雑なハックが行われている模様


Remove more #ifdef dead code

  • 古いマクロとかさまざまな環境に対応するためのコードとかをごっそり削除
  • Mac OS 9とかBorland C++ CompilerとかMSDOSとか
  • libuvの乗り換えるためかsys/poll.hとか使うのやめている
  • GUIは別プロセスにしてTCP接続する疎結合に切り替える予定のためかGUIまわりのコード(X11, GTK, ...)もごっそり削除


Automate libuv download and build

  • libuvを自動ダウンロード&ビルドするように……ってそれmakeでやることなの? aptなりyumなりbrewなりに任せるべきでは


Add libtool to OSX installs
Add Arch dependency instructions to README.md

  • それぞれOSXとArch Linuxでのインストール手順説明の修正
  • Arch Linux向けのcommit複数あってそれぞれ別の人がやっていて流行っている感じある


include a copy of the Vim License

  • うっかり忘れていたっぽい。雑っぽい


Cleanup refactoring in main
Clean up main.c:parse_command_name


Add travis-ci configuration

  • TravisCI導入


First pass on getting build working on FreeBSD.

  • FreeBSDでビルドできるように
  • みんな自分のOSに対応させるし使ってないOSはどうでもいいということがわかっておもしろい
  • バザール開発だ


README.md: fix ubuntu/debian deps

  • 「For Ubuntu 12.04」ってなんだよ、俺はdebian使ってるんだという心の声が聞こえる
  • build-essentialはubuntuにしかないんだよ。要するに必要なのはlibtool, autoconf, g++だという心の声が聞こえる

追記: debianにもbuild-essentialはあるらしい(thx KoshianX!)。今手元のsqueezeで確認したら確かにありました。build-essentailではlibtool, autoconfは入らないようなのでそこを直したと思われる


Added 'neovim' to the feature list, following discussion on #44

  • VimLからhas("neovim")でneovimがどうか判定できるように


scripts/common.sh: remove a couple bashisms


追記:bashでしか動かないバグをbashismsというらしい(thx KoshianX!)。

シェルスクリプト詳しくないので精進します


Adding neovim formula for Homebrew
Updating README file to use Homebrew for local builds

  • Homebrewのfomula書いたぜ
> brew install neovim/neovim/neovim

でneovimが入る便利ライフに