This commit is contained in:
timofey.kovalev 2024-11-18 23:32:50 +03:00
parent de76d823e7
commit 0d947098f3
9 changed files with 189 additions and 16 deletions

View File

@ -2,3 +2,7 @@ local map = vim.keymap.set
map("n", "<leader>e", ":Neotree<CR>", { desc = "nvimtree focus window" }) 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" })

View File

@ -4,7 +4,7 @@ local g = vim.g
g.mapleader = " " g.mapleader = " "
o.laststatus = 2 o.laststatus = 3
o.showmode = false o.showmode = false
o.clipboard = "unnamedplus" o.clipboard = "unnamedplus"

22
lua/plugins/barbar.lua Normal file
View File

@ -0,0 +1,22 @@
local g = vim.g
return {
"romgrk/barbar.nvim",
dependencies = {
"lewis6991/gitsigns.nvim", -- OPTIONAL: for git status
"nvim-tree/nvim-web-devicons", -- OPTIONAL: for file icons
},
init = function()
g.barbar_auto_setup = false
end,
opts = {
-- lazy.nvim will automatically call setup for you. put your options here, anything missing will use the default:
animation = true,
insert_at_start = true,
auto_hide = true,
sidebar_filetypes = {
["neo-tree"] = { event = "BufWipeout" },
},
-- …etc.
},
}

View File

@ -1,7 +1,7 @@
return { return {
"lukas-reineke/indent-blankline.nvim", "lukas-reineke/indent-blankline.nvim",
main = "ibl", main = "ibl",
---@module "ibl" ---@module "ibl"
---@type ibl.config ---@type ibl.config
opts = {}, opts = {},
} }

18
lua/plugins/conform.lua Normal file
View File

@ -0,0 +1,18 @@
return {
"stevearc/conform.nvim",
--opts = {},
config = function()
require("conform").setup({
formatters_by_ft = {
lua = { "stylua" },
},
})
vim.api.nvim_create_autocmd("BufWritePre", {
pattern = "*",
callback = function(args)
require("conform").format({ bufnr = args.buf })
end,
})
end,
}

View File

@ -1,12 +1,12 @@
return { return {
"lewis6991/gitsigns.nvim", "lewis6991/gitsigns.nvim",
event = "User FilePost", event = "User FilePost",
opts = function() opts = function()
return { return {
signs = { signs = {
delete = { text = "󰍵" }, delete = { text = "󰍵" },
changedelete = { text = "󱕖" }, changedelete = { text = "󱕖" },
}, },
} }
end, end,
} }

50
lua/plugins/lsp.lua Normal file
View File

@ -0,0 +1,50 @@
return {
-- 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',
},
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 = {},
}
require('mason').setup()
--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-lspconfig').setup {
handlers = {
function(server_name)
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,
}

71
lua/plugins/nvim-cmp.lua Normal file
View File

@ -0,0 +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,
--},
-- 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.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

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