mirror of
https://github.com/LazyVim/starter.git
synced 2026-07-25 14:01:03 +00:00
refactor: recreate folder structure
This commit is contained in:
parent
8f66d3bac3
commit
dcce817768
42 changed files with 657 additions and 845 deletions
|
|
@ -1,9 +1,35 @@
|
||||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||||
|
|
||||||
|
local function generate_import_specs()
|
||||||
|
local specs = {}
|
||||||
|
|
||||||
|
local function add_specs_from_dir(path)
|
||||||
|
local uv = vim.loop
|
||||||
|
local stats = uv.fs_readdir(uv.fs_opendir(vim.fn.stdpath("config") .. "/" .. "lua" .. "/" .. path, nil, 1000))
|
||||||
|
if not stats then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
for _, stat in ipairs(stats) do
|
||||||
|
-- print(stat.name)
|
||||||
|
if stat.type == "directory" then
|
||||||
|
local new_import_path = path .. "/" .. stat.name
|
||||||
|
table.insert(specs, { import = new_import_path:gsub("/", ".") })
|
||||||
|
add_specs_from_dir(new_import_path)
|
||||||
|
elseif stat.name == "init.lua" then
|
||||||
|
table.remove(specs) -- removes last element
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
add_specs_from_dir("plugins")
|
||||||
|
return specs
|
||||||
|
end
|
||||||
|
|
||||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||||
-- bootstrap lazy.nvim
|
-- bootstrap lazy.nvim
|
||||||
-- stylua: ignore
|
-- stylua: ignore
|
||||||
vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath })
|
vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable",
|
||||||
|
lazypath })
|
||||||
end
|
end
|
||||||
---@diagnostic disable-next-line: undefined-field
|
---@diagnostic disable-next-line: undefined-field
|
||||||
vim.opt.rtp:prepend(vim.env.LAZY or lazypath)
|
vim.opt.rtp:prepend(vim.env.LAZY or lazypath)
|
||||||
|
|
@ -14,7 +40,7 @@ require("lazy").setup({
|
||||||
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
|
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
|
||||||
-- import any extras modules here
|
-- import any extras modules here
|
||||||
-- import/override with your plugins
|
-- import/override with your plugins
|
||||||
{ import = "plugins" },
|
generate_import_specs("plugins"),
|
||||||
},
|
},
|
||||||
defaults = {
|
defaults = {
|
||||||
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
|
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
|
||||||
|
|
|
||||||
10
lua/plugins/actions/jump.lua
Normal file
10
lua/plugins/actions/jump.lua
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
"tris203/precognition.nvim",
|
||||||
|
cmd = "Precognition toggle",
|
||||||
|
opts = {
|
||||||
|
startVisible = true,
|
||||||
|
showBlankVirtLine = false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
return {
|
|
||||||
{
|
|
||||||
"kawre/leetcode.nvim",
|
|
||||||
cmd = "Leet",
|
|
||||||
opts = {
|
|
||||||
non_standalone = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
||||||
return {
|
|
||||||
{
|
|
||||||
"jbyuki/instant.nvim",
|
|
||||||
cmd = {
|
|
||||||
"InstantStartServer",
|
|
||||||
"InstantStopServer",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"mistricky/codesnap.nvim",
|
|
||||||
build = "make",
|
|
||||||
cmd = {
|
|
||||||
"CodeSnap",
|
|
||||||
"CodeSnapSave",
|
|
||||||
},
|
|
||||||
opts = {
|
|
||||||
save_path = "~/Pictures/ScreenShot/",
|
|
||||||
has_line_number = true,
|
|
||||||
watermark = "• FM39hz •",
|
|
||||||
bg_color = "#535c68",
|
|
||||||
code_font_family = "JetbrainsMono Nerd Font",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"miversen33/netman.nvim",
|
|
||||||
cmd = {
|
|
||||||
"Neotree remote",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
17
lua/plugins/collaborative/codesnap.lua
Normal file
17
lua/plugins/collaborative/codesnap.lua
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
"mistricky/codesnap.nvim",
|
||||||
|
build = "make",
|
||||||
|
cmd = {
|
||||||
|
"CodeSnap",
|
||||||
|
"CodeSnapSave",
|
||||||
|
},
|
||||||
|
opts = {
|
||||||
|
save_path = "~/Pictures/ScreenShot/",
|
||||||
|
has_line_number = true,
|
||||||
|
watermark = "• FM39hz •",
|
||||||
|
bg_color = "#535c68",
|
||||||
|
code_font_family = "JetbrainsMono Nerd Font",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
7
lua/plugins/collaborative/leetcode.lua
Normal file
7
lua/plugins/collaborative/leetcode.lua
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
return {
|
||||||
|
"kawre/leetcode.nvim",
|
||||||
|
cmd = "Leet",
|
||||||
|
opts = {
|
||||||
|
non_standalone = true,
|
||||||
|
},
|
||||||
|
}
|
||||||
26
lua/plugins/collaborative/remote.lua
Normal file
26
lua/plugins/collaborative/remote.lua
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
"jbyuki/instant.nvim",
|
||||||
|
cmd = {
|
||||||
|
"InstantStartServer",
|
||||||
|
"InstantStopServer",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"miversen33/netman.nvim",
|
||||||
|
cmd = {
|
||||||
|
"Neotree remote",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"rmagatti/auto-session",
|
||||||
|
event = "VimEnter",
|
||||||
|
opts = {
|
||||||
|
auto_session_enabled = true,
|
||||||
|
auto_save_enabled = true,
|
||||||
|
auto_restore_enabled = true,
|
||||||
|
auto_session_use_git_branch = true,
|
||||||
|
pre_save_cmds = { "BDelete! nameless", "BDelete! hidden", "BDelete glob=yode*", "cclose" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
@ -1,116 +0,0 @@
|
||||||
require("dap.ext.vscode").load_launchjs()
|
|
||||||
return {
|
|
||||||
-- Overall
|
|
||||||
{
|
|
||||||
"Zeioth/compiler.nvim",
|
|
||||||
cmd = { "CompilerOpen", "CompilerToggleResults", "CompilerRedo" },
|
|
||||||
dependencies = {
|
|
||||||
"stevearc/overseer.nvim",
|
|
||||||
},
|
|
||||||
opts = {},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"stevearc/overseer.nvim",
|
|
||||||
cmd = { "CompilerOpen", "CompilerToggleResults", "CompilerRedo", "OverseerRun" },
|
|
||||||
opts = {
|
|
||||||
task_list = {
|
|
||||||
direction = "bottom",
|
|
||||||
min_height = 25,
|
|
||||||
max_height = 25,
|
|
||||||
default_detail = 1,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"zeioth/garbage-day.nvim",
|
|
||||||
event = "LspAttach",
|
|
||||||
dependencies = "neovim/nvim-lspconfig",
|
|
||||||
opts = {},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"piersolenski/telescope-import.nvim",
|
|
||||||
dependencies = { "nvim-telescope/telescope.nvim" },
|
|
||||||
config = function()
|
|
||||||
require("telescope").load_extension("import")
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Tastyep/structlog.nvim",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"rachartier/tiny-inline-diagnostic.nvim",
|
|
||||||
event = "VeryLazy",
|
|
||||||
opts = {
|
|
||||||
signs = {
|
|
||||||
left = "",
|
|
||||||
right = "",
|
|
||||||
diag = "●",
|
|
||||||
arrow = " ",
|
|
||||||
up_arrow = " ",
|
|
||||||
vertical = " │",
|
|
||||||
vertical_end = " ╰",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- TS / JS
|
|
||||||
{
|
|
||||||
"dmmulroy/tsc.nvim",
|
|
||||||
cmd = "TSC",
|
|
||||||
opts = {
|
|
||||||
use_trouble_qflist = true,
|
|
||||||
},
|
|
||||||
ft = {
|
|
||||||
"typescript",
|
|
||||||
"typescriptreact",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Redoxahmii/json-to-types.nvim",
|
|
||||||
cmd = { "ConvertJSONtoTS", "ConvertJSONtoTSBuffer" },
|
|
||||||
build = "sh install.sh bun",
|
|
||||||
ft = {
|
|
||||||
"typescript",
|
|
||||||
"typescriptreact",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"barrett-ruth/import-cost.nvim",
|
|
||||||
build = "sh install.sh bun",
|
|
||||||
ft = {
|
|
||||||
"javascript",
|
|
||||||
"javascriptreact",
|
|
||||||
"typescript",
|
|
||||||
"typescriptreact",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"dmmulroy/ts-error-translator.nvim",
|
|
||||||
ft = {
|
|
||||||
"typescript",
|
|
||||||
"typescriptreact",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- C#
|
|
||||||
{
|
|
||||||
"iabdelkareem/csharp.nvim",
|
|
||||||
ft = "cs",
|
|
||||||
keys = {
|
|
||||||
{
|
|
||||||
"<F5>",
|
|
||||||
function()
|
|
||||||
require("csharp").debug_project()
|
|
||||||
end,
|
|
||||||
{ desc = "C# debug project", noremap = true, nowait = true },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
dependencies = {
|
|
||||||
"williamboman/mason.nvim",
|
|
||||||
"mfussenegger/nvim-dap",
|
|
||||||
"Tastyep/structlog.nvim",
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
require("mason").setup()
|
|
||||||
require("csharp").setup()
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
22
lua/plugins/development/compiler.lua
Normal file
22
lua/plugins/development/compiler.lua
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
"Zeioth/compiler.nvim",
|
||||||
|
cmd = { "CompilerOpen", "CompilerToggleResults", "CompilerRedo" },
|
||||||
|
dependencies = {
|
||||||
|
"stevearc/overseer.nvim",
|
||||||
|
},
|
||||||
|
opts = {},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"stevearc/overseer.nvim",
|
||||||
|
cmd = { "CompilerOpen", "CompilerToggleResults", "CompilerRedo", "OverseerRun" },
|
||||||
|
opts = {
|
||||||
|
task_list = {
|
||||||
|
direction = "bottom",
|
||||||
|
min_height = 25,
|
||||||
|
max_height = 25,
|
||||||
|
default_detail = 1,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
17
lua/plugins/development/diagnostic.lua
Normal file
17
lua/plugins/development/diagnostic.lua
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
"rachartier/tiny-inline-diagnostic.nvim",
|
||||||
|
event = "VeryLazy",
|
||||||
|
opts = {
|
||||||
|
signs = {
|
||||||
|
left = "",
|
||||||
|
right = "",
|
||||||
|
diag = "●",
|
||||||
|
arrow = " ",
|
||||||
|
up_arrow = " ",
|
||||||
|
vertical = " │",
|
||||||
|
vertical_end = " ╰",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
6
lua/plugins/development/garbage-collector.lua
Normal file
6
lua/plugins/development/garbage-collector.lua
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
return {
|
||||||
|
"zeioth/garbage-day.nvim",
|
||||||
|
event = "LspAttach",
|
||||||
|
dependencies = "neovim/nvim-lspconfig",
|
||||||
|
opts = {},
|
||||||
|
}
|
||||||
24
lua/plugins/development/language/csharp.lua
Normal file
24
lua/plugins/development/language/csharp.lua
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
"iabdelkareem/csharp.nvim",
|
||||||
|
ft = "cs",
|
||||||
|
keys = {
|
||||||
|
{
|
||||||
|
"<F5>",
|
||||||
|
function()
|
||||||
|
require("csharp").debug_project()
|
||||||
|
end,
|
||||||
|
{ desc = "C# debug project", noremap = true, nowait = true },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
dependencies = {
|
||||||
|
"williamboman/mason.nvim",
|
||||||
|
"mfussenegger/nvim-dap",
|
||||||
|
"Tastyep/structlog.nvim",
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
require("mason").setup()
|
||||||
|
require("csharp").setup()
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
}
|
||||||
39
lua/plugins/development/language/typescript.lua
Normal file
39
lua/plugins/development/language/typescript.lua
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
"dmmulroy/tsc.nvim",
|
||||||
|
cmd = "TSC",
|
||||||
|
opts = {
|
||||||
|
use_trouble_qflist = true,
|
||||||
|
},
|
||||||
|
ft = {
|
||||||
|
"typescript",
|
||||||
|
"typescriptreact",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Redoxahmii/json-to-types.nvim",
|
||||||
|
cmd = { "ConvertJSONtoTS", "ConvertJSONtoTSBuffer" },
|
||||||
|
build = "sh install.sh bun",
|
||||||
|
ft = {
|
||||||
|
"typescript",
|
||||||
|
"typescriptreact",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"barrett-ruth/import-cost.nvim",
|
||||||
|
build = "sh install.sh bun",
|
||||||
|
ft = {
|
||||||
|
"javascript",
|
||||||
|
"javascriptreact",
|
||||||
|
"typescript",
|
||||||
|
"typescriptreact",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dmmulroy/ts-error-translator.nvim",
|
||||||
|
ft = {
|
||||||
|
"typescript",
|
||||||
|
"typescriptreact",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
5
lua/plugins/development/logging.lua
Normal file
5
lua/plugins/development/logging.lua
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
"Tastyep/structlog.nvim",
|
||||||
|
},
|
||||||
|
}
|
||||||
9
lua/plugins/development/telescope.lua
Normal file
9
lua/plugins/development/telescope.lua
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
"piersolenski/telescope-import.nvim",
|
||||||
|
dependencies = { "nvim-telescope/telescope.nvim" },
|
||||||
|
config = function()
|
||||||
|
require("telescope").load_extension("import")
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
@ -1,238 +0,0 @@
|
||||||
-- 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 the "plugins" directory 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 },
|
|
||||||
|
|
||||||
-- override nvim-cmp and add cmp-emoji
|
|
||||||
{
|
|
||||||
"hrsh7th/nvim-cmp",
|
|
||||||
dependencies = { "hrsh7th/cmp-emoji" },
|
|
||||||
---@param opts cmp.ConfigSchema
|
|
||||||
opts = function(_, opts)
|
|
||||||
table.insert(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 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").lsp.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",
|
|
||||||
"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 packages, and 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)
|
|
||||||
{
|
|
||||||
"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 cmp = require("cmp")
|
|
||||||
|
|
||||||
opts.mapping = vim.tbl_extend("force", opts.mapping, {
|
|
||||||
["<Tab>"] = cmp.mapping(function(fallback)
|
|
||||||
if cmp.visible() then
|
|
||||||
cmp.select_next_item()
|
|
||||||
elseif vim.snippet.active({ direction = 1 }) then
|
|
||||||
vim.schedule(function()
|
|
||||||
vim.snippet.jump(1)
|
|
||||||
end)
|
|
||||||
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 vim.snippet.active({ direction = -1 }) then
|
|
||||||
vim.schedule(function()
|
|
||||||
vim.snippet.jump(-1)
|
|
||||||
end)
|
|
||||||
else
|
|
||||||
fallback()
|
|
||||||
end
|
|
||||||
end, { "i", "s" }),
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,56 +0,0 @@
|
||||||
return {
|
|
||||||
{
|
|
||||||
"stevearc/oil.nvim",
|
|
||||||
cmd = "Oil",
|
|
||||||
opts = {},
|
|
||||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"rmagatti/auto-session",
|
|
||||||
event = "VimEnter",
|
|
||||||
opts = {
|
|
||||||
auto_session_enabled = true,
|
|
||||||
auto_save_enabled = true,
|
|
||||||
auto_restore_enabled = true,
|
|
||||||
auto_session_use_git_branch = true,
|
|
||||||
pre_save_cmds = { "BDelete! nameless", "BDelete! hidden", "BDelete glob=yode*", "cclose" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
{
|
|
||||||
"antosha417/nvim-lsp-file-operations",
|
|
||||||
event = "LspAttach",
|
|
||||||
dependencies = {
|
|
||||||
"nvim-lua/plenary.nvim",
|
|
||||||
"nvim-neo-tree/neo-tree.nvim",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"akinsho/toggleterm.nvim",
|
|
||||||
cmd = "ToggleTerm",
|
|
||||||
opts = {
|
|
||||||
float_opts = {
|
|
||||||
border = "curved",
|
|
||||||
title_pos = "left",
|
|
||||||
width = 128,
|
|
||||||
height = 16,
|
|
||||||
row = 1,
|
|
||||||
},
|
|
||||||
winbar = {
|
|
||||||
enabled = true,
|
|
||||||
name_formatter = function(term)
|
|
||||||
return term.name
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tris203/precognition.nvim",
|
|
||||||
cmd = "Precognition toggle",
|
|
||||||
opts = {
|
|
||||||
startVisible = true,
|
|
||||||
showBlankVirtLine = false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
12
lua/plugins/files/lsp.lua
Normal file
12
lua/plugins/files/lsp.lua
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
"antosha417/nvim-lsp-file-operations",
|
||||||
|
event = "LspAttach",
|
||||||
|
dependencies = {
|
||||||
|
"nvim-lua/plenary.nvim",
|
||||||
|
"nvim-neo-tree/neo-tree.nvim",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
8
lua/plugins/files/manager.lua
Normal file
8
lua/plugins/files/manager.lua
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
"stevearc/oil.nvim",
|
||||||
|
cmd = "Oil",
|
||||||
|
opts = {},
|
||||||
|
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
@ -1,24 +0,0 @@
|
||||||
return {
|
|
||||||
{
|
|
||||||
"f-person/git-blame.nvim",
|
|
||||||
event = "BufReadPre",
|
|
||||||
opts = {
|
|
||||||
delay = 10,
|
|
||||||
date_format = "%x • %X",
|
|
||||||
-- schedule_event = "CursorHold",
|
|
||||||
-- clear_event = "CursorHoldI",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nvim-telescope/telescope.nvim",
|
|
||||||
dependencies = {
|
|
||||||
{
|
|
||||||
"agoodshort/telescope-git-submodules.nvim",
|
|
||||||
dependencies = "akinsho/toggleterm.nvim",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
require("telescope").load_extension("git_submodules")
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
10
lua/plugins/git/blame.lua
Normal file
10
lua/plugins/git/blame.lua
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
return {
|
||||||
|
"f-person/git-blame.nvim",
|
||||||
|
event = "BufReadPre",
|
||||||
|
opts = {
|
||||||
|
delay = 10,
|
||||||
|
date_format = "%x • %X",
|
||||||
|
-- schedule_event = "CursorHold",
|
||||||
|
-- clear_event = "CursorHoldI",
|
||||||
|
},
|
||||||
|
}
|
||||||
12
lua/plugins/git/submodules.lua
Normal file
12
lua/plugins/git/submodules.lua
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
return {
|
||||||
|
"nvim-telescope/telescope.nvim",
|
||||||
|
dependencies = {
|
||||||
|
{
|
||||||
|
"agoodshort/telescope-git-submodules.nvim",
|
||||||
|
dependencies = "akinsho/toggleterm.nvim",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
require("telescope").load_extension("git_submodules")
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
return {
|
|
||||||
{
|
|
||||||
"Darazaki/indent-o-matic",
|
|
||||||
event = "BufReadPre",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,77 +0,0 @@
|
||||||
return {
|
|
||||||
{
|
|
||||||
"opdavies/toggle-checkbox.nvim",
|
|
||||||
ft = "markdown",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"yujinyuz/gitpad.nvim",
|
|
||||||
opts = {
|
|
||||||
title = "Note",
|
|
||||||
border = "rounded",
|
|
||||||
dir = "~/Workspace/Notes/",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"jmbuhr/otter.nvim",
|
|
||||||
ft = "markdown",
|
|
||||||
dependencies = {
|
|
||||||
"hrsh7th/nvim-cmp", -- optional, for completion
|
|
||||||
"neovim/nvim-lspconfig",
|
|
||||||
"nvim-treesitter/nvim-treesitter",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"vhyrro/luarocks.nvim",
|
|
||||||
lazy = true,
|
|
||||||
priority = 1001,
|
|
||||||
opts = {
|
|
||||||
rocks = { "magick" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nvim-neorg/neorg",
|
|
||||||
dependencies = { "luarocks.nvim" },
|
|
||||||
ft = { "norg" },
|
|
||||||
version = "*",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"3rd/image.nvim",
|
|
||||||
ft = { "markdown", "quarto", "vimwiki" },
|
|
||||||
dependencies = { "luarocks.nvim" },
|
|
||||||
opts = {
|
|
||||||
backend = "kitty",
|
|
||||||
integrations = {
|
|
||||||
markdown = {
|
|
||||||
enabled = true,
|
|
||||||
only_render_image_at_cursor = false,
|
|
||||||
filetypes = { "markdown", "vimwiki", "quarto" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
editor_only_render_when_focused = false,
|
|
||||||
window_overlap_clear_enabled = true,
|
|
||||||
-- window_overlap_clear_ft_ignore = { 'cmp_menu', 'cmp_docs', 'scrollview' },
|
|
||||||
tmux_show_only_in_active_window = true,
|
|
||||||
window_overlap_clear_ft_ignore = { "cmp_menu", "cmp_docs", "scrollview", "scrollview_sign" },
|
|
||||||
max_width = nil,
|
|
||||||
max_height = nil,
|
|
||||||
max_width_window_percentage = nil,
|
|
||||||
max_height_window_percentage = 30,
|
|
||||||
kitty_method = "normal",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"epwalsh/obsidian.nvim",
|
|
||||||
ft = "markdown",
|
|
||||||
dependencies = {
|
|
||||||
"nvim-lua/plenary.nvim",
|
|
||||||
},
|
|
||||||
opts = {
|
|
||||||
workspaces = {
|
|
||||||
{
|
|
||||||
name = "Project Pillar",
|
|
||||||
path = "~/Workspace/Notes/Rouge Pillar/",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
14
lua/plugins/markdown/actions.lua
Normal file
14
lua/plugins/markdown/actions.lua
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
"opdavies/toggle-checkbox.nvim",
|
||||||
|
ft = "markdown",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"yujinyuz/gitpad.nvim",
|
||||||
|
opts = {
|
||||||
|
title = "Note",
|
||||||
|
border = "rounded",
|
||||||
|
dir = "~/Workspace/Notes/",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
10
lua/plugins/markdown/aesthetic.lua
Normal file
10
lua/plugins/markdown/aesthetic.lua
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
return {
|
||||||
|
"OXY2DEV/markview.nvim",
|
||||||
|
ft = "markdown",
|
||||||
|
dependencies = {
|
||||||
|
"nvim-tree/nvim-web-devicons",
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
require("markview").setup()
|
||||||
|
end,
|
||||||
|
}
|
||||||
35
lua/plugins/markdown/multimedia.lua
Normal file
35
lua/plugins/markdown/multimedia.lua
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
"vhyrro/luarocks.nvim",
|
||||||
|
lazy = true,
|
||||||
|
priority = 1001,
|
||||||
|
opts = {
|
||||||
|
rocks = { "magick" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"3rd/image.nvim",
|
||||||
|
ft = { "markdown", "quarto", "vimwiki" },
|
||||||
|
dependencies = { "luarocks.nvim" },
|
||||||
|
opts = {
|
||||||
|
backend = "kitty",
|
||||||
|
integrations = {
|
||||||
|
markdown = {
|
||||||
|
enabled = true,
|
||||||
|
only_render_image_at_cursor = false,
|
||||||
|
filetypes = { "markdown", "vimwiki", "quarto" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
editor_only_render_when_focused = false,
|
||||||
|
window_overlap_clear_enabled = true,
|
||||||
|
-- window_overlap_clear_ft_ignore = { 'cmp_menu', 'cmp_docs', 'scrollview' },
|
||||||
|
tmux_show_only_in_active_window = true,
|
||||||
|
window_overlap_clear_ft_ignore = { "cmp_menu", "cmp_docs", "scrollview", "scrollview_sign" },
|
||||||
|
max_width = nil,
|
||||||
|
max_height = nil,
|
||||||
|
max_width_window_percentage = nil,
|
||||||
|
max_height_window_percentage = 30,
|
||||||
|
kitty_method = "normal",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
30
lua/plugins/markdown/note-systems.lua
Normal file
30
lua/plugins/markdown/note-systems.lua
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
return {
|
||||||
|
"epwalsh/obsidian.nvim",
|
||||||
|
ft = "markdown",
|
||||||
|
dependencies = {
|
||||||
|
"nvim-lua/plenary.nvim",
|
||||||
|
},
|
||||||
|
opts = {
|
||||||
|
workspaces = {
|
||||||
|
{
|
||||||
|
name = "Project Pillar",
|
||||||
|
path = "~/.vault/Rouge Pillar/",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nvim-neorg/neorg",
|
||||||
|
dependencies = { "luarocks.nvim" },
|
||||||
|
ft = { "norg" },
|
||||||
|
version = "*",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"jmbuhr/otter.nvim",
|
||||||
|
ft = "markdown",
|
||||||
|
dependencies = {
|
||||||
|
"hrsh7th/nvim-cmp", -- optional, for completion
|
||||||
|
"neovim/nvim-lspconfig",
|
||||||
|
"nvim-treesitter/nvim-treesitter",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
@ -1,246 +0,0 @@
|
||||||
local logo = [[
|
|
||||||
⣴⣶⣤⡤⠦⣤⣀⣤⠆ ⣈⣭⣿⣶⣿⣦⣼⣆
|
|
||||||
⠉⠻⢿⣿⠿⣿⣿⣶⣦⠤⠄⡠⢾⣿⣿⡿⠋⠉⠉⠻⣿⣿⡛⣦
|
|
||||||
⠈⢿⣿⣟⠦ ⣾⣿⣿⣷ ⠻⠿⢿⣿⣧⣄
|
|
||||||
⣸⣿⣿⢧ ⢻⠻⣿⣿⣷⣄⣀⠄⠢⣀⡀⠈⠙⠿⠄
|
|
||||||
⢠⣿⣿⣿⠈ ⣻⣿⣿⣿⣿⣿⣿⣿⣛⣳⣤⣀⣀
|
|
||||||
⢠⣧⣶⣥⡤⢄ ⣸⣿⣿⠘ ⢀⣴⣿⣿⡿⠛⣿⣿⣧⠈⢿⠿⠟⠛⠻⠿⠄
|
|
||||||
███▄ █ ▓█████ ▒█████ ⣰⣿⣿⠛⠻⣿⣿⡦⢹⣿⣷ ⢊⣿⣿⡏ ⢸⣿⣿⡇ ⢀⣠⣄⣾⠄ ██▒ █▓ ██▓ ███▄ ▄███▓
|
|
||||||
██ ▀█ █ ▓█ ▀ ▒██▒ ██▒ ⣠⣿⠿⠛ ⢀⣿⣿⣷⠘⢿⣿⣦⡀ ⢸⢿⣿⣿⣄ ⣸⣿⣿⡇⣪⣿⡿⠿⣿⣷⡄ ▓██░ █▒▓██▒▓██▒▀█▀ ██▒
|
|
||||||
▓██ ▀█ ██▒▒███ ▒██░ ██▒ ⠙⠃ ⣼⣿⡟ ⠈⠻⣿⣿⣦⣌⡇⠻⣿⣿⣷⣿⣿⣿ ⣿⣿⡇ ⠛⠻⢷⣄ ▓██ █▒░▒██▒▓██ ▓██░
|
|
||||||
▓██▒ ▐▌██▒▒▓█ ▄ ▒██ ██░ ⢻⣿⣿⣄ ⠈⠻⣿⣿⣿⣷⣿⣿⣿⣿⣿⡟ ⠫⢿⣿⡆ ▒██ █░░░██░▒██ ▒██
|
|
||||||
▒██░ ▓██░░▒████▒░ ████▓▒░ ⠻⣿⣿⣿⣿⣶⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⡟⢀⣀⣤⣾⡿⠃ ▒▀█░ ░██░▒██▒ ░██▒
|
|
||||||
░ ▒░ ▒ ▒ ░░ ▒░ ░░ ▒░▒░▒░ ╰──────────────────────────────╯ ░ ▐░ ░▓ ░ ▒░ ░ ░
|
|
||||||
░ ░░ ░ ▒░ ░ ░ ░ ░ ▒ ▒░ ░ ░░ ▒ ░░ ░ ░
|
|
||||||
░ ░ ░ ░ ░ ░ ░ ▒ ░░ ▒ ░░ ░
|
|
||||||
░ ░ ░ ░ ░ ░ ░ ░
|
|
||||||
░ ]]
|
|
||||||
local section = require("alpha.themes.dashboard").section
|
|
||||||
return {
|
|
||||||
{
|
|
||||||
"catppuccin/nvim",
|
|
||||||
enabled = false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"folke/tokyonight.nvim",
|
|
||||||
enabled = false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"LazyVim/LazyVim",
|
|
||||||
opts = {
|
|
||||||
colorscheme = "everforest",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"goolord/alpha-nvim",
|
|
||||||
opts = {
|
|
||||||
section = {
|
|
||||||
header = {
|
|
||||||
val = vim.split(logo, "\n"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
opts = {
|
|
||||||
layout = {
|
|
||||||
section.header,
|
|
||||||
{ type = "padding", val = 1 },
|
|
||||||
section.buttons,
|
|
||||||
section.footer,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"hrsh7th/nvim-cmp",
|
|
||||||
opts = {
|
|
||||||
window = {
|
|
||||||
documentation = {
|
|
||||||
border = "rounded",
|
|
||||||
},
|
|
||||||
completion = {
|
|
||||||
border = "rounded",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"folke/noice.nvim",
|
|
||||||
opts = {
|
|
||||||
presets = {
|
|
||||||
bottom_search = false,
|
|
||||||
lsp_doc_border = true,
|
|
||||||
},
|
|
||||||
lsp = {
|
|
||||||
hover = {
|
|
||||||
silent = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nvim-lualine/lualine.nvim",
|
|
||||||
opts = {
|
|
||||||
sections = {
|
|
||||||
lualine_z = {
|
|
||||||
require("auto-session.lib").current_session_name,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nvim-neo-tree/neo-tree.nvim",
|
|
||||||
dependencies = "MunifTanjim/nui.nvim",
|
|
||||||
version = "*",
|
|
||||||
opts = {
|
|
||||||
auto_clean_after_session_restore = true,
|
|
||||||
close_if_last_window = true,
|
|
||||||
sources = {
|
|
||||||
"filesystem",
|
|
||||||
"buffers",
|
|
||||||
"git_status",
|
|
||||||
"netman.ui.neo-tree",
|
|
||||||
},
|
|
||||||
window = {
|
|
||||||
width = 30,
|
|
||||||
mappings = {
|
|
||||||
["h"] = function(state)
|
|
||||||
local node = state.tree:get_node()
|
|
||||||
if node.type == "directory" and node:is_expanded() then
|
|
||||||
require("neo-tree.sources.filesystem").toggle_directory(state, node)
|
|
||||||
else
|
|
||||||
require("neo-tree.ui.renderer").focus_node(state, node:get_parent_id())
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
["l"] = function(state)
|
|
||||||
local node = state.tree:get_node()
|
|
||||||
local path = node:get_id()
|
|
||||||
if node.type == "directory" then
|
|
||||||
if not node:is_expanded() then
|
|
||||||
require("neo-tree.sources.filesystem").toggle_directory(state, node)
|
|
||||||
elseif node:has_children() then
|
|
||||||
require("neo-tree.ui.renderer").focus_node(state, node:get_child_ids()[1])
|
|
||||||
end
|
|
||||||
end
|
|
||||||
if node.type == "file" then
|
|
||||||
require("neo-tree.utils").open_file(state, path)
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"rcarriga/nvim-notify",
|
|
||||||
opts = {
|
|
||||||
timeout = 2500,
|
|
||||||
fps = 170,
|
|
||||||
stages = "fade_in_slide_out",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- {
|
|
||||||
-- "nvimtools/none-ls.nvim",
|
|
||||||
-- opts = {
|
|
||||||
-- source = {
|
|
||||||
-- builtins = {
|
|
||||||
-- csharpier = {
|
|
||||||
-- args = { "--write-stdout", "--no-cache", "$FILENAME" },
|
|
||||||
-- },
|
|
||||||
-- },
|
|
||||||
-- },
|
|
||||||
-- },
|
|
||||||
-- },
|
|
||||||
{
|
|
||||||
"nvim-telescope/telescope.nvim",
|
|
||||||
opts = {
|
|
||||||
defaults = {
|
|
||||||
preview = {
|
|
||||||
mime_hook = function(filepath, bufnr, opts)
|
|
||||||
local is_image = function(_filepath)
|
|
||||||
local image_extensions = { "png", "jpg" }
|
|
||||||
local split_path = vim.split(_filepath:lower(), ".", { plain = true })
|
|
||||||
local extension = split_path[#split_path]
|
|
||||||
return vim.tbl_contains(image_extensions, extension)
|
|
||||||
end
|
|
||||||
if is_image(filepath) then
|
|
||||||
local term = vim.api.nvim_open_term(bufnr, {})
|
|
||||||
local function send_output(_, data, _)
|
|
||||||
for _, d in ipairs(data) do
|
|
||||||
vim.api.nvim_chan_send(term, d .. "\r\n")
|
|
||||||
end
|
|
||||||
end
|
|
||||||
vim.fn.jobstart({
|
|
||||||
"kitten",
|
|
||||||
"icat",
|
|
||||||
filepath,
|
|
||||||
}, { on_stdout = send_output, stdout_buffered = true, pty = true })
|
|
||||||
else
|
|
||||||
require("telescope.previewers.utils").set_preview_message(bufnr, opts.winid, "Binary cannot be previewed")
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nvim-lspconfig",
|
|
||||||
opts = {
|
|
||||||
diagnostics = {
|
|
||||||
virtual_text = false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"mfussenegger/nvim-dap",
|
|
||||||
opts = {
|
|
||||||
adapters = {
|
|
||||||
godot = {
|
|
||||||
type = "server",
|
|
||||||
host = "127.0.0.1",
|
|
||||||
port = 6006,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
configurations = {
|
|
||||||
cs = {
|
|
||||||
{
|
|
||||||
type = "godot",
|
|
||||||
request = "launch",
|
|
||||||
name = "Launch Scene",
|
|
||||||
project = "${workspaceFolder}",
|
|
||||||
launch_scene = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"rcarriga/nvim-dap-ui",
|
|
||||||
opts = {
|
|
||||||
expand_lines = true,
|
|
||||||
icons = { expanded = "", collapsed = "", circular = "" },
|
|
||||||
layouts = {
|
|
||||||
{
|
|
||||||
elements = {
|
|
||||||
{ id = "watches", size = 0.24 },
|
|
||||||
{ id = "scopes", size = 0.24 },
|
|
||||||
{ id = "breakpoints", size = 0.24 },
|
|
||||||
{ id = "stacks", size = 0.28 },
|
|
||||||
},
|
|
||||||
size = 0.23,
|
|
||||||
position = "right",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
elements = {
|
|
||||||
{ id = "repl", size = 0.55 },
|
|
||||||
{ id = "console", size = 0.45 },
|
|
||||||
},
|
|
||||||
size = 0.27,
|
|
||||||
position = "bottom",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
floating = {
|
|
||||||
max_height = 0.9,
|
|
||||||
max_width = 0.5,
|
|
||||||
border = "rounded",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
37
lua/plugins/override/dashboard.lua
Normal file
37
lua/plugins/override/dashboard.lua
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
local logo = [[
|
||||||
|
⣴⣶⣤⡤⠦⣤⣀⣤⠆ ⣈⣭⣿⣶⣿⣦⣼⣆
|
||||||
|
⠉⠻⢿⣿⠿⣿⣿⣶⣦⠤⠄⡠⢾⣿⣿⡿⠋⠉⠉⠻⣿⣿⡛⣦
|
||||||
|
⠈⢿⣿⣟⠦ ⣾⣿⣿⣷ ⠻⠿⢿⣿⣧⣄
|
||||||
|
⣸⣿⣿⢧ ⢻⠻⣿⣿⣷⣄⣀⠄⠢⣀⡀⠈⠙⠿⠄
|
||||||
|
⢠⣿⣿⣿⠈ ⣻⣿⣿⣿⣿⣿⣿⣿⣛⣳⣤⣀⣀
|
||||||
|
⢠⣧⣶⣥⡤⢄ ⣸⣿⣿⠘ ⢀⣴⣿⣿⡿⠛⣿⣿⣧⠈⢿⠿⠟⠛⠻⠿⠄
|
||||||
|
███▄ █ ▓█████ ▒█████ ⣰⣿⣿⠛⠻⣿⣿⡦⢹⣿⣷ ⢊⣿⣿⡏ ⢸⣿⣿⡇ ⢀⣠⣄⣾⠄ ██▒ █▓ ██▓ ███▄ ▄███▓
|
||||||
|
██ ▀█ █ ▓█ ▀ ▒██▒ ██▒ ⣠⣿⠿⠛ ⢀⣿⣿⣷⠘⢿⣿⣦⡀ ⢸⢿⣿⣿⣄ ⣸⣿⣿⡇⣪⣿⡿⠿⣿⣷⡄ ▓██░ █▒▓██▒▓██▒▀█▀ ██▒
|
||||||
|
▓██ ▀█ ██▒▒███ ▒██░ ██▒ ⠙⠃ ⣼⣿⡟ ⠈⠻⣿⣿⣦⣌⡇⠻⣿⣿⣷⣿⣿⣿ ⣿⣿⡇ ⠛⠻⢷⣄ ▓██ █▒░▒██▒▓██ ▓██░
|
||||||
|
▓██▒ ▐▌██▒▒▓█ ▄ ▒██ ██░ ⢻⣿⣿⣄ ⠈⠻⣿⣿⣿⣷⣿⣿⣿⣿⣿⡟ ⠫⢿⣿⡆ ▒██ █░░░██░▒██ ▒██
|
||||||
|
▒██░ ▓██░░▒████▒░ ████▓▒░ ⠻⣿⣿⣿⣿⣶⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⡟⢀⣀⣤⣾⡿⠃ ▒▀█░ ░██░▒██▒ ░██▒
|
||||||
|
░ ▒░ ▒ ▒ ░░ ▒░ ░░ ▒░▒░▒░ ╰──────────────────────────────╯ ░ ▐░ ░▓ ░ ▒░ ░ ░
|
||||||
|
░ ░░ ░ ▒░ ░ ░ ░ ░ ▒ ▒░ ░ ░░ ▒ ░░ ░ ░
|
||||||
|
░ ░ ░ ░ ░ ░ ░ ▒ ░░ ▒ ░░ ░
|
||||||
|
░ ░ ░ ░ ░ ░ ░ ░
|
||||||
|
░ ]]
|
||||||
|
local section = require("alpha.themes.dashboard").section
|
||||||
|
|
||||||
|
return {
|
||||||
|
"goolord/alpha-nvim",
|
||||||
|
opts = {
|
||||||
|
section = {
|
||||||
|
header = {
|
||||||
|
val = vim.split(logo, "\n"),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
opts = {
|
||||||
|
layout = {
|
||||||
|
section.header,
|
||||||
|
{ type = "padding", val = 1 },
|
||||||
|
section.buttons,
|
||||||
|
section.footer,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
91
lua/plugins/override/development.lua
Normal file
91
lua/plugins/override/development.lua
Normal file
|
|
@ -0,0 +1,91 @@
|
||||||
|
require("dap.ext.vscode").load_launchjs()
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
"hrsh7th/nvim-cmp",
|
||||||
|
opts = {
|
||||||
|
window = {
|
||||||
|
documentation = {
|
||||||
|
border = "rounded",
|
||||||
|
},
|
||||||
|
completion = {
|
||||||
|
border = "rounded",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
-- {
|
||||||
|
-- "nvimtools/none-ls.nvim",
|
||||||
|
-- opts = {
|
||||||
|
-- source = {
|
||||||
|
-- builtins = {
|
||||||
|
-- csharpier = {
|
||||||
|
-- args = { "--write-stdout", "--no-cache", "$FILENAME" },
|
||||||
|
-- },
|
||||||
|
-- },
|
||||||
|
-- },
|
||||||
|
-- },
|
||||||
|
-- },
|
||||||
|
{
|
||||||
|
"nvim-lspconfig",
|
||||||
|
opts = {
|
||||||
|
diagnostics = {
|
||||||
|
virtual_text = false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"mfussenegger/nvim-dap",
|
||||||
|
opts = {
|
||||||
|
adapters = {
|
||||||
|
godot = {
|
||||||
|
type = "server",
|
||||||
|
host = "127.0.0.1",
|
||||||
|
port = 6006,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
configurations = {
|
||||||
|
cs = {
|
||||||
|
{
|
||||||
|
type = "godot",
|
||||||
|
request = "launch",
|
||||||
|
name = "Launch Scene",
|
||||||
|
project = "${workspaceFolder}",
|
||||||
|
launch_scene = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"rcarriga/nvim-dap-ui",
|
||||||
|
opts = {
|
||||||
|
expand_lines = true,
|
||||||
|
icons = { expanded = "", collapsed = "", circular = "" },
|
||||||
|
layouts = {
|
||||||
|
{
|
||||||
|
elements = {
|
||||||
|
{ id = "watches", size = 0.24 },
|
||||||
|
{ id = "scopes", size = 0.24 },
|
||||||
|
{ id = "breakpoints", size = 0.24 },
|
||||||
|
{ id = "stacks", size = 0.28 },
|
||||||
|
},
|
||||||
|
size = 0.23,
|
||||||
|
position = "right",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
elements = {
|
||||||
|
{ id = "repl", size = 0.55 },
|
||||||
|
{ id = "console", size = 0.45 },
|
||||||
|
},
|
||||||
|
size = 0.27,
|
||||||
|
position = "bottom",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
floating = {
|
||||||
|
max_height = 0.9,
|
||||||
|
max_width = 0.5,
|
||||||
|
border = "rounded",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
42
lua/plugins/override/neo-tree.lua
Normal file
42
lua/plugins/override/neo-tree.lua
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
return {
|
||||||
|
"nvim-neo-tree/neo-tree.nvim",
|
||||||
|
dependencies = "MunifTanjim/nui.nvim",
|
||||||
|
version = "*",
|
||||||
|
opts = {
|
||||||
|
auto_clean_after_session_restore = true,
|
||||||
|
close_if_last_window = true,
|
||||||
|
sources = {
|
||||||
|
"filesystem",
|
||||||
|
"buffers",
|
||||||
|
"git_status",
|
||||||
|
"netman.ui.neo-tree",
|
||||||
|
},
|
||||||
|
window = {
|
||||||
|
width = 30,
|
||||||
|
mappings = {
|
||||||
|
["h"] = function(state)
|
||||||
|
local node = state.tree:get_node()
|
||||||
|
if node.type == "directory" and node:is_expanded() then
|
||||||
|
require("neo-tree.sources.filesystem").toggle_directory(state, node)
|
||||||
|
else
|
||||||
|
require("neo-tree.ui.renderer").focus_node(state, node:get_parent_id())
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
["l"] = function(state)
|
||||||
|
local node = state.tree:get_node()
|
||||||
|
local path = node:get_id()
|
||||||
|
if node.type == "directory" then
|
||||||
|
if not node:is_expanded() then
|
||||||
|
require("neo-tree.sources.filesystem").toggle_directory(state, node)
|
||||||
|
elseif node:has_children() then
|
||||||
|
require("neo-tree.ui.renderer").focus_node(state, node:get_child_ids()[1])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if node.type == "file" then
|
||||||
|
require("neo-tree.utils").open_file(state, path)
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
32
lua/plugins/override/telescope.lua
Normal file
32
lua/plugins/override/telescope.lua
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
return {
|
||||||
|
"nvim-telescope/telescope.nvim",
|
||||||
|
opts = {
|
||||||
|
defaults = {
|
||||||
|
preview = {
|
||||||
|
mime_hook = function(filepath, bufnr, opts)
|
||||||
|
local is_image = function(_filepath)
|
||||||
|
local image_extensions = { "png", "jpg" }
|
||||||
|
local split_path = vim.split(_filepath:lower(), ".", { plain = true })
|
||||||
|
local extension = split_path[#split_path]
|
||||||
|
return vim.tbl_contains(image_extensions, extension)
|
||||||
|
end
|
||||||
|
if is_image(filepath) then
|
||||||
|
local term = vim.api.nvim_open_term(bufnr, {})
|
||||||
|
local function send_output(_, data, _)
|
||||||
|
for _, d in ipairs(data) do
|
||||||
|
vim.api.nvim_chan_send(term, d .. "\r\n")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
vim.fn.jobstart({
|
||||||
|
"kitten",
|
||||||
|
"icat",
|
||||||
|
filepath,
|
||||||
|
}, { on_stdout = send_output, stdout_buffered = true, pty = true })
|
||||||
|
else
|
||||||
|
require("telescope.previewers.utils").set_preview_message(bufnr, opts.winid, "Binary cannot be previewed")
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
16
lua/plugins/override/theme.lua
Normal file
16
lua/plugins/override/theme.lua
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
"catppuccin/nvim",
|
||||||
|
enabled = false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"folke/tokyonight.nvim",
|
||||||
|
enabled = false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"LazyVim/LazyVim",
|
||||||
|
opts = {
|
||||||
|
colorscheme = "everforest",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
34
lua/plugins/override/visualize.lua
Normal file
34
lua/plugins/override/visualize.lua
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
"folke/noice.nvim",
|
||||||
|
opts = {
|
||||||
|
presets = {
|
||||||
|
bottom_search = false,
|
||||||
|
lsp_doc_border = true,
|
||||||
|
},
|
||||||
|
lsp = {
|
||||||
|
hover = {
|
||||||
|
silent = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
-- {
|
||||||
|
-- "nvim-lualine/lualine.nvim",
|
||||||
|
-- opts = {
|
||||||
|
-- sections = {
|
||||||
|
-- lualine_z = {
|
||||||
|
-- require("auto-session.lib").current_session_name,
|
||||||
|
-- },
|
||||||
|
-- },
|
||||||
|
-- },
|
||||||
|
-- },
|
||||||
|
{
|
||||||
|
"rcarriga/nvim-notify",
|
||||||
|
opts = {
|
||||||
|
timeout = 2500,
|
||||||
|
fps = 170,
|
||||||
|
stages = "fade_in_slide_out",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
19
lua/plugins/terminal/toggle-term.lua
Normal file
19
lua/plugins/terminal/toggle-term.lua
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
return {
|
||||||
|
"akinsho/toggleterm.nvim",
|
||||||
|
cmd = "ToggleTerm",
|
||||||
|
opts = {
|
||||||
|
float_opts = {
|
||||||
|
border = "curved",
|
||||||
|
title_pos = "left",
|
||||||
|
width = 128,
|
||||||
|
height = 16,
|
||||||
|
row = 1,
|
||||||
|
},
|
||||||
|
winbar = {
|
||||||
|
enabled = true,
|
||||||
|
name_formatter = function(term)
|
||||||
|
return term.name
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
@ -1,39 +0,0 @@
|
||||||
---@diagnostic disable: missing-fields
|
|
||||||
return {
|
|
||||||
{
|
|
||||||
"neanias/everforest-nvim",
|
|
||||||
config = function()
|
|
||||||
require("everforest").setup({
|
|
||||||
background = "medium",
|
|
||||||
italics = true,
|
|
||||||
ui_contrast = "high",
|
|
||||||
diagnostic_text_highlight = true,
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"brenoprata10/nvim-highlight-colors",
|
|
||||||
event = "BufReadPre",
|
|
||||||
opts = {
|
|
||||||
render = "virtual",
|
|
||||||
virtual_symbol = "",
|
|
||||||
enable_tailwind = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"HiPhish/rainbow-delimiters.nvim",
|
|
||||||
event = "BufReadPre",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"kevinhwang91/nvim-ufo",
|
|
||||||
event = "BufReadPre",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"2kabhishek/nerdy.nvim",
|
|
||||||
dependencies = {
|
|
||||||
"stevearc/dressing.nvim",
|
|
||||||
"nvim-telescope/telescope.nvim",
|
|
||||||
},
|
|
||||||
cmd = "Nerdy",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
15
lua/plugins/visualize/colors.lua
Normal file
15
lua/plugins/visualize/colors.lua
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
"brenoprata10/nvim-highlight-colors",
|
||||||
|
event = "BufReadPre",
|
||||||
|
opts = {
|
||||||
|
render = "virtual",
|
||||||
|
virtual_symbol = "",
|
||||||
|
enable_tailwind = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"HiPhish/rainbow-delimiters.nvim",
|
||||||
|
event = "BufReadPre",
|
||||||
|
},
|
||||||
|
}
|
||||||
4
lua/plugins/visualize/fold.lua
Normal file
4
lua/plugins/visualize/fold.lua
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
return {
|
||||||
|
"kevinhwang91/nvim-ufo",
|
||||||
|
event = "BufReadPre",
|
||||||
|
}
|
||||||
4
lua/plugins/visualize/indent.lua
Normal file
4
lua/plugins/visualize/indent.lua
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
return {
|
||||||
|
"Darazaki/indent-o-matic",
|
||||||
|
event = "BufReadPre",
|
||||||
|
}
|
||||||
8
lua/plugins/visualize/nerd.lua
Normal file
8
lua/plugins/visualize/nerd.lua
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
return {
|
||||||
|
"2kabhishek/nerdy.nvim",
|
||||||
|
dependencies = {
|
||||||
|
"stevearc/dressing.nvim",
|
||||||
|
"nvim-telescope/telescope.nvim",
|
||||||
|
},
|
||||||
|
cmd = "Nerdy",
|
||||||
|
}
|
||||||
12
lua/plugins/visualize/theme.lua
Normal file
12
lua/plugins/visualize/theme.lua
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
---@diagnostic disable: missing-fields
|
||||||
|
return {
|
||||||
|
"neanias/everforest-nvim",
|
||||||
|
config = function()
|
||||||
|
require("everforest").setup({
|
||||||
|
background = "medium",
|
||||||
|
italics = true,
|
||||||
|
ui_contrast = "high",
|
||||||
|
diagnostic_text_highlight = true,
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
}
|
||||||
Loading…
Add table
Reference in a new issue