Initial commit
This commit is contained in:
35
lua/config/lazy.lua
Normal file
35
lua/config/lazy.lua
Normal file
@ -0,0 +1,35 @@
|
||||
-- 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.g.mapleader = " "
|
||||
vim.g.maplocalleader = "\\"
|
||||
|
||||
-- Setup lazy.nvim
|
||||
require("lazy").setup({
|
||||
spec = {
|
||||
-- import your plugins
|
||||
{ import = "plugins" },
|
||||
},
|
||||
-- Configure any other settings here. See the documentation for more details.
|
||||
-- colorscheme that will be used when installing plugins.
|
||||
install = { colorscheme = { "habamax" } },
|
||||
-- automatically check for plugin updates
|
||||
checker = { enabled = true },
|
||||
})
|
22
lua/plugins/ale.lua
Normal file
22
lua/plugins/ale.lua
Normal file
@ -0,0 +1,22 @@
|
||||
return {
|
||||
{
|
||||
"dense-analysis/ale",
|
||||
config = function()
|
||||
-- Make the Lua LS not freak out about the undefined globals
|
||||
vim.g.ale_linters = {
|
||||
lua = { 'sumneko_lua' },
|
||||
}
|
||||
|
||||
vim.g.ale_lua_sumneko_lua_executable = 'lua-language-server'
|
||||
vim.g.ale_lua_sumneko_lua_options = {
|
||||
settings = {
|
||||
Lua = {
|
||||
diagnostics = {
|
||||
globals = { 'vim', 'Snacks' },
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
end
|
||||
},
|
||||
}
|
66
lua/plugins/blink.lua
Normal file
66
lua/plugins/blink.lua
Normal file
@ -0,0 +1,66 @@
|
||||
return {
|
||||
{
|
||||
"saghen/blink.cmp",
|
||||
|
||||
-- use a release tag to download pre-built binaries
|
||||
version = "1.*",
|
||||
-- AND/OR build from source, requires nightly: https://rust-lang.github.io/rustup/concepts/channels.html#working-with-nightly-rust
|
||||
-- build = "cargo build --release",
|
||||
-- If you use nix, you can build from source using latest nightly rust with:
|
||||
-- build = "nix run .#build-plugin",
|
||||
|
||||
---@module "blink.cmp"
|
||||
---@type blink.cmp.Config
|
||||
opts = {
|
||||
-- "default" (recommended) for mappings similar to built-in completions (C-y to accept)
|
||||
-- "super-tab" for mappings similar to vscode (tab to accept)
|
||||
-- "enter" for enter to accept
|
||||
-- "none" for no mappings
|
||||
--
|
||||
-- All presets have the following mappings:
|
||||
-- C-space: Open menu or open docs if already open
|
||||
-- C-n/C-p or Up/Down: Select next/previous item
|
||||
-- C-e: Hide menu
|
||||
-- C-k: Toggle signature help (if signature.enabled = true)
|
||||
--
|
||||
-- See :h blink-cmp-config-keymap for defining your own keymap
|
||||
keymap = {
|
||||
-- set to "none" to disable the "default" preset
|
||||
preset = "none",
|
||||
|
||||
["<Up>"] = { "select_prev", "fallback" },
|
||||
["<Down>"] = { "select_next", "fallback" },
|
||||
["<Tab>"] = { "accept", "fallback" },
|
||||
|
||||
-- disable a keymap from the preset
|
||||
["<C-e>"] = {},
|
||||
|
||||
-- show with a list of providers
|
||||
["<C-space>"] = { function(cmp) cmp.show({ providers = { "snippets" } }) end },
|
||||
},
|
||||
|
||||
appearance = {
|
||||
-- "mono" (default) for "Nerd Font Mono" or "normal" for "Nerd Font"
|
||||
-- Adjusts spacing to ensure icons are aligned
|
||||
nerd_font_variant = "mono"
|
||||
},
|
||||
|
||||
-- (Default) Only show the documentation popup when manually triggered
|
||||
completion = { documentation = { auto_show = false } },
|
||||
|
||||
-- Default list of enabled providers defined so that you can extend it
|
||||
-- elsewhere in your config, without redefining it, due to `opts_extend`
|
||||
sources = {
|
||||
default = { "lsp", "path", "buffer" },
|
||||
},
|
||||
|
||||
-- (Default) Rust fuzzy matcher for typo resistance and significantly better performance
|
||||
-- You may use a lua implementation instead by using `implementation = "lua"` or fallback to the lua implementation,
|
||||
-- when the Rust fuzzy matcher is not available, by using `implementation = "prefer_rust"`
|
||||
--
|
||||
-- See the fuzzy documentation for more information
|
||||
fuzzy = { implementation = "prefer_rust_with_warning" }
|
||||
},
|
||||
opts_extend = { "sources.default" }
|
||||
}
|
||||
}
|
14
lua/plugins/conform.lua
Normal file
14
lua/plugins/conform.lua
Normal file
@ -0,0 +1,14 @@
|
||||
return {
|
||||
{
|
||||
"stevearc/conform.nvim",
|
||||
|
||||
opts = {},
|
||||
config = function()
|
||||
require("conform").setup({
|
||||
formatters_by_ft = {
|
||||
json = { "prettier" }
|
||||
}
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
19
lua/plugins/cursorline.lua
Normal file
19
lua/plugins/cursorline.lua
Normal file
@ -0,0 +1,19 @@
|
||||
return {
|
||||
{
|
||||
"ya2s/nvim-cursorline",
|
||||
config = function()
|
||||
require("nvim-cursorline").setup({
|
||||
cursorline = {
|
||||
enable = true,
|
||||
timeout = 0,
|
||||
number = false,
|
||||
},
|
||||
cursorword = {
|
||||
enable = true,
|
||||
min_length = 3,
|
||||
hl = { underline = true },
|
||||
}
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
7
lua/plugins/gruvbox.lua
Normal file
7
lua/plugins/gruvbox.lua
Normal file
@ -0,0 +1,7 @@
|
||||
return {
|
||||
{
|
||||
"ellisonleao/gruvbox.nvim",
|
||||
priority = 1000,
|
||||
config = true,
|
||||
},
|
||||
}
|
10
lua/plugins/indent.lua
Normal file
10
lua/plugins/indent.lua
Normal file
@ -0,0 +1,10 @@
|
||||
return {
|
||||
{
|
||||
"nvimdev/indentmini.nvim",
|
||||
config = function()
|
||||
require("indentmini").setup()
|
||||
|
||||
vim.cmd.highlight("IndentLine guifg=#444444") -- Set indent line color
|
||||
end
|
||||
}
|
||||
}
|
9
lua/plugins/lualine.lua
Normal file
9
lua/plugins/lualine.lua
Normal file
@ -0,0 +1,9 @@
|
||||
return {
|
||||
{
|
||||
"nvim-lualine/lualine.nvim",
|
||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||
config = function()
|
||||
require("lualine").setup()
|
||||
end,
|
||||
},
|
||||
}
|
8
lua/plugins/mason.lua
Normal file
8
lua/plugins/mason.lua
Normal file
@ -0,0 +1,8 @@
|
||||
return {
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
config = function()
|
||||
require("mason").setup()
|
||||
end,
|
||||
},
|
||||
}
|
21
lua/plugins/snacks.lua
Normal file
21
lua/plugins/snacks.lua
Normal file
@ -0,0 +1,21 @@
|
||||
return {
|
||||
{
|
||||
"folke/snacks.nvim",
|
||||
priority = 1000,
|
||||
lazy = false,
|
||||
opts = {
|
||||
bigfile = { enabled = true },
|
||||
dashboard = { enabled = true },
|
||||
explorer = { enabled = true },
|
||||
indent = { enabled = true },
|
||||
input = { enabled = true },
|
||||
picker = { enabled = true },
|
||||
notifier = { enabled = true },
|
||||
quickfile = { enabled = true },
|
||||
scope = { enabled = true },
|
||||
scroll = { enabled = true },
|
||||
statuscolumn = { enabled = true },
|
||||
words = { enabled = true },
|
||||
},
|
||||
},
|
||||
}
|
8
lua/plugins/treesitter.lua
Normal file
8
lua/plugins/treesitter.lua
Normal file
@ -0,0 +1,8 @@
|
||||
return {
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter"
|
||||
},
|
||||
{
|
||||
"windwp/nvim-ts-autotag"
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user