Whichkey rework, dashboard, yazi
This commit is contained in:
parent
d9ac8b2bd1
commit
92bd99d8ea
13 changed files with 197 additions and 39 deletions
|
|
@ -191,13 +191,17 @@ vim.cmd[[colorscheme no-clown-fiesta]]
|
|||
|
||||
-- My own color overrides
|
||||
local hl = vim.api.nvim_set_hl
|
||||
hl(0, 'TSConstant', { fg = palette.yellow })
|
||||
hl(0, 'EndOfBuffer', { fg = palette.medium_gray })
|
||||
hl(0, 'ErrorMsg', { fg = palette.yellow })
|
||||
hl(0, 'LineNr', { fg = palette.medium_gray })
|
||||
hl(0, 'MasonNormal', { bg = palette.gray })
|
||||
hl(0, 'NvimTreeCursorLine', { fg = palette.yellow })
|
||||
hl(0, 'NvimTreeEndOfBuffer', { fg = palette.medium_gray })
|
||||
hl(0, 'TSConstant', { fg = palette.yellow })
|
||||
hl(0, 'EndOfBuffer', { fg = palette.medium_gray })
|
||||
hl(0, 'ErrorMsg', { fg = palette.yellow })
|
||||
hl(0, 'LineNr', { fg = palette.medium_gray })
|
||||
hl(0, 'MasonNormal', { bg = palette.gray })
|
||||
hl(0, 'NvimTreeCursorLine', { fg = palette.yellow })
|
||||
hl(0, 'NvimTreeEndOfBuffer', { fg = palette.medium_gray })
|
||||
hl(0, 'NvimTreeIndentMarker', { fg = palette.medium_gray })
|
||||
hl(0, 'NvimTreeFolderIcon', { fg = palette.yellow })
|
||||
hl(0, 'NvimTreeFolderIcon', { fg = palette.yellow })
|
||||
hl(0, 'WhichKeyFloat', { bg = nil })
|
||||
hl(0, 'WhichKeyDesc', { link = "function" })
|
||||
hl(0, 'WhichKey', { fg = palette.medium_gray_blue })
|
||||
hl(0, 'WhichKeyGroup', { fg = palette.gray_blue, bold = true })
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,58 @@
|
|||
local alpha = require("alpha")
|
||||
local dashboard = require("alpha.themes.dashboard")
|
||||
|
||||
math.randomseed(os.time())
|
||||
|
||||
local function pick_color()
|
||||
local colors = {"String", "Identifier", "Keyword", "Number"}
|
||||
return colors[math.random(#colors)]
|
||||
end
|
||||
|
||||
local function footer()
|
||||
local total_plugins = #vim.tbl_keys(packer_plugins)
|
||||
local version = vim.version()
|
||||
local nvim_version_info = " NVIM v" .. version.major .. "." .. version.minor .. "." .. version.patch
|
||||
|
||||
return nvim_version_info .. " " .. total_plugins .. " plugins"
|
||||
end
|
||||
|
||||
-- Set header
|
||||
dashboard.section.header.val = {
|
||||
" ⣴⣶⣤⡤⠦⣤⣀⣤⠆ ⣈⣭⣭⣿⣶⣿⣦⣼⣆ ",
|
||||
" ⠉⠻⢿⣿⠿⣿⣿⣶⣦⠤⠄⡠⢾⣿⣿⡿⠋⠉⠉⠻⣿⣿⡛⣦ ",
|
||||
" ⠈ ⠈⢿⣿⣟⠦⠄⣾⣿⣿⣷ ⠻⠿⢿⣿⣧⣄ ",
|
||||
" ⣸⣿⣿⢧⠄⢻⠻⣿⣿⣷⣄⣀⠄⠢⣀⡀⠈⠙⠿⠄ ",
|
||||
" ⢠⣿⣿⣿⠈ ⠡⠌⣻⣿⣿⣿⣿⣿⣿⣿⣛⣳⣤⣀⣀ ",
|
||||
" ⢠⣧⣶⣥⡤⢄ ⣸⣿⣿⠘ ⢀⣴⣿⣿⡿⠛⣿⣿⣧⠈⢿⠿⠟⠛⠻⠿ ",
|
||||
" ⣰⣿⣿⠛⠻⣿⣿⡦⢹⣿⣷⠄ ⢊⣿⣿⡏ ⢸⣿⣿⡇ ⢀⣠⣄⣾⠄ ",
|
||||
"⣠⣿⠿⠛ ⢀⣿⣿⣷⠘⢿⣿⣦⡀ ⢸⢿⣿⣿⣄ ⣸⣿⣿⡇⣪⣿⡿⠿⣿⣷⡄ ",
|
||||
"⠙⠃ ⣼⣿⡟⠌ ⠈⠻⣿⣿⣦⣌⡇⠻⣿⣿⣷⣿⣿⣿⠐⣿⣿⡇ ⠛⠻⢷⣄",
|
||||
" ⢻⣿⣿⣄ ⠈⠻⣿⣿⣿⣷⣿⣿⣿⣿⣿⡟ ⠫⢿⣿⡆ ⠁",
|
||||
" ⠻⣿⣿⣿⣿⣶⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣀⣤⣾⡿⠃ ",
|
||||
"⢀⣀⠀⣠⣀⣠⣾⣿⣿⡿⠛⠋⠉⠉⠉ ⠉⠉⠉⠉⠛⠻⣿⣿⣷⣄⣀⢿⡽⢻⣦",
|
||||
"⠻⠶⠾⠿⠿⠿⠋⠉ N E O V I M ⠉⠻⠿⠿⠿⠿⠿⠋",
|
||||
}
|
||||
|
||||
-- Set menu
|
||||
dashboard.section.buttons.val = {
|
||||
dashboard.button( "e", " New file" , ":ene <BAR> startinsert <CR>"),
|
||||
dashboard.button( "q", " Quit NVIM", ":qa<CR>"),
|
||||
}
|
||||
|
||||
vim.api.nvim_create_autocmd("VimEnter", {
|
||||
once = true,
|
||||
callback = function()
|
||||
math.randomseed(os.time())
|
||||
local fg_color = tostring(math.random(0, 12))
|
||||
local hi_setter = "hi AlphaHeader ctermfg="
|
||||
vim.cmd(hi_setter .. fg_color)
|
||||
end
|
||||
})
|
||||
|
||||
dashboard.section.footer.val = footer()
|
||||
|
||||
dashboard.section.header.opts.hl = "Include"
|
||||
dashboard.section.footer.opts.hl = "String"
|
||||
|
||||
alpha.setup(dashboard.opts)
|
||||
|
||||
|
|
@ -1,2 +1,4 @@
|
|||
vim.keymap.set("n", "<leader>gs", vim.cmd.Git)
|
||||
local wk = require("which-key")
|
||||
|
||||
wk.register({g = { name = "git" }, prefix = "<leader>"})
|
||||
vim.keymap.set("n", "<leader>gs", vim.cmd.Git, { desc = "Git status" })
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
vim.keymap.set("n", "<leader>e", function ()
|
||||
vim.cmd("Lf")
|
||||
end)
|
||||
-- vim.keymap.set("n", "<leader>e", function ()
|
||||
-- vim.cmd("Lf")
|
||||
-- end)
|
||||
|
||||
|
|
|
|||
|
|
@ -9,17 +9,23 @@ lsp_zero.on_attach(function(client, bufnr)
|
|||
lsp_zero.default_keymaps({buffer = bufnr})
|
||||
end)
|
||||
|
||||
-- LUA
|
||||
lspconfig.lua_ls.setup({
|
||||
settings = {
|
||||
Lua = {
|
||||
diagnostics = {
|
||||
-- Making sure that lua recognizes the global variable 'vim'
|
||||
globals = { 'vim' },
|
||||
globals = { 'vim', 'xplr' },
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
-- RUST
|
||||
-- Must run `rustup default stable` and then `rustup component add rust-analyzer`
|
||||
-- upon first install
|
||||
lspconfig.rust_analyzer.setup({})
|
||||
|
||||
lspconfig.clangd.setup({
|
||||
capabilities = lsp_capabilities,
|
||||
})
|
||||
|
|
@ -53,3 +59,11 @@ cmp.setup({
|
|||
}
|
||||
})
|
||||
|
||||
-- DIAGNOSTICS
|
||||
|
||||
-- Show all diagnostics on current line in floating window
|
||||
vim.api.nvim_set_keymap(
|
||||
'n', 'gl', ':lua vim.diagnostic.open_float()<CR>',
|
||||
{ noremap = true, silent = true }
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
vim.cmd([[
|
||||
vim.keymap.set("n", "<leader>mp", "<Plug>MarkdownPreview",
|
||||
{ desc = "Markdown prewview" })
|
||||
|
||||
nmap <leader>mp <Plug>MarkdownPreview
|
||||
vim.cmd([[
|
||||
|
||||
" set to 1, nvim will open the preview window after entering the markdown buffer
|
||||
" default: 0
|
||||
|
|
|
|||
|
|
@ -1,14 +1,29 @@
|
|||
local builtin = require("telescope.builtin")
|
||||
|
||||
vim.keymap.set("n", "<leader>pf", builtin.find_files, {})
|
||||
vim.keymap.set("n", "<leader>ps", function()
|
||||
builtin.grep_string({ search = vim.fn.input("Grep > ") })
|
||||
end)
|
||||
vim.keymap.set("n", "<leader>ht", builtin.colorscheme, {})
|
||||
|
||||
require("telescope").setup{
|
||||
defaults = {
|
||||
file_ignore_patterns = { ".git\\", ".pyc", ".mypy_cache\\", "node_modules\\", ".svg" }
|
||||
}
|
||||
}
|
||||
|
||||
local wk = require("which-key")
|
||||
|
||||
-- <leader> p
|
||||
wk.register({p = { name = "project" }, prefix = "<leader>"})
|
||||
vim.keymap.set("n", "<leader>pf", builtin.find_files, {desc = "Project find"})
|
||||
vim.keymap.set("n", "<leader>ps", function ()
|
||||
builtin.grep_string({ search = vim.fn.input("Grep > ") })
|
||||
end , {desc = "Project search"})
|
||||
|
||||
-- <leader> f
|
||||
wk.register({f = { name = "find" }, prefix = "<leader>"})
|
||||
vim.keymap.set("n", "<leader>fr", builtin.oldfiles, { desc = "Find recent" })
|
||||
|
||||
-- <leader> h
|
||||
wk.register({h = { name = "help" }, prefix = "<leader>"})
|
||||
vim.keymap.set("n", "<leader>ht", builtin.colorscheme, { desc = "Load theme" })
|
||||
vim.keymap.set("n", "<leader>hf", builtin.commands , { desc = "Describe function" })
|
||||
vim.keymap.set("n", "<leader>hk", builtin.keymaps , { desc = "Describe key" })
|
||||
vim.keymap.set("n", "<leader>hv", builtin.vim_options, { desc = "Describe key" })
|
||||
vim.keymap.set("n", "<leader>hh", builtin.help_tags , { desc = "Search local wiki" })
|
||||
|
||||
|
|
|
|||
16
after/plugin/whichkey.lua
Normal file
16
after/plugin/whichkey.lua
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
require("which-key").setup({
|
||||
window = {
|
||||
border = "single", -- none, single, double, shadow
|
||||
position = "bottom", -- bottom, top
|
||||
margin = { 0, 0, 0, 0 }, -- extra window margin [top, right, bottom, left]. When between 0 and 1, will be treated as a percentage of the screen size.
|
||||
padding = { 0, 2, 0, 2 }, -- extra window padding [top, right, bottom, left]
|
||||
winblend = 0, -- value between 0-100 0 for fully opaque and 100 for fully transparent
|
||||
zindex = 1000, -- positive value to position WhichKey above other floating windows.
|
||||
},
|
||||
layout = {
|
||||
height = { min = 4, max = 25 }, -- min and max height of the columns
|
||||
width = { min = 20, max = 50 }, -- min and max width of the columns
|
||||
spacing = 3, -- spacing between columns
|
||||
align = "left", -- align columns left, center or right
|
||||
},
|
||||
})
|
||||
4
after/plugin/yazi.lua
Normal file
4
after/plugin/yazi.lua
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
vim.keymap.set("n", "<leader>e", function ()
|
||||
vim.cmd("Yazi")
|
||||
end)
|
||||
|
||||
0
init.lua
Executable file → Normal file
0
init.lua
Executable file → Normal file
|
|
@ -12,25 +12,28 @@ end
|
|||
local packer_bootstrap = ensure_packer()
|
||||
|
||||
return require("packer").startup(function(use)
|
||||
use "goolord/alpha-nvim"
|
||||
|
||||
use "wbthomason/packer.nvim"
|
||||
|
||||
-- -- Dashboard
|
||||
-- use {
|
||||
-- 'glepnir/dashboard-nvim',
|
||||
-- event = 'VimEnter',
|
||||
-- requires = {'nvim-tree/nvim-web-devicons'},
|
||||
-- config = function()
|
||||
-- require('dashboard').setup {
|
||||
-- -- config
|
||||
-- }
|
||||
-- end,
|
||||
-- }
|
||||
use "DreamMaoMao/yazi.nvim"
|
||||
|
||||
use "whonore/Coqtail"
|
||||
|
||||
use {
|
||||
"folke/which-key.nvim",
|
||||
config = function()
|
||||
vim.o.timeout = true
|
||||
vim.o.timeoutlen = 300
|
||||
end
|
||||
}
|
||||
|
||||
-- File manager in nvim
|
||||
use {
|
||||
"ptzz/lf.vim",
|
||||
requires = { {"voldikss/vim-floaterm"} },
|
||||
}
|
||||
vim.cmd("let g:lf_map_keys = 0") -- Need to put here or else doesn't work
|
||||
|
||||
-- Zen mode
|
||||
use "folke/zen-mode.nvim"
|
||||
|
|
@ -97,6 +100,12 @@ return require("packer").startup(function(use)
|
|||
}
|
||||
}
|
||||
|
||||
-- Better diagnostics
|
||||
use {
|
||||
"folke/trouble.nvim",
|
||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||
}
|
||||
|
||||
-- Linting
|
||||
use "jose-elias-alvarez/null-ls.nvim"
|
||||
|
||||
|
|
@ -116,10 +125,10 @@ return require("packer").startup(function(use)
|
|||
})
|
||||
|
||||
-- Jupyter notebook integration
|
||||
use {
|
||||
"glacambre/firenvim",
|
||||
run = function() vim.fn["firenvim#install"](0) end
|
||||
}
|
||||
-- use {
|
||||
-- "glacambre/firenvim",
|
||||
-- run = function() vim.fn["firenvim#install"](0) end
|
||||
-- }
|
||||
|
||||
if packer_bootstrap then
|
||||
require('packer').sync()
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@ vim.keymap.set("n", "N", "Nzzzv")
|
|||
-- easier escape back to normal mode
|
||||
vim.keymap.set("i", "<C-c>", "<Esc>")
|
||||
|
||||
-- lol
|
||||
vim.keymap.set("n", "Q", "<nop>")
|
||||
|
||||
-- universal find and replace
|
||||
|
|
@ -35,7 +34,27 @@ vim.keymap.set("n", "<leader>y", "\"+y")
|
|||
vim.keymap.set("n", "<leader>d", "\"_d")
|
||||
vim.keymap.set("v", "<leader>d", "\"_d")
|
||||
|
||||
vim.keymap.set("n", "<leader>tc",
|
||||
function ()
|
||||
local col = "78"
|
||||
print(vim.o.cc)
|
||||
if vim.o.cc == col then
|
||||
vim.o.cc = ""
|
||||
else
|
||||
vim.o.cc = col
|
||||
end
|
||||
end,
|
||||
{desc = "Toggle color column"})
|
||||
|
||||
-- case insensitive search
|
||||
vim.keymap.set("n", "<leader>/", "/\\c")
|
||||
vim.keymap.set("n", "<leader>?", "?\\c")
|
||||
|
||||
vim.keymap.set("n", "<leader>hF",
|
||||
function()
|
||||
local result = vim.treesitter.get_captures_at_cursor(0)
|
||||
print(vim.inspect(result))
|
||||
end,
|
||||
{ noremap = true, silent = false, desc = "Describe face" }
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,3 @@
|
|||
-- vim.opt.guicursor = ""
|
||||
|
||||
vim.opt.nu = true
|
||||
vim.opt.relativenumber = true
|
||||
|
||||
|
|
@ -9,9 +7,27 @@ vim.opt.shiftwidth = 4
|
|||
vim.opt.expandtab = true
|
||||
|
||||
vim.opt.smartindent = true
|
||||
vim.opt.linebreak = true
|
||||
|
||||
local autocmd = vim.api.nvim_create_autocmd
|
||||
autocmd("bufenter", {
|
||||
pattern = "*",
|
||||
callback = function()
|
||||
if vim.bo.ft ~= "terminal" then
|
||||
vim.opt.laststatus = 2
|
||||
else
|
||||
vim.opt.laststatus = 0
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
-- Only search with case if capital letter is typed
|
||||
vim.opt.ignorecase = true
|
||||
vim.opt.smartcase = true
|
||||
vim.opt.wrap = true
|
||||
|
||||
vim.opt.splitbelow = true
|
||||
|
||||
vim.opt.scrolloff = 8
|
||||
vim.opt.signcolumn = "auto"
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue