Better modules
This commit is contained in:
parent
5721e692da
commit
39dfc1554a
21 changed files with 368 additions and 373 deletions
38
lua/core/keymaps/async/language-servers.lua
Normal file
38
lua/core/keymaps/async/language-servers.lua
Normal 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
|
||||
8
lua/core/keymaps/async/tsserver.lua
Normal file
8
lua/core/keymaps/async/tsserver.lua
Normal 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
|
||||
0
lua/core/keymaps/diagnostics.lua
Normal file
0
lua/core/keymaps/diagnostics.lua
Normal file
16
lua/core/keymaps/file-search.lua
Normal file
16
lua/core/keymaps/file-search.lua
Normal 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' })
|
||||
37
lua/core/keymaps/general.lua
Normal file
37
lua/core/keymaps/general.lua
Normal 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' })
|
||||
6
lua/core/keymaps/init.lua
Normal file
6
lua/core/keymaps/init.lua
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
local import = require('core.utils').createImporter("core.keymaps")
|
||||
|
||||
import('general')
|
||||
import('project-tree')
|
||||
import('file-search')
|
||||
import('diagnostics')
|
||||
4
lua/core/keymaps/project-tree.lua
Normal file
4
lua/core/keymaps/project-tree.lua
Normal 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' })
|
||||
Loading…
Add table
Add a link
Reference in a new issue