1

I had a snippet that used to work well (neovim 0.2.0)

snippet #= "comment ===" b
# `!p snip.rv = '=' * (78 - vim.current.window.cursor[1])`
# ${1:comments} 
# `!p snip.rv = '=' * (78 - vim.current.window.cursor[1])`
endsnippet

This snippet is basically writing python comments block when triggered, where the length of "=" depends on the position of the cursor.

For a few days now (I don't know which update makes it failing), the length of "=" is decreasing as long as I type my comment.

It looks like vim.current.window.cursor[1] is constantly re-evaluated.

Any idea how to "freeze" the value?

Nic
  • 3,365
  • 3
  • 20
  • 31

1 Answers1

0

I finally found:

snippet #= "comment ===" b
`!p
if not snip.c:
    width = int(vim.eval("78 - virtcol('.')"))
snip.rv = '# ' + '=' * width`
# ${1:comments}
`!p snip.rv = '# ' + '=' * width`
endsnippet
Nic
  • 3,365
  • 3
  • 20
  • 31