Merge pull request #6 from S4NKALP/beta
Update
This commit was merged in pull request #6.
This commit is contained in:
55 files changed
+931
-1168
No files matched your search
@@ -0,0 +1 @@
|
||||
{"distribution": "custom", "masonTools": ["actionlint", "bash-language-server", "biome", "black", "clang-format", "clangd", "emmet-ls", "eslint_d", "goimports-reviser", "golangci-lint", "graphql-lsp", "hadolint", "isort", "jdtls", "lua-language-server", "prettier", "prisma-language-server", "proselint", "pylint", "pylsp", "pyright", "pyright-langserver", "rubocop", "ruff-lsp", "rust-analyzer", "shellcheck", "shfmt", "solargraph", "stylua", "svelteserver", "tailwindcss-language-server", "typescript-language-server", "typos-lsp", "vim-language-server", "vint", "vscode-css-language-server", "vscode-eslint-language-server", "vscode-html-language-server", "vscode-json-language-server", "write-good"], "keymaps": [{"desc": "", "noremap": true, "lhs": "<Tab>", "mode": "n", "rhs": ":bnext<CR>"}, {"desc": "", "noremap": true, "lhs": "<Esc>", "mode": "n", "rhs": "<Cmd>nohlsearch<CR>"}, {"desc": "Buffer Local Keymaps (which-key)", "noremap": true, "lhs": "<Space>?", "mode": "n", "rhs": "<function>"}, {"desc": "Dismiss All Notifications", "noremap": true, "lhs": "<Space>un", "mode": "n", "rhs": "<function>"}, {"desc": "Float File Explorer", "noremap": true, "lhs": "<Space>ee", "mode": "n", "rhs": ":Neotree toggle float<CR>"}, {"desc": "Left File Explorer", "noremap": true, "lhs": "<Space><Tab>", "mode": "n", "rhs": ":Neotree toggle left<CR>"}, {"desc": "Toggle TS Context", "noremap": true, "lhs": "<Space>tc", "mode": "n", "rhs": "<function>"}, {"desc": "Quit Buffer", "noremap": true, "lhs": "<Space>q", "mode": "n", "rhs": "<function>"}, {"desc": "Delete Comment Style", "noremap": true, "lhs": "<Space>cd", "mode": "v", "rhs": "<function>"}, {"desc": "Delete Comment Style", "noremap": true, "lhs": "<Space>cd", "mode": "n", "rhs": "<function>"}, {"desc": "Catalog", "noremap": true, "lhs": "<Space>cc", "mode": "n", "rhs": "<function>"}, {"desc": "Marked", "noremap": true, "lhs": "<Space>cm", "mode": "v", "rhs": "<function>"}, {"desc": "Marked", "noremap": true, "lhs": "<Space>cm", "mode": "n", "rhs": "<function>"}, {"desc": "Line", "noremap": true, "lhs": "<Space>cl", "mode": "n", "rhs": "<function>"}, {"desc": "Tiled line", "noremap": true, "lhs": "<Space>ct", "mode": "v", "rhs": "<function>"}, {"desc": "Tiled line", "noremap": true, "lhs": "<Space>ct", "mode": "n", "rhs": "<function>"}, {"desc": "Comment Box", "noremap": true, "lhs": "<Space>cb", "mode": "v", "rhs": "<function>"}, {"desc": "Comment Box", "noremap": true, "lhs": "<Space>cb", "mode": "n", "rhs": "<function>"}, {"desc": "Nav", "noremap": true, "lhs": "<Space>nv", "mode": "n", "rhs": "<function>"}, {"desc": "toggle markdown preview", "noremap": true, "lhs": "<Space>mp", "mode": "n", "rhs": "<function>"}, {"desc": "Horizontal Terminal", "noremap": true, "lhs": "<Space>th", "mode": "n", "rhs": "<function>"}, {"desc": "Vertical Terminal", "noremap": true, "lhs": "<Space>tv", "mode": "n", "rhs": "<function>"}, {"desc": "Screenshot (Clipboard)", "noremap": true, "lhs": "<Space>cp", "mode": "v", "rhs": "<function>"}, {"desc": "Screenshot (Save)", "noremap": true, "lhs": "<Space>cP", "mode": "v", "rhs": "<function>"}, {"desc": "Maximize/minimize a split", "noremap": true, "lhs": "<Space>sm", "mode": "n", "rhs": "<function>"}, {"desc": "Toggle zen mode", "noremap": true, "lhs": "<Space>zz", "mode": "n", "rhs": "<function>"}, {"desc": "Find File (CWD)", "noremap": true, "lhs": "<Space>sf", "mode": "n", "rhs": "<function>"}, {"desc": "Commands", "noremap": true, "lhs": "<Space>sC", "mode": "n", "rhs": "<function>"}, {"desc": "File Browser", "noremap": true, "lhs": "<Space>sF", "mode": "n", "rhs": "<function>"}, {"desc": "Open Recent File", "noremap": true, "lhs": "<Space>so", "mode": "n", "rhs": "<function>"}, {"desc": "Map Pages", "noremap": true, "lhs": "<Space>sM", "mode": "n", "rhs": "<function>"}, {"desc": "Find highlight groups", "noremap": true, "lhs": "<Space>sH", "mode": "n", "rhs": "<function>"}, {"desc": "Find Help", "noremap": true, "lhs": "<Space>sh", "mode": "n", "rhs": "<function>"}, {"desc": "Keymaps", "noremap": true, "lhs": "<Space>sk", "mode": "n", "rhs": "<function>"}, {"desc": "Grep String", "noremap": true, "lhs": "<Space>sw", "mode": "n", "rhs": "<function>"}, {"desc": "Live Grep", "noremap": true, "lhs": "<Space>sg", "mode": "n", "rhs": "<function>"}, {"desc": "Buffers", "noremap": true, "lhs": "<Space><Space>", "mode": "n", "rhs": "<function>"}, {"desc": "Toggle Output Panel", "noremap": true, "lhs": "<Space>tO", "mode": "n", "rhs": "<function>"}, {"desc": "Show Output", "noremap": true, "lhs": "<Space>to", "mode": "n", "rhs": "<function>"}, {"desc": "Toggle Summary", "noremap": true, "lhs": "<Space>ts", "mode": "n", "rhs": "<function>"}, {"desc": "Run Nearest", "noremap": true, "lhs": "<Space>tr", "mode": "n", "rhs": "<function>"}, {"desc": "Run All Test Files", "noremap": true, "lhs": "<Space>tT", "mode": "n", "rhs": "<function>"}, {"desc": "Run File", "noremap": true, "lhs": "<Space>tw", "mode": "n", "rhs": "<function>"}, {"desc": "Stop", "Line truncated
|
||||
+16
-9
@@ -3,6 +3,8 @@
|
||||
"Navigator.nvim": { "branch": "master", "commit": "91d86506ac2a039504d5205d32a1d4bc7aa57072" },
|
||||
"alpha-nvim": { "branch": "main", "commit": "355fbb81a59637a8963cf5847074f8c44dbef11f" },
|
||||
"barbecue": { "branch": "main", "commit": "cd7e7da622d68136e13721865b4d919efd6325ed" },
|
||||
"better-escape.nvim": { "branch": "master", "commit": "d337e02b140d909345441392de47a42d283747c1" },
|
||||
"bigfile.nvim": { "branch": "main", "commit": "33eb067e3d7029ac77e081cfe7c45361887a311a" },
|
||||
"bufdelete.nvim": { "branch": "master", "commit": "f6bcea78afb3060b198125256f897040538bcb81" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
||||
"cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" },
|
||||
@@ -11,6 +13,9 @@
|
||||
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
||||
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
|
||||
"codeium.vim": { "branch": "main", "commit": "0b74f274b82c00eaad4b5b5cd8b2e76f872d19f1" },
|
||||
"codesnap.nvim": { "branch": "main", "commit": "c2924bf6c9a2c2c03318fae9b7fe0706412b9d9c" },
|
||||
"comment-box.nvim": { "branch": "main", "commit": "06bb771690bc9df0763d14769b779062d8f12bc5" },
|
||||
"dotfyle-metadata.nvim": { "branch": "main", "commit": "342ef8f3f98f3ccc451c9cf2be74e95149ced05d" },
|
||||
"dressing.nvim": { "branch": "master", "commit": "6741f1062d3dc6e4755367a7e9b347b553623f04" },
|
||||
"eagle.nvim": { "branch": "main", "commit": "f590404f510be11ef2cf7c68e135441bfa48c9a8" },
|
||||
"flash.nvim": { "branch": "main", "commit": "34c7be146a91fec3555c33fe89c7d643f6ef5cf1" },
|
||||
@@ -25,20 +30,20 @@
|
||||
"lspkind.nvim": { "branch": "master", "commit": "cff4ae321a91ee3473a92ea1a8c637e3a9510aec" },
|
||||
"lspsaga.nvim": { "branch": "main", "commit": "4ce44df854f447cf0a8972e5387b3aeb5efc798b" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "b431d228b7bbcdaea818bdc3e25b8cdbe861f056" },
|
||||
"luvit-meta": { "branch": "main", "commit": "ce76f6f6cdc9201523a5875a4471dcfe0186eb60" },
|
||||
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "3ed90180e70a6a50cd37ce7ecc3693bcdaa7b290" },
|
||||
"mason-lock.nvim": { "branch": "main", "commit": "86614f76c3442fba1c5c8d79aa1efcb3ad69de1c" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "1c55991321d1a861537e32446affc5de5d9a6eaf" },
|
||||
"mason-null-ls.nvim": { "branch": "main", "commit": "de19726de7260c68d94691afb057fa73d3cc53e7" },
|
||||
"mason-tool-installer.nvim": { "branch": "main", "commit": "c5e07b8ff54187716334d585db34282e46fa2932" },
|
||||
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
|
||||
"mini.nvim": { "branch": "main", "commit": "49e2699dc0d585b445eda24ed4bb45952ac20508" },
|
||||
"mini.nvim": { "branch": "main", "commit": "7e30f58071dd963f2a6e81415aa121eb090da2c0" },
|
||||
"modes.nvim": { "branch": "main", "commit": "3188692abf02a8838ec75e59d68c2ce3e4323f5c" },
|
||||
"moonfly": { "branch": "master", "commit": "4f7d18cb471ede7407dd966c7563868cae7f4f99" },
|
||||
"neo-tree.nvim": { "branch": "v3.x", "commit": "29f7c215332ba95e470811c380ddbce2cebe2af4" },
|
||||
"neo-tree.nvim": { "branch": "main", "commit": "206241e451c12f78969ff5ae53af45616ffc9b72" },
|
||||
"neoscroll.nvim": { "branch": "master", "commit": "532dcc8cea4287c4cad6bb77532989a8217cfc7b" },
|
||||
"neotest": { "branch": "master", "commit": "32ff2ac21135a372a42b38ae131e531e64833bd3" },
|
||||
"neotest-jest": { "branch": "main", "commit": "514fd4eae7da15fd409133086bb8e029b65ac43f" },
|
||||
"neotest-vitest": { "branch": "main", "commit": "353364aa05b94b09409cbef21b79c97c5564e2ce" },
|
||||
"neotest-vitest": { "branch": "main", "commit": "e939b7c0ca705ad1f4be18894e30e7b4340a0148" },
|
||||
"noice.nvim": { "branch": "main", "commit": "448bb9c524a7601035449210838e374a30153172" },
|
||||
"none-ls.nvim": { "branch": "main", "commit": "cfa65d86e21eeb60544d5e823f6db43941322a53" },
|
||||
"nui.nvim": { "branch": "main", "commit": "61574ce6e60c815b0a0c4b5655b8486ba58089a1" },
|
||||
@@ -50,13 +55,14 @@
|
||||
"nvim-dap-go": { "branch": "main", "commit": "5511788255c92bdd845f8d9690f88e2e0f0ff9f2" },
|
||||
"nvim-dap-ui": { "branch": "master", "commit": "a5606bc5958db86f8d92803bea7400ee26a8d7e4" },
|
||||
"nvim-lsp-file-operations": { "branch": "master", "commit": "92a673de7ecaa157dd230d0128def10beb56d103" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "037ea0901ce9a28cfcaa36302618f06d2e164fbf" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "a89de2e049b5f89a0ee55029d5a31213bd4de6f8" },
|
||||
"nvim-navbuddy": { "branch": "master", "commit": "f22bac988f2dd073601d75ba39ea5636ab6e38cb" },
|
||||
"nvim-navic": { "branch": "master", "commit": "8649f694d3e76ee10c19255dece6411c29206a54" },
|
||||
"nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" },
|
||||
"nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" },
|
||||
"nvim-recorder": { "branch": "main", "commit": "2b307756704a0ba26e8a3adfe98d02eeaecaa52e" },
|
||||
"nvim-spectre": { "branch": "master", "commit": "ba7fb777edff6c1fbbeffd343e113af64c04e90a" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "bfb50de9cb0673a3bff620d881f690fb7e0d1328" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "59cc5f35656f97bc964229e3ec5066a7b5a8ee5b" },
|
||||
"nvim-treesitter-context": { "branch": "master", "commit": "0f3332788e0bd37716fbd25f39120dcfd557c90f" },
|
||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "ced6375723b20616282f9f6a1018a63ae19b106a" },
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "0cb76eea80e9c73b88880f0ca78fbd04c5bdcac7" },
|
||||
@@ -65,18 +71,19 @@
|
||||
"persistence.nvim": { "branch": "main", "commit": "f6aad7dde7fcf54148ccfc5f622c6d5badd0cc3d" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" },
|
||||
"rainbow-delimiters.nvim": { "branch": "master", "commit": "c097f728a409d9923a3c70c1507e8389978a9b85" },
|
||||
"resession.nvim": { "branch": "master", "commit": "e087ebeef81df25a12fcc4ec067ca73e2bb54c4a" },
|
||||
"screenkey.nvim": { "branch": "main", "commit": "a96a13fede30bba0b37f6a87cb0a2cdd1679e422" },
|
||||
"statuscol.nvim": { "branch": "main", "commit": "93d8bcda516fc86e11c03f9ef577bae9a72fba0e" },
|
||||
"telescope-file-browser.nvim": { "branch": "master", "commit": "a46780830b576049c675680650f773bedfa8677a" },
|
||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b" },
|
||||
"telescope-media.nvim": { "branch": "main", "commit": "aa67b00b3a0811c10c9c545127020d0fed04fc7e" },
|
||||
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "5972437de807c3bc101565175da66a1aa4f8707a" },
|
||||
"termim.nvim": { "branch": "main", "commit": "58344167abb97bcef9bf720a762ea653a94e9daa" },
|
||||
"toggleterm.nvim": { "branch": "main", "commit": "137d06fb103952a0fb567882bb8527e2f92d327d" },
|
||||
"transparent.nvim": { "branch": "main", "commit": "2c78d94448b534c35ca1d88a3bae90b1cd1a3d4d" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "6efc446226679fda0547c0fd6a7892fd5f5b15d8" },
|
||||
"ultimate-autopair.nvim": { "branch": "v0.6", "commit": "1420fb9e07b1d80cc6d87e7d90827fb2c1109cb3" },
|
||||
"undotree": { "branch": "master", "commit": "56c684a805fe948936cda0d1b19505b84ad7e065" },
|
||||
"url-open": { "branch": "main", "commit": "9f8f4a56ac709f26aa17d8ef921b272bf2262a30" },
|
||||
"vim-dadbod": { "branch": "master", "commit": "7888cb7164d69783d3dce4e0283decd26b82538b" },
|
||||
"vim-dadbod-completion": { "branch": "master", "commit": "880f7e9f2959e567c718d52550f9fae1aa07aa81" },
|
||||
"vim-dadbod-ui": { "branch": "master", "commit": "0f51d8de368c8c6220973e8acd156d17da746f4c" },
|
||||
|
||||
@@ -1,73 +0,0 @@
|
||||
local fn = vim.fn
|
||||
local api = vim.api
|
||||
local ns_id = vim.api.nvim_create_namespace('md-codeblaock')
|
||||
local M = {}
|
||||
|
||||
vim.cmd([[
|
||||
hi DError guibg=#2F1D29 guifg=#EB4838
|
||||
hi DBError guibg=#2F1D29
|
||||
hi DWarn guibg=#322425 guifg=#FA9535
|
||||
hi DBWarn guibg=#322425
|
||||
]])
|
||||
|
||||
function get_hl_group_bg_color(hl_group)
|
||||
local hl_info = vim.api.nvim_get_hl_by_name(hl_group, true)
|
||||
if hl_info and hl_info.background then
|
||||
local bg_color = string.format('#%06x', hl_info.background)
|
||||
return bg_color
|
||||
else
|
||||
return nil
|
||||
end
|
||||
end
|
||||
|
||||
function hl_line(bufnr, line, hl, vtext)
|
||||
local text = string.rep(' ', fn.winwidth(fn.bufwinnr(bufnr)))
|
||||
local opts = {
|
||||
virt_text = { { ' ' .. vtext .. text, hl.vig } },
|
||||
hl_eol = true,
|
||||
virt_text_pos = 'overlay',
|
||||
}
|
||||
api.nvim_buf_add_highlight(bufnr, ns_id, hl.gui, line, 0, -1)
|
||||
pcall(api.nvim_buf_set_extmark, bufnr, ns_id, line, fn.len(fn.getline(line + 1)), opts)
|
||||
end
|
||||
|
||||
function show_diag(bufnr, level, message, lnum)
|
||||
local hl = {
|
||||
[1] = {
|
||||
gui = 'DBError',
|
||||
vig = 'DError',
|
||||
},
|
||||
[2] = {
|
||||
gui = 'DBWarn',
|
||||
vig = 'DWarn',
|
||||
},
|
||||
[3] = {
|
||||
gui = 'DBWarn',
|
||||
vig = 'DWarn',
|
||||
},
|
||||
[4] = {
|
||||
gui = 'DBWarn',
|
||||
vig = 'DWarn',
|
||||
},
|
||||
[5] = {
|
||||
gui = 'DBWarn',
|
||||
vig = 'DWarn',
|
||||
},
|
||||
}
|
||||
hl_line(bufnr, lnum, hl[level], message)
|
||||
end
|
||||
|
||||
vim.lsp.handlers['textDocument/publishDiagnostics'] = function(_, result, ctx, _)
|
||||
if not result.diagnostics then
|
||||
return
|
||||
end
|
||||
local bufnr = vim.uri_to_bufnr(result.uri)
|
||||
vim.api.nvim_buf_clear_namespace(bufnr, ns_id, 0, -1)
|
||||
for _, diagnostic in ipairs(result.diagnostics) do
|
||||
local line = diagnostic.range.start.line
|
||||
local severity = diagnostic.severity
|
||||
local message = diagnostic.message
|
||||
show_diag(bufnr, severity, message, line)
|
||||
end
|
||||
end
|
||||
return M
|
||||
@@ -1,158 +0,0 @@
|
||||
return {
|
||||
kind = {
|
||||
Array = '',
|
||||
Boolean = '',
|
||||
Class = '',
|
||||
Color = '',
|
||||
Constant = '',
|
||||
Constructor = '',
|
||||
Enum = '',
|
||||
EnumMember = '',
|
||||
Event = '',
|
||||
Field = '',
|
||||
File = '',
|
||||
Folder = '',
|
||||
Function = '',
|
||||
Interface = '',
|
||||
Key = '',
|
||||
Keyword = '',
|
||||
Method = '',
|
||||
-- Module = " ",
|
||||
Module = '',
|
||||
Namespace = '',
|
||||
Null = '',
|
||||
Number = '',
|
||||
Object = '',
|
||||
Operator = '',
|
||||
Package = '',
|
||||
Property = '',
|
||||
Reference = '',
|
||||
Snippet = '',
|
||||
String = '',
|
||||
Struct = '',
|
||||
Text = '',
|
||||
TypeParameter = '',
|
||||
Unit = '',
|
||||
Value = '',
|
||||
Variable = '',
|
||||
},
|
||||
git = {
|
||||
LineAdded = '',
|
||||
LineModified = '',
|
||||
LineRemoved = '',
|
||||
FileDeleted = '',
|
||||
FileIgnored = '◌',
|
||||
FileRenamed = '',
|
||||
FileStaged = 'S',
|
||||
FileUnmerged = '',
|
||||
FileUnstaged = '',
|
||||
FileUntracked = 'U',
|
||||
Diff = '',
|
||||
Repo = '',
|
||||
Octoface = '',
|
||||
Copilot = '',
|
||||
Branch = '',
|
||||
},
|
||||
ui = {
|
||||
ArrowCircleDown = '',
|
||||
ArrowCircleLeft = '',
|
||||
ArrowCircleRight = '',
|
||||
ArrowCircleUp = '',
|
||||
BoldArrowDown = '',
|
||||
BoldArrowLeft = '',
|
||||
BoldArrowRight = '',
|
||||
BoldArrowUp = '',
|
||||
BoldClose = '',
|
||||
BoldDividerLeft = '',
|
||||
BoldDividerRight = '',
|
||||
BoldLineLeft = '▎',
|
||||
BoldLineMiddle = '┃',
|
||||
BoldLineDashedMiddle = '┋',
|
||||
BookMark = '',
|
||||
BoxChecked = '',
|
||||
Bug = '',
|
||||
Stacks = '',
|
||||
Scopes = '',
|
||||
Watches = '',
|
||||
DebugConsole = '',
|
||||
Calendar = '',
|
||||
Check = '',
|
||||
ChevronRight = '',
|
||||
ChevronShortDown = '',
|
||||
ChevronShortLeft = '',
|
||||
ChevronShortRight = '',
|
||||
ChevronShortUp = '',
|
||||
Circle = '',
|
||||
Close = '',
|
||||
CloudDownload = '',
|
||||
Code = '',
|
||||
Comment = '',
|
||||
Dashboard = '',
|
||||
DividerLeft = '',
|
||||
DividerRight = '',
|
||||
DoubleChevronRight = '»',
|
||||
Ellipsis = '',
|
||||
EmptyFolder = '',
|
||||
EmptyFolderOpen = '',
|
||||
File = '',
|
||||
FileSymlink = '',
|
||||
Files = '',
|
||||
FindFile = '',
|
||||
FindText = '',
|
||||
Fire = '',
|
||||
Folder = '',
|
||||
FolderOpen = '',
|
||||
FolderSymlink = '',
|
||||
Forward = '',
|
||||
Gear = '',
|
||||
History = '',
|
||||
Lightbulb = '',
|
||||
LineLeft = '▏',
|
||||
LineMiddle = '│',
|
||||
List = '',
|
||||
Lock = '',
|
||||
NewFile = '',
|
||||
Note = '',
|
||||
Package = '',
|
||||
Pencil = '',
|
||||
Plus = '',
|
||||
Project = '',
|
||||
Search = '',
|
||||
SignIn = '',
|
||||
SignOut = '',
|
||||
Tab = '',
|
||||
Table = '',
|
||||
Target = '',
|
||||
Telescope = '',
|
||||
Text = '',
|
||||
Tree = '',
|
||||
Triangle = '',
|
||||
TriangleShortArrowDown = '',
|
||||
TriangleShortArrowLeft = '',
|
||||
TriangleShortArrowRight = '',
|
||||
TriangleShortArrowUp = '',
|
||||
},
|
||||
diagnostics = {
|
||||
BoldError = '',
|
||||
Error = '',
|
||||
BoldWarning = '',
|
||||
Warn = '',
|
||||
BoldInformation = '',
|
||||
Info = '',
|
||||
BoldQuestion = '',
|
||||
Question = '',
|
||||
BoldHint = '',
|
||||
Hint = '',
|
||||
Debug = '',
|
||||
Trace = '✎',
|
||||
},
|
||||
misc = {
|
||||
Robot = '',
|
||||
Squirrel = '',
|
||||
Tag = '',
|
||||
Watch = '',
|
||||
Smiley = '',
|
||||
Package = '',
|
||||
CircuitBoard = '',
|
||||
},
|
||||
}
|
||||
+25
-9
@@ -8,9 +8,31 @@ vim.keymap.set('n', '<C-a>', 'gg<S-v>G')
|
||||
-- Replace currently selected text with default register without yanking it
|
||||
vim.keymap.set('x', '<leader>p', '"_dP')
|
||||
|
||||
-- Delete without yanking
|
||||
vim.keymap.set('n', '<leader>d', '"_d', { desc = 'Delete highlighted text' })
|
||||
vim.keymap.set('v', '<leader>d', '"_d', { desc = 'Delete highlighted text' })
|
||||
-- Delete and change without yanking
|
||||
vim.keymap.set({ 'n', 'x' }, '<A-d>', '"_d', { desc = 'Delete Without Yanking' })
|
||||
vim.keymap.set({ 'n', 'x' }, '<A-c>', '"_c', { desc = 'Change Without Yanking' })
|
||||
|
||||
-- Deleting without yanking empty line
|
||||
vim.keymap.set('n', 'dd', function()
|
||||
local is_empty_line = vim.api.nvim_get_current_line():match('^%s*$')
|
||||
if is_empty_line then
|
||||
return '"_dd'
|
||||
else
|
||||
return 'dd'
|
||||
end
|
||||
end, { noremap = true, expr = true, desc = "Don't Yank Empty Line to Clipboard" })
|
||||
|
||||
-- Search inside visually highlighted text
|
||||
vim.keymap.set('x', 'g/', '<esc>/\\%V', { silent = false, desc = 'Search Inside Visual Selection' })
|
||||
|
||||
-- Search visually selected text (slightly better than builtins in Neovim>=0.8)
|
||||
vim.keymap.set('x', '*', [[y/\V<C-R>=escape(@", '/\')<CR><CR>]], { desc = 'Search Selected Text', silent = true })
|
||||
vim.keymap.set(
|
||||
'x',
|
||||
'#',
|
||||
[[y?\V<C-R>=escape(@", '?\')<CR><CR>]],
|
||||
{ desc = 'Search Selected Text (Backwards)', silent = true }
|
||||
)
|
||||
|
||||
-- save file
|
||||
vim.keymap.set('n', '<leader>w', ':w<CR>', { desc = 'Save file' })
|
||||
@@ -21,12 +43,6 @@ vim.keymap.set('n', '<leader>Q', '<cmd>wq!<CR>', { desc = 'Force save and quit'
|
||||
-- Clear highlights on search when pressing <Esc> in normal mode
|
||||
vim.keymap.set('n', '<Esc>', '<cmd>nohlsearch<CR>')
|
||||
|
||||
-- Resize window using <ctrl> arrow keys
|
||||
vim.keymap.set('n', '<A-Up>', '<cmd>resize +2<cr>', { desc = 'Increase Window Height' })
|
||||
vim.keymap.set('n', '<A-Down>', '<cmd>resize -2<cr>', { desc = 'Decrease Window Height' })
|
||||
vim.keymap.set('n', '<A-Left>', '<cmd>vertical resize -2<cr>', { desc = 'Decrease Window Width' })
|
||||
vim.keymap.set('n', '<A-Right>', '<cmd>vertical resize +2<cr>', { desc = 'Increase Window Width' })
|
||||
|
||||
-- Visual vim.keymap.sets
|
||||
vim.keymap.set('v', '<leader>r', '"hy:%s/<C-r>h//g<left><left>') -- Replace all instances of highlighted words
|
||||
vim.keymap.set('v', '<A-s>', ':sort<CR>') -- Sort highlighted text in visual mode with Control+S
|
||||
|
||||
+24
-5
@@ -19,10 +19,11 @@ vim.opt.rtp:prepend(lazypath)
|
||||
require('lazy').setup({
|
||||
spec = {
|
||||
{ import = 'plugins' },
|
||||
{ import = 'list' },
|
||||
},
|
||||
install = {
|
||||
missing = true,
|
||||
colorscheme = { 'onedark' },
|
||||
colorscheme = { 'moonfly' },
|
||||
},
|
||||
checker = {
|
||||
enabled = true,
|
||||
@@ -34,10 +35,28 @@ require('lazy').setup({
|
||||
},
|
||||
ui = {
|
||||
icons = {
|
||||
ft = '',
|
||||
lazy = ' ',
|
||||
loaded = '',
|
||||
not_loaded = '',
|
||||
cmd = ' ',
|
||||
config = ' ',
|
||||
event = '',
|
||||
ft = ' ',
|
||||
init = ' ',
|
||||
import = ' ',
|
||||
keys = ' ',
|
||||
lazy = ' ',
|
||||
loaded = '●',
|
||||
not_loaded = '○',
|
||||
plugin = ' ',
|
||||
runtime = ' ',
|
||||
require = ' ',
|
||||
source = ' ',
|
||||
start = '',
|
||||
task = '✔ ',
|
||||
list = {
|
||||
'●',
|
||||
'➜',
|
||||
'★',
|
||||
'‒',
|
||||
},
|
||||
},
|
||||
},
|
||||
performance = {
|
||||
|
||||
@@ -1,283 +0,0 @@
|
||||
local function map(mode, lhs, rhs, opts)
|
||||
local options = {
|
||||
noremap = true,
|
||||
silent = true,
|
||||
}
|
||||
if opts then
|
||||
options = vim.tbl_extend('force', options, opts)
|
||||
end
|
||||
vim.keymap.set(mode, lhs, rhs, options)
|
||||
end
|
||||
|
||||
-- Save File
|
||||
map(
|
||||
{
|
||||
'i',
|
||||
'v',
|
||||
'n',
|
||||
's',
|
||||
},
|
||||
'<C-s>',
|
||||
'<cmd>w<cr><esc>',
|
||||
{
|
||||
desc = 'Save file',
|
||||
}
|
||||
)
|
||||
|
||||
map('i', '<C-v>', '<ESC>"+p<ESC>a', {
|
||||
desc = 'Paste from clipboard',
|
||||
})
|
||||
|
||||
map('n', '<A-v>', 'm`o<ESC>p``', {
|
||||
desc = 'Paste below',
|
||||
})
|
||||
|
||||
map('n', '<A-p>', 'm`O<ESC>p``', {
|
||||
desc = 'Paste above',
|
||||
})
|
||||
|
||||
map(
|
||||
{
|
||||
'n',
|
||||
'x',
|
||||
},
|
||||
'<C-c>',
|
||||
'"+y<ESC>',
|
||||
{
|
||||
desc = 'Copy to clipboard',
|
||||
}
|
||||
)
|
||||
|
||||
map(
|
||||
{
|
||||
'n',
|
||||
'x',
|
||||
},
|
||||
'<C-x>',
|
||||
'"+y<ESC>dd',
|
||||
{
|
||||
desc = 'Cut to clipboard',
|
||||
}
|
||||
)
|
||||
|
||||
-- Reselect the text that has just been pasted, see also https://stackoverflow.com/a/4317090/6064933.
|
||||
map('n', '<A-r>', "printf('`[%s`]', getregtype()[0])", {
|
||||
expr = true,
|
||||
desc = 'reselect last pasted area',
|
||||
})
|
||||
|
||||
map(
|
||||
{
|
||||
'i',
|
||||
'v',
|
||||
'n',
|
||||
's',
|
||||
},
|
||||
'<C-q>',
|
||||
'<cmd>wq!<cr><esc>',
|
||||
{
|
||||
desc = 'Force Save file and quit',
|
||||
}
|
||||
)
|
||||
|
||||
-- Select all text in the current buffer
|
||||
map('n', '<C-a>', ':keepjumps normal! ggyG<cr>', {
|
||||
desc = 'Select all',
|
||||
})
|
||||
|
||||
-- quit
|
||||
map('n', '<A-q>', '<cmd>wqa!<cr>', {
|
||||
desc = 'Quit all',
|
||||
})
|
||||
|
||||
-- go to beginning and end in insert mode
|
||||
map('i', '<A-b>', '<ESC>^i', {
|
||||
desc = 'Go to beginning of line',
|
||||
})
|
||||
map('i', '<A-e>', '<End>', {
|
||||
desc = 'Go to end of line',
|
||||
})
|
||||
|
||||
-- Go to the beginning and end of current line in insert mode quickly
|
||||
map('i', '<A-h>', '<HOME>')
|
||||
map('i', '<A-l>', '<END>')
|
||||
|
||||
-- insert semicolon in the end
|
||||
map('i', '<A-;>', '<Esc>miA;<Esc>`ii', {
|
||||
desc = 'insert semicolon in the end',
|
||||
})
|
||||
|
||||
-- Turn the word under cursor to upper case
|
||||
map('i', '<c-u>', '<Esc>viwUea')
|
||||
-- Turn the current word into lower case
|
||||
map('i', '<c-t>', '<Esc>b~lea')
|
||||
|
||||
-- Undo
|
||||
map('i', '<A-z>', '<C-O>u')
|
||||
|
||||
-- navigate within insert mode
|
||||
map('i', '<C-h>', '<Left>', {
|
||||
desc = 'Move Left',
|
||||
})
|
||||
map('i', '<C-l>', '<Right>', {
|
||||
desc = 'Move Right',
|
||||
})
|
||||
map('i', '<C-j>', '<Down>', {
|
||||
desc = 'Move Down',
|
||||
})
|
||||
map('i', '<C-k>', '<Up>', {
|
||||
desc = 'Move Up',
|
||||
})
|
||||
|
||||
-- Copy whole buffer
|
||||
map('n', '<C-y>', '<cmd>%y+<CR>', {
|
||||
desc = 'Copy whole buffer',
|
||||
})
|
||||
|
||||
-- Go to start or end of line easier
|
||||
map(
|
||||
{
|
||||
'n',
|
||||
'x',
|
||||
},
|
||||
'H',
|
||||
'^',
|
||||
{
|
||||
desc = 'Go to beginning of line',
|
||||
}
|
||||
)
|
||||
map(
|
||||
{
|
||||
'n',
|
||||
'x',
|
||||
},
|
||||
'L',
|
||||
'g_',
|
||||
{
|
||||
desc = 'Go to end of line',
|
||||
}
|
||||
)
|
||||
|
||||
-- Change text without putting it into the vim register,
|
||||
map(
|
||||
{
|
||||
'n',
|
||||
'x',
|
||||
},
|
||||
'c',
|
||||
'"_c',
|
||||
{
|
||||
desc = 'Change without yanking',
|
||||
}
|
||||
)
|
||||
map(
|
||||
{
|
||||
'n',
|
||||
'x',
|
||||
},
|
||||
'C',
|
||||
'"_C',
|
||||
{
|
||||
desc = 'Change without yanking',
|
||||
}
|
||||
)
|
||||
map(
|
||||
{
|
||||
'n',
|
||||
'x',
|
||||
},
|
||||
'cc',
|
||||
'"_cc',
|
||||
{
|
||||
desc = 'Change without yanking',
|
||||
}
|
||||
)
|
||||
map(
|
||||
{
|
||||
'n',
|
||||
'x',
|
||||
},
|
||||
'x',
|
||||
'"_x',
|
||||
{
|
||||
desc = 'delete without yanking',
|
||||
}
|
||||
)
|
||||
|
||||
-- Better escape using jk in insert and terminal mode
|
||||
map('i', 'jk', '<ESC>')
|
||||
map('i', 'kj', '<ESC>')
|
||||
map('i', 'jj', '<ESC>')
|
||||
|
||||
-- Terminal Mappings
|
||||
map('t', 'jk', '<C-\\><C-n>')
|
||||
map('t', 'kj', '<C-\\><C-n>')
|
||||
map('t', '<ESC>', '<C-\\><C-n>')
|
||||
|
||||
-- Move with shift-arrows
|
||||
map('n', '<S-Left>', '<C-w><S-h>', {
|
||||
desc = 'Move window to the left',
|
||||
})
|
||||
map('n', '<S-Down>', '<C-w><S-j>', {
|
||||
desc = 'Move window down',
|
||||
})
|
||||
map('n', '<S-Up>', '<C-w><S-k>', {
|
||||
desc = 'Move window up',
|
||||
})
|
||||
map('n', '<S-Right>', '<C-w><S-l>', {
|
||||
desc = 'Move window to the right',
|
||||
})
|
||||
|
||||
-- Search
|
||||
map(
|
||||
{
|
||||
'n',
|
||||
'x',
|
||||
},
|
||||
'gw',
|
||||
'*N',
|
||||
{
|
||||
desc = 'Search word under cursor',
|
||||
}
|
||||
)
|
||||
|
||||
-- Some cool remaps
|
||||
map('n', 'n', 'nzzzv')
|
||||
map('n', 'N', 'Nzzzv')
|
||||
map('n', 'J', 'mzJ`z')
|
||||
map('n', '}', '}zzzv')
|
||||
map('n', '{', '{zzzv')
|
||||
map('n', 'g,', 'g,zvzz')
|
||||
map('n', 'g;', 'g;zvzz')
|
||||
map('n', '<C-d>', '<C-d>zz')
|
||||
map('n', '<C-u>', '<C-u>zz')
|
||||
map('n', '^', 'g^')
|
||||
map('n', '0', 'g0')
|
||||
-- Do not include white space characters when using $ in visual mode,
|
||||
map('x', '$', 'g_')
|
||||
-- Always use very magic mode for searching
|
||||
map('n', '/', [[/\v]])
|
||||
|
||||
-- Add undo break-points
|
||||
map('i', '?', '?<c-g>u')
|
||||
map('i', '!', '!<c-g>u')
|
||||
map('i', ',', ',<c-g>u')
|
||||
map('i', '.', '.<c-g>u')
|
||||
map('i', ';', ';<c-g>u')
|
||||
|
||||
-- compromised backward search when comma is being used as localleader
|
||||
map('n', '<A-,>', ',')
|
||||
|
||||
-- Better up/down
|
||||
map({ 'n', 'x' }, 'j', "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true })
|
||||
map({ 'n', 'x' }, '<Down>', "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true })
|
||||
map({ 'n', 'x' }, 'k', "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true })
|
||||
map({ 'n', 'x' }, '<Up>', "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true })
|
||||
|
||||
-- Move text up and down
|
||||
map('n', '<A-j>', '<cmd>m .+1<cr>==', { desc = 'Move Down' })
|
||||
map('n', '<A-k>', '<cmd>m .-2<cr>==', { desc = 'Move Up' })
|
||||
map('i', '<A-j>', '<esc><cmd>m .+1<cr>==gi', { desc = 'Move Down' })
|
||||
map('i', '<A-k>', '<esc><cmd>m .-2<cr>==gi', { desc = 'Move Up' })
|
||||
map('v', '<A-j>', ":m '>+1<cr>gv=gv", { desc = 'Move Down' })
|
||||
map('v', '<A-k>', ":m '<-4<cr>gv=gv", { desc = 'Move Up' })
|
||||
+589
@@ -0,0 +1,589 @@
|
||||
return {
|
||||
-- Delete Buffer
|
||||
{
|
||||
'famiu/bufdelete.nvim',
|
||||
event = { 'BufReadPre', 'BufNewFile' },
|
||||
init = function()
|
||||
vim.keymap.set('n', '<leader>q', function()
|
||||
require('bufdelete').bufdelete(0, false)
|
||||
end, { silent = true, desc = 'Quit Buffer' })
|
||||
end,
|
||||
},
|
||||
-- Better Escape
|
||||
{
|
||||
'max397574/better-escape.nvim',
|
||||
config = function()
|
||||
require('better_escape').setup()
|
||||
end,
|
||||
},
|
||||
-- Comment
|
||||
{
|
||||
{
|
||||
'LudoPinelli/comment-box.nvim',
|
||||
opts = {},
|
||||
vscode = true,
|
||||
keys = {
|
||||
{ '<leader>cb', '<cmd>CBccbox<CR>', mode = { 'n', 'v' }, desc = 'Comment Box' },
|
||||
{ '<leader>ct', '<cmd>CBllline<CR>', mode = { 'n', 'v' }, desc = 'Tiled line' },
|
||||
{ '<leader>cl', '<cmd>CBline<CR>', desc = 'Line' },
|
||||
{ '<leader>cm', '<cmd>CBllbox14<CR>', mode = { 'n', 'v' }, desc = 'Marked' },
|
||||
{ '<leader>cc', '<cmd>CBcatalog<CR>', desc = 'Catalog' },
|
||||
{ '<leader>cd', '<cmd>CBd<CR>', mode = { 'n', 'v' }, desc = 'Delete Comment Style' },
|
||||
},
|
||||
},
|
||||
},
|
||||
-- Code Screnshot
|
||||
{
|
||||
'mistricky/codesnap.nvim',
|
||||
build = 'make',
|
||||
cmd = { 'CodeSnap', 'CodeSnapSave' },
|
||||
vscode = false,
|
||||
keys = {
|
||||
{ '<leader>cp', mode = 'v', "<cmd>'<,'>CodeSnap<cr>", desc = 'Screenshot (Clipboard)' },
|
||||
{ '<leader>cP', mode = 'v', "<cmd>'<,'>CodeSnapSave<cr>", desc = 'Screenshot (Save)' },
|
||||
},
|
||||
cond = vim.env.KITTY_SCROLLBACK_NVIM == nil,
|
||||
opts = {
|
||||
save_path = (os.getenv('HOME') .. '/Pictures/screenshots/code'),
|
||||
title = 'CodeSnap.nvim',
|
||||
code_font_family = 'JetBrainsMono Nerd Font',
|
||||
watermark_font_family = 'JetBrainsMono Nerd Font',
|
||||
watermark = '',
|
||||
bg_theme = 'summer',
|
||||
},
|
||||
},
|
||||
-- Generate dotfyle metadata for your config
|
||||
{
|
||||
'creativenull/dotfyle-metadata.nvim',
|
||||
cmd = { 'DotfyleGenerate', 'DotfyleOpen' },
|
||||
},
|
||||
-- improve the default vim.ui interfaces
|
||||
{
|
||||
'stevearc/dressing.nvim',
|
||||
event = 'VeryLazy',
|
||||
},
|
||||
-- Show diagnostics and lsp info inside a custom window, following the mouse position
|
||||
{
|
||||
'soulis-1256/eagle.nvim',
|
||||
event = { 'BufReadPre', 'BufNewFile' },
|
||||
config = function()
|
||||
require('eagle').setup({})
|
||||
end,
|
||||
},
|
||||
-- Navigate your code with search labels, enhanced character motions and Treesitter integration
|
||||
{
|
||||
'folke/flash.nvim',
|
||||
event = { 'CursorHold', 'CursorHoldI' },
|
||||
vscode = true,
|
||||
opts = {},
|
||||
keys = {
|
||||
{
|
||||
's',
|
||||
mode = { 'n', 'x', 'o' },
|
||||
function()
|
||||
require('flash').jump()
|
||||
end,
|
||||
desc = 'Flash',
|
||||
},
|
||||
{
|
||||
'S',
|
||||
mode = { 'n', 'o', 'x' },
|
||||
function()
|
||||
require('flash').treesitter()
|
||||
end,
|
||||
desc = 'Flash Treesitter',
|
||||
},
|
||||
{
|
||||
'r',
|
||||
mode = 'o',
|
||||
function()
|
||||
require('flash').remote()
|
||||
end,
|
||||
desc = 'Remote Flash',
|
||||
},
|
||||
{
|
||||
'R',
|
||||
mode = { 'o', 'x' },
|
||||
function()
|
||||
require('flash').treesitter_search()
|
||||
end,
|
||||
desc = 'Treesitter Search',
|
||||
},
|
||||
{
|
||||
'<c-s>',
|
||||
mode = { 'c' },
|
||||
function()
|
||||
require('flash').toggle()
|
||||
end,
|
||||
desc = 'Toggle Flash Search',
|
||||
},
|
||||
},
|
||||
},
|
||||
--open files in neovim without creating a nested sessions
|
||||
{
|
||||
'willothy/flatten.nvim',
|
||||
priority = 1001,
|
||||
opts = {
|
||||
window = {
|
||||
open = 'alternate',
|
||||
},
|
||||
},
|
||||
},
|
||||
-- highlight arguments
|
||||
{
|
||||
'm-demare/hlargs.nvim',
|
||||
event = { 'BufReadPost', 'BufNewFile' },
|
||||
},
|
||||
-- emoji picker
|
||||
{
|
||||
'ziontee113/icon-picker.nvim',
|
||||
enabled = true,
|
||||
cmd = { 'IconPickerInsert' },
|
||||
vim.keymap.set('n', '<Leader>se', '<cmd>IconPickerInsert emoji<cr>'),
|
||||
config = function()
|
||||
require('icon-picker').setup({ disable_legacy_commands = true })
|
||||
end,
|
||||
},
|
||||
-- Incremental rename
|
||||
{
|
||||
'smjonas/inc-rename.nvim',
|
||||
cmd = 'IncRename',
|
||||
config = true,
|
||||
},
|
||||
-- automtically guess indent
|
||||
{
|
||||
'nmac427/guess-indent.nvim',
|
||||
event = 'FileType',
|
||||
config = function()
|
||||
require('guess-indent').setup({})
|
||||
end,
|
||||
},
|
||||
-- Faster LuaLS setup
|
||||
{
|
||||
'folke/lazydev.nvim',
|
||||
ft = 'lua', -- only load on lua files
|
||||
cmd = 'LazyDev',
|
||||
lazy = true,
|
||||
event = 'LspAttach',
|
||||
opts = {
|
||||
library = {},
|
||||
},
|
||||
},
|
||||
-- Snippets
|
||||
{
|
||||
'L3MON4D3/LuaSnip',
|
||||
event = { 'BufReadPost', 'BufNewFile' },
|
||||
dependencies = {
|
||||
'rafamadriz/friendly-snippets',
|
||||
'mstuttgart/odoo-snippets',
|
||||
},
|
||||
opts = {
|
||||
history = true,
|
||||
updateevents = 'TextChanged,TextChangedI',
|
||||
},
|
||||
keys = function()
|
||||
return {}
|
||||
end,
|
||||
config = function()
|
||||
require('luasnip.loaders.from_vscode').lazy_load()
|
||||
end,
|
||||
},
|
||||
-- Markdown preview
|
||||
{
|
||||
'iamcco/markdown-preview.nvim',
|
||||
build = 'cd app && yarn install',
|
||||
ft = { 'markdown' },
|
||||
keys = {
|
||||
{
|
||||
'<leader>mp',
|
||||
'<cmd>MarkdownPreviewToggle<CR>',
|
||||
desc = 'toggle markdown preview',
|
||||
},
|
||||
},
|
||||
},
|
||||
-- Colorscheme
|
||||
{
|
||||
'bluz71/vim-moonfly-colors',
|
||||
name = 'moonfly',
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
config = function()
|
||||
require('moonfly').custom_colors({
|
||||
bg = '#000000',
|
||||
})
|
||||
vim.cmd([[colorscheme moonfly]])
|
||||
end,
|
||||
},
|
||||
-- navigate between neovim and terminal
|
||||
{
|
||||
'numToStr/Navigator.nvim',
|
||||
keys = {
|
||||
{ '<C-h>', '<cmd>NavigatorLeft<cr>' },
|
||||
{ '<C-j>', '<cmd>NavigatorDown<cr>' },
|
||||
{ '<C-k>', '<cmd>NavigatorUp<cr>' },
|
||||
{ '<C-l>', '<cmd>NavigatorRight<cr>' },
|
||||
{ '<C-\\>', '<cmd>NavigatorPrevious<cr>' },
|
||||
},
|
||||
config = function()
|
||||
require('Navigator').setup()
|
||||
end,
|
||||
},
|
||||
-- popup display that provides breadcrumbs like navigation features
|
||||
{
|
||||
'SmiteshP/nvim-navbuddy',
|
||||
dependencies = {
|
||||
'neovim/nvim-lspconfig',
|
||||
'SmiteshP/nvim-navic',
|
||||
},
|
||||
keys = {
|
||||
{ '<leader>nv', '<cmd>Navbuddy<cr>', desc = 'Nav' },
|
||||
},
|
||||
config = function()
|
||||
local actions = require('nvim-navbuddy.actions')
|
||||
local navbuddy = require('nvim-navbuddy')
|
||||
navbuddy.setup({
|
||||
window = {
|
||||
border = 'double',
|
||||
},
|
||||
mappings = {
|
||||
['k'] = actions.next_sibling,
|
||||
['i'] = actions.previous_sibling,
|
||||
['j'] = actions.parent,
|
||||
['l'] = actions.children,
|
||||
},
|
||||
lsp = { auto_attach = true },
|
||||
})
|
||||
end,
|
||||
},
|
||||
-- smooth scrolling
|
||||
{
|
||||
'karb94/neoscroll.nvim',
|
||||
event = 'UIEnter',
|
||||
config = function()
|
||||
require('neoscroll').setup({
|
||||
mappings = { -- Keys to be mapped to their corresponding default scrolling animation
|
||||
'<C-u>',
|
||||
'<C-d>',
|
||||
'<C-b>',
|
||||
'<C-f>',
|
||||
'<C-y>',
|
||||
'<C-e>',
|
||||
'zt',
|
||||
'zz',
|
||||
'zb',
|
||||
},
|
||||
hide_cursor = true, -- Hide cursor while scrolling
|
||||
stop_eof = true, -- Stop at <EOF> when scrolling downwards
|
||||
respect_scrolloff = false, -- Stop scrolling when the cursor reaches the scrolloff margin of the file
|
||||
cursor_scrolls_alone = true, -- The cursor will keep on scrolling even if the window cannot scroll further
|
||||
easing = 'linear', -- Default easing function
|
||||
pre_hook = nil, -- Function to run before the scrolling animation starts
|
||||
post_hook = nil, -- Function to run after the scrolling animation ends
|
||||
performance_mode = false, -- Disable "Performance Mode" on all buffers.
|
||||
})
|
||||
end,
|
||||
},
|
||||
-- Notifications
|
||||
{
|
||||
'rcarriga/nvim-notify',
|
||||
event = 'VeryLazy',
|
||||
keys = {
|
||||
{
|
||||
'<leader>un',
|
||||
function()
|
||||
require('notify').dismiss({ silent = true, pending = true })
|
||||
end,
|
||||
desc = 'Dismiss All Notifications',
|
||||
},
|
||||
},
|
||||
opts = {
|
||||
level = 2,
|
||||
minimum_width = 50,
|
||||
stages = 'fade',
|
||||
timeout = 3000,
|
||||
top_down = true,
|
||||
render = 'compact',
|
||||
background_colour = '#000000',
|
||||
},
|
||||
},
|
||||
-- Ui components
|
||||
{
|
||||
'MunifTanjim/nui.nvim',
|
||||
lazy = true,
|
||||
},
|
||||
-- Peek lines just when you intend
|
||||
{
|
||||
'nacro90/numb.nvim',
|
||||
event = 'CmdlineEnter',
|
||||
config = function()
|
||||
require('numb').setup({
|
||||
show_numbers = true, -- Enable 'number' for the window while peeking
|
||||
show_cursorline = true, -- Enable 'cursorline' for the window while peeking
|
||||
hide_relativenumbers = true, -- Enable turning off 'relativenumber' for the window while peeking
|
||||
number_only = false, -- Peek only when the command is only a number instead of when it starts with a number
|
||||
centered_peeking = true, -- Peeked line will be centered relative to window
|
||||
})
|
||||
end,
|
||||
},
|
||||
{
|
||||
'nvim-lua/plenary.nvim',
|
||||
lazy = true,
|
||||
},
|
||||
-- Session Management
|
||||
{
|
||||
'folke/persistence.nvim',
|
||||
event = 'BufReadPre',
|
||||
opts = { options = vim.opt.sessionoptions:get() },
|
||||
keys = {
|
||||
{
|
||||
'<leader>ss',
|
||||
function()
|
||||
require('persistence').load()
|
||||
end,
|
||||
desc = 'Restore Session',
|
||||
},
|
||||
{
|
||||
'<leader>sl',
|
||||
function()
|
||||
require('persistence').load({ last = true })
|
||||
end,
|
||||
desc = 'Restore Last Session',
|
||||
},
|
||||
{
|
||||
'<leader>sd',
|
||||
function()
|
||||
require('persistence').stop()
|
||||
end,
|
||||
desc = "Don't Save Current Session",
|
||||
},
|
||||
},
|
||||
},
|
||||
-- alternating syntax highlighting
|
||||
{
|
||||
'HiPhish/rainbow-delimiters.nvim',
|
||||
event = { 'BufReadPost', 'BufNewFile' },
|
||||
config = function()
|
||||
local rainbow_delimiters = require('rainbow-delimiters')
|
||||
require('rainbow-delimiters.setup').setup({
|
||||
{
|
||||
strategy = {
|
||||
[''] = rainbow_delimiters.strategy['global'],
|
||||
vim = rainbow_delimiters.strategy['local'],
|
||||
},
|
||||
query = {
|
||||
[''] = 'rainbow-delimiters',
|
||||
lua = 'rainbow-blocks',
|
||||
},
|
||||
priority = {
|
||||
[''] = 110,
|
||||
lua = 210,
|
||||
},
|
||||
highlight = {
|
||||
'RainbowDelimiterRed',
|
||||
'RainbowDelimiterYellow',
|
||||
'RainbowDelimiterBlue',
|
||||
'RainbowDelimiterOrange',
|
||||
'RainbowDelimiterGreen',
|
||||
'RainbowDelimiterViolet',
|
||||
'RainbowDelimiterCyan',
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
-- Enhance the usage of macros
|
||||
{
|
||||
'chrisgrieser/nvim-recorder',
|
||||
dependencies = { 'rcarriga/nvim-notify' },
|
||||
event = 'VeryLazy',
|
||||
vscode = true,
|
||||
keys = {
|
||||
{ 'q', desc = 'Start Recording' },
|
||||
{ 'Q', desc = 'Play Recording' },
|
||||
{ '<C-q>', desc = 'Switch Slot' },
|
||||
{ 'cq', desc = 'Edit Macro' },
|
||||
{ 'yq', desc = 'Yank Macro' },
|
||||
{ 'dq', desc = 'Delete All Macros' },
|
||||
},
|
||||
opts = {
|
||||
useNerdFontsIcons = false,
|
||||
slots = { 'a', 'b', 'c', 'd' },
|
||||
mapping = {
|
||||
startStopRecording = 'q',
|
||||
playMacro = 'Q',
|
||||
editMacro = 'cq',
|
||||
switchSlot = '<C-q>',
|
||||
deleteAllMacros = 'dq',
|
||||
yankMacro = 'yq',
|
||||
},
|
||||
},
|
||||
},
|
||||
-- Screencast the keys
|
||||
{
|
||||
'NStefan002/screenkey.nvim',
|
||||
cmd = 'Screenkey',
|
||||
version = '*',
|
||||
vim.keymap.set('n', '<leader>kt', '<cmd>Screenkey<CR>', { desc = 'Toggle keys' }),
|
||||
config = function()
|
||||
require('screenkey').setup({
|
||||
-- see :h nvim_open_win
|
||||
win_opts = {
|
||||
relative = 'editor',
|
||||
anchor = 'SE',
|
||||
width = 40,
|
||||
height = 1,
|
||||
border = 'single',
|
||||
},
|
||||
-- compress input when repeated <compress_after> times
|
||||
compress_after = 3,
|
||||
-- clear the input after <clear_after> seconds of inactivity
|
||||
clear_after = 3,
|
||||
-- temporarily disable screenkey (for example when inside of the terminal)
|
||||
disable = {
|
||||
filetypes = {}, -- for example: "toggleterm"
|
||||
-- :h 'buftype'
|
||||
buftypes = {}, -- for example: "terminal"
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
-- search panel
|
||||
{
|
||||
'nvim-pack/nvim-spectre',
|
||||
build = false,
|
||||
cmd = 'Spectre',
|
||||
opts = { open_cmd = 'noswapfile vnew' },
|
||||
keys = {
|
||||
{
|
||||
'<leader>sr',
|
||||
function()
|
||||
require('spectre').open()
|
||||
end,
|
||||
desc = 'Replace in Files (Spectre)',
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
'luukvbaal/statuscol.nvim',
|
||||
event = 'BufReadPre',
|
||||
config = function()
|
||||
local builtin = require('statuscol.builtin')
|
||||
require('statuscol').setup({
|
||||
setopt = true,
|
||||
separator = '',
|
||||
foldfunc = 'builtin',
|
||||
relculright = true,
|
||||
segments = {
|
||||
{ text = { '%s' }, click = 'v:lua.ScSa' },
|
||||
{
|
||||
text = { builtin.lnumfunc, ' ' },
|
||||
click = 'v:lua.ScLa',
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
-- undo history visualizer
|
||||
{
|
||||
'mbbill/undotree',
|
||||
keys = {
|
||||
{ '<leader>uu', '<cmd>UndotreeToggle<cr>', desc = 'Toggle Undotree' },
|
||||
},
|
||||
},
|
||||
-- maximizer & restore current window
|
||||
{
|
||||
'szw/vim-maximizer',
|
||||
|
||||
keys = {
|
||||
{ '<leader>sm', '<cmd>MaximizerToggle<CR>', desc = 'Maximize/minimize a split' },
|
||||
},
|
||||
},
|
||||
-- for programming activity
|
||||
{
|
||||
'wakatime/vim-wakatime',
|
||||
lazy = false,
|
||||
},
|
||||
-- show keymaps
|
||||
{
|
||||
'folke/which-key.nvim',
|
||||
event = 'UIEnter',
|
||||
opts = {
|
||||
preset = 'helix',
|
||||
},
|
||||
keys = {
|
||||
{
|
||||
'<leader>?',
|
||||
function()
|
||||
require('which-key').show({ global = false })
|
||||
end,
|
||||
desc = 'Buffer Local Keymaps (which-key)',
|
||||
},
|
||||
},
|
||||
},
|
||||
-- Distraction-free coding
|
||||
{
|
||||
'folke/zen-mode.nvim',
|
||||
cmd = { 'ZenMode' },
|
||||
opts = {},
|
||||
keys = {
|
||||
{ '<leader>zz', '<cmd>ZenMode<cr>', desc = 'Toggle zen mode' },
|
||||
},
|
||||
},
|
||||
-- Prismatic line decorations
|
||||
{
|
||||
'mvllow/modes.nvim',
|
||||
event = { 'BufReadPost', 'BufNewFile' },
|
||||
tag = 'v0.2.0',
|
||||
config = function()
|
||||
require('modes').setup({
|
||||
|
||||
colors = {
|
||||
visual = '#f5c359',
|
||||
delete = '#c75c6a',
|
||||
copy = '#78ccc5',
|
||||
insert = '#c5739a',
|
||||
},
|
||||
line_opacity = 0.15,
|
||||
set_cursor = true,
|
||||
set_cursorline = true,
|
||||
set_number = true,
|
||||
ignore_filetypes = { 'NvimTree', 'TelescopePrompt' },
|
||||
})
|
||||
end,
|
||||
},
|
||||
-- Make editing big files faster
|
||||
{
|
||||
'LunarVim/bigfile.nvim',
|
||||
event = { 'BufEnter', 'WinEnter' },
|
||||
opts = {
|
||||
-- Disables LSP/treesitter, etc for files above 5000 lives (even if they have really long lines)
|
||||
pattern = function(bufnr, filesize_mib)
|
||||
if filesize_mib >= 2 then
|
||||
return true
|
||||
end
|
||||
-- you can't use `nvim_buf_line_count` because this runs on BufReadPre
|
||||
local file_contents = vim.fn.readfile(vim.api.nvim_buf_get_name(bufnr))
|
||||
local file_length = #file_contents
|
||||
if file_length > 5000 then
|
||||
return true
|
||||
end
|
||||
|
||||
return false
|
||||
end,
|
||||
},
|
||||
},
|
||||
-- url-opener
|
||||
{
|
||||
'sontungexpt/url-open',
|
||||
event = { 'BufEnter', 'WinEnter' },
|
||||
cmd = 'URLOpenUnderCursor',
|
||||
config = function()
|
||||
local status_ok, url_open = pcall(require, 'url-open')
|
||||
if not status_ok then
|
||||
return
|
||||
end
|
||||
url_open.setup({})
|
||||
end,
|
||||
vim.keymap.set('n', 'gx', '<esc>:URLOpenUnderCursor<cr>'),
|
||||
},
|
||||
}
|
||||
+68
-92
@@ -1,106 +1,82 @@
|
||||
-- Header
|
||||
local function header()
|
||||
local banner_small = {
|
||||
' ',
|
||||
' ',
|
||||
' ',
|
||||
' ███╗ ██╗███████╗ ██████╗ ██╗ ██╗██╗███╗ ███╗ ',
|
||||
' ████╗ ██║██╔════╝██╔═══██╗██║ ██║██║████╗ ████║ ',
|
||||
' ██╔██╗ ██║█████╗ ██║ ██║██║ ██║██║██╔████╔██║ ',
|
||||
' ██║╚██╗██║██╔══╝ ██║ ██║╚██╗ ██╔╝██║██║╚██╔╝██║ ',
|
||||
' ██║ ╚████║███████╗╚██████╔╝ ╚████╔╝ ██║██║ ╚═╝ ██║ ',
|
||||
' ╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═══╝ ╚═╝╚═╝ ╚═╝ ',
|
||||
' ',
|
||||
' With experience comes perspective ',
|
||||
}
|
||||
|
||||
return banner_small
|
||||
end
|
||||
-- Footer
|
||||
local function footer()
|
||||
local version = vim.version()
|
||||
local print_version = 'v' .. version.major .. '.' .. version.minor .. '.' .. version.patch
|
||||
local stats = require('lazy').stats()
|
||||
local plugins_count = stats.loaded .. '/' .. stats.count
|
||||
local ms = math.floor(stats.startuptime + 0.5)
|
||||
local time = vim.fn.strftime('%H:%M:%S')
|
||||
local date = vim.fn.strftime('%d.%m.%Y')
|
||||
local line1 = ' ' .. plugins_count .. ' plugins loaded in ' .. ms .. 'ms'
|
||||
local line2 = ' ' .. date .. ' ' .. time
|
||||
local line3 = ' ' .. print_version
|
||||
|
||||
-- Calculate padding for centering lines
|
||||
local line1_width = vim.fn.strdisplaywidth(line1)
|
||||
local line2_padding = math.max(0, math.floor((line1_width - vim.fn.strdisplaywidth(line2)) / 2))
|
||||
local line3_padding = math.max(0, math.floor((line1_width - vim.fn.strdisplaywidth(line3)) / 2))
|
||||
|
||||
-- Apply padding to lines
|
||||
line2 = string.rep(' ', line2_padding) .. line2
|
||||
line3 = string.rep(' ', line3_padding) .. line3
|
||||
|
||||
return {
|
||||
' ',
|
||||
line1,
|
||||
line2,
|
||||
line3,
|
||||
}
|
||||
end
|
||||
|
||||
return {
|
||||
'goolord/alpha-nvim',
|
||||
event = 'VimEnter',
|
||||
opts = function()
|
||||
dependencies = { 'nvim-tree/nvim-web-devicons' },
|
||||
config = function()
|
||||
local alpha = require('alpha')
|
||||
local dashboard = require('alpha.themes.dashboard')
|
||||
require('alpha.term')
|
||||
local arttoggle = false
|
||||
|
||||
local logo = {
|
||||
[[ ]],
|
||||
[[ ███╗ ██╗███████╗ ██████╗ ██╗ ██╗██╗███╗ ███╗ ]],
|
||||
[[ ████╗ ██║██╔════╝██╔═══██╗██║ ██║██║████╗ ████║ ]],
|
||||
[[ ██╔██╗ ██║█████╗ ██║ ██║██║ ██║██║██╔████╔██║ ]],
|
||||
[[ ██║╚██╗██║██╔══╝ ██║ ██║╚██╗ ██╔╝██║██║╚██╔╝██║ ]],
|
||||
[[ ██║ ╚████║███████╗╚██████╔╝ ╚████╔╝ ██║██║ ╚═╝ ██║ ]],
|
||||
[[ ╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═══╝ ╚═╝╚═╝ ╚═╝ ]],
|
||||
[[ ]],
|
||||
}
|
||||
dashboard.section.header.val = header()
|
||||
dashboard.section.footer.val = footer()
|
||||
|
||||
local art = {
|
||||
-- { name, width, height }
|
||||
{ 'tohru', 62, 17 },
|
||||
}
|
||||
|
||||
if arttoggle == true then
|
||||
dashboard.opts.opts.noautocmd = true
|
||||
dashboard.section.terminal.opts.redraw = true
|
||||
local path = vim.fn.stdpath('config') .. '/assets/'
|
||||
-- local random = math.random(1, #art)
|
||||
local currentart = art[1]
|
||||
dashboard.section.terminal.command = 'cat ' .. path .. currentart[1]
|
||||
|
||||
dashboard.section.terminal.width = currentart[2]
|
||||
dashboard.section.terminal.height = currentart[3]
|
||||
|
||||
dashboard.opts.layout = {
|
||||
dashboard.section.terminal,
|
||||
{ type = 'padding', val = 2 },
|
||||
dashboard.section.buttons,
|
||||
dashboard.section.footer,
|
||||
}
|
||||
else
|
||||
dashboard.section.header.val = logo
|
||||
end
|
||||
-- Menu
|
||||
-- TODO: Add projects and Frecency?
|
||||
dashboard.section.buttons.val = {
|
||||
dashboard.button('n', ' ' .. ' New File', '<cmd>ene<CR>'),
|
||||
dashboard.button('e', ' ' .. ' File Tree', ':Telescope file_browser <CR>'),
|
||||
dashboard.button('f', ' ' .. ' Find files', ':Telescope find_files <CR>'),
|
||||
dashboard.button('o', ' ' .. ' Recent files', ':Telescope oldfiles <CR>'),
|
||||
dashboard.button('l', ' ' .. ' Lazy', ':Lazy <CR>'),
|
||||
dashboard.button('q', ' ' .. ' Quit', ':q <CR>'),
|
||||
dashboard.button('e', ' New file', ':ene <BAR> startinsert<CR>'),
|
||||
dashboard.button('f', ' Find files', '<cmd>Telescope find_files<CR>'),
|
||||
dashboard.button('t', ' Find text', '<cmd>Telescope live_grep<CR>'),
|
||||
dashboard.button('r', ' Recent files', '<cmd>Telescope oldfiles<CR>'),
|
||||
dashboard.button('p', ' Projects', '<cmd>Telescope projects<CR>'),
|
||||
dashboard.button('c', ' Config', '<cmd>e $MYVIMRC<CR>'),
|
||||
dashboard.button('l', ' Plugins', '<cmd>Lazy<CR>'),
|
||||
dashboard.button('q', ' Quit', '<cmd>qa<CR>'),
|
||||
}
|
||||
for _, button in ipairs(dashboard.section.buttons.val) do
|
||||
button.opts.hl = 'AlphaButtons'
|
||||
button.opts.hl_shortcut = 'AlphaShortcut'
|
||||
end
|
||||
dashboard.section.header.opts.hl = 'Function'
|
||||
dashboard.section.buttons.opts.hl = 'Identifier'
|
||||
dashboard.section.footer.opts.hl = 'Function'
|
||||
dashboard.opts.layout[1].val = 4
|
||||
return dashboard
|
||||
end,
|
||||
config = function(_, dashboard)
|
||||
if vim.o.filetype == 'lazy' then
|
||||
vim.cmd.close()
|
||||
vim.api.nvim_create_autocmd('User', {
|
||||
pattern = 'AlphaReady',
|
||||
callback = function()
|
||||
require('lazy').show()
|
||||
end,
|
||||
})
|
||||
end
|
||||
require('alpha').setup(dashboard.opts)
|
||||
|
||||
alpha.setup(dashboard.config)
|
||||
-- Update the footer after all plugins are fully loaded
|
||||
vim.api.nvim_create_autocmd('User', {
|
||||
pattern = 'LazyVimStarted',
|
||||
callback = function()
|
||||
local v = vim.version()
|
||||
local dev = ''
|
||||
if v.prerelease == 'dev' then
|
||||
dev = '-dev+' .. v.build
|
||||
else
|
||||
dev = ''
|
||||
end
|
||||
local version = v.major .. '.' .. v.minor .. '.' .. v.patch .. dev
|
||||
local stats = require('lazy').stats()
|
||||
local plugins_count = stats.loaded .. '/' .. stats.count
|
||||
local ms = math.floor(stats.startuptime + 0.5)
|
||||
local time = vim.fn.strftime('%H:%M:%S')
|
||||
local date = vim.fn.strftime('%d.%m.%Y')
|
||||
local line1 = ' ' .. plugins_count .. ' plugins loaded in ' .. ms .. 'ms'
|
||||
local line2 = ' ' .. date .. ' ' .. time
|
||||
local line3 = ' ' .. version
|
||||
|
||||
local line1_width = vim.fn.strdisplaywidth(line1)
|
||||
local line2Padded = string.rep(' ', (line1_width - vim.fn.strdisplaywidth(line2)) / 2) .. line2
|
||||
local line3Padded = string.rep(' ', (line1_width - vim.fn.strdisplaywidth(line3)) / 2) .. line3
|
||||
|
||||
dashboard.section.footer.val = {
|
||||
line1,
|
||||
line2Padded,
|
||||
line3Padded,
|
||||
}
|
||||
pcall(vim.cmd.AlphaRedraw)
|
||||
dashboard.section.footer.val = footer()
|
||||
pcall(vim.cmd, 'AlphaRedraw')
|
||||
end,
|
||||
})
|
||||
end,
|
||||
|
||||
+70
-12
@@ -1,14 +1,72 @@
|
||||
-- autopairing of (){}[] etc
|
||||
return {
|
||||
'windwp/nvim-autopairs',
|
||||
event = 'InsertEnter',
|
||||
enabled = false,
|
||||
config = function(_, opts)
|
||||
require('nvim-autopairs').setup(opts)
|
||||
|
||||
-- setup cmp for autopairs
|
||||
-- If you want insert `(` after select function or method item
|
||||
local cmp_autopairs = require('nvim-autopairs.completion.cmp')
|
||||
require('cmp').event:on('confirm_done', cmp_autopairs.on_confirm_done())
|
||||
end,
|
||||
{
|
||||
{
|
||||
'windwp/nvim-autopairs',
|
||||
keys = {
|
||||
{ '<M-e>', mode = 'i' },
|
||||
{ '<CR>', mode = 'i' },
|
||||
{ '{', mode = 'i' },
|
||||
{ '[', mode = 'i' },
|
||||
{ '(', mode = 'i' },
|
||||
{ '"', mode = 'i' },
|
||||
{ "'", mode = 'i' },
|
||||
{ '`', mode = 'i' },
|
||||
{ '<', mode = 'i' },
|
||||
},
|
||||
lazy = true,
|
||||
init = function()
|
||||
vim.api.nvim_create_autocmd('User', {
|
||||
pattern = 'IntPairsComp',
|
||||
callback = function()
|
||||
require('cmp').event:on(
|
||||
'confirm_done',
|
||||
require('nvim-autopairs.completion.cmp').on_confirm_done()
|
||||
)
|
||||
end,
|
||||
once = true,
|
||||
})
|
||||
end,
|
||||
config = function()
|
||||
require('nvim-autopairs').setup({
|
||||
map_bs = false,
|
||||
check_ts = true,
|
||||
fast_wrap = { highlight = 'Question', highlight_grey = 'LspCodeLens' },
|
||||
})
|
||||
end,
|
||||
},
|
||||
{
|
||||
'hrsh7th/nvim-cmp',
|
||||
optional = true,
|
||||
opts = function()
|
||||
require('cmp').event:on('menu_opened', function()
|
||||
if vim.api.nvim_get_mode().mode:sub(1, 1) ~= 'c' then
|
||||
vim.api.nvim_exec_autocmds('User', { pattern = 'IntPairsComp', modeline = false })
|
||||
end
|
||||
end)
|
||||
end,
|
||||
},
|
||||
},
|
||||
{
|
||||
'altermo/ultimate-autopair.nvim',
|
||||
keys = {
|
||||
{ '<A-)>', mode = { 'i', 'c' } },
|
||||
{ '<BS>', mode = { 'i', 'c' } },
|
||||
{ '<Space>', mode = { 'i', 'c' } },
|
||||
{ '{', mode = 'c' },
|
||||
{ '[', mode = 'c' },
|
||||
{ '(', mode = 'c' },
|
||||
{ '"', mode = 'c' },
|
||||
{ "'", mode = 'c' },
|
||||
{ '`', mode = 'c' },
|
||||
},
|
||||
lazy = true,
|
||||
config = function()
|
||||
require('ultimate-autopair').setup({
|
||||
pair_map = true,
|
||||
cr = { enable = false },
|
||||
space2 = { enable = true },
|
||||
fastwarp = { enable = false },
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
return {
|
||||
'famiu/bufdelete.nvim',
|
||||
event = { 'BufReadPre', 'BufNewFile' },
|
||||
init = function()
|
||||
vim.keymap.set('n', '<leader>q', function()
|
||||
require('bufdelete').bufdelete(0, false)
|
||||
end, { silent = true, desc = 'Quit Buffer' })
|
||||
end,
|
||||
}
|
||||
+46
-21
@@ -1,24 +1,49 @@
|
||||
return {
|
||||
'Exafunction/codeium.vim',
|
||||
event = 'InsertEnter',
|
||||
cmd = 'Codeium',
|
||||
build = 'Codeium Auth:',
|
||||
{
|
||||
'Exafunction/codeium.vim',
|
||||
event = 'InsertEnter',
|
||||
config = function()
|
||||
local cmp = require('cmp')
|
||||
cmp.event:on('menu_opened', function()
|
||||
vim.g.codeium_manual = true
|
||||
vim.fn['codeium#Clear']()
|
||||
end)
|
||||
cmp.event:on('menu_closed', function()
|
||||
vim.g.codeium_manual = false
|
||||
vim.fn['codeium#Complete']()
|
||||
end)
|
||||
|
||||
config = function()
|
||||
vim.keymap.set('i', '<M-CR>', function()
|
||||
return vim.fn['codeium#Accept']()
|
||||
end, { expr = true, silent = true })
|
||||
vim.keymap.set("n", "<leader>c", function()
|
||||
return vim.fn["codeium#Chat"]()
|
||||
end, { desc = "Chat with IA (Codeium)" })
|
||||
vim.keymap.set('i', '<M-]>', function()
|
||||
return vim.fn['codeium#CycleCompletions'](1)
|
||||
end, { expr = true, silent = true })
|
||||
vim.keymap.set('i', '<M-[,>', function()
|
||||
return vim.fn['codeium#CycleCompletions'](-1)
|
||||
end, { expr = true, silent = true })
|
||||
vim.keymap.set('i', '<M-c>', function()
|
||||
return vim.fn['codeium#Clear']()
|
||||
end, { expr = true, silent = true })
|
||||
end,
|
||||
vim.g.codeium_filetypes = {
|
||||
TelescopePrompt = false,
|
||||
DressingInput = false,
|
||||
['neo-tree-popup'] = false,
|
||||
['dap-repl'] = false,
|
||||
}
|
||||
|
||||
local opts = { expr = true, silent = true }
|
||||
vim.g.codeium_disable_bindings = 1
|
||||
|
||||
vim.keymap.set('i', '<M-CR>', function()
|
||||
return vim.fn['codeium#Accept']()
|
||||
end, opts)
|
||||
|
||||
vim.keymap.set('n', '<leader>ch', function()
|
||||
return vim.fn['codeium#Chat']()
|
||||
end, { desc = 'Chat with IA (Codeium)' })
|
||||
|
||||
vim.keymap.set('i', '<M-]>', function()
|
||||
return vim.fn['codeium#CycleCompletions'](1)
|
||||
end, opts)
|
||||
|
||||
vim.keymap.set('i', '<M-[>', function()
|
||||
return vim.fn['codeium#CycleCompletions'](-1)
|
||||
end, opts)
|
||||
|
||||
vim.keymap.set('i', '<M-c>', function()
|
||||
return vim.fn['codeium#Clear']()
|
||||
end, opts)
|
||||
|
||||
vim.keymap.set('n', '<leader>cI', '<cmd>CodeiumToggle<cr>', { desc = 'Toggle IA (Codeium)' })
|
||||
end,
|
||||
},
|
||||
}
|
||||
@@ -1,10 +1,6 @@
|
||||
return {
|
||||
'willothy/nvim-cokeline',
|
||||
dependencies = {
|
||||
'nvim-lua/plenary.nvim', -- Required for v0.4.0+
|
||||
'nvim-tree/nvim-web-devicons', -- If you want devicons
|
||||
'stevearc/resession.nvim', -- Optional, for persistent history
|
||||
},
|
||||
event = 'UIEnter',
|
||||
config = function()
|
||||
local get_hex = require('cokeline.hlgroups').get_hl_attr
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ return {
|
||||
'onsails/lspkind.nvim',
|
||||
-- snippet plugin
|
||||
{ 'L3MON4D3/LuaSnip', event = { 'BufReadPost', 'BufNewFile' } },
|
||||
{ 'rafamadriz/friendly-snippets', event = { 'BufReadPost', 'BufNewFile' } },
|
||||
},
|
||||
config = function()
|
||||
local cmp = require('cmp')
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
-- Neovim plugin to improve the default vim.ui interfaces
|
||||
return {
|
||||
'stevearc/dressing.nvim',
|
||||
event = 'VeryLazy',
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
return {
|
||||
'soulis-1256/eagle.nvim',
|
||||
event = { 'BufReadPre', 'BufNewFile' },
|
||||
config = function()
|
||||
require('eagle').setup({})
|
||||
end,
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
return {
|
||||
'folke/flash.nvim',
|
||||
event = { 'CursorHold', 'CursorHoldI' },
|
||||
vscode = true,
|
||||
opts = {},
|
||||
-- stylua: ignore
|
||||
keys = {
|
||||
{ "s", mode = { "n", "x", "o" }, function() require("flash").jump() end, desc = "Flash" },
|
||||
{ "S", mode = { "n", "o", "x" }, function() require("flash").treesitter() end, desc = "Flash Treesitter" },
|
||||
{ "r", mode = "o", function() require("flash").remote() end, desc = "Remote Flash" },
|
||||
{ "R", mode = { "o", "x" }, function() require("flash").treesitter_search() end, desc = "Treesitter Search" },
|
||||
{ "<c-s>", mode = { "c" }, function() require("flash").toggle() end, desc = "Toggle Flash Search" },
|
||||
},
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
--open files in neovim without creating a nested sessions
|
||||
return {
|
||||
'willothy/flatten.nvim',
|
||||
priority = 1001,
|
||||
opts = {
|
||||
window = {
|
||||
open = 'alternate',
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
return {
|
||||
'm-demare/hlargs.nvim',
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
return {
|
||||
'ziontee113/icon-picker.nvim',
|
||||
enabled = true,
|
||||
cmd = { 'IconPickerInsert' },
|
||||
vim.keymap.set('n', '<Leader>se', '<cmd>IconPickerInsert emoji<cr>'),
|
||||
config = function()
|
||||
require('icon-picker').setup({ disable_legacy_commands = true })
|
||||
end,
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
-- Incremental rename
|
||||
return {
|
||||
'smjonas/inc-rename.nvim',
|
||||
cmd = 'IncRename',
|
||||
config = true,
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
return {
|
||||
{
|
||||
'nmac427/guess-indent.nvim',
|
||||
enabled = true,
|
||||
config = function()
|
||||
require('guess-indent').setup({})
|
||||
end,
|
||||
event = 'BufReadPost',
|
||||
},
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
return {
|
||||
{
|
||||
'folke/lazydev.nvim',
|
||||
ft = 'lua', -- only load on lua files
|
||||
cmd = 'LazyDev',
|
||||
lazy = true,
|
||||
event = 'LspAttach',
|
||||
opts = {
|
||||
library = {},
|
||||
},
|
||||
},
|
||||
{ 'Bilal2453/luvit-meta', lazy = true }, -- optional `vim.uv` typings
|
||||
}
|
||||
@@ -1,7 +1,6 @@
|
||||
return {
|
||||
'neovim/nvim-lspconfig',
|
||||
lazy = true,
|
||||
event = { 'BufReadPre', 'BufNewFile' },
|
||||
event = { 'BufReadPost', 'FileType' },
|
||||
dependencies = {
|
||||
'hrsh7th/cmp-nvim-lsp',
|
||||
{ 'antosha417/nvim-lsp-file-operations', config = true },
|
||||
|
||||
@@ -3,7 +3,7 @@ return {
|
||||
dependencies = {
|
||||
'nvim-tree/nvim-web-devicons',
|
||||
},
|
||||
event = { 'BufReadPost', 'BufAdd', 'BufNewFile' },
|
||||
event = 'UIEnter',
|
||||
config = function()
|
||||
-- Eviline config for lualine
|
||||
-- Author: shadmansaleh
|
||||
@@ -50,6 +50,7 @@ return {
|
||||
'NeoTree',
|
||||
'NvimTree',
|
||||
'Outline',
|
||||
'alpha',
|
||||
},
|
||||
theme = {
|
||||
-- We are going to use lualine_c an lualine_x as left and
|
||||
@@ -161,14 +162,13 @@ return {
|
||||
-- Lsp server name .
|
||||
function()
|
||||
local msg = 'No Active Lsp'
|
||||
local buf_ft = vim.api.nvim_buf_get_option(0, 'filetype')
|
||||
local clients = vim.lsp.get_clients()
|
||||
if next(clients) == nil then
|
||||
return msg
|
||||
end
|
||||
for _, client in ipairs(clients) do
|
||||
local filetypes = client.config.filetypes
|
||||
if filetypes and vim.fn.index(filetypes, buf_ft) ~= -1 then
|
||||
if filetypes and vim.fn.index(filetypes) ~= -1 then
|
||||
return client.name
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
-- snippet plugin
|
||||
return {
|
||||
'L3MON4D3/LuaSnip',
|
||||
event = { 'BufReadPost', 'BufNewFile' },
|
||||
dependencies = {
|
||||
'rafamadriz/friendly-snippets',
|
||||
'mstuttgart/odoo-snippets',
|
||||
},
|
||||
opts = {
|
||||
history = true,
|
||||
updateevents = 'TextChanged,TextChangedI',
|
||||
},
|
||||
keys = function()
|
||||
return {}
|
||||
end,
|
||||
config = function()
|
||||
require('luasnip.loaders.from_vscode').lazy_load()
|
||||
end,
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
return {
|
||||
{
|
||||
'iamcco/markdown-preview.nvim',
|
||||
build = 'cd app && yarn install',
|
||||
ft = { 'markdown' },
|
||||
keys = {
|
||||
{
|
||||
'<leader>mp',
|
||||
'<cmd>MarkdownPreviewToggle<CR>',
|
||||
{ desc = 'toggle markdown preview', noremap = true },
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -4,6 +4,7 @@ return {
|
||||
dependencies = {
|
||||
{ 'williamboman/mason-lspconfig.nvim', event = { 'BufReadPre', 'BufNewFile' } },
|
||||
'WhoIsSethDaniel/mason-tool-installer.nvim',
|
||||
{ 'zapling/mason-lock.nvim', cmd = { 'MasonLock', 'MasonLockRestore' }, opts = {} },
|
||||
},
|
||||
config = function()
|
||||
local mason = require('mason')
|
||||
|
||||
+26
-2
@@ -5,8 +5,6 @@ return {
|
||||
version = false,
|
||||
config = function()
|
||||
require('mini.comment').setup({})
|
||||
require('mini.pairs').setup({})
|
||||
require('mini.move').setup({})
|
||||
require('mini.cursorword').setup()
|
||||
-- require("mini.tabline").setup()
|
||||
local statusline = require('mini.statusline')
|
||||
@@ -34,6 +32,32 @@ return {
|
||||
update_n_lines = 'gsn', -- Update `n_lines`
|
||||
},
|
||||
})
|
||||
require('mini.pairs').setup({
|
||||
odes = { command = true },
|
||||
mappings = {
|
||||
['<'] = { action = 'open', pair = '<>', neigh_pattern = '[^\\].' },
|
||||
['>'] = { action = 'close', pair = '<>', neigh_pattern = '[^\\].' },
|
||||
},
|
||||
})
|
||||
require('mini.move').setup({
|
||||
keys = {
|
||||
{ '<M-Left>', mode = { 'n', 'v' } },
|
||||
{ '<M-Down>', mode = { 'n', 'v' } },
|
||||
{ '<M-Up>', mode = { 'n', 'v' } },
|
||||
{ '<M-Right>', mode = { 'n', 'v' } },
|
||||
},
|
||||
|
||||
mappings = {
|
||||
left = '<M-Left>',
|
||||
line_left = '<M-Left>',
|
||||
right = '<M-Right>',
|
||||
line_right = '<M-Right>',
|
||||
down = '<M-Down>',
|
||||
line_down = '<M-Down>',
|
||||
up = '<M-Up>',
|
||||
line_up = '<M-Up>',
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
return {
|
||||
'mvllow/modes.nvim',
|
||||
tag = 'v0.2.0',
|
||||
config = function()
|
||||
require('modes').setup({
|
||||
|
||||
colors = {
|
||||
visual = '#f5c359',
|
||||
delete = '#c75c6a',
|
||||
copy = '#78ccc5',
|
||||
insert = '#c5739a',
|
||||
},
|
||||
|
||||
-- Set opacity for cursorline and number background
|
||||
line_opacity = 0.15,
|
||||
|
||||
-- Enable cursor highlights
|
||||
set_cursor = true,
|
||||
|
||||
-- Enable cursorline initially, and disable cursorline for inactive windows
|
||||
-- or ignored filetypes
|
||||
set_cursorline = true,
|
||||
|
||||
-- Enable line number highlights to match cursorline
|
||||
set_number = true,
|
||||
|
||||
-- Disable modes highlights in specified filetypes
|
||||
-- Please PR commonly ignored filetypes
|
||||
ignore_filetypes = { 'NvimTree', 'TelescopePrompt' },
|
||||
})
|
||||
end,
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
return {
|
||||
'bluz71/vim-moonfly-colors',
|
||||
name = 'moonfly',
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
config = function()
|
||||
require('moonfly').custom_colors({
|
||||
bg = '#000000',
|
||||
})
|
||||
vim.cmd([[colorscheme moonfly]])
|
||||
end,
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
return {
|
||||
'SmiteshP/nvim-navbuddy',
|
||||
dependencies = {
|
||||
'neovim/nvim-lspconfig',
|
||||
'SmiteshP/nvim-navic',
|
||||
'MunifTanjim/nui.nvim',
|
||||
},
|
||||
keys = {
|
||||
{ '<leader>nv', '<cmd>Navbuddy<cr>', desc = 'Nav' },
|
||||
},
|
||||
config = function()
|
||||
local actions = require('nvim-navbuddy.actions')
|
||||
local navbuddy = require('nvim-navbuddy')
|
||||
navbuddy.setup({
|
||||
window = {
|
||||
border = 'double',
|
||||
},
|
||||
mappings = {
|
||||
['k'] = actions.next_sibling,
|
||||
['i'] = actions.previous_sibling,
|
||||
['j'] = actions.parent,
|
||||
['l'] = actions.children,
|
||||
},
|
||||
lsp = { auto_attach = true },
|
||||
})
|
||||
end,
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
return {
|
||||
'numToStr/Navigator.nvim',
|
||||
keys = {
|
||||
{ '<C-h>', '<cmd>NavigatorLeft<cr>' },
|
||||
{ '<C-j>', '<cmd>NavigatorDown<cr>' },
|
||||
{ '<C-k>', '<cmd>NavigatorUp<cr>' },
|
||||
{ '<C-l>', '<cmd>NavigatorRight<cr>' },
|
||||
{ '<C-\\>', '<cmd>NavigatorPrevious<cr>' },
|
||||
},
|
||||
config = function()
|
||||
require('Navigator').setup()
|
||||
end,
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
return {
|
||||
'nvim-neo-tree/neo-tree.nvim',
|
||||
branch = 'v3.x',
|
||||
enabled = true,
|
||||
dependencies = {
|
||||
'nvim-lua/plenary.nvim',
|
||||
'nvim-tree/nvim-web-devicons',
|
||||
@@ -10,4 +10,26 @@ return {
|
||||
{ '<leader>ee', ':Neotree toggle float<CR>', silent = true, desc = 'Float File Explorer' },
|
||||
{ '<leader><tab>', ':Neotree toggle left<CR>', silent = true, desc = 'Left File Explorer' },
|
||||
},
|
||||
cmd = { 'Neotree' },
|
||||
opts = {
|
||||
filesystem = {
|
||||
filtered_items = {
|
||||
visible = true,
|
||||
show_hidden_count = true,
|
||||
hide_dotfiles = false,
|
||||
hide_gitignored = true,
|
||||
hide_by_name = {
|
||||
'.git',
|
||||
'.DS_Store',
|
||||
'thumbs.db',
|
||||
'.venv',
|
||||
},
|
||||
never_show = {},
|
||||
},
|
||||
},
|
||||
window = {
|
||||
position = 'right',
|
||||
width = 35,
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
-- Smooth scrolling neovim plugin written in lua
|
||||
return {
|
||||
'karb94/neoscroll.nvim',
|
||||
event = { 'CursorHold', 'CursorHoldI' },
|
||||
config = function()
|
||||
require('neoscroll').setup({
|
||||
mappings = { -- Keys to be mapped to their corresponding default scrolling animation
|
||||
'<C-u>',
|
||||
'<C-d>',
|
||||
'<C-b>',
|
||||
'<C-f>',
|
||||
'<C-y>',
|
||||
'<C-e>',
|
||||
'zt',
|
||||
'zz',
|
||||
'zb',
|
||||
},
|
||||
hide_cursor = true, -- Hide cursor while scrolling
|
||||
stop_eof = true, -- Stop at <EOF> when scrolling downwards
|
||||
respect_scrolloff = false, -- Stop scrolling when the cursor reaches the scrolloff margin of the file
|
||||
cursor_scrolls_alone = true, -- The cursor will keep on scrolling even if the window cannot scroll further
|
||||
easing = 'linear', -- Default easing function
|
||||
pre_hook = nil, -- Function to run before the scrolling animation starts
|
||||
post_hook = nil, -- Function to run after the scrolling animation ends
|
||||
performance_mode = false, -- Disable "Performance Mode" on all buffers.
|
||||
})
|
||||
end,
|
||||
}
|
||||
@@ -1,8 +1,7 @@
|
||||
-- override nvim ui
|
||||
return {
|
||||
'folke/noice.nvim',
|
||||
event = 'VeryLazy',
|
||||
enabled = true,
|
||||
event = 'UIEnter',
|
||||
dependencies = {
|
||||
'nvim-treesitter/nvim-treesitter',
|
||||
'MunifTanjim/nui.nvim',
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
return {
|
||||
'nvimtools/none-ls.nvim', -- configure formatters & linters
|
||||
event = { 'BufReadPre', 'BufNewFile' },
|
||||
event = { 'BufRead', 'FileType' },
|
||||
dependencies = {
|
||||
'jay-babu/mason-null-ls.nvim',
|
||||
},
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
return {
|
||||
'rcarriga/nvim-notify',
|
||||
event = 'VeryLazy',
|
||||
keys = {
|
||||
{
|
||||
'<leader>un',
|
||||
function()
|
||||
require('notify').dismiss({ silent = true, pending = true })
|
||||
end,
|
||||
desc = 'Dismiss All Notifications',
|
||||
},
|
||||
},
|
||||
opts = {
|
||||
level = 2,
|
||||
minimum_width = 50,
|
||||
stages = 'fade',
|
||||
timeout = 3000,
|
||||
top_down = true,
|
||||
render = 'compact',
|
||||
background_colour = '#000000',
|
||||
},
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
return { 'MunifTanjim/nui.nvim', lazy = true }
|
||||
@@ -1,12 +0,0 @@
|
||||
return {
|
||||
'nacro90/numb.nvim',
|
||||
config = function()
|
||||
require('numb').setup({
|
||||
show_numbers = true, -- Enable 'number' for the window while peeking
|
||||
show_cursorline = true, -- Enable 'cursorline' for the window while peeking
|
||||
hide_relativenumbers = true, -- Enable turning off 'relativenumber' for the window while peeking
|
||||
number_only = false, -- Peek only when the command is only a number instead of when it starts with a number
|
||||
centered_peeking = true, -- Peeked line will be centered relative to window
|
||||
})
|
||||
end,
|
||||
}
|
||||
@@ -3,7 +3,7 @@ return {
|
||||
{
|
||||
'nvim-treesitter/nvim-treesitter',
|
||||
build = ':TSUpdate',
|
||||
event = { 'BufReadPost', 'BufNewFile' },
|
||||
event = 'FileType',
|
||||
cmd = { 'TSInstall', 'TSBufEnable', 'TSBufDisable', 'TSModuleInfo' },
|
||||
dependencies = {
|
||||
'nvim-treesitter/nvim-treesitter-textobjects',
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
return { 'nvim-lua/plenary.nvim', lazy = true }
|
||||
@@ -1,28 +0,0 @@
|
||||
return {
|
||||
'folke/persistence.nvim',
|
||||
event = 'BufReadPre',
|
||||
opts = { options = vim.opt.sessionoptions:get() },
|
||||
keys = {
|
||||
{
|
||||
'<leader>ss',
|
||||
function()
|
||||
require('persistence').load()
|
||||
end,
|
||||
desc = 'Restore Session',
|
||||
},
|
||||
{
|
||||
'<leader>sl',
|
||||
function()
|
||||
require('persistence').load({ last = true })
|
||||
end,
|
||||
desc = 'Restore Last Session',
|
||||
},
|
||||
{
|
||||
'<leader>sd',
|
||||
function()
|
||||
require('persistence').stop()
|
||||
end,
|
||||
desc = "Don't Save Current Session",
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -1,31 +0,0 @@
|
||||
return {
|
||||
'HiPhish/rainbow-delimiters.nvim',
|
||||
config = function()
|
||||
local rainbow_delimiters = require('rainbow-delimiters')
|
||||
require('rainbow-delimiters.setup').setup({
|
||||
{
|
||||
strategy = {
|
||||
[''] = rainbow_delimiters.strategy['global'],
|
||||
vim = rainbow_delimiters.strategy['local'],
|
||||
},
|
||||
query = {
|
||||
[''] = 'rainbow-delimiters',
|
||||
lua = 'rainbow-blocks',
|
||||
},
|
||||
priority = {
|
||||
[''] = 110,
|
||||
lua = 210,
|
||||
},
|
||||
highlight = {
|
||||
'RainbowDelimiterRed',
|
||||
'RainbowDelimiterYellow',
|
||||
'RainbowDelimiterBlue',
|
||||
'RainbowDelimiterOrange',
|
||||
'RainbowDelimiterGreen',
|
||||
'RainbowDelimiterViolet',
|
||||
'RainbowDelimiterCyan',
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
return {
|
||||
'NStefan002/screenkey.nvim',
|
||||
cmd = 'Screenkey',
|
||||
version = '*',
|
||||
vim.keymap.set('n', '<leader>kt', '<cmd>Screenkey<CR>', { desc = 'Toggle keys' }),
|
||||
config = function()
|
||||
require('screenkey').setup({
|
||||
-- see :h nvim_open_win
|
||||
win_opts = {
|
||||
relative = 'editor',
|
||||
anchor = 'SE',
|
||||
width = 40,
|
||||
height = 1,
|
||||
border = 'single',
|
||||
},
|
||||
-- compress input when repeated <compress_after> times
|
||||
compress_after = 3,
|
||||
-- clear the input after <clear_after> seconds of inactivity
|
||||
clear_after = 3,
|
||||
-- temporarily disable screenkey (for example when inside of the terminal)
|
||||
disable = {
|
||||
filetypes = {}, -- for example: "toggleterm"
|
||||
-- :h 'buftype'
|
||||
buftypes = {}, -- for example: "terminal"
|
||||
},
|
||||
})
|
||||
end,
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
return {
|
||||
'nvim-pack/nvim-spectre',
|
||||
build = false,
|
||||
cmd = 'Spectre',
|
||||
opts = { open_cmd = 'noswapfile vnew' },
|
||||
-- stylua: ignore
|
||||
keys = {
|
||||
{ "<leader>sr", function() require("spectre").open() end, desc = "Replace in Files (Spectre)" },
|
||||
},
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
return {
|
||||
{
|
||||
'luukvbaal/statuscol.nvim',
|
||||
event = 'BufReadPre',
|
||||
config = function()
|
||||
local builtin = require('statuscol.builtin')
|
||||
require('statuscol').setup({
|
||||
setopt = true,
|
||||
separator = '',
|
||||
foldfunc = 'builtin',
|
||||
relculright = true,
|
||||
segments = {
|
||||
{ text = { '%s' }, click = 'v:lua.ScSa' },
|
||||
{
|
||||
text = { builtin.lnumfunc, ' ' },
|
||||
click = 'v:lua.ScLa',
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
||||
@@ -92,7 +92,7 @@ return {
|
||||
{
|
||||
'<leader>sF',
|
||||
'<cmd>Telescope file_browser<CR>',
|
||||
"desc = 'File Browser'",
|
||||
desc = 'File Browser',
|
||||
},
|
||||
},
|
||||
config = function()
|
||||
@@ -123,10 +123,10 @@ return {
|
||||
['<A-h>'] = fb_actions.toggle_hidden,
|
||||
},
|
||||
['n'] = {
|
||||
['a'] = fb_actions.create,
|
||||
['r'] = fb_actions.rename,
|
||||
['d'] = fb_actions.remove,
|
||||
['h'] = fb_actions.toggle_hidden,
|
||||
['<A-c>'] = fb_actions.create,
|
||||
['<A-r'] = fb_actions.rename,
|
||||
['<A-d'] = fb_actions.remove,
|
||||
['<A-h'] = fb_actions.toggle_hidden,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
return {
|
||||
{
|
||||
'xiyaowong/transparent.nvim',
|
||||
config = function()
|
||||
require('transparent').clear_prefix('Navic')
|
||||
require('transparent').clear_prefix('Float')
|
||||
-- require("transparent").clear_prefix("Normal")
|
||||
require('transparent').clear_prefix('NeoTree')
|
||||
require('transparent').clear_prefix('Noice')
|
||||
require('transparent').clear_prefix('Notify')
|
||||
-- require("transparent").clear_prefix("Mini")
|
||||
require('transparent').clear_prefix('WhichKey')
|
||||
require('transparent').clear_prefix('BufferLine')
|
||||
require('transparent').clear_prefix('Telescope')
|
||||
require('transparent').setup({ -- Optional, you don't have to run setup.
|
||||
groups = { -- table: default groups
|
||||
'Comment',
|
||||
'Constant',
|
||||
'TabLineFill',
|
||||
'Special',
|
||||
'WinBar',
|
||||
'Identifier',
|
||||
'Statement',
|
||||
'PreProc',
|
||||
'Type',
|
||||
'Underlined',
|
||||
'Todo',
|
||||
'String',
|
||||
'Function',
|
||||
'Conditional',
|
||||
'Repeat',
|
||||
'Operator',
|
||||
'Structure',
|
||||
'LineNr',
|
||||
'NonText',
|
||||
'SignColumn',
|
||||
'StatusLine',
|
||||
'StatusLineNC',
|
||||
'EndOfBuffer',
|
||||
'SignColumn',
|
||||
'HoverNormal',
|
||||
},
|
||||
extra_groups = {
|
||||
'OctoEditable',
|
||||
'EndOfBuffer',
|
||||
'Search',
|
||||
'Cursor',
|
||||
'LazyNormal',
|
||||
}, -- table: additional groups that should be cleared
|
||||
exclude_groups = {}, -- table: groups you don't want to clear
|
||||
on_clear = function() end,
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
return {
|
||||
'mbbill/undotree',
|
||||
keys = {
|
||||
{ '<leader>uu', '<cmd>UndotreeToggle<cr>', desc = 'Toggle Undotree' },
|
||||
},
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
return {
|
||||
'szw/vim-maximizer',
|
||||
|
||||
keys = {
|
||||
{ '<leader>sm', '<cmd>MaximizerToggle<CR>', { desc = 'Maximize/minimize a split' } },
|
||||
},
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
return {
|
||||
'wakatime/vim-wakatime',
|
||||
lazy = false,
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
return {
|
||||
'folke/which-key.nvim',
|
||||
event = 'VeryLazy',
|
||||
opts = {
|
||||
preset = 'helix',
|
||||
},
|
||||
keys = {
|
||||
{
|
||||
'<leader>?',
|
||||
function()
|
||||
require('which-key').show({ global = false })
|
||||
end,
|
||||
desc = 'Buffer Local Keymaps (which-key)',
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
return {
|
||||
{
|
||||
'folke/zen-mode.nvim',
|
||||
cmd = { 'ZenMode' },
|
||||
opts = {},
|
||||
keys = {
|
||||
{ '<leader>zz', '<cmd>ZenMode<cr>', desc = 'Toggle zen mode' },
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"bash-language-server": "5.4.0",
|
||||
"biome": "1.8.3",
|
||||
"black": "24.8.0",
|
||||
"clang-format": "18.1.8",
|
||||
"clangd": "18.1.3",
|
||||
"css-lsp": "4.10.0",
|
||||
"emmet-ls": "0.4.2",
|
||||
"eslint-lsp": "4.10.0",
|
||||
"eslint_d": "14.0.3",
|
||||
"goimports-reviser": "v3.6.5",
|
||||
"graphql-language-service-cli": "3.5.0",
|
||||
"html-lsp": "4.10.0",
|
||||
"isort": "5.13.2",
|
||||
"jdtls": "v1.38.0",
|
||||
"json-lsp": "4.10.0",
|
||||
"lua-language-server": "3.10.3",
|
||||
"prettier": "3.3.3",
|
||||
"prisma-language-server": "5.18.0",
|
||||
"pylint": "3.2.6",
|
||||
"pyright": "1.1.376",
|
||||
"python-lsp-server": "1.11.0",
|
||||
"stylua": "v0.20.0",
|
||||
"svelte-language-server": "0.16.14",
|
||||
"tailwindcss-language-server": "0.0.22",
|
||||
"typescript-language-server": "4.3.3",
|
||||
"vim-language-server": "2.3.1"
|
||||
}
|
||||
Reference in new issue
Block a user