Compare commits
50 Commits
master
..
deprecated
| Author | SHA1 | Date | |
|---|---|---|---|
| 83d958ba47 | |||
| 4123a4752c | |||
| 2a58ee17e7 | |||
| 6bcb31995a | |||
| 1ce80bf79e | |||
| 5f48a96e8c | |||
| f2e889b1d1 | |||
| fde5adbe71 | |||
| 5e73c24fdd | |||
| 44a0ad24f1 | |||
| 6fe552e3dc | |||
| 1a2d03d2c9 | |||
| c8dfbf8aee | |||
| d6905f2052 | |||
| 3beba645ef | |||
| 5fe351bbe1 | |||
| e61da45d1e | |||
| 0400a04c7c | |||
| 574895ef9f | |||
| 6848b2d504 | |||
| 4b03162cb4 | |||
| af37decd58 | |||
| d2a8b257fa | |||
| 72db09176e | |||
| ad22420275 | |||
| c7c4a74600 | |||
| 103946319c | |||
| a07f92783c | |||
| ca2ef7748b | |||
| 989df347c0 | |||
| 76130d8d42 | |||
| 2f2e49c6f3 | |||
| 5b25dcb01b | |||
| b0857954c4 | |||
| 4e41296560 | |||
| 70167bf1c8 | |||
| aad624221a | |||
| 2730bbd210 | |||
| 3da16ca21b | |||
| d801a059ef | |||
| 260c70c958 | |||
| 6a612b80f8 | |||
| 330861bd93 | |||
| 813f95e06e | |||
| 94dc47f8bb | |||
| 70f66adb59 | |||
| 726248c2f3 | |||
| 9d47133ba1 | |||
| aa13916e94 | |||
| 45a1b2c9a8 |
@@ -1,9 +0,0 @@
|
||||
**This repo is supposed to used as config by NvChad users!**
|
||||
|
||||
- The main nvchad repo (NvChad/NvChad) is used as a plugin by this repo.
|
||||
- So you just import its modules , like `require "nvchad.options" , require "nvchad.mappings"`
|
||||
- So you can delete the .git from this repo ( when you clone it locally ) or fork it :)
|
||||
|
||||
# Credits
|
||||
|
||||
1) Lazyvim starter https://github.com/LazyVim/starter as nvchad's starter was inspired by Lazyvim's . It made a lot of things easier!
|
||||
@@ -1,10 +1,10 @@
|
||||
vim.g.base46_cache = vim.fn.stdpath "data" .. "/base46/"
|
||||
vim.g.base46_cache = vim.fn.stdpath "data" .. "/nvchad/base46/"
|
||||
vim.g.mapleader = " "
|
||||
|
||||
-- bootstrap lazy and all plugins
|
||||
local lazypath = vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
|
||||
|
||||
if not vim.uv.fs_stat(lazypath) then
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
local repo = "https://github.com/folke/lazy.nvim.git"
|
||||
vim.fn.system { "git", "clone", "--filter=blob:none", repo, "--branch=stable", lazypath }
|
||||
end
|
||||
@@ -20,18 +20,77 @@ require("lazy").setup({
|
||||
lazy = false,
|
||||
branch = "v2.5",
|
||||
import = "nvchad.plugins",
|
||||
config = function()
|
||||
require "options"
|
||||
end,
|
||||
},
|
||||
|
||||
{ import = "plugins" },
|
||||
}, lazy_config)
|
||||
|
||||
-- load plugins' setup
|
||||
require("todo-comments").setup({})
|
||||
|
||||
-- load theme
|
||||
dofile(vim.g.base46_cache .. "defaults")
|
||||
dofile(vim.g.base46_cache .. "statusline")
|
||||
|
||||
require "options"
|
||||
require "nvchad.autocmds"
|
||||
|
||||
-- shell
|
||||
vim.opt.shell = "/bin/fish"
|
||||
|
||||
-- Disable inline diagnostics (virtual text)
|
||||
vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(
|
||||
vim.lsp.diagnostic.on_publish_diagnostics, {
|
||||
virtual_text = false,
|
||||
}
|
||||
)
|
||||
|
||||
-- Function to show diagnostics in a floating window on hover
|
||||
local function show_diagnostics_on_hover()
|
||||
local opts = {
|
||||
focusable = false,
|
||||
close_events = { "BufLeave", "CursorMoved", "InsertEnter", "FocusLost" },
|
||||
border = 'rounded',
|
||||
source = 'always',
|
||||
prefix = ' ',
|
||||
}
|
||||
vim.api.nvim_command('autocmd CursorHold * lua vim.diagnostic.open_float(nil, ' .. vim.inspect(opts) .. ')')
|
||||
end
|
||||
|
||||
-- Call the function to set up the autocmd
|
||||
show_diagnostics_on_hover()
|
||||
|
||||
vim.schedule(function()
|
||||
require "mappings"
|
||||
end)
|
||||
|
||||
-- enables remote clipboard
|
||||
-- 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('*'),
|
||||
-- },
|
||||
-- }
|
||||
|
||||
-- Ruff and pyright cross-compatibility
|
||||
vim.api.nvim_create_autocmd("LspAttach", {
|
||||
group = vim.api.nvim_create_augroup('lsp_attach_disable_ruff_hover', { clear = true }),
|
||||
callback = function(args)
|
||||
local client = vim.lsp.get_client_by_id(args.data.client_id)
|
||||
if client == nil then
|
||||
return
|
||||
end
|
||||
if client.name == 'ruff' then
|
||||
-- Disable hover in favor of Pyright
|
||||
client.server_capabilities.hoverProvider = false
|
||||
end
|
||||
end,
|
||||
desc = 'LSP: Disable hover capability from Ruff',
|
||||
})
|
||||
|
||||
+58
-15
@@ -1,26 +1,69 @@
|
||||
-- This file needs to have same structure as nvconfig.lua
|
||||
-- https://github.com/NvChad/ui/blob/v3.0/lua/nvconfig.lua
|
||||
-- Please read that file to know all available options :(
|
||||
-- https://github.com/NvChad/NvChad/blob/v2.5/lua/nvconfig.lua
|
||||
|
||||
---@type ChadrcConfig
|
||||
local M = {}
|
||||
|
||||
M.base46 = {
|
||||
theme = "ayu_dark",
|
||||
M.ui = {
|
||||
-- theme = "nightowl",
|
||||
theme = "decay",
|
||||
transparency = true,
|
||||
theme_toggle = { "ayu_dark", "ayu_light" },
|
||||
|
||||
statusline = {
|
||||
theme = "minimal",
|
||||
},
|
||||
hl_override = {
|
||||
Comment = { italic = true },
|
||||
["@comment"] = { italic = true },
|
||||
Include = {
|
||||
italic = true,
|
||||
},
|
||||
-- for, while loops
|
||||
Repeat = {
|
||||
italic = true,
|
||||
},
|
||||
-- if statements
|
||||
Conditional = {
|
||||
italic = true,
|
||||
},
|
||||
-- class, with, as keywords
|
||||
["@keyword"] = {
|
||||
italic = true,
|
||||
},
|
||||
-- conditions
|
||||
["@keyword.conditional"] = {
|
||||
italic = true,
|
||||
},
|
||||
-- repeat
|
||||
["@keyword.repeat"] = {
|
||||
italic = true,
|
||||
},
|
||||
-- function keyword
|
||||
["@keyword.function"] = {
|
||||
italic = true,
|
||||
},
|
||||
-- return, yield keywords
|
||||
["@keyword.return"] = {
|
||||
bold = true,
|
||||
},
|
||||
-- function names
|
||||
["@function"] = {
|
||||
italic = false,
|
||||
},
|
||||
-- symbolic
|
||||
["@operator"] = {
|
||||
bold = true,
|
||||
},
|
||||
-- logical keywords
|
||||
["@keyword.operator"] = {
|
||||
italic = true,
|
||||
},
|
||||
-- function parameters
|
||||
["@parameter"] = {
|
||||
italic = true,
|
||||
|
||||
["@variable"] = {
|
||||
italic = false,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
M.nvdash = { load_on_startup = true }
|
||||
M.ui = {
|
||||
tabufline = {
|
||||
lazyload = false
|
||||
}
|
||||
}
|
||||
|
||||
return M
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
local options = {
|
||||
formatters_by_ft = {
|
||||
lua = { "stylua" },
|
||||
python = { "black" },
|
||||
css = { "prettier" },
|
||||
html = { "prettier" },
|
||||
nix = { "alejandra" },
|
||||
go = { "goimports", "gofmt" },
|
||||
bash = {"beautysh"},
|
||||
sh = {"beautysh"},
|
||||
zsh = {"beautysh"},
|
||||
},
|
||||
|
||||
-- format_on_save = {
|
||||
@@ -13,4 +17,4 @@ local options = {
|
||||
-- },
|
||||
}
|
||||
|
||||
return options
|
||||
require("conform").setup(options)
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
local header = {
|
||||
[[]],
|
||||
[[]],
|
||||
[[]],
|
||||
[[ ███╗ ██╗ ███████╗ ██████╗ ██╗ ██╗ ██╗ ███╗ ███╗]],
|
||||
[[ ████╗ ██║ ██╔════╝██╔═══██╗ ██║ ██║ ██║ ████╗ ████║]],
|
||||
[[ ██╔██╗ ██║ █████╗ ██║ ██║ ██║ ██║ ██║ ██╔████╔██║]],
|
||||
[[ ██║╚██╗██║ ██╔══╝ ██║ ██║ ╚██╗ ██╔╝ ██║ ██║╚██╔╝██║]],
|
||||
[[ ██║ ╚████║ ███████╗╚██████╔╝ ╚████╔╝ ██║ ██║ ╚═╝ ██║]],
|
||||
[[ ╚═╝ ╚═══╝ ╚══════╝ ╚═════╝ ╚═══╝ ╚═╝ ╚═╝ ╚═╝]],
|
||||
[[]],
|
||||
[[]],
|
||||
[[]],
|
||||
}
|
||||
|
||||
local footer = {
|
||||
[[]],
|
||||
[[]],
|
||||
'Don\'t know how to exit? Refer to the link below.',
|
||||
'https://stackoverflow.com/questions/11828270/how-do-i-exit-vim',
|
||||
}
|
||||
|
||||
local options = {
|
||||
theme = 'hyper',
|
||||
disable_move = false,
|
||||
shortcut_type = 'letter',
|
||||
shuffle_letter = true,
|
||||
change_to_vcs_root = false,
|
||||
config = {
|
||||
header = header,
|
||||
shortcut = {
|
||||
{
|
||||
desc = "😎 Skill Issue.",
|
||||
},
|
||||
},
|
||||
footer = footer,
|
||||
},
|
||||
hide = {
|
||||
statusline = true,
|
||||
tabline = true,
|
||||
winbar = true,
|
||||
},
|
||||
preview = {
|
||||
|
||||
},
|
||||
}
|
||||
require("dashboard").setup(options)
|
||||
+58
-53
@@ -1,71 +1,76 @@
|
||||
local nvlsp = require "nvchad.configs.lspconfig"
|
||||
-- EXAMPLE
|
||||
local on_attach = require("nvchad.configs.lspconfig").on_attach
|
||||
local on_init = require("nvchad.configs.lspconfig").on_init
|
||||
local capabilities = require("nvchad.configs.lspconfig").capabilities
|
||||
|
||||
local lspconfig = require "lspconfig"
|
||||
|
||||
nvlsp.defaults() -- loads nvchad's defaults
|
||||
|
||||
local servers = { "html", "cssls", "clangd" }
|
||||
local util = require "lspconfig/util"
|
||||
|
||||
-- lsps with default config
|
||||
for _, lsp in ipairs(servers) do
|
||||
lspconfig[lsp].setup {
|
||||
on_attach = nvlsp.on_attach,
|
||||
on_init = nvlsp.on_init,
|
||||
capabilities = nvlsp.capabilities,
|
||||
on_attach = on_attach,
|
||||
on_init = on_init,
|
||||
capabilities = capabilities,
|
||||
}
|
||||
end
|
||||
|
||||
lspconfig.basedpyright.setup {
|
||||
on_attach = nvlsp.on_attach,
|
||||
-- on_init = nvlsp.on_init,
|
||||
capabilities = nvlsp.capabilities,
|
||||
settings = {
|
||||
pyright = {
|
||||
disableOrganizeImports = true,
|
||||
},
|
||||
python = {
|
||||
analysis = {
|
||||
ignore = { '*' }
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
lspconfig.ruff.setup {
|
||||
on_attach = nvlsp.on_attach,
|
||||
-- on_init = nvlsp.on_init,
|
||||
capabilities = nvlsp.capabilities,
|
||||
settings = {
|
||||
}
|
||||
}
|
||||
|
||||
lspconfig.rust_analyzer.setup {
|
||||
on_attach = nvlsp.on_attach,
|
||||
-- on_init = nvlsp.on_init,
|
||||
capabilities = nvlsp.capabilities,
|
||||
settings = {
|
||||
}
|
||||
}
|
||||
|
||||
lspconfig.bashls.setup {
|
||||
on_attach = nvlsp.on_attach,
|
||||
-- on_init = nvlsp.on_init,
|
||||
capabilities = nvlsp.capabilities,
|
||||
settings = {
|
||||
}
|
||||
}
|
||||
|
||||
-- typescript
|
||||
lspconfig.ts_ls.setup {
|
||||
on_attach = nvlsp.on_attach,
|
||||
-- on_init = nvlsp.on_init,
|
||||
capabilities = nvlsp.capabilities,
|
||||
on_attach = on_attach,
|
||||
on_init = on_init,
|
||||
capabilities = capabilities,
|
||||
}
|
||||
|
||||
-- python
|
||||
lspconfig.basedpyright.setup{
|
||||
on_attach = on_attach,
|
||||
on_init = on_init,
|
||||
capabilities = capabilities,
|
||||
filetypes = { "python" },
|
||||
settings = {
|
||||
basedpyright = {
|
||||
typeCheckingMode = "standard",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
lspconfig.rnix.setup {
|
||||
on_attach = nvlsp.on_attach,
|
||||
capabilities = nvlsp.capabilities,
|
||||
lspconfig.gopls.setup {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
cmd = {"gopls"},
|
||||
filetypes = { "go", "gomod", "gowork", "gotmpl" },
|
||||
root_dir = util.root_pattern("go.work", "go.mod", ".git"),
|
||||
settings = {
|
||||
gopls = {
|
||||
completeUnimported = true,
|
||||
usePlaceholders = true,
|
||||
analyses = {
|
||||
unusedParameters = true,
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
---- ruff_lsp and pyright compatibility
|
||||
-- local on_attach = function(client, bufnr)
|
||||
-- if client.name == 'ruff_lsp' then
|
||||
-- -- hover in favor of Pyright
|
||||
-- client.server_capabilities.hoverProvider = false
|
||||
-- end
|
||||
-- end
|
||||
--
|
||||
lspconfig.ruff.setup{
|
||||
on_attach = on_attach,
|
||||
on_init = on_init,
|
||||
capabilities = capabilities,
|
||||
init_options = {
|
||||
settings = {
|
||||
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
local bufnr = vim.api.nvim_get_current_buf()
|
||||
vim.keymap.set("n", "<leader>a", function()
|
||||
vim.cmd.RustLsp "codeAction" -- supports rust-analyzer's grouping
|
||||
-- or vim.lsp.buf.codeAction() if you don't want grouping.
|
||||
end, { silent = true, buffer = bufnr })
|
||||
vim.keymap.set(
|
||||
"n",
|
||||
"K", -- Override Neovim's built-in hover keymap with rustaceanvim's hover actions
|
||||
function()
|
||||
vim.cmd.RustLsp { "hover", "actions" }
|
||||
end,
|
||||
{ silent = true, buffer = bufnr }
|
||||
)
|
||||
+8
-6
@@ -3,14 +3,16 @@ require "nvchad.mappings"
|
||||
-- add yours here
|
||||
|
||||
local map = vim.keymap.set
|
||||
local keymap = vim.api.nvim_set_keymap
|
||||
|
||||
map("n", ";", ":", { desc = "CMD enter command mode" })
|
||||
map("i", "jk", "<ESC>")
|
||||
-- map("n", "<leader>gh", ":Neogit <cr>")
|
||||
map("n", "<leader>md", ":MarkdownPreviewToggle <cr>")
|
||||
map("n", "<leader>tl", ":TodoLocList <cr>")
|
||||
map("n", "<leader>td", ":TodoQuickFix <cr>")
|
||||
map("n", "<leader>cr", ":!python3 % <cr>")
|
||||
|
||||
|
||||
|
||||
-- map({ "n", "i", "v" }, "<C-s>", "<cmd> w <cr>")
|
||||
|
||||
-- custom
|
||||
map("n", "<leader>ss", ":lua vim.diagnostic.open_float(nil,{focus=false}) <cr>")
|
||||
map("n", "<leader>sd", ":lua vim.diagnostic.setqflist() <cr>")
|
||||
|
||||
-- vim.cmd [[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focus=false})]]
|
||||
|
||||
+4
-4
@@ -1,10 +1,10 @@
|
||||
require "nvchad.options"
|
||||
|
||||
-- add yours here!
|
||||
vim.opt.foldmethod = "expr"
|
||||
vim.opt.foldexpr = "nvim_treesitter#foldexpr()"
|
||||
|
||||
-- Show line diagnostics automatically in hover window
|
||||
-- vim.o.updatetime = 250
|
||||
-- vim.cmd [[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focus=false})]]
|
||||
|
||||
-- vim.opt.spelllang = "en_us"
|
||||
-- vim.opt.spell = true
|
||||
-- local o = vim.o
|
||||
-- o.cursorlineopt ='both' -- to enable cursorline!
|
||||
|
||||
+99
-20
@@ -2,34 +2,120 @@ return {
|
||||
{
|
||||
"stevearc/conform.nvim",
|
||||
-- event = 'BufWritePre', -- uncomment for format on save
|
||||
opts = require "configs.conform",
|
||||
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,
|
||||
},
|
||||
|
||||
-- test new blink
|
||||
{ import = "nvchad.blink.lazyspec" },
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"lua-language-server",
|
||||
"stylua",
|
||||
"html-lsp",
|
||||
"css-lsp",
|
||||
"prettier",
|
||||
"basedpyright", "mypy", "black", "ruff-lsp",
|
||||
"goimports", "gofumpt", "gomodifytags", "impl", "delve",
|
||||
"typescript-language-server",
|
||||
"clangd",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"vim", "lua", "vimdoc",
|
||||
"html", "css", "python",
|
||||
"rust",
|
||||
"vim",
|
||||
"lua",
|
||||
"vimdoc",
|
||||
"html",
|
||||
"css",
|
||||
"python",
|
||||
"typescript",
|
||||
"go",
|
||||
"gomod",
|
||||
"gowork",
|
||||
"gosum",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
"kylechui/nvim-surround",
|
||||
version = "*", -- Use for stability; omit to use `main` branch for the latest features
|
||||
event = "VeryLazy",
|
||||
config = function()
|
||||
require("nvim-surround").setup{}
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"iamcco/markdown-preview.nvim",
|
||||
cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
|
||||
ft = { "markdown" },
|
||||
build = function()
|
||||
vim.fn["mkdp#util#install"]()
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"lewis6991/gitsigns.nvim",
|
||||
opts = {
|
||||
current_line_blame = true,
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
'nvimdev/dashboard-nvim',
|
||||
event = 'VimEnter',
|
||||
config = function()
|
||||
require "configs.dashboard"
|
||||
end,
|
||||
dependencies = { {'nvim-tree/nvim-web-devicons'}}
|
||||
},
|
||||
|
||||
-- {
|
||||
-- "nvim-telescope/telescope.nvim",
|
||||
-- tag = "0.1.5",
|
||||
-- dependencies = {
|
||||
-- 'nvim-lua/plenary.nvim',
|
||||
-- 'jonarrien/telescope-cmdline.nvim',
|
||||
-- },
|
||||
-- keys = {
|
||||
-- { ':', '<cmd>Telescope cmdline<cr>', desc = 'Cmdline' }
|
||||
-- },
|
||||
-- opts = {
|
||||
-- ...,
|
||||
-- extensions = {
|
||||
-- cmdline = {
|
||||
-- },
|
||||
-- },
|
||||
-- ...
|
||||
-- },
|
||||
-- config = function(_, opts)
|
||||
-- require("telescope").setup(opts)
|
||||
-- require("telescope").load_extension('cmdline')
|
||||
-- end,
|
||||
-- },
|
||||
{
|
||||
"folke/todo-comments.nvim",
|
||||
dependencies = { "nvim-lua/plenary.nvim" },
|
||||
opts = {}
|
||||
},
|
||||
|
||||
{
|
||||
"kdheepak/lazygit.nvim",
|
||||
lazy = true,
|
||||
cmd = {
|
||||
"LazyGit",
|
||||
"LazyGitConfig",
|
||||
@@ -38,23 +124,16 @@ return {
|
||||
"LazyGitFilterCurrentFile",
|
||||
},
|
||||
-- optional for floating window border decoration
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
},
|
||||
dependencies = { "nvim-lua/plenary.nvim", },
|
||||
-- setting the keybinding for LazyGit with 'keys' is recommended in
|
||||
-- order to load the plugin when the command is run for the first time
|
||||
keys = {
|
||||
{ "<leader>lg", "<cmd>LazyGit<cr>", desc = "LazyGit" }
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
"iamcco/markdown-preview.nvim",
|
||||
cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
|
||||
build = "cd app && yarn install",
|
||||
init = function()
|
||||
vim.g.mkdp_filetypes = { "markdown" }
|
||||
end,
|
||||
ft = { "markdown" },
|
||||
'mrcjkb/rustaceanvim',
|
||||
version = '^6', -- Recommended
|
||||
lazy = false, -- This plugin is already lazy
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user