Saturday, 2 July 2022

neovim lua

本家 vim と、neovim の差はそれほどあるわけではないらしい。本家でも lua は動く。

わけですが、nvim-agda は動かない。librart (utf8 )の位置の問題かも。動かない理由はないかも。

今までの vim-agda よりははるかにましなんですが、JumpToError が動かない。

agda は Error の位置を byte offset で送ってくるのだが、vim の API byte2line がずれる。

どうも、line attribute の分だけずれている。それは、vim のbug で 2021/1 に修正されているが

  neovim ではなおってない

あっそ。github の log で確認しました。なので、自分で書くことに

  function byte2line1(offset)
    local i = 0
    local line = 1
    while ( i <= offset ) do
      i = i + string.len(vim.fn.getline(line))
      line = line + 1
    end
    vim.api.nvim_win_set_cursor(main_win, {line , 0})
  end

で、良さそうなんだが、まだずれる。付き合いきれないですよ。

  まぁ、近いところまではいくようになったから、いいか

ってところです。

あと、xterm では、

  set mouse=a

ってのを使えるってのをいまさら発見しました。でも、cut&paste が nvim/xterm で競合するので、Shift で切り替えるのか。

No comments: