summary refs log tree commit diff
path: root/.vim/lua/telescope/_extensions/jobs.lua
diff options
context:
space:
mode:
Diffstat (limited to '.vim/lua/telescope/_extensions/jobs.lua')
-rw-r--r--.vim/lua/telescope/_extensions/jobs.lua15
1 files changed, 14 insertions, 1 deletions
diff --git a/.vim/lua/telescope/_extensions/jobs.lua b/.vim/lua/telescope/_extensions/jobs.lua
index 8caea2f..ea97ed0 100644
--- a/.vim/lua/telescope/_extensions/jobs.lua
+++ b/.vim/lua/telescope/_extensions/jobs.lua
@@ -48,8 +48,21 @@ local function list_jobs(opts)
       actions.select_default:replace(function()
         local entry = action_state.get_selected_entry()
         if not entry then return end
-        entry.value:shutdown(1, 'SIGKILL')
         actions.close(prompt_bufnr)
+        vim.ui.select(
+          {'Terminate', 'Kill', 'Show', 'Cancel'},
+          {prompt = 'Select an action:'},
+          function(choice)
+            if choice == 'Cancel' then
+              return
+            elseif choice == 'Show' then
+              vim.fn.getqflist({ id = entry.value.pid })
+            elseif choice == 'Kill' then
+              entry.value.handle:kill('sigkill')
+            elseif choice == 'Terminate' then
+              entry.value.handle:kill('sigterm')
+            end
+          end)
       end)
       return true
     end,