summaryrefslogtreecommitdiffstats
path: root/lua/core/binds.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/core/binds.lua')
-rw-r--r--lua/core/binds.lua94
1 files changed, 61 insertions, 33 deletions
diff --git a/lua/core/binds.lua b/lua/core/binds.lua
index 4afc57c..f27c87d 100644
--- a/lua/core/binds.lua
+++ b/lua/core/binds.lua
@@ -1,5 +1,8 @@
local function map(mode, bind, cmd, opts)
- opts = opts or {noremap = true, silent = true}
+ opts = opts or {}
+ opts['noremap'] = true
+ opts['silent'] = true
+
if type(bind) == 'table' then
for i in pairs(bind) do
vim.keymap.set(mode, bind[i], cmd, opts)
@@ -23,12 +26,12 @@ end
-- vim binds ------------------------------------------------------------------
g.mapleader = ' ' -- set leader key
-map('x', '<leader>p', [["_dP]]) -- greatest remap ever
-map('n', '<ESC>', ':nohlsearch<Bar>:echo<CR>') -- clear search
-map('t', '<ESC>', '<C-\\><C-n>') -- make <ESC> work in terminals
+map('x', '<leader>p', [["_dP]], { desc = 'Greatest remap of all time.' })
+map('n', '<esc>', ':nohlsearch<Bar>:echo<CR>', { desc = 'Clear search.' })
+map('t', '<esc>', '<C-\\><C-n>', { desc = 'make <esc> work in terminals.' })
-- move selected text up/down
-map('v', '<S-k>', ":m '<-2<CR>gv=gv")
-map('v', '<S-j>', ":m '>+1<CR>gv=gv")
+map('v', '<S-k>', ":m '<-2<CR>gv=gv", { desc = 'Move selected text up.' })
+map('v', '<S-j>', ":m '>+1<CR>gv=gv", { desc = 'Move selected text down.' })
-- the cursor STAYS IN THE MIDDLE
map('n', '<S-j>', 'mzJ`z<cmd>delm z<CR>') -- when combining lines
@@ -50,10 +53,16 @@ a.nvim_create_autocmd('FileType', {
bind('l', '<CR>') -- Go down a directory / open a file
bind('.', 'gh') -- Toggle dotfiles
bind('P', '<C-w>z') -- Close preview window
- bind('<ESC>', '<cmd>q<CR>') -- Close netrw
+ bind('<esc>', '<cmd>q<CR>') -- Close netrw
end
})
+-- tabs
+map('n', '<C-q>n', '<cmd>tabnew<CR>')
+map('n', '<C-q>w', '<cmd>tabclose<CR>')
+map('n', '<C-q>h', '<cmd>tabprev<CR>')
+map('n', '<C-q>l', '<cmd>tabnext<CR>')
+
-- plugin binds ---------------------------------------------------------------
-- pretty lsp view
@@ -62,41 +71,56 @@ map('n', 'gr', '<CMD>Glance references<CR>')
map('n', 'gy', '<CMD>Glance type_definitions<CR>')
map('n', 'gi', '<CMD>Glance implementations<CR>')
-local treesj = require('treesj') -- treesj
-map('n', '<leader>j', treesj.toggle)
-
-local telebuilt = require('telescope.builtin') -- telescope
-map('n', '<leader>sf', telebuilt.find_files)
-map('n', '<leader>sg', telebuilt.git_files)
-map('n', '<leader>sp', function()
- telebuilt.grep_string({ search = vim.fn.input('Find string in project > ') })
-end)
-map('n', '<leader>so', telebuilt.oldfiles)
+if pcall(require, "treesj") then
+ local treesj = require('treesj') -- treesj
+ map('n', '<leader>j', treesj.toggle)
+end
-local intellitab = require('intellitab') -- intellitab
-map('n', '<Tab>', intellitab.indent)
+if pcall(require, "telescope") then
+ local telebuilt = require('telescope.builtin') -- telescope
+ map('n', '<leader>sf', telebuilt.find_files, { desc = 'Find files.' })
+ map('n', '<leader>sg', telebuilt.git_files, { desc = 'Find git files.' })
+ map('n', '<leader>sp', function()
+ telebuilt.grep_string({ search = vim.fn.input(
+ 'Find string in project > '
+ ) })
+ end, { desc = 'Find string in project.' })
+ map('n', '<leader>so', telebuilt.oldfiles, { desc = 'Find old files.' })
+end
-map('n', '<leader>u', '<cmd>UndotreeToggle<CR>') -- undo tree
-map('n', '<leader>f', '<cmd>SFMToggle<CR>') -- sfm
-map('n', '<leader>b', '<cmd>JABSOpen<CR>') -- switch between previous buffers
-map('n', '<leader>tt', '<cmd>TroubleToggle<CR>') -- trouble (lsp error view)
-map('n', '<leader>tc', '<cmd>TodoTrouble<CR>') -- todo trouble
-map('n', '<C-e>', '<cmd>IconPickerYank<CR>') -- icon picker
+map('n', '<leader>u', '<cmd>UndotreeToggle<CR>', { desc = 'Open undo tree.' })
+map('n', '<leader>f', '<cmd>SFMToggle<CR>', { desc = 'Open file tree view.' })
+map('n', '<leader>b', '<cmd>JABSOpen<CR>', { desc = 'Switch between buffers.' })
+map('n', '<leader>tt', '<cmd>TroubleToggle<CR>', { desc = 'Diagnostic list.' })
+map('n', '<leader>tc', '<cmd>TodoTrouble<CR>', { desc = 'Comment list.' })
+map('n', '<C-e>', '<cmd>IconPickerYank<CR>', { desc = 'Icon picker list.' })
-local dapui = require('dapui') -- dap ui
-map('n', '<leader>d', dapui.toggle)
+if pcall(require, "dapui") then
+ local dapui = require('dapui') -- dap ui
+ map('n', '<leader>d', dapui.toggle, { desc = 'Debuging ui.' })
+end
-local smartsplits = require('smart-splits') -- resizing buffers (toggleable)
-map('n', '<leader>r', smartsplits.start_resize_mode)
+if pcall(require, "smart-splits") then
+ local smartsplits = require('smart-splits') -- resizing buffers (toggleable)
+ map('n', '<leader>r', smartsplits.start_resize_mode)
+end
-- toggle term (don't use leader key in these binds)
map({'n', 't'}, '<C-\\>', '<cmd>ToggleTerm direction=float<CR>')
map({'n', 't'}, '<C-g>', '<cmd>lua _glow()<CR>')
-- true zen
-map('n', '<leader>zf', '<cmd>lua require("true-zen.focus").toggle()<CR>')
-map('n', '<leader>zm', '<cmd>lua require("true-zen.minimalist").toggle()<CR>')
-map('n', '<leader>za', '<cmd>lua require("true-zen.ataraxis").toggle()<CR>')
+if pcall(require, "true-zen") then
+ map('n', '<leader>zf', require("true-zen.focus").toggle, {
+ desc = 'fullscreen',
+ })
+ map('n', '<leader>zm', require("true-zen.minimalist").toggle, {
+ desc = 'minimal',
+ })
+ map('n', '<leader>za', require("true-zen.ataraxis").toggle, {
+ desc = 'zen',
+ })
+end
-- Git
map('n', '<leader>gph', '<cmd>Gitsigns preview_hunk_inline<CR>')
@@ -104,4 +128,8 @@ map('n', '<leader>gsh', '<cmd>Gitsigns stage_hunk<CR>')
map('n', '<leader>gb', '<cmd>Gitsigns blame_line<CR>')
-- neogen
-map('n', '<leader>df', '<cmd>lua require("neogen").generate()<CR>')
+if pcall(require, "neogen") then
+ map('n', '<leader>df', require("neogen").generate, {
+ desc = 'Generate anootations',
+ })
+end