Initial Commit
This commit is contained in:
commit
b268e041e9
34 files changed
+1502
No files matched your search
Vendored
BIN
Binary file not shown.
@@ -0,0 +1,22 @@
|
||||
-- This file needs to have same structure as nvconfig.lua
|
||||
-- https://github.com/NvChad/ui/blob/v2.5/lua/nvconfig.lua
|
||||
|
||||
---@type ChadrcConfig
|
||||
local M = {}
|
||||
|
||||
M.base46 = {
|
||||
theme = "ayu_dark",
|
||||
|
||||
-- hl_override = {
|
||||
-- Comment = { italic = true },
|
||||
-- ["@comment"] = { italic = true },
|
||||
-- },
|
||||
}
|
||||
M.nvdash = {
|
||||
|
||||
load_on_startup = true,
|
||||
|
||||
}
|
||||
|
||||
|
||||
return M
|
||||
@@ -0,0 +1,64 @@
|
||||
local options = {
|
||||
formatters_by_ft = {
|
||||
lua = { "stylua" },
|
||||
c = { "clang-format" },
|
||||
cpp = { "clang-format" },
|
||||
-- go = { "gofumpt", "goimports-reviser", "golines" },
|
||||
-- haskell = { "fourmolu", "stylish-haskell" },
|
||||
python = { "isort", "black" },
|
||||
},
|
||||
|
||||
formatters = {
|
||||
-- C & C++
|
||||
["clang-format"] = {
|
||||
prepend_args = {
|
||||
"-style={ \
|
||||
IndentWidth: 4, \
|
||||
TabWidth: 4, \
|
||||
UseTab: Never, \
|
||||
AccessModifierOffset: 0, \
|
||||
IndentAccessModifiers: true, \
|
||||
PackConstructorInitializers: Never}",
|
||||
},
|
||||
},
|
||||
-- -- Golang
|
||||
-- ["goimports-reviser"] = {
|
||||
-- prepend_args = { "-rm-unused" },
|
||||
-- },
|
||||
-- golines = {
|
||||
-- prepend_args = { "--max-len=80" },
|
||||
-- },
|
||||
-- -- Lua
|
||||
-- stylua = {
|
||||
-- prepend_args = {
|
||||
-- "--column-width", "80",
|
||||
-- "--line-endings", "Unix",
|
||||
-- "--indent-type", "Spaces",
|
||||
-- "--indent-width", "4",
|
||||
-- "--quote-style", "AutoPreferDouble",
|
||||
-- },
|
||||
-- },
|
||||
-- Python
|
||||
black = {
|
||||
prepend_args = {
|
||||
"--fast",
|
||||
"--line-length",
|
||||
"80",
|
||||
},
|
||||
},
|
||||
isort = {
|
||||
prepend_args = {
|
||||
"--profile",
|
||||
"black",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
format_on_save = {
|
||||
-- These options will be passed to conform.format()
|
||||
timeout_ms = 500,
|
||||
lsp_fallback = true,
|
||||
},
|
||||
}
|
||||
|
||||
require("conform").setup(options)
|
||||
@@ -0,0 +1,47 @@
|
||||
return {
|
||||
defaults = { lazy = true },
|
||||
install = { colorscheme = { "nvchad" } },
|
||||
|
||||
ui = {
|
||||
icons = {
|
||||
ft = "",
|
||||
lazy = " ",
|
||||
loaded = "",
|
||||
not_loaded = "",
|
||||
},
|
||||
},
|
||||
|
||||
performance = {
|
||||
rtp = {
|
||||
disabled_plugins = {
|
||||
"2html_plugin",
|
||||
"tohtml",
|
||||
"getscript",
|
||||
"getscriptPlugin",
|
||||
"gzip",
|
||||
"logipat",
|
||||
"netrw",
|
||||
"netrwPlugin",
|
||||
"netrwSettings",
|
||||
"netrwFileHandlers",
|
||||
"matchit",
|
||||
"tar",
|
||||
"tarPlugin",
|
||||
"rrhelper",
|
||||
"spellfile_plugin",
|
||||
"vimball",
|
||||
"vimballPlugin",
|
||||
"zip",
|
||||
"zipPlugin",
|
||||
"tutor",
|
||||
"rplugin",
|
||||
"syntax",
|
||||
"synmenu",
|
||||
"optwin",
|
||||
"compiler",
|
||||
"bugreport",
|
||||
"ftplugin",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
local lint = require("lint")
|
||||
|
||||
lint.linters_by_ft = {
|
||||
lua = { "luacheck" },
|
||||
-- haskell = { "hlint" },
|
||||
python = { "flake8" },
|
||||
}
|
||||
|
||||
lint.linters.luacheck.args = {
|
||||
unpack(lint.linters.luacheck.args),
|
||||
"--globals",
|
||||
"love",
|
||||
"vim",
|
||||
}
|
||||
|
||||
vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, {
|
||||
callback = function()
|
||||
lint.try_lint()
|
||||
end,
|
||||
})
|
||||
@@ -0,0 +1,101 @@
|
||||
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")
|
||||
|
||||
-- list of all servers configured.
|
||||
lspconfig.servers = {
|
||||
"ansiblels",
|
||||
"lua_ls",
|
||||
"clangd",
|
||||
-- "gopls",
|
||||
-- "hls",
|
||||
"ols",
|
||||
"pyright",
|
||||
}
|
||||
|
||||
-- list of servers configured with default config.
|
||||
local default_servers = {
|
||||
"ols",
|
||||
"pyright",
|
||||
}
|
||||
|
||||
-- lsps with default config
|
||||
for _, lsp in ipairs(default_servers) do
|
||||
lspconfig[lsp].setup({
|
||||
on_attach = on_attach,
|
||||
on_init = on_init,
|
||||
capabilities = capabilities,
|
||||
})
|
||||
end
|
||||
|
||||
lspconfig.clangd.setup({
|
||||
on_attach = function(client, bufnr)
|
||||
client.server_capabilities.documentFormattingProvider = false
|
||||
client.server_capabilities.documentRangeFormattingProvider = false
|
||||
on_attach(client, bufnr)
|
||||
end,
|
||||
on_init = on_init,
|
||||
capabilities = capabilities,
|
||||
})
|
||||
|
||||
-- lspconfig.gopls.setup({
|
||||
-- on_attach = function(client, bufnr)
|
||||
-- client.server_capabilities.documentFormattingProvider = false
|
||||
-- client.server_capabilities.documentRangeFormattingProvider = false
|
||||
-- on_attach(client, bufnr)
|
||||
-- end,
|
||||
-- on_init = on_init,
|
||||
-- capabilities = capabilities,
|
||||
-- cmd = { "gopls" },
|
||||
-- filetypes = { "go", "gomod", "gotmpl", "gowork" },
|
||||
-- root_dir = lspconfig.util.root_pattern("go.work", "go.mod", ".git"),
|
||||
-- settings = {
|
||||
-- gopls = {
|
||||
-- analyses = {
|
||||
-- unusedparams = true,
|
||||
-- },
|
||||
-- completeUnimported = true,
|
||||
-- usePlaceholders = true,
|
||||
-- staticcheck = true,
|
||||
-- },
|
||||
-- },
|
||||
-- })
|
||||
|
||||
-- lspconfig.hls.setup({
|
||||
-- on_attach = function(client, bufnr)
|
||||
-- client.server_capabilities.documentFormattingProvider = false
|
||||
-- client.server_capabilities.documentRangeFormattingProvider = false
|
||||
-- on_attach(client, bufnr)
|
||||
-- end,
|
||||
--
|
||||
-- on_init = on_init,
|
||||
-- capabilities = capabilities,
|
||||
-- })
|
||||
|
||||
lspconfig.lua_ls.setup({
|
||||
on_attach = on_attach,
|
||||
on_init = on_init,
|
||||
capabilities = capabilities,
|
||||
|
||||
settings = {
|
||||
Lua = {
|
||||
diagnostics = {
|
||||
enable = false, -- Disable all diagnostics from lua_ls
|
||||
-- globals = { "vim" },
|
||||
},
|
||||
workspace = {
|
||||
library = {
|
||||
vim.fn.expand("$VIMRUNTIME/lua"),
|
||||
vim.fn.expand("$VIMRUNTIME/lua/vim/lsp"),
|
||||
vim.fn.stdpath("data") .. "/lazy/ui/nvchad_types",
|
||||
vim.fn.stdpath("data") .. "/lazy/lazy.nvim/lua/lazy",
|
||||
"${3rd}/love2d/library",
|
||||
},
|
||||
maxPreload = 100000,
|
||||
preloadFileSize = 10000,
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
@@ -0,0 +1,4 @@
|
||||
require("mason-conform").setup({
|
||||
-- List of formatters to ignore during install
|
||||
ignore_install = {},
|
||||
})
|
||||
@@ -0,0 +1,29 @@
|
||||
local lint = package.loaded["lint"]
|
||||
|
||||
-- List of linters to ignore during install
|
||||
local ignore_install = {}
|
||||
|
||||
-- Helper function to find if value is in table.
|
||||
local function table_contains(table, value)
|
||||
for _, v in ipairs(table) do
|
||||
if v == value then
|
||||
return true
|
||||
end
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
-- Build a list of linters to install minus the ignored list.
|
||||
local all_linters = {}
|
||||
for _, v in pairs(lint.linters_by_ft) do
|
||||
for _, linter in ipairs(v) do
|
||||
if not table_contains(ignore_install, linter) then
|
||||
table.insert(all_linters, linter)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
require("mason-nvim-lint").setup({
|
||||
ensure_installed = all_linters,
|
||||
automatic_installation = true,
|
||||
})
|
||||
@@ -0,0 +1,27 @@
|
||||
local lspconfig = package.loaded["lspconfig"]
|
||||
|
||||
-- List of servers to ignore during install
|
||||
local ignore_install = {}
|
||||
|
||||
-- Helper function to find if value is in table.
|
||||
local function table_contains(table, value)
|
||||
for _, v in ipairs(table) do
|
||||
if v == value then
|
||||
return true
|
||||
end
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
-- Build a list of lsp servers to install minus the ignored list.
|
||||
local all_servers = {}
|
||||
for _, s in ipairs(lspconfig.servers) do
|
||||
if not table_contains(ignore_install, s) then
|
||||
table.insert(all_servers, s)
|
||||
end
|
||||
end
|
||||
|
||||
require("mason-lspconfig").setup({
|
||||
ensure_installed = all_servers,
|
||||
automatic_installation = false,
|
||||
})
|
||||
@@ -0,0 +1,35 @@
|
||||
local options = {
|
||||
ensure_installed = {
|
||||
"bash",
|
||||
"c",
|
||||
"cmake",
|
||||
"cpp",
|
||||
"fish",
|
||||
-- "go",
|
||||
-- "gomod",
|
||||
-- "gosum",
|
||||
-- "gotmpl",
|
||||
-- "gowork",
|
||||
-- "haskell",
|
||||
"lua",
|
||||
"luadoc",
|
||||
"make",
|
||||
"markdown",
|
||||
"odin",
|
||||
"printf",
|
||||
"python",
|
||||
"toml",
|
||||
"vim",
|
||||
"vimdoc",
|
||||
"yaml",
|
||||
},
|
||||
|
||||
highlight = {
|
||||
enable = true,
|
||||
use_languagetree = true,
|
||||
},
|
||||
|
||||
indent = { enable = true },
|
||||
}
|
||||
|
||||
require("nvim-treesitter.configs").setup(options)
|
||||
@@ -0,0 +1,33 @@
|
||||
require("nvchad.mappings")
|
||||
|
||||
local map = vim.keymap.set
|
||||
|
||||
map("n", ";", ":", { desc = "CMD enter command mode" })
|
||||
map("i", "jk", "<ESC>")
|
||||
|
||||
-- map({ "n", "i", "v" }, "<C-s>", "<cmd> w <cr>")
|
||||
|
||||
local keymap = vim.api.nvim_set_keymap
|
||||
local opts = { noremap = true }
|
||||
|
||||
-- CMake
|
||||
keymap("", "<leader>cg", ":CMakeGenerate<cr>", {})
|
||||
keymap("", "<leader>cb", ":CMakeBuild<cr>", {})
|
||||
keymap("", "<leader>cq", ":CMakeClose<cr>", {})
|
||||
keymap("", "<leader>cc", ":CMakeClean<cr>", {})
|
||||
|
||||
keymap("", "<leader>nt", ":ToggleTerm<cr>", {})
|
||||
|
||||
function _G.set_terminal_keymaps()
|
||||
local opts = {buffer = 0}
|
||||
vim.keymap.set('t', '<esc>', [[<C-\><C-n>]], opts)
|
||||
vim.keymap.set('t', 'jk', [[<C-\><C-n>]], opts)
|
||||
vim.keymap.set('t', '<C-h>', [[<Cmd>wincmd h<CR>]], opts)
|
||||
vim.keymap.set('t', '<C-j>', [[<Cmd>wincmd j<CR>]], opts)
|
||||
vim.keymap.set('t', '<C-k>', [[<Cmd>wincmd k<CR>]], opts)
|
||||
vim.keymap.set('t', '<C-l>', [[<Cmd>wincmd l<CR>]], opts)
|
||||
vim.keymap.set('t', '<C-w>', [[<C-\><C-n><C-w>]], opts)
|
||||
end
|
||||
|
||||
-- if you only want these mappings for toggle term use term://*toggleterm#* instead
|
||||
vim.cmd('autocmd! TermOpen term://* lua set_terminal_keymaps()')
|
||||
@@ -0,0 +1,13 @@
|
||||
require("nvchad.options")
|
||||
|
||||
local o = vim.o
|
||||
|
||||
-- Indenting
|
||||
o.shiftwidth = 4
|
||||
o.tabstop = 4
|
||||
o.softtabstop = 4
|
||||
|
||||
-- o.cursorlineopt ='both' -- to enable cursorline!
|
||||
|
||||
-- set filetype for .CBL COBOL files.
|
||||
-- vim.cmd([[ au BufRead,BufNewFile *.CBL set filetype=cobol ]])
|
||||
Vendored
BIN
Binary file not shown.
@@ -0,0 +1,2 @@
|
||||
return {
|
||||
"hrsh7th/cmp-cmdline"}
|
||||
@@ -0,0 +1,3 @@
|
||||
return {
|
||||
"voldikss/vim-floaterm",
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
return {
|
||||
"rafamadriz/friendly-snippets"}
|
||||
@@ -0,0 +1,62 @@
|
||||
return {
|
||||
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
config = function()
|
||||
require("configs.treesitter")
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
config = function()
|
||||
require("nvchad.configs.lspconfig").defaults()
|
||||
require("configs.lspconfig")
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"williamboman/mason-lspconfig.nvim",
|
||||
event = "VeryLazy",
|
||||
dependencies = { "nvim-lspconfig" },
|
||||
config = function()
|
||||
require("configs.mason-lspconfig")
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"mfussenegger/nvim-lint",
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
config = function()
|
||||
require("configs.lint")
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"rshkarin/mason-nvim-lint",
|
||||
event = "VeryLazy",
|
||||
dependencies = { "nvim-lint" },
|
||||
config = function()
|
||||
require("configs.mason-lint")
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"stevearc/conform.nvim",
|
||||
event = "BufWritePre",
|
||||
config = function()
|
||||
require("configs.conform")
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"zapling/mason-conform.nvim",
|
||||
event = "VeryLazy",
|
||||
dependencies = { "conform.nvim" },
|
||||
config = function()
|
||||
require("configs.mason-conform")
|
||||
end,
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
local M = {
|
||||
"hrsh7th/nvim-cmp",
|
||||
dependencies = {
|
||||
"hrsh7th/cmp-nvim-lsp",
|
||||
"hrsh7th/cmp-nvim-lua",
|
||||
"hrsh7th/cmp-buffer",
|
||||
"hrsh7th/cmp-path",
|
||||
"hrsh7th/cmp-cmdline",
|
||||
"saadparwaiz1/cmp_luasnip",
|
||||
"L3MON4D3/LuaSnip",
|
||||
},
|
||||
}
|
||||
|
||||
M.config = function()
|
||||
local cmp = require("cmp")
|
||||
vim.opt.completeopt = { "menu", "menuone", "noselect" }
|
||||
|
||||
cmp.setup({
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
require("luasnip").lsp_expand(args.body) -- For `luasnip` users.
|
||||
end,
|
||||
},
|
||||
window = {
|
||||
completion = cmp.config.window.bordered(),
|
||||
documentation = cmp.config.window.bordered(),
|
||||
},
|
||||
mapping = cmp.mapping.preset.insert({
|
||||
["<C-b>"] = cmp.mapping.scroll_docs(-4),
|
||||
["<C-f>"] = cmp.mapping.scroll_docs(4),
|
||||
["<C-Space>"] = cmp.mapping.complete(),
|
||||
["<C-e>"] = cmp.mapping.abort(),
|
||||
["<CR>"] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
|
||||
}),
|
||||
sources = cmp.config.sources({
|
||||
{ name = "nvim_lsp" },
|
||||
{ name = "nvim_lua" },
|
||||
{ name = "luasnip" }, -- For luasnip users.
|
||||
{ name = "orgmode" },
|
||||
}, {
|
||||
{ name = "buffer" },
|
||||
{ name = "path" },
|
||||
}),
|
||||
})
|
||||
|
||||
cmp.setup.cmdline(":", {
|
||||
mapping = cmp.mapping.preset.cmdline(),
|
||||
sources = cmp.config.sources({
|
||||
{ name = "path" },
|
||||
}, {
|
||||
{ name = "cmdline" },
|
||||
}),
|
||||
})
|
||||
end
|
||||
|
||||
return M
|
||||
@@ -0,0 +1,17 @@
|
||||
return {
|
||||
"christoomey/vim-tmux-navigator",
|
||||
cmd = {
|
||||
"TmuxNavigateLeft",
|
||||
"TmuxNavigateDown",
|
||||
"TmuxNavigateUp",
|
||||
"TmuxNavigateRight",
|
||||
"TmuxNavigatePrevious",
|
||||
},
|
||||
keys = {
|
||||
{ "<c-h>", "<cmd><C-U>TmuxNavigateLeft<cr>" },
|
||||
{ "<c-j>", "<cmd><C-U>TmuxNavigateDown<cr>" },
|
||||
{ "<c-k>", "<cmd><C-U>TmuxNavigateUp<cr>" },
|
||||
{ "<c-l>", "<cmd><C-U>TmuxNavigateRight<cr>" },
|
||||
{ "<c-\\>", "<cmd><C-U>TmuxNavigatePrevious<cr>" },
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
return { "akinsho/toggleterm.nvim", version = "*" }
|
||||
@@ -0,0 +1,3 @@
|
||||
return {
|
||||
"cdelledonne/vim-cmake",
|
||||
}
|
||||
Reference in new issue
Block a user