mirror of
https://github.com/kogakure/dotfiles.git
synced 2026-02-03 20:25:30 +00:00
feat(nvim): migrate to LazyVim
This commit is contained in:
9
nvim/lua/plugins/abolish.lua
Normal file
9
nvim/lua/plugins/abolish.lua
Normal file
@@ -0,0 +1,9 @@
|
||||
-- Automatically fix spelling mistakes
|
||||
-- https://github.com/tpope/vim-abolish
|
||||
return {
|
||||
"tpope/vim-abolish",
|
||||
config = function()
|
||||
vim.api.nvim_command("Abolish teh the")
|
||||
vim.api.nvim_command("Abolish {despa,sepe}rat{e,es,ed,ing,ely,ion,ions,or} {despe,sepa}rat{}")
|
||||
end,
|
||||
}
|
||||
29
nvim/lua/plugins/alpha.lua
Normal file
29
nvim/lua/plugins/alpha.lua
Normal file
@@ -0,0 +1,29 @@
|
||||
-- Dashboard
|
||||
-- https://github.com/goolord/alpha-nvim
|
||||
return {
|
||||
"goolord/alpha-nvim",
|
||||
opts = function(_, opts)
|
||||
opts.section.header.val = {
|
||||
" ▖ ",
|
||||
"┌─╮╭─╮╭─╮▖ ▖▖▄▄▗▄ ",
|
||||
"│ │├─┘│ │▝▖▞ ▌▌ ▌ ▌",
|
||||
"╵ ╵╰─╯╰─╯ ▝ ▘▘ ▘ ▘",
|
||||
}
|
||||
opts.section.buttons.val = {
|
||||
opts.button("f", " " .. " Find file", ":Telescope find_files <CR>"),
|
||||
opts.button("n", " " .. " New file", ":ene <BAR> startinsert <CR>"),
|
||||
opts.button("r", " " .. " Recent files", ":Telescope oldfiles <CR>"),
|
||||
opts.button("g", " " .. " Find text", ":Telescope live_grep <CR>"),
|
||||
opts.button("p", " " .. " Find Project", ":Telescope projects<CR>"),
|
||||
opts.button("s", "勒" .. " Restore Session", [[:lua require("persistence").load() <cr>]]),
|
||||
opts.button("l", "鈴" .. " Lazy (Plugins)", ":Lazy<CR>"),
|
||||
opts.button("m", " " .. " Mason (LSP, DAP, Linter, Formatter)", ":Mason<CR>"),
|
||||
opts.button("q", " " .. " Quit", ":qa<CR>"),
|
||||
opts.padding,
|
||||
}
|
||||
opts.section.header.opts.hl = "String"
|
||||
opts.section.buttons.opts.hl = "Keyword"
|
||||
opts.section.footer.opts.hl = "String"
|
||||
opts.opts.opts.noautocmd = true
|
||||
end,
|
||||
}
|
||||
8
nvim/lua/plugins/astro.lua
Normal file
8
nvim/lua/plugins/astro.lua
Normal file
@@ -0,0 +1,8 @@
|
||||
-- Astro support
|
||||
-- https://github.com/wuelnerdotexe/vim-astro
|
||||
return {
|
||||
"wuelnerdotexe/vim-astro",
|
||||
config = function()
|
||||
vim.g.astro_typescript = "enable"
|
||||
end,
|
||||
}
|
||||
10
nvim/lua/plugins/autotag.lua
Normal file
10
nvim/lua/plugins/autotag.lua
Normal file
@@ -0,0 +1,10 @@
|
||||
-- Use treesitter to auto close and auto rename HTML tags
|
||||
-- https://github.com/windwp/nvim-ts-autotag
|
||||
return {
|
||||
"windwp/nvim-ts-autotag",
|
||||
config = function()
|
||||
require("nvim-ts-autotag").setup({
|
||||
disable_filetype = { "TelescopePrompt", "vim" },
|
||||
})
|
||||
end,
|
||||
}
|
||||
14
nvim/lua/plugins/blamer.lua
Normal file
14
nvim/lua/plugins/blamer.lua
Normal file
@@ -0,0 +1,14 @@
|
||||
-- Show Git blame inline
|
||||
-- https://github.com/APZelos/blamer.nvim
|
||||
return {
|
||||
"APZelos/blamer.nvim",
|
||||
keys = {
|
||||
-- stylua: ignore
|
||||
{ "<leader>gB", "<cmd>BlamerToggle<cr>", desc = "Git Blame" },
|
||||
},
|
||||
config = function()
|
||||
vim.g.blamer_enabled = 0
|
||||
vim.g.blamer_relative_time = 1
|
||||
vim.g.blamer_delay = 200
|
||||
end,
|
||||
}
|
||||
5
nvim/lua/plugins/bookmark.lua
Normal file
5
nvim/lua/plugins/bookmark.lua
Normal file
@@ -0,0 +1,5 @@
|
||||
-- Vim bookmark plugin
|
||||
-- https://github.com/MattesGroeger/vim-bookmarks
|
||||
return {
|
||||
"MattesGroeger/vim-bookmarks",
|
||||
}
|
||||
20
nvim/lua/plugins/chafa.lua
Normal file
20
nvim/lua/plugins/chafa.lua
Normal file
@@ -0,0 +1,20 @@
|
||||
-- View images in Neovim
|
||||
-- https://github.com/princejoogie/chafa.nvim
|
||||
return {
|
||||
"princejoogie/chafa.nvim",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"m00qek/baleia.nvim",
|
||||
},
|
||||
config = function()
|
||||
require("chafa").setup({
|
||||
render = {
|
||||
min_padding = 5,
|
||||
show_label = true,
|
||||
},
|
||||
events = {
|
||||
update_on_nvim_resize = true,
|
||||
},
|
||||
})
|
||||
end,
|
||||
}
|
||||
16
nvim/lua/plugins/cheatsheet.lua
Normal file
16
nvim/lua/plugins/cheatsheet.lua
Normal file
@@ -0,0 +1,16 @@
|
||||
-- Searchable Cheatsheet
|
||||
-- https://github.com/sudormrfbin/cheatsheet.nvim
|
||||
return {
|
||||
"sudormrfbin/cheatsheet.nvim",
|
||||
dependencies = {
|
||||
"nvim-telescope/telescope.nvim",
|
||||
"nvim-lua/popup.nvim",
|
||||
"nvim-lua/plenary.nvim",
|
||||
},
|
||||
keys = {
|
||||
{ "<leader>C", "<cmd>Cheatsheet<cr>", desc = "Cheatsheet" },
|
||||
},
|
||||
config = function()
|
||||
require("cheatsheet").setup()
|
||||
end,
|
||||
}
|
||||
48
nvim/lua/plugins/cmp.lua
Normal file
48
nvim/lua/plugins/cmp.lua
Normal file
@@ -0,0 +1,48 @@
|
||||
return {
|
||||
"hrsh7th/nvim-cmp",
|
||||
dependencies = {
|
||||
{ "roobert/tailwindcss-colorizer-cmp.nvim", config = true },
|
||||
"zbirenbaum/copilot-cmp",
|
||||
"David-Kunz/cmp-npm",
|
||||
},
|
||||
opts = function(_, opts)
|
||||
local cmp = require("cmp")
|
||||
opts.sources = cmp.config.sources(vim.list_extend(opts.sources, {
|
||||
{ name = "copilot" },
|
||||
{ name = "npm", keyword_length = 4 },
|
||||
}))
|
||||
opts.formatting = {
|
||||
fields = { "kind", "abbr", "menu" },
|
||||
format = function(_, item)
|
||||
local icons = require("lazyvim.config").icons.kinds
|
||||
if icons[item.kind] then
|
||||
item.kind = icons[item.kind]
|
||||
end
|
||||
return item
|
||||
end,
|
||||
}
|
||||
|
||||
vim.api.nvim_set_hl(0, "CmpItemKindCopilot", { fg = "#6CC644" })
|
||||
vim.api.nvim_set_hl(0, "CmpItemAbbrMatch", { fg = "NONE", bg = "#000000" })
|
||||
|
||||
vim.cmd([[highlight! link CmpItemAbbrMatchFuzzy CmpItemAbbrMatch]])
|
||||
vim.cmd([[highlight! CmpItemAbbrDeprecated guibg=NONE gui=strikethrough guifg=#808080]])
|
||||
vim.cmd([[highlight! CmpItemAbbrMatch guibg=NONE guifg=#569CD6]])
|
||||
vim.cmd([[highlight! link CmpItemAbbrMatchFuzzy CmpItemAbbrMatch]])
|
||||
vim.cmd([[highlight! CmpItemKindVariable guibg=NONE guifg=#9CDCFE]])
|
||||
vim.cmd([[highlight! link CmpItemKindInterface CmpItemKindVariable]])
|
||||
vim.cmd([[highlight! link CmpItemKindText CmpItemKindVariable]])
|
||||
vim.cmd([[highlight! CmpItemKindFunction guibg=NONE guifg=#C586C0]])
|
||||
vim.cmd([[highlight! link CmpItemKindMethod CmpItemKindFunction]])
|
||||
vim.cmd([[highlight! CmpItemKindKeyword guibg=NONE guifg=#D4D4D4]])
|
||||
vim.cmd([[highlight! link CmpItemKindProperty CmpItemKindKeyword]])
|
||||
vim.cmd([[highlight! link CmpItemKindUnit CmpItemKindKeyword]])
|
||||
|
||||
-- Original LazyVim kind icon formatter
|
||||
local format_kinds = opts.formatting.format
|
||||
opts.formatting.format = function(entry, item)
|
||||
format_kinds(entry, item) -- add icons
|
||||
return require("tailwindcss-colorizer-cmp").formatter(entry, item)
|
||||
end
|
||||
end,
|
||||
}
|
||||
10
nvim/lua/plugins/code-action-menu.lua
Normal file
10
nvim/lua/plugins/code-action-menu.lua
Normal file
@@ -0,0 +1,10 @@
|
||||
-- Pop-up menu for code actions
|
||||
-- https://github.com/weilbith/nvim-code-action-menu
|
||||
return {
|
||||
"weilbith/nvim-code-action-menu",
|
||||
cmd = "CodeActionMenu",
|
||||
keys = {
|
||||
-- stylua: ignore
|
||||
{ "<leader>cc", "<cmd>CodeActionMenu<cr>", desc = "Code Action Menu" },
|
||||
},
|
||||
}
|
||||
10
nvim/lua/plugins/codewindow.lua
Normal file
10
nvim/lua/plugins/codewindow.lua
Normal file
@@ -0,0 +1,10 @@
|
||||
-- Minimap
|
||||
-- https://github.com/gorbit99/codewindow.nvim
|
||||
return {
|
||||
"gorbit99/codewindow.nvim",
|
||||
config = function()
|
||||
local codewindow = require("codewindow")
|
||||
codewindow.setup()
|
||||
codewindow.apply_default_keybinds()
|
||||
end,
|
||||
}
|
||||
29
nvim/lua/plugins/colorizer.lua
Normal file
29
nvim/lua/plugins/colorizer.lua
Normal file
@@ -0,0 +1,29 @@
|
||||
-- The fastest Neovim colorizer
|
||||
-- https://github.com/norcalli/nvim-colorizer.lua
|
||||
return {
|
||||
"norcalli/nvim-colorizer.lua",
|
||||
config = function()
|
||||
require("colorizer").setup({
|
||||
"css",
|
||||
"html",
|
||||
"javascript",
|
||||
"javascriptreact",
|
||||
"typescript",
|
||||
"typescriptreact",
|
||||
"yaml",
|
||||
"conf",
|
||||
"lua",
|
||||
}, {
|
||||
RGB = true,
|
||||
RRGGBB = true,
|
||||
names = true,
|
||||
RRGGBBAA = true,
|
||||
rgb_fn = true,
|
||||
hsl_fn = true,
|
||||
css = true,
|
||||
css_fn = true,
|
||||
mode = "background",
|
||||
tailwind = true,
|
||||
})
|
||||
end,
|
||||
}
|
||||
18
nvim/lua/plugins/colorschemes.lua
Normal file
18
nvim/lua/plugins/colorschemes.lua
Normal file
@@ -0,0 +1,18 @@
|
||||
-- https://github.com/folke/tokyonight.nvim
|
||||
-- https://github.com/chriskempson/base16-vim
|
||||
-- https://github.com/kartikp10/noctis.nvim
|
||||
-- https://github.com/catppuccin/nvim
|
||||
return {
|
||||
"folke/tokyonight.nvim", -- Tokyo Night color scheme
|
||||
"chriskempson/base16-vim", -- Base16 colorschemes
|
||||
{ "kartikp10/noctis.nvim", dependencies = "rktjmp/lush.nvim" }, -- Noctis color scheme
|
||||
{ "catppuccin/nvim", name = "catppuccin" }, -- Catppuccin color scheme
|
||||
|
||||
-- Configure LazyVim to load Tokyo Night
|
||||
{
|
||||
"LazyVim/LazyVim",
|
||||
opts = {
|
||||
colorscheme = "tokyonight-night",
|
||||
},
|
||||
},
|
||||
}
|
||||
5
nvim/lua/plugins/committia.lua
Normal file
5
nvim/lua/plugins/committia.lua
Normal file
@@ -0,0 +1,5 @@
|
||||
-- More pleasant editing on commit messages
|
||||
-- https://github.com/rhysd/committia.vim
|
||||
return {
|
||||
"rhysd/committia.vim",
|
||||
}
|
||||
10
nvim/lua/plugins/copilot.lua
Normal file
10
nvim/lua/plugins/copilot.lua
Normal file
@@ -0,0 +1,10 @@
|
||||
-- Copilot replacement
|
||||
-- https://github.com/zbirenbaum/copilot.lua
|
||||
-- https://github.com/zbirenbaum/copilot-cmp
|
||||
return {
|
||||
"zbirenbaum/copilot-cmp",
|
||||
dependencies = "zbirenbaum/copilot.lua",
|
||||
opts = function()
|
||||
require("copilot").setup()
|
||||
end,
|
||||
}
|
||||
19
nvim/lua/plugins/cursorline.lua
Normal file
19
nvim/lua/plugins/cursorline.lua
Normal file
@@ -0,0 +1,19 @@
|
||||
-- Highlight cursor words and lines
|
||||
-- https://github.com/yamatsum/nvim-cursorline
|
||||
return {
|
||||
"yamatsum/nvim-cursorline",
|
||||
config = function()
|
||||
require("nvim-cursorline").setup({
|
||||
cursorline = {
|
||||
enable = true,
|
||||
timeout = 1000,
|
||||
number = false,
|
||||
},
|
||||
cursorword = {
|
||||
enable = true,
|
||||
min_length = 3,
|
||||
hl = { underline = true },
|
||||
},
|
||||
})
|
||||
end,
|
||||
}
|
||||
28
nvim/lua/plugins/dial.lua
Normal file
28
nvim/lua/plugins/dial.lua
Normal file
@@ -0,0 +1,28 @@
|
||||
-- Enhanced increment/decrement
|
||||
-- https://github.com/monaqa/dial.nvim
|
||||
return {
|
||||
"monaqa/dial.nvim",
|
||||
config = function()
|
||||
local augend = require("dial.augend")
|
||||
local opts = { noremap = true, silent = true }
|
||||
|
||||
require("dial.config").augends:register_group({
|
||||
default = {
|
||||
augend.constant.alias.bool,
|
||||
augend.constant.alias.de_weekday,
|
||||
augend.constant.alias.de_weekday_full,
|
||||
augend.date.alias["%d.%m.%Y"],
|
||||
augend.hexcolor.new({ case = "lower" }),
|
||||
augend.integer.alias.decimal_int,
|
||||
augend.semver.alias.semver,
|
||||
},
|
||||
})
|
||||
|
||||
vim.keymap.set("n", "<C-a>", require("dial.map").inc_normal(), opts)
|
||||
vim.keymap.set("n", "<C-x>", require("dial.map").dec_normal(), opts)
|
||||
vim.keymap.set("v", "<C-a>", require("dial.map").inc_visual(), opts)
|
||||
vim.keymap.set("v", "<C-x>", require("dial.map").dec_visual(), opts)
|
||||
vim.keymap.set("v", "g<C-a>", require("dial.map").inc_gvisual(), opts)
|
||||
vim.keymap.set("v", "g<C-x>", require("dial.map").dec_gvisual(), opts)
|
||||
end,
|
||||
}
|
||||
20
nvim/lua/plugins/diffview.lua
Normal file
20
nvim/lua/plugins/diffview.lua
Normal file
@@ -0,0 +1,20 @@
|
||||
-- Easily cycle through diffs
|
||||
-- https://github.com/sindrets/diffview.nvim
|
||||
return {
|
||||
"sindrets/diffview.nvim",
|
||||
lazy = false,
|
||||
dependencies = "nvim-lua/plenary.nvim",
|
||||
keys = {
|
||||
{ "<leader>gdo", "<cmd>DiffviewOpen<cr>", desc = "Diffview Open" },
|
||||
{ "<leader>gdx", "<cmd>DiffviewClose<cr>", desc = "Diffview Close" },
|
||||
},
|
||||
opts = {
|
||||
view = {
|
||||
use_icons = true,
|
||||
default = {
|
||||
layout = "diff2_horizontal",
|
||||
winbar_info = false,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
5
nvim/lua/plugins/editorconfig.lua
Normal file
5
nvim/lua/plugins/editorconfig.lua
Normal file
@@ -0,0 +1,5 @@
|
||||
-- Editorconfig
|
||||
-- https://github.com/editorconfig/editorconfig-vim
|
||||
return {
|
||||
"editorconfig/editorconfig-vim",
|
||||
}
|
||||
6
nvim/lua/plugins/emmet.lua
Normal file
6
nvim/lua/plugins/emmet.lua
Normal file
@@ -0,0 +1,6 @@
|
||||
-- Emmet
|
||||
-- https://github.com/mattn/emmet-vim
|
||||
-- <c-y>, to extend
|
||||
return {
|
||||
"mattn/emmet-vim",
|
||||
}
|
||||
267
nvim/lua/plugins/example.lua
Normal file
267
nvim/lua/plugins/example.lua
Normal file
@@ -0,0 +1,267 @@
|
||||
-- since this is just an example spec, don't actually load anything here and return an empty spec
|
||||
-- stylua: ignore
|
||||
if true then return {} end
|
||||
|
||||
-- every spec file under config.plugins will be loaded automatically by lazy.nvim
|
||||
--
|
||||
-- In your plugin files, you can:
|
||||
-- * add extra plugins
|
||||
-- * disable/enabled LazyVim plugins
|
||||
-- * override the configuration of LazyVim plugins
|
||||
return {
|
||||
-- add gruvbox
|
||||
{ "ellisonleao/gruvbox.nvim" },
|
||||
|
||||
-- Configure LazyVim to load gruvbox
|
||||
{
|
||||
"LazyVim/LazyVim",
|
||||
opts = {
|
||||
colorscheme = "gruvbox",
|
||||
},
|
||||
},
|
||||
|
||||
-- change trouble config
|
||||
{
|
||||
"folke/trouble.nvim",
|
||||
-- opts will be merged with the parent spec
|
||||
opts = { use_diagnostic_signs = true },
|
||||
},
|
||||
|
||||
-- disable trouble
|
||||
{ "folke/trouble.nvim", enabled = false },
|
||||
|
||||
-- add symbols-outline
|
||||
{
|
||||
"simrat39/symbols-outline.nvim",
|
||||
cmd = "SymbolsOutline",
|
||||
keys = { { "<leader>cs", "<cmd>SymbolsOutline<cr>", desc = "Symbols Outline" } },
|
||||
config = true,
|
||||
},
|
||||
|
||||
-- override nvim-cmp and add cmp-emoji
|
||||
{
|
||||
"hrsh7th/nvim-cmp",
|
||||
dependencies = { "hrsh7th/cmp-emoji" },
|
||||
---@param opts cmp.ConfigSchema
|
||||
opts = function(_, opts)
|
||||
local cmp = require("cmp")
|
||||
opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "emoji" } }))
|
||||
end,
|
||||
},
|
||||
|
||||
-- change some telescope options and a keymap to browse plugin files
|
||||
{
|
||||
"nvim-telescope/telescope.nvim",
|
||||
keys = {
|
||||
-- add a keymap to browse plugin files
|
||||
-- stylua: ignore
|
||||
{
|
||||
"<leader>fp",
|
||||
function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end,
|
||||
desc = "Find Plugin File",
|
||||
},
|
||||
},
|
||||
-- change some options
|
||||
opts = {
|
||||
defaults = {
|
||||
layout_strategy = "horizontal",
|
||||
layout_config = { prompt_position = "top" },
|
||||
sorting_strategy = "ascending",
|
||||
winblend = 0,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- add telescope-fzf-native
|
||||
{
|
||||
"telescope.nvim",
|
||||
dependencies = {
|
||||
"nvim-telescope/telescope-fzf-native.nvim",
|
||||
build = "make",
|
||||
config = function()
|
||||
require("telescope").load_extension("fzf")
|
||||
end,
|
||||
},
|
||||
},
|
||||
|
||||
-- add pyright to lspconfig
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
---@class PluginLspOpts
|
||||
opts = {
|
||||
---@type lspconfig.options
|
||||
servers = {
|
||||
-- pyright will be automatically installed with mason and loaded with lspconfig
|
||||
pyright = {},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- add tsserver and setup with typescript.nvim instead of lspconfig
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
dependencies = {
|
||||
"jose-elias-alvarez/typescript.nvim",
|
||||
init = function()
|
||||
require("lazyvim.util").on_attach(function(_, buffer)
|
||||
-- stylua: ignore
|
||||
vim.keymap.set( "n", "<leader>co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" })
|
||||
vim.keymap.set("n", "<leader>cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer })
|
||||
end)
|
||||
end,
|
||||
},
|
||||
---@class PluginLspOpts
|
||||
opts = {
|
||||
---@type lspconfig.options
|
||||
servers = {
|
||||
-- tsserver will be automatically installed with mason and loaded with lspconfig
|
||||
tsserver = {},
|
||||
},
|
||||
-- you can do any additional lsp server setup here
|
||||
-- return true if you don't want this server to be setup with lspconfig
|
||||
---@type table<string, fun(server:string, opts:_.lspconfig.options):boolean?>
|
||||
setup = {
|
||||
-- example to setup with typescript.nvim
|
||||
tsserver = function(_, opts)
|
||||
require("typescript").setup({ server = opts })
|
||||
return true
|
||||
end,
|
||||
-- Specify * to use this function as a fallback for any server
|
||||
-- ["*"] = function(server, opts) end,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- for typescript, LazyVim also includes extra specs to properly setup lspconfig,
|
||||
-- treesitter, mason and typescript.nvim. So instead of the above, you can use:
|
||||
{ import = "lazyvim.plugins.extras.lang.typescript" },
|
||||
|
||||
-- add more treesitter parsers
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"bash",
|
||||
"help",
|
||||
"html",
|
||||
"javascript",
|
||||
"json",
|
||||
"lua",
|
||||
"markdown",
|
||||
"markdown_inline",
|
||||
"python",
|
||||
"query",
|
||||
"regex",
|
||||
"tsx",
|
||||
"typescript",
|
||||
"vim",
|
||||
"yaml",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above
|
||||
-- would overwrite `ensure_installed` with the new value.
|
||||
-- If you'd rather extend the default config, use the code below instead:
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = function(_, opts)
|
||||
-- add tsx and treesitter
|
||||
vim.list_extend(opts.ensure_installed, {
|
||||
"tsx",
|
||||
"typescript",
|
||||
})
|
||||
end,
|
||||
},
|
||||
|
||||
-- the opts function can also be used to change the default opts:
|
||||
{
|
||||
"nvim-lualine/lualine.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = function(_, opts)
|
||||
table.insert(opts.sections.lualine_x, "😄")
|
||||
end,
|
||||
},
|
||||
|
||||
-- or you can return new options to override all the defaults
|
||||
{
|
||||
"nvim-lualine/lualine.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = function()
|
||||
return {
|
||||
--[[add your custom lualine config here]]
|
||||
}
|
||||
end,
|
||||
},
|
||||
|
||||
-- use mini.starter instead of alpha
|
||||
{ import = "lazyvim.plugins.extras.ui.mini-starter" },
|
||||
|
||||
-- add jsonls and schemastore ans setup treesitter for json, json5 and jsonc
|
||||
{ import = "lazyvim.plugins.extras.lang.json" },
|
||||
|
||||
-- add any tools you want to have installed below
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"stylua",
|
||||
"shellcheck",
|
||||
"shfmt",
|
||||
"flake8",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- Use <tab> for completion and snippets (supertab)
|
||||
-- first: disable default <tab> and <s-tab> behavior in LuaSnip
|
||||
{
|
||||
"L3MON4D3/LuaSnip",
|
||||
keys = function()
|
||||
return {}
|
||||
end,
|
||||
},
|
||||
-- then: setup supertab in cmp
|
||||
{
|
||||
"hrsh7th/nvim-cmp",
|
||||
dependencies = {
|
||||
"hrsh7th/cmp-emoji",
|
||||
},
|
||||
---@param opts cmp.ConfigSchema
|
||||
opts = function(_, opts)
|
||||
local has_words_before = function()
|
||||
unpack = unpack or table.unpack
|
||||
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
|
||||
return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil
|
||||
end
|
||||
|
||||
local luasnip = require("luasnip")
|
||||
local cmp = require("cmp")
|
||||
|
||||
opts.mapping = vim.tbl_extend("force", opts.mapping, {
|
||||
["<Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
-- You could replace the expand_or_jumpable() calls with expand_or_locally_jumpable()
|
||||
-- they way you will only jump inside the snippet region
|
||||
elseif luasnip.expand_or_jumpable() then
|
||||
luasnip.expand_or_jump()
|
||||
elseif has_words_before() then
|
||||
cmp.complete()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { "i", "s" }),
|
||||
["<S-Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
elseif luasnip.jumpable(-1) then
|
||||
luasnip.jump(-1)
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { "i", "s" }),
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
||||
9
nvim/lua/plugins/export-to-vscode.lua
Normal file
9
nvim/lua/plugins/export-to-vscode.lua
Normal file
@@ -0,0 +1,9 @@
|
||||
-- Export active buffers to VS Code
|
||||
-- https://github.com/elijahmanor/export-to-vscode.nvim
|
||||
return {
|
||||
"elijahmanor/export-to-vscode.nvim",
|
||||
keys = {
|
||||
-- stylua: ignore
|
||||
{ "<leader>code", function() require("export-to-vscode").launch() end, desc = "Export to VS Code" },
|
||||
},
|
||||
}
|
||||
60
nvim/lua/plugins/fm.lua
Normal file
60
nvim/lua/plugins/fm.lua
Normal file
@@ -0,0 +1,60 @@
|
||||
-- Use favorite terminal file managers in Neovim
|
||||
-- https://github.com/is0n/fm-nvim
|
||||
return {
|
||||
"is0n/fm-nvim",
|
||||
keys = {
|
||||
{ "<M-g>", "<cmd>Lazygit<cr>", desc = "Lazygit" },
|
||||
{ "<M-l>", "<cmd>Lf<cr>", desc = "Lf" },
|
||||
},
|
||||
opts = {
|
||||
edit_cmd = "edit",
|
||||
on_close = {},
|
||||
on_open = {},
|
||||
ui = {
|
||||
default = "float",
|
||||
float = {
|
||||
border = "rounded",
|
||||
float_hl = "Normal",
|
||||
border_hl = "FloatBorder",
|
||||
blend = 0,
|
||||
height = 0.9,
|
||||
width = 0.9,
|
||||
x = 0.5,
|
||||
y = 0.5,
|
||||
},
|
||||
split = {
|
||||
direction = "topleft",
|
||||
size = 24,
|
||||
},
|
||||
},
|
||||
cmds = {
|
||||
lf_cmd = "lf",
|
||||
fm_cmd = "fm",
|
||||
nnn_cmd = "nnn",
|
||||
fff_cmd = "fff",
|
||||
twf_cmd = "twf",
|
||||
fzf_cmd = "fzf",
|
||||
fzy_cmd = "find . | fzy",
|
||||
xplr_cmd = "xplr",
|
||||
vifm_cmd = "vifm",
|
||||
skim_cmd = "sk",
|
||||
broot_cmd = "broot",
|
||||
gitui_cmd = "gitui",
|
||||
ranger_cmd = "ranger",
|
||||
joshuto_cmd = "joshuto",
|
||||
lazygit_cmd = "lazygit",
|
||||
neomutt_cmd = "neomutt",
|
||||
taskwarrior_cmd = "taskwarrior-tui",
|
||||
},
|
||||
mappings = {
|
||||
vert_split = "<C-v>",
|
||||
horz_split = "<C-h>",
|
||||
tabedit = "<C-t>",
|
||||
edit = "<C-e>",
|
||||
ESC = "<ESC>",
|
||||
},
|
||||
},
|
||||
config = function()
|
||||
require("fm-nvim").setup()
|
||||
end,
|
||||
}
|
||||
8
nvim/lua/plugins/gh-line.lua
Normal file
8
nvim/lua/plugins/gh-line.lua
Normal file
@@ -0,0 +1,8 @@
|
||||
-- Open the link of current line on GitHub
|
||||
-- https://github.com/ruanyl/vim-gh-line
|
||||
return {
|
||||
"ruanyl/vim-gh-line",
|
||||
config = function()
|
||||
vim.g.gh_github_domain = "source.xing.com"
|
||||
end,
|
||||
}
|
||||
5
nvim/lua/plugins/grammarous.lua
Normal file
5
nvim/lua/plugins/grammarous.lua
Normal file
@@ -0,0 +1,5 @@
|
||||
-- A powerful grammar checker using LanguageTool
|
||||
-- https://github.com/rhysd/vim-grammarous
|
||||
return {
|
||||
"rhysd/vim-grammarous",
|
||||
}
|
||||
25
nvim/lua/plugins/harpoon.lua
Normal file
25
nvim/lua/plugins/harpoon.lua
Normal file
@@ -0,0 +1,25 @@
|
||||
-- Getting you where you want with the fewest keystrokes
|
||||
-- https://github.com/ThePrimeagen/harpoon
|
||||
return {
|
||||
"ThePrimeagen/harpoon",
|
||||
dependencies = "nvim-telescope/telescope.nvim",
|
||||
-- stylua: ignore
|
||||
keys = {
|
||||
{ "<leader>a", function() require("harpoon.ui").add_file() end, desc = "Harpoon Add File" },
|
||||
{ "<leader>;", function() require("harpoon.ui").toggle_quick_menu() end, desc = "Harpoon Toggle Quickmenu" },
|
||||
{ "<leader>1", function() require("harpoon.ui").nav_file(1) end, desc = "Harpoon Buffer 1" },
|
||||
{ "<leader>2", function() require("harpoon.ui").nav_file(2) end, desc = "Harpoon Buffer 2" },
|
||||
{ "<leader>3", function() require("harpoon.ui").nav_file(3) end, desc = "Harpoon Buffer 3" },
|
||||
{ "<leader>4", function() require("harpoon.ui").nav_file(4) end, desc = "Harpoon Buffer 4" },
|
||||
},
|
||||
opts = {
|
||||
global_settings = {
|
||||
mark_branch = true,
|
||||
},
|
||||
width = vim.api.nvim_win_get_width(0) - 4,
|
||||
},
|
||||
config = function()
|
||||
require("harpoon").setup()
|
||||
require("telescope").load_extension("harpoon")
|
||||
end,
|
||||
}
|
||||
17
nvim/lua/plugins/legendary.lua
Normal file
17
nvim/lua/plugins/legendary.lua
Normal file
@@ -0,0 +1,17 @@
|
||||
-- A legend for your keymaps, commands, and autocmds
|
||||
-- https://github.com/mrjones2014/legendary.nvim
|
||||
return {
|
||||
"mrjones2014/legendary.nvim",
|
||||
dependencies = {
|
||||
"kkharji/sqlite.lua",
|
||||
},
|
||||
keys = {
|
||||
-- stylua: ignore
|
||||
{ "<leader>L", "<cmd>Legendary<cr>", desc = "Legendary" },
|
||||
},
|
||||
config = function()
|
||||
require("legendary").setup({
|
||||
which_key = { auto_register = true },
|
||||
})
|
||||
end,
|
||||
}
|
||||
21
nvim/lua/plugins/lf.lua
Normal file
21
nvim/lua/plugins/lf.lua
Normal file
@@ -0,0 +1,21 @@
|
||||
-- Lf file manager for Neovim
|
||||
-- https://github.com/lmburns/lf.nvim
|
||||
return {
|
||||
"lmburns/lf.nvim",
|
||||
cmd = "Lf",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"akinsho/toggleterm.nvim",
|
||||
},
|
||||
keys = {
|
||||
{ "<leader>fl", "<cmd>Lf<cr>", desc = "Lf File Manager" },
|
||||
},
|
||||
opts = {
|
||||
winblend = 0,
|
||||
highlights = { NormalFloat = { guibg = "NONE" } },
|
||||
border = "curved",
|
||||
height = 0.70,
|
||||
width = 0.85,
|
||||
escape_quit = true,
|
||||
},
|
||||
}
|
||||
27
nvim/lua/plugins/lspconfig.lua
Normal file
27
nvim/lua/plugins/lspconfig.lua
Normal file
@@ -0,0 +1,27 @@
|
||||
-- Quickstart configs for Nvim LSP
|
||||
-- https://github.com/neovim/nvim-lspconfig
|
||||
return {
|
||||
"neovim/nvim-lspconfig",
|
||||
init = function()
|
||||
require("lazyvim.util").on_attach(function(_, buffer)
|
||||
-- stylua: ignore
|
||||
vim.keymap.set("n", "g0", "<cmd>Telescope lsp_document_symbols<cr>", { buffer = buffer, desc = "Document Symbols" })
|
||||
end)
|
||||
end,
|
||||
opts = {
|
||||
servers = {
|
||||
astro = {},
|
||||
cssls = {},
|
||||
cssmodules_ls = {},
|
||||
diagnosticls = {},
|
||||
emmet_ls = {},
|
||||
graphql = {},
|
||||
html = {},
|
||||
jsonls = {},
|
||||
sumneko_lua = {},
|
||||
svelte = {},
|
||||
tsserver = {},
|
||||
yamlls = {},
|
||||
},
|
||||
},
|
||||
}
|
||||
97
nvim/lua/plugins/lualine.lua
Normal file
97
nvim/lua/plugins/lualine.lua
Normal file
@@ -0,0 +1,97 @@
|
||||
return {
|
||||
"nvim-lualine/lualine.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = function()
|
||||
local icons = require("lazyvim.config").icons
|
||||
|
||||
local function fg(name)
|
||||
return function()
|
||||
---@type {foreground?:number}?
|
||||
local hl = vim.api.nvim_get_hl_by_name(name, true)
|
||||
return hl and hl.foreground and { fg = string.format("#%06x", hl.foreground) }
|
||||
end
|
||||
end
|
||||
|
||||
return {
|
||||
options = {
|
||||
icons_enabled = true,
|
||||
theme = "transparent",
|
||||
component_separators = { left = "", right = "" },
|
||||
section_separators = { left = "", right = "" },
|
||||
disabled_filetypes = { "alpha", "dashboard", "lazy " },
|
||||
always_divide_middle = true,
|
||||
globalstatus = true,
|
||||
},
|
||||
sections = {
|
||||
lualine_a = { "mode" },
|
||||
lualine_b = { "branch" },
|
||||
lualine_c = {
|
||||
{
|
||||
"diagnostics",
|
||||
symbols = {
|
||||
error = icons.diagnostics.Error,
|
||||
warn = icons.diagnostics.Warn,
|
||||
info = icons.diagnostics.Info,
|
||||
hint = icons.diagnostics.Hint,
|
||||
},
|
||||
},
|
||||
{ "filetype", icon_only = true, separator = "", padding = { left = 1, right = 0 } },
|
||||
{ "filename", path = 1, symbols = { modified = " ", readonly = "", unnamed = "" } },
|
||||
-- stylua: ignore
|
||||
{
|
||||
function() return require("nvim-navic").get_location() end,
|
||||
cond = function() return package.loaded["nvim-navic"] and require("nvim-navic").is_available() end,
|
||||
},
|
||||
},
|
||||
lualine_x = {
|
||||
{
|
||||
function()
|
||||
return require("noice").api.status.command.get()
|
||||
end,
|
||||
cond = function()
|
||||
return package.loaded["noice"] and require("noice").api.status.command.has()
|
||||
end,
|
||||
color = fg("Statement"),
|
||||
},
|
||||
{
|
||||
function()
|
||||
return require("noice").api.status.mode.get()
|
||||
end,
|
||||
cond = function()
|
||||
return package.loaded["noice"] and require("noice").api.status.mode.has()
|
||||
end,
|
||||
color = fg("Constant"),
|
||||
},
|
||||
{ require("lazy.status").updates, cond = require("lazy.status").has_updates, color = fg("Special") },
|
||||
{
|
||||
"diff",
|
||||
symbols = {
|
||||
added = icons.git.added,
|
||||
modified = icons.git.modified,
|
||||
removed = icons.git.removed,
|
||||
},
|
||||
},
|
||||
},
|
||||
lualine_y = {
|
||||
{ "progress", separator = "", padding = { left = 1, right = 0 } },
|
||||
{ "location", padding = { left = 0, right = 1 } },
|
||||
},
|
||||
lualine_z = {
|
||||
function()
|
||||
return " " .. os.date("%R")
|
||||
end,
|
||||
},
|
||||
},
|
||||
inactive_sections = {
|
||||
lualine_a = {},
|
||||
lualine_b = {},
|
||||
lualine_c = { "filename" },
|
||||
lualine_x = { "location" },
|
||||
lualine_y = {},
|
||||
lualine_z = {},
|
||||
},
|
||||
tabline = {},
|
||||
extensions = { "neo-tree" },
|
||||
}
|
||||
end,
|
||||
}
|
||||
38
nvim/lua/plugins/mason.lua
Normal file
38
nvim/lua/plugins/mason.lua
Normal file
@@ -0,0 +1,38 @@
|
||||
-- Package manager for LSP servers, DAP servers, linters, and formatters
|
||||
-- https://github.com/williamboman/mason.nvim
|
||||
return {
|
||||
"williamboman/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"astro-language-server",
|
||||
"cspell",
|
||||
"css-lsp",
|
||||
"cssmodules-language-server",
|
||||
"diagnostic-languageserver",
|
||||
"emmet-ls",
|
||||
"eslint_d",
|
||||
"html-lsp",
|
||||
"json-lsp",
|
||||
"lua-language-server",
|
||||
"markdownlint",
|
||||
"prettier",
|
||||
"prettierd",
|
||||
"pyright",
|
||||
"shellcheck",
|
||||
"stylua",
|
||||
"svelte-language-server",
|
||||
"typescript-language-server",
|
||||
"vale",
|
||||
"yaml-language-server",
|
||||
"yamlfmt",
|
||||
},
|
||||
ui = {
|
||||
border = "rounded",
|
||||
icons = {
|
||||
package_installed = "✓",
|
||||
package_pending = "➜",
|
||||
package_uninstalled = "✗",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
5
nvim/lua/plugins/mundo.lua
Normal file
5
nvim/lua/plugins/mundo.lua
Normal file
@@ -0,0 +1,5 @@
|
||||
-- Vim undo tree visualizer
|
||||
-- https://github.com/simnalamburt/vim-mundo
|
||||
return {
|
||||
"simnalamburt/vim-mundo",
|
||||
}
|
||||
12
nvim/lua/plugins/noice.lua
Normal file
12
nvim/lua/plugins/noice.lua
Normal file
@@ -0,0 +1,12 @@
|
||||
-- Experimental UI plugin
|
||||
-- https://github.com/folke/noice.nvim
|
||||
return {
|
||||
"folke/noice.nvim",
|
||||
opts = {
|
||||
lsp = {
|
||||
progress = {
|
||||
enabled = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
10
nvim/lua/plugins/notify.lua
Normal file
10
nvim/lua/plugins/notify.lua
Normal file
@@ -0,0 +1,10 @@
|
||||
-- A fancy, configurable notification manager
|
||||
-- https://github.com/rcarriga/nvim-notify
|
||||
return {
|
||||
"rcarriga/nvim-notify",
|
||||
opts = {
|
||||
render = "minimal",
|
||||
stages = "static",
|
||||
timeout = 2000,
|
||||
},
|
||||
}
|
||||
31
nvim/lua/plugins/null-ls.lua
Normal file
31
nvim/lua/plugins/null-ls.lua
Normal file
@@ -0,0 +1,31 @@
|
||||
return {
|
||||
"jose-elias-alvarez/null-ls.nvim",
|
||||
config = function()
|
||||
local null_ls = require("null-ls")
|
||||
null_ls.setup({
|
||||
debug = false,
|
||||
debounce = 50,
|
||||
save_after_format = false,
|
||||
sources = {
|
||||
null_ls.builtins.code_actions.cspell,
|
||||
null_ls.builtins.code_actions.eslint,
|
||||
null_ls.builtins.diagnostics.cspell,
|
||||
null_ls.builtins.diagnostics.eslint,
|
||||
null_ls.builtins.diagnostics.fish,
|
||||
null_ls.builtins.diagnostics.markdownlint,
|
||||
null_ls.builtins.diagnostics.stylelint,
|
||||
null_ls.builtins.diagnostics.tsc,
|
||||
null_ls.builtins.diagnostics.tsc,
|
||||
null_ls.builtins.formatting.black,
|
||||
null_ls.builtins.formatting.fish_indent,
|
||||
null_ls.builtins.formatting.prettierd,
|
||||
null_ls.builtins.formatting.shfmt,
|
||||
null_ls.builtins.formatting.stylelint,
|
||||
null_ls.builtins.formatting.stylua,
|
||||
null_ls.builtins.formatting.trim_newlines,
|
||||
null_ls.builtins.formatting.trim_whitespace,
|
||||
},
|
||||
root_dir = require("null-ls.utils").root_pattern("package.json", ".null-ls-root", ".neoconf.json", ".git"),
|
||||
})
|
||||
end,
|
||||
}
|
||||
27
nvim/lua/plugins/nvim-treesitter.lua
Normal file
27
nvim/lua/plugins/nvim-treesitter.lua
Normal file
@@ -0,0 +1,27 @@
|
||||
-- Nvim Treesitter configurations
|
||||
-- https://github.com/nvim-treesitter/nvim-treesitter
|
||||
return {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
"nvim-treesitter/playground",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"astro",
|
||||
"bash",
|
||||
"css",
|
||||
"help",
|
||||
"html",
|
||||
"javascript",
|
||||
"json",
|
||||
"lua",
|
||||
"markdown",
|
||||
"markdown_inline",
|
||||
"python",
|
||||
"query",
|
||||
"regex",
|
||||
"tsx",
|
||||
"typescript",
|
||||
"vim",
|
||||
"yaml",
|
||||
},
|
||||
},
|
||||
}
|
||||
13
nvim/lua/plugins/octo.lua
Normal file
13
nvim/lua/plugins/octo.lua
Normal file
@@ -0,0 +1,13 @@
|
||||
-- Edit and review GitHub issues and pull requests
|
||||
-- https://github.com/pwntester/octo.nvim
|
||||
return {
|
||||
"pwntester/octo.nvim",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"nvim-telescope/telescope.nvim",
|
||||
"nvim-tree/nvim-web-devicons",
|
||||
},
|
||||
config = function()
|
||||
require("octo").setup()
|
||||
end,
|
||||
}
|
||||
26
nvim/lua/plugins/prettier.lua
Normal file
26
nvim/lua/plugins/prettier.lua
Normal file
@@ -0,0 +1,26 @@
|
||||
return {
|
||||
"MunifTanjim/prettier.nvim",
|
||||
dependencies = {
|
||||
"neovim/nvim-lspconfig",
|
||||
"jose-elias-alvarez/null-ls.nvim",
|
||||
},
|
||||
config = function()
|
||||
require("prettier").setup({
|
||||
bin = "prettierd",
|
||||
filetypes = {
|
||||
"css",
|
||||
"graphql",
|
||||
"html",
|
||||
"javascript",
|
||||
"javascriptreact",
|
||||
"json",
|
||||
"less",
|
||||
"markdown",
|
||||
"scss",
|
||||
"typescript",
|
||||
"typescriptreact",
|
||||
"yaml",
|
||||
},
|
||||
})
|
||||
end,
|
||||
}
|
||||
23
nvim/lua/plugins/project.lua
Normal file
23
nvim/lua/plugins/project.lua
Normal file
@@ -0,0 +1,23 @@
|
||||
-- The superior project management solution for neovim
|
||||
-- https://github.com/ahmedkhalf/project.nvim
|
||||
return {
|
||||
"ahmedkhalf/project.nvim",
|
||||
keys = {
|
||||
-- stylua: ignore
|
||||
{ "<leader>p", ":Telescope projects<cr>", desc = "Search Projects" },
|
||||
},
|
||||
config = function()
|
||||
require("project_nvim").setup({
|
||||
active = true,
|
||||
on_config_done = nil,
|
||||
manual_mode = false,
|
||||
detection_methods = { "pattern" },
|
||||
patterns = { ".git", "Makefile", ".gitignore", "package.json", "!node_modules" },
|
||||
show_hidden = false,
|
||||
silent_chdir = true,
|
||||
ignore_lsp = {},
|
||||
datapath = vim.fn.stdpath("data"),
|
||||
})
|
||||
require("telescope").load_extension("projects")
|
||||
end,
|
||||
}
|
||||
5
nvim/lua/plugins/rainbow-csv.lua
Normal file
5
nvim/lua/plugins/rainbow-csv.lua
Normal file
@@ -0,0 +1,5 @@
|
||||
-- Highlight columns in CSV files
|
||||
-- https://github.com/mechatroner/rainbow_csv
|
||||
return {
|
||||
"mechatroner/rainbow_csv",
|
||||
}
|
||||
34
nvim/lua/plugins/smart-splits.lua
Normal file
34
nvim/lua/plugins/smart-splits.lua
Normal file
@@ -0,0 +1,34 @@
|
||||
return {
|
||||
"mrjones2014/smart-splits.nvim",
|
||||
keys = {
|
||||
{ "<leader>wr", "<cmd>SmartResizeMode<cr>", desc = "Toggle Smart Resize Mode" },
|
||||
},
|
||||
config = function()
|
||||
require("smart-splits").setup({
|
||||
ignored_filetypes = {
|
||||
"nofile",
|
||||
"quickfix",
|
||||
"prompt",
|
||||
},
|
||||
ignored_buftypes = { "NvimTree" },
|
||||
default_amount = 3,
|
||||
wrap_at_edge = true,
|
||||
move_cursor_same_row = false,
|
||||
resize_mode = {
|
||||
quit_key = "<ESC>",
|
||||
resize_keys = { "h", "j", "k", "l" },
|
||||
silent = false,
|
||||
hooks = {
|
||||
on_enter = nil,
|
||||
on_leave = nil,
|
||||
},
|
||||
},
|
||||
ignored_events = {
|
||||
"BufEnter",
|
||||
"WinEnter",
|
||||
},
|
||||
tmux_integration = true,
|
||||
disable_tmux_nav_when_zoomed = true,
|
||||
})
|
||||
end,
|
||||
}
|
||||
10
nvim/lua/plugins/symbols-outline.lua
Normal file
10
nvim/lua/plugins/symbols-outline.lua
Normal file
@@ -0,0 +1,10 @@
|
||||
-- A tree view for symbols
|
||||
-- https://github.com/simrat39/symbols-outline.nvim
|
||||
return {
|
||||
"simrat39/symbols-outline.nvim",
|
||||
config = function()
|
||||
require("symbols-outline").setup({
|
||||
width = 25,
|
||||
})
|
||||
end,
|
||||
}
|
||||
5
nvim/lua/plugins/table-mode.lua
Normal file
5
nvim/lua/plugins/table-mode.lua
Normal file
@@ -0,0 +1,5 @@
|
||||
-- Table Mode for instant table creation
|
||||
-- https://github.com/dhruvasagar/vim-table-mode
|
||||
return {
|
||||
"dhruvasagar/vim-table-mode",
|
||||
}
|
||||
21
nvim/lua/plugins/telecope-heading.lua
Normal file
21
nvim/lua/plugins/telecope-heading.lua
Normal file
@@ -0,0 +1,21 @@
|
||||
-- Telescope extention to switch between Headlines
|
||||
-- https://github.com/crispgm/telescope-heading.nvim
|
||||
return {
|
||||
"telescope.nvim",
|
||||
dependencies = {
|
||||
"crispgm/telescope-heading.nvim",
|
||||
keys = {
|
||||
{ "<leader>sl", "<cmd>Telescope heading<cr>", desc = "Headlines" },
|
||||
},
|
||||
opts = {
|
||||
extensions = {
|
||||
heading = {
|
||||
treesitter = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
config = function()
|
||||
require("telescope").load_extension("heading")
|
||||
end,
|
||||
},
|
||||
}
|
||||
22
nvim/lua/plugins/telescope-bookmarks.lua
Normal file
22
nvim/lua/plugins/telescope-bookmarks.lua
Normal file
@@ -0,0 +1,22 @@
|
||||
-- Telescope extension to open your Browser bookmarks
|
||||
-- https://github.com/dhruvmanila/telescope-bookmarks.nvim
|
||||
return {
|
||||
"telescope.nvim",
|
||||
dependencies = {
|
||||
"dhruvmanila/telescope-bookmarks.nvim",
|
||||
keys = {
|
||||
{ "<leader>sR", "<cmd>Telescope bookmarks<cr>", desc = "Brave Bookmarks" },
|
||||
},
|
||||
opts = {
|
||||
extensions = {
|
||||
bookmarks = {
|
||||
selected_browser = "brave",
|
||||
url_open_command = "open",
|
||||
},
|
||||
},
|
||||
},
|
||||
config = function()
|
||||
require("telescope").load_extension("bookmarks")
|
||||
end,
|
||||
},
|
||||
}
|
||||
22
nvim/lua/plugins/telescope-file-browser.lua
Normal file
22
nvim/lua/plugins/telescope-file-browser.lua
Normal file
@@ -0,0 +1,22 @@
|
||||
-- Telescope extension for a File Browser
|
||||
-- https://github.com/nvim-telescope/telescope-file-browser.nvim
|
||||
return {
|
||||
"telescope.nvim",
|
||||
dependencies = {
|
||||
"nvim-telescope/telescope-file-browser.nvim",
|
||||
keys = {
|
||||
{ "<leader>sB", ":Telescope file_browser path=%:p:h=%:p:h<cr>", desc = "Browse Files" },
|
||||
},
|
||||
opts = {
|
||||
extensions = {
|
||||
file_browser = {
|
||||
theme = "ivy",
|
||||
hijack_netrw = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
config = function()
|
||||
require("telescope").load_extension("file_browser")
|
||||
end,
|
||||
},
|
||||
}
|
||||
27
nvim/lua/plugins/telescope-frecency.lua
Normal file
27
nvim/lua/plugins/telescope-frecency.lua
Normal file
@@ -0,0 +1,27 @@
|
||||
-- Telescope extensionn that offers intelligent priorization
|
||||
-- https://github.com/nvim-telescope/telescope-frecency.nvim
|
||||
return {
|
||||
"telescope.nvim",
|
||||
dependencies = {
|
||||
"nvim-telescope/telescope-frecency.nvim",
|
||||
dependencies = {
|
||||
"kkharji/sqlite.lua",
|
||||
},
|
||||
keys = {
|
||||
{ "<leader>sf", "<cmd>Telescope frecency<cr>", desc = "Frecency" },
|
||||
},
|
||||
opts = {
|
||||
extensions = {
|
||||
frecency = {
|
||||
show_scores = false,
|
||||
show_unindexed = true,
|
||||
ignore_patterns = { "*.git/*", "*/tmp/*" },
|
||||
disable_devicons = false,
|
||||
},
|
||||
},
|
||||
},
|
||||
config = function()
|
||||
require("telescope").load_extension("frecency")
|
||||
end,
|
||||
},
|
||||
}
|
||||
21
nvim/lua/plugins/telescope-fzy-native.lua
Normal file
21
nvim/lua/plugins/telescope-fzy-native.lua
Normal file
@@ -0,0 +1,21 @@
|
||||
-- Telescope extension for a FZY style sorter that is compiled
|
||||
-- https://github.com/nvim-telescope/telescope-fzy-native.nvim
|
||||
return {
|
||||
"telescope.nvim",
|
||||
dependencies = {
|
||||
"nvim-telescope/telescope-fzy-native.nvim",
|
||||
opts = {
|
||||
extensions = {
|
||||
fzy_native = {
|
||||
fuzzy = true,
|
||||
override_generic_sorter = true,
|
||||
override_file_sorter = true,
|
||||
case_mode = "smart_case",
|
||||
},
|
||||
},
|
||||
},
|
||||
config = function()
|
||||
require("telescope").load_extension("fzy_native")
|
||||
end,
|
||||
},
|
||||
}
|
||||
12
nvim/lua/plugins/telescope-github.lua
Normal file
12
nvim/lua/plugins/telescope-github.lua
Normal file
@@ -0,0 +1,12 @@
|
||||
-- Telescope extension to integrate with GitHub CLI
|
||||
-- https://github.com/nvim-telescope/telescope-github.nvim
|
||||
return {
|
||||
"telescope.nvim",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"nvim-telescope/telescope-github.nvim",
|
||||
config = function()
|
||||
require("telescope").load_extension("gh")
|
||||
end,
|
||||
},
|
||||
}
|
||||
14
nvim/lua/plugins/telescope-node-modules.lua
Normal file
14
nvim/lua/plugins/telescope-node-modules.lua
Normal file
@@ -0,0 +1,14 @@
|
||||
-- Telescope plugin to search the node_modules directory
|
||||
-- https://github.com/nvim-telescope/telescope-node-modules.nvim
|
||||
return {
|
||||
"telescope.nvim",
|
||||
dependencies = {
|
||||
"nvim-telescope/telescope-node-modules.nvim",
|
||||
keys = {
|
||||
{ "<leader>sN", "<cmd>Telescope node_modules list<cr>", desc = "Node Modules" },
|
||||
},
|
||||
config = function()
|
||||
require("telescope").load_extension("node_modules")
|
||||
end,
|
||||
},
|
||||
}
|
||||
23
nvim/lua/plugins/telescope-undo.lua
Normal file
23
nvim/lua/plugins/telescope-undo.lua
Normal file
@@ -0,0 +1,23 @@
|
||||
-- Telescope extension to view and search the undo tree
|
||||
-- https://github.com/debugloop/telescope-undo.nvim
|
||||
return {
|
||||
"nvim-telescope/telescope.nvim",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"debugloop/telescope-undo.nvim",
|
||||
},
|
||||
opts = {
|
||||
extensions = {
|
||||
undo = {
|
||||
side_by_side = true,
|
||||
layout_strategy = "vertical",
|
||||
layout_config = {
|
||||
preview_height = 0.8,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
config = function()
|
||||
require("telescope").load_extension("undo")
|
||||
end,
|
||||
}
|
||||
12
nvim/lua/plugins/telescope.lua
Normal file
12
nvim/lua/plugins/telescope.lua
Normal file
@@ -0,0 +1,12 @@
|
||||
-- Find, Filter, Preview, Pick
|
||||
-- https://github.com/nvim-telescope/telescope.nvim
|
||||
return {
|
||||
"telescope.nvim",
|
||||
keys = {
|
||||
{ "<C-p>", "<cmd>Telescope find_files hidden=true<cr>", desc = "Find Files (hidden)" },
|
||||
{ "<C-t>", "<cmd>Telescope<cr>", desc = "Telescope" },
|
||||
{ "<M-p>", "<cmd>Telescope find_files<cr>", desc = "Find Files" },
|
||||
{ "<leader>tr", "<cmd>Telescope resume<cr>", desc = "Telescope" },
|
||||
{ "<leader>tu", "<cmd>Telescope undo<cr>", desc = "Undo Tree" },
|
||||
},
|
||||
}
|
||||
6
nvim/lua/plugins/tmux-navigator.lua
Normal file
6
nvim/lua/plugins/tmux-navigator.lua
Normal file
@@ -0,0 +1,6 @@
|
||||
-- Seamless navigation between tmux panes and vim splits
|
||||
-- https://github.com/christoomey/vim-tmux-navigator
|
||||
return {
|
||||
"christoomey/vim-tmux-navigator",
|
||||
event = "VeryLazy",
|
||||
}
|
||||
12
nvim/lua/plugins/transparent.lua
Normal file
12
nvim/lua/plugins/transparent.lua
Normal file
@@ -0,0 +1,12 @@
|
||||
-- Remove all background colors to make Neovim transparent
|
||||
-- https://github.com/xiyaowong/nvim-transparent
|
||||
return {
|
||||
"xiyaowong/nvim-transparent",
|
||||
opts = {
|
||||
enable = false,
|
||||
extra_groups = {
|
||||
"TelescopeBorder",
|
||||
"TelescopeNormal",
|
||||
},
|
||||
},
|
||||
}
|
||||
8
nvim/lua/plugins/twilight.lua
Normal file
8
nvim/lua/plugins/twilight.lua
Normal file
@@ -0,0 +1,8 @@
|
||||
-- Distraction-free coding
|
||||
-- https://github.com/folke/zen-mode.nvim
|
||||
return {
|
||||
"folke/twilight.nvim",
|
||||
config = function()
|
||||
require("twilight").setup()
|
||||
end,
|
||||
}
|
||||
8
nvim/lua/plugins/various-textobjs.lua
Normal file
8
nvim/lua/plugins/various-textobjs.lua
Normal file
@@ -0,0 +1,8 @@
|
||||
return {
|
||||
"chrisgrieser/nvim-various-textobjs",
|
||||
config = function()
|
||||
require("various-textobjs").setup({
|
||||
useDefaultKeymaps = true,
|
||||
})
|
||||
end,
|
||||
}
|
||||
10
nvim/lua/plugins/vimux.lua
Normal file
10
nvim/lua/plugins/vimux.lua
Normal file
@@ -0,0 +1,10 @@
|
||||
-- Easily interact with tmux from vim
|
||||
-- https://github.com/preservim/vimux
|
||||
return {
|
||||
"preservim/vimux",
|
||||
config = function()
|
||||
vim.g.VimuxHeight = "30"
|
||||
vim.g.VimuxOrientation = "h"
|
||||
vim.g.VimuxUseNearestPane = 0
|
||||
end,
|
||||
}
|
||||
5
nvim/lua/plugins/visual-multi.lua
Normal file
5
nvim/lua/plugins/visual-multi.lua
Normal file
@@ -0,0 +1,5 @@
|
||||
-- Multiple cursors
|
||||
-- https://github.com/mg979/vim-visual-multi
|
||||
return {
|
||||
"mg979/vim-visual-multi",
|
||||
}
|
||||
6
nvim/lua/plugins/wakatime.lua
Normal file
6
nvim/lua/plugins/wakatime.lua
Normal file
@@ -0,0 +1,6 @@
|
||||
-- Track time and metrics
|
||||
-- https://github.com/wakatime/vim-wakatime
|
||||
return {
|
||||
"wakatime/vim-wakatime",
|
||||
event = "VeryLazy",
|
||||
}
|
||||
5
nvim/lua/plugins/xtract.lua
Normal file
5
nvim/lua/plugins/xtract.lua
Normal file
@@ -0,0 +1,5 @@
|
||||
-- Extract the selection into a new file
|
||||
-- https://github.com/rstacruz/vim-xtract
|
||||
return {
|
||||
"rstacruz/vim-xtract",
|
||||
}
|
||||
47
nvim/lua/plugins/zen-mode.lua
Normal file
47
nvim/lua/plugins/zen-mode.lua
Normal file
@@ -0,0 +1,47 @@
|
||||
-- Distraction-free coding
|
||||
-- https://github.com/folke/zen-mode.nvim
|
||||
return {
|
||||
"folke/zen-mode.nvim",
|
||||
keys = {
|
||||
-- stylua: ignore
|
||||
{ "<leader>zz", "<cmd>ZenMode<cr>", desc = "Zen Mode" },
|
||||
},
|
||||
config = function()
|
||||
require("zen-mode").setup({
|
||||
window = {
|
||||
backdrop = 0.98,
|
||||
width = 80,
|
||||
height = 0.85,
|
||||
options = {
|
||||
signcolumn = "no", -- disable signcolumn
|
||||
number = false, -- disable number column
|
||||
relativenumber = false, -- disable relative numbers
|
||||
cursorline = false, -- disable cursorline
|
||||
cursorcolumn = false, -- disable cursor column
|
||||
foldcolumn = "0", -- disable fold column
|
||||
list = false, -- disable whitespace characters
|
||||
},
|
||||
},
|
||||
plugins = {
|
||||
options = {
|
||||
enabled = true,
|
||||
ruler = true, -- disables the ruler text in the cmd line area
|
||||
showcmd = false, -- disables the command in the last line of the screen
|
||||
},
|
||||
twilight = { enabled = true }, -- enable to start Twilight when zen mode opens
|
||||
gitsigns = { enabled = false }, -- disables git signs
|
||||
tmux = { enabled = false }, -- disables the tmux statusline
|
||||
kitty = {
|
||||
enabled = true,
|
||||
font = "+2", -- font size increment
|
||||
},
|
||||
},
|
||||
on_open = function()
|
||||
vim.cmd([[:IndentBlanklineDisable]])
|
||||
end,
|
||||
on_close = function()
|
||||
vim.cmd([[:IndentBlanklineEnable]])
|
||||
end,
|
||||
})
|
||||
end,
|
||||
}
|
||||
Reference in New Issue
Block a user