aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAriel D'Alessandro <dalessandro.ariel@gmail.com>2023-06-06 09:50:40 +0200
committerAriel D'Alessandro <dalessandro.ariel@gmail.com>2023-06-06 09:51:15 +0200
commitffc791e58370bc2119f6608ad00910ae203a758d (patch)
tree5c4b266753cb3f4533e6f95c8b49a9798577bc70
parent992ab25765c3a53044e65774ae4329492fa241f7 (diff)
downloadnvim-conf-ffc791e58370bc2119f6608ad00910ae203a758d.tar.gz
nvim-conf-ffc791e58370bc2119f6608ad00910ae203a758d.zip
add linter, add select to quickfix
-rw-r--r--lazy-lock.json6
-rw-r--r--lua/alpha/lsp/null-ls.lua2
-rw-r--r--lua/alpha/select_to_quickfix.lua53
-rw-r--r--lua/config/keymaps.lua2
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)