mirror of
https://github.com/js0ny/dotfiles.git
synced 2025-12-21 08:43:00 +00:00
format with stylua
This commit is contained in:
parent
f42ac2a6a3
commit
12efeede26
30 changed files with 571 additions and 483 deletions
|
|
@ -1,2 +1 @@
|
|||
require("keymaps")
|
||||
|
||||
|
|
|
|||
|
|
@ -54,4 +54,3 @@ opt.sidescrolloff = 10
|
|||
opt.conceallevel = 2
|
||||
|
||||
vim.o.sessionoptions = "blank,buffers,curdir,folds,help,tabpages,winsize,winpos,terminal,localoptions"
|
||||
|
||||
|
|
|
|||
|
|
@ -3,21 +3,21 @@
|
|||
--- for available server and name
|
||||
local M = {}
|
||||
M.servers = {
|
||||
"arduino_language_server", -- Arduino
|
||||
"bashls", -- Bash
|
||||
"clangd", -- C/C++
|
||||
-- "cmake", -- CMake
|
||||
"eslint", -- JavaScript
|
||||
"gopls", -- Go
|
||||
"html", -- HTML
|
||||
"julials", -- Julia
|
||||
"lua_ls", -- Lua
|
||||
"omnisharp", -- C# & F#
|
||||
"powershell_es", -- PowerShell
|
||||
"pyright", -- Python
|
||||
"rust_analyzer", -- Rust
|
||||
"taplo", -- TOML
|
||||
"vimls", -- vimscript
|
||||
"arduino_language_server", -- Arduino
|
||||
"bashls", -- Bash
|
||||
"clangd", -- C/C++
|
||||
-- "cmake", -- CMake
|
||||
"eslint", -- JavaScript
|
||||
"gopls", -- Go
|
||||
"html", -- HTML
|
||||
"julials", -- Julia
|
||||
"lua_ls", -- Lua
|
||||
"omnisharp", -- C# & F#
|
||||
"powershell_es", -- PowerShell
|
||||
"pyright", -- Python
|
||||
"rust_analyzer", -- Rust
|
||||
"taplo", -- TOML
|
||||
"vimls", -- vimscript
|
||||
}
|
||||
|
||||
M.server_config = {
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@ local keymaps_basic = { -- Modification of Original Keymap - Colemak
|
|||
{ mode = mode_arrow, keys = "e", cmd = "k" },
|
||||
{ mode = mode_arrow, keys = "i", cmd = "l" },
|
||||
{ keys = "H", cmd = ":bprevious<CR>" },
|
||||
{ keys = "N", cmd = "J" },
|
||||
{ keys = "E", cmd = "K" },
|
||||
{ keys = "N", cmd = "5j" },
|
||||
{ keys = "E", cmd = "5k" },
|
||||
{ keys = "I", cmd = ":bnext<CR>" },
|
||||
{ keys = "l", cmd = "i" },
|
||||
{ keys = "L", cmd = "I" },
|
||||
|
|
@ -14,7 +14,7 @@ local keymaps_basic = { -- Modification of Original Keymap - Colemak
|
|||
{ keys = "K", cmd = "N" },
|
||||
{ keys = "j", cmd = "e" },
|
||||
{ keys = "J", cmd = "E" },
|
||||
{ keys = "Y", cmd = "y$"},
|
||||
{ keys = "Y", cmd = "y$" },
|
||||
}
|
||||
|
||||
return keymaps_basic
|
||||
|
|
|
|||
|
|
@ -11,8 +11,6 @@ local function set_keymaps(maps, default_opts, default_mode)
|
|||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
local keymaps_basic = require("keymaps.basic")
|
||||
local keymaps_nvim_tree_general = require("keymaps.nvim-tree").global
|
||||
local keymaps_leader = require("keymaps.leaders")
|
||||
|
|
@ -26,25 +24,25 @@ M.nvim_tree_keymaps = require("keymaps.nvim-tree").plugin
|
|||
--- `map` default for `cmp.mapping`
|
||||
function M.cmp_nvim_keymaps(map)
|
||||
return {
|
||||
{ keys = "<C-n>", cmd = map.select_next_item(), desc = "Select next completion item" },
|
||||
{ keys = "<C-p>", cmd = map.select_prev_item(), desc = "Select previous completion item" },
|
||||
{ keys = "<C-y>", cmd = map.confirm({ select = true }), desc = "Confirm completion" },
|
||||
{ keys = "<Tab>", cmd = map.confirm({ select = true }), desc = "Confirm completion" },
|
||||
{ keys = "<C-Space>", cmd = map.complete(), desc = "Trigger completion" },
|
||||
{ keys = "<C-e>", cmd = map.abort(), desc = "Abort completion" },
|
||||
{ keys = "<C-n>", cmd = map.select_next_item(), desc = "Select next completion item" },
|
||||
{ keys = "<C-p>", cmd = map.select_prev_item(), desc = "Select previous completion item" },
|
||||
{ keys = "<C-y>", cmd = map.confirm({ select = true }), desc = "Confirm completion" },
|
||||
{ keys = "<Tab>", cmd = map.confirm({ select = true }), desc = "Confirm completion" },
|
||||
{ keys = "<C-Space>", cmd = map.complete(), desc = "Trigger completion" },
|
||||
{ keys = "<C-e>", cmd = map.abort(), desc = "Abort completion" },
|
||||
}
|
||||
end
|
||||
|
||||
local function set_markdown_keymaps(bufnr)
|
||||
local opts = { noremap = true, silent = true, buffer = bufnr }
|
||||
vim.keymap.set("v", "`", "c`<C-r>\"`<Esc>", opts)
|
||||
local opts = { noremap = true, silent = true, buffer = bufnr }
|
||||
vim.keymap.set("v", "`", 'c`<C-r>"`<Esc>', opts)
|
||||
end
|
||||
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
pattern = "markdown",
|
||||
callback = function()
|
||||
set_markdown_keymaps(0)
|
||||
end,
|
||||
pattern = "markdown",
|
||||
callback = function()
|
||||
set_markdown_keymaps(0)
|
||||
end,
|
||||
})
|
||||
|
||||
require("keymaps.language")
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
local M = {}
|
||||
|
||||
|
||||
-- Markdown
|
||||
|
||||
local function set_markdown_keymaps(bufnr)
|
||||
|
|
@ -11,20 +10,19 @@ local function set_markdown_keymaps(bufnr)
|
|||
end
|
||||
end
|
||||
|
||||
|
||||
M.markdown = {
|
||||
{ mode = "v", keys = "`", cmd = "c`<Esc>pi`<Esc>" , desc = "Wrap selection in ` for inline code" },
|
||||
{ mode = "v", keys = "*", cmd = "c**<Esc>pi**<Esc>" , desc = "Wrap selection in ** for bold" },
|
||||
{ mode = "v", keys = "_", cmd = "c*<Esc>pi*<Esc>" , desc = "Wrap selection in * for italic" },
|
||||
{ mode = "v", keys = "`", cmd = "c`<Esc>pi`<Esc>", desc = "Wrap selection in ` for inline code" },
|
||||
{ mode = "v", keys = "*", cmd = "c**<Esc>pi**<Esc>", desc = "Wrap selection in ** for bold" },
|
||||
{ mode = "v", keys = "_", cmd = "c*<Esc>pi*<Esc>", desc = "Wrap selection in * for italic" },
|
||||
}
|
||||
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
pattern = "markdown",
|
||||
callback = function()
|
||||
set_markdown_keymaps(0)
|
||||
vim.opt_local.shiftwidth = 2
|
||||
vim.opt_local.tabstop = 2
|
||||
end,
|
||||
pattern = "markdown",
|
||||
callback = function()
|
||||
set_markdown_keymaps(0)
|
||||
vim.opt_local.shiftwidth = 2
|
||||
vim.opt_local.tabstop = 2
|
||||
end,
|
||||
})
|
||||
|
||||
return M
|
||||
|
|
|
|||
|
|
@ -2,10 +2,17 @@ local M = {}
|
|||
|
||||
local leader_general = {
|
||||
{ keys = "<space>", cmd = ":Telescope find_files<CR>", desc = "Find Files" },
|
||||
{ keys = "/", cmd = ":Telescope live_grep<CR>", desc = "Grep Files" },
|
||||
{ keys = "/", cmd = ":Telescope live_grep<CR>", desc = "Grep Files" },
|
||||
{ keys = "-", cmd = ":split<CR>", desc = "Split to down" },
|
||||
{ keys = "\\", cmd = ":vsplit<CR>", desc = "Split to right" },
|
||||
{ keys = "|", cmd = ":vsplit<CR>", desc = "Split to right" },
|
||||
{ keys = "h", cmd = "<C-w>h", desc = "Left Window" },
|
||||
{ keys = "n", cmd = "<C-w>j", desc = "Down Window" },
|
||||
{ keys = "e", cmd = "<C-w>k", desc = "Up Window" },
|
||||
{ keys = "i", cmd = "<C-w>l", desc = "Right Window" },
|
||||
}
|
||||
|
||||
for _,map in ipairs(leader_general) do
|
||||
for _, map in ipairs(leader_general) do
|
||||
map.keys = "<leader>" .. map.keys
|
||||
table.insert(M, map)
|
||||
end
|
||||
|
|
@ -36,9 +43,9 @@ local leader_w = { -- leader w: Windows Management
|
|||
}
|
||||
|
||||
local leader_f = { -- leader f: Files/Find
|
||||
{ keys = "f", cmd = ":Telescope fd<CR>", desc = "Find Files"},
|
||||
{ keys = "s", cmd = ":Telescope live_grep<CR>", desc = "Grep Files"},
|
||||
{ keys = "b", cmd = ":Telescope buffers<CR>", desc = "List Buffers"},
|
||||
{ keys = "f", cmd = ":Telescope fd<CR>", desc = "Find Files" },
|
||||
{ keys = "s", cmd = ":Telescope live_grep<CR>", desc = "Grep Files" },
|
||||
{ keys = "b", cmd = ":Telescope buffers<CR>", desc = "List Buffers" },
|
||||
{ keys = "e", cmd = ":NvimTreeToggle<CR>", desc = "Toggle File Explorer" },
|
||||
}
|
||||
|
||||
|
|
@ -46,6 +53,7 @@ local leader_p = { -- leader p: Project
|
|||
}
|
||||
|
||||
local leader_b = { -- leader b: Buffer
|
||||
{ keys = "a", cmd = ":Alpha", desc = "Dashboard" },
|
||||
{ keys = "d", cmd = ":bdelete<CR>", desc = "Delete Buffer" },
|
||||
{ keys = "h", cmd = ":bprevious<CR>", desc = "Previous Buffer" },
|
||||
{ keys = "i", cmd = ":bnext<CR>", desc = "Next Buffer" },
|
||||
|
|
@ -54,6 +62,7 @@ local leader_b = { -- leader b: Buffer
|
|||
{ keys = "0", cmd = ":bfirst<CR>", desc = "First Buffer" },
|
||||
{ keys = "^", cmd = ":bfirst<CR>", desc = "First Buffer" },
|
||||
{ keys = "$", cmd = ":blast<CR>", desc = "Last Buffer" },
|
||||
{ keys = "s", cmd = ":Telescope buffers<CR>", desc = "Search buffers" },
|
||||
}
|
||||
|
||||
for _, map in ipairs(leader_q) do
|
||||
|
|
|
|||
|
|
@ -8,73 +8,73 @@ function M.plugin(api, opts)
|
|||
-- mode is set to "n" by default, in `./lua/plugins/nvim-tree.lua`
|
||||
return {
|
||||
-- Toggle
|
||||
{ keys = "<leader>e", cmd = ":NvimTreeToggle<CR>", opts = opts("Toggle") },
|
||||
{ keys = "<leader>e", cmd = ":NvimTreeToggle<CR>", opts = opts("Toggle") },
|
||||
-- Arrow 箭头 hnei
|
||||
{ keys = "h", cmd = api.node.navigate.parent_close, opts = opts("Close node") },
|
||||
{ keys = "i", cmd = api.node.open.edit, opts = opts("Open") },
|
||||
{ keys = "H", cmd = api.tree.toggle_hidden_filter, opts = opts("Toggle Dotfiles") },
|
||||
{ keys = "N", cmd = api.node.navigate.sibling.next, opts = opts("Next Sibling") },
|
||||
{ keys = "E", cmd = api.node.navigate.sibling.prev, opts = opts("Previous Sibling") },
|
||||
{ keys = "I", cmd = api.tree.toggle_gitignore_filter, opts = opts("Toggle GitIgnored") },
|
||||
{ keys = "h", cmd = api.node.navigate.parent_close, opts = opts("Close node") },
|
||||
{ keys = "i", cmd = api.node.open.edit, opts = opts("Open") },
|
||||
{ keys = "H", cmd = api.tree.toggle_hidden_filter, opts = opts("Toggle Dotfiles") },
|
||||
{ keys = "N", cmd = api.node.navigate.sibling.next, opts = opts("Next Sibling") },
|
||||
{ keys = "E", cmd = api.node.navigate.sibling.prev, opts = opts("Previous Sibling") },
|
||||
{ keys = "I", cmd = api.tree.toggle_gitignore_filter, opts = opts("Toggle GitIgnored") },
|
||||
-- CONTROL KEYS 控制键
|
||||
{ keys = "<BS>", cmd = api.node.navigate.parent_close, opts = opts("Close node") },
|
||||
{ keys = "<CR>", cmd = api.node.open.edit, opts = opts("Open") },
|
||||
{ keys = "<Tab>", cmd = api.node.open.preview, opts = opts("Open Preview") },
|
||||
{ keys = "<BS>", cmd = api.node.navigate.parent_close, opts = opts("Close node") },
|
||||
{ keys = "<CR>", cmd = api.node.open.edit, opts = opts("Open") },
|
||||
{ keys = "<Tab>", cmd = api.node.open.preview, opts = opts("Open Preview") },
|
||||
-- Alpha 字母键
|
||||
{ keys = "a", cmd = api.fs.create, opts = opts("Create") },
|
||||
{ keys = "A", cmd = api.fs.create, opts = opts("Create") },
|
||||
{ keys = "bd", cmd = api.marks.bulk.delete, opts = opts("Delete Bookmarked") },
|
||||
{ keys = "bt", cmd = api.marks.bulk.trash, opts = opts("Trash Bookmarked") },
|
||||
{ keys = "bmv", cmd = api.marks.bulk.move, opts = opts("Move Bookmarked") },
|
||||
{ keys = "B", cmd = api.tree.toggle_no_buffer_filter, opts = opts("Toggle Filter: No Buffer") },
|
||||
{ keys = "c", cmd = api.fs.copy.node, opts = opts("Copy") },
|
||||
{ keys = "C", cmd = api.fs.copy.filename, opts = opts("Copy") },
|
||||
{ keys = "d", cmd = api.fs.remove, opts = opts("Delete") },
|
||||
{ keys = "D", cmd = api.fs.trash, opts = opts("Trash") },
|
||||
{ keys = "]e", cmd = api.node.navigate.diagnostics.next, opts = opts("Next Diagnostic") },
|
||||
{ keys = "[e", cmd = api.node.navigate.diagnostics.prev, opts = opts("Prev Diagnostic") },
|
||||
{ keys = "F", cmd = api.live_filter.clear, opts = opts("Live Filter: Clear") },
|
||||
{ keys = "f", cmd = api.live_filter.start, opts = opts("Live Filter: Start") },
|
||||
{ keys = "[g", cmd = api.node.navigate.git.prev, opts = opts("Prev Git") },
|
||||
{ keys = "]g", cmd = api.node.navigate.git.next, opts = opts("Next Git") },
|
||||
{ keys = "L", cmd = api.node.open.toggle_group_empty, opts = opts("Toggle Group Empty") },
|
||||
{ keys = "M", cmd = api.tree.toggle_no_bookmark_filter, opts = opts("Toggle Filter: No Bookmark") },
|
||||
{ keys = "m", cmd = api.marks.toggle, opts = opts("Toggle Bookmark") },
|
||||
{ keys = "o", cmd = api.node.open.edit, opts = opts("Open") },
|
||||
{ keys = "O", cmd = api.node.open.no_window_picker, opts = opts("Open: No Window Picker") },
|
||||
{ keys = "p", cmd = api.fs.paste, opts = opts("Paste") },
|
||||
{ keys = "P", cmd = api.node.navigate.parent, opts = opts("Parent Directory") },
|
||||
{ keys = "q", cmd = api.tree.close, opts = opts("Close") },
|
||||
{ keys = "r", cmd = api.fs.rename, opts = opts("Rename") },
|
||||
{ keys = "R", cmd = api.tree.reload, opts = opts("Refresh") },
|
||||
{ keys = "s", cmd = api.node.run.system, opts = opts("Run System") },
|
||||
{ keys = "S", cmd = api.tree.search_node, opts = opts("Search") },
|
||||
{ keys = "u", cmd = api.fs.rename_full, opts = opts("Rename: Full Path") },
|
||||
{ keys = "U", cmd = api.tree.toggle_custom_filter, opts = opts("Toggle Filter: Hidden") },
|
||||
{ keys = "W", cmd = api.tree.collapse_all, opts = opts("Collapse") },
|
||||
{ keys = "x", cmd = api.fs.cut, opts = opts("Cut") },
|
||||
{ keys = "y", cmd = api.fs.copy.relative_path, opts = opts("Copy Relative Path") },
|
||||
{ keys = "Y", cmd = api.fs.copy.absolute_path, opts = opts("Copy Absolute Path") },
|
||||
{ keys = "a", cmd = api.fs.create, opts = opts("Create") },
|
||||
{ keys = "A", cmd = api.fs.create, opts = opts("Create") },
|
||||
{ keys = "bd", cmd = api.marks.bulk.delete, opts = opts("Delete Bookmarked") },
|
||||
{ keys = "bt", cmd = api.marks.bulk.trash, opts = opts("Trash Bookmarked") },
|
||||
{ keys = "bmv", cmd = api.marks.bulk.move, opts = opts("Move Bookmarked") },
|
||||
{ keys = "B", cmd = api.tree.toggle_no_buffer_filter, opts = opts("Toggle Filter: No Buffer") },
|
||||
{ keys = "c", cmd = api.fs.copy.node, opts = opts("Copy") },
|
||||
{ keys = "C", cmd = api.fs.copy.filename, opts = opts("Copy") },
|
||||
{ keys = "d", cmd = api.fs.remove, opts = opts("Delete") },
|
||||
{ keys = "D", cmd = api.fs.trash, opts = opts("Trash") },
|
||||
{ keys = "]e", cmd = api.node.navigate.diagnostics.next, opts = opts("Next Diagnostic") },
|
||||
{ keys = "[e", cmd = api.node.navigate.diagnostics.prev, opts = opts("Prev Diagnostic") },
|
||||
{ keys = "F", cmd = api.live_filter.clear, opts = opts("Live Filter: Clear") },
|
||||
{ keys = "f", cmd = api.live_filter.start, opts = opts("Live Filter: Start") },
|
||||
{ keys = "[g", cmd = api.node.navigate.git.prev, opts = opts("Prev Git") },
|
||||
{ keys = "]g", cmd = api.node.navigate.git.next, opts = opts("Next Git") },
|
||||
{ keys = "L", cmd = api.node.open.toggle_group_empty, opts = opts("Toggle Group Empty") },
|
||||
{ keys = "M", cmd = api.tree.toggle_no_bookmark_filter, opts = opts("Toggle Filter: No Bookmark") },
|
||||
{ keys = "m", cmd = api.marks.toggle, opts = opts("Toggle Bookmark") },
|
||||
{ keys = "o", cmd = api.node.open.edit, opts = opts("Open") },
|
||||
{ keys = "O", cmd = api.node.open.no_window_picker, opts = opts("Open: No Window Picker") },
|
||||
{ keys = "p", cmd = api.fs.paste, opts = opts("Paste") },
|
||||
{ keys = "P", cmd = api.node.navigate.parent, opts = opts("Parent Directory") },
|
||||
{ keys = "q", cmd = api.tree.close, opts = opts("Close") },
|
||||
{ keys = "r", cmd = api.fs.rename, opts = opts("Rename") },
|
||||
{ keys = "R", cmd = api.tree.reload, opts = opts("Refresh") },
|
||||
{ keys = "s", cmd = api.node.run.system, opts = opts("Run System") },
|
||||
{ keys = "S", cmd = api.tree.search_node, opts = opts("Search") },
|
||||
{ keys = "u", cmd = api.fs.rename_full, opts = opts("Rename: Full Path") },
|
||||
{ keys = "U", cmd = api.tree.toggle_custom_filter, opts = opts("Toggle Filter: Hidden") },
|
||||
{ keys = "W", cmd = api.tree.collapse_all, opts = opts("Collapse") },
|
||||
{ keys = "x", cmd = api.fs.cut, opts = opts("Cut") },
|
||||
{ keys = "y", cmd = api.fs.copy.relative_path, opts = opts("Copy Relative Path") },
|
||||
{ keys = "Y", cmd = api.fs.copy.absolute_path, opts = opts("Copy Absolute Path") },
|
||||
-- Numeric 数字键
|
||||
{ keys = "!", cmd = api.node.run.cmd, opts = opts("Run Command") },
|
||||
{ keys = "!", cmd = api.node.run.cmd, opts = opts("Run Command") },
|
||||
-- Non-Alphanumeric 非字母数字键
|
||||
{ keys = "?", cmd = api.tree.toggle_help, opts = opts("Help") },
|
||||
{ keys = ">", cmd = api.node.navigate.sibling.next, opts = opts("Next Sibling") },
|
||||
{ keys = "<", cmd = api.node.navigate.sibling.prev, opts = opts("Previous Sibling") },
|
||||
{ keys = ".", cmd = api.node.run.cmd, opts = opts("Run Command") },
|
||||
{ keys = ";", cmd = api.node.run.cmd, opts = opts("Run Command") },
|
||||
{ keys = "-", cmd = api.tree.change_root_to_parent, opts = opts("Up") },
|
||||
{ keys = "?", cmd = api.tree.toggle_help, opts = opts("Help") },
|
||||
{ keys = ">", cmd = api.node.navigate.sibling.next, opts = opts("Next Sibling") },
|
||||
{ keys = "<", cmd = api.node.navigate.sibling.prev, opts = opts("Previous Sibling") },
|
||||
{ keys = ".", cmd = api.node.run.cmd, opts = opts("Run Command") },
|
||||
{ keys = ";", cmd = api.node.run.cmd, opts = opts("Run Command") },
|
||||
{ keys = "-", cmd = api.tree.change_root_to_parent, opts = opts("Up") },
|
||||
-- MOD KEYS Ctrl+
|
||||
{ keys = "<C-]>", cmd = api.tree.change_root_to_node, opts = opts("CD") },
|
||||
{ keys = "<C-e>", cmd = api.node.open.replace_tree_buffer, opts = opts("Open: In Place") },
|
||||
{ keys = "<C-k>", cmd = api.node.show_info_popup, opts = opts("Info") },
|
||||
{ keys = "<C-r>", cmd = api.fs.rename_sub, opts = opts("Rename: Omit Filename") },
|
||||
{ keys = "<C-t>", cmd = api.node.open.tab, opts = opts("Open: New Tab") },
|
||||
{ keys = "<C-v>", cmd = api.node.open.vertical, opts = opts("Open: Vertical Split") },
|
||||
{ keys = "<C-h>", cmd = api.node.open.horizontal, opts = opts("Open: Horizontal Split") },
|
||||
{ keys = "<C-]>", cmd = api.tree.change_root_to_node, opts = opts("CD") },
|
||||
{ keys = "<C-e>", cmd = api.node.open.replace_tree_buffer, opts = opts("Open: In Place") },
|
||||
{ keys = "<C-k>", cmd = api.node.show_info_popup, opts = opts("Info") },
|
||||
{ keys = "<C-r>", cmd = api.fs.rename_sub, opts = opts("Rename: Omit Filename") },
|
||||
{ keys = "<C-t>", cmd = api.node.open.tab, opts = opts("Open: New Tab") },
|
||||
{ keys = "<C-v>", cmd = api.node.open.vertical, opts = opts("Open: Vertical Split") },
|
||||
{ keys = "<C-h>", cmd = api.node.open.horizontal, opts = opts("Open: Horizontal Split") },
|
||||
-- Mouse 鼠标键
|
||||
{ keys = "<2-LeftMouse>", cmd = api.node.open.edit, opts = opts("Open") },
|
||||
{ keys = "<2-RightMouse>", cmd = api.tree.change_root_to_node, opts = opts("CD") },
|
||||
{ keys = "<2-LeftMouse>", cmd = api.node.open.edit, opts = opts("Open") },
|
||||
{ keys = "<2-RightMouse>", cmd = api.tree.change_root_to_node, opts = opts("CD") },
|
||||
}
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@ return {
|
|||
{ "catppuccin/nvim", name = "catppuccin" },
|
||||
{ "RRethy/vim-illuminate" },
|
||||
{
|
||||
'nvim-lualine/lualine.nvim',
|
||||
dependencies = { 'nvim-tree/nvim-web-devicons' },
|
||||
"nvim-lualine/lualine.nvim",
|
||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||
config = function()
|
||||
require("plugins.mod.lualine")
|
||||
end,
|
||||
|
|
@ -18,9 +18,9 @@ return {
|
|||
timer = 500,
|
||||
},
|
||||
})
|
||||
end
|
||||
end,
|
||||
},
|
||||
{ import = "plugins.mod.alpha-nvim" },
|
||||
{ import = "plugins.mod.winbar-nvim"},
|
||||
{ import = "plugins.mod.winbar-nvim" },
|
||||
{ import = "plugins.mod.bufferline" },
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
return {
|
||||
{ import = "plugins.mod.auto-session" },
|
||||
{ import = "plugins.mod.nvim-tree" },
|
||||
{ import = "plugins.mod.telescope" },
|
||||
{ import = "plugins.mod.projects" }
|
||||
{ import = "plugins.mod.nvim-tree" },
|
||||
{ import = "plugins.mod.telescope" },
|
||||
{ import = "plugins.mod.projects" },
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,12 +15,11 @@ if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
|||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
|
||||
require("lazy").setup({
|
||||
{ import = "plugins.appearance" },
|
||||
{ import = "plugins.completion" },
|
||||
{ import = "plugins.fileutils" },
|
||||
{ import = "plugins.lsp" },
|
||||
{ import = "plugins.syntax" },
|
||||
{ import = "plugins.misc" },
|
||||
{ import = "plugins.appearance" },
|
||||
{ import = "plugins.completion" },
|
||||
{ import = "plugins.fileutils" },
|
||||
{ import = "plugins.lsp" },
|
||||
{ import = "plugins.syntax" },
|
||||
{ import = "plugins.misc" },
|
||||
})
|
||||
|
|
|
|||
|
|
@ -1,29 +1,28 @@
|
|||
|
||||
return {
|
||||
{ import = "plugins.mod.lspconfig" },
|
||||
{
|
||||
"NoahTheDuke/vim-just",
|
||||
ft = { "just" }
|
||||
ft = { "just" },
|
||||
},
|
||||
{ import = "plugins.mod.render-markdown" },
|
||||
-- { import = "plugins.mod.markview" },
|
||||
{
|
||||
"lervag/vimtex",
|
||||
lazy = false, -- we don't want to lazy load VimTeX
|
||||
lazy = false, -- we don't want to lazy load VimTeX
|
||||
-- tag = "v2.15", -- uncomment to pin to a specific release
|
||||
init = function()
|
||||
-- VimTeX configuration goes here, e.g.
|
||||
vim.g.vimtex_view_method = "sioyek"
|
||||
end
|
||||
end,
|
||||
},
|
||||
{
|
||||
"iurimateus/luasnip-latex-snippets.nvim",
|
||||
-- vimtex isn't required if using treesitter
|
||||
requires = { "L3MON4D3/LuaSnip", "lervag/vimtex" },
|
||||
config = function()
|
||||
require'luasnip-latex-snippets'.setup()
|
||||
require("luasnip-latex-snippets").setup()
|
||||
-- or setup({ use_treesitter = true })
|
||||
require("luasnip").config.setup { enable_autosnippets = true }
|
||||
require("luasnip").config.setup({ enable_autosnippets = true })
|
||||
end,
|
||||
},
|
||||
{ "williamboman/mason.nvim", config = true },
|
||||
|
|
@ -41,6 +40,25 @@ return {
|
|||
mason_lspconfig.setup({
|
||||
ensure_installed = servers,
|
||||
})
|
||||
end
|
||||
end,
|
||||
},
|
||||
{
|
||||
"nvim-orgmode/orgmode",
|
||||
event = "VeryLazy",
|
||||
ft = { "org" },
|
||||
config = function()
|
||||
-- Setup orgmode
|
||||
require("orgmode").setup({
|
||||
org_agenda_files = "~/orgfiles/**/*",
|
||||
org_default_notes_file = "~/orgfiles/refile.org",
|
||||
})
|
||||
|
||||
-- NOTE: If you are using nvim-treesitter with ~ensure_installed = "all"~ option
|
||||
-- add ~org~ to ignore_install
|
||||
-- require('nvim-treesitter.configs').setup({
|
||||
-- ensure_installed = 'all',
|
||||
-- ignore_install = { 'org' },
|
||||
-- })
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
return {
|
||||
{ 'wakatime/vim-wakatime', lazy = false },
|
||||
{ "wakatime/vim-wakatime", lazy = false },
|
||||
{ import = "plugins.mod.obsidian-nvim" },
|
||||
{
|
||||
"folke/which-key.nvim",
|
||||
|
|
@ -22,5 +22,5 @@ return {
|
|||
{
|
||||
"github/copilot.vim",
|
||||
lazy = false,
|
||||
}
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
-- alpha-nvim.lua
|
||||
return {
|
||||
{
|
||||
'goolord/alpha-nvim',
|
||||
"goolord/alpha-nvim",
|
||||
dependencies = {
|
||||
-- 'echasnovski/mini.icons',
|
||||
-- 'nvim-lua/plenary.nvim'
|
||||
},
|
||||
config = function ()
|
||||
local alpha = require'alpha'
|
||||
local dashboard = require'alpha.themes.dashboard'
|
||||
config = function()
|
||||
local alpha = require("alpha")
|
||||
local dashboard = require("alpha.themes.dashboard")
|
||||
dashboard.section.header.val = {
|
||||
" ",
|
||||
"================= =============== =============== ======== ========",
|
||||
|
|
@ -34,11 +34,11 @@ return {
|
|||
dashboard.section.buttons.val.leader = "SPC"
|
||||
dashboard.section.buttons.val = {
|
||||
-- leader = "SPC",
|
||||
dashboard.button('p', ' 查找项目', ':Telescope projects<CR>'),
|
||||
dashboard.button('h', ' 历史文件', ':Telescope oldfiles<CR>'),
|
||||
dashboard.button('l', ' 加载会话', ':SessionSearch<CR>'),
|
||||
dashboard.button('c', ' 转到设置', ':Telescope find_files cwd=~/.config/nvim<CR>'),
|
||||
dashboard.button('SPC q', ' 退出', ':qa<CR>'),
|
||||
dashboard.button("p", " 查找项目", ":Telescope projects<CR>"),
|
||||
dashboard.button("h", " 历史文件", ":Telescope oldfiles<CR>"),
|
||||
dashboard.button("l", " 加载会话", ":SessionSearch<CR>"),
|
||||
dashboard.button("c", " 转到设置", ":Telescope find_files cwd=~/.config/nvim<CR>"),
|
||||
dashboard.button("SPC q", " 退出", ":qa<CR>"),
|
||||
}
|
||||
dashboard.section.footer.val = "今日 " .. os.date("%Y-%m-%d %A") .. " "
|
||||
|
||||
|
|
@ -47,6 +47,6 @@ return {
|
|||
-- vim.cmd[[autocmd User AlphaReady echo 'Alpha ready!']]
|
||||
|
||||
alpha.setup(dashboard.config)
|
||||
end
|
||||
};
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
---@diagnostic disable: undefined-doc-name
|
||||
return {
|
||||
{
|
||||
'rmagatti/auto-session',
|
||||
"rmagatti/auto-session",
|
||||
lazy = false,
|
||||
|
||||
---enables autocomplete for opts
|
||||
---@module "auto-session"
|
||||
---@type AutoSession.Config
|
||||
opts = {
|
||||
suppressed_dirs = { '~/', '~/Projects', '~/Downloads', '/' },
|
||||
suppressed_dirs = { "~/", "~/Projects", "~/Downloads", "/" },
|
||||
-- log_level = 'debug',
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
return {
|
||||
"akinsho/bufferline.nvim",
|
||||
dependencies = "nvim-tree/nvim-web-devicons", -- 图标支持
|
||||
config = function()
|
||||
require("bufferline").setup({
|
||||
options = {
|
||||
numbers = "ordinal", -- 显示 buffer 序号
|
||||
close_command = "bdelete! %d", -- 关闭 buffer 的命令
|
||||
right_mouse_command = "bdelete! %d", -- 右键关闭
|
||||
offsets = {
|
||||
{ filetype = "NvimTree", text = "资源管理器", text_align = "center" },
|
||||
},
|
||||
separator_style = "thin",
|
||||
},
|
||||
})
|
||||
end,
|
||||
"akinsho/bufferline.nvim",
|
||||
dependencies = "nvim-tree/nvim-web-devicons", -- 图标支持
|
||||
config = function()
|
||||
require("bufferline").setup({
|
||||
options = {
|
||||
numbers = "ordinal", -- 显示 buffer 序号
|
||||
close_command = "bdelete! %d", -- 关闭 buffer 的命令
|
||||
right_mouse_command = "bdelete! %d", -- 右键关闭
|
||||
offsets = {
|
||||
{ filetype = "NvimTree", text = "资源管理器", text_align = "center" },
|
||||
},
|
||||
separator_style = "thin",
|
||||
},
|
||||
})
|
||||
end,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
return {
|
||||
"neovim/nvim-lspconfig",
|
||||
lazy = false
|
||||
lazy = false,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
-- Author: shadmansaleh
|
||||
-- Credit: glepnir
|
||||
local lualine = require('lualine')
|
||||
local lualine = require("lualine")
|
||||
|
||||
-- Color table for highlights
|
||||
-- stylua: ignore
|
||||
|
|
@ -20,14 +20,14 @@ local colors = {
|
|||
|
||||
local conditions = {
|
||||
buffer_not_empty = function()
|
||||
return vim.fn.empty(vim.fn.expand('%:t')) ~= 1
|
||||
return vim.fn.empty(vim.fn.expand("%:t")) ~= 1
|
||||
end,
|
||||
hide_in_width = function()
|
||||
return vim.fn.winwidth(0) > 80
|
||||
end,
|
||||
check_git_workspace = function()
|
||||
local filepath = vim.fn.expand('%:p:h')
|
||||
local gitdir = vim.fn.finddir('.git', filepath .. ';')
|
||||
local filepath = vim.fn.expand("%:p:h")
|
||||
local gitdir = vim.fn.finddir(".git", filepath .. ";")
|
||||
return gitdir and #gitdir > 0 and #gitdir < #filepath
|
||||
end,
|
||||
}
|
||||
|
|
@ -36,11 +36,11 @@ local conditions = {
|
|||
local config = {
|
||||
options = {
|
||||
disabled_filetypes = {
|
||||
statusline = { "NvimTree", "alpha" }
|
||||
statusline = { "NvimTree", "alpha" },
|
||||
},
|
||||
-- Disable sections and component separators
|
||||
component_separators = '',
|
||||
section_separators = '',
|
||||
component_separators = "",
|
||||
section_separators = "",
|
||||
theme = {
|
||||
-- We are going to use lualine_c an lualine_x as left and
|
||||
-- right section. Both are highlighted by c theme . So we
|
||||
|
|
@ -80,18 +80,18 @@ local function ins_right(component)
|
|||
table.insert(config.sections.lualine_x, component)
|
||||
end
|
||||
|
||||
ins_left {
|
||||
ins_left({
|
||||
function()
|
||||
return '▊'
|
||||
return "▊"
|
||||
end,
|
||||
color = { fg = colors.blue }, -- Sets highlighting of component
|
||||
padding = { left = 0, right = 1 }, -- We don't need space before this
|
||||
}
|
||||
})
|
||||
|
||||
ins_left {
|
||||
ins_left({
|
||||
-- mode component
|
||||
function()
|
||||
return ''
|
||||
return ""
|
||||
end,
|
||||
color = function()
|
||||
-- auto change color according to neovims mode
|
||||
|
|
@ -99,13 +99,13 @@ ins_left {
|
|||
n = colors.red,
|
||||
i = colors.green,
|
||||
v = colors.blue,
|
||||
[''] = colors.blue,
|
||||
[""] = colors.blue,
|
||||
V = colors.blue,
|
||||
c = colors.magenta,
|
||||
no = colors.red,
|
||||
s = colors.orange,
|
||||
S = colors.orange,
|
||||
[''] = colors.orange,
|
||||
[""] = colors.orange,
|
||||
ic = colors.yellow,
|
||||
R = colors.violet,
|
||||
Rv = colors.violet,
|
||||
|
|
@ -113,14 +113,14 @@ ins_left {
|
|||
ce = colors.red,
|
||||
r = colors.cyan,
|
||||
rm = colors.cyan,
|
||||
['r?'] = colors.cyan,
|
||||
['!'] = colors.red,
|
||||
["r?"] = colors.cyan,
|
||||
["!"] = colors.red,
|
||||
t = colors.red,
|
||||
}
|
||||
return { fg = mode_color[vim.fn.mode()] }
|
||||
end,
|
||||
padding = { right = 1 },
|
||||
}
|
||||
})
|
||||
|
||||
-- ins_left {
|
||||
-- -- filesize component
|
||||
|
|
@ -134,42 +134,39 @@ ins_left {
|
|||
-- color = { fg = colors.magenta, gui = 'bold' },
|
||||
-- }
|
||||
|
||||
|
||||
-- ins_left { 'location' }
|
||||
|
||||
ins_right { 'progress', color = { fg = colors.fg, gui = 'bold' } }
|
||||
ins_right({ "progress", color = { fg = colors.fg, gui = "bold" } })
|
||||
|
||||
ins_left {
|
||||
'diagnostics',
|
||||
sources = { 'nvim_diagnostic' },
|
||||
symbols = { error = ' ', warn = ' ', info = ' ' },
|
||||
ins_left({
|
||||
"diagnostics",
|
||||
sources = { "nvim_diagnostic" },
|
||||
symbols = { error = " ", warn = " ", info = " " },
|
||||
diagnostics_color = {
|
||||
error = { fg = colors.red },
|
||||
warn = { fg = colors.yellow },
|
||||
info = { fg = colors.cyan },
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
ins_left {
|
||||
ins_left({
|
||||
function()
|
||||
return vim.bo.filetype
|
||||
end,
|
||||
color = { fg = colors.blue, gui = 'bold' },
|
||||
}
|
||||
color = { fg = colors.blue, gui = "bold" },
|
||||
})
|
||||
|
||||
ins_left {
|
||||
ins_left({
|
||||
function()
|
||||
return vim.bo.shiftwidth .. " space"
|
||||
end,
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
|
||||
ins_left {
|
||||
ins_left({
|
||||
-- Lsp server name .
|
||||
function()
|
||||
local msg = 'No Active Lsp'
|
||||
local buf_ft = vim.api.nvim_get_option_value('filetype', { buf = 0 })
|
||||
local msg = "No Active Lsp"
|
||||
local buf_ft = vim.api.nvim_get_option_value("filetype", { buf = 0 })
|
||||
local clients = vim.lsp.get_clients()
|
||||
if next(clients) == nil then
|
||||
return msg
|
||||
|
|
@ -182,59 +179,58 @@ ins_left {
|
|||
end
|
||||
return msg
|
||||
end,
|
||||
icon = ' ',
|
||||
color = { fg = '#ffffff', gui = 'bold' },
|
||||
}
|
||||
icon = " ",
|
||||
color = { fg = "#ffffff", gui = "bold" },
|
||||
})
|
||||
|
||||
-- Insert mid section. You can make any number of sections in neovim :)
|
||||
-- for lualine it's any number greater then 2
|
||||
ins_left {
|
||||
ins_left({
|
||||
function()
|
||||
return '%='
|
||||
return "%="
|
||||
end,
|
||||
}
|
||||
})
|
||||
|
||||
-- Add components to right sections
|
||||
ins_right {
|
||||
'o:encoding', -- option component same as &encoding in viml
|
||||
ins_right({
|
||||
"o:encoding", -- option component same as &encoding in viml
|
||||
fmt = string.upper, -- I'm not sure why it's upper case either ;)
|
||||
cond = conditions.hide_in_width,
|
||||
color = { fg = colors.green, gui = 'bold' },
|
||||
}
|
||||
color = { fg = colors.green, gui = "bold" },
|
||||
})
|
||||
|
||||
ins_right {
|
||||
'fileformat',
|
||||
ins_right({
|
||||
"fileformat",
|
||||
fmt = string.upper,
|
||||
icons_enabled = false, -- I think icons are cool but Eviline doesn't have them. sigh
|
||||
color = { fg = colors.green, gui = 'bold' },
|
||||
}
|
||||
color = { fg = colors.green, gui = "bold" },
|
||||
})
|
||||
|
||||
ins_right {
|
||||
'branch',
|
||||
icon = '',
|
||||
color = { fg = colors.violet, gui = 'bold' },
|
||||
}
|
||||
ins_right({
|
||||
"branch",
|
||||
icon = "",
|
||||
color = { fg = colors.violet, gui = "bold" },
|
||||
})
|
||||
|
||||
|
||||
ins_right {
|
||||
'diff',
|
||||
ins_right({
|
||||
"diff",
|
||||
-- Is it me or the symbol for modified us really weird
|
||||
symbols = { added = ' ', modified = ' ', removed = ' ' },
|
||||
symbols = { added = " ", modified = " ", removed = " " },
|
||||
diff_color = {
|
||||
added = { fg = colors.green },
|
||||
modified = { fg = colors.orange },
|
||||
removed = { fg = colors.red },
|
||||
},
|
||||
cond = conditions.hide_in_width,
|
||||
}
|
||||
})
|
||||
|
||||
ins_right {
|
||||
ins_right({
|
||||
function()
|
||||
return '▊'
|
||||
return "▊"
|
||||
end,
|
||||
color = { fg = colors.blue },
|
||||
padding = { left = 1 },
|
||||
}
|
||||
})
|
||||
|
||||
-- Now don't forget to initialize lualine
|
||||
lualine.setup(config)
|
||||
|
|
|
|||
|
|
@ -15,16 +15,16 @@ return {
|
|||
shift_width = 1,
|
||||
heading_1 = {
|
||||
style = "label",
|
||||
hl = "MarkviewH1"
|
||||
}
|
||||
hl = "MarkviewH1",
|
||||
},
|
||||
},
|
||||
code_blocks = {
|
||||
style = "language",
|
||||
language_direction = "right",
|
||||
hl = "MarkviewCode",
|
||||
info_hl = "MarkviewCodeInfo"
|
||||
}
|
||||
info_hl = "MarkviewCodeInfo",
|
||||
},
|
||||
})
|
||||
end
|
||||
}
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
local function set_keymaps(keymaps_cmp)
|
||||
local mappings = {}
|
||||
for _, map in ipairs(keymaps_cmp) do
|
||||
mappings[map.keys] = map.cmd
|
||||
end
|
||||
return mappings
|
||||
for _, map in ipairs(keymaps_cmp) do
|
||||
mappings[map.keys] = map.cmd
|
||||
end
|
||||
return mappings
|
||||
end
|
||||
|
||||
return {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
local function my_on_attach(bufnr)
|
||||
-- local keymaps = require("config.keymaps")
|
||||
local api = require "nvim-tree.api"
|
||||
local api = require("nvim-tree.api")
|
||||
local default_mode = { "n" }
|
||||
local keymaps = require("keymaps")
|
||||
|
||||
|
|
@ -8,7 +8,6 @@ local function my_on_attach(bufnr)
|
|||
return { desc = "nvim-tree: " .. desc, buffer = bufnr, noremap = true, silent = true, nowait = true }
|
||||
end
|
||||
|
||||
|
||||
local function set_keymaps(maps)
|
||||
for _, map in ipairs(maps) do
|
||||
local mode = map.mode or default_mode
|
||||
|
|
@ -28,10 +27,10 @@ return {
|
|||
"nvim-tree/nvim-web-devicons",
|
||||
},
|
||||
config = function()
|
||||
require("nvim-tree").setup {
|
||||
require("nvim-tree").setup({
|
||||
on_attach = my_on_attach,
|
||||
sync_root_with_cwd = true,
|
||||
respect_buf_cwd = true,
|
||||
}
|
||||
end
|
||||
})
|
||||
end,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
return {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
run = ":TSUpdate",
|
||||
config = function()
|
||||
require("nvim-treesitter.configs").setup({
|
||||
ensure_installed = { "markdown", "markdown_inline", "latex", "python"},
|
||||
highlight = { enable = true },
|
||||
indent = { enable = true },
|
||||
})
|
||||
end,
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
run = ":TSUpdate",
|
||||
config = function()
|
||||
require("nvim-treesitter.configs").setup({
|
||||
ensure_installed = { "markdown", "markdown_inline", "latex", "python" },
|
||||
highlight = { enable = true },
|
||||
indent = { enable = true },
|
||||
})
|
||||
end,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
return {
|
||||
"epwalsh/obsidian.nvim",
|
||||
version = "*", -- recommended, use latest release instead of latest commit
|
||||
version = "*", -- recommended, use latest release instead of latest commit
|
||||
lazy = false,
|
||||
ft = "markdown",
|
||||
-- Replace the above line with this if you only want to load obsidian.nvim for markdown files in your vault:
|
||||
|
|
@ -26,11 +26,11 @@ return {
|
|||
},
|
||||
completion = {
|
||||
nvim_cmp = true,
|
||||
min_chars = 2
|
||||
min_chars = 2,
|
||||
},
|
||||
ui = {
|
||||
enable = false
|
||||
}
|
||||
enable = false,
|
||||
},
|
||||
-- see below for full list of options 👇
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
return {
|
||||
"ahmedkhalf/project.nvim",
|
||||
config = function()
|
||||
require("project_nvim").setup({
|
||||
detection_methods = { "lsp", "pattern" },
|
||||
patterns = { ".git", "Makefile", "package.json" },
|
||||
sync_root_with_cwd = true,
|
||||
silent_chdir = true,
|
||||
scope_chdir = "global",
|
||||
})
|
||||
"ahmedkhalf/project.nvim",
|
||||
config = function()
|
||||
require("project_nvim").setup({
|
||||
detection_methods = { "lsp", "pattern" },
|
||||
patterns = { ".git", "Makefile", "package.json" },
|
||||
sync_root_with_cwd = true,
|
||||
silent_chdir = true,
|
||||
scope_chdir = "global",
|
||||
})
|
||||
|
||||
require("telescope").load_extension("projects")
|
||||
end,
|
||||
dependencies = { "nvim-telescope/telescope.nvim" },
|
||||
require("telescope").load_extension("projects")
|
||||
end,
|
||||
dependencies = { "nvim-telescope/telescope.nvim" },
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
return {
|
||||
"nvim-telescope/telescope.nvim",
|
||||
config = function ()
|
||||
require("telescope").setup {
|
||||
config = function()
|
||||
require("telescope").setup({
|
||||
defaults = {
|
||||
mappings = {
|
||||
n = {
|
||||
|
|
@ -11,11 +11,10 @@ return {
|
|||
["r"] = "preview_scrolling_down",
|
||||
["a"] = "preview_scrolling_left",
|
||||
["s"] = "preview_scrolling_right",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
dependencies = { "nvim-lua/plenary.nvim" },
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,33 +7,32 @@ return {
|
|||
show_file_path = true,
|
||||
show_symbols = true,
|
||||
colors = {
|
||||
path = '#9c1d91',
|
||||
file_name = '',
|
||||
symbols = '',
|
||||
path = "#9c1d91",
|
||||
file_name = "",
|
||||
symbols = "",
|
||||
},
|
||||
icons = {
|
||||
file_icon_default = '',
|
||||
seperator = '>',
|
||||
editor_state = '●',
|
||||
lock_icon = '',
|
||||
file_icon_default = "",
|
||||
seperator = ">",
|
||||
editor_state = "●",
|
||||
lock_icon = "",
|
||||
},
|
||||
exclude_filetype = {
|
||||
'help',
|
||||
'startify',
|
||||
'dashboard',
|
||||
'packer',
|
||||
'neogitstatus',
|
||||
'NvimTree',
|
||||
'Trouble',
|
||||
'alpha',
|
||||
'lir',
|
||||
'Outline',
|
||||
'spectre_panel',
|
||||
'toggleterm',
|
||||
'qf',
|
||||
}
|
||||
"help",
|
||||
"startify",
|
||||
"dashboard",
|
||||
"packer",
|
||||
"neogitstatus",
|
||||
"NvimTree",
|
||||
"Trouble",
|
||||
"alpha",
|
||||
"lir",
|
||||
"Outline",
|
||||
"spectre_panel",
|
||||
"toggleterm",
|
||||
"qf",
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,10 @@
|
|||
return {
|
||||
{ import = "plugins.mod.nvim-treesitter", },
|
||||
{ 'echasnovski/mini.pairs', version = false,
|
||||
{ import = "plugins.mod.nvim-treesitter" },
|
||||
{
|
||||
"echasnovski/mini.pairs",
|
||||
version = false,
|
||||
config = function()
|
||||
require("mini.pairs").setup()
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -50,14 +50,102 @@ noremap gpt editor.action.peekTypeDefinition
|
|||
noremap gh editor.action.showDefinitionPreviewHover
|
||||
|
||||
noremap <leader><leader> workbench.action.quickOpen
|
||||
noremap <leader>/ workbench.action.quickTextSearch
|
||||
noremap <leader>: workbench.action.showCommands
|
||||
noremap <leader>E workbench.view.explorer
|
||||
noremap <leader>- workbench.action.splitEditorDown
|
||||
noremap <leader>| workbench.action.splitEditorRight
|
||||
noremap <leader>\ workbench.action.splitEditorRight
|
||||
|
||||
" <leader>a : +ai/action
|
||||
noremap <leader>aa inlineChat.start
|
||||
noremap <leader>aA workbench.panel.chat
|
||||
noremap <leader>ae workbench.action.chat.openEditSession
|
||||
|
||||
" <leader>b : +buffer
|
||||
noremap <leader>bb workbench.action.showAllEditors
|
||||
noremap <leader>bd :bdelete<CR>
|
||||
noremap <leader>bh :bprevious<CR>
|
||||
noremap <leader>bi :bnext<CR>
|
||||
noremap <leader>bp :bprevious<CR>
|
||||
noremap <leader>bn :bnext<CR>
|
||||
|
||||
" <leader>c : +code/compile
|
||||
noremap <leader>cr code-runner.run
|
||||
noremap <leader>cf editor.action.formatDocument
|
||||
noremap <leader>c<leader> editor.action.trimTrailingWhitespace
|
||||
noremap <leader>cs workbench.action.gotoSymbol
|
||||
noremap <leader>cS workbench.action.showAllSymbols
|
||||
noremap <leader>ce editor.action.marker.next
|
||||
noremap <leader>cE editor.action.marker.prev
|
||||
noremap <leader>cg editor.action.dirtydiff.next
|
||||
noremap <leader>cG editor.action.dirtydiff.previous
|
||||
noremap <leader>cR editor.action.rename
|
||||
|
||||
" <leader>d : +debug
|
||||
|
||||
" <leader>f : +file
|
||||
noremap <leader>ff workbench.action.quickOpen
|
||||
noremap <leader>fF workbench.view.search
|
||||
noremap <leader>fc workbench.action.openSettings
|
||||
noremap <leader>fC workbench.action.openFolderSettingsFile
|
||||
noremap <leader>fe workbench.view.explorer
|
||||
noremap <leader>fo openInExternalApp.open
|
||||
noremap <leader>fr workbench.action.showAllEditorsByMostRecentlyUsed
|
||||
noremap <leader>fR git.rename " Rename file
|
||||
" noremap <leader>fs workbench.action.search.toggleQueryDetails
|
||||
noremap <leader>ft workbench.action.terminal.toggleTerminal
|
||||
noremap <leader>fx workbench.view.extensions
|
||||
|
||||
" <leader>g : +git
|
||||
noremap <leader>gg workbench.view.scm
|
||||
noremap <leader>gS git.stageAll
|
||||
|
||||
" <leader>h : +help
|
||||
|
||||
" <leader>j : +jump
|
||||
noremap <leader>jj workbench.action.gotoLine
|
||||
|
||||
" <leader>l : +language (define in settings.json)
|
||||
|
||||
" <leader>p : +project (requires Project Manager extension)
|
||||
noremap <leader>pp projectManager.listProjects
|
||||
noremap <leader>pP projectManager.listAnyProjects#sideBarAny
|
||||
noremap <leader>pc projectManager.openSettings#sideBarAny
|
||||
noremap <leader>pe projectManager.editProjects
|
||||
noremap <leader>pf projectManager.addToFavorites
|
||||
noremap <leader>pF projectManager.filterProjectsByTag
|
||||
noremap <leader>pg projectManager.listGitProjects#sideBarGit
|
||||
noremap <leader>pr workbench.action.openRecent
|
||||
noremap <leader>ps projectManager.saveProject
|
||||
|
||||
" <leader>q : +quit
|
||||
noremap <leader>qq :quit<CR>
|
||||
noremap <leader>qQ :qall<CR>
|
||||
noremap <leader>Q :quit<CR>
|
||||
|
||||
" <leader>r : +refactor
|
||||
|
||||
" <leader>s : +search
|
||||
|
||||
" <leader>t : +test
|
||||
noremap <leader>tt testing.runAll
|
||||
noremap <leader>tT testing.debugAll
|
||||
noremap <leader>ta testing.runAll
|
||||
noremap <leader>tA testing.debugAll
|
||||
noremap <leader>tf testing.reRunFailedTests
|
||||
noremap <leader>tF testing.debugFailedTests
|
||||
noremap <leader>tl testing.reRunLastRun
|
||||
noremap <leader>tL testing.debugLastRun
|
||||
noremap <leader>tc testing.runCurrentTest
|
||||
noremap <leader>tC testing.debugCurrentTest
|
||||
noremap <leader>tx testing.cancelTestRun
|
||||
|
||||
" <leader>u : +ui
|
||||
noremap <leader>ui workbench.action.selectTheme
|
||||
noremap <leader>uw editor.action.toggleWordWrap
|
||||
noremap <leader>uz workbench.action.toggleZenMode
|
||||
|
||||
" <leader>w : +write/window
|
||||
noremap <leader>ww :write<CR>
|
||||
noremap <leader>wa :wall<CR>
|
||||
|
|
@ -71,75 +159,6 @@ noremap <leader>we workbench.action.focusAboveGroup
|
|||
noremap <leader>wE workbench.action.splitEditorUp
|
||||
noremap <leader>wi workbench.action.focusRightGroup
|
||||
noremap <leader>wI workbench.action.splitEditorRight
|
||||
|
||||
" <leader>f : +find/file
|
||||
noremap <leader>ff workbench.action.quickOpen
|
||||
noremap <leader>fF workbench.view.search
|
||||
noremap <leader>fc workbench.action.openSettings
|
||||
noremap <leader>fC workbench.action.openFolderSettingsFile
|
||||
noremap <leader>fe workbench.view.explorer
|
||||
noremap <leader>fr workbench.action.showAllEditorsByMostRecentlyUsed
|
||||
noremap <leader>fR workbench.action.openRecent
|
||||
noremap <leader>fs workbench.action.search.toggleQueryDetails
|
||||
noremap <leader>ft workbench.action.terminal.toggleTerminal
|
||||
noremap <leader>fx workbench.view.extensions
|
||||
|
||||
" <leader>p : +project (requires Project Manager extension)
|
||||
noremap <leader>pp projectManager.listProjects
|
||||
noremap <leader>pP projectManager.listAnyProjects#sideBarAny
|
||||
noremap <leader>pc projectManager.openSettings#sideBarAny
|
||||
noremap <leader>pe projectManager.editProjects
|
||||
noremap <leader>pf projectManager.addToFavorites
|
||||
noremap <leader>pF projectManager.filterProjectsByTag
|
||||
noremap <leader>pg projectManager.listGitProjects#sideBarGit
|
||||
noremap <leader>pr workbench.action.openRecent
|
||||
noremap <leader>ps projectManager.saveProject
|
||||
|
||||
" <leader>g : +git
|
||||
noremap <leader>gg workbench.view.scm
|
||||
noremap <leader>gS git.stageAll
|
||||
|
||||
" <leader>j : +jump
|
||||
noremap <leader>jj workbench.action.gotoLine
|
||||
|
||||
" <leader>l : +language (define in settings.json)
|
||||
|
||||
" <leader>u : +ui
|
||||
noremap <leader>ui workbench.action.selectTheme
|
||||
noremap <leader>uw editor.action.toggleWordWrap
|
||||
noremap <leader>uz workbench.action.toggleZenMode
|
||||
" <leader>a : +ai/action
|
||||
noremap <leader>aa inlineChat.start
|
||||
noremap <leader>aA workbench.panel.chat
|
||||
noremap <leader>ae workbench.action.chat.openEditSession
|
||||
" <leader>r : +refactor
|
||||
" <leader>s : +search
|
||||
" <leader>t : +test
|
||||
noremap <leader>tt testing.runAll
|
||||
noremap <leader>tT testing.debugAll
|
||||
noremap <leader>ta testing.runAll
|
||||
noremap <leader>tA testing.debugAll
|
||||
noremap <leader>tf testing.reRunFailedTests
|
||||
noremap <leader>tF testing.debugFailedTests
|
||||
noremap <leader>tl testing.reRunLastRun
|
||||
noremap <leader>tL testing.debugLastRun
|
||||
noremap <leader>tc testing.runCurrentTest
|
||||
noremap <leader>tC testing.debugCurrentTest
|
||||
noremap <leader>tx testing.cancelTestRun
|
||||
" <leader>d : +debug
|
||||
" <leader>h : +help
|
||||
|
||||
" <leader>c : +code
|
||||
noremap <leader>cr code-runner.run
|
||||
noremap <leader>cf editor.action.formatDocument
|
||||
noremap <leader>c<leader> editor.action.trimTrailingWhitespace
|
||||
noremap <leader>cs workbench.action.gotoSymbol
|
||||
noremap <leader>cS workbench.action.showAllSymbols
|
||||
|
||||
" <leader>b : +buffer
|
||||
noremap <leader>bb workbench.action.showAllEditors
|
||||
noremap <leader>bd :bdelete<CR>
|
||||
noremap <leader>bh :bprevious<CR>
|
||||
noremap <leader>bi :bnext<CR>
|
||||
|
||||
" 中文分词测试用例
|
||||
noremap <leader>w- workbench.action.splitEditorDown
|
||||
noremap <leader>w| workbench.action.splitEditorRight
|
||||
noremap <leader>w\ workbench.action.splitEditorRight
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
-- Author: js0ny
|
||||
|
||||
--#region Import & Setup
|
||||
local wezterm = require 'wezterm'
|
||||
local wezterm = require("wezterm")
|
||||
local action = wezterm.action
|
||||
|
||||
local config = {}
|
||||
|
|
@ -52,15 +52,13 @@ local function detect_os()
|
|||
end
|
||||
|
||||
-- OS light/dark theme detection
|
||||
local function detect_theme()
|
||||
end
|
||||
local function detect_theme() end
|
||||
--#endregion
|
||||
|
||||
--#region Constant
|
||||
local os_type = detect_os()
|
||||
--#endregion
|
||||
|
||||
|
||||
--#region Appearance
|
||||
-- Font and color scheme
|
||||
-- config.font = 'FiraCode Nerd Font'
|
||||
|
|
@ -88,11 +86,11 @@ config.tab_bar_at_bottom = true
|
|||
-- config.cursor_blink_rate = 650
|
||||
-- Visual Bell
|
||||
config.visual_bell = {
|
||||
fade_in_function = 'EaseIn',
|
||||
fade_in_function = "EaseIn",
|
||||
fade_in_duration_ms = 250,
|
||||
fade_out_function = 'EaseOut',
|
||||
fade_out_function = "EaseOut",
|
||||
fade_out_duration_ms = 250,
|
||||
target = 'CursorColor',
|
||||
target = "CursorColor",
|
||||
}
|
||||
--#endregion
|
||||
|
||||
|
|
@ -100,111 +98,111 @@ config.visual_bell = {
|
|||
config.leader = { key = "q", mods = "CTRL" }
|
||||
config.keys = {
|
||||
{
|
||||
key = 'q',
|
||||
mods = 'LEADER',
|
||||
action = action.SendKey { key = 'q', mods = 'CTRL' },
|
||||
key = "q",
|
||||
mods = "LEADER",
|
||||
action = action.SendKey({ key = "q", mods = "CTRL" }),
|
||||
},
|
||||
-- Windows Management
|
||||
{ -- leader keys
|
||||
key = '|',
|
||||
mods = 'LEADER|SHIFT',
|
||||
action = action.SplitHorizontal { domain = "CurrentPaneDomain" }
|
||||
key = "|",
|
||||
mods = "LEADER|SHIFT",
|
||||
action = action.SplitHorizontal({ domain = "CurrentPaneDomain" }),
|
||||
},
|
||||
{
|
||||
key = '-',
|
||||
mods = 'LEADER',
|
||||
action = action.SplitVertical { domain = "CurrentPaneDomain" }
|
||||
key = "-",
|
||||
mods = "LEADER",
|
||||
action = action.SplitVertical({ domain = "CurrentPaneDomain" }),
|
||||
},
|
||||
{
|
||||
key = 'h',
|
||||
mods = 'LEADER',
|
||||
action = action.ActivatePaneDirection 'Left'
|
||||
key = "h",
|
||||
mods = "LEADER",
|
||||
action = action.ActivatePaneDirection("Left"),
|
||||
},
|
||||
{
|
||||
key = 'n',
|
||||
mods = 'LEADER',
|
||||
action = action.ActivatePaneDirection 'Down'
|
||||
key = "n",
|
||||
mods = "LEADER",
|
||||
action = action.ActivatePaneDirection("Down"),
|
||||
},
|
||||
{
|
||||
key = 'e',
|
||||
mods = 'LEADER',
|
||||
action = action.ActivatePaneDirection 'Up'
|
||||
key = "e",
|
||||
mods = "LEADER",
|
||||
action = action.ActivatePaneDirection("Up"),
|
||||
},
|
||||
{
|
||||
key = 'i',
|
||||
mods = 'LEADER',
|
||||
action = action.ActivatePaneDirection 'Right'
|
||||
key = "i",
|
||||
mods = "LEADER",
|
||||
action = action.ActivatePaneDirection("Right"),
|
||||
},
|
||||
{
|
||||
key = 'H',
|
||||
mods = 'LEADER',
|
||||
action = action.AdjustPaneSize { 'Left', 5 },
|
||||
key = "H",
|
||||
mods = "LEADER",
|
||||
action = action.AdjustPaneSize({ "Left", 5 }),
|
||||
},
|
||||
{
|
||||
key = 'N',
|
||||
mods = 'LEADER',
|
||||
action = action.AdjustPaneSize { 'Down', 5 },
|
||||
key = "N",
|
||||
mods = "LEADER",
|
||||
action = action.AdjustPaneSize({ "Down", 5 }),
|
||||
},
|
||||
{
|
||||
key = 'E',
|
||||
mods = 'LEADER',
|
||||
action = action.AdjustPaneSize { 'Up', 5 },
|
||||
key = "E",
|
||||
mods = "LEADER",
|
||||
action = action.AdjustPaneSize({ "Up", 5 }),
|
||||
},
|
||||
{
|
||||
key = 'I',
|
||||
mods = 'LEADER',
|
||||
action = action.AdjustPaneSize { 'Right', 5 },
|
||||
key = "I",
|
||||
mods = "LEADER",
|
||||
action = action.AdjustPaneSize({ "Right", 5 }),
|
||||
},
|
||||
{
|
||||
key = "/",
|
||||
mods = "LEADER",
|
||||
action = action.Search { Regex = "" }
|
||||
action = action.Search({ Regex = "" }),
|
||||
},
|
||||
{
|
||||
key = "?",
|
||||
mods = "LEADER|SHIFT",
|
||||
action = action.Search { CaseSensitiveString = "" }
|
||||
action = action.Search({ CaseSensitiveString = "" }),
|
||||
},
|
||||
{
|
||||
key = ";",
|
||||
mods = "LEADER",
|
||||
action = action.ShowLauncher
|
||||
action = action.ShowLauncher,
|
||||
},
|
||||
{
|
||||
key = ":",
|
||||
mods = "LEADER|SHIFT",
|
||||
action = action.ActivateCommandPalette
|
||||
action = action.ActivateCommandPalette,
|
||||
},
|
||||
{
|
||||
key = "W",
|
||||
mods = "CTRL",
|
||||
action = action.CloseCurrentPane { confirm = true }
|
||||
action = action.CloseCurrentPane({ confirm = true }),
|
||||
},
|
||||
{ -- ^C to copy if selection is active, otherwise send signal
|
||||
-- https://wezfurlong.org/wezterm/config/lua/keyassignment/ClearSelection.html?h=selection
|
||||
key = 'c',
|
||||
mods = 'CTRL',
|
||||
key = "c",
|
||||
mods = "CTRL",
|
||||
action = wezterm.action_callback(function(window, pane)
|
||||
local has_selection = window:get_selection_text_for_pane(pane) ~= ''
|
||||
local has_selection = window:get_selection_text_for_pane(pane) ~= ""
|
||||
if has_selection then
|
||||
window:perform_action(action.CopyTo 'ClipboardAndPrimarySelection', pane)
|
||||
window:perform_action(action.CopyTo("ClipboardAndPrimarySelection"), pane)
|
||||
|
||||
window:perform_action(action.ClearSelection, pane)
|
||||
else
|
||||
window:perform_action(action.SendKey { key = 'c', mods = 'CTRL' }, pane)
|
||||
window:perform_action(action.SendKey({ key = "c", mods = "CTRL" }), pane)
|
||||
end
|
||||
end),
|
||||
},
|
||||
}
|
||||
config.mouse_bindings = {
|
||||
{
|
||||
event = { Up = { streak = 1, button = 'Left' } },
|
||||
mods = 'CTRL',
|
||||
event = { Up = { streak = 1, button = "Left" } },
|
||||
mods = "CTRL",
|
||||
action = action.OpenLinkAtMouseCursor,
|
||||
},
|
||||
{
|
||||
event = { Up = { streak = 1, button = 'Left' } },
|
||||
mods = 'SUPER',
|
||||
event = { Up = { streak = 1, button = "Left" } },
|
||||
mods = "SUPER",
|
||||
action = action.OpenLinkAtMouseCursor,
|
||||
},
|
||||
}
|
||||
|
|
@ -222,35 +220,35 @@ if os_type == "Windows" then
|
|||
config.launch_menu = {
|
||||
{
|
||||
label = "Local - PowerShell",
|
||||
args = { "pwsh.exe", "-NoLogo", "-NoProfileLoadTime" }
|
||||
args = { "pwsh.exe", "-NoLogo", "-NoProfileLoadTime" },
|
||||
},
|
||||
{
|
||||
label = "Local - PowerShell Administator",
|
||||
args = { "sudo.exe", "pwsh.exe", "-NoLogo", "-NoProfileLoadTime" }
|
||||
args = { "sudo.exe", "pwsh.exe", "-NoLogo", "-NoProfileLoadTime" },
|
||||
},
|
||||
{
|
||||
label = "WSL1 - Arch",
|
||||
args = { "wsl.exe", "-d", "Arch" }
|
||||
args = { "wsl.exe", "-d", "Arch" },
|
||||
},
|
||||
{
|
||||
label = "WSL2 - kali-linux",
|
||||
args = { "wsl.exe", "-d", "kali-linux" }
|
||||
args = { "wsl.exe", "-d", "kali-linux" },
|
||||
},
|
||||
{
|
||||
label = "Local - NuShell",
|
||||
args = { "nu" }
|
||||
args = { "nu" },
|
||||
},
|
||||
{
|
||||
label = "Local - Windows PowerShell",
|
||||
args = { "powershell.exe" }
|
||||
args = { "powershell.exe" },
|
||||
},
|
||||
{
|
||||
label = "Local - Command Prompt",
|
||||
args = { "cmd.exe" }
|
||||
args = { "cmd.exe" },
|
||||
},
|
||||
{
|
||||
label = "WSL1 - Arch Zsh",
|
||||
args = { "wsl.exe", "-d", "Arch", "zsh" }
|
||||
args = { "wsl.exe", "-d", "Arch", "zsh" },
|
||||
},
|
||||
}
|
||||
else
|
||||
|
|
@ -258,23 +256,22 @@ else
|
|||
config.launch_menu = {
|
||||
{
|
||||
label = "Local - Fish",
|
||||
args = { "fish", "-l" }
|
||||
args = { "fish", "-l" },
|
||||
},
|
||||
{
|
||||
label = "Local - Zsh",
|
||||
args = { "zsh", "-l" }
|
||||
args = { "zsh", "-l" },
|
||||
},
|
||||
{
|
||||
label = "Local - PowerShell",
|
||||
args = { "pwsh", "-NoLogo", "-NoProfileLoadTime", "-Login" }
|
||||
args = { "pwsh", "-NoLogo", "-NoProfileLoadTime", "-Login" },
|
||||
},
|
||||
{
|
||||
label = "Local - NuShell",
|
||||
args = { "nu", "-l" }
|
||||
args = { "nu", "-l" },
|
||||
},
|
||||
}
|
||||
end
|
||||
--#endregion
|
||||
|
||||
|
||||
return config
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue