@@ 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
+]]
@@ 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(
@@ 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)