Compare commits
19 commits
Author | SHA1 | Date | |
---|---|---|---|
|
d5faa08253 | ||
|
e9a8b28907 | ||
|
fd093da13b | ||
|
34bf5626f6 | ||
|
9c1281ef4f | ||
|
e3d3ab6680 | ||
|
ee2563cac6 | ||
|
f284d334b4 | ||
|
f21bde5866 | ||
|
aa9dd5f2d8 | ||
|
85d66ba396 | ||
|
52c14e8494 | ||
|
9af503e493 | ||
|
2c85151e73 | ||
|
039b5c7691 | ||
|
fc7c0f7100 | ||
|
f3fe8304ee | ||
|
064e07485d | ||
|
cd27e72e25 |
33 changed files with 444 additions and 278 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -1 +1 @@
|
|||
*.json
|
||||
lazy-lock.json
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
# neovim
|
||||
|
||||
neovim config
|
5
init.lua
5
init.lua
|
@ -1,2 +1,3 @@
|
|||
require("Dario48.options")
|
||||
require("Dario48.lazy")
|
||||
require("config.lazy")
|
||||
require("config.general")
|
||||
require("config.autocmd")
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
vim.fn.system({
|
||||
"git",
|
||||
"clone",
|
||||
"--filter=blob:none",
|
||||
"https://github.com/folke/lazy.nvim.git",
|
||||
"--branch=stable", -- latest stable release
|
||||
lazypath,
|
||||
})
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
require("lazy").setup({ import = "Dario48/plugins" })
|
||||
vim.keymap.set("n", "<leader>l", ":Lazy <CR>")
|
|
@ -1,23 +0,0 @@
|
|||
vim.cmd("nnoremap <Space> <Nop>")
|
||||
vim.g.mapleader = ' '
|
||||
|
||||
vim.cmd("set tabstop=4")
|
||||
vim.cmd("set softtabstop=0")
|
||||
vim.cmd("set shiftwidth=0")
|
||||
|
||||
vim.keymap.set("n", "<leader>+x", ":!chmod +x %<CR>", {silent = true})
|
||||
vim.keymap.set("n", "<leader>+r", ":!chmod +r %<CR>", {silent = true})
|
||||
vim.keymap.set("n", "<leader>+w", ":!chmod +w %<CR>", {silent = true})
|
||||
|
||||
vim.keymap.set("n", "<leader>-x", ":!chmod -x %<CR>", {silent = true})
|
||||
vim.keymap.set("n", "<leader>-r", ":!chmod -r %<CR>", {silent = true})
|
||||
vim.keymap.set("n", "<leader>-w", ":!chmod -w %<CR>", {silent = true})
|
||||
|
||||
vim.opt.nu = true
|
||||
|
||||
vim.opt.termguicolors = true
|
||||
|
||||
vim.opt.hlsearch = false
|
||||
vim.opt.incsearch = true
|
||||
|
||||
vim.opt.scrolloff = 6
|
|
@ -1,6 +0,0 @@
|
|||
return {
|
||||
'ThePrimeagen/vim-be-good',
|
||||
config = function()
|
||||
vim.keymap.set("n", "<leader>vbg", ":VimBeGood <CR>")
|
||||
end
|
||||
}
|
|
@ -1,40 +0,0 @@
|
|||
return {
|
||||
'goolord/alpha-nvim',
|
||||
config = function()
|
||||
local alpha = require("alpha")
|
||||
local dashboard = require("alpha.themes.dashboard")
|
||||
|
||||
-- Set header
|
||||
dashboard.section.header.val = {
|
||||
[[ /\\\\\ /\\\ /\\\\\\\\\\\\\\\ /\\\\\ /\\\ /\\\ /\\\\\\\\\\\ /\\\\ /\\\\ ]],
|
||||
[[ \/\\\\\\ \/\\\ \/\\\/////////// /\\\///\\\ \/\\\ \/\\\ \/////\\\/// \/\\\\\\ /\\\\\\ ]],
|
||||
[[ \/\\\/\\\ \/\\\ \/\\\ /\\\/ \///\\\ \//\\\ /\\\ \/\\\ \/\\\//\\\ /\\\//\\\ ]],
|
||||
[[ \/\\\//\\\ \/\\\ \/\\\\\\\\\\\ /\\\ \//\\\ \//\\\ /\\\ \/\\\ \/\\\\///\\\/\\\/ \/\\\ ]],
|
||||
[[ \/\\\\//\\\\/\\\ \/\\\/////// \/\\\ \/\\\ \//\\\ /\\\ \/\\\ \/\\\ \///\\\/ \/\\\ ]],
|
||||
[[ \/\\\ \//\\\/\\\ \/\\\ \//\\\ /\\\ \//\\\/\\\ \/\\\ \/\\\ \/// \/\\\ ]],
|
||||
[[ \/\\\ \//\\\\\\ \/\\\ \///\\\ /\\\ \//\\\\\ \/\\\ \/\\\ \/\\\ ]],
|
||||
[[ \/\\\ \//\\\\\ \/\\\\\\\\\\\\\\\ \///\\\\\/ \//\\\ /\\\\\\\\\\\ \/\\\ \/\\\ ]],
|
||||
[[ \/// \///// \/////////////// \///// \/// \/////////// \/// \/// ]],
|
||||
}
|
||||
|
||||
-- Set menu
|
||||
dashboard.section.buttons.val= {
|
||||
type = "group",
|
||||
val = {
|
||||
{ type = "text", val = "Quick links", opts = { hl = "SpecialComment", position = "center" } },
|
||||
{ type = "padding", val = 1 },
|
||||
dashboard.button("e", " New file", "<cmd>ene<CR>"),
|
||||
dashboard.button("u", " Update plugins", "<cmd>Lazy sync<CR>"),
|
||||
dashboard.button("q", " Quit", "<cmd>qa<CR>"),
|
||||
},
|
||||
position = "center",
|
||||
}
|
||||
-- Send config to alpha
|
||||
alpha.setup(dashboard.opts)
|
||||
|
||||
-- Disable folding on alpha buffer
|
||||
vim.cmd([[
|
||||
autocmd FileType alpha setlocal nofoldenable
|
||||
]])
|
||||
end
|
||||
};
|
|
@ -1,11 +0,0 @@
|
|||
return {
|
||||
'akinsho/bufferline.nvim',
|
||||
version = "*",
|
||||
dependencies = 'nvim-tree/nvim-web-devicons',
|
||||
config = function()
|
||||
require("bufferline").setup()
|
||||
vim.keymap.set("n", "<leader>bb", ":bNext <CR>")
|
||||
vim.keymap.set("n", "<leader>bk", ":bdelete <CR>")
|
||||
vim.keymap.set("n", "<leader>bl", ":blast <CR>")
|
||||
end
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
[[__/\\\\\_____/\\\__/\\\\\\\\\\\\\\\_______/\\\\\_______/\\\________/\\\__/\\\\\\\\\\\__/\\\\____________/\\\\_________]],
|
||||
[[__\/\\\\\\___\/\\\_\/\\\///////////______/\\\///\\\____\/\\\_______\/\\\_\/////\\\///__\/\\\\\\________/\\\\\\________]],
|
||||
[[___\/\\\/\\\__\/\\\_\/\\\_______________/\\\/__\///\\\__\//\\\______/\\\______\/\\\_____\/\\\//\\\____/\\\//\\\_______]],
|
||||
[[____\/\\\//\\\_\/\\\_\/\\\\\\\\\\\______/\\\______\//\\\__\//\\\____/\\\_______\/\\\_____\/\\\\///\\\/\\\/_\/\\\______]],
|
||||
[[_____\/\\\\//\\\\/\\\_\/\\\///////______\/\\\_______\/\\\___\//\\\__/\\\________\/\\\_____\/\\\__\///\\\/___\/\\\_____]],
|
||||
[[______\/\\\_\//\\\/\\\_\/\\\_____________\//\\\______/\\\_____\//\\\/\\\_________\/\\\_____\/\\\____\///_____\/\\\____]],
|
||||
[[_______\/\\\__\//\\\\\\_\/\\\______________\///\\\__/\\\________\//\\\\\__________\/\\\_____\/\\\_____________\/\\\___]],
|
||||
[[________\/\\\___\//\\\\\_\/\\\\\\\\\\\\\\\____\///\\\\\/__________\//\\\________/\\\\\\\\\\\_\/\\\_____________\/\\\__]],
|
||||
[[_________\///_____\/////__\///////////////_______\/////_____________\///________\///////////__\///______________\///__]],
|
|
@ -1,10 +0,0 @@
|
|||
return {
|
||||
'freddiehaddad/feline.nvim',
|
||||
dependencies = {
|
||||
'nvim-tree/nvim-web-devicons',
|
||||
'lewis6991/gitsigns.nvim',
|
||||
},
|
||||
config = function()
|
||||
require('feline').setup()
|
||||
end
|
||||
}
|
|
@ -1,91 +0,0 @@
|
|||
return {
|
||||
{
|
||||
'VonHeikemen/lsp-zero.nvim',
|
||||
branch = 'v3.x',
|
||||
lazy = true,
|
||||
config = false,
|
||||
init = function()
|
||||
-- Disable automatic setup, we are doing it manually
|
||||
vim.g.lsp_zero_extend_cmp = 0
|
||||
vim.g.lsp_zero_extend_lspconfig = 0
|
||||
end,
|
||||
},
|
||||
{
|
||||
'williamboman/mason.nvim',
|
||||
lazy = false,
|
||||
config = function ()
|
||||
require("mason").setup()
|
||||
vim.keymap.set("n", "<leader>m", ":Mason <CR>")
|
||||
end
|
||||
},
|
||||
|
||||
-- Autocompletion
|
||||
{
|
||||
'hrsh7th/nvim-cmp',
|
||||
event = 'InsertEnter',
|
||||
dependencies = {
|
||||
{'L3MON4D3/LuaSnip'},
|
||||
},
|
||||
config = function()
|
||||
-- Here is where you configure the autocompletion settings.
|
||||
local lsp_zero = require('lsp-zero')
|
||||
lsp_zero.extend_cmp()
|
||||
|
||||
-- And you can configure cmp even more, if you want to.
|
||||
local cmp = require('cmp')
|
||||
local cmp_action = lsp_zero.cmp_action()
|
||||
|
||||
cmp.setup({
|
||||
sources = {
|
||||
{name = 'nvim_lsp'},
|
||||
{name = 'nvim_lua'},
|
||||
},
|
||||
formatting = lsp_zero.cmp_format(),
|
||||
mapping = cmp.mapping.preset.insert({
|
||||
['<C-Space>'] = cmp.mapping.complete(),
|
||||
[' '] = cmp.mapping.confirm({select = true}),
|
||||
['<C-u>'] = cmp.mapping.scroll_docs(-4),
|
||||
['<C-d>'] = cmp.mapping.scroll_docs(4),
|
||||
['<C-f>'] = cmp_action.luasnip_jump_forward(),
|
||||
['<C-b>'] = cmp_action.luasnip_jump_backward(),
|
||||
})
|
||||
})
|
||||
end
|
||||
},
|
||||
|
||||
-- LSP
|
||||
{
|
||||
'neovim/nvim-lspconfig',
|
||||
cmd = {'LspInfo', 'LspInstall', 'LspStart'},
|
||||
event = {'BufReadPre', 'BufNewFile'},
|
||||
dependencies = {
|
||||
{'hrsh7th/cmp-nvim-lsp'},
|
||||
{'williamboman/mason-lspconfig.nvim'},
|
||||
},
|
||||
config = function()
|
||||
-- This is where all the LSP shenanigans will live
|
||||
local lsp_zero = require('lsp-zero')
|
||||
lsp_zero.extend_lspconfig()
|
||||
|
||||
lsp_zero.on_attach(function(client, bufnr)
|
||||
-- see :help lsp-zero-keybindings
|
||||
-- to learn the available actions
|
||||
vim.keymap.set("n", "gd", function () vim.lsp.buf.definition() end, {buffer = bufnr, remap = false})
|
||||
vim.keymap.set("n", "<leader>ca", function () vim.lsp.buf.code_action() end, {buffer = bufnr, remap = false})
|
||||
lsp_zero.default_keymaps({buffer = bufnr})
|
||||
end)
|
||||
|
||||
require('mason-lspconfig').setup({
|
||||
ensure_installed = {},
|
||||
handlers = {
|
||||
lsp_zero.default_setup,
|
||||
lua_ls = function()
|
||||
-- (Optional) Configure lua language server for neovim
|
||||
local lua_opts = lsp_zero.nvim_lua_ls()
|
||||
require('lspconfig').lua_ls.setup(lua_opts)
|
||||
end,
|
||||
}
|
||||
})
|
||||
end
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
return {
|
||||
"EdenEast/nightfox.nvim",
|
||||
priority = 1000,
|
||||
config = function()
|
||||
vim.opt.termguicolors = true
|
||||
vim.cmd("colorscheme carbonfox")
|
||||
end
|
||||
}
|
|
@ -1,22 +0,0 @@
|
|||
return {
|
||||
"nvim-tree/nvim-tree.lua",
|
||||
dependencies = {'nvim-tree/nvim-web-devicons'},
|
||||
config = function()
|
||||
-- disable netrw at the very start of your init.lua
|
||||
vim.g.loaded_netrw = 1
|
||||
vim.g.loaded_netrwPlugin = 1
|
||||
|
||||
-- set termguicolors to enable highlight groups
|
||||
vim.opt.termguicolors = true
|
||||
|
||||
-- empty setup using defaults
|
||||
require("nvim-tree").setup()
|
||||
local focus = function()
|
||||
vim.cmd("NvimTreeClose")
|
||||
vim.cmd("NvimTreeOpen")
|
||||
end
|
||||
vim.cmd([[command! NvimTreeFocus lua require("nvim-tree").focus() ]])
|
||||
vim.keymap.set("n", "<leader>ee", ":NvimTreeToggle <CR>")
|
||||
vim.keymap.set("n", "<leader>ef", ":NvimTreeFocus <CR>")
|
||||
end
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
return {
|
||||
'nvim-telescope/telescope.nvim',
|
||||
dependencies = { 'nvim-lua/plenary.nvim', "sharkdp/fd", "nvim-tree/nvim-web-devicons" },
|
||||
config = function()
|
||||
local builtin = require('telescope.builtin')
|
||||
vim.keymap.set('n', '<leader>ff', builtin.find_files, {})
|
||||
vim.keymap.set('n', '<leader>fg', builtin.git_files, {})
|
||||
vim.keymap.set('n', '<leader>fs', function()
|
||||
builtin.grep_string({search = vim.fn.input("What to grep? ")})
|
||||
end)
|
||||
end
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
return {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
build = function()
|
||||
require("nvim-treesitter.install").update({ with_sync = true })()
|
||||
end,
|
||||
config = function ()
|
||||
local configs = require("nvim-treesitter.configs")
|
||||
|
||||
configs.setup({
|
||||
ensure_installed = { "c", "lua", "vim", "vimdoc", "query" },
|
||||
sync_install = false,
|
||||
auto_install = true,
|
||||
highlight = { enable = true, additional_vim_regex_highlighting = false },
|
||||
indent = { enable = true },
|
||||
})
|
||||
end
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
return {
|
||||
"folke/which-key.nvim",
|
||||
event = "VeryLazy",
|
||||
init = function()
|
||||
vim.o.timeout = true
|
||||
vim.o.timeoutlen = 300
|
||||
end,
|
||||
opts = {}
|
||||
}
|
0
lua/config/autocmd.lua
Normal file
0
lua/config/autocmd.lua
Normal file
27
lua/config/general.lua
Normal file
27
lua/config/general.lua
Normal file
|
@ -0,0 +1,27 @@
|
|||
vim.opt.tabstop = 4
|
||||
vim.opt.softtabstop = 0
|
||||
vim.opt.shiftwidth = 0
|
||||
vim.opt.shell = "/bin/bash"
|
||||
vim.cmd("set wrap smoothscroll")
|
||||
|
||||
vim.opt.rnu = true
|
||||
vim.opt.nu = true
|
||||
|
||||
vim.cmd([[set listchars=eol:$,tab:>-,trail:~,extends:>,precedes:<,space:•]])
|
||||
vim.keymap.set("n", "<leader>hc", ":set list!<CR>", { silent = true })
|
||||
|
||||
vim.keymap.set("n", ".", ":", {})
|
||||
|
||||
vim.keymap.set("i", "jk", "", {})
|
||||
|
||||
vim.opt.termguicolors = true
|
||||
|
||||
vim.opt.hlsearch = false
|
||||
vim.opt.incsearch = true
|
||||
|
||||
vim.opt.scrolloff = 6
|
||||
|
||||
vim.cmd("nnoremap j gj")
|
||||
vim.cmd("nnoremap k gk")
|
||||
|
||||
vim.g.zig_fmt_parse_errors = 0
|
28
lua/config/lazy.lua
Normal file
28
lua/config/lazy.lua
Normal file
|
@ -0,0 +1,28 @@
|
|||
-- Bootstrap lazy.nvim
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
||||
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
||||
if vim.v.shell_error ~= 0 then
|
||||
vim.api.nvim_echo({
|
||||
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
||||
{ out, "WarningMsg" },
|
||||
{ "\nPress any key to exit..." },
|
||||
}, true, {})
|
||||
vim.fn.getchar()
|
||||
os.exit(1)
|
||||
end
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
-- Make sure to setup `mapleader` and `maplocalleader` before
|
||||
-- loading lazy.nvim so that mappings are correct.
|
||||
-- This is also a good place to setup other settings (vim.opt)
|
||||
vim.cmd("nnoremap <Space> <Nop>")
|
||||
vim.g.mapleader = " "
|
||||
vim.g.maplocalleader = ","
|
||||
|
||||
vim.keymap.set("n", "<leader>l", function() require"lazy".home() end, { silent = true, desc = "open lazy.nvim"})
|
||||
|
||||
-- Setup lazy.nvim
|
||||
require("lazy").setup("plugins")
|
50
lua/plugins/conformer.lua
Normal file
50
lua/plugins/conformer.lua
Normal file
|
@ -0,0 +1,50 @@
|
|||
return {
|
||||
"stevearc/conform.nvim",
|
||||
event = { "BufWritePre" },
|
||||
cmd = { "ConformInfo" },
|
||||
init = function()
|
||||
require "conform".setup(
|
||||
{
|
||||
format_on_save = function(bufnr)
|
||||
require("conform").formatters_by_ft = require "mason-bridge".get_formatters()
|
||||
return { timeout_ms = 200, lsp_fallback = true }, on_format
|
||||
end,
|
||||
formatters_by_ft = require("mason-bridge").get_formatters(), --[[ = {
|
||||
lua = { "stylua" },
|
||||
javascript = { "prettier" },
|
||||
html = { "prettier" },
|
||||
css = { "prettier" },
|
||||
c = { "clang-format" },
|
||||
cpp = { "clang-format" },
|
||||
arduino = { "clang-format" },
|
||||
sh = { "shfmt" },
|
||||
bash = { "shfmt" },
|
||||
mksh = { "shfmt" },
|
||||
json = { "jq" },
|
||||
}, ]] --
|
||||
|
||||
-- This will provide type hinting with LuaLS
|
||||
---@module "conform"
|
||||
---@type conform.setupOpts
|
||||
formatters = {
|
||||
prettier = {
|
||||
prepend_args = { "--use-tabs", "true" },
|
||||
},
|
||||
jq = {
|
||||
prepend_args = { "--tab" },
|
||||
},
|
||||
["clang-format"] = {
|
||||
prepend_args = function(self, ctx)
|
||||
return { "-style=file:/home/Dario48/.config/.clang-format" }
|
||||
end,
|
||||
},
|
||||
default_format_opts = {
|
||||
lsp_format = "fallback",
|
||||
},
|
||||
},
|
||||
})
|
||||
-- If you want the formatexpr, here is the place to set it
|
||||
vim.o.formatexpr = "v:lua.require'conform'.formatexpr()"
|
||||
vim.g.arduino_recommended_style = 0
|
||||
end,
|
||||
}
|
4
lua/plugins/darioline.lua
Normal file
4
lua/plugins/darioline.lua
Normal file
|
@ -0,0 +1,4 @@
|
|||
return {
|
||||
url = "https://codeberg.org/Dario48/darioline.git",
|
||||
config = true
|
||||
}
|
4
lua/plugins/image.lua
Normal file
4
lua/plugins/image.lua
Normal file
|
@ -0,0 +1,4 @@
|
|||
return {
|
||||
"3rd/image.nvim",
|
||||
opts = {},
|
||||
}
|
59
lua/plugins/lspconfig.lua
Normal file
59
lua/plugins/lspconfig.lua
Normal file
|
@ -0,0 +1,59 @@
|
|||
return {
|
||||
"neovim/nvim-lspconfig",
|
||||
dependencies = {
|
||||
{ "hrsh7th/cmp-nvim-lsp" },
|
||||
{ "hrsh7th/nvim-cmp" },
|
||||
},
|
||||
config = function()
|
||||
-- Reserve a space in the gutter
|
||||
-- This will avoid an annoying layout shift in the screen
|
||||
vim.opt.signcolumn = "yes"
|
||||
|
||||
-- Add cmp_nvim_lsp capabilities settings to lspconfig
|
||||
-- This should be executed before you configure any language server
|
||||
local lspconfig_defaults = require("lspconfig").util.default_config
|
||||
lspconfig_defaults.capabilities = vim.tbl_deep_extend(
|
||||
"force",
|
||||
lspconfig_defaults.capabilities,
|
||||
require("cmp_nvim_lsp").default_capabilities()
|
||||
)
|
||||
|
||||
vim.api.nvim_create_autocmd("LspAttach", {
|
||||
desc = "LSP actions",
|
||||
callback = function(event)
|
||||
local opts = { buffer = event.buf }
|
||||
|
||||
vim.keymap.set("n", "K", function()
|
||||
vim.lsp.buf.hover()
|
||||
end, opts)
|
||||
vim.keymap.set("n", "gd", function()
|
||||
vim.lsp.buf.definition()
|
||||
end, opts)
|
||||
vim.keymap.set("n", "gD", function()
|
||||
vim.lsp.buf.declaration()
|
||||
end, opts)
|
||||
vim.keymap.set("n", "gi", function()
|
||||
vim.lsp.buf.implementation()
|
||||
end, opts)
|
||||
vim.keymap.set("n", "go", function()
|
||||
vim.lsp.buf.type_definition()
|
||||
end, opts)
|
||||
vim.keymap.set("n", "gr", function()
|
||||
vim.lsp.buf.references()
|
||||
end, opts)
|
||||
vim.keymap.set("n", "gs", function()
|
||||
vim.lsp.buf.signature_help()
|
||||
end, opts)
|
||||
vim.keymap.set("n", "<F2>", function()
|
||||
vim.lsp.buf.rename()
|
||||
end, opts)
|
||||
vim.keymap.set({ "n", "x" }, "<F3>", function()
|
||||
vim.lsp.buf.format({ async = true })
|
||||
end, opts)
|
||||
vim.keymap.set("n", "<leader>f", function()
|
||||
vim.lsp.buf.code_action()
|
||||
end, opts)
|
||||
end,
|
||||
})
|
||||
end,
|
||||
}
|
63
lua/plugins/mason.lua
Normal file
63
lua/plugins/mason.lua
Normal file
|
@ -0,0 +1,63 @@
|
|||
return {
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
|
||||
dependencies = { "williamboman/mason-lspconfig.nvim" },
|
||||
|
||||
keys = {
|
||||
{ "<leader>m", ":Mason <CR>", desc = "open mason" },
|
||||
},
|
||||
config = true,
|
||||
},
|
||||
{
|
||||
"williamboman/mason-lspconfig.nvim",
|
||||
opts = {
|
||||
-- Replace the language servers listed here
|
||||
-- with the ones you want to install
|
||||
ensure_installed = { "lua_ls", "clangd", "hyprls", "lua_ls" },
|
||||
handlers = {
|
||||
function(server_name)
|
||||
require("lspconfig")[server_name].setup({
|
||||
})
|
||||
end,
|
||||
|
||||
["lua_ls"] = function()
|
||||
require 'lspconfig'.lua_ls.setup {
|
||||
on_init = function(client)
|
||||
local path = client.workspace_folders[1].name
|
||||
if vim.loop.fs_stat(path .. '/.luarc.json') or vim.loop.fs_stat(path .. '/.luarc.jsonc') then
|
||||
return
|
||||
end
|
||||
|
||||
client.config.settings.Lua = vim.tbl_deep_extend('force', client.config.settings.Lua, {
|
||||
runtime = {
|
||||
-- Tell the language server which version of Lua you're using
|
||||
-- (most likely LuaJIT in the case of Neovim)
|
||||
version = 'LuaJIT'
|
||||
},
|
||||
-- Make the server aware of Neovim runtime files
|
||||
workspace = {
|
||||
checkThirdParty = false,
|
||||
library = {
|
||||
vim.env.VIMRUNTIME
|
||||
-- Depending on the usage, you might want to add additional paths here.
|
||||
-- "${3rd}/luv/library"
|
||||
-- "${3rd}/busted/library",
|
||||
}
|
||||
-- or pull in all of 'runtimepath'. NOTE: this is a lot slower
|
||||
-- library = vim.api.nvim_get_runtime_file("", true)
|
||||
}
|
||||
})
|
||||
end,
|
||||
settings = {
|
||||
Lua = {}
|
||||
}
|
||||
}
|
||||
end
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"frostplexx/mason-bridge.nvim",
|
||||
},
|
||||
}
|
37
lua/plugins/neorg.lua
Normal file
37
lua/plugins/neorg.lua
Normal file
|
@ -0,0 +1,37 @@
|
|||
return {
|
||||
"nvim-neorg/neorg",
|
||||
lazy = true, -- Disable lazy loading as some `lazy.nvim` distributions set `lazy = true` by default
|
||||
dependencies = {
|
||||
{
|
||||
"juniorsundar/neorg-extras",
|
||||
-- tag = "v0.3.1" -- Always a safe bet to track current latest release
|
||||
},
|
||||
"nvim-telescope/telescope.nvim", -- Required for the Neorg-Roam features
|
||||
"nvim-lua/plenary.nvim", -- Required as part of Telescope installation
|
||||
},
|
||||
opts = {
|
||||
load = {
|
||||
["external.many-mans"] = {
|
||||
config = {
|
||||
metadata_fold = true, -- If want @data property ... @end to fold
|
||||
code_fold = true, -- If want @code ... @end to fold
|
||||
}
|
||||
},
|
||||
["core.defaults"] = {},
|
||||
["core.concealer"] = { config = { folds = false } },
|
||||
["core.dirman"] = {
|
||||
config = {
|
||||
workspaces = {
|
||||
school = "~/Documents/school",
|
||||
notes = "~/Documents/notes",
|
||||
},
|
||||
default_workspace = "notes",
|
||||
},
|
||||
},
|
||||
["core.completion"] = { config = { engine = "nvim-cmp" } },
|
||||
},
|
||||
},
|
||||
ft = "norg",
|
||||
cmd = "Neorg",
|
||||
config = true,
|
||||
}
|
6
lua/plugins/nightfox.lua
Normal file
6
lua/plugins/nightfox.lua
Normal file
|
@ -0,0 +1,6 @@
|
|||
return {
|
||||
"EdenEast/nightfox.nvim",
|
||||
init = function()
|
||||
vim.cmd("colorscheme carbonfox")
|
||||
end
|
||||
}
|
59
lua/plugins/nvim-cmp.lua
Normal file
59
lua/plugins/nvim-cmp.lua
Normal file
|
@ -0,0 +1,59 @@
|
|||
return {
|
||||
"hrsh7th/nvim-cmp",
|
||||
dependencies = {
|
||||
"hrsh7th/cmp-nvim-lsp",
|
||||
"hrsh7th/cmp-path",
|
||||
"hrsh7th/cmp-cmdline",
|
||||
"hrsh7th/cmp-nvim-lua",
|
||||
"neovim/nvim-lspconfig",
|
||||
"mtoohey31/cmp-fish",
|
||||
"petertriho/cmp-git",
|
||||
},
|
||||
config = function()
|
||||
local cmp = require("cmp")
|
||||
|
||||
cmp.setup({
|
||||
sources = {
|
||||
{ name = "nvim_lua" },
|
||||
{
|
||||
name = "nvim_lsp",
|
||||
entry_filter = function(entry, ctx)
|
||||
local kind = require("cmp.types").lsp.CompletionItemKind[entry:get_kind()]
|
||||
|
||||
if kind == "Text" then
|
||||
return false
|
||||
end
|
||||
return true
|
||||
end,
|
||||
},
|
||||
{ name = "neorg" },
|
||||
{ name = "fish" },
|
||||
},
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
-- You need Neovim v0.10 to use vim.snippet
|
||||
vim.snippet.expand(args.body)
|
||||
end,
|
||||
},
|
||||
cmp.setup.filetype("gitcommit", {
|
||||
sources = cmp.config.sources({
|
||||
{ name = "git" },
|
||||
}, {
|
||||
{ name = "buffer" },
|
||||
}),
|
||||
}),
|
||||
require("cmp_git").setup(),
|
||||
|
||||
window = {
|
||||
completion = cmp.config.window.bordered(),
|
||||
documentation = cmp.config.window.bordered(),
|
||||
},
|
||||
mapping = cmp.mapping.preset.insert({
|
||||
["<C-Space>"] = cmp.mapping.complete(),
|
||||
["<S-NL>"] = cmp.mapping.scroll_docs(-4),
|
||||
["<C-S-K>"] = cmp.mapping.scroll_docs(-4),
|
||||
[" "] = cmp.mapping.confirm(),
|
||||
}),
|
||||
})
|
||||
end,
|
||||
}
|
19
lua/plugins/nvim-lint.lua
Normal file
19
lua/plugins/nvim-lint.lua
Normal file
|
@ -0,0 +1,19 @@
|
|||
return {
|
||||
"mfussenegger/nvim-lint",
|
||||
init = function()
|
||||
vim.api.nvim_create_autocmd({ "BufWritePost" }, {
|
||||
callback = function()
|
||||
require "lint".try_lint()
|
||||
end,
|
||||
})
|
||||
|
||||
vim.diagnostic.config({
|
||||
signs = true,
|
||||
underline = true,
|
||||
update_in_insert = false,
|
||||
virtual_text = true,
|
||||
})
|
||||
|
||||
require("lint").linters_by_ft = require("mason-bridge").get_linters()
|
||||
end
|
||||
}
|
33
lua/plugins/rainbow_parentheses.lua
Normal file
33
lua/plugins/rainbow_parentheses.lua
Normal file
|
@ -0,0 +1,33 @@
|
|||
return {
|
||||
"HiPhish/rainbow-delimiters.nvim",
|
||||
lazy = false,
|
||||
init = function()
|
||||
-- This module contains a number of default definitions
|
||||
local rainbow_delimiters = require("rainbow-delimiters")
|
||||
|
||||
---@type rainbow_delimiters.config
|
||||
vim.g.rainbow_delimiters = {
|
||||
strategy = {
|
||||
[""] = rainbow_delimiters.strategy["global"],
|
||||
vim = rainbow_delimiters.strategy["local"],
|
||||
},
|
||||
query = {
|
||||
[""] = "rainbow-delimiters",
|
||||
lua = "rainbow-blocks",
|
||||
},
|
||||
priority = {
|
||||
[""] = 110,
|
||||
lua = 210,
|
||||
},
|
||||
highlight = {
|
||||
"RainbowDelimiterViolet",
|
||||
"RainbowDelimiterBlue",
|
||||
"RainbowDelimiterOrange",
|
||||
"RainbowDelimiterYellow",
|
||||
"RainbowDelimiterRed",
|
||||
"RainbowDelimiterGreen",
|
||||
"RainbowDelimiterCyan",
|
||||
},
|
||||
}
|
||||
end,
|
||||
}
|
3
lua/plugins/suda.lua
Normal file
3
lua/plugins/suda.lua
Normal file
|
@ -0,0 +1,3 @@
|
|||
return {
|
||||
"lambdalisue/vim-suda",
|
||||
}
|
39
lua/plugins/treesitter.lua
Normal file
39
lua/plugins/treesitter.lua
Normal file
|
@ -0,0 +1,39 @@
|
|||
return {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = {
|
||||
-- A list of parser names, or "all" (the listed parsers MUST always be installed)
|
||||
ensure_installed = { "c", "lua", "norg"},
|
||||
|
||||
-- Install parsers synchronously (only applied to `ensure_installed`)
|
||||
sync_install = true,
|
||||
|
||||
-- Automatically install missing parsers when entering buffer
|
||||
-- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally
|
||||
auto_install = true,
|
||||
|
||||
-- List of parsers to ignore installing (or "all")
|
||||
|
||||
---- If you need to change the installation directory of the parsers (see -> Advanced Setup)
|
||||
-- parser_install_dir = "/some/path/to/store/parsers", -- Remember to run vim.opt.runtimepath:append("/some/path/to/store/parsers")!
|
||||
|
||||
highlight = {
|
||||
enable = true,
|
||||
|
||||
-- NOTE: these are the names of the parsers and not the filetype. (for example if you want to
|
||||
-- disable highlighting for the `tex` filetype, you need to include `latex` in this list as this is
|
||||
-- the name of the parser)
|
||||
-- list of language that will be disabled
|
||||
-- Or use a function for more flexibility, e.g. to disable slow treesitter highlight for large files
|
||||
-- Setting this to true will run `:h syntax` and tree-sitter at the same time.
|
||||
-- Set this to `true` if you depend on 'syntax' being enabled (like for indentation).
|
||||
-- Using this option may slow down your editor, and you may see some duplicate highlights.
|
||||
-- Instead of true it can also be a list of languages
|
||||
additional_vim_regex_highlighting = false,
|
||||
},
|
||||
indent = {
|
||||
enable = true,
|
||||
disable = {"norg"}
|
||||
},
|
||||
},
|
||||
config = true,
|
||||
}
|
5
lua/plugins/vim-jukit.lua
Normal file
5
lua/plugins/vim-jukit.lua
Normal file
|
@ -0,0 +1,5 @@
|
|||
return {
|
||||
"luk400/vim-jukit",
|
||||
lazu = true,
|
||||
ft = "ipynb",
|
||||
}
|
4
lua/plugins/which-key.lua
Normal file
4
lua/plugins/which-key.lua
Normal file
|
@ -0,0 +1,4 @@
|
|||
return {
|
||||
"folke/which-key.nvim",
|
||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue