mirror of
https://github.com/kossLAN/nvim-flake.git
synced 2025-11-05 02:09:49 -05:00
Compare commits
No commits in common. "725b32dbcdf5bb8aed61357745c31cf93cbd2401" and "e54bd1fe69378440d2a69bd508d0e733143f982a" have entirely different histories.
725b32dbcd
...
e54bd1fe69
7 changed files with 21 additions and 24 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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 }
|
||||||
|
|
|
||||||
|
|
@ -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' })
|
|
||||||
|
|
|
||||||
|
|
@ -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 = {
|
||||||
|
|
@ -52,7 +57,7 @@ telescope.setup {
|
||||||
local multi = picker:get_multi_selection()
|
local multi = picker:get_multi_selection()
|
||||||
actions.select_default(pb) -- the normal enter behaviour
|
actions.select_default(pb) -- the normal enter behaviour
|
||||||
for _, j in pairs(multi) do
|
for _, j in pairs(multi) do
|
||||||
if j.path ~= nil then -- is it a file -> open it as well:
|
if j.path ~= nil then -- is it a file -> open it as well:
|
||||||
vim.cmd(string.format('%s %s', 'edit', j.path))
|
vim.cmd(string.format('%s %s', 'edit', j.path))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -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' } },
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue