Init updated

This commit is contained in:
Christoffer Martinsson 2023-07-14 23:33:17 +02:00
parent bddde0272b
commit 4d39e00dc4

View File

@ -89,6 +89,7 @@ vim.opt.rtp:prepend(lazypath)
-------------------------------------------------------------------
require('lazy').setup({
-- Color scheme ------------------------------------------
{
dir = "~/code_server/nightly_cm.nvim",
lazy = false,
@ -98,8 +99,8 @@ require('lazy').setup({
end,
},
-- LSP ----------------------------------------------------
{
-- LSP Configuration & Plugins
'neovim/nvim-lspconfig',
event = { "BufReadPre", "BufNewFile" },
dependencies = {
@ -109,7 +110,6 @@ require('lazy').setup({
},
{
-- Autocompletion
'hrsh7th/nvim-cmp',
dependencies = {
'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',
branch = '0.1.x',
@ -157,190 +221,12 @@ require('lazy').setup({
{
"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 = {
"nvim-telescope/telescope.nvim",
"nvim-lua/plenary.nvim",
},
},
{
"norcalli/nvim-colorizer.lua",
config = function()
require("colorizer").setup()
end,
},
{
"nvim-neo-tree/neo-tree.nvim",
branch = "v2.x",
@ -425,6 +311,146 @@ require('lazy').setup({
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',
version = "*",
@ -444,26 +470,6 @@ require('lazy').setup({
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",
dependencies = { "nvim-lua/plenary.nvim" },
@ -475,7 +481,6 @@ require('lazy').setup({
'phaazon/hop.nvim',
branch = 'v2', -- optional but strongly recommended
config = function()
-- you can configure Hop the way you like here; see :h hop-config
require 'hop'.setup { keys = 'etovxqpdygfblzhckisuran' }
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>sg', require('telescope.builtin').live_grep, { desc = 'Search by grep' })
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', '<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', '<C-m>', ":make<cr>", { desc = 'Format code', silent = true })
vim.keymap.set('n', '<C-n>', ":make clean<cr>", { desc = 'Format code', silent = true })