update
This commit is contained in:
		
							parent
							
								
									a1c86556ea
								
							
						
					
					
						commit
						c24d345bda
					
				
							
								
								
									
										29
									
								
								init.lua
								
								
								
								
							
							
						
						
									
										29
									
								
								init.lua
								
								
								
								
							| 
						 | 
					@ -65,6 +65,11 @@ vim.opt.rtp:prepend(lazypath)
 | 
				
			||||||
require('lazy').setup({
 | 
					require('lazy').setup({
 | 
				
			||||||
  -- NOTE: First, some plugins that don't require any configuration
 | 
					  -- NOTE: First, some plugins that don't require any configuration
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  { -- Set lualine as statusline
 | 
				
			||||||
 | 
					    'nvim-lualine/lualine.nvim',
 | 
				
			||||||
 | 
					    -- See `:help lualine.txt`
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  -- Git related plugins
 | 
					  -- Git related plugins
 | 
				
			||||||
  'tpope/vim-fugitive',
 | 
					  'tpope/vim-fugitive',
 | 
				
			||||||
  'tpope/vim-rhubarb',
 | 
					  'tpope/vim-rhubarb',
 | 
				
			||||||
| 
						 | 
					@ -115,19 +120,6 @@ require('lazy').setup({
 | 
				
			||||||
    'navarasu/onedark.nvim',
 | 
					    'navarasu/onedark.nvim',
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  { -- Set lualine as statusline
 | 
					 | 
				
			||||||
    'nvim-lualine/lualine.nvim',
 | 
					 | 
				
			||||||
    -- See `:help lualine.txt`
 | 
					 | 
				
			||||||
    opts = {
 | 
					 | 
				
			||||||
      options = {
 | 
					 | 
				
			||||||
        icons_enabled = false,
 | 
					 | 
				
			||||||
        theme = 'onedark',
 | 
					 | 
				
			||||||
        component_separators = '|',
 | 
					 | 
				
			||||||
        section_separators = '',
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  { -- Add indentation guides even on blank lines
 | 
					  { -- Add indentation guides even on blank lines
 | 
				
			||||||
    'lukas-reineke/indent-blankline.nvim',
 | 
					    'lukas-reineke/indent-blankline.nvim',
 | 
				
			||||||
    -- Enable `lukas-reineke/indent-blankline.nvim`
 | 
					    -- Enable `lukas-reineke/indent-blankline.nvim`
 | 
				
			||||||
| 
						 | 
					@ -280,7 +272,7 @@ vim.api.nvim_set_keymap('n', '<leader>cb', ':bd<CR>', { noremap = true, silent =
 | 
				
			||||||
vim.g.copilot_no_tab_map = true
 | 
					vim.g.copilot_no_tab_map = true
 | 
				
			||||||
vim.api.nvim_set_keymap("i", "<C-J>", 'copilot#Accept("<CR>")', { silent = true, expr = true })
 | 
					vim.api.nvim_set_keymap("i", "<C-J>", 'copilot#Accept("<CR>")', { silent = true, expr = true })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
vim.api.nvim_set_keymap('n', ':', '<cmd>FineCmdline<CR>', { noremap = true })
 | 
					-- vim.api.nvim_set_keymap('n', ':', '<cmd>FineCmdline<CR>', { noremap = true })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
vim.api.nvim_set_keymap('n', '<leader>hs', ':nohlsearch<CR>',
 | 
					vim.api.nvim_set_keymap('n', '<leader>hs', ':nohlsearch<CR>',
 | 
				
			||||||
  { noremap = true, silent = true, desc = "toggle of search highlight" })
 | 
					  { noremap = true, silent = true, desc = "toggle of search highlight" })
 | 
				
			||||||
| 
						 | 
					@ -300,6 +292,9 @@ vim.api.nvim_set_keymap('n', '(', "<Cmd>call search('[([{<]')<CR>",
 | 
				
			||||||
vim.api.nvim_set_keymap('v', '<M-7>', ":<Esc>/\\%V", { noremap = true, silent = true })
 | 
					vim.api.nvim_set_keymap('v', '<M-7>', ":<Esc>/\\%V", { noremap = true, silent = true })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- set keybind to delete the selected text and trhow into the void (not yanking)
 | 
				
			||||||
 | 
					vim.api.nvim_set_keymap('v', '<leader>v', '"_d', { noremap = true, silent = true, desc = '[V]oid' })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- trucco sul relplace.
 | 
					-- trucco sul relplace.
 | 
				
			||||||
-- selezionare la sezione in cui si vuole rimpiazzare una parola (si puo anche non
 | 
					-- selezionare la sezione in cui si vuole rimpiazzare una parola (si puo anche non
 | 
				
			||||||
-- selezionare, funziona lo stesso) e poi premere : seguito da s/parolaDaCercare/parolaDaSostituire
 | 
					-- selezionare, funziona lo stesso) e poi premere : seguito da s/parolaDaCercare/parolaDaSostituire
 | 
				
			||||||
| 
						 | 
					@ -401,7 +396,7 @@ require('nvim-treesitter.configs').setup {
 | 
				
			||||||
  ensure_installed = { 'c', 'cpp', 'go', 'lua', 'python', 'rust', 'tsx', 'typescript', 'help', 'vim' },
 | 
					  ensure_installed = { 'c', 'cpp', 'go', 'lua', 'python', 'rust', 'tsx', 'typescript', 'help', 'vim' },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  -- Autoinstall languages that are not installed. Defaults to false (but you can change for yourself!)
 | 
					  -- Autoinstall languages that are not installed. Defaults to false (but you can change for yourself!)
 | 
				
			||||||
  auto_install = false,
 | 
					  auto_install = true,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  highlight = { enable = true },
 | 
					  highlight = { enable = true },
 | 
				
			||||||
  indent = { enable = true, disable = { 'python' } },
 | 
					  indent = { enable = true, disable = { 'python' } },
 | 
				
			||||||
| 
						 | 
					@ -479,12 +474,12 @@ local on_attach = function(_, bufnr)
 | 
				
			||||||
    if desc then
 | 
					    if desc then
 | 
				
			||||||
      desc = 'LSP: ' .. desc
 | 
					      desc = 'LSP: ' .. desc
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					 | 
				
			||||||
    vim.keymap.set('n', keys, func, { buffer = bufnr, desc = desc })
 | 
					    vim.keymap.set('n', keys, func, { buffer = bufnr, desc = desc })
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  vim.api.nvim_set_keymap("n", '<leader>la', "<Cmd>CodeActionMenu<CR>", { desc = '[L]sp [A]ction' })
 | 
				
			||||||
  nmap('<leader>lr', vim.lsp.buf.rename, '[L]sp [r]ename')
 | 
					  nmap('<leader>lr', vim.lsp.buf.rename, '[L]sp [r]ename')
 | 
				
			||||||
  nmap('<leader>la', vim.lsp.buf.code_action, '[L]sp [A]ction')
 | 
					  nmap('<leader>ll', vim.lsp.codelens.run, '[L]sp [L]ense')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  nmap('gd', vim.lsp.buf.definition, '[G]oto [D]efinition')
 | 
					  nmap('gd', vim.lsp.buf.definition, '[G]oto [D]efinition')
 | 
				
			||||||
  nmap('gr', require('telescope.builtin').lsp_references, '[G]oto [R]eferences')
 | 
					  nmap('gr', require('telescope.builtin').lsp_references, '[G]oto [R]eferences')
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,4 @@
 | 
				
			||||||
 | 
					return {
 | 
				
			||||||
 | 
						'weilbith/nvim-code-action-menu',
 | 
				
			||||||
 | 
						cmd = 'CodeActionMenu',
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,222 @@
 | 
				
			||||||
 | 
					-- Eviline config for lualine
 | 
				
			||||||
 | 
					-- Author: shadmansaleh
 | 
				
			||||||
 | 
					-- Credit: glepnir
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					local lualine = require('lualine')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Color table for highlights
 | 
				
			||||||
 | 
					-- stylua: ignore
 | 
				
			||||||
 | 
					local colors = {
 | 
				
			||||||
 | 
						bg       = '#202328',
 | 
				
			||||||
 | 
						fg       = '#bbc2cf',
 | 
				
			||||||
 | 
						yellow   = '#ECBE7B',
 | 
				
			||||||
 | 
						cyan     = '#008080',
 | 
				
			||||||
 | 
						darkblue = '#081633',
 | 
				
			||||||
 | 
						green    = '#98be65',
 | 
				
			||||||
 | 
						orange   = '#FF8800',
 | 
				
			||||||
 | 
						violet   = '#a9a1e1',
 | 
				
			||||||
 | 
						magenta  = '#c678dd',
 | 
				
			||||||
 | 
						blue     = '#51afef',
 | 
				
			||||||
 | 
						red      = '#ec5f67',
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local conditions = {
 | 
				
			||||||
 | 
						buffer_not_empty = function()
 | 
				
			||||||
 | 
							return vim.fn.empty(vim.fn.expand('%:t')) ~= 1
 | 
				
			||||||
 | 
						end,
 | 
				
			||||||
 | 
						hide_in_width = function()
 | 
				
			||||||
 | 
							return vim.fn.winwidth(0) > 80
 | 
				
			||||||
 | 
						end,
 | 
				
			||||||
 | 
						check_git_workspace = function()
 | 
				
			||||||
 | 
							local filepath = vim.fn.expand('%:p:h')
 | 
				
			||||||
 | 
							local gitdir = vim.fn.finddir('.git', filepath .. ';')
 | 
				
			||||||
 | 
							return gitdir and #gitdir > 0 and #gitdir < #filepath
 | 
				
			||||||
 | 
						end,
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Config
 | 
				
			||||||
 | 
					local config = {
 | 
				
			||||||
 | 
						options = {
 | 
				
			||||||
 | 
							-- Disable sections and component separators
 | 
				
			||||||
 | 
							component_separators = '',
 | 
				
			||||||
 | 
							section_separators = '',
 | 
				
			||||||
 | 
							theme = {
 | 
				
			||||||
 | 
								-- We are going to use lualine_c an lualine_x as left and
 | 
				
			||||||
 | 
								-- right section. Both are highlighted by c theme .  So we
 | 
				
			||||||
 | 
								-- are just setting default looks o statusline
 | 
				
			||||||
 | 
								normal = { c = { fg = colors.fg, bg = colors.bg } },
 | 
				
			||||||
 | 
								inactive = { c = { fg = colors.fg, bg = colors.bg } },
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						sections = {
 | 
				
			||||||
 | 
							-- these are to remove the defaults
 | 
				
			||||||
 | 
							lualine_a = {},
 | 
				
			||||||
 | 
							lualine_b = {},
 | 
				
			||||||
 | 
							lualine_y = {},
 | 
				
			||||||
 | 
							lualine_z = {},
 | 
				
			||||||
 | 
							-- These will be filled later
 | 
				
			||||||
 | 
							lualine_c = {},
 | 
				
			||||||
 | 
							lualine_x = {},
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						inactive_sections = {
 | 
				
			||||||
 | 
							-- these are to remove the defaults
 | 
				
			||||||
 | 
							lualine_a = {},
 | 
				
			||||||
 | 
							lualine_b = {},
 | 
				
			||||||
 | 
							lualine_y = {},
 | 
				
			||||||
 | 
							lualine_z = {},
 | 
				
			||||||
 | 
							lualine_c = {},
 | 
				
			||||||
 | 
							lualine_x = {},
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Inserts a component in lualine_c at left section
 | 
				
			||||||
 | 
					local function ins_left(component)
 | 
				
			||||||
 | 
						table.insert(config.sections.lualine_c, component)
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Inserts a component in lualine_x ot right section
 | 
				
			||||||
 | 
					local function ins_right(component)
 | 
				
			||||||
 | 
						table.insert(config.sections.lualine_x, component)
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ins_left {
 | 
				
			||||||
 | 
						function()
 | 
				
			||||||
 | 
							return '▊'
 | 
				
			||||||
 | 
						end,
 | 
				
			||||||
 | 
						color = { fg = colors.blue }, -- Sets highlighting of component
 | 
				
			||||||
 | 
						padding = { left = 0, right = 1 }, -- We don't need space before this
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ins_left {
 | 
				
			||||||
 | 
						-- mode component
 | 
				
			||||||
 | 
						function()
 | 
				
			||||||
 | 
							return ''
 | 
				
			||||||
 | 
						end,
 | 
				
			||||||
 | 
						color = function()
 | 
				
			||||||
 | 
							-- auto change color according to neovims mode
 | 
				
			||||||
 | 
							local mode_color = {
 | 
				
			||||||
 | 
								n = colors.red,
 | 
				
			||||||
 | 
								i = colors.green,
 | 
				
			||||||
 | 
								v = colors.blue,
 | 
				
			||||||
 | 
								[''] = colors.blue,
 | 
				
			||||||
 | 
								V = colors.blue,
 | 
				
			||||||
 | 
								c = colors.magenta,
 | 
				
			||||||
 | 
								no = colors.red,
 | 
				
			||||||
 | 
								s = colors.orange,
 | 
				
			||||||
 | 
								S = colors.orange,
 | 
				
			||||||
 | 
								[''] = colors.orange,
 | 
				
			||||||
 | 
								ic = colors.yellow,
 | 
				
			||||||
 | 
								R = colors.violet,
 | 
				
			||||||
 | 
								Rv = colors.violet,
 | 
				
			||||||
 | 
								cv = colors.red,
 | 
				
			||||||
 | 
								ce = colors.red,
 | 
				
			||||||
 | 
								r = colors.cyan,
 | 
				
			||||||
 | 
								rm = colors.cyan,
 | 
				
			||||||
 | 
								['r?'] = colors.cyan,
 | 
				
			||||||
 | 
								['!'] = colors.red,
 | 
				
			||||||
 | 
								t = colors.red,
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							return { fg = mode_color[vim.fn.mode()] }
 | 
				
			||||||
 | 
						end,
 | 
				
			||||||
 | 
						padding = { right = 1 },
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ins_left {
 | 
				
			||||||
 | 
						-- filesize component
 | 
				
			||||||
 | 
						'filesize',
 | 
				
			||||||
 | 
						cond = conditions.buffer_not_empty,
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ins_left {
 | 
				
			||||||
 | 
						'filename',
 | 
				
			||||||
 | 
						cond = conditions.buffer_not_empty,
 | 
				
			||||||
 | 
						color = { fg = colors.magenta, gui = 'bold' },
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ins_left { 'location' }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ins_left { 'progress', color = { fg = colors.fg, gui = 'bold' } }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ins_left {
 | 
				
			||||||
 | 
						'diagnostics',
 | 
				
			||||||
 | 
						sources = { 'nvim_diagnostic' },
 | 
				
			||||||
 | 
						symbols = { error = ' ', warn = ' ', info = ' ' },
 | 
				
			||||||
 | 
						diagnostics_color = {
 | 
				
			||||||
 | 
							color_error = { fg = colors.red },
 | 
				
			||||||
 | 
							color_warn = { fg = colors.yellow },
 | 
				
			||||||
 | 
							color_info = { fg = colors.cyan },
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Insert mid section. You can make any number of sections in neovim :)
 | 
				
			||||||
 | 
					-- for lualine it's any number greater then 2
 | 
				
			||||||
 | 
					ins_left {
 | 
				
			||||||
 | 
						function()
 | 
				
			||||||
 | 
							return '%='
 | 
				
			||||||
 | 
						end,
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ins_left {
 | 
				
			||||||
 | 
						-- Lsp server name .
 | 
				
			||||||
 | 
						function()
 | 
				
			||||||
 | 
							local msg = 'No Active Lsp'
 | 
				
			||||||
 | 
							local buf_ft = vim.api.nvim_buf_get_option(0, 'filetype')
 | 
				
			||||||
 | 
							local clients = vim.lsp.get_active_clients()
 | 
				
			||||||
 | 
							if next(clients) == nil then
 | 
				
			||||||
 | 
								return msg
 | 
				
			||||||
 | 
							end
 | 
				
			||||||
 | 
							for _, client in ipairs(clients) do
 | 
				
			||||||
 | 
								local filetypes = client.config.filetypes
 | 
				
			||||||
 | 
								if filetypes and vim.fn.index(filetypes, buf_ft) ~= -1 then
 | 
				
			||||||
 | 
									return client.name
 | 
				
			||||||
 | 
								end
 | 
				
			||||||
 | 
							end
 | 
				
			||||||
 | 
							return msg
 | 
				
			||||||
 | 
						end,
 | 
				
			||||||
 | 
						icon = ' LSP:',
 | 
				
			||||||
 | 
						color = { fg = '#ffffff', gui = 'bold' },
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Add components to right sections
 | 
				
			||||||
 | 
					ins_right {
 | 
				
			||||||
 | 
						'o:encoding', -- option component same as &encoding in viml
 | 
				
			||||||
 | 
						fmt = string.upper, -- I'm not sure why it's upper case either ;)
 | 
				
			||||||
 | 
						cond = conditions.hide_in_width,
 | 
				
			||||||
 | 
						color = { fg = colors.green, gui = 'bold' },
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ins_right {
 | 
				
			||||||
 | 
						'fileformat',
 | 
				
			||||||
 | 
						fmt = string.upper,
 | 
				
			||||||
 | 
						icons_enabled = false, -- I think icons are cool but Eviline doesn't have them. sigh
 | 
				
			||||||
 | 
						color = { fg = colors.green, gui = 'bold' },
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ins_right {
 | 
				
			||||||
 | 
						'branch',
 | 
				
			||||||
 | 
						icon = '',
 | 
				
			||||||
 | 
						color = { fg = colors.violet, gui = 'bold' },
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ins_right {
 | 
				
			||||||
 | 
						'diff',
 | 
				
			||||||
 | 
						-- Is it me or the symbol for modified us really weird
 | 
				
			||||||
 | 
						symbols = { added = ' ', modified = '柳 ', removed = ' ' },
 | 
				
			||||||
 | 
						diff_color = {
 | 
				
			||||||
 | 
							added = { fg = colors.green },
 | 
				
			||||||
 | 
							modified = { fg = colors.orange },
 | 
				
			||||||
 | 
							removed = { fg = colors.red },
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						cond = conditions.hide_in_width,
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ins_right {
 | 
				
			||||||
 | 
						function()
 | 
				
			||||||
 | 
							return '▊'
 | 
				
			||||||
 | 
						end,
 | 
				
			||||||
 | 
						color = { fg = colors.blue },
 | 
				
			||||||
 | 
						padding = { left = 1 },
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Now don't forget to initialize lualine
 | 
				
			||||||
 | 
					lualine.setup(config)
 | 
				
			||||||
		Loading…
	
		Reference in New Issue