Better modules

This commit is contained in:
juanmagalhaes 2023-08-16 00:12:13 -03:00
parent 5721e692da
commit 39dfc1554a
21 changed files with 368 additions and 373 deletions

View file

@ -0,0 +1,38 @@
return function(buffer)
local nmap = require("core.utils").createNmap({
buffer = buffer,
desc = 'LSP: ',
})
nmap('<leader>rn', vim.lsp.buf.rename, '[R]e[n]ame')
nmap('<leader>ca', vim.lsp.buf.code_action, '[C]ode [A]ction')
nmap('gd', vim.lsp.buf.definition, '[G]oto [D]efinition')
nmap('gr', require('telescope.builtin').lsp_references, '[G]oto [R]eferences')
nmap('gI', vim.lsp.buf.implementation, '[G]oto [I]mplementation')
nmap('<leader>D', vim.lsp.buf.type_definition, 'Type [D]efinition')
nmap('<leader>ds', require('telescope.builtin').lsp_document_symbols, '[D]ocument [S]ymbols')
nmap('<leader>ws', require('telescope.builtin').lsp_dynamic_workspace_symbols, '[W]orkspace [S]ymbols')
-- See `:help K` for why this keymap
nmap('M', vim.lsp.buf.hover, 'Hover Documentation')
nmap('<C-m>', vim.lsp.buf.signature_help, 'Signature Documentation')
-- Lesser used LSP functionality
nmap('gD', vim.lsp.buf.declaration, '[G]oto [D]eclaration')
nmap('<leader>wa', vim.lsp.buf.add_workspace_folder, '[W]orkspace [A]dd Folder')
nmap('<leader>wr', vim.lsp.buf.remove_workspace_folder, '[W]orkspace [R]emove Folder')
nmap('<leader>wl', function()
print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
end, '[W]orkspace [L]ist Folders')
-- nvim-ufo mappings
nmap("zR", require("ufo").openAllFolds, "Open All Folds")
nmap("zM", require("ufo").closeAllFolds, "Close All Folds")
nmap("zj", function()
local winid = require("ufo").peekFoldedLinesUnderCursor()
if not winid then
vim.lsp.buf.hover()
end
end, "Peek At Current Fold")
end

View file

@ -0,0 +1,8 @@
return function(buffer, cmds)
local nmap = require("core.utils").createNmap({
buffer = buffer,
desc = 'LSP: ',
})
nmap('<leader>oi', cmds.organize_imports, 'OrganizeImports')
end

View file

View file

@ -0,0 +1,16 @@
local function fuzzyFindFiles()
require('telescope.builtin').grep_string({
path_display = { 'smart' },
only_sort_text = true,
word_match = "-w",
search = '',
})
end
vim.keymap.set('n', '<C-p>', require('telescope.builtin').git_files, { desc = 'Search [G]it [F]iles' })
vim.keymap.set('n', 'K', require('telescope.builtin').grep_string, { desc = '[S]earch current [W]ord' })
vim.keymap.set('n', '<C-a>', fuzzyFindFiles, { desc = '[S]earch by [G]rep' })
vim.keymap.set('n', '<C-s>', require('telescope.builtin').live_grep, { desc = '[S]earch Live Exact Match' })
vim.keymap.set('n', '<leader>sh', require('telescope.builtin').help_tags, { desc = '[S]earch [H]elp' })
vim.keymap.set('n', '<leader>sf', require('telescope.builtin').find_files, { desc = '[S]earch [F]iles' })
vim.keymap.set('n', '<leader>sd', require('telescope.builtin').diagnostics, { desc = '[S]earch [D]iagnostics' })

View file

@ -0,0 +1,37 @@
-- [[ General Keymaps ]]
vim.keymap.set({ 'n', 'v' }, '<Space>', '<Nop>', { silent = true })
-- Remap for dealing with word wrap
vim.keymap.set('n', 'k', "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true })
vim.keymap.set('n', 'j', "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true })
-- Stop yanking on paste
vim.keymap.set('x', 'p', 'P')
-- [[ Highlight on yank ]]
-- See `:help vim.highlight.on_yank()`
local highlight_group = vim.api.nvim_create_augroup('YankHighlight', { clear = true })
vim.api.nvim_create_autocmd('TextYankPost', {
callback = function()
vim.highlight.on_yank()
end,
group = highlight_group,
pattern = '*',
})
-- Esc functionality
vim.keymap.set("n", "<Esc>", function()
-- Clear terminal notification below
vim.notify("")
-- Removes highlight search
vim.cmd.noh()
vim.cmd(':silent! Neotree cancel<cr>')
end, { silent = true })
-- Split resize
vim.keymap.set('n', '<C-j>', ':res +1<cr>', { desc = 'Resize split' })
vim.keymap.set('n', '<C-k>', ':res -1<cr>', { desc = 'Resize split' })
vim.keymap.set('n', '<C-h>', ':vertical res -1<cr>', { desc = 'Resize split vertically' })
vim.keymap.set('n', '<C-l>', ':vertical res +1<cr>', { desc = 'Resize split vertically' })

View file

@ -0,0 +1,6 @@
local import = require('core.utils').createImporter("core.keymaps")
import('general')
import('project-tree')
import('file-search')
import('diagnostics')

View file

@ -0,0 +1,4 @@
-- Neotree mappings
vim.keymap.set('n', '<leader><space>', ':Neotree toggle<cr>', { desc = 'File tree' })
vim.keymap.set('n', '<leader>nf', ':Neotree filesystem reveal<cr>', { desc = 'Reveal in file tree' })