Compare commits

..

2 commits

7 changed files with 24 additions and 21 deletions

View file

@ -103,7 +103,7 @@ with final.pkgs.lib; let
lua-language-server
clang-tools # provides clangd which is a c/c++ lsp
jdt-language-server # java ls
nixd # nix LSP
nil # nix lsp
rust-analyzer # rust LSP
vscode-langservers-extracted # various web dev lsps from vscode
typescript-language-server # css lsp thing
@ -116,6 +116,10 @@ with final.pkgs.lib; let
rustfmt # rust formatter
prettierd # typescript/javascript formatter
# google-java-format # java formatter based off google guidelines
# extra required packages
gcc
nodejs
];
in {
# This is the neovim derivation

View file

@ -1,5 +1,5 @@
-- Exit if the language server isn't available
if vim.fn.executable('nixd') ~= 1 then
if vim.fn.executable('nil') ~= 1 then
return
end
@ -11,8 +11,8 @@ local root_files = {
local lsp = require('user.lsp')
vim.lsp.start {
name = 'nixd',
cmd = { 'nixd' },
name = 'nil',
cmd = { 'nil' },
root_dir = vim.fs.dirname(vim.fs.find(root_files, { upward = true })[1]),
capabilities = lsp.make_client_capabilities(),
on_attach = lsp.on_attach,

View file

@ -22,7 +22,7 @@ end
opt.path = vim.o.path .. '**'
opt.number = true
opt.relativenumber = false
opt.relativenumber = true
opt.cursorline = true
opt.lazyredraw = true
opt.showmatch = true -- Highlight matching parentheses, etc

View file

@ -89,9 +89,6 @@ vim.api.nvim_create_autocmd('LspAttach', {
keymap.set('n', '<M-l>', vim.lsp.codelens.run, desc('[lsp] run code lens'))
keymap.set('n', '<space>cr', vim.lsp.codelens.refresh, desc('lsp [c]ode lenses [r]efresh'))
keymap.set('n', 'gr', vim.lsp.buf.references, desc('lsp [g]et [r]eferences'))
keymap.set('n', '<space>f', function()
vim.lsp.buf.format { async = true }
end, desc('[lsp] [f]ormat buffer'))
if client and client.server_capabilities.inlayHintProvider then
keymap.set('n', '<space>h', function()
local current_setting = vim.lsp.inlay_hint.is_enabled { bufnr = bufnr }

View file

@ -4,6 +4,7 @@ require('conform').setup {
nix = { 'alejandra' },
rust = { 'rustfmt' },
typescript = { 'prettierd' },
-- Conform will run multiple formatters sequentially
-- python = { "isort", "black" },
-- You can customize some of the format options for the filetype (:help conform.format)
@ -11,9 +12,14 @@ require('conform').setup {
-- Conform will run the first available formatter
-- javascript = { "prettierd", "prettier", stop_after_first = true },
},
format_on_save = {
-- These options will be passed to conform.format()
timeout_ms = 500,
lsp_format = 'fallback',
},
format_on_save = nil,
-- format_on_save = {
-- -- These options will be passed to conform.format()
-- timeout_ms = 500,
-- lsp_format = 'fallback',
-- },
}
vim.keymap.set('n', '<space>f', function()
require('conform').format { async = true, lsp_format = 'fallback' }
end, { desc = '[f]ormat buffer' })

View file

@ -27,14 +27,9 @@ vim.keymap.set('n', '<leader>sf', builtin.find_files, { desc = '[S]earch [F]iles
vim.keymap.set('n', '<leader>ss', builtin.builtin, { desc = '[S]earch [S]elect Telescope' })
vim.keymap.set('n', '<leader>sw', builtin.grep_string, { desc = '[S]earch current [W]ord' })
vim.keymap.set('n', '<leader>sg', builtin.live_grep, { desc = '[S]earch by [G]rep' })
vim.keymap.set('n', '<leader>sd', builtin.diagnostics, { desc = '[S]earch [D]iagnostics' })
vim.keymap.set('n', '<leader>se', builtin.diagnostics, { desc = '[S]earch [E]rrors' })
vim.keymap.set('n', '<leader><leader>', builtin.buffers, { desc = '[ ] Find existing buffers' })
vim.keymap.set(
'n',
'<leader>fb',
':Telescope file_browser<CR>',
{ desc = '[F]ile [B]rowser', noremap = true, silent = true }
)
vim.keymap.set('n', '<leader>sd', ':Telescope file_browser<CR>', { desc = 'Search [D]irectory' })
telescope.setup {
defaults = {

View file

@ -11,6 +11,7 @@ wk.add {
{ '<leader>s', group = '[S]earch' },
{ '<leader>w', group = '[W]orkspace' },
{ '<leader>t', group = '[T]oggle' },
{ '<leader>f', group = '[F]ormat' },
{ '<leader>g', group = '[G]it' },
{ '<leader>p', group = '[P]eek' },
{ '<leader>h', group = 'Git [H]unk', mode = { 'n', 'v' } },