format with stylua

This commit is contained in:
js0ny 2025-01-09 15:16:12 +00:00
parent f42ac2a6a3
commit 12efeede26
30 changed files with 571 additions and 483 deletions

View file

@ -67,6 +67,11 @@ Plug 'easymotion/vim-easymotion'
""" Keybindings """
"" don't lose selection when indenting ""
vnoremap < <gv
vnoremap > >gv
vnoremap = =gv
"" edit ideavim config <leader>v + ""
nnoremap <leader>vv :e ~/.ideavimrc<CR>
nnoremap <leader>vr :source ~/.ideavimrc<CR>
@ -82,49 +87,7 @@ nmap S <Plug>(easymotion-F)
nmap f <Plug>(sneak-s)
nmap F <Plug>(sneak-S)
"" Miscs ""
nnoremap <leader>: :action GotoAction<CR>
nnoremap <leader><leader> :action GotoFile<CR>
"" AI Related <leader>a + ""
nnoremap <leader>ac :action copilot.chat.show<CR>
nnoremap <leader>ad :action copilot.disableCopilot<CR>
nnoremap <leader>ae :action copilot.enableCopilot<CR>
nnoremap <leader>ai :action copilot.openCopilot<CR>
"" Codes Action <leader>c + ""
nnoremap <leader>cf :action ReformatCode<CR>
nnoremap <leader>cs :action GotoSymbol<CR>
nnoremap <leader>c/ :action CommentByLineComment<CR>
"" Project Action <leader>p + ""
nnoremap <leader>pr :action Run<CR>
nnoremap <leader>pd :action Debug<CR>
nnoremap <leader>pb :action Build<CR>
"" Files Action <leader>f + ""
nnoremap <leader>fe :NERDTreeToggle<CR>
nnoremap <leader>ft :action ActivateTerminalToolWindow<CR>
"" Tab Actions <leader><tab> + ""
nnoremap <leader><tab><tab> :action Switcher<CR>
"" Collapse and Expand z + ""
nnoremap zi :action ExpandCollapseToggleAction<CR>
nnoremap zc :action CollapseRegion<CR>
nnoremap zC :action CollapseRegionRecursively<CR>
nnoremap zM :action CollapseAll<CR>
nnoremap zo :action ExpandRegion<CR>
nnoremap zO :action ExpandRegionRecursively<CR>
nnoremap zR :action ExpandAll<CR>
"" don't lose selection when indenting ""
vnoremap < <gv
vnoremap > >gv
vnoremap = =gv
nnoremap <leader>a :action FindInPath<CR>
"" Language Server Protocol ""
nnoremap gd :action GotoDeclaration<CR>
nnoremap gtd :action GotoTypeDeclaration<CR>
nnoremap gtD :action QuickTypeDefinition<CR>
@ -136,13 +99,82 @@ nnoremap ga :action
nnoremap gq :action ShowIntentionActions<CR>
nnoremap ge :action GotoNextError<CR>
nnoremap <C-p> :action ParameterInfo<CR>
inoremap <C-p> <C-o>:action ParameterInfo<CR>
"" Collapse and Expand z + ""
nnoremap zi :action ExpandCollapseToggleAction<CR>
nnoremap zc :action CollapseRegion<CR>
nnoremap zC :action CollapseRegionRecursively<CR>
nnoremap zM :action CollapseAll<CR>
nnoremap zo :action ExpandRegion<CR>
nnoremap zO :action ExpandRegionRecursively<CR>
nnoremap zR :action ExpandAll<CR>
"" Refractor <leader>r + ""
"" Miscs ""
nnoremap <leader>: :action GotoAction<CR>
nnoremap <leader><leader> :action GotoFile<CR>
nnoremap <leader>h :action PrevSplitter<CR>
nnoremap <leader>i :action NextSplitter<CR>
"" AI Related <leader>a + ""
nnoremap <leader>ac :action copilot.chat.show<CR>
nnoremap <leader>ad :action copilot.disableCopilot<CR>
nnoremap <leader>ae :action copilot.enableCopilot<CR>
nnoremap <leader>aa :action copilot.openCopilot<CR>
" <leader>b : +buffer
nnoremap <leader>bb :action Switcher<CR>
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
nnoremap <leader>cr :action Run<CR>
nnoremap <leader>cf :action ReformatCode<CR>
nnoremap <leader>cs :action GotoSymbol<CR>
nnoremap <leader>cS :action GotoSymbol<CR>
nnoremap <leader>cR :action RenameElement<CR>
""" Works for Rider only
nnoremap <leader>ce :action ReSharperGotoNextErrorInSolution<CR>
nnoremap <leader>cE :action ReSharperGotoPrevErrorInSolution<CR>
" <leader>d : +debug
" <leader>f : +file
nnoremap <leader>ff :action GotoFile<CR>
nnoremap <leader>fF :action TextSearchAction<CR>
nnoremap <leader>fc :action ShowSettings<CR>
nnoremap <leader>fC :action ShowSettings<CR>
nnoremap <leader>fe :NERDTreeToggle<CR>
nnoremap <leader>fo :OpenInAssociatedApplication<CR>
nnoremap <leader>ft :action ActivateTerminalToolWindow<CR>
nnoremap <leader>fx :action WelcomeScreen.Plugins<CR>
" <leader>g : +git
nnoremap <leader>gp :action Git.Pull<CR>
nnoremap <leader>gP :action Vcs.Push<CR>
nnoremap <leader>gb :action Git.Branches<CR>
nnoremap <leader>gR :action Git.Rebase<CR>
nnoremap <leader>gM :action Git.Merge<CR>
nnoremap <leader>gc :action CheckinProject<CR>
nnoremap <leader>gC :action Git.Clone<CR>
nnoremap <leader>gg :action ActivateVersionControlToolWindow<CR>
nnoremap <leader>gS :action Git.Stash<CR>
" <leader>h : +help
" <leader>p : +project
nnoremap <leader>pr :action Run<CR>
nnoremap <leader>pd :action Debug<CR>
nnoremap <leader>pb :action Build<CR>
" <leader>q : +quit
nnoremap <leader>qq :action Exit<CR>
nnoremap <leader>Q :action Exit<CR>
" <leader>r : +refactor
nnoremap <leader>ri :action Inline<CR>
nnoremap <leader>rr :action RenameElement<CR>
nnoremap <leader>rr :action RenamElement<CR>
nnoremap <leader>rev :action IntroduceVariable<CR>
vnoremap <leader>rev :action IntroduceVariable<CR>
nnoremap <leader>rem :action ExtractMethod<CR>
@ -151,6 +183,32 @@ nnoremap <leader>rm :action Move<CR>
nnoremap <leader>ro :action OptimizeImports<CR>
nnoremap <leader>rG :action Generate<CR>
" <leader>t : +test
nnoremap <leader>tt :action RiderUnitTestRunSolutionAction<CR>
nnoremap <leader>tT :action Rider.UnitTesting.MainMenu<CR>
" <leader>u : +ui
nnoremap <leader>ui :action ChangeLaf<CR>
nnoremap <leader>uw :action EditorToggleUseSoftWraps<CR>
" <leader>w : +write/window
nnoremap <leader>ww :write<CR>
nnoremap <leader>wa :wall<CR>
nnoremap <leader>wq :wq<CR>
nnoremap <leader>W :write<CR>
nnoremap <leader>wh :action PrevSplitter<CR>
nnoremap <leader>wi :action NextSplitter<CR>
nnoremap <leader>wH :action SplitHorizontally<CR>
nnoremap <leader>wI :action SplitHorizontally<CR>
nnoremap <leader>wN :action SplitVertically<CR>
nnoremap <leader>wE :action SplitVertically<CR>
nnoremap <leader>w- :action SplitHorizontally<CR>
nnoremap <leader>w| :action SplitVertically<CR>
nnoremap <leader>w\ :action SplitVertically<CR>
nnoremap <C-p> :action ParameterInfo<CR>
inoremap <C-p> <C-o>:action ParameterInfo<CR>
""" Handling Ctrls """
sethandler <C-C> i:ide

View file

@ -1,2 +1 @@
require("keymaps")

View file

@ -54,4 +54,3 @@ opt.sidescrolloff = 10
opt.conceallevel = 2
vim.o.sessionoptions = "blank,buffers,curdir,folds,help,tabpages,winsize,winpos,terminal,localoptions"

View file

@ -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" },

View file

@ -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")
@ -37,7 +35,7 @@ end
local function set_markdown_keymaps(bufnr)
local opts = { noremap = true, silent = true, buffer = bufnr }
vim.keymap.set("v", "`", "c`<C-r>\"`<Esc>", opts)
vim.keymap.set("v", "`", 'c`<C-r>"`<Esc>', opts)
end
vim.api.nvim_create_autocmd("FileType", {

View file

@ -1,6 +1,5 @@
local M = {}
-- Markdown
local function set_markdown_keymaps(bufnr)
@ -11,7 +10,6 @@ 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" },

View file

@ -3,6 +3,13 @@ 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 = ":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
@ -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

View file

@ -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,7 +18,7 @@ return {
timer = 500,
},
})
end
end,
},
{ import = "plugins.mod.alpha-nvim" },
{ import = "plugins.mod.winbar-nvim" },

View file

@ -2,5 +2,5 @@ return {
{ import = "plugins.mod.auto-session" },
{ import = "plugins.mod.nvim-tree" },
{ import = "plugins.mod.telescope" },
{ import = "plugins.mod.projects" }
{ import = "plugins.mod.projects" },
}

View file

@ -15,7 +15,6 @@ 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" },

View file

@ -1,9 +1,8 @@
return {
{ import = "plugins.mod.lspconfig" },
{
"NoahTheDuke/vim-just",
ft = { "just" }
ft = { "just" },
},
{ import = "plugins.mod.render-markdown" },
-- { import = "plugins.mod.markview" },
@ -14,16 +13,16 @@ return {
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,
},
}

View file

@ -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,
}
},
}

View file

@ -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'
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,
},
}

View file

@ -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',
}
}
},
},
}

View file

@ -1,4 +1,4 @@
return {
"neovim/nvim-lspconfig",
lazy = false
lazy = false,
}

View file

@ -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)

View file

@ -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,
},
}

View file

@ -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,
}

View file

@ -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 👇
},
}

View file

@ -1,7 +1,7 @@
return {
"nvim-telescope/telescope.nvim",
config = function()
require("telescope").setup {
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" },
}

View file

@ -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,
},
}

View file

@ -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,
},
}

View file

@ -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

View file

@ -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