This commit is contained in:
dedal.qq 2024-11-19 00:30:27 +03:00
parent 4bc4118cb8
commit 6a2c2ddc61
13 changed files with 165 additions and 156 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
lazy-lock.json

View File

@ -1,4 +1,3 @@
require("config.lazy")
require("config.options")
require("config.keymaping")

View File

@ -1,8 +1,11 @@
local map = vim.keymap.set
-- neo-tree
map("n", "<leader>e", ":Neotree<CR>", { desc = "nvimtree focus window" })
-- telescope
map("n", "<leader>ff", "<cmd>Telescope live_grep<CR>", { desc = "telescope live grep" })
map("n", "<leader>gr", "<cmd>Telescope lsp_references<CR>", { desc = "telescope lsp references" })
map("n", "<leader>ff", ":Telescope live_grep<CR>", { desc = "telescope live grep" })
map("n", "<leader>gr", ":Telescope lsp_references<cr>", { desc = "telescope lsp references" })
map("n", "<tab>", ":BufferNext<CR>", { desc = "Next tab" })
map("n", "<S-tab>", ":BufferPrevious<CR>", { desc = "Previous tab" })

View File

@ -1,17 +1,17 @@
-- 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
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)
@ -23,13 +23,13 @@ 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 },
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 },
})

View File

@ -4,6 +4,8 @@ local g = vim.g
g.mapleader = " "
opt.tabstop = 4
o.laststatus = 3
o.showmode = false

View File

@ -12,6 +12,11 @@ return {
opts = {
-- lazy.nvim will automatically call setup for you. put your options here, anything missing will use the default:
animation = true,
gitsigns = {
added = { enabled = true, icon = "+" },
changed = { enabled = true, icon = "~" },
deleted = { enabled = true, icon = "-" },
},
insert_at_start = true,
auto_hide = true,
sidebar_filetypes = {

View File

@ -1,3 +1,5 @@
local api = vim.api
return {
"stevearc/conform.nvim",
--opts = {},
@ -8,7 +10,7 @@ return {
},
})
vim.api.nvim_create_autocmd("BufWritePre", {
api.nvim_create_autocmd("BufWritePre", {
pattern = "*",
callback = function(args)
require("conform").format({ bufnr = args.buf })

View File

@ -1,50 +1,47 @@
return {
-- Main LSP Configuration
'neovim/nvim-lspconfig',
-- Main LSP Configuration
"neovim/nvim-lspconfig",
dependencies = {
-- Automatically install LSPs and related tools to stdpath for Neovim
{
'williamboman/mason.nvim', config = true,
}, -- NOTE: Must be loaded before dependants
'williamboman/mason-lspconfig.nvim',
--'WhoIsSethDaniel/mason-tool-installer.nvim',
--{ 'j-hui/fidget.nvim', opts = {} },
'hrsh7th/cmp-nvim-lsp',
},
dependencies = {
-- Automatically install LSPs and related tools to stdpath for Neovim
{
"williamboman/mason.nvim",
config = true,
}, -- NOTE: Must be loaded before dependants
"williamboman/mason-lspconfig.nvim",
--'WhoIsSethDaniel/mason-tool-installer.nvim',
--{ 'j-hui/fidget.nvim', opts = {} },
"hrsh7th/cmp-nvim-lsp",
},
config = function()
--local capabilities = vim.lsp.protocol.make_client_capabilities()
--capabilities = vim.tbl_deep_extend('force', capabilities, require('cmp_nvim_lsp').default_capabilities())
config = function()
--local capabilities = vim.lsp.protocol.make_client_capabilities()
--capabilities = vim.tbl_deep_extend('force', capabilities, require('cmp_nvim_lsp').default_capabilities())
local servers = {
gopls = {},
}
local servers = {
gopls = {},
}
require('mason').setup()
require("mason").setup()
--local ensure_installed = vim.tbl_keys(servers or {})
--vim.list_extend(ensure_installed, {
-- 'stylua', -- Used to format Lua code
--})
--local ensure_installed = vim.tbl_keys(servers or {})
--vim.list_extend(ensure_installed, {
-- 'stylua', -- Used to format Lua code
--})
--require('mason-tool-installer').setup { ensure_installed = ensure_installed }
--require('mason-tool-installer').setup { ensure_installed = ensure_installed }
require('mason-lspconfig').setup {
handlers = {
function(server_name)
require("mason-lspconfig").setup({
handlers = {
function(server_name)
local capabilities = require("cmp_nvim_lsp").default_capabilities()
local capabilities = require('cmp_nvim_lsp').default_capabilities()
local server = servers[server_name] or {}
server.capabilities = capabilities
-- server.capabilities = vim.tbl_deep_extend('force', {}, capabilities, server.capabilities or {})
require('lspconfig')[server_name].setup(server)
end,
},
}
end,
local server = servers[server_name] or {}
server.capabilities = capabilities
-- server.capabilities = vim.tbl_deep_extend('force', {}, capabilities, server.capabilities or {})
require("lspconfig")[server_name].setup(server)
end,
},
})
end,
}

View File

@ -1,7 +1,7 @@
return {
'nvim-lualine/lualine.nvim',
dependencies = { 'nvim-tree/nvim-web-devicons' },
config = function()
require('lualine').setup()
end
"nvim-lualine/lualine.nvim",
dependencies = { "nvim-tree/nvim-web-devicons" },
config = function()
require("lualine").setup()
end,
}

View File

@ -1,10 +1,10 @@
return {
"nvim-neo-tree/neo-tree.nvim",
branch = "v3.x",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-tree/nvim-web-devicons", -- not strictly required, but recommended
"MunifTanjim/nui.nvim",
-- "3rd/image.nvim", -- Optional image support in preview window: See `# Preview Mode` for more information
}
"nvim-neo-tree/neo-tree.nvim",
branch = "v3.x",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-tree/nvim-web-devicons", -- not strictly required, but recommended
"MunifTanjim/nui.nvim",
-- "3rd/image.nvim", -- Optional image support in preview window: See `# Preview Mode` for more information
},
}

View File

@ -1,71 +1,71 @@
return {
"hrsh7th/nvim-cmp",
event = "InsertEnter",
dependencies = {
-- {
-- snippet plugin
-- "L3MON4D3/LuaSnip",
-- dependencies = "rafamadriz/friendly-snippets",
-- opts = { history = true, updateevents = "TextChanged,TextChangedI" },
-- config = function(_, opts)
-- require("luasnip").config.set_config(opts)
-- require "nvchad.configs.luasnip"
-- end,
--},
"hrsh7th/nvim-cmp",
event = "InsertEnter",
dependencies = {
-- {
-- snippet plugin
-- "L3MON4D3/LuaSnip",
-- dependencies = "rafamadriz/friendly-snippets",
-- opts = { history = true, updateevents = "TextChanged,TextChangedI" },
-- config = function(_, opts)
-- require("luasnip").config.set_config(opts)
-- require "nvchad.configs.luasnip"
-- end,
--},
-- autopairing of (){}[] etc
--{
-- "windwp/nvim-autopairs",
-- opts = {
-- fast_wrap = {},
-- disable_filetype = { "TelescopePrompt", "vim" },
-- },
-- config = function(_, opts)
-- require("nvim-autopairs").setup(opts)
--
-- setup cmp for autopairs
-- local cmp_autopairs = require "nvim-autopairs.completion.cmp"
-- require("cmp").event:on("confirm_done", cmp_autopairs.on_confirm_done())
-- end,
-- },
-- autopairing of (){}[] etc
--{
-- "windwp/nvim-autopairs",
-- opts = {
-- fast_wrap = {},
-- disable_filetype = { "TelescopePrompt", "vim" },
-- },
-- config = function(_, opts)
-- require("nvim-autopairs").setup(opts)
--
-- setup cmp for autopairs
-- local cmp_autopairs = require "nvim-autopairs.completion.cmp"
-- require("cmp").event:on("confirm_done", cmp_autopairs.on_confirm_done())
-- end,
-- },
-- cmp sources plugins
--{
-- "saadparwaiz1/cmp_luasnip",
--"hrsh7th/cmp-nvim-lua",
-- "hrsh7th/cmp-nvim-lsp",
-- "hrsh7th/cmp-buffer",
-- "hrsh7th/cmp-path",
-- },
},
config = function()
local cmp = require('cmp')
-- snippet = {
-- REQUIRED - you must specify a snippet engine
-- expand = function(args)
-- vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users.
-- require('luasnip').lsp_expand(args.body) -- For `luasnip` users.
-- require('snippy').expand_snippet(args.body) -- For `snippy` users.
-- vim.fn["UltiSnips#Anon"](args.body) -- For `ultisnips` users.
-- vim.snippet.expand(args.body) -- For native neovim snippets (Neovim v0.10+)
--end,
--},
-- cmp sources plugins
--{
-- "saadparwaiz1/cmp_luasnip",
--"hrsh7th/cmp-nvim-lua",
-- "hrsh7th/cmp-nvim-lsp",
-- "hrsh7th/cmp-buffer",
-- "hrsh7th/cmp-path",
-- },
},
config = function()
local cmp = require("cmp")
-- snippet = {
-- REQUIRED - you must specify a snippet engine
-- expand = function(args)
-- vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users.
-- require('luasnip').lsp_expand(args.body) -- For `luasnip` users.
-- require('snippy').expand_snippet(args.body) -- For `snippy` users.
-- vim.fn["UltiSnips#Anon"](args.body) -- For `ultisnips` users.
-- vim.snippet.expand(args.body) -- For native neovim snippets (Neovim v0.10+)
--end,
--},
cmp.setup({
window = {
completion = cmp.config.window.bordered(),
documentation = cmp.config.window.bordered(),
},
mapping = cmp.mapping.preset.insert({
['<C-Space>'] = cmp.mapping.complete(),
['<CR>'] = cmp.mapping.confirm({ select = true }),
}),
sources = cmp.config.sources({
{ name = 'nvim_lsp' },
}),
})
end
--opts = function()
-- return require "nvchad.configs.cmp"
--end,
}
cmp.setup({
window = {
completion = cmp.config.window.bordered(),
documentation = cmp.config.window.bordered(),
},
mapping = cmp.mapping.preset.insert({
["<C-Space>"] = cmp.mapping.complete(),
["<CR>"] = cmp.mapping.confirm({ select = true }),
}),
sources = cmp.config.sources({
{ name = "nvim_lsp" },
}),
})
end,
--opts = function()
-- return require "nvchad.configs.cmp"
--end,
}

View File

@ -1,6 +1,6 @@
return {
"navarasu/onedark.nvim",
config = function()
require('onedark').load()
end,
"navarasu/onedark.nvim",
config = function()
require("onedark").load()
end,
}

View File

@ -1,8 +1,8 @@
return {
"nvim-telescope/telescope.nvim",
dependencies = { "nvim-treesitter/nvim-treesitter" },
-- cmd = "Telescope",
opts = function()
-- return require "nvchad.configs.telescope"
end,
}
return {
"nvim-telescope/telescope.nvim",
dependencies = { "nvim-treesitter/nvim-treesitter" },
-- cmd = "Telescope",
opts = function()
-- return require "nvchad.configs.telescope"
end,
}