Merge branch 'dev'

This commit is contained in:
Pojok Code 2024-11-05 07:42:59 +07:00
commit 50184acdb4
2 changed files with 102 additions and 56 deletions

View file

@ -1,47 +1,47 @@
local M = { local M = {
"goolord/alpha-nvim", "goolord/alpha-nvim",
event = "VimEnter", event = "VimEnter",
} }
M.opts = { M.opts = {
dash_model = { dash_model = {
[[ _ __ __ ]], [[ _ __ __ ]],
[[ ___ ___ (____ / /__ _______ ___/ ___ ]], [[ ___ ___ (____ / /__ _______ ___/ ___ ]],
[[ / _ / _ \ / / _ \/ '_/ / __/ _ / _ / -_) ]], [[ / _ / _ \ / / _ \/ '_/ / __/ _ / _ / -_) ]],
[[ / .__\_____/ /\___/_/\_\ \__/\___\_,_/\__/ ]], [[ / .__\_____/ /\___/_/\_\ \__/\___\_,_/\__/ ]],
[[ /_/ |___/ ]], [[ /_/ |___/ ]],
}, },
} }
function M.config(_, opts) function M.config(_, opts)
local alpha = require("alpha") local alpha = require("alpha")
local startify = require("alpha.themes.startify") local startify = require("alpha.themes.startify")
startify.section.header.val = pcode.dashboard or opts.dash_model startify.section.header.val = pcode.dashboard or opts.dash_model
startify.section.top_buttons.val = { startify.section.top_buttons.val = {
startify.button("F", "󰈞 Find file", ":Telescope find_files <CR>"), startify.button("F", "󰈞 Find file", ":Telescope find_files <CR>"),
startify.button("e", " New file", ":ene <BAR> startinsert <CR>"), startify.button("e", " New file", ":ene <BAR> startinsert <CR>"),
startify.button("p", "󰉋 Find project", ":Telescope projects <CR>"), startify.button("p", "󰉋 Find project", ":Telescope projects <CR>"),
startify.button("r", "󰦛 Recently used files", ":Telescope oldfiles <CR>"), startify.button("r", "󰦛 Recently used files", ":Telescope oldfiles <CR>"),
startify.button("t", "󰊄 Find text", ":Telescope live_grep <CR>"), startify.button("t", "󰊄 Find text", ":Telescope live_grep <CR>"),
startify.button("c", " Configuration", ":e $MYVIMRC <CR>"), startify.button("c", " Configuration", ":e $MYVIMRC <CR>"),
startify.button("L", "󰒲 Lazy", ":Lazy<CR>"), startify.button("l", "󰒲 Lazy", ":Lazy<CR>"),
startify.button("q", "󰅚 Quit", ":qa<CR>"), startify.button("q", "󰅚 Quit", ":qa<CR>"),
} }
-- disable MRU -- disable MRU
startify.section.mru.val = { { type = "padding", val = 4 } } startify.section.mru.val = { { type = "padding", val = 4 } }
-- disable MRU cwd -- disable MRU cwd
startify.section.mru_cwd.val = { { type = "padding", val = 0 } } startify.section.mru_cwd.val = { { type = "padding", val = 0 } }
-- disable nvim_web_devicons -- disable nvim_web_devicons
startify.nvim_web_devicons.enabled = false startify.nvim_web_devicons.enabled = false
startify.section.bottom_buttons.val = {} startify.section.bottom_buttons.val = {}
vim.api.nvim_create_autocmd("User", { vim.api.nvim_create_autocmd("User", {
pattern = "LazyVimStarted", pattern = "LazyVimStarted",
desc = "Add Alpha dashboard footer", desc = "Add Alpha dashboard footer",
once = true, once = true,
callback = function() callback = function()
local stats = require("lazy").stats() local stats = require("lazy").stats()
local ms = math.floor(stats.startuptime * 100 + 0.5) / 100 local ms = math.floor(stats.startuptime * 100 + 0.5) / 100
-- stylua: ignore -- stylua: ignore
startify.section.footer.val = { startify.section.footer.val = {
-- { -- {
@ -59,24 +59,24 @@ function M.config(_, opts)
-- val = {"───────────────────────────────────────────"}, -- val = {"───────────────────────────────────────────"},
-- }, -- },
} }
pcall(vim.cmd.AlphaRedraw) pcall(vim.cmd.AlphaRedraw)
end, end,
}) })
vim.api.nvim_create_autocmd({ "User" }, { vim.api.nvim_create_autocmd({ "User" }, {
pattern = { "AlphaReady" }, pattern = { "AlphaReady" },
callback = function() callback = function()
vim.cmd([[ vim.cmd([[
set laststatus=0 | autocmd BufUnload <buffer> set laststatus=3 set laststatus=0 | autocmd BufUnload <buffer> set laststatus=3
]]) ]])
end, end,
}) })
-- ignore filetypes in MRU -- ignore filetypes in MRU
local default_mru_ignore = {} local default_mru_ignore = {}
startify.mru_opts.ignore = function(path, ext) startify.mru_opts.ignore = function(path, ext)
return (string.find(path, "COMMIT_EDITMSG")) or (vim.tbl_contains(default_mru_ignore, ext)) return (string.find(path, "COMMIT_EDITMSG")) or (vim.tbl_contains(default_mru_ignore, ext))
end end
alpha.setup(startify.config) alpha.setup(startify.config)
end end
return M return M

View file

@ -16,15 +16,17 @@ vim.g.maplocalleader = " "
-- command mode = "c" -- command mode = "c"
for _, mode in ipairs({ "i", "v", "n", "x" }) do for _, mode in ipairs({ "i", "v", "n", "x" }) do
-- duplicate line -- duplicate line
keymap(mode, "<S-Down>", "<cmd>t.<cr>", opts) keymap(mode, "<S-Down>", "<cmd>t.<cr>", opts)
keymap(mode, "<S-Up>", "<cmd>t -1<cr>", opts) keymap(mode, "<S-Up>", "<cmd>t -1<cr>", opts)
-- save file -- save file
keymap(mode, "<C-s>", "<cmd>silent! w<cr>", opts) keymap(mode, "<C-s>", "<cmd>silent! w<cr>", opts)
end end
-- duplicate line visual block -- duplicate line visual block
keymap("x", "<S-Down>", ":'<,'>t'><cr>", opts) keymap("x", "<S-Down>", ":'<,'>t'><cr>", opts)
keymap("x", "<S-Up>", ":'<,'>t-1<cr>", opts) keymap("x", "<S-Up>", ":'<,'>t-1<cr>", opts)
-- move text up and down -- move text up and down
keymap("x", "<A-Down>", ":move '>+1<CR>gv-gv", opts) keymap("x", "<A-Down>", ":move '>+1<CR>gv-gv", opts)
keymap("x", "<A-Up>", ":move '<-2<CR>gv-gv", opts) keymap("x", "<A-Up>", ":move '<-2<CR>gv-gv", opts)
@ -32,6 +34,7 @@ keymap("n", "<M-Down>", "<cmd>m+<cr>", opts)
keymap("i", "<M-Down>", "<cmd>m+<cr>", opts) keymap("i", "<M-Down>", "<cmd>m+<cr>", opts)
keymap("n", "<M-Up>", "<cmd>m-2<cr>", opts) keymap("n", "<M-Up>", "<cmd>m-2<cr>", opts)
keymap("i", "<M-Up>", "<cmd>m-2<cr>", opts) keymap("i", "<M-Up>", "<cmd>m-2<cr>", opts)
-- create comment CTRL + / all mode -- create comment CTRL + / all mode
keymap("v", "<C-_>", "<esc><cmd>lua require('Comment.api').toggle.linewise(vim.fn.visualmode())<cr>", opts) keymap("v", "<C-_>", "<esc><cmd>lua require('Comment.api').toggle.linewise(vim.fn.visualmode())<cr>", opts)
keymap("v", "<C-/>", "<esc><cmd>lua require('Comment.api').toggle.linewise(vim.fn.visualmode())<cr>", opts) keymap("v", "<C-/>", "<esc><cmd>lua require('Comment.api').toggle.linewise(vim.fn.visualmode())<cr>", opts)
@ -45,3 +48,46 @@ keymap("n", "<C-/>", "<esc><cmd>lua require('Comment.api').toggle.linewise.curre
-- close windows -- close windows
keymap("n", "q", "<cmd>q<cr>", opts) keymap("n", "q", "<cmd>q<cr>", opts)
keymap("n", "f", "<cmd>NvimTreeFindFileToggle<cr><cr><Up>", opts) keymap("n", "f", "<cmd>NvimTreeFindFileToggle<cr><cr><Up>", opts)
-- window navigation
keymap("n", "<c-h>", "<C-w>h", opts)
keymap("n", "<c-j>", "<C-w>j", opts)
keymap("n", "<c-k>", "<C-w>k", opts)
keymap("n", "<c-l>", "<C-w>l", opts)
keymap("n", "<c-a>", "gg0v$G", opts)
keymap("i", "<c-a>", "<esc>gg0v$G", opts)
keymap("n", "<c-c>", '"+y', opts)
keymap("v", "<c-c>", '"+y', opts)
keymap("x", "<c-c>", '"+y', opts)
keymap("n", "<c-v>", '"+P', opts)
keymap("v", "<c-v>", '"+P', opts)
keymap("i", "<c-v>", "<esc>pa<Left>", opts)
keymap("x", "<c-v>", '"+P', opts)
keymap("n", "<c-z>", "<cmd>undo<CR>", opts)
keymap("x", "<c-z>", "<esc><cmd>undo<CR>", opts)
keymap("v", "<c-z>", "<esc><cmd>undo<CR>", opts)
keymap("i", "<c-z>", "<esc><cmd>undo<CR>", opts)
-- Navigate buffers
keymap("n", "<S-l>", ":bnext<CR>", opts)
keymap("n", "<S-Left>", "<Esc>:bnext<CR>", opts)
keymap("n", "<S-h>", ":bprevious<CR>", opts)
keymap("n", "<S-Right>", "<Esc>:bprevious<CR>", opts)
-- Reordering Bufferline
keymap("n", "<S-PageUp>", "<cmd>BufferLineMovePrev<cr>", opts)
keymap("n", "<S-PageDown>", "<cmd>BufferLineMoveNext<cr>", opts)
-- Press jk fast to exit insert mode
keymap("i", "jk", "<ESC>", opts)
keymap("i", "kj", "<ESC>", opts)
-- Stay in indent mode
keymap("v", "<", "<gv", opts)
keymap("v", ">", ">gv", opts)
-- ALT + l to open terminal and run live-server
keymap("n", "<A-l>", "<cmd>terminal live-server<cr>", opts)
-- close current buffer
keymap("n", "<S-t>", "<cmd>lua require('auto-bufferline.configs.utils').bufremove()<cr>", opts)