feat: more changes

This commit is contained in:
Tine Jozelj 2024-01-28 11:41:46 +01:00
parent 59f50c658e
commit a937938345
Signed by: mentos1386
SSH key fingerprint: SHA256:MNtTsLbihYaWF8j1fkOHfkKNlnN1JQfxEU/rBU8nCGw
4 changed files with 114 additions and 78 deletions

View file

@ -22,12 +22,13 @@ Plug 'koenverburg/peepsight.nvim'
Plug 'norcalli/nvim-colorizer.lua'
Plug 'j-hui/fidget.nvim'
" Git
Plug 'airblade/vim-gitgutter'
Plug 'lewis6991/gitsigns.nvim'
" Search/Files
Plug 'nvim-lua/plenary.nvim'
Plug 'nvim-telescope/telescope.nvim'
Plug 'ANGkeith/telescope-terraform-doc.nvim'
Plug 'fannheyward/telescope-coc.nvim'
Plug 'FeiyouG/commander.nvim'
" Ignore/Edit files
Plug 'vim-scripts/gitignore'
" Languages
@ -47,6 +48,7 @@ Plug 'hrsh7th/cmp-cmdline'
Plug 'hrsh7th/cmp-buffer'
Plug 'hrsh7th/cmp-path'
Plug 'hrsh7th/nvim-cmp'
Plug 'folke/trouble.nvim'
call plug#end()
@ -154,27 +156,8 @@ EOF
" Using SPACE as <leader> key
nnoremap <SPACE> <Nop>
let mapleader = " "
lua require('keybindings')
" Telescope
nnoremap <c-p> <cmd>Telescope git_files<cr>
nnoremap <leader>ff <cmd>Telescope find_files<cr>
nnoremap <leader>fg <cmd>Telescope live_grep<cr>
" Telescope git
nnoremap <leader>fgc <cmd>Telescope git_commits<cr>
nnoremap <leader>fgb <cmd>Telescope git_branches<cr>
nnoremap <leader>fgs <cmd>Telescope git_status<cr>
" Telescope Terraform
nnoremap <leader>ftf <cmd>Telescope terraform_doc<cr>
nnoremap <leader>ftm <cmd>Telescope terraform_doc modules<cr>
nnoremap <leader>ftfa <cmd>Telescope terraform_doc full_name=hashicorp/aws<cr>
nnoremap <leader>ftfk <cmd>Telescope terraform_doc full_name=hashicorp/kubernetes<cr>
" Telescope coc
nnoremap <leader>fca <cmd>Telescope coc code_actions<cr>
nnoremap <leader>fcr <cmd>Telescope coc references<cr>
nnoremap <leader>fcdi <cmd>Telescope coc diagnostics<cr>
nnoremap <leader>fcde <cmd>Telescope coc definitions<cr>
nnoremap <leader>fcds <cmd>Telescope coc document_symbols<cr>
nnoremap <leader>fcws <cmd>Telescope coc workspace_symbols<cr>
"""""
"- Visuals

View file

@ -110,7 +110,6 @@ require("mason-lspconfig").setup({
"helm_ls", -- helm
"jsonls", -- json
"tsserver", -- javascript/typescript
"autotools-language-server", -- make
"marksman", -- markdown
"vale_ls", -- markdown/prose
"swift_mesonls", -- meson
@ -133,72 +132,16 @@ require("mason-lspconfig").setup_handlers({
end,
})
local lspconfig = require("lspconfig")
local function quickfix()
vim.lsp.buf.code_action({
filter = function(a)
return a.isPreferred
end,
apply = true,
})
end
-- Global mappings.
-- See `:help vim.diagnostic.*` for documentation on any of the below functions
vim.keymap.set("n", "<space>e", vim.diagnostic.open_float)
vim.keymap.set("n", "[d", vim.diagnostic.goto_prev)
vim.keymap.set("n", "]d", vim.diagnostic.goto_next)
vim.keymap.set("n", "<space>q", vim.diagnostic.setloclist)
-- Use LspAttach autocommand to only map the following keys
-- after the language server attaches to the current buffer
vim.api.nvim_create_autocmd("LspAttach", {
group = vim.api.nvim_create_augroup("UserLspConfig", {}),
callback = function(ev)
-- Enable completion triggered by <c-x><c-o>
vim.bo[ev.buf].omnifunc = "v:lua.vim.lsp.omnifunc"
-- Buffer local mappings.
-- See `:help vim.lsp.*` for documentation on any of the below functions
local opts = { buffer = ev.buf }
vim.keymap.set("n", "<leader>qf", quickfix, opts)
vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts)
vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts)
vim.keymap.set("n", "K", vim.lsp.buf.hover, opts)
vim.keymap.set("n", "gi", vim.lsp.buf.implementation, opts)
vim.keymap.set("n", "<C-k>", vim.lsp.buf.signature_help, opts)
vim.keymap.set("n", "<space>wa", vim.lsp.buf.add_workspace_folder, opts)
vim.keymap.set("n", "<space>wr", vim.lsp.buf.remove_workspace_folder, opts)
vim.keymap.set("n", "<space>wl", function()
print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
end, opts)
vim.keymap.set("n", "<space>D", vim.lsp.buf.type_definition, opts)
vim.keymap.set("n", "<space>rn", vim.lsp.buf.rename, opts)
vim.keymap.set({ "n", "v" }, "<space>ca", vim.lsp.buf.code_action, opts)
vim.keymap.set("n", "gr", vim.lsp.buf.references, opts)
vim.keymap.set("n", "<space>f", function()
vim.lsp.buf.format({ async = true })
end, opts)
end,
})
-- Formatter
local util = require("formatter.util")
-- Provides the Format, FormatWrite, FormatLock, and FormatWriteLock commands
require("formatter").setup({
-- Enable or disable logging
logging = true,
-- Set the log level
log_level = vim.log.levels.WARN,
-- All formatter configurations are opt-in
filetype = {
-- Formatter configurations for filetype "lua" go here
-- and will be executed in order
lua = {
require("formatter.filetypes.lua").stylua,
},
javascript = {
require("formatter.filetypes.javascript").prettier,
},
@ -246,3 +189,5 @@ autocmd("BufWritePost", {
group = "__formatter__",
command = ":FormatWrite",
})
require("trouble").setup({})

View file

@ -56,3 +56,12 @@ require("peepsight").enable()
-- Transforms hex colors to their respective color
require("colorizer").setup()
-- Git blame line
require("gitsigns").setup({
current_line_blame = true,
current_line_blame_opts = {
delay = 500,
virt_text_pos = "eol",
},
})

99
nvim/lua/keybindings.lua Normal file
View file

@ -0,0 +1,99 @@
require("commander").setup({
integration = {
telescope = {
enable = true,
},
},
})
local lspconfig = require("lspconfig")
-- Use LspAttach autocommand to only map the following keys
-- after the language server attaches to the current buffer
local lsp_antach_done = false
vim.api.nvim_create_autocmd("LspAttach", {
group = vim.api.nvim_create_augroup("UserLspConfig", {}),
callback = function(ev)
-- Buffer local mappings.
-- See `:help vim.lsp.*` for documentation on any of the below functions
local opts = { buffer = ev.buf }
require("commander").add({
{
desc = "LSP Quickfix",
cmd = function()
vim.lsp.buf.code_action({
filter = function(a)
return a.kind ~= "quickfix" or a.isPreferred
end,
apply = true,
})
end,
keys = { "n", "qf", opts },
},
{ desc = "LSP Declaration", cmd = vim.lsp.buf.declaration, keys = { "n", "gD", opts } },
{ desc = "LSP Definition", cmd = vim.lsp.buf.definition, keys = { "n", "gd", opts } },
{ desc = "LSP Hover", cmd = vim.lsp.buf.hover, keys = { "n", "K", opts } },
{ desc = "LSP Rename", cmd = vim.lsp.buf.rename, keys = { "n", "rn", opts } },
{ desc = "LSP Implementation", cmd = vim.lsp.buf.implementation, keys = { "n", "gi", opts } },
{ desc = "LSP Signature Help", cmd = vim.lsp.buf.signature_help, keys = { "n", "<C-k>", opts } },
{ desc = "LSP Code Action", cmd = vim.lsp.buf.code_action, keys = { "n", "<space>ca", opts } },
{
desc = "LSP Format",
cmd = function()
vim.lsp.buf.format({ async = true })
end,
keys = { "n", "<space>f", opts },
},
{ desc = "LSP References", cmd = "<CMD>Telescope lsp_references<CR>", keys = { "n", "<leader>gr" } },
{
desc = "LSP Diagnostics",
cmd = "<CMD>Telescope diagnostics bufnr=0<CR>",
keys = { "n", "<leader>fcdi" },
},
{ desc = "LSP Definitions", cmd = "<CMD>Telescope lsp_definitions<CR>", keys = { "n", "<leader>fcde" } },
{
desc = "LSP Document Symbols",
cmd = "<CMD>Telescope lsp_document_symbols<CR>",
keys = { "n", "<leader>fcds" },
},
{
desc = "LSP Workspace Symbols",
cmd = "<CMD>Telescope lsp_workspace_symbols<CR>",
keys = { "n", "<leader>fcws" },
},
}, { show = not lsp_attach_done })
lsp_attach_done = true
end,
})
require("commander").add({
{
desc = "Open Help",
cmd = require("commander").show,
keys = { "n", "<Leader>h" },
},
{
desc = "Search for files in git",
cmd = "<CMD>Telescope git_files<CR>",
keys = { "n", "<c-p>" },
},
{ desc = "Search for files", cmd = "<CMD>Telescope find_files<CR>", keys = { "n", "<leader>ff" } },
{ desc = "Search for string", cmd = "<CMD>Telescope live_grep<CR>", keys = { "n", "<leader>fg" } },
{ desc = "Git Commits", cmd = "<CMD>Telescope git_commits<CR>", keys = { "n", "<leader>fgc" } },
{ desc = "Git Branches", cmd = "<CMD>Telescope git_branches<CR>", keys = { "n", "<leader>fgb" } },
{ desc = "Git Status", cmd = "<CMD>Telescope git_status<CR>", keys = { "n", "<leader>fgs" } },
{ desc = "Terraform Doc", cmd = "<CMD>Telescope terraform_doc<CR>", keys = { "n", "<leader>ftf" } },
{ desc = "Terraform Modules", cmd = "<CMD>Telescope terraform_doc modules<CR>", keys = { "n", "<leader>ftm" } },
{
desc = "Terraform AWS",
cmd = "<CMD>Telescope terraform_doc full_name=hashicorp/aws<CR>",
keys = { "n", "<leader>ftfa" },
},
{
desc = "Terraform Kubernetes",
cmd = "<CMD>Telescope terraform_doc full_name=hashicorp/kubernetes<CR>",
keys = { "n", "<leader>ftfk" },
},
})