2023-11-10 15:44:13 +00:00
|
|
|
vim.g.mapleader = " "
|
|
|
|
vim.keymap.set("n", "<leader>pv", vim.cmd.Ex)
|
|
|
|
|
|
|
|
-- Text input
|
|
|
|
vim.keymap.set('n', '<leader>pt', ":pu!=strftime('%R')<CR>");
|
|
|
|
vim.keymap.set('n', '<leader>pd', ":pu!=strftime('%F')<CR>");
|
|
|
|
vim.keymap.set('n', '<leader>pD', ":pu!=strftime('%c')<CR>");
|
|
|
|
|
|
|
|
-- Telescope
|
|
|
|
local builtin = require('telescope.builtin')
|
|
|
|
local telescope = require('telescope')
|
2024-02-08 09:38:17 +00:00
|
|
|
vim.keymap.set('n', '<leader>tf', "<cmd>Telescope find_files hidden=true<cr>", {}) -- Open files
|
2023-11-10 15:44:13 +00:00
|
|
|
vim.keymap.set('n', '<leader>ts', builtin.live_grep, {}) -- Grep files
|
|
|
|
vim.keymap.set('n', '<leader>tb', builtin.buffers, {}) -- Neovim buffers
|
|
|
|
vim.keymap.set('n', '<leader>tm', builtin.man_pages, {}) -- man pages
|
|
|
|
vim.keymap.set('n', '<leader>tp', builtin.registers, {}) -- Paste from registers
|
|
|
|
vim.keymap.set('n', '<leader>tt', builtin.resume, {}) -- Last open Telescope
|
|
|
|
vim.keymap.set('n', '<leader>to', builtin.oldfiles, {}) -- Recently opened files
|
|
|
|
-- Git functionality (tg prefix)
|
|
|
|
vim.keymap.set('n', '<leader>tgf', builtin.git_files, {})
|
|
|
|
vim.keymap.set('n', '<leader>tgc', builtin.git_commits, {})
|
|
|
|
vim.keymap.set('n', '<leader>tgh', builtin.git_bcommits, {}) -- Current buffer's commits
|
|
|
|
vim.keymap.set('n', '<leader>tgb', builtin.git_branches, {}) -- CR: checkout, C-t: track, C-r: rebase, C-a: create, C-s: switch, C-d: delete, C-y: merge
|
|
|
|
vim.keymap.set('n', '<leader>tgs', builtin.git_stash, {}) -- List stash, apply with CR
|
|
|
|
-- LSP functionality (tl prefix)
|
|
|
|
vim.keymap.set('n', '<leader>tlr', builtin.lsp_references, {})
|
|
|
|
vim.keymap.set('n', '<leader>tli', builtin.lsp_incoming_calls, {})
|
|
|
|
vim.keymap.set('n', '<leader>tlo', builtin.lsp_outgoing_calls, {})
|
|
|
|
vim.keymap.set('n', '<leader>tld', builtin.lsp_definitions, {})
|
|
|
|
vim.keymap.set('n', '<leader>tlt', builtin.lsp_type_definitions, {})
|
2023-11-13 16:59:33 +00:00
|
|
|
vim.keymap.set('n', '<leader>tls', builtin.lsp_document_symbols, {})
|
|
|
|
vim.keymap.set('n', '<leader>tlm', builtin.lsp_implementations, {})
|
|
|
|
vim.keymap.set('n', '<leader>tlw', builtin.lsp_workspace_symbols, {})
|
|
|
|
vim.keymap.set('n', '<leader>tlD', builtin.diagnostics, {})
|
|
|
|
vim.keymap.set('n', '<leader>tlK', vim.lsp.buf.signature_help, {})
|
|
|
|
vim.keymap.set('n', '<leader>tlq', vim.diagnostic.setloclist, {})
|
2023-11-17 10:08:13 +00:00
|
|
|
vim.keymap.set('n', 'E', vim.diagnostic.open_float, {})
|
2023-11-13 16:59:33 +00:00
|
|
|
vim.keymap.set('n', 'H', function() vim.lsp.buf.hover() end, opts)
|
2023-11-10 15:44:13 +00:00
|
|
|
vim.keymap.set("n", "<leader>tlf", vim.lsp.buf.format) -- Format code
|
2023-11-16 19:50:07 +00:00
|
|
|
-- DAP
|
|
|
|
vim.keymap.set('n', '<leader>db', require('dap').toggle_breakpoint)
|
|
|
|
vim.keymap.set('n', '<leader>dc', require('dap').continue)
|
|
|
|
vim.keymap.set('n', '<leader>di', require('dap').step_into)
|
|
|
|
vim.keymap.set('n', '<leader>do', require('dap').step_over)
|
|
|
|
vim.keymap.set('n', '<leader>dr', require('dap').repl.open)
|
|
|
|
vim.keymap.set('n', '<leader>dx', require('dap').terminate)
|
2023-11-17 08:57:40 +00:00
|
|
|
-- Zen mode
|
|
|
|
vim.keymap.set('n', '<leader>zz', require('zen-mode').toggle)
|
|
|
|
-- AAAARGH
|
|
|
|
vim.keymap.set("n", "<leader>fml", "<cmd>CellularAutomaton make_it_rain<CR>")
|
|
|
|
vim.keymap.set("n", "<leader>cnw", "<cmd>CellularAutomaton game_of_life<CR>")
|
2023-11-10 15:44:13 +00:00
|
|
|
|
|
|
|
-- Custom Telescope commands for Rails
|
|
|
|
vim.keymap.set('n', '<leader>trj', function()
|
|
|
|
builtin.find_files({ search_dirs = { "app/javascript", "app/assets/javascripts" } })
|
|
|
|
end, { desc = "Open Rails Javascripts" } )
|
|
|
|
vim.keymap.set('n', '<leader>trsj', function()
|
|
|
|
builtin.live_grep({ search_dirs = { "app/javascript", "app/assets/javascripts" } })
|
|
|
|
end, { desc = "Grep Rails Javascripts" } )
|
|
|
|
vim.keymap.set('n', '<leader>trm', function()
|
|
|
|
builtin.find_files({ search_dirs = { "app/models" } })
|
|
|
|
end, { desc = "Open Rails Models" } )
|
|
|
|
vim.keymap.set('n', '<leader>trsm', function()
|
|
|
|
builtin.live_grep({ search_dirs = { "app/models" } })
|
|
|
|
end, { desc = "Grep Rails Models" } )
|
|
|
|
vim.keymap.set('n', '<leader>trc', function()
|
|
|
|
builtin.find_files({ search_dirs = { "app/controllers" } })
|
|
|
|
end, { desc = "Open Rails Controllers" } )
|
|
|
|
vim.keymap.set('n', '<leader>trsc', function()
|
|
|
|
builtin.live_grep({ search_dirs = { "app/controllers" } })
|
|
|
|
end, { desc = "Grep Rails Controllers" } )
|
|
|
|
vim.keymap.set('n', '<leader>trv', function()
|
|
|
|
builtin.find_files({ search_dirs = { "app/views" } })
|
|
|
|
end, { desc = "Open Rails Views" } )
|
|
|
|
vim.keymap.set('n', '<leader>trsv', function()
|
|
|
|
builtin.live_grep({ search_dirs = { "app/views" } })
|
|
|
|
end, { desc = "Grep Rails Views" } )
|
|
|
|
|
|
|
|
-- Fugitive
|
|
|
|
vim.keymap.set('n', '<leader>gs', vim.cmd.Git);
|
|
|
|
vim.keymap.set('n', '<leader>ds', ':Gvdiffsplit!<CR>');
|
|
|
|
vim.keymap.set('n', '<leader>gl', ':diffget //2<CR>'); -- 'Get left' window
|
|
|
|
vim.keymap.set('n', '<leader>gr', ':diffget //3<CR>'); -- 'Get right' window
|
|
|
|
|
2023-11-20 14:24:20 +00:00
|
|
|
-- Git messenger
|
|
|
|
vim.keymap.set('n', '<leader>gm', ':GitMessenger<CR>');
|
|
|
|
|
2023-11-10 15:44:13 +00:00
|
|
|
-- Nvim-tree
|
|
|
|
vim.keymap.set("n", "<leader>nt", vim.cmd.NvimTreeToggle, {})
|
|
|
|
|
|
|
|
|