L3MON4D3
L3MON4D3
Hey @tjdevries, just watched part 2, great job explaining `functionNode` and the like :D Didn't expect the `vim.ui.select`-interface to `choiceNode` to show up already, really cool that you drew some...
What exactly would have to be added to luasnip to enable snippet-textedits? We have the capability to expand lsp-style snippets at the current cursor position via `luasnip.lsp_expand(snippet_body)`, is that enough?
Expanding at any position shouldn't be a problem, I could add that. I wouldn't implement lsp-communication in luasnip, but that part could be handled by rust-tools?
I added functionality to expand lsp-snippets at any position, check [here](https://github.com/L3MON4D3/LuaSnip/blob/1e6f1f8d8dc61b60e946e38a37a42ac9a5d355bd/DOC.md#L822-L824). Does that work for you?
Just realized that link doesn't actually get you anywhere, just scroll all the way down and look for `lsp_expand`
Ah, no I wouldn't like to implement that in Luasnip, srry.
> Ah, no I wouldn't like to implement that in Luasnip, srry. I'm going to backtrack on my stance here, it doesn't make sense to require each plugin that wants...
(Taking a closer look, the main problem with applying multiple textEdits is that applying them in any order may cause the lines in the textEdit to no longer correspond to...
Implemented a first version in branch `snippet_text_edits`, call as `require("luasnip.extras.lsp").apply_text_edits(edits, bufnr, offset_encoding, apply_text_edit_func)` (with `apply_text_edit_func` probably `vim.lsp.util.apply_text_edits`)
> Ok so this works pretty good, thanks for the work. Nice, you're welcome :D > One small issue though, for some reason rust-analyzer sends multiple snippet text edits in...