mappings|init: Move init mappings to a function, only call when required | Show err message for init
because mappings.lua is called from multiple places, so there should't be any code that executes without calling a specific function show error message when something fails in init.lua makes no sense to not rearrange plugin functions alphabetically, but keep misc at top
This commit is contained in:
parent
e3f0429a72
commit
02f0122ab4
6
init.lua
6
init.lua
|
@ -4,5 +4,9 @@ local chad_modules = {
|
||||||
}
|
}
|
||||||
|
|
||||||
for i = 1, #chad_modules, 1 do
|
for i = 1, #chad_modules, 1 do
|
||||||
pcall(require, chad_modules[i])
|
if not pcall(require, chad_modules[i]) then
|
||||||
|
error("Error loading " .. chad_modules[i] .. "\n")
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
require("mappings").misc()
|
||||||
|
|
228
lua/mappings.lua
228
lua/mappings.lua
|
@ -1,7 +1,6 @@
|
||||||
local user_map = require("chadrc").mappings
|
local user_map = require("chadrc").mappings
|
||||||
local miscMap = user_map.misc
|
local miscMap = user_map.misc
|
||||||
|
|
||||||
local M = {}
|
|
||||||
local cmd = vim.cmd
|
local cmd = vim.cmd
|
||||||
|
|
||||||
local function map(mode, lhs, rhs, opts)
|
local function map(mode, lhs, rhs, opts)
|
||||||
|
@ -12,64 +11,113 @@ local function map(mode, lhs, rhs, opts)
|
||||||
vim.api.nvim_set_keymap(mode, lhs, rhs, options)
|
vim.api.nvim_set_keymap(mode, lhs, rhs, options)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local M = {}
|
||||||
local opt = {}
|
local opt = {}
|
||||||
|
|
||||||
-- dont copy any deleted text , this is disabled by default so uncomment the below mappings if you want them
|
-- these mappings will only be called during initialization
|
||||||
--[[ remove this line
|
M.misc = function()
|
||||||
|
-- dont copy any deleted text , this is disabled by default so uncomment the below mappings if you want them
|
||||||
|
-- map("n", "dd", [=[ "_dd ]=], opt)
|
||||||
|
-- map("v", "dd", [=[ "_dd ]=], opt)
|
||||||
|
-- map("v", "x", [=[ "_x ]=], opt)
|
||||||
|
-- todo: this should be configurable via chadrc
|
||||||
|
|
||||||
map("n", "dd", [=[ "_dd ]=], opt)
|
-- Don't copy the replaced text after pasting in visual mode
|
||||||
map("v", "dd", [=[ "_dd ]=], opt)
|
map("v", "p", '"_dP', opt)
|
||||||
map("v", "x", [=[ "_x ]=], opt)
|
|
||||||
|
|
||||||
this line too ]]
|
-- Allow moving the cursor through wrapped lines with j, k, <Up> and <Down>
|
||||||
--
|
-- http://www.reddit.com/r/vim/comments/2k4cbr/problem_with_gj_and_gk/
|
||||||
|
-- empty mode is same as using :map
|
||||||
|
map("", "j", 'v:count ? "j" : "gj"', { expr = true })
|
||||||
|
map("", "k", 'v:count ? "k" : "gk"', { expr = true })
|
||||||
|
map("", "<Down>", 'v:count ? "j" : "gj"', { expr = true })
|
||||||
|
map("", "<Up>", 'v:count ? "k" : "gk"', { expr = true })
|
||||||
|
|
||||||
-- Don't copy the replaced text after pasting in visual mode
|
-- copy whole file content
|
||||||
map("v", "p", '"_dP', opt)
|
map("n", miscMap.copywhole_file, ":%y+<CR>", opt)
|
||||||
|
|
||||||
-- Allow moving the cursor through wrapped lines with j, k, <Up> and <Down>
|
-- toggle numbers
|
||||||
-- http://www.reddit.com/r/vim/comments/2k4cbr/problem_with_gj_and_gk/
|
map("n", miscMap.toggle_linenr, ":set nu!<CR>", opt)
|
||||||
-- empty mode is same as using :map
|
|
||||||
map("", "j", 'v:count ? "j" : "gj"', { expr = true })
|
|
||||||
map("", "k", 'v:count ? "k" : "gk"', { expr = true })
|
|
||||||
map("", "<Down>", 'v:count ? "j" : "gj"', { expr = true })
|
|
||||||
map("", "<Up>", 'v:count ? "k" : "gk"', { expr = true })
|
|
||||||
|
|
||||||
-- copy whole file content
|
-- terminals
|
||||||
map("n", miscMap.copywhole_file, ":%y+<CR>", opt)
|
local function terms()
|
||||||
|
local m = user_map.terms
|
||||||
|
|
||||||
-- toggle numbers
|
-- get out of terminal mode
|
||||||
map("n", miscMap.toggle_linenr, ":set nu!<CR>", opt)
|
map("t", m.esc_termmode, "<C-\\><C-n>", opt)
|
||||||
|
-- hide a term from within terminal mode
|
||||||
|
map("t", m.esc_hide_termmode, "<C-\\><C-n> :lua require('utils').close_buffer() <CR>", opt)
|
||||||
|
-- pick a hidden term
|
||||||
|
map("n", m.pick_term, ":Telescope terms <CR>", opt)
|
||||||
|
|
||||||
-- terminals
|
-- Open terminals
|
||||||
local function terms()
|
-- TODO this opens on top of an existing vert/hori term, fixme
|
||||||
local m = user_map.terms
|
map("n", m.new_wind, ":execute 'terminal' | let b:term_type = 'wind' | startinsert <CR>", opt)
|
||||||
|
map("n", m.new_vert, ":execute 'vnew +terminal' | let b:term_type = 'vert' | startinsert <CR>", opt)
|
||||||
|
map("n", m.new_hori, ":execute 15 .. 'new +terminal' | let b:term_type = 'hori' | startinsert <CR>", opt)
|
||||||
|
end
|
||||||
|
terms()
|
||||||
|
|
||||||
-- get out of terminal mode
|
-- ctrl + s to save file
|
||||||
map("t", m.esc_termmode, "<C-\\><C-n>", opt)
|
map("n", "<C-s>", ":w <CR>", opt)
|
||||||
-- hide a term from within terminal mode
|
|
||||||
map("t", m.esc_hide_termmode, "<C-\\><C-n> :lua require('utils').close_buffer() <CR>", opt)
|
|
||||||
-- pick a hidden term
|
|
||||||
map("n", m.pick_term, ":Telescope terms <CR>", opt)
|
|
||||||
|
|
||||||
-- Open terminals
|
-- use ESC to turn off search highlighting
|
||||||
-- TODO this opens on top of an existing vert/hori term, fixme
|
map("n", "<Esc>", ":noh<CR>", opt)
|
||||||
map("n", m.new_wind, ":execute 'terminal' | let b:term_type = 'wind' | startinsert <CR>", opt)
|
|
||||||
map("n", m.new_vert, ":execute 'vnew +terminal' | let b:term_type = 'vert' | startinsert <CR>", opt)
|
-- navigation within insert mode
|
||||||
map("n", m.new_hori, ":execute 15 .. 'new +terminal' | let b:term_type = 'hori' | startinsert <CR>", opt)
|
local check_insertNav = require("chadrc").options.enable_insertNav
|
||||||
|
|
||||||
|
if check_insertNav == true then
|
||||||
|
local m = user_map.insert_nav
|
||||||
|
|
||||||
|
map("i", m.forward, "<Right>", opt)
|
||||||
|
map("i", m.backward, "<Left>", opt)
|
||||||
|
map("i", m.top_of_line, "<ESC>^i", opt)
|
||||||
|
map("i", m.end_of_line, "<End>", opt)
|
||||||
|
map("i", m.next_line, "<Up>", opt)
|
||||||
|
map("i", m.prev_line, "<Down>", opt)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- check the theme toggler
|
||||||
|
local theme_toggler = require("chadrc").ui.theme_toggler
|
||||||
|
if theme_toggler == true then
|
||||||
|
local m = user_map.misc.theme_toggle
|
||||||
|
|
||||||
|
map("n", m, ":lua require('utils').toggle_theme(require('chadrc').ui.fav_themes)<CR>", opt)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Packer commands till because we are not loading it at startup
|
||||||
|
cmd "silent! command PackerCompile lua require 'pluginList' require('packer').compile()"
|
||||||
|
cmd "silent! command PackerInstall lua require 'pluginList' require('packer').install()"
|
||||||
|
cmd "silent! command PackerStatus lua require 'pluginList' require('packer').status()"
|
||||||
|
cmd "silent! command PackerSync lua require 'pluginList' require('packer').sync()"
|
||||||
|
cmd "silent! command PackerUpdate lua require 'pluginList' require('packer').update()"
|
||||||
end
|
end
|
||||||
|
|
||||||
terms()
|
M.bufferline = function()
|
||||||
|
local m = user_map.bufferline
|
||||||
|
|
||||||
M.truezen = function()
|
map("n", m.new_buffer, ":enew<CR>", opt) -- new buffer
|
||||||
local m = user_map.truezen
|
map("n", m.newtab, ":tabnew<CR>", opt) -- new tab
|
||||||
|
map("n", m.close, ":lua require('utils').close_buffer() <CR>", opt) -- close buffer
|
||||||
|
|
||||||
map("n", m.ataraxisMode, ":TZAtaraxis<CR>", opt)
|
-- move between tabs
|
||||||
map("n", m.minimalisticmode, ":TZMinimalist<CR>", opt)
|
|
||||||
map("n", m.focusmode, ":TZFocus<CR>", opt)
|
map("n", m.cycleNext, ":BufferLineCycleNext<CR>", opt)
|
||||||
|
map("n", m.cyclePrev, ":BufferLineCyclePrev<CR>", opt)
|
||||||
end
|
end
|
||||||
|
|
||||||
map("n", "<C-s>", ":w <CR>", opt)
|
M.chadsheet = function()
|
||||||
|
local m = user_map.chadsheet
|
||||||
|
|
||||||
|
map("n", m.default_keys, ":lua require('cheatsheet').show_cheatsheet_telescope()<CR>", opt)
|
||||||
|
map(
|
||||||
|
"n",
|
||||||
|
m.user_keys,
|
||||||
|
":lua require('cheatsheet').show_cheatsheet_telescope{bundled_cheatsheets = false, bundled_plugin_cheatsheets = false }<CR>",
|
||||||
|
opt
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
M.comment_nvim = function()
|
M.comment_nvim = function()
|
||||||
local m = user_map.comment_nvim.comment_toggle
|
local m = user_map.comment_nvim.comment_toggle
|
||||||
|
@ -77,6 +125,25 @@ M.comment_nvim = function()
|
||||||
map("v", m, ":CommentToggle<CR>", opt)
|
map("v", m, ":CommentToggle<CR>", opt)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
M.dashboard = function()
|
||||||
|
local m = user_map.dashboard
|
||||||
|
|
||||||
|
map("n", m.open, ":Dashboard<CR>", opt)
|
||||||
|
map("n", m.newfile, ":DashboardNewFile<CR>", opt)
|
||||||
|
map("n", m.bookmarks, ":DashboardJumpMarks<CR>", opt)
|
||||||
|
map("n", m.sessionload, ":SessionLoad<CR>", opt)
|
||||||
|
map("n", m.sessionsave, ":SessionSave<CR>", opt)
|
||||||
|
end
|
||||||
|
|
||||||
|
M.fugitive = function()
|
||||||
|
local m = user_map.fugitive
|
||||||
|
|
||||||
|
map("n", m.Git, ":Git<CR>", opt)
|
||||||
|
map("n", m.diffget_2, ":diffget //2<CR>", opt)
|
||||||
|
map("n", m.diffget_3, ":diffget //3<CR>", opt)
|
||||||
|
map("n", m.git_blame, ":Git blame<CR>", opt)
|
||||||
|
end
|
||||||
|
|
||||||
M.nvimtree = function()
|
M.nvimtree = function()
|
||||||
local m = user_map.nvimtree.treetoggle
|
local m = user_map.nvimtree.treetoggle
|
||||||
|
|
||||||
|
@ -88,14 +155,12 @@ M.neoformat = function()
|
||||||
map("n", m, ":Neoformat<CR>", opt)
|
map("n", m, ":Neoformat<CR>", opt)
|
||||||
end
|
end
|
||||||
|
|
||||||
M.dashboard = function()
|
M.truezen = function()
|
||||||
local m = user_map.dashboard
|
local m = user_map.truezen
|
||||||
|
|
||||||
map("n", m.open, ":Dashboard<CR>", opt)
|
map("n", m.ataraxisMode, ":TZAtaraxis<CR>", opt)
|
||||||
map("n", m.newfile, ":DashboardNewFile<CR>", opt)
|
map("n", m.minimalisticmode, ":TZMinimalist<CR>", opt)
|
||||||
map("n", m.bookmarks, ":DashboardJumpMarks<CR>", opt)
|
map("n", m.focusmode, ":TZFocus<CR>", opt)
|
||||||
map("n", m.sessionload, ":SessionLoad<CR>", opt)
|
|
||||||
map("n", m.sessionsave, ":SessionSave<CR>", opt)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
M.telescope = function()
|
M.telescope = function()
|
||||||
|
@ -116,69 +181,4 @@ M.telescope_media = function()
|
||||||
map("n", m.media_files, ":Telescope media_files <CR>", opt)
|
map("n", m.media_files, ":Telescope media_files <CR>", opt)
|
||||||
end
|
end
|
||||||
|
|
||||||
M.chadsheet = function()
|
|
||||||
local m = user_map.chadsheet
|
|
||||||
|
|
||||||
map("n", m.default_keys, ":lua require('cheatsheet').show_cheatsheet_telescope()<CR>", opt)
|
|
||||||
map(
|
|
||||||
"n",
|
|
||||||
m.user_keys,
|
|
||||||
":lua require('cheatsheet').show_cheatsheet_telescope{bundled_cheatsheets = false, bundled_plugin_cheatsheets = false }<CR>",
|
|
||||||
opt
|
|
||||||
)
|
|
||||||
end
|
|
||||||
|
|
||||||
M.bufferline = function()
|
|
||||||
local m = user_map.bufferline
|
|
||||||
|
|
||||||
map("n", m.new_buffer, ":enew<CR>", opt) -- new buffer
|
|
||||||
map("n", m.newtab, ":tabnew<CR>", opt) -- new tab
|
|
||||||
map("n", m.close, ":lua require('utils').close_buffer() <CR>", opt) -- close buffer
|
|
||||||
|
|
||||||
-- move between tabs
|
|
||||||
|
|
||||||
map("n", m.cycleNext, ":BufferLineCycleNext<CR>", opt)
|
|
||||||
map("n", m.cyclePrev, ":BufferLineCyclePrev<CR>", opt)
|
|
||||||
end
|
|
||||||
|
|
||||||
-- use ESC to turn off search highlighting
|
|
||||||
map("n", "<Esc>", ":noh<CR>", opt)
|
|
||||||
|
|
||||||
-- Packer commands till because we are not loading it at startup
|
|
||||||
cmd "silent! command PackerCompile lua require 'pluginList' require('packer').compile()"
|
|
||||||
cmd "silent! command PackerInstall lua require 'pluginList' require('packer').install()"
|
|
||||||
cmd "silent! command PackerStatus lua require 'pluginList' require('packer').status()"
|
|
||||||
cmd "silent! command PackerSync lua require 'pluginList' require('packer').sync()"
|
|
||||||
cmd "silent! command PackerUpdate lua require 'pluginList' require('packer').update()"
|
|
||||||
|
|
||||||
M.fugitive = function()
|
|
||||||
local m = user_map.fugitive
|
|
||||||
|
|
||||||
map("n", m.Git, ":Git<CR>", opt)
|
|
||||||
map("n", m.diffget_2, ":diffget //2<CR>", opt)
|
|
||||||
map("n", m.diffget_3, ":diffget //3<CR>", opt)
|
|
||||||
map("n", m.git_blame, ":Git blame<CR>", opt)
|
|
||||||
end
|
|
||||||
|
|
||||||
-- navigation within insert mode
|
|
||||||
local check_insertNav = require("chadrc").options.enable_insertNav
|
|
||||||
|
|
||||||
if check_insertNav == true then
|
|
||||||
local m = user_map.insert_nav
|
|
||||||
|
|
||||||
map("i", m.forward, "<Right>", opt)
|
|
||||||
map("i", m.backward, "<Left>", opt)
|
|
||||||
map("i", m.top_of_line, "<ESC>^i", opt)
|
|
||||||
map("i", m.end_of_line, "<End>", opt)
|
|
||||||
map("i", m.next_line, "<Up>", opt)
|
|
||||||
map("i", m.prev_line, "<Down>", opt)
|
|
||||||
end
|
|
||||||
|
|
||||||
local theme_toggler = require("chadrc").ui.theme_toggler
|
|
||||||
|
|
||||||
if theme_toggler == true then
|
|
||||||
local m = user_map.misc.theme_toggle
|
|
||||||
|
|
||||||
map("n", m, ":lua require('utils').toggle_theme(require('chadrc').ui.fav_themes)<CR>", opt)
|
|
||||||
end
|
|
||||||
return M
|
return M
|
||||||
|
|
Loading…
Reference in New Issue