diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2025-07-12 21:00:14 -0400 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2025-07-12 21:00:14 -0400 |
| commit | 6a4755ec3ee4c8214d76bf8b0461534490df47dd (patch) | |
| tree | 681d3e2557544e7008dba8644a98f0f37a1f2b37 /init.lua | |
| parent | 05f2d8e253c3523e63ea08018f8bb9d23f6659b5 (diff) | |
| download | vis-lspc-6a4755ec3ee4c8214d76bf8b0461534490df47dd.tar.gz vis-lspc-6a4755ec3ee4c8214d76bf8b0461534490df47dd.zip | |
add autoconfirm_edits configuration option
Some language servers replace the whole file content on an edit, thus producing potentially really big diffs not suitable for review and user confirmation.
So some users may just accept the changes proposed from the language server.
Diffstat (limited to 'init.lua')
| -rw-r--r-- | init.lua | 34 |
1 files changed, 18 insertions, 16 deletions
@@ -487,27 +487,29 @@ local function vis_apply_workspaceEdit(_, _, workspaceEdit) end end - -- generate change summary - local summary = '--- workspace edit summary ---\n' - for uri, edits in pairs(file_edits) do - local path = uri_to_path(uri) - summary = summary .. path .. ':\n' - for i, edit in ipairs(edits) do - summary = summary .. '\t' .. i .. '.: ' .. lspc.json.encode(edit) .. '\n' + if not lspc.autoconfirm_edits then + -- generate change summary + local summary = '--- workspace edit summary ---\n' + for uri, edits in pairs(file_edits) do + local path = uri_to_path(uri) + summary = summary .. path .. ':\n' + for i, edit in ipairs(edits) do + summary = summary .. '\t' .. i .. '.: ' .. lspc.json.encode(edit) .. '\n' + end end - end - lspc_show_message(summary) - vis:redraw() + lspc_show_message(summary) + vis:redraw() - -- get user confirmation - local confirmation = lspc_confirm('apply changes:') + -- get user confirmation + local confirmation = lspc_confirm('apply changes:') - -- close summary window - lspc_close_message_win() + -- close summary window + lspc_close_message_win() - if not confirmation then - return + if not confirmation then + return + end end -- apply changes to open files |
