From d13d84aba83bbd672d54db624a7940ff6b1bd5d6 Mon Sep 17 00:00:00 2001 From: Daniil Tsivinsky Date: Fri, 14 Oct 2022 21:23:28 +0300 Subject: [PATCH] neovim: add remap to open error on stackoverflow --- neovim/.config/nvim/after/plugin/remaps.lua | 1 + neovim/.config/nvim/lua/daniil/utils.lua | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/neovim/.config/nvim/after/plugin/remaps.lua b/neovim/.config/nvim/after/plugin/remaps.lua index d29844e..8e03cb9 100644 --- a/neovim/.config/nvim/after/plugin/remaps.lua +++ b/neovim/.config/nvim/after/plugin/remaps.lua @@ -110,6 +110,7 @@ vim.keymap.set("n", "dp", function() vim.diagnostic.goto_prev({ float = false }) end) vim.keymap.set("n", "do", ":lopen") +vim.keymap.set("n", "ds", u.open_error_on_stackoverflow) -- Git vim.keymap.set("n", "gg", ":G") diff --git a/neovim/.config/nvim/lua/daniil/utils.lua b/neovim/.config/nvim/lua/daniil/utils.lua index 5bdd108..0da625b 100644 --- a/neovim/.config/nvim/lua/daniil/utils.lua +++ b/neovim/.config/nvim/lua/daniil/utils.lua @@ -130,4 +130,15 @@ function M.get_colorscheme() end end +function M.open_error_on_stackoverflow() + local diagnostics = vim.lsp.diagnostic.get_line_diagnostics() + local selected_diagnostic = M.select_diagnostic(diagnostics, "Select diagnostic to open on Stack Overflow") + + local url = string.format("https://stackoverflow.com/search?q=%s", selected_diagnostic) + + M.open_url_in_browser(url) + + M.yank(selected_diagnostic) +end + return M