macOS で emacs を使うには日本語入力周りでパッチを当てる必要があったので、長らく emacs は安定版を使っていた。そんなある日、現実逃避でググっていたら emacs 28.0.50 で macOS でも WebKit を使えるようになったと知った。
ながらく安定版をつかっていたけど、開発版に出戻りするか... / 1件のコメント https://t.co/7TIaGwguWd “MacでもEmacsでWebKitブラウザする! - つーさにブログ” (1 user) https://t.co/JaKnw0JIfd
— nabeo (@nabeo) 2021年3月3日
Linux では xwidget が使えるようになっていて、lsp-ui-doc でいい感じに Doc コメントが表示されるんだろーなーと、眺めていたのだった。
開発版の emacs のビルドが 10分くらいで終わって感動したのちに、lsp-ui の設定を以下のようにしてみた。
(use-package lsp-ui ;; [snip] :custom (lsp-ui-doc-use-childframe (featurep 'xwidget-internal)) (lsp-ui-doc-use-webkit (featurep 'xwidget-internal)) ;; [snip] )
(featurep 'xwidget-internal) しているのは環境によっては emacs 27 を使っているので、イイ感じに吸収しようとした結果です。あとは開発版から安定版にいつでも戻れるようにしておきたかったからw
CDK を TypeScript で書いているときにドキュメントが childframe で表示されてかなりイイ感じでコードがかける。xwidget-webkit-browse-url とかして URL を読み込むとキーバインドが xwidget に完全に取られて、Ctrl-g で keyboard-quit もできない状態になるけど、lsp-ui-doc 以外で使う気になっていないのであんまり困っていない。
wl で plain text と html なマルチパートメールを読む時に WebKit で html パートのほうを表示されると困るなーと思っていたけど、今のところそういうことにはなっていない。
emacs 28.0.50 にしてから3回ほど HEAD を移動させてビルドしているけど、他でも困ったことはないから、ひとまずこのまま普通に生活できそうだなー。