forked from pub-solar/os
Merge pull request 'feature/neovim-improvements' (#64) from feature/neovim-improvements into main
Reviewed-on: https://git.b12f.io/pub-solar/os/pulls/64 Reviewed-by: Benjamin Bädorf <b12f@noreply.example.org>
This commit is contained in:
commit
88ee3fe4c7
|
@ -8,6 +8,14 @@ set completeopt=menuone,noinsert,noselect
|
||||||
" Avoid showing extra messages when using completion
|
" Avoid showing extra messages when using completion
|
||||||
set shortmess+=c
|
set shortmess+=c
|
||||||
|
|
||||||
|
function AddTemplate(tmpl_file)
|
||||||
|
exe "0read " . a:tmpl_file
|
||||||
|
set nomodified
|
||||||
|
6
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
autocmd BufNewFile shell.nix call AddTemplate("$XDG_DATA_HOME/nvim/templates/shell.nix.tmpl")
|
||||||
|
|
||||||
" Configure neovim 0.6+ experimental LSPs
|
" Configure neovim 0.6+ experimental LSPs
|
||||||
" https://github.com/neovim/nvim-lspconfig
|
" https://github.com/neovim/nvim-lspconfig
|
||||||
" https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md
|
" https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md
|
||||||
|
@ -46,6 +54,22 @@ lua <<EOF
|
||||||
vim.api.nvim_buf_set_keymap(bufnr, 'n', '<leader>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts)
|
vim.api.nvim_buf_set_keymap(bufnr, 'n', '<leader>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts)
|
||||||
vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
|
vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
|
||||||
|
|
||||||
|
-- Show diagnostic popup on cursor hold
|
||||||
|
vim.api.nvim_create_autocmd("CursorHold", {
|
||||||
|
buffer = bufnr,
|
||||||
|
callback = function()
|
||||||
|
local opts = {
|
||||||
|
focusable = false,
|
||||||
|
close_events = { "BufLeave", "CursorMoved", "InsertEnter", "FocusLost" },
|
||||||
|
border = 'rounded',
|
||||||
|
source = 'always',
|
||||||
|
prefix = ' ',
|
||||||
|
scope = 'cursor',
|
||||||
|
}
|
||||||
|
vim.diagnostic.open_float(nil, opts)
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Add additional capabilities supported by nvim-cmp
|
-- Add additional capabilities supported by nvim-cmp
|
||||||
|
@ -190,9 +214,6 @@ for type, icon in pairs(signs) do
|
||||||
end
|
end
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
" Show diagnostic popup on cursor hold
|
|
||||||
autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, { focus = false, scope = "cursor" })
|
|
||||||
|
|
||||||
" have a fixed column for the diagnostics to appear in
|
" have a fixed column for the diagnostics to appear in
|
||||||
" this removes the jitter when warnings/errors flow in
|
" this removes the jitter when warnings/errors flow in
|
||||||
set signcolumn=yes:2
|
set signcolumn=yes:2
|
||||||
|
|
|
@ -54,6 +54,20 @@ in
|
||||||
# Ensure nvim backup directory gets created
|
# Ensure nvim backup directory gets created
|
||||||
# Workaround for E510: Can't make backup file (add ! to override)
|
# Workaround for E510: Can't make backup file (add ! to override)
|
||||||
xdg.dataFile."nvim/backup/.keep".text = "";
|
xdg.dataFile."nvim/backup/.keep".text = "";
|
||||||
|
xdg.dataFile."nvim/templates/.keep".text = "";
|
||||||
|
xdg.dataFile."shell.nix.tmpl" = {
|
||||||
|
text = ''
|
||||||
|
let
|
||||||
|
unstable = import (fetchTarball https://github.com/nixos/nixpkgs/archive/nixos-unstable.tar.gz) { };
|
||||||
|
in
|
||||||
|
{ nixpkgs ? import <nixpkgs> {} }:
|
||||||
|
with nixpkgs; mkShell {
|
||||||
|
buildInputs = [
|
||||||
|
];
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
target = "nvim/templates/shell.nix.tmpl";
|
||||||
|
};
|
||||||
|
|
||||||
# Allow unfree packages only on a user basis, not on a system-wide basis
|
# Allow unfree packages only on a user basis, not on a system-wide basis
|
||||||
xdg.configFile."nixpkgs/config.nix".text = " { allowUnfree = true; } ";
|
xdg.configFile."nixpkgs/config.nix".text = " { allowUnfree = true; } ";
|
||||||
|
|
Loading…
Reference in a new issue