Compare commits

..

9 Commits

Author SHA1 Message Date
biscuit 6da85f36a9 upd 2025-05-21 17:34:04 -05:00
biscuit a03e484ca6 added MarkdownPreview 2025-05-21 17:24:33 -05:00
biscuit 30449ae49c minor ts_ls fix 2025-05-19 17:01:40 -05:00
biscuit 477caaefbb added ts_ls and nix 2025-05-19 16:59:44 -05:00
hakase 5fc3341ac4 update 2025-05-13 11:24:30 -05:00
hakase fc225ee071 stylua changes 2025-04-19 19:25:23 -05:00
hakase fc3efb7f69 added gitignore 2025-04-19 19:25:18 -05:00
hakase 562b2bc170 added treesitter default pkgs install 2025-04-19 19:25:14 -05:00
hakase 2ab8de9d71 FORMATTED 2025-04-19 19:09:27 -05:00
9 changed files with 131 additions and 310 deletions
+9
View File
@@ -0,0 +1,9 @@
**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!
+3 -40
View File
@@ -1,10 +1,10 @@
vim.g.base46_cache = vim.fn.stdpath "data" .. "/nvchad/base46/" vim.g.base46_cache = vim.fn.stdpath "data" .. "/base46/"
vim.g.mapleader = " " vim.g.mapleader = " "
-- bootstrap lazy and all plugins -- bootstrap lazy and all plugins
local lazypath = vim.fn.stdpath "data" .. "/lazy/lazy.nvim" local lazypath = vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then if not vim.uv.fs_stat(lazypath) then
local repo = "https://github.com/folke/lazy.nvim.git" local repo = "https://github.com/folke/lazy.nvim.git"
vim.fn.system { "git", "clone", "--filter=blob:none", repo, "--branch=stable", lazypath } vim.fn.system { "git", "clone", "--filter=blob:none", repo, "--branch=stable", lazypath }
end end
@@ -20,55 +20,18 @@ require("lazy").setup({
lazy = false, lazy = false,
branch = "v2.5", branch = "v2.5",
import = "nvchad.plugins", import = "nvchad.plugins",
config = function()
require "options"
end,
}, },
{ import = "plugins" }, { import = "plugins" },
}, lazy_config) }, lazy_config)
-- load plugins' setup
require("neogit").setup{}
require("gitmoji").setup({})
require("todo-comments").setup({})
require("cmp").setup({
sources = {
{ name = 'gitmoji' }
}
})
-- load theme -- load theme
dofile(vim.g.base46_cache .. "defaults") dofile(vim.g.base46_cache .. "defaults")
dofile(vim.g.base46_cache .. "statusline") dofile(vim.g.base46_cache .. "statusline")
require "options"
require "nvchad.autocmds" 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() vim.schedule(function()
require "mappings" require "mappings"
end) end)
+15 -57
View File
@@ -1,68 +1,26 @@
-- This file needs to have same structure as nvconfig.lua -- This file needs to have same structure as nvconfig.lua
-- https://github.com/NvChad/NvChad/blob/v2.5/lua/nvconfig.lua -- https://github.com/NvChad/ui/blob/v3.0/lua/nvconfig.lua
-- Please read that file to know all available options :(
---@type ChadrcConfig ---@type ChadrcConfig
local M = {} local M = {}
M.ui = { M.base46 = {
theme = "bearded-arc", theme = "ayu_dark",
transparency = true, transparency = true,
statusline = { theme_toggle = { "ayu_dark", "ayu_light" },
theme = "minimal",
},
hl_override = {
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"] = { hl_override = {
italic = false, Comment = { italic = true },
}, ["@comment"] = { italic = true },
},
}, },
} }
M.nvdash = { load_on_startup = true }
M.ui = {
tabufline = {
lazyload = false
}
}
return M return M
+2 -2
View File
@@ -1,9 +1,9 @@
local options = { local options = {
formatters_by_ft = { formatters_by_ft = {
lua = { "stylua" }, lua = { "stylua" },
python = { "black" },
css = { "prettier" }, css = { "prettier" },
html = { "prettier" }, html = { "prettier" },
nix = { "alejandra" },
}, },
-- format_on_save = { -- format_on_save = {
@@ -13,4 +13,4 @@ local options = {
-- }, -- },
} }
require("conform").setup(options) return options
-47
View File
@@ -1,47 +0,0 @@
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)
+53 -34
View File
@@ -1,52 +1,71 @@
-- EXAMPLE local nvlsp = require "nvchad.configs.lspconfig"
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" local lspconfig = require "lspconfig"
nvlsp.defaults() -- loads nvchad's defaults
local servers = { "html", "cssls", "clangd" } local servers = { "html", "cssls", "clangd" }
-- lsps with default config -- lsps with default config
for _, lsp in ipairs(servers) do for _, lsp in ipairs(servers) do
lspconfig[lsp].setup { lspconfig[lsp].setup {
on_attach = on_attach, on_attach = nvlsp.on_attach,
on_init = on_init, on_init = nvlsp.on_init,
capabilities = capabilities, capabilities = nvlsp.capabilities,
} }
end end
-- typescript
lspconfig.tsserver.setup {
on_attach = on_attach,
on_init = on_init,
capabilities = capabilities,
}
-- python
lspconfig.basedpyright.setup { lspconfig.basedpyright.setup {
on_attach = on_attach, on_attach = nvlsp.on_attach,
on_init = on_init, -- on_init = nvlsp.on_init,
capabilities = capabilities, capabilities = nvlsp.capabilities,
filetypes = { "python" },
settings = { settings = {
basedpyright = { pyright = {
typeCheckingMode = "standard", disableOrganizeImports = true,
},
python = {
analysis = {
ignore = { '*' }
},
},
},
} }
lspconfig.ruff.setup {
on_attach = nvlsp.on_attach,
-- on_init = nvlsp.on_init,
capabilities = nvlsp.capabilities,
settings = {
} }
} }
---- ruff_lsp and pyright compatibility lspconfig.rust_analyzer.setup {
local on_attach = function(client, bufnr) on_attach = nvlsp.on_attach,
if client.name == 'ruff_lsp' then -- on_init = nvlsp.on_init,
-- hover in favor of Pyright capabilities = nvlsp.capabilities,
client.server_capabilities.hoverProvider = false settings = {
end }
end
lspconfig.ruff_lsp.setup{
on_attach = on_attach,
on_init = on_init,
capabilities = capabilities,
} }
lspconfig.bashls.setup {
on_attach = nvlsp.on_attach,
-- on_init = nvlsp.on_init,
capabilities = nvlsp.capabilities,
settings = {
}
}
lspconfig.ts_ls.setup {
on_attach = nvlsp.on_attach,
-- on_init = nvlsp.on_init,
capabilities = nvlsp.capabilities,
settings = {
}
}
lspconfig.rnix.setup {
on_attach = nvlsp.on_attach,
capabilities = nvlsp.capabilities,
settings = {
}
}
+6 -3
View File
@@ -6,8 +6,11 @@ local map = vim.keymap.set
map("n", ";", ":", { desc = "CMD enter command mode" }) map("n", ";", ":", { desc = "CMD enter command mode" })
map("i", "jk", "<ESC>") map("i", "jk", "<ESC>")
map("n", "<leader>gh", ":Neogit <cr>")
map("n", "<leader>md", ":MarkdownPreviewToggle <cr>")
-- map({ "n", "i", "v" }, "<C-s>", "<cmd> w <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
View File
@@ -1,10 +1,10 @@
require "nvchad.options" require "nvchad.options"
-- add yours here! -- add yours here!
vim.opt.foldmethod = "expr"
vim.opt.foldexpr = "nvim_treesitter#foldexpr()"
-- vim.opt.spelllang = "en_us" -- Show line diagnostics automatically in hover window
-- vim.opt.spell = true -- vim.o.updatetime = 250
-- vim.cmd [[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focus=false})]]
-- local o = vim.o -- local o = vim.o
-- o.cursorlineopt ='both' -- to enable cursorline! -- o.cursorlineopt ='both' -- to enable cursorline!
+25 -109
View File
@@ -2,143 +2,59 @@ return {
{ {
"stevearc/conform.nvim", "stevearc/conform.nvim",
-- event = 'BufWritePre', -- uncomment for format on save -- event = 'BufWritePre', -- uncomment for format on save
config = function() opts = require "configs.conform",
require "configs.conform"
end,
}, },
-- These are some examples, uncomment them if you want to see them work!
{ {
"neovim/nvim-lspconfig", "neovim/nvim-lspconfig",
config = function() config = function()
require("nvchad.configs.lspconfig").defaults()
require "configs.lspconfig" require "configs.lspconfig"
end, end,
}, },
{ -- test new blink
"williamboman/mason.nvim", { import = "nvchad.blink.lazyspec" },
opts = {
ensure_installed = {
"lua-language-server",
"stylua",
"html-lsp",
"css-lsp",
"prettier",
"basedpyright",
"mypy",
"black",
"ruff-lsp",
"typescript-language-server",
"clangd",
},
},
},
{ {
"nvim-treesitter/nvim-treesitter", "nvim-treesitter/nvim-treesitter",
opts = { opts = {
ensure_installed = { ensure_installed = {
"vim", "vim", "lua", "vimdoc",
"lua", "html", "css", "python",
"vimdoc", "rust",
"html",
"css",
"python",
}, },
}, },
}, },
{ {
"NeogitOrg/neogit", "kdheepak/lazygit.nvim",
lazy = true,
cmd = {
"LazyGit",
"LazyGitConfig",
"LazyGitCurrentFile",
"LazyGitFilter",
"LazyGitFilterCurrentFile",
},
-- optional for floating window border decoration
dependencies = { dependencies = {
"nvim-lua/plenary.nvim", "nvim-lua/plenary.nvim",
"nvim-telescope/telescope.nvim",
}, },
config = true, -- 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" }
}, },
{
"kylechui/nvim-surround",
version = "*", -- Use for stability; omit to use `main` branch for the latest features
event = "VeryLazy",
config = function()
require("nvim-surround").setup {
-- Configuration here, or leave empty to use defaults
}
end,
},
{
"Dynge/gitmoji.nvim",
dependencies = {
"hrsh7th/nvim-cmp",
},
opts = {
filetypes = { "gitcommit", "NeogitCommitMessage" },
completion = {
append_space = false,
complete_as = "emoji",
},
},
ft = "gitcommit"
}, },
{ {
"iamcco/markdown-preview.nvim", "iamcco/markdown-preview.nvim",
cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" }, cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
build = "cd app && yarn install",
init = function()
vim.g.mkdp_filetypes = { "markdown" }
end,
ft = { "markdown" }, 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 = {
-- your configuration comes here
-- or leave it empty to use the default settings
-- refer to the configuration section below
}
},
} }