commit 826b28c38456c080c848d42d6af10f7556119af5
parent 3364e49f925df4ed561793f0d51db889b7ead271
Author: Chris <chris@echoz.io>
Date: Wed, 26 Nov 2025 18:12:33 +0100
feat(neovim): set up some more lsps, key binds
Diffstat:
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/modules/neovim/default.nix b/modules/neovim/default.nix
@@ -17,5 +17,7 @@
environment.systemPackages = with pkgs; [
nixd
+ gopls
+ typescript-language-server
];
}
diff --git a/modules/neovim/neovim.lua b/modules/neovim/neovim.lua
@@ -17,6 +17,8 @@ vim.keymap.set({'n','v'}, '<C-c>', '"+y')
vim.keymap.set({'n','v'}, '<C-v>', '"+p')
vim.keymap.set({'n','v'}, '<C-x>', '"+d')
vim.keymap.set({'n','v'}, '<C-q>', '<C-v>', { noremap = true})
+vim.keymap.set({'n','v'}, '<C-n>', ':bn<cr>')
+vim.keymap.set({'n','v'}, '<C-p>', ':bp<cr>')
vim.api.nvim_create_autocmd('BufReadPost', {
group = vim.api.nvim_create_augroup('ReturnToLastLine', { clear = true }),
callback = function()
@@ -111,6 +113,19 @@ vim.lsp.config('nixd', {
filetypes = { 'nix' },
root_markers = { 'flake.nix', '.git' },
})
+vim.lsp.config('gopls', {
+ cmd = { 'gopls' },
+ filetypes = { 'go', 'gomod', 'gowork', 'gotmpl' },
+ root_markers = { 'go.work', 'go.mod', '.git' },
+})
+vim.lsp.config('typescript-language-server', {
+ cmd = { 'typescript-language-server', '--stdio' },
+ filetypes = { 'javascript', 'typescript' },
+ root_markers = { 'jsconfig.json', 'tsconfig.json', 'package.json', '.git' },
+ init_options = { hostInfo = 'neovim' },
+})
vim.lsp.enable({
- "nixd",
+ 'nixd',
+ 'gopls',
+ 'typescript-language-server',
})