Compare commits

..

No commits in common. "725b32dbcdf5bb8aed61357745c31cf93cbd2401" and "e54bd1fe69378440d2a69bd508d0e733143f982a" have entirely different histories.

7 changed files with 21 additions and 24 deletions

View file

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

View file

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

View file

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

View file

@ -89,6 +89,9 @@ vim.api.nvim_create_autocmd('LspAttach', {
keymap.set('n', '<M-l>', vim.lsp.codelens.run, desc('[lsp] run code lens')) 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', '<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', '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 if client and client.server_capabilities.inlayHintProvider then
keymap.set('n', '<space>h', function() keymap.set('n', '<space>h', function()
local current_setting = vim.lsp.inlay_hint.is_enabled { bufnr = bufnr } local current_setting = vim.lsp.inlay_hint.is_enabled { bufnr = bufnr }

View file

@ -4,7 +4,6 @@ require('conform').setup {
nix = { 'alejandra' }, nix = { 'alejandra' },
rust = { 'rustfmt' }, rust = { 'rustfmt' },
typescript = { 'prettierd' }, typescript = { 'prettierd' },
-- Conform will run multiple formatters sequentially -- Conform will run multiple formatters sequentially
-- python = { "isort", "black" }, -- python = { "isort", "black" },
-- You can customize some of the format options for the filetype (:help conform.format) -- You can customize some of the format options for the filetype (:help conform.format)
@ -12,14 +11,9 @@ require('conform').setup {
-- Conform will run the first available formatter -- Conform will run the first available formatter
-- javascript = { "prettierd", "prettier", stop_after_first = true }, -- javascript = { "prettierd", "prettier", stop_after_first = true },
}, },
format_on_save = nil, format_on_save = {
-- format_on_save = { -- These options will be passed to conform.format()
-- -- These options will be passed to conform.format() timeout_ms = 500,
-- timeout_ms = 500, lsp_format = 'fallback',
-- 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,9 +27,14 @@ 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>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>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>sg', builtin.live_grep, { desc = '[S]earch by [G]rep' })
vim.keymap.set('n', '<leader>se', builtin.diagnostics, { desc = '[S]earch [E]rrors' }) vim.keymap.set('n', '<leader>sd', builtin.diagnostics, { desc = '[S]earch [D]iagnostics' })
vim.keymap.set('n', '<leader><leader>', builtin.buffers, { desc = '[ ] Find existing buffers' }) vim.keymap.set('n', '<leader><leader>', builtin.buffers, { desc = '[ ] Find existing buffers' })
vim.keymap.set('n', '<leader>sd', ':Telescope file_browser<CR>', { desc = 'Search [D]irectory' }) vim.keymap.set(
'n',
'<leader>fb',
':Telescope file_browser<CR>',
{ desc = '[F]ile [B]rowser', noremap = true, silent = true }
)
telescope.setup { telescope.setup {
defaults = { defaults = {

View file

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