Sunday 26 June 2022

さらに nvim-agda の続き

X11 xterm を black on white で使ってるわけですが、colorscheme zellner です。

大体、困ってなかったんだが、nvim-agda の色がひどくて... bg に黒に近い灰色とかやられると見えない。

black on white なのは「Projector で見やすいから」という理由ですが、ほぼ、Zoom な最近だとどっちでもいいかな。

まぁ、Sun 3 の頃からそれなので惰性もある。学生は透明なのを使ったり、whilte on black を使ったり。試行錯誤してくれ。

どこを直すかは意見の分かれるところですが、

nvim-agda/lua/agda/init.lua の

  local function translate_hl_group(name)
    if   (name == "keyword") then return "Keyword"
    elseif (name == "symbol")  then return "Normal"

このあたりか。いやでも、~/.vim/colors に colorscheme 足す方向かな。いや、気が変わるかも。

JumpToError の方は、Agda が json で送ってくるのだが、なぜか byte offset 。

  local function handle_msg(msg)
    elseif msg.kind == "JumpToError" then
      vim.api.nvim_win_set_cursor(main_win, {vim.api.nvim_eval("byte2line(" .. msg.position .. ")") ,0})

で、それっぽいんだが

  位置がずれる

agda が送ってくる byte offset は、neovim の color とかが入ってる byte offset とは異なるらしい。

いや、

  /Users/kono/src/ZF/src/zorn.agda:218,30-33                                           
  Not in scope:
   aho at /Users/kono/src/ZF/src/zorn.agda:218,30-3

と行番号は入ってるわけですよ。json でなく、エラーメッセージに。くそ〜 それを正規表現で抜き出せば。

いや、ずれるくらいはいいか。

ここまでなおすと、nivm-agda で快適かな。やっぱり、Emacs よりは vim 派なので。いや、

  学生は、もっさりな VSCode で平気

だろ。

https://github.com/ashinkarov/nvim-agda

No comments: