Compare commits

...

18 commits

Author SHA1 Message Date
Mira
d4a703c4b8 configs for swift, typst, yaml, latex 2025-12-21 10:33:06 -05:00
Mira
b30ae16f6f add nvchad blink integration 2025-12-21 10:33:06 -05:00
Mira
7f36aee449 update to mason 2.0 2025-12-21 10:33:06 -05:00
Mira
16144c930d remove rustacean, add copilot chat 2025-12-21 10:33:06 -05:00
Mira
41963f1d1a theme fixes 2025-12-21 10:33:06 -05:00
Mira
b3dab5fa97 atempt to recrrste reppo 2025-12-21 10:33:05 -05:00
Mira
43f71d81fd updates ig 2025-12-21 10:33:05 -05:00
Mira
8110a17c9e fix wildmenu 2025-12-21 10:33:05 -05:00
Mira
f0bc805b7f add nil_ls 2025-12-21 10:33:05 -05:00
Mira
a4dc07669f formatting changes? 2025-12-21 10:33:05 -05:00
Mira
78ae854222 fix copilot 2025-12-21 10:33:05 -05:00
Mira
8a2e947096 add mason-lspconfig, osc52 copy 2025-12-21 10:33:05 -05:00
Mira
9e1c249a45 fix lunar witch, plugins 2025-12-21 10:33:05 -05:00
Mira
f9d6b12eba grapple stuff 2025-12-21 10:33:05 -05:00
Mira
9ff24733aa grapple 2025-12-21 10:33:05 -05:00
Mira
bb2ebfb433 update to nvim 0.10, add lspsaga etc 2025-12-21 10:33:05 -05:00
Mira
6b0202ed9f remove license 2025-12-21 10:33:05 -05:00
Mira
e6c7275763 migrate to nvchad 2.5 2025-12-21 10:33:05 -05:00
14 changed files with 849 additions and 101 deletions

10
.gitignore vendored Normal file
View file

@ -0,0 +1,10 @@
plugin
#custom
spell
ftplugin
syntax
coc-settings.json
.luarc.json
lazy-lock.json
after
**/.DS_Store

24
LICENSE
View file

@ -1,24 +0,0 @@
This is free and unencumbered software released into the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.
In jurisdictions that recognize copyright laws, the author or authors
of this software dedicate any and all copyright interest in the
software to the public domain. We make this dedication for the benefit
of the public at large and to the detriment of our heirs and
successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this
software under copyright law.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
For more information, please refer to <https://unlicense.org>

View file

@ -1,3 +1,4 @@
-- Begin NvChad setup
vim.g.base46_cache = vim.fn.stdpath "data" .. "/nvchad/base46/" vim.g.base46_cache = vim.fn.stdpath "data" .. "/nvchad/base46/"
vim.g.mapleader = " " vim.g.mapleader = " "
@ -35,5 +36,55 @@ dofile(vim.g.base46_cache .. "statusline")
require "nvchad.autocmds" require "nvchad.autocmds"
vim.schedule(function() vim.schedule(function()
require "mappings" local mappings = require "mappings"
mappings.General()
end) end)
-- end NvChad setup
local autocmd = vim.api.nvim_create_autocmd
-- Auto resize panes when resizing nvim window
autocmd("VimResized", {
pattern = "*",
command = "tabdo wincmd =",
})
-- Set default shell to pwsh on windows
if vim.loop.os_uname() == "win32" then
vim.opt.shell = vim.fn.executable "pwsh" == 1 and "pwsh" or "powershell"
vim.opt.shellcmdflag =
"-NoLogo -NoProfile -ExecutionPolicy RemoteSigned -Command [Console]::InputEncoding=[Console]::OutputEncoding=[System.Text.Encoding]::UTF8;"
vim.opt.shellredir = "-RedirectStandardOutput %s -NoNewWindow -Wait"
vim.opt.shellpipe = "2>&1 | Out-File -Encoding UTF8 %s; exit $LastExitCode"
vim.opt.shellquote = ""
vim.opt.shellxquote = ""
else
-- vim.opt.shell = env.SHELL
end
vim.opt.relativenumber = true
vim.opt.cursorline = true
vim.g.copilot_assume_mapped = true
-- ufo config
vim.o.foldcolumn = "0" -- '0' is not bad
vim.o.foldlevel = 99 -- Using ufo provider need a large value, feel free to decrease the value
vim.o.foldlevelstart = 99
-- vim.o.foldenable = true
vim.opt.wildmode = { "list:longest", "list:full" }
vim.opt.wildmenu = true
vim.opt.autoread = true
vim.o.clipboard = "unnamed,unnamedplus"
vim.g.clipboard = {
name = "OSC 52",
copy = {
["+"] = require("vim.ui.clipboard.osc52").copy "+",
["*"] = require("vim.ui.clipboard.osc52").copy "*",
},
paste = {
["+"] = require("vim.ui.clipboard.osc52").paste "+",
["*"] = require("vim.ui.clipboard.osc52").paste "*",
},
}
if vim.g.neovide then
vim.o.guifont = "MonaspiceNe Nerd Font:h12"
end

View file

@ -1,16 +1,31 @@
-- This file needs to have same structure as nvconfig.lua
-- https://github.com/NvChad/NvChad/blob/v2.5/lua/nvconfig.lua
---@type ChadrcConfig ---@type ChadrcConfig
local M = {} local M = {}
-- Path to overriding theme and highlights files
local highlights = require "highlights"
M.ui = { M.ui = {
theme = "onedark", statusline = {
order = { "mode", "file", "git", "%=", "lsp_msg", "%=", "diagnostics", "lsp", "cwd", "cursor", "grapple" },
-- hl_override = { modules = {
-- Comment = { italic = true }, cursor = function()
-- ["@comment"] = { italic = true }, return "%#St_pos_sep#" .. "" .. "%#St_pos_icon# %#St_pos_text# [%l,%c]"
-- }, end,
grapple = "%#St_cwd_sep#"
.. ""
.. "%#St_cwd_icon#"
.. "󰛢 "
.. "%#St_cwd_text#"
.. require("grapple").statusline {
include_icon = false,
inactive = " %s",
},
},
},
}
M.base46 = {
hl_override = highlights.override,
hl_add = highlights.add,
theme = "lunar_witch",
} }
return M return M

View file

@ -1,6 +1,5 @@
return { return {
defaults = { lazy = true }, defaults = { lazy = true },
install = { colorscheme = { "nvchad" } },
ui = { ui = {
icons = { icons = {

View file

@ -1,23 +1,49 @@
-- EXAMPLE -- local lspconfig = require "lspconfig"
local on_attach = require("nvchad.configs.lspconfig").on_attach -- local on_attach = require("nvchad.configs.lspconfig").on_attach
local on_init = require("nvchad.configs.lspconfig").on_init -- local on_attach = require("nvchad.configs.lspconfig").on_init
local capabilities = require("nvchad.configs.lspconfig").capabilities local capabilities
require("mason").setup()
local lspconfig = require "lspconfig" require("mason-lspconfig").setup {
local servers = { "html", "cssls" } ensure_installed = {
"html",
-- lsps with default config "cssls",
for _, lsp in ipairs(servers) do "clangd",
lspconfig[lsp].setup { "gopls",
on_attach = on_attach, "astro",
on_init = on_init, "lua_ls",
capabilities = capabilities, "docker_compose_language_service",
"ast_grep",
"pyright",
"bashls",
"css_variables",
"marksman",
"rust_analyzer",
"ruff",
"jdtls",
"nil_ls",
},
} }
end
-- typescript require("copilot").setup()
lspconfig.tsserver.setup {
on_attach = on_attach, -- Swift?
on_init = on_init, vim.lsp.enable('sourcekit')
capabilities = capabilities,
-- YAML
vim.lsp.config['yamlls'] = {
settings = {
yaml = {
format = {
singleQuote = true,
}
}
}
}
-- Typst
vim.lsp.config["tinymist"] = {
cmd = { "tinymist" },
filetypes = { "typst" },
settings = {
}
} }

56
lua/configs/null-ls.lua Normal file
View file

@ -0,0 +1,56 @@
local null_ls = require "null-ls"
local virtual = os.getenv "VIRTUAL_ENV" or os.getenv "CONDA_PREFIX" or "/usr" -- TODO: windows
local opts = {
debug = true,
sources = {
null_ls.builtins.code_actions.refactoring,
-- null_ls.builtins.diagnostics.mypy.with {
-- extra_args = { "--python-executable", virtual .. "/bin/python3" },
-- },
-- null_ls.builtins.diagnostics.flake8.with {
-- extra_args = { "--select", "E,W,F", "--ignore", "E501,E402,E722,W503", "--max-line-length", "150" },
-- },
-- null_ls.builtins.formatting.autoflake,
-- null_ls.builtins.formatting.autopep8.with {
-- extra_args = { "--select", "E,W,F", "--ignore", "E501,E402,E722,W503", "--max-line-length", "150" },
-- },
-- Lua
null_ls.builtins.formatting.stylua,
-- CSS
null_ls.builtins.formatting.prettier,
-- Go
null_ls.builtins.formatting.gofumpt,
null_ls.builtins.formatting.goimports,
null_ls.builtins.code_actions.gomodifytags,
null_ls.builtins.code_actions.impl,
-- null_ls.builtins.diagnostics.revive,
null_ls.builtins.diagnostics.golangci_lint,
-- Docker
null_ls.builtins.diagnostics.hadolint,
--shell,
null_ls.builtins.formatting.shellharden,
-- web
require "none-ls.code_actions.eslint",
require "none-ls.diagnostics.eslint",
require "none-ls.formatting.eslint",
null_ls.builtins.formatting.stylelint,
},
-- autoformat on save
on_attach = function(client, bufnr)
if client.supports_method "textDocument/formatting" then
vim.api.nvim_clear_autocmds {
group = augroup,
buffer = bufnr,
}
vim.api.nvim_create_autocmd("BufWritePre", {
group = augroup,
buffer = bufnr,
callback = function()
vim.lsp.buf.format { bufnr = bufnr }
end,
})
end
end,
}
return opts

63
lua/configs/overrides.lua Normal file
View file

@ -0,0 +1,63 @@
local M = {}
M.treesitter = {
ensure_installed = {
"vim",
"lua",
"html",
"css",
"javascript",
"typescript",
"tsx",
"c",
"markdown",
"markdown_inline",
},
indent = {
enable = true,
-- disable = {
-- "python"
-- },
},
}
M.mason = {
ensure_installed = {
-- lua stuff
"lua-language-server",
"stylua",
-- web dev stuff
"css-lsp",
"html-lsp",
"typescript-language-server",
"deno",
"prettier",
-- c/cpp stuff
"clangd",
"clang-format",
},
}
-- git support in nvimtree
M.nvimtree = {
git = {
enable = true,
},
renderer = {
highlight_git = true,
icons = {
show = {
git = true,
},
},
},
}
M.copilot = {
suggestion = {
auto_trigger = true,
},
}
return M

View file

@ -0,0 +1,11 @@
local on_attach = require("nvchad.configs.lspconfig").on_attach
local capabilities = require("nvchad.configs.lspconfig").capabilities
local options = {
server = {
on_attach = on_attach,
capabilities = capabilities,
}
}
return options

50
lua/highlights.lua Normal file
View file

@ -0,0 +1,50 @@
-- To find any highlight groups: "<cmd> Telescope highlights"
-- Each highlight group can take a table with variables fg, bg, bold, italic, etc
-- base30 variable names can also be used as colors
local M = {}
---@type Base46HLGroupsList
M.override = {
Comment = {
fg = "grey_fg",
italic = true,
bold = true,
},
St_NormalMode = {
fg = "white",
bold = false,
},
St_InsertMode = {
fg = "white",
bold = false,
},
St_LspStatus = {
fg = "blue",
},
}
---@type HLTable
M.add = {
NvimTreeOpenedFolderName = { fg = "green", bold = true },
NvimTreeImageFile = { fg = "dark_purple" },
DevIconTxt = { fg = "green" },
NvimTreeSpecialFile = {
fg = "yellow",
},
["@comment"] = {
fg = "grey_fg",
italic = true,
bold = true,
},
Type = {
fg = "yellow",
},
["@type"] = {
fg = "yellow",
},
Structure = {
fg = "yellow",
},
}
return M

View file

@ -1,10 +1,155 @@
require "nvchad.mappings" require "nvchad.mappings"
-- add yours here
local map = vim.keymap.set local map = vim.keymap.set
local M = {}
M.General = function()
map("n", ";", ":", { desc = "general enter command mode", nowait = true })
map("v", ">", ">gv", { desc = "general indent" })
-- map("n", "<C-Left>", "<C-w>h", { desc = "switch Window left" })
-- map("n", "<C-Right>", "<C-w>l", { desc = "switch Window right" })
-- map("n", "<C-Down>", "<C-w>j", { desc = "switch Window down" })
-- map("n", "<C-Up>", "<C-w>k", { desc = "switch Window up" })
map("n", "<C-Left>", "<cmd>TmuxNavigateLeft<CR>", { desc = "switch Window left" })
map("n", "<C-Right>", "<cmd>TmuxNavigateRight<CR>", { desc = "switch Window right" })
map("n", "<C-Down>", "<cmd>TmuxNavigateDown<CR> ", { desc = "switch Window down" })
map("n", "<C-Up>", "<cmd>TmuxNavigateUp<CR>", { desc = "switch Window up" })
map("n", "K", "<cmd>Lspsaga hover_doc<CR>", { desc = "LSPSaga Hover" })
map("n", "]d", function()
vim.diagnostic.goto_next()
end, { desc = "LSP Next Diagnostic" })
map("n", "[d", function()
vim.diagnostic.goto_prev()
end, { desc = "LSP Prev Diagnostic" })
map("n", "<Leader>lf", "<cmd>Lspsaga show_cursor_diagnostics<CR>", { desc = "LSPSaga floating diagnostic" })
map("n", "<Leader>gr", "<cmd>Lspsaga finder ref<CR>", { desc = "LSPSaga search references" })
map("n", "<Leader>gi", "<cmd>Lspsaga finder imp<CR>", { desc = "LSPSaga search implementation" })
map("n", "<Leader>gd", "<cmd>Lspsaga finder def<CR>", { desc = "LSPSaga search definition" })
map("n", "<Leader>rr", "<cmd>Lspsaga rename<CR>", { desc = "LSPSaga rename" })
map("n", "<Leader>ci", "<cmd>Lspsaga incoming_calls<CR>", { desc = "LSPSaga incoming calls" })
map("n", "<Leader>co", "<cmd>Lspsaga outgoing_calls<CR>", { desc = "LSPSaga outgoing calls" })
map("n", "<Leader>ca", "<cmd>Lspsaga code_action<CR>", { desc = "LSPSaga code action" })
map("n", "<C-b>", "<cmd>Lspsaga outline<CR>", { desc = "LSPSaga outline" })
map("n", "<leader>sm", require("grapple").toggle, { desc = "Grapple Toggle" })
map("n", "<leader>sn", function()
require("grapple").cycle_tags "next"
end, { desc = "Grapple cycle next" })
map("n", "<leader>sN", function()
require("grapple").cycle_tags "prev"
end, { desc = "Grapple cycle prev" })
map("n", "<leader>sM", "<cmd>Grapple open_tags<CR>", { desc = "Grapple View tags" })
end
map("n", ";", ":", { desc = "CMD enter command mode" }) M.Ufo = function()
map("i", "jk", "<ESC>") map("n", "zR", require("ufo").openAllFolds, { desc = "UFO Open All Folds" })
map("n", "zM", require("ufo").closeAllFolds, { desc = "UFO Close All Folds" })
end
-- map({ "n", "i", "v" }, "<C-s>", "<cmd> w <cr>") M.Dap = function()
map("n", "<leader>db", "<cmd> DapToggleBreakpoint <CR>", { desc = "dap Toggle Breakpoint" })
map("n", "<leader>dus", function()
local widgets = require "dap.ui.widgets"
local sidebar = widgets.sidebar(widgets.scopes)
sidebar.open()
end, { desc = "dap Open debugging sidebar" })
map("n", "<F5>", function()
require("dap").continue()
end, { desc = "dap Debug Program" })
map("n", "<F10>", function()
require("dap").step_over()
end, { desc = "dap Step Over" })
map("n", "<F11>", function()
require("dap").step_into()
end, { desc = "dap Step Into" })
map("n", "<F12>", function()
require("dap").step_out()
end, { desc = "dap Step Out" })
map("n", "<Leader>lp", function()
require("dap").set_breakpoint(nil, nil, vim.fn.input "Log point message: ")
end, { desc = "dap Set Breakpoint with Mesage?" })
map("n", "<Leader>dr", function()
require("dap").repl.open()
end, { desc = "dap Open REPL" })
map("n", "<Leader>dl", function()
require("dap").run_last()
end, { desc = "dap Run Last" })
map("n", "<Leader>dp", function()
require("dap.ui.widgets").preview()
end, { desc = "dap Preview UI" })
map("n", "<Leader>dh", function()
require("dap.ui.widgets").hover()
end, { desc = "dap Hover UI" })
map("n", "<Leader>do", function()
require("dapui").toggle()
end, { desc = "dap Toggle Debug UI" })
map("n", "<Leader>df", function()
local widgets = require "dap.ui.widgets"
widgets.centered_float(widgets.frames)
end, { desc = "dap Open Frames" })
map("n", "<Leader>ds", function()
local widgets = require "dap.ui.widgets"
widgets.centered_float(widgets.scopes)
end, { desc = "dap Open Scopes" })
end
M.Dap_python = function()
map("n", "<leader>dpr", function()
require("dap-python").test_method()
end, { desc = "dap_python Test Method" })
end
M.Dap_go = function()
map("n", "<leader>dpr", function()
require("dap-go").debug_test()
end, { desc = "dap_go Test Method" })
end
M.Crates = function()
map("n", "<leader>rcu", function()
require("crates").upgrade_all_crates()
end, { desc = "crates update crates" })
end
M.LazyGit = function()
map("n", "<leader>gg", function()
vim.cmd ":LazyGit"
end, { desc = "lazygit open lazygit" })
end
M.Hop = function()
map("n", "t", function()
require("hop").hint_words { multi_windows = true }
end, { desc = "hop Hop across windows", remap = true })
map("n", "T", function()
require("hop").hint_char2 { multi_windows = true }
end, {
desc = "hop Hop to chars across windows",
remap = true,
})
end
M.Copilot = function()
map("i", "<M-l>", function()
require("copilot.suggestion").accept()
end, { desc = "copilot Accept Suggestion", "opts = { remap = true }" })
map("i", "<M-)>", function()
require("copilot.suggestion").next()
end, { desc = "copilot Next Suggestion", "opts = { remap = true }" })
map("i", "<M-map(>", function()
require("copilot.suggestion").prev()
end, { desc = "copilot rev Suggestion", "opts = { remap = true }" })
map("i", "<C-)>", function()
require("copilot.suggestion").dismiss()
end, { desc = "copilot Dismiss Suggestion", "opts = { remap = true }" })
end
M.Markdown = function()
map("n", "<leader>cb", function()
require("markdown-togglecheck").toggle()
end, { desc = "markdown Toggle Checkmark" })
end
M.Obsidian = function()
map("n", "gf", function()
return require("obsidian").util.gf_passthrough()
end, { desc = "obsidian Follow Link", "opts = { noremap = false, expr = true, buffer = true }" })
map("n", "<leader>cb", function()
return require("obsidian").util.toggle_checkbox()
end, { desc = "obsidian Toggle Checkmark", "opts = { buffer = trueue, remap = true }" })
end
M.Trouble = function()
map("n", "<leader>dx", "<cmd>Trouble diagnostics toggle<cr>", { desc = "Trouble Diagnostics" })
map("n", "<leader>cs", "<cmd>Trouble qflist toggle<cr>", { desc = "Symbols (Trouble)" })
map("n", "<leader>dQ", "<cmd>Trouble symbols toggle focus=false<cr>", { desc = "Quickfix List (Trouble)" })
end
return M

318
lua/plugins.lua Normal file
View file

@ -0,0 +1,318 @@
local overrides = require "configs.overrides"
local mappings = require "mappings"
---@type NvPluginSpec[]
return {
---------------------
-- General Plugins --
---------------------
-- LSP Stuff
-- TODO: make these lang specific
{
"mason/mason.nvim",
-- opts = overrides.mason
opts = {
PATH = "append",
},
},
{
"mason-org/mason-lspconfig.nvim",
opts = {},
dependencies = {
{ "mason-org/mason.nvim", opts = {} },
"neovim/nvim-lspconfig",
},
},
{
"cbochs/grapple.nvim",
dependencies = {
{ "nvim-tree/nvim-web-devicons", lazy = true },
},
lazy = false,
},
{
"nvimdev/lspsaga.nvim",
config = function()
require("lspsaga").setup {}
end,
dependencies = {
"nvim-treesitter/nvim-treesitter", -- optional
"nvim-tree/nvim-web-devicons", -- optional
},
},
{ "ThePrimeagen/refactoring.nvim" },
{
"nvimtools/none-ls.nvim",
lazy = false,
dependencies = "nvimtools/none-ls-extras.nvim",
opts = function()
return require "configs.null-ls"
end,
},
{
"neovim/nvim-lspconfig",
config = function()
require "nvchad.configs.lspconfig"
require "configs.lspconfig"
end, -- Override to setup mason-lspconfig
dependencies = {
"nvimdev/lspsaga.nvim",
},
lazy = false,
},
-- Debugger
{
"mfussenegger/nvim-dap",
config = function(_, opts)
mappings.Dap()
end,
},
{
"rcarriga/nvim-dap-ui",
dependencies = { "mfussenegger/nvim-dap", "nvim-neotest/nvim-nio" },
config = function()
local dap = require "dap"
local dapui = require "dapui"
dapui.setup()
dap.listeners.after.event_initialized["dapui_config"] = function()
dapui.open()
end
dap.listeners.before.event_terminated["dapui_config"] = function()
dapui.close()
end
dap.listeners.before.event_exited["dapui_config"] = function()
dapui.close()
end
end,
},
-- Delimiters
{ "Raimondi/delimitMate", lazy = false },
-- lazygit
{
"kdheepak/lazygit.nvim",
config = function()
mappings.LazyGit()
end,
lazy = false,
},
-- fzf
{ "junegunn/fzf.vim", lazy = false },
{
"nvim-telescope/telescope.nvim",
config = function()
require("telescope").setup()
require("telescope").load_extension "grapple"
end,
dependencies = { "nvim-lua/plenary.nvim", "junegunn/fzf.vim" },
},
-- Syntax Highlighting
{
"nvim-treesitter/nvim-treesitter",
opts = overrides.treesitter,
dependencies = {
-- additional parser
{ "nushell/tree-sitter-nu" },
},
},
-- File manager
{
"nvim-tree/nvim-tree.lua",
opts = overrides.nvimtree,
},
-- Diagnostics
{
"folke/trouble.nvim",
config = function()
require("trouble").setup()
mappings.Trouble()
end,
},
-- todo Highlights
{
"folke/todo-comments.nvim",
dependencies = { "nvim-lua/plenary.nvim", "folke/trouble.nvim" },
config = function()
require("todo-comments").setup()
end,
lazy = false,
},
-- TODO: look into this
{
"max397574/better-escape.nvim",
event = "InsertEnter",
config = function()
require("better_escape").setup()
end,
},
{
"zbirenbaum/copilot.lua",
event = "InsertEnter",
cmd = "Copilot",
config = function()
require("copilot").setup { suggestion = { auto_trigger = true } }
end,
},
{
"CopilotC-Nvim/CopilotChat.nvim",
dependencies = {
{ "nvim-lua/plenary.nvim", branch = "master" },
},
build = "make tiktoken",
lazy = false,
opts = {
-- See Configuration section for options
},
},
-- Nyoom around files
{
"smoka7/hop.nvim",
lazy = false,
config = function()
local hop = require "hop"
hop.setup()
print(mappings.Hop())
end,
},
{
"kevinhwang91/nvim-ufo",
dependencies = { "kevinhwang91/promise-async" },
config = function()
require("ufo").setup {
provider_selector = function(bufnr, filetype, buftype)
return { "treesitter", "indent" }
end,
}
mappings.Ufo()
end,
lazy = false,
},
{ import = "nvchad.blink.lazyspec" },
----------
-- Java --
----------
-- { "mfussenegger/nvim-jdtls" },
------------
-- Python --
------------
{
"mfussenegger/nvim-dap-python",
ft = "python",
dependencies = {
"mfussenegger/nvim-dap",
"rcarriga/nvim-dap-ui",
},
config = function(_, opts)
local path = nil
local is_windows = vim.fn.has "win64" == 1 or vim.fn.has "win32" == 1 or vim.fn.has "win16" == 1
if is_windows then
local cmd = io.popen("where.exe python", "r")
path = cmd:read "*line"
cmd:close()
else
local cmd = io.popen("which python", "r")
path = cmd:read "*line"
cmd:close()
end
require("dap-python").setup(path)
mappings.Dap_python()
end,
},
----------
-- Rust --
----------
-- {
-- "mrcjkb/rustaceanvim",
-- version = "^5", -- Recommended
-- lazy = false, -- This plugin is already lazy
-- },
{ "cordx56/rustowl", dependencies = { "neovim/nvim-lspconfig" } },
-----------
-- swkhd --
-----------
{ "waycrate/swhkd-vim", ft = { "swhkdrc", "swhkd" } },
--------------
-- Obsidian --
--------------
-- {
-- "epwalsh/obsidian.nvim",
-- ft = "markdown",
-- lazy = false,
-- dependencies = {
-- "nvim-lua/plenary.nvim",
-- "nvim-telescope/telescope.nvim",
-- "nvim-treesitter/nvim-treesitter",
-- },
-- opts = {
-- -- workspaces = {}
-- config = function(_, opts)
-- end,
-- },
-- },
--------------
-- Markdown --
--------------
{
"nfrid/markdown-togglecheck",
dependencies = { "nfrid/treesitter-utils" },
ft = { "markdown" },
config = function(_, opts)
-- require("markdown-togglecheck").setup()
mappings.Markdown()
end,
},
------------
-- Golang --
------------
{
"leoluz/nvim-dap-go",
dependencies = {
"mfussenegger/nvim-dap",
"rcarriga/nvim-dap-ui",
},
ft = "go",
config = function(_, opts)
require("dap-go").setup()
mappings.Dap_go()
end,
},
------------
-- tmux --
------------
{
"christoomey/vim-tmux-navigator",
lazy = false,
},
-----------
-- Latex --
-----------
{
"lervag/vimtex",
lazy = false, -- we don't want to lazy load VimTeX
-- tag = "v2.15", -- uncomment to pin to a specific release
init = function()
-- VimTeX configuration goes here, e.g.
vim.g.vimtex_view_method = "zathura"
end
},
{
'chomosuke/typst-preview.nvim',
ft = 'typst',
version = '1.*',
opts = {}, -- lazy.nvim will implicitly calls `setup {}`
}
-- All NvChad plugins are lazy-loaded by default
-- For a plugin to be loaded, you will need to set either `ft`, `cmd`, `keys`, `event`, or set `lazy = false`
-- If you want a plugin to load on startup, add `lazy = false` to a plugin spec, for example
-- {
-- "mg979/vim-visual-multi",
-- lazy = false,
-- }
}

View file

@ -1,38 +0,0 @@
return {
{
"stevearc/conform.nvim",
-- event = 'BufWritePre', -- uncomment for format on save
config = function()
require "configs.conform"
end,
},
-- These are some examples, uncomment them if you want to see them work!
-- {
-- "neovim/nvim-lspconfig",
-- config = function()
-- require("nvchad.configs.lspconfig").defaults()
-- require "configs.lspconfig"
-- end,
-- },
--
-- {
-- "williamboman/mason.nvim",
-- opts = {
-- ensure_installed = {
-- "lua-language-server", "stylua",
-- "html-lsp", "css-lsp" , "prettier"
-- },
-- },
-- },
--
-- {
-- "nvim-treesitter/nvim-treesitter",
-- opts = {
-- ensure_installed = {
-- "vim", "lua", "vimdoc",
-- "html", "css"
-- },
-- },
-- },
}

View file

@ -0,0 +1,66 @@
local M = {}
M.base_30 = {
black = "#010206", -- theme bg
darker_black = "#000000",
black2 = "#74689f", -- base02
one_bg = "#1e1b30", -- base01
one_bg2 = "#74689f", -- base02
one_bg3 = "#8781ab", -- base03
light_grey = "#c1c7db", -- base05
grey_fg = "#9a9ab8", -- base04, used for comments
grey = "#1a538d", -- accent
grey_fg2 = "#5078a4", -- light accent, used for line numbers
line = "#74689f", -- base02
baby_pink = "#f3709a", -- pink
nord_blue = "#1a538d", -- accent
orange = "#eaa950",
statusline_bg = "#1e1b30", -- base01
lightbg = "#74689f", -- base02
lightbg2 = "#74689f", -- base02
folder_bg = "#334773", -- ansi-blue
pmenu_bg = "#334773", -- ansi-blue
red = "#a04558",
green = "#76aa73",
yellow = "#ad9d3d",
dark_purple = "#a34a78", --ansi-magenta
teal = "#2a97b1", -- ansi-cyan
pink = "#ed8096", --ansi-bright-red
vibrant_green = "#a0dc9b", --ansi-bright-green
sun = "#c1b254", -- ansi-bright-yellow
blue = "#445f9b", --ansi-bright-blue
purple = "#ee5e95", --ansi-bright-magenta
cyan = "#5bcefa", --ansi-bright-cyan
white = "#ebf6ff", -- actually fg
}
M.base_16 = {
base00 = "#010206", -- Default bg
base01 = "#1e1b30", -- Lighter bg (status bar, line number, folding mks)
base02 = "#74689f", -- Selection bg,
base03 = "#8781ab", -- Comments, invisibles, line hl, ansi-bright-black
base04 = "#9a9ab8", -- Dark fg (status bars), ansi-white
base05 = "#c1c7db", -- Default fg (caret, delimiters, Operators), ansi-bright-white
base06 = "#ebf6ff", -- Light fg (not often used), fg
base07 = "#fbfbff", -- Light bg (not often used)
base08 = "#ed8096", -- Variables, XML Tags, Markup Link Text, Markup Lists, Diff Deleted, ansi-bright-red
base09 = "#eaa950", -- Integers, Boolean, Constants, XML Attributes, Markup Link Url, orange
base0A = "#c1b254", -- Classes, Markup Bold, Search Text Background, ansi-yellow
base0B = "#a0dc9b", -- Strings, Inherited Class, Markup Code, Diff Inserted, ansi-green
base0C = "#2a97b1", -- Support, regex, escape chars, ansi-cyan
base0D = "#5bcefa", -- Function, methods, headings, ansi-bright-cyan
base0E = "#ee5e95", -- Keywords, ansi-bright-magenta
base0F = "#a34a78", -- Deprecated, open/close embedded tags, ansi-magenta
}
M.type = "dark"
return M