diff options
| author | Ariel D'Alessandro <dalessandro.ariel@gmail.com> | 2023-06-06 09:50:40 +0200 |
|---|---|---|
| committer | Ariel D'Alessandro <dalessandro.ariel@gmail.com> | 2023-06-06 09:51:15 +0200 |
| commit | ffc791e58370bc2119f6608ad00910ae203a758d (patch) | |
| tree | 5c4b266753cb3f4533e6f95c8b49a9798577bc70 | |
| parent | 992ab25765c3a53044e65774ae4329492fa241f7 (diff) | |
| download | nvim-conf-ffc791e58370bc2119f6608ad00910ae203a758d.tar.gz nvim-conf-ffc791e58370bc2119f6608ad00910ae203a758d.zip | |
add linter, add select to quickfix
| -rw-r--r-- | lazy-lock.json | 6 | ||||
| -rw-r--r-- | lua/alpha/lsp/null-ls.lua | 2 | ||||
| -rw-r--r-- | lua/alpha/select_to_quickfix.lua | 53 | ||||
| -rw-r--r-- | lua/config/keymaps.lua | 2 |
4 files changed, 62 insertions, 1 deletions
diff --git a/lazy-lock.json b/lazy-lock.json index c041c64..75b8ead 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -13,6 +13,7 @@ "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, "color-picker.nvim": { "branch": "master", "commit": "06cb5f853535dea529a523e9a0e8884cdf9eba4d" }, + "composer.nvim": { "branch": "main", "commit": "ec9537969adc7fc128cfe9c3a9925850455896c8" }, "dressing.nvim": { "branch": "master", "commit": "f16d7586fcdd8b2e3850d0abb7e46f944125cc25" }, "fzf": { "branch": "master", "commit": "3e9efd1401404da8afdcf9757ac9996f5c48290f" }, "fzf.vim": { "branch": "master", "commit": "5d87ac1fe8d729f116bda2f90a7211ad309ddf5a" }, @@ -23,6 +24,7 @@ "hydra.nvim": { "branch": "master", "commit": "3ced42c0b6a6c85583ff0f221635a7f4c1ab0dd0" }, "icon-picker.nvim": { "branch": "master", "commit": "e6dca182518eeb7a51470c13605a5bce08a816e4" }, "indent-blankline.nvim": { "branch": "master", "commit": "7075d7861f7a6bbf0de0298c83f8a13195e6ec01" }, + "laravel.nvim": { "branch": "main", "commit": "e6593d217ebf45236cf69f18ccf120d77b98eb7a" }, "lazy.nvim": { "branch": "main", "commit": "f145e6f42a56306c5536e9efbfe41f7efbec285d" }, "lsp-inlayhints.nvim": { "branch": "main", "commit": "3700e6458fb1702c12a7e33037fb17f649679552" }, "lspkind-nvim": { "branch": "master", "commit": "57610d5ab560c073c465d6faf0c19f200cb67e6e" }, @@ -45,7 +47,7 @@ "nvim-dap-ui": { "branch": "master", "commit": "c020f660b02772f9f3d11f599fefad3268628a9e" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "57f1dbd0458dd84a286b27768c142e1567f3ce3b" }, "nvim-dap-vscode-js": { "branch": "main", "commit": "03bd29672d7fab5e515fc8469b7d07cc5994bbf6" }, - "nvim-lspconfig": { "branch": "master", "commit": "664de12a7816dfa348bb475607edfa4fe0122025" }, + "nvim-lspconfig": { "branch": "master", "commit": "0eb508c925ab79d9136d7fcd15711368999cbf25" }, "nvim-notify": { "branch": "master", "commit": "ea9c8ce7a37f2238f934e087c255758659948e0f" }, "nvim-projectconfig": { "branch": "master", "commit": "05fd34831e170db269d1b84597615bcdcdde930e" }, "nvim-spectre": { "branch": "master", "commit": "1abe23ec9b7bc3082164f4cb842d521ef70e080e" }, @@ -55,6 +57,8 @@ "nvim-treesitter-textobjects": { "branch": "master", "commit": "23e883b99228f8d438254e5ef8c897e5e60e75d1" }, "nvim-web-devicons": { "branch": "master", "commit": "2a125024a137677930efcfdf720f205504c97268" }, "orgmode": { "branch": "master", "commit": "2737ef2be69b92fb58c6fb3861ca0bbb8f5d499e" }, + "php-code-actions.nvim": { "branch": "main", "commit": "31831cb7c3227ac00ddc7590b31f11148ff4a81c" }, + "phpactor.nvim": { "branch": "main", "commit": "0aa4ad09c2024e24d630c0ec616d65396caa39e0" }, "playground": { "branch": "master", "commit": "2b81a018a49f8e476341dfcb228b7b808baba68b" }, "plenary.nvim": { "branch": "master", "commit": "499e0743cf5e8075cd32af68baa3946a1c76adf1" }, "popup.nvim": { "branch": "master", "commit": "b7404d35d5d3548a82149238289fa71f7f6de4ac" }, diff --git a/lua/alpha/lsp/null-ls.lua b/lua/alpha/lsp/null-ls.lua index be3d4e9..931d55a 100644 --- a/lua/alpha/lsp/null-ls.lua +++ b/lua/alpha/lsp/null-ls.lua @@ -11,6 +11,8 @@ null_ls.setup { null_ls.builtins.diagnostics.luacheck, null_ls.builtins.formatting.stylua, + null_ls.builtins.diagnostics.yamllint, + -- php_actions.getter_setter, -- php_actions.file_creator, diff --git a/lua/alpha/select_to_quickfix.lua b/lua/alpha/select_to_quickfix.lua new file mode 100644 index 0000000..ebd1561 --- /dev/null +++ b/lua/alpha/select_to_quickfix.lua @@ -0,0 +1,53 @@ +local api = vim.api + +local function create_quickfix_entry(selection) + local filename, linenumber = selection:match "([^:]+):(%d+)" + + return { + filename = vim.fn.getcwd() .. "/" .. filename, + lnum = tonumber(linenumber), + col = 1, + text = filename, + } +end + +local function add_selections_to_quickfix(selections) + local quickfix_list = {} + + for _, selection in ipairs(selections) do + local entry = create_quickfix_entry(selection) + table.insert(quickfix_list, entry) + end + + vim.fn.setqflist(quickfix_list, "r") +end + +local function get_selections() + local _, end_line, _, _ = unpack(vim.fn.getpos "'>") + local _, start_line, _, _ = unpack(vim.fn.getpos "'<") + local lines = api.nvim_buf_get_lines(0, start_line - 1, end_line, false) + + local selections = {} + for _, line in ipairs(lines) do + for selection in line:gmatch "%S+" do + table.insert(selections, selection) + end + end + + return selections +end + +local function select_to_quickfix() + local selections = get_selections() + + if #selections > 0 then + add_selections_to_quickfix(selections) + print "Selections added to quickfix list" + else + print "No selections found" + end +end + +return { + handle = select_to_quickfix, +} diff --git a/lua/config/keymaps.lua b/lua/config/keymaps.lua index a8bcda0..22b786d 100644 --- a/lua/config/keymaps.lua +++ b/lua/config/keymaps.lua @@ -69,3 +69,5 @@ map( map("n", "<leader>vn", vim.diagnostic.goto_next, { desc = "Goes to next diagnostic error" }) map("n", "<leader>vp", vim.diagnostic.goto_prev, { desc = "Goes to prev diagnostic error" }) + +map("v", "<leader>q", require('alpha.select_to_quickfix').handle) |