~damien/dotfiles

d42119be75c6fc7bfbd2a3374aa5ce64aa18c0b9 — Damien Radtke 10 months ago 14c27aa
Some more vim changes
M vim/.config/nvim/init.lua => vim/.config/nvim/init.lua +11 -2
@@ 1,5 1,5 @@
require('plugins')
require('lsp')
require('tree')

vim.opt.number = true
vim.opt.tabstop = 4


@@ 10,7 10,16 @@ vim.opt.completeopt = 'menuone,noselect'

vim.keymap.set('n', '<leader>ff', '<cmd>Telescope find_files<cr>')
vim.keymap.set('n', '<leader>fg', '<cmd>Telescope live_grep<cr>')
vim.keymap.set('n', '<leader>be', '<cmd>Telescope buffers<cr>')
vim.keymap.set('n', '<leader>fh', '<cmd>Telescope help_tags<cr>')
vim.keymap.set('n', '<leader>nh', '<cmd>set nohls<cr>')

vim.keymap.set('n', '<leader>rf', '<cmd>TestNearest<cr>')
vim.keymap.set('n', '<leader>rb', '<cmd>TestFile<cr>')
vim.keymap.set('n', '<leader>rl', '<cmd>TestLast<cr>')

vim.cmd [[colorscheme catppuccin]]

-- debug-console development
vim.cmd [[
	source /home/damien/Workspace/debug-console/misc/nvim/debug-console.vim
]]

M vim/.config/nvim/lua/lsp.lua => vim/.config/nvim/lua/lsp.lua +13 -13
@@ 30,14 30,14 @@ local on_attach = function(client, bufnr)
	vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts)
	vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, bufopts)
	vim.keymap.set('n', '<C-k>', vim.lsp.buf.signature_help, bufopts)
	vim.keymap.set('n', '<space>wa', vim.lsp.buf.add_workspace_folder, bufopts)
	vim.keymap.set('n', '<space>wr', vim.lsp.buf.remove_workspace_folder, bufopts)
	vim.keymap.set('n', '<space>wl', function()
	vim.keymap.set('n', '<leader>wa', vim.lsp.buf.add_workspace_folder, bufopts)
	vim.keymap.set('n', '<leader>wr', vim.lsp.buf.remove_workspace_folder, bufopts)
	vim.keymap.set('n', '<leader>wl', function()
		print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
	end, bufopts)
	vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, bufopts)
	vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, bufopts)
	vim.keymap.set('n', '<space>ca', vim.lsp.buf.code_action, bufopts)
	vim.keymap.set('n', '<leader>D', vim.lsp.buf.type_definition, bufopts)
	vim.keymap.set('n', '<leader>rn', vim.lsp.buf.rename, bufopts)
	vim.keymap.set('n', '<leader>ca', vim.lsp.buf.code_action, bufopts)
	vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts)
	vim.keymap.set('n', '<space>f', vim.lsp.buf.formatting, bufopts)



@@ 51,7 51,7 @@ local lsp_flags = {

local lsp_server_dir = vim.fn.stdpath('data')..'/lsp_servers'

lspconfig['rust_analyzer'].setup{
lspconfig['rust_analyzer'].setup {
	on_attach = on_attach,
	flags = lsp_flags,
	cmd = {lsp_server_dir..'/rust/rust-analyzer'},


@@ 61,7 61,7 @@ lspconfig['rust_analyzer'].setup{
	}
}

lspconfig['sumneko_lua'].setup{
lspconfig['sumneko_lua'].setup {
	on_attach = on_attach,
	flags = lsp_flags,
	cmd = {lsp_server_dir..'/sumneko_lua/extension/server/bin/lua-language-server'},


@@ 74,7 74,7 @@ lspconfig['sumneko_lua'].setup{
	}
}

lspconfig['gopls'].setup{
lspconfig['gopls'].setup {
	on_attach = on_attach,
	flags = lsp_flags,
	cmd = {lsp_server_dir..'/gopls/gopls'},


@@ 88,26 88,26 @@ lspconfig['gopls'].setup{
	--},
}

lspconfig['zls'].setup{
lspconfig['zls'].setup {
	on_attach = on_attach,
	flags = lsp_flags,
	cmd = {lsp_server_dir..'/zls/package/zls'},
}

lsp_installer.setup{
lsp_installer.setup {
	automatic_installation = true,
}

-- Make diagnostics a little bit less aggressive. Use \ee to see the error
-- under the cursor, or \ew to open a quickfix window with all of them.
vim.diagnostic.config({
vim.diagnostic.config {
	virtual_text = false,
	update_in_insert = false,
	signs = true,
	float = {
		border = 'single',
	},
})
}

-- Keep signature help open while still typing.
vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(

M vim/.config/nvim/lua/plugins.lua => vim/.config/nvim/lua/plugins.lua +43 -5
@@ 2,17 2,55 @@
local install_path = vim.fn.stdpath('data')..'/site/pack/packer/start/packer.nvim'
if vim.fn.empty(vim.fn.glob(install_path)) > 0 then
	packer_bootstrap = vim.fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path})
	vim.cmd [[packadd packer.nvim]]
end

return require('packer').startup(function(use)
	use 'wbthomason/packer.nvim' -- Manage itself
	use 'stevearc/dressing.nvim' -- Improve the select UI
	use 'jlanzarotta/bufexplorer' -- Buffer explorer
	use 'benmills/vimux' -- Tmux integration

	-- Configure/install LSP servers
	use {
		'wbthomason/packer.nvim', -- Manage itself
		'neovim/nvim-lspconfig',
		'williamboman/nvim-lsp-installer',
		requires = 'williamboman/nvim-lsp-installer',
		config = function()
			require('lsp')
		end,
	}

	-- Better syntax handling
	use {
		'nvim-treesitter/nvim-treesitter',
		run = ':TSUpdate'
	}

	-- Searching through stuff
	use {
		'nvim-telescope/telescope.nvim',
		requires = { {'nvim-lua/plenary.nvim'} },
	}

	-- Testing
	use {
		'vim-test/vim-test',
		config = function() 
			-- TODO: set the strategy
			vim.cmd [[let test#strategy = 'vimux']]
		end,
	}
	use { 'nvim-treesitter/nvim-treesitter', run = ':TSUpdate' }
	use { 'nvim-telescope/telescope.nvim', requires = { {'nvim-lua/plenary.nvim'} } }

	-- Colorscheme
	use { 'catppuccin/nvim', as = 'catppuccin' }
	use {
		'catppuccin/nvim',
		as = 'catppuccin',
		config = function()
			vim.cmd [[colorscheme catppuccin]]
		end,
	}

	if packer_bootstrap then
		require('packer').sync()
	end
end)

A vim/.config/nvim/lua/tree.lua => vim/.config/nvim/lua/tree.lua +9 -0
@@ 0,0 1,9 @@
local ok, nvim_tree = pcall(require, 'nvim-tree')
if not ok then
	return
end

vim.keymap.set('n', '<leader>nt', '<cmd>NvimTreeToggle<cr>')
vim.keymap.set('n', '<leader>nf', '<cmd>NvimTreeFindFile<cr>')

nvim_tree.setup()