misc
This commit is contained in:
parent
7dc8c6d0b2
commit
73bf6c437f
17 changed files with 14 additions and 78 deletions
|
@ -1,77 +0,0 @@
|
|||
local autocmd = vim.api.nvim_create_autocmd
|
||||
|
||||
-- dont list quickfix buffers
|
||||
autocmd("FileType", {
|
||||
pattern = "qf",
|
||||
callback = function()
|
||||
vim.opt_local.buflisted = false
|
||||
end,
|
||||
})
|
||||
|
||||
-- reload some chadrc options on-save
|
||||
autocmd("BufWritePost", {
|
||||
pattern = vim.tbl_map(function(path)
|
||||
return vim.fs.normalize(vim.loop.fs_realpath(path))
|
||||
end, vim.fn.glob(vim.fn.stdpath "config" .. "/lua/custom/**/*.lua", true, true, true)),
|
||||
group = vim.api.nvim_create_augroup("ReloadNvChad", {}),
|
||||
|
||||
callback = function(opts)
|
||||
local fp = vim.fn.fnamemodify(vim.fs.normalize(vim.api.nvim_buf_get_name(opts.buf)), ":r") --[[@as string]]
|
||||
local app_name = vim.env.NVIM_APPNAME and vim.env.NVIM_APPNAME or "nvim"
|
||||
local module = string.gsub(fp, "^.*/" .. app_name .. "/lua/", ""):gsub("/", ".")
|
||||
|
||||
require("plenary.reload").reload_module "nvconfig"
|
||||
require("plenary.reload").reload_module "base46"
|
||||
require("plenary.reload").reload_module(module)
|
||||
|
||||
local config = require "nvconfig"
|
||||
|
||||
-- statusline
|
||||
if config.ui.statusline.theme ~= "custom" then
|
||||
require("plenary.reload").reload_module("nvchad.statusline." .. config.ui.statusline.theme)
|
||||
vim.opt.statusline = "%!v:lua.require('nvchad.statusline." .. config.ui.statusline.theme .. "').run()"
|
||||
end
|
||||
|
||||
-- tabufline
|
||||
if config.ui.tabufline.enabled then
|
||||
require("plenary.reload").reload_module "nvchad.tabufline.modules"
|
||||
vim.opt.tabline = "%!v:lua.require('nvchad.tabufline.modules').run()"
|
||||
end
|
||||
|
||||
require("base46").load_all_highlights()
|
||||
-- vim.cmd("redraw!")
|
||||
end,
|
||||
})
|
||||
|
||||
-- user event that loads after UIEnter + only if file buf is there
|
||||
vim.api.nvim_create_autocmd({ "UIEnter", "BufReadPost", "BufNewFile" }, {
|
||||
group = vim.api.nvim_create_augroup("NvFilePost", { clear = true }),
|
||||
callback = function(args)
|
||||
local file = vim.api.nvim_buf_get_name(args.buf)
|
||||
local buftype = vim.api.nvim_buf_get_option(args.buf, "buftype")
|
||||
|
||||
if not vim.g.ui_entered and args.event == "UIEnter" then
|
||||
vim.g.ui_entered = true
|
||||
end
|
||||
|
||||
if file ~= "" and buftype ~= "nofile" and vim.g.ui_entered then
|
||||
vim.api.nvim_exec_autocmds("User", { pattern = "FilePost", modeline = false })
|
||||
vim.api.nvim_del_augroup_by_name "NvFilePost"
|
||||
|
||||
vim.schedule(function()
|
||||
vim.api.nvim_exec_autocmds("FileType", {})
|
||||
|
||||
if vim.g.editorconfig then
|
||||
require("editorconfig").config(args.buf)
|
||||
end
|
||||
end, 0)
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
-------------------------------------- commands ------------------------------------------
|
||||
local new_cmd = vim.api.nvim_create_user_command
|
||||
|
||||
new_cmd("NvChadUpdate", function()
|
||||
require "nvchad.updater"()
|
||||
end, {})
|
|
@ -1,47 +0,0 @@
|
|||
local M = {}
|
||||
local fn = vim.fn
|
||||
|
||||
M.echo = function(str)
|
||||
vim.cmd "redraw"
|
||||
vim.api.nvim_echo({ { str, "Bold" } }, true, {})
|
||||
end
|
||||
|
||||
local function shell_call(args)
|
||||
local output = fn.system(args)
|
||||
assert(vim.v.shell_error == 0, "External call failed with error code: " .. vim.v.shell_error .. "\n" .. output)
|
||||
end
|
||||
|
||||
M.lazy = function(install_path)
|
||||
------------- base46 ---------------
|
||||
local lazy_path = fn.stdpath "data" .. "/lazy/base46"
|
||||
|
||||
M.echo " Compiling base46 theme to bytecode ..."
|
||||
|
||||
local base46_repo = "https://github.com/NvChad/base46"
|
||||
shell_call { "git", "clone", "--depth", "1", "-b", "v3.0", base46_repo, lazy_path }
|
||||
vim.opt.rtp:prepend(lazy_path)
|
||||
|
||||
require("base46").compile()
|
||||
|
||||
--------- lazy.nvim ---------------
|
||||
M.echo " Installing lazy.nvim & plugins ..."
|
||||
local repo = "https://github.com/folke/lazy.nvim.git"
|
||||
shell_call { "git", "clone", "--filter=blob:none", "--branch=stable", repo, install_path }
|
||||
vim.opt.rtp:prepend(install_path)
|
||||
|
||||
-- install plugins
|
||||
require "plugins"
|
||||
|
||||
-- mason packages & show post_bootstrap screen
|
||||
vim.cmd "MasonInstallAll"
|
||||
local lastpkg = vim.g.mason_binaries_list[#vim.g.mason_binaries_list]
|
||||
|
||||
-- Keep track of which mason pkgs get installed
|
||||
require("mason-registry"):on("package:install:success", function(pkg)
|
||||
if tostring(pkg) == "Package(name=" .. lastpkg .. ")" then
|
||||
print "All done! Now read nvchad.com "
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
return M
|
|
@ -1,135 +0,0 @@
|
|||
local map = vim.keymap.set
|
||||
|
||||
map("i", "<C-b>", "<ESC>^i", { desc = "Move Beginning of line" })
|
||||
map("i", "<C-e>", "<End>", { desc = "Move End of line" })
|
||||
map("i", "<C-h>", "<Left>", { desc = "Move Left" })
|
||||
map("i", "<C-l>", "<Right>", { desc = "Move Right" })
|
||||
map("i", "<C-j>", "<Down>", { desc = "Move Down" })
|
||||
map("i", "<C-k>", "<Up>", { desc = "Move Up" })
|
||||
|
||||
map("n", "<Esc>", "<cmd>noh<CR>", { desc = "General Clear highlights" })
|
||||
|
||||
map("n", "<C-h>", "<C-w>h", { desc = "Switch Window left" })
|
||||
map("n", "<C-l>", "<C-w>l", { desc = "Switch Window right" })
|
||||
map("n", "<C-j>", "<C-w>j", { desc = "Switch Window down" })
|
||||
map("n", "<C-k>", "<C-w>k", { desc = "Switch Window up" })
|
||||
|
||||
map("n", "<C-s>", "<cmd>w<CR>", { desc = "File Save" })
|
||||
map("n", "<C-c>", "<cmd>%y+<CR>", { desc = "File Copy whole" })
|
||||
|
||||
map("n", "<leader>n", "<cmd>set nu!<CR>", { desc = "Toggle Line number" })
|
||||
map("n", "<leader>rn", "<cmd>set rnu!<CR>", { desc = "Toggle Relative number" })
|
||||
map("n", "<leader>ch", "<cmd>NvCheatsheet<CR>", { desc = "Toggle NvCheatsheet" })
|
||||
|
||||
-- global lsp mappings
|
||||
map("n", "<leader>fm", function()
|
||||
vim.lsp.buf.format { async = true }
|
||||
end, { desc = "Lsp formatting" })
|
||||
|
||||
map("n", "<leader>lf", vim.diagnostic.open_float, { desc = "Lsp floating diagnostics" })
|
||||
map("n", "[d", vim.diagnostic.goto_prev, { desc = "Lsp prev diagnostic" })
|
||||
map("n", "]d", vim.diagnostic.goto_next, { desc = "Lsp next diagnostic" })
|
||||
map("n", "<leader>q", vim.diagnostic.setloclist, { desc = "Lsp diagnostic loclist" })
|
||||
|
||||
-- tabufline
|
||||
map("n", "<leader>b", "<cmd>enew<CR>", { desc = "Buffer New" })
|
||||
|
||||
map("n", "<tab>", function()
|
||||
require("nvchad.tabufline").tabuflineNext()
|
||||
end, { desc = "Buffer Goto next" })
|
||||
|
||||
map("n", "<S-tab>", function()
|
||||
require("nvchad.tabufline").tabuflinePrev()
|
||||
end, { desc = "Buffer Goto prev" })
|
||||
|
||||
map("n", "<leader>x", function()
|
||||
require("nvchad.tabufline").close_buffer()
|
||||
end, { desc = "Buffer Close" })
|
||||
|
||||
-- Comment
|
||||
map("n", "<leader>/", function()
|
||||
require("Comment.api").toggle.linewise.current()
|
||||
end, { desc = "Comment Toggle" })
|
||||
|
||||
map(
|
||||
"v",
|
||||
"<leader>/",
|
||||
"<ESC>:lua require('Comment.api').toggle.linewise(vim.fn.visualmode())<CR>",
|
||||
{ desc = "Comment Toggle" }
|
||||
)
|
||||
|
||||
-- nvimtree
|
||||
map("n", "<C-n>", "<cmd>NvimTreeToggle<CR>", { desc = "Nvimtree Toggle window" })
|
||||
map("n", "<leader>e", "<cmd>NvimTreeFocus<CR>", { desc = "Nvimtree Focus window" })
|
||||
|
||||
-- telescope
|
||||
map("n", "<leader>fw", "<cmd>Telescope live_grep<CR>", { desc = "Telescope Live grep" })
|
||||
map("n", "<leader>fb", "<cmd>Telescope buffers<CR>", { desc = "Telescope Find buffers" })
|
||||
map("n", "<leader>fh", "<cmd>Telescope help_tags<CR>", { desc = "Telescope Help page" })
|
||||
|
||||
map("n", "<leader>fo", "<cmd>Telescope oldfiles<CR>", { desc = "Telescope Find oldfiles" })
|
||||
map("n", "<leader>fz", "<cmd>Telescope current_buffer_fuzzy_find<CR>", { desc = "Telescope Find in current buffer" })
|
||||
map("n", "<leader>cm", "<cmd>Telescope git_commits<CR>", { desc = "Telescope Git commits" })
|
||||
map("n", "<leader>gt", "<cmd>Telescope git_status<CR>", { desc = "Telescope Git status" })
|
||||
map("n", "<leader>pt", "<cmd>Telescope terms<CR>", { desc = "Telescope Pick hidden term" })
|
||||
map("n", "<leader>th", "<cmd>Telescope themes<CR>", { desc = "Telescope Nvchad themes" })
|
||||
map("n", "<leader>ff", "<cmd>Telescope find_files<cr>", { desc = "Telescope Find files" })
|
||||
map(
|
||||
"n",
|
||||
"<leader>fa",
|
||||
"<cmd>Telescope find_files follow=true no_ignore=true hidden=true<CR>",
|
||||
{ desc = "Telescope Find all files" }
|
||||
)
|
||||
|
||||
-- terminal
|
||||
map("t", "<C-x>", "<C-\\><C-N>", { desc = "Terminal Escape terminal mode" })
|
||||
|
||||
map("n", "<leader>h", function()
|
||||
require("nvchad.term").new { pos = "sp", size = 0.3 }
|
||||
end, { desc = "Terminal New horizontal term" })
|
||||
|
||||
map("n", "<leader>v", function()
|
||||
require("nvchad.term").new { pos = "vsp", size = 0.3 }
|
||||
end, { desc = "Terminal New vertical term" })
|
||||
|
||||
map({ "n", "t" }, "<A-v>", function()
|
||||
require("nvchad.term").toggle { pos = "vsp", id = "vtoggleTerm", size = 0.3 }
|
||||
end, { desc = "Terminal Toggleable vertical term" })
|
||||
|
||||
map({ "n", "t" }, "<A-h>", function()
|
||||
require("nvchad.term").toggle { pos = "sp", id = "htoggleTerm", size = 0.2 }
|
||||
end, { desc = "Terminal New horizontal term" })
|
||||
|
||||
map({ "n", "t" }, "<A-i>", function()
|
||||
require("nvchad.term").toggle { pos = "float", id = "floatTerm" }
|
||||
end, { desc = "Terminal Toggle Floating term" })
|
||||
|
||||
map("t", "<ESC>", function()
|
||||
local win = vim.api.nvim_get_current_win()
|
||||
vim.api.nvim_win_close(win, true)
|
||||
end, { desc = "Terminal Close term in terminal mode" })
|
||||
|
||||
-- whichkey
|
||||
map("n", "<leader>wK", "<cmd>WhichKey <CR>", { desc = "Whichkey all keymaps" })
|
||||
|
||||
map("n", "<leader>wk", function()
|
||||
vim.cmd("WhichKey " .. vim.fn.input "WhichKey: ")
|
||||
end, { desc = "Whichkey query lookup" })
|
||||
|
||||
-- blankline
|
||||
map("n", "<leader>cc", function()
|
||||
local config = { scope = {} }
|
||||
config.scope.exclude = { language = {}, node_type = {} }
|
||||
config.scope.include = { node_type = {} }
|
||||
local node = require("ibl.scope").get(vim.api.nvim_get_current_buf(), config)
|
||||
|
||||
if node then
|
||||
local start_row, _, end_row, _ = node:range()
|
||||
if start_row ~= end_row then
|
||||
vim.api.nvim_win_set_cursor(vim.api.nvim_get_current_win(), { start_row + 1, 0 })
|
||||
vim.api.nvim_feedkeys("_", "n", true)
|
||||
end
|
||||
end
|
||||
end, { desc = "Blankline Jump to current context" })
|
||||
|
||||
pcall(require, "custom.mappings")
|
|
@ -1,60 +0,0 @@
|
|||
local opt = vim.opt
|
||||
local g = vim.g
|
||||
|
||||
-------------------------------------- globals -----------------------------------------
|
||||
g.base46_cache = vim.fn.stdpath "data" .. "/nvchad/base46/"
|
||||
g.toggle_theme_icon = " "
|
||||
|
||||
-------------------------------------- options ------------------------------------------
|
||||
opt.laststatus = 3 -- global statusline
|
||||
opt.showmode = false
|
||||
|
||||
opt.clipboard = "unnamedplus"
|
||||
opt.cursorline = true
|
||||
opt.cursorlineopt = "number"
|
||||
|
||||
-- Indenting
|
||||
opt.expandtab = true
|
||||
opt.shiftwidth = 2
|
||||
opt.smartindent = true
|
||||
opt.tabstop = 2
|
||||
opt.softtabstop = 2
|
||||
|
||||
opt.fillchars = { eob = " " }
|
||||
opt.ignorecase = true
|
||||
opt.smartcase = true
|
||||
opt.mouse = "a"
|
||||
|
||||
-- Numbers
|
||||
opt.number = true
|
||||
opt.numberwidth = 2
|
||||
opt.ruler = false
|
||||
|
||||
-- disable nvim intro
|
||||
opt.shortmess:append "sI"
|
||||
|
||||
opt.signcolumn = "yes"
|
||||
opt.splitbelow = true
|
||||
opt.splitright = true
|
||||
opt.termguicolors = true
|
||||
opt.timeoutlen = 400
|
||||
opt.undofile = true
|
||||
|
||||
-- interval for writing swap file to disk, also used by gitsigns
|
||||
opt.updatetime = 250
|
||||
|
||||
-- go to previous/next line with h,l,left arrow and right arrow
|
||||
-- when cursor reaches end/beginning of line
|
||||
opt.whichwrap:append "<>[]hl"
|
||||
|
||||
g.mapleader = " "
|
||||
|
||||
-- disable some default providers
|
||||
vim.g["loaded_node_provider"] = 0
|
||||
vim.g["loaded_python3_provider"] = 0
|
||||
vim.g["loaded_perl_provider"] = 0
|
||||
vim.g["loaded_ruby_provider"] = 0
|
||||
|
||||
-- add binaries installed by mason.nvim to path
|
||||
local is_windows = vim.loop.os_uname().sysname == "Windows_NT"
|
||||
vim.env.PATH = vim.fn.stdpath "data" .. "/mason/bin" .. (is_windows and ";" or ":") .. vim.env.PATH
|
Loading…
Add table
Add a link
Reference in a new issue