Init updated
This commit is contained in:
parent
bddde0272b
commit
4d39e00dc4
@ -89,6 +89,7 @@ vim.opt.rtp:prepend(lazypath)
|
|||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
require('lazy').setup({
|
require('lazy').setup({
|
||||||
|
|
||||||
|
-- Color scheme ------------------------------------------
|
||||||
{
|
{
|
||||||
dir = "~/code_server/nightly_cm.nvim",
|
dir = "~/code_server/nightly_cm.nvim",
|
||||||
lazy = false,
|
lazy = false,
|
||||||
@ -98,8 +99,8 @@ require('lazy').setup({
|
|||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
-- LSP ----------------------------------------------------
|
||||||
{
|
{
|
||||||
-- LSP Configuration & Plugins
|
|
||||||
'neovim/nvim-lspconfig',
|
'neovim/nvim-lspconfig',
|
||||||
event = { "BufReadPre", "BufNewFile" },
|
event = { "BufReadPre", "BufNewFile" },
|
||||||
dependencies = {
|
dependencies = {
|
||||||
@ -109,7 +110,6 @@ require('lazy').setup({
|
|||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
-- Autocompletion
|
|
||||||
'hrsh7th/nvim-cmp',
|
'hrsh7th/nvim-cmp',
|
||||||
dependencies = {
|
dependencies = {
|
||||||
'onsails/lspkind.nvim',
|
'onsails/lspkind.nvim',
|
||||||
@ -123,10 +123,74 @@ require('lazy').setup({
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
-- "gc" to comment visual regions/lines
|
{
|
||||||
{ 'numToStr/Comment.nvim', opts = {} },
|
'zbirenbaum/copilot-cmp',
|
||||||
|
event = { 'BufRead', 'BufNewFile' },
|
||||||
|
dependencies = {
|
||||||
|
{
|
||||||
|
'zbirenbaum/copilot.lua',
|
||||||
|
config = function()
|
||||||
|
require('copilot').setup {
|
||||||
|
suggestion = { enabled = false },
|
||||||
|
panel = { enabled = false },
|
||||||
|
filetypes = { markdown = true },
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
config = function() require('copilot_cmp').setup() end,
|
||||||
|
},
|
||||||
|
|
||||||
-- Fuzzy Finder (files, lsp, etc)
|
{
|
||||||
|
-- Highlight, edit, and navigate code
|
||||||
|
'nvim-treesitter/nvim-treesitter',
|
||||||
|
dependencies = {
|
||||||
|
'nvim-treesitter/nvim-treesitter-textobjects',
|
||||||
|
},
|
||||||
|
build = ':TSUpdate',
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"simrat39/rust-tools.nvim",
|
||||||
|
},
|
||||||
|
|
||||||
|
-- {
|
||||||
|
-- "ray-x/lsp_signature.nvim",
|
||||||
|
-- config = function()
|
||||||
|
-- require "lsp_signature".setup {
|
||||||
|
-- bind = true, -- This is mandatory, otherwise border config won't get registered.
|
||||||
|
-- handler_opts = {
|
||||||
|
-- border = "solid"
|
||||||
|
-- }
|
||||||
|
-- }
|
||||||
|
-- end
|
||||||
|
-- },
|
||||||
|
--
|
||||||
|
{
|
||||||
|
"jay-babu/mason-null-ls.nvim",
|
||||||
|
event = { "BufReadPre", "BufNewFile" },
|
||||||
|
dependencies = {
|
||||||
|
"williamboman/mason.nvim",
|
||||||
|
"jose-elias-alvarez/null-ls.nvim",
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
require("mason").setup()
|
||||||
|
require("mason-null-ls").setup({
|
||||||
|
ensure_installed = {
|
||||||
|
-- Opt to list sources here, when available in mason.
|
||||||
|
},
|
||||||
|
automatic_installation = false,
|
||||||
|
handlers = {},
|
||||||
|
})
|
||||||
|
require("null-ls").setup({
|
||||||
|
sources = {
|
||||||
|
-- Anything not supported by mason.
|
||||||
|
}
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
-- File explorer -------------------------------------------
|
||||||
{
|
{
|
||||||
'nvim-telescope/telescope.nvim',
|
'nvim-telescope/telescope.nvim',
|
||||||
branch = '0.1.x',
|
branch = '0.1.x',
|
||||||
@ -157,190 +221,12 @@ require('lazy').setup({
|
|||||||
|
|
||||||
{
|
{
|
||||||
"nvim-telescope/telescope-file-browser.nvim",
|
"nvim-telescope/telescope-file-browser.nvim",
|
||||||
dependencies = { "nvim-telescope/telescope.nvim", "nvim-lua/plenary.nvim" },
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
-- Highlight, edit, and navigate code
|
|
||||||
'nvim-treesitter/nvim-treesitter',
|
|
||||||
dependencies = {
|
|
||||||
'nvim-treesitter/nvim-treesitter-textobjects',
|
|
||||||
},
|
|
||||||
build = ':TSUpdate',
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
"max397574/better-escape.nvim",
|
|
||||||
opts = { timeout = 300 }
|
|
||||||
},
|
|
||||||
|
|
||||||
-- Copilot plugin to autocomplete text
|
|
||||||
{
|
|
||||||
'zbirenbaum/copilot-cmp',
|
|
||||||
event = { 'BufRead', 'BufNewFile' },
|
|
||||||
dependencies = {
|
|
||||||
{
|
|
||||||
'zbirenbaum/copilot.lua',
|
|
||||||
config = function()
|
|
||||||
require('copilot').setup {
|
|
||||||
suggestion = { enabled = false },
|
|
||||||
panel = { enabled = false },
|
|
||||||
filetypes = { markdown = true },
|
|
||||||
}
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
config = function() require('copilot_cmp').setup() end,
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
-- Set lualine as statusline
|
|
||||||
'nvim-lualine/lualine.nvim',
|
|
||||||
opts = {
|
|
||||||
options = {
|
|
||||||
icons_enabled = true,
|
|
||||||
theme = 'nightly_cm',
|
|
||||||
component_separators = '',
|
|
||||||
section_separators = '',
|
|
||||||
globalstatus = true,
|
|
||||||
},
|
|
||||||
sections = {
|
|
||||||
lualine_a = { 'mode' },
|
|
||||||
lualine_b = { 'branch', 'diff' },
|
|
||||||
lualine_c = { 'filename' },
|
|
||||||
lualine_x = {
|
|
||||||
{
|
|
||||||
-- Lsp server name .
|
|
||||||
function()
|
|
||||||
local msg = ''
|
|
||||||
local clients = vim.lsp.get_active_clients({ bufnr = 0 })
|
|
||||||
if next(clients) == nil then
|
|
||||||
return msg
|
|
||||||
end
|
|
||||||
for _, client in ipairs(clients) do
|
|
||||||
msg = msg .. client.name .. ", "
|
|
||||||
end
|
|
||||||
if msg == '' then
|
|
||||||
return msg
|
|
||||||
end
|
|
||||||
return msg:sub(1, -3)
|
|
||||||
end,
|
|
||||||
color = { fg = '#c6c6c6' },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
lualine_y = { 'filetype' },
|
|
||||||
lualine_z = { 'progress' }
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
-- Adds git releated signs to the gutter, as well as utilities for managing changes
|
|
||||||
'lewis6991/gitsigns.nvim',
|
|
||||||
opts = {
|
|
||||||
signs = {
|
|
||||||
add = { text = "▎" },
|
|
||||||
change = { text = "▎" },
|
|
||||||
delete = { text = "▎" },
|
|
||||||
topdelete = { text = "▎" },
|
|
||||||
changedelete = { text = "▎" },
|
|
||||||
untracked = { text = "▎" },
|
|
||||||
},
|
|
||||||
preview_config = {
|
|
||||||
-- Options passed to nvim_open_win
|
|
||||||
border = 'solid',
|
|
||||||
style = 'minimal',
|
|
||||||
relative = 'cursor',
|
|
||||||
row = 0,
|
|
||||||
col = 1
|
|
||||||
},
|
|
||||||
on_attach = function(bufnr)
|
|
||||||
vim.keymap.set('n', '<leader>gp', require('gitsigns').prev_hunk,
|
|
||||||
{ buffer = bufnr, desc = '[G]o to [P]revious Hunk' })
|
|
||||||
vim.keymap.set('n', '<leader>gn', require('gitsigns').next_hunk,
|
|
||||||
{ buffer = bufnr, desc = '[G]o to [N]ext Hunk' })
|
|
||||||
vim.keymap.set('n', '<leader>ph', require('gitsigns').preview_hunk,
|
|
||||||
{ buffer = bufnr, desc = '[P]review [H]unk' })
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
-- Add indentation guides even on blank lines
|
|
||||||
'lukas-reineke/indent-blankline.nvim',
|
|
||||||
opts = {
|
|
||||||
buftype_exclude = {
|
|
||||||
"nofile",
|
|
||||||
"terminal",
|
|
||||||
},
|
|
||||||
filetype_exclude = {
|
|
||||||
"help",
|
|
||||||
"startify",
|
|
||||||
"aerial",
|
|
||||||
"alpha",
|
|
||||||
"dashboard",
|
|
||||||
"lazy",
|
|
||||||
"neogitstatus",
|
|
||||||
"NvimTree",
|
|
||||||
"neo-tree",
|
|
||||||
"Trouble",
|
|
||||||
},
|
|
||||||
context_patterns = {
|
|
||||||
"class",
|
|
||||||
"return",
|
|
||||||
"function",
|
|
||||||
"method",
|
|
||||||
"^if",
|
|
||||||
"^while",
|
|
||||||
"jsx_element",
|
|
||||||
"^for",
|
|
||||||
"^object",
|
|
||||||
"^table",
|
|
||||||
"block",
|
|
||||||
"arguments",
|
|
||||||
"if_statement",
|
|
||||||
"else_clause",
|
|
||||||
"jsx_element",
|
|
||||||
"jsx_self_closing_element",
|
|
||||||
"try_statement",
|
|
||||||
"catch_clause",
|
|
||||||
"import_statement",
|
|
||||||
"operation_type",
|
|
||||||
},
|
|
||||||
show_trailing_blankline_indent = false,
|
|
||||||
use_treesitter = true,
|
|
||||||
char = "▏",
|
|
||||||
context_char = "▏",
|
|
||||||
show_current_context = true,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
'mrjones2014/smart-splits.nvim',
|
|
||||||
opts = {
|
|
||||||
at_edge = 'stop',
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
"folke/neodev.nvim",
|
|
||||||
opts = {}
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
"kdheepak/lazygit.nvim",
|
|
||||||
dependencies = {
|
dependencies = {
|
||||||
|
"nvim-telescope/telescope.nvim",
|
||||||
"nvim-lua/plenary.nvim",
|
"nvim-lua/plenary.nvim",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
|
||||||
"norcalli/nvim-colorizer.lua",
|
|
||||||
config = function()
|
|
||||||
require("colorizer").setup()
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
{
|
||||||
"nvim-neo-tree/neo-tree.nvim",
|
"nvim-neo-tree/neo-tree.nvim",
|
||||||
branch = "v2.x",
|
branch = "v2.x",
|
||||||
@ -425,6 +311,146 @@ require('lazy').setup({
|
|||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"s1n7ax/nvim-window-picker",
|
||||||
|
opts = {
|
||||||
|
use_winbar = "smart",
|
||||||
|
highlights = {
|
||||||
|
statusline = {
|
||||||
|
unfocused = {
|
||||||
|
fg = '#d7af5f',
|
||||||
|
bg = '#262626',
|
||||||
|
bold = true,
|
||||||
|
},
|
||||||
|
focused = {
|
||||||
|
fg = '#d7af5f',
|
||||||
|
bg = '#262626',
|
||||||
|
bold = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
-- GUI ------------------------------------------------------
|
||||||
|
{
|
||||||
|
'mrjones2014/smart-splits.nvim',
|
||||||
|
opts = {
|
||||||
|
at_edge = 'stop',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
-- Set lualine as statusline
|
||||||
|
'nvim-lualine/lualine.nvim',
|
||||||
|
opts = {
|
||||||
|
options = {
|
||||||
|
icons_enabled = true,
|
||||||
|
theme = 'nightly_cm',
|
||||||
|
component_separators = '',
|
||||||
|
section_separators = '',
|
||||||
|
globalstatus = true,
|
||||||
|
},
|
||||||
|
sections = {
|
||||||
|
lualine_a = { 'mode' },
|
||||||
|
lualine_b = { 'branch', 'diff' },
|
||||||
|
lualine_c = { 'filename' },
|
||||||
|
lualine_x = {
|
||||||
|
{
|
||||||
|
-- Lsp server name .
|
||||||
|
function()
|
||||||
|
local msg = ''
|
||||||
|
local clients = vim.lsp.get_active_clients({ bufnr = 0 })
|
||||||
|
if next(clients) == nil then
|
||||||
|
return msg
|
||||||
|
end
|
||||||
|
for _, client in ipairs(clients) do
|
||||||
|
msg = msg .. client.name .. ", "
|
||||||
|
end
|
||||||
|
if msg == '' then
|
||||||
|
return msg
|
||||||
|
end
|
||||||
|
return msg:sub(1, -3)
|
||||||
|
end,
|
||||||
|
color = { fg = '#c6c6c6' },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
lualine_y = { 'filetype' },
|
||||||
|
lualine_z = { 'progress' }
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
-- Adds git releated signs to the gutter, as well as utilities for managing changes
|
||||||
|
'lewis6991/gitsigns.nvim',
|
||||||
|
opts = {
|
||||||
|
signs = {
|
||||||
|
add = { text = "▎" },
|
||||||
|
change = { text = "▎" },
|
||||||
|
delete = { text = "▎" },
|
||||||
|
topdelete = { text = "▎" },
|
||||||
|
changedelete = { text = "▎" },
|
||||||
|
untracked = { text = "▎" },
|
||||||
|
},
|
||||||
|
preview_config = {
|
||||||
|
-- Options passed to nvim_open_win
|
||||||
|
border = 'solid',
|
||||||
|
style = 'minimal',
|
||||||
|
relative = 'cursor',
|
||||||
|
row = 0,
|
||||||
|
col = 1
|
||||||
|
},
|
||||||
|
on_attach = function(bufnr)
|
||||||
|
vim.keymap.set('n', '<leader>gp', require('gitsigns').prev_hunk,
|
||||||
|
{ buffer = bufnr, desc = '[G]o to [P]revious Hunk' })
|
||||||
|
vim.keymap.set('n', '<leader>gn', require('gitsigns').next_hunk,
|
||||||
|
{ buffer = bufnr, desc = '[G]o to [N]ext Hunk' })
|
||||||
|
vim.keymap.set('n', '<leader>ph', require('gitsigns').preview_hunk,
|
||||||
|
{ buffer = bufnr, desc = '[P]review [H]unk' })
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
-- Add indentation guides even on blank lines
|
||||||
|
'lukas-reineke/indent-blankline.nvim',
|
||||||
|
opts = {
|
||||||
|
show_trailing_blankline_indent = false,
|
||||||
|
use_treesitter = true,
|
||||||
|
char = "▏",
|
||||||
|
context_char = "▏",
|
||||||
|
show_current_context = true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"norcalli/nvim-colorizer.lua",
|
||||||
|
config = function()
|
||||||
|
require("colorizer").setup()
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"folke/neodev.nvim",
|
||||||
|
opts = {}
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Utils ---------------------------------------------------
|
||||||
|
{
|
||||||
|
"max397574/better-escape.nvim",
|
||||||
|
opts = { timeout = 300 }
|
||||||
|
},
|
||||||
|
|
||||||
|
{ 'numToStr/Comment.nvim', opts = {} },
|
||||||
|
|
||||||
|
{
|
||||||
|
"kdheepak/lazygit.nvim",
|
||||||
|
dependencies = {
|
||||||
|
"nvim-lua/plenary.nvim",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
'akinsho/toggleterm.nvim',
|
'akinsho/toggleterm.nvim',
|
||||||
version = "*",
|
version = "*",
|
||||||
@ -444,26 +470,6 @@ require('lazy').setup({
|
|||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
|
||||||
"s1n7ax/nvim-window-picker",
|
|
||||||
opts = {
|
|
||||||
use_winbar = "smart",
|
|
||||||
highlights = {
|
|
||||||
statusline = {
|
|
||||||
unfocused = {
|
|
||||||
fg = '#d7af5f',
|
|
||||||
bg = '#262626',
|
|
||||||
bold = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
"simrat39/rust-tools.nvim",
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
{
|
||||||
"folke/todo-comments.nvim",
|
"folke/todo-comments.nvim",
|
||||||
dependencies = { "nvim-lua/plenary.nvim" },
|
dependencies = { "nvim-lua/plenary.nvim" },
|
||||||
@ -475,7 +481,6 @@ require('lazy').setup({
|
|||||||
'phaazon/hop.nvim',
|
'phaazon/hop.nvim',
|
||||||
branch = 'v2', -- optional but strongly recommended
|
branch = 'v2', -- optional but strongly recommended
|
||||||
config = function()
|
config = function()
|
||||||
-- you can configure Hop the way you like here; see :h hop-config
|
|
||||||
require 'hop'.setup { keys = 'etovxqpdygfblzhckisuran' }
|
require 'hop'.setup { keys = 'etovxqpdygfblzhckisuran' }
|
||||||
end
|
end
|
||||||
},
|
},
|
||||||
@ -487,18 +492,6 @@ require('lazy').setup({
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
|
||||||
"ray-x/lsp_signature.nvim",
|
|
||||||
config = function()
|
|
||||||
require "lsp_signature".setup {
|
|
||||||
bind = true, -- This is mandatory, otherwise border config won't get registered.
|
|
||||||
handler_opts = {
|
|
||||||
border = "solid"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
end
|
|
||||||
},
|
|
||||||
|
|
||||||
}, {})
|
}, {})
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
@ -839,9 +832,9 @@ vim.keymap.set('n', '<leader>sh', require('telescope.builtin').help_tags, { desc
|
|||||||
vim.keymap.set('n', '<leader>sw', require('telescope.builtin').grep_string, { desc = 'Search current word' })
|
vim.keymap.set('n', '<leader>sw', require('telescope.builtin').grep_string, { desc = 'Search current word' })
|
||||||
vim.keymap.set('n', '<leader>sg', require('telescope.builtin').live_grep, { desc = 'Search by grep' })
|
vim.keymap.set('n', '<leader>sg', require('telescope.builtin').live_grep, { desc = 'Search by grep' })
|
||||||
vim.keymap.set('n', '<leader>sd', require('telescope.builtin').diagnostics, { desc = 'Search diagnostics' })
|
vim.keymap.set('n', '<leader>sd', require('telescope.builtin').diagnostics, { desc = 'Search diagnostics' })
|
||||||
|
--Other
|
||||||
vim.keymap.set('n', '<tab>', ":tabNext<cr>", { desc = 'Next tab', silent = true })
|
vim.keymap.set('n', '<tab>', ":tabNext<cr>", { desc = 'Next tab', silent = true })
|
||||||
-- vim.keymap.set('n', '<A-f>', ":Format<cr>", { desc = 'Format code', silent = true })
|
vim.keymap.set('n', '<A-f>', ":Format<cr>", { desc = 'Format code', silent = true })
|
||||||
vim.keymap.set('n', '<leader>gg', ":LazyGitCurrentFile<cr>", { desc = 'Format code', silent = true })
|
vim.keymap.set('n', '<leader>gg', ":LazyGitCurrentFile<cr>", { desc = 'Format code', silent = true })
|
||||||
vim.keymap.set('n', '<C-m>', ":make<cr>", { desc = 'Format code', silent = true })
|
vim.keymap.set('n', '<C-m>', ":make<cr>", { desc = 'Format code', silent = true })
|
||||||
vim.keymap.set('n', '<C-n>', ":make clean<cr>", { desc = 'Format code', silent = true })
|
vim.keymap.set('n', '<C-n>', ":make clean<cr>", { desc = 'Format code', silent = true })
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user