読者です 読者をやめる 読者になる 読者になる

poshcomplete-vim の補完方法とかいろいろ変更した

備忘録

いろいろ変更して自分でも、よく分からなくなりそうなので備忘録的に書く

cd01/poshcomplete-vim

screencast

ローカルサーバを立てるようにした

最初に作ったときは、PowerShellスクリプトで補完候補を標準出力して、 その結果から補完していたけど、それだと、補完候補を更新するたびに、 PowerShell が起動するので遅かった。
OmniSharp を見てみると、Nancy という .NETSinatra ライクなフレームワーク を使ってローカルサーバを立てて、そこから補完候補を取得するようになってた ので、ローカルサーバに POST して、補完候補を JSON で取得するようにしたら、 かなり速度が改善した。

いちいちローカルサーバを立てるのが面倒だけど、 call poshcomplete#StartServer() を呼び出すと、バックグラウンドで実行し続けるようにできた(要 vimproc)ので、 面倒なので、タスクスケジューラで vim.exe -c "set ft=ps1 | call poshcomplete#StartServer() | q" とか起動してると面倒くさくないから、とりあえずそうしてみている。
常に起動していても、30MB くらいしかメモリ食わないので、 Chrome とかインストールしてると起動してなくても、なんかメモリ食いまくってたりするので、 30MB くらいなら、まあいいかという感じ。

自動でローカルサーバを起動するようにすると、思ったよりイベントが発生してたりして、 今度は起動がモッサリしてウザかったので、自分で起動するようにしてる。

補完できるものが増えた

@sgur さんが、いろいろ試してくれていて、そういったものをいくつか取り込ませてもらった。
その中で、 CommandCompletion.MapStringInputToParsedInput というのがあって、これを使うようにしたので、 以前は、コマンドレットとオプションくらいしか補完できなかったので、 定義済みの変数とか、オブジェクトの持っているメソッドとかも補完できるようになった。

AppVeyor

AppVeyor でテストを回すようにした。
Vim プラグインのテストを AppVeyor 上で動かすのに困っていたけど、thinca さんの themis.vim のおかげで、できるようになった。
ついで、ビルドしたものとかをまとめて ZIP ファイルにすることもできるようになったので、 とりあえずインストールしてもらうのとかは、ちょっとラクになった気がする。
ただ、それを使うと、ローカルサーバを立てる exe ファイルを起動するときに セキュリティの警告が出るので、それを解除しないと、 call poshcomplete#StartServer() できない。

Requirements

  • ローカルサーバとやりとりしたり、JSON 使いたかったので、if_python 使ってみてたけど、 webapi-vim を使うことにした。
    • なのでついでに、curlwget が必要
  • vimproc も使ってるけど、ローカルサーバを起動するときくらいにしか使ってないので、ローカルサーバさえ起動すれば、 なくても動く。

その他

  • ここで書いているのは、バージョンとしては、0.0 から、0.1 にしたときのもの

僕の IRKit の LED が眩しすぎる

電子工作 Gadgets

IRKit 買ったけど、LED が眩しくて、常時 ON にするのが辛い感じだった。
ネット見てたら、 つくる人を増やす:学習リモコン IRKit 開発者インタビュー - Engadget Japanese

ー 青い LED が常時点いていて眩しいというコメントはよくありますけど。
そのコメントは多くて、3月から発売しているやつはLEDの光を弱めました。
ー それは物理的にですか?
そうですね、抵抗値を替えました。

とあって、3月以前に買ったので、光を弱める前のやつを持ってるらしい。
IRKit は GitHub で中身を公開してるので、そういった変更がないかなあと見てみると、 make full color led darker · c09d185 · irkit/device という変更を見つけた。
自力で抵抗変えるにしても、どのくらいがベストかっていうのを調べるのは、 なかなか大変なので、このまま真似してみることにした。

とりあえず、チップ抵抗買おうと思ったけど、50個で3000円のやつとかしか見つけられなくて、 手持ちのハンダこても、あまり細かい作業に向いてなさそうなのしか持ってないので、カーボン抵抗買った。

で、付けてみたら、かなり雑な感じになってしまったけど、そこまで眩しすぎる感じではなくなったので、 まあ、こんなもんかといったところ。

f:id:cd01:20140621185032j:plain

もしかしたら、もうちょい暗い方が、寝るときとかに気にならないかもと、ちょっと思ったけど、 そのへんの微調整は、抵抗付け替えるのも、まあまあ大変なので、 減光シール で良いかなあと。

追記

結局,まぶしかったので,青のところだけ断線させて使ってる.

LED 減光シールを買ってみた

いろいろなガジェット的なものが増えてくると、結構な割合でアホほど眩しい LED が付いてきて、 目が疲れやすくなる感じがするし、気が散るし、寝ようと思って電気を消しても、 結構明るいままで眠りづらくなったりしてイラっとくる。
特に青の LED が、色的にも目に厳しくて、ブルーライトとは何だったのか?となってしまう。

それで油性マジックで黒く塗りつぶしたりしていたけど、LED を減光させる用のシールが Amazon に売られていたので買ってみた。

カメラで撮ると雰囲気が結構変わってしまうけど、だいたい下のような感じで減光できる感じ。
ただ LED の輝度が高すぎると、一枚貼っても、あんまり変わった気がしないので、重ねて貼ったりした。
あと、粘着部分が結構ベタつきそうなので、糊が残るのが嫌な場合使えない。

銀色のを買ったけど、黒のもあるっぽい

特に注があるものを除いて、このサイトの内容物は Creative Commons Licence 表示 - 非営利 - 継承 2.1 のもとでライセンスされています。

© 2015 cd01