diff options
| author | Santos Gallegos <stsewd@protonmail.com> | 2021-09-18 01:22:02 -0500 |
|---|---|---|
| committer | Stephan Seitz <stephan.seitz@fau.de> | 2021-09-19 14:54:45 +0200 |
| commit | 3aa122edfd795d1bba1fc3c18c99460c43970c85 (patch) | |
| tree | 894df5b0b3f59c8f4729358240d560f3d3b5aa22 /lua | |
| parent | Update lockfile.json (diff) | |
| download | nvim-treesitter-3aa122edfd795d1bba1fc3c18c99460c43970c85.tar nvim-treesitter-3aa122edfd795d1bba1fc3c18c99460c43970c85.tar.gz nvim-treesitter-3aa122edfd795d1bba1fc3c18c99460c43970c85.tar.bz2 nvim-treesitter-3aa122edfd795d1bba1fc3c18c99460c43970c85.tar.lz nvim-treesitter-3aa122edfd795d1bba1fc3c18c99460c43970c85.tar.xz nvim-treesitter-3aa122edfd795d1bba1fc3c18c99460c43970c85.tar.zst nvim-treesitter-3aa122edfd795d1bba1fc3c18c99460c43970c85.zip | |
Fix incremental selection for nodes that include EOL
From `:h setpos()`
> If "col" is smaller than 1 then 1 is used.
This can be tested with incremental selection on a vim file.
```vim
set title
```
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/nvim-treesitter/ts_utils.lua | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lua/nvim-treesitter/ts_utils.lua b/lua/nvim-treesitter/ts_utils.lua index 72a74edcc..11fb17d78 100644 --- a/lua/nvim-treesitter/ts_utils.lua +++ b/lua/nvim-treesitter/ts_utils.lua @@ -208,7 +208,8 @@ function M.update_selection(buf, node, selection_mode) -- Convert exclusive end position to inclusive if end_col == 1 then - vim.fn.setpos(".", { buf, end_row - 1, -1, 0 }) + local previous_col = vim.fn.col { end_row - 1, "$" } - 1 + vim.fn.setpos(".", { buf, end_row - 1, previous_col, 0 }) else vim.fn.setpos(".", { buf, end_row, end_col - 1, 0 }) end |
