Compare commits

..

5 Commits

Author SHA1 Message Date
Fabian Becker
1f2385f7a7 Add new theme and markview 2025-10-23 10:28:22 +02:00
Fabian Becker
4bdaa38757 Incremental select with incr.nvim 2025-10-01 14:04:34 +03:00
Fabian Becker
14bb6cc423 Multiple updates across the board 2025-09-30 13:02:59 +03:00
5af41a0d7c Merge more changes 2025-09-26 19:29:34 +02:00
Fabian Becker
cb7e7a5ea4 Refactor LSP config into separate modules 2025-09-26 16:07:46 +02:00
21 changed files with 135 additions and 201 deletions

View File

@@ -11,10 +11,10 @@ abbr -a -- gca 'git commit --amend'
abbr -a -- gpf 'git push -f'
abbr -a -- gp 'git push'
abbr -a -- gl 'git pull'
abbr -a -- gl 'git rebase develop'
abbr -a -- gcd 'git checkout develop'
abbr -a -- gcm 'git checkout main'
abbr -a -- gc- 'git checkout -'
abbr -a -- gc 'git checkout'
abbr -a -- gau 'git add -u'
abbr -a -- api 'kubectl get pods -n backend | fzf | awk \'{print $1}\' | xargs -o -I {} kubectl exec -i -t -n backend {} --container api -- /opt/app/api/bin/api remote'
@@ -33,3 +33,5 @@ end
function mix_test_changed
git status -s | awk '{print $2}' | grep '_test.exs' | xargs mix test
end
~/.local/bin/mise activate fish | source

View File

@@ -1,6 +1,6 @@
# This file contains fish universal variable definitions.
# VERSION: 3.0
SETUVAR __fish_initialized:3400
SETUVAR __fish_initialized:3800
SETUVAR fish_color_autosuggestion:969896
SETUVAR fish_color_cancel:\x2d\x2dreverse
SETUVAR fish_color_command:b294bb
@@ -21,7 +21,7 @@ SETUVAR fish_color_option:\x1d
SETUVAR fish_color_param:81a2be
SETUVAR fish_color_quote:b5bd68
SETUVAR fish_color_redirection:8abeb7
SETUVAR fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack
SETUVAR fish_color_search_match:white\x1e\x2d\x2dbackground\x3dbrblack
SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
SETUVAR fish_color_status:red
SETUVAR fish_color_user:brgreen

View File

@@ -9,6 +9,10 @@ map ctrl+4 goto_tab 4
map ctrl+t new_tab
map ctrl+w close_tab
# --- Splits ---
map ctrl+b," launch --location=hsplit # Ctrl+b then " splits horizontally
map ctrl+b,% launch --location=vsplit # Ctrl+b then % splits vertically
# Supper power keys
map ctrl+; kitten toggle_term.py

View File

@@ -14,8 +14,8 @@ remember_window_size yes
allow_remote_control yes
listen_on unix:@mykitty
#include theme.conf
include rose_pine.conf
include theme.conf
#include rose_pine.conf
include keymap.conf
shell_integration enabled

View File

@@ -68,9 +68,9 @@ vim.cmd([[
noremap <silent> <C-Down> :resize -3<CR>
]])
-- Tab switch buffer
nnoremap('<TAB>', ':bnext<CR>')
nnoremap('<S-TAB>', ':bprevious<CR>')
-- -- Tab switch buffer
-- nnoremap('<TAB>', ':bnext<CR>')
-- nnoremap('<S-TAB>', ':bprevious<CR>')
-- Quickfix list
nnoremap('[q', ':cprev<CR>')

View File

@@ -79,11 +79,11 @@ end, { noremap = true, silent = true })
-- See `:help vim.diagnostic.*` for documentation on any of the below functions
vim.keymap.set('n', '<space>e', vim.diagnostic.open_float)
vim.keymap.set('n', ']d', function()
vim.diagnostic.goto_next()
vim.diagnostic.jump({count=1, float=true})
end, { desc = "Go to next diagnostic" })
vim.keymap.set('n', '[d', function()
vim.diagnostic.goto_prev()
vim.diagnostic.jump({count=-1, float=true})
end, { desc = "Go to previous diagnostic" })
vim.keymap.set('n', '<space>q', vim.diagnostic.setloclist)
@@ -117,73 +117,9 @@ vim.api.nvim_create_autocmd('LspAttach', {
end, opts)
end,
})
vim.lsp.config("lua_ls", {
settings = {
Lua = {
runtime = {
-- Tell the language server which version of Lua you're using
version = "LuaJIT",
},
diagnostics = {
-- Get the language server to recognize the `vim` global
globals = { "vim" },
},
workspace = {
-- Make the server aware of Neovim runtime files
library = vim.api.nvim_get_runtime_file("", true),
},
telemetry = {
-- Do not send telemetry data containing a randomized but unique identifier
enable = false,
},
},
},
})
-- Enable it
local neodev = require("neodev")
-- must run before enabling lua_ls
neodev.setup({})
vim.lsp.config("lua_ls", {
settings = {
Lua = {
runtime = { version = "LuaJIT" },
diagnostics = { globals = { "vim" } },
workspace = {
library = vim.api.nvim_get_runtime_file("", true),
checkThirdParty = false,
},
telemetry = { enable = false },
},
},
})
vim.lsp.config('gopls', {
cmd = { "gopls" },
filetypes = { "go", "gomod", "gowork", "gotmpl" },
root_markers = { "go.work", "go.mod", ".git" },
settings = {
gopls = {
analyses = {
unusedparams = true,
shadow = true,
},
staticcheck = true,
},
},
})
vim.lsp.enable 'lua_ls'
vim.lsp.enable 'gopls'
vim.lsp.config('expert', {
cmd = { 'expert' },
root_markers = { 'mix.exs', '.git' },
filetypes = { 'elixir', 'eelixir', 'heex' },
})
vim.lsp.enable 'expert'
vim.lsp.enable 'ruff'
vim.lsp.enable 'pyright'
vim.lsp.enable 'gleam'

View File

@@ -1,35 +0,0 @@
if vim.g.vscode then
return
end
local nnoremap = require('halfdan.keymap').nnoremap
local neotest = require('neotest')
local neotest_ns = vim.api.nvim_create_namespace("neotest")
vim.diagnostic.config({
virtual_text = {
format = function(diagnostic)
local message =
diagnostic.message:gsub("\n", " "):gsub("\t", " "):gsub("%s+", " "):gsub("^%s+", "")
return message
end,
},
}, neotest_ns)
nnoremap("<leader>nt", function()
neotest.run.run()
end)
nnoremap("<leader>nf", function()
neotest.run.run(vim.fn.expand("%"))
end)
nnoremap("<leader>nd", function()
neotest.run.run({ strategy = "dap" })
end)
nnoremap("<leader>ns", function()
neotest.summary.toggle()
end)

View File

@@ -1,9 +1,8 @@
{
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
"FTerm.nvim": { "branch": "master", "commit": "d1320892cc2ebab472935242d9d992a2c9570180" },
"FixCursorHold.nvim": { "branch": "master", "commit": "1900f89dc17c603eec29960f57c00bd9ae696495" },
"blink.cmp": { "branch": "main", "commit": "327fff91fe6af358e990be7be1ec8b78037d2138" },
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
"catppuccin": { "branch": "main", "commit": "5af9374957a65be8770696da295dc9016b96f241" },
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
"editorconfig-vim": { "branch": "master", "commit": "6a58b7c11f79c0e1d0f20533b3f42f2a11490cf8" },
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
@@ -11,6 +10,7 @@
"git-blame.nvim": { "branch": "master", "commit": "9874ec1ec8bc53beb33b7cd82c092b85271a578b" },
"gruvbox-baby": { "branch": "main", "commit": "bd52e62d8134647090108189e69c8b3cd18bdbbf" },
"hardtime.nvim": { "branch": "main", "commit": "b4e431934af1fe224a3a801f632c008278cb7628" },
"kanagawa.nvim": { "branch": "master", "commit": "debe91547d7fb1eef34ce26a5106f277fbfdd109" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"lsp-status.nvim": { "branch": "master", "commit": "54f48eb5017632d81d0fd40112065f1d062d0629" },
"lspsaga.nvim": { "branch": "main", "commit": "8efe00d6aed9db6449969f889170f1a7e43101a1" },
@@ -18,21 +18,21 @@
"lualine.nvim": { "branch": "master", "commit": "b8c23159c0161f4b89196f74ee3a6d02cdc3a955" },
"neo-tree.nvim": { "branch": "v3.x", "commit": "ed057048a281b418d5318dd5153f9486daa517a3" },
"neodev.nvim": { "branch": "main", "commit": "46aa467dca16cf3dfe27098042402066d2ae242d" },
"neogit": { "branch": "master", "commit": "704ed34e957c8702df994bdcc8404e134d1e8212" },
"neogit": { "branch": "master", "commit": "add70101fab5913cad33ab2f84f1a6ee092e7220" },
"neorg": { "branch": "main", "commit": "e206c9642f4a115cd836e76c98ef785623d335bc" },
"neorg-interim-ls": { "branch": "main", "commit": "52bdf8a8cd246a9205756449776aa057bd593d61" },
"neorg-telescope": { "branch": "main", "commit": "7fb6ca6a632c3c095601d379a664c0c1f802dc6c" },
"neoscroll.nvim": { "branch": "master", "commit": "f957373912e88579e26fdaea4735450ff2ef5c9c" },
"neotest": { "branch": "master", "commit": "2cf3544fb55cdd428a9a1b7154aea9c9823426e8" },
"neotest-elixir": { "branch": "master", "commit": "a242aebeaa6997c1c149138ff77f6cacbe33b6fc" },
"neotest-golang": { "branch": "main", "commit": "f5bd0488ced4ec266917f7b85f9e896436ab6d3a" },
"neotest-golang": { "branch": "main", "commit": "8a4a1dee307eafe553241f8b5f3337151678394e" },
"neotest-rust": { "branch": "main", "commit": "2c9941d4a358839918fac21d20fc8fef0e1ad05f" },
"neotest-vim-test": { "branch": "master", "commit": "75c4228882ae4883b11bfce9b8383e637eb44192" },
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"nvim-dap": { "branch": "master", "commit": "7367cec8e8f7a0b1e4566af9a7ef5959d11206a7" },
"nvim-dap-go": { "branch": "main", "commit": "b4421153ead5d726603b02743ea40cf26a51ed5f" },
"nvim-dap-ui": { "branch": "master", "commit": "cf91d5e2d07c72903d052f5207511bf7ecdb7122" },
"nvim-dap-virtual-text": { "branch": "master", "commit": "fbdb48c2ed45f4a8293d0d483f7730d24467ccb6" },
"nvim-lspconfig": { "branch": "master", "commit": "aafecf5b8bc0a768f1a97e3a6d5441e64dee79f9" },
"nvim-lspconfig": { "branch": "master", "commit": "336b388c272555d2ae94627a50df4c2f89a5e257" },
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
"nvim-notify": { "branch": "master", "commit": "8701bece920b38ea289b457f902e2ad184131a5d" },
"nvim-treesitter": { "branch": "main", "commit": "5a70b1eb8cbdf6c7f0a59dfb7356ad198421b620" },
@@ -40,7 +40,6 @@
"outline.nvim": { "branch": "main", "commit": "6b62f73a6bf317531d15a7ae1b724e85485d8148" },
"pathlib.nvim": { "branch": "main", "commit": "57e5598af6fe253761c1b48e0b59b7cd6699e2c1" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"popup.nvim": { "branch": "master", "commit": "b7404d35d5d3548a82149238289fa71f7f6de4ac" },
"rose-pine": { "branch": "main", "commit": "72a04c4065345b51b56aed4859ea1d884f734097" },
"rust.vim": { "branch": "master", "commit": "889b9a7515db477f4cb6808bef1769e53493c578" },
"rustaceanvim": { "branch": "master", "commit": "12504405821c05874d2d1f6b5ec919f9808e2c99" },
@@ -58,6 +57,5 @@
"vim-highlightedyank": { "branch": "master", "commit": "285a61425e79742997bbde76a91be6189bc988fb" },
"vim-projectionist": { "branch": "master", "commit": "5ff7bf79a6ef741036d2038a226bcb5f8b1cd296" },
"vim-sneak": { "branch": "master", "commit": "18b1faf020e6a66c1ce09b3ff5e6b6feb182973b" },
"vim-surround": { "branch": "master", "commit": "3d188ed2113431cf8dac77be61b842acb64433d9" },
"vim-test": { "branch": "master", "commit": "5ee3c0b3734eab612b9f70bbc8a4f69f17f8e8ef" }
"vim-surround": { "branch": "master", "commit": "3d188ed2113431cf8dac77be61b842acb64433d9" }
}

View File

@@ -0,0 +1,5 @@
return {
cmd = { 'expert' },
root_markers = { 'mix.exs', '.git' },
filetypes = { 'elixir', 'eelixir', 'heex' },
}

View File

@@ -0,0 +1,14 @@
return {
cmd = { "gopls" },
filetypes = { "go", "gomod", "gowork", "gotmpl" },
root_markers = { "go.work", "go.mod", ".git" },
settings = {
gopls = {
analyses = {
unusedparams = true,
shadow = true,
},
staticcheck = true,
},
},
}

View File

@@ -0,0 +1,13 @@
return {
settings = {
Lua = {
runtime = { version = "LuaJIT" },
diagnostics = { globals = { "vim" } },
workspace = {
library = vim.api.nvim_get_runtime_file("", true),
checkThirdParty = false,
},
telemetry = { enable = false },
},
},
}

View File

@@ -1,2 +1,2 @@
vim.g.nvcode_termcolors = 256
vim.cmd.colorscheme("gruvbox-baby")
vim.cmd.colorscheme("kanagawa-wave")

View File

@@ -32,4 +32,8 @@ return {
},
-- Used to display LSP status in Lualine
{ 'nvim-lua/lsp-status.nvim' },
{
'daliusd/incr.nvim',
config = true,
}
}

View File

@@ -0,0 +1,10 @@
return {
"OXY2DEV/markview.nvim",
lazy = false,
-- For blink.cmp's completion
-- source
-- dependencies = {
-- "saghen/blink.cmp"
-- },
};

View File

@@ -2,7 +2,7 @@ return {
{
"nvim-neorg/neorg",
lazy = false, -- Disable lazy loading as some `lazy.nvim` distributions set `lazy = true` by default
version = "*", -- Pin Neorg to the latest stable release
version = "4da2159b3f3420d43613f43e159f4253b8544474", -- Pin Neorg to the latest stable release
config = function()
require('neorg').setup({
load = {
@@ -16,11 +16,9 @@ return {
index = "index.norg",
}
},
-- ["core.completion"] = {
-- config = {
-- engine = "nvim-cmp",
-- },
-- },
["core.completion"] = {
config = { engine = { module_name = "external.lsp-completion" } },
},
["core.concealer"] = {},
["core.journal"] = {
config = {
@@ -28,9 +26,42 @@ return {
},
},
["core.integrations.telescope"] = {},
["core.keybinds"] = {
config = {
default_keybinds = true,
},
},
["external.interim-ls"] = {
config = {
-- default config shown
completion_provider = {
-- Enable or disable the completion provider
enable = true,
-- Show file contents as documentation when you complete a file name
documentation = true,
-- Try to complete categories provided by Neorg Query. Requires `benlubas/neorg-query`
categories = false,
-- suggest heading completions from the given file for `{@x|}` where `|` is your cursor
-- and `x` is an alphanumeric character. `{@name}` expands to `[name]{:$/people:# name}`
people = {
enable = false,
-- path to the file you're like to use with the `{@x` syntax, relative to the
-- workspace root, without the `.norg` at the end.
-- ie. `folder/people` results in searching `$/folder/people.norg` for headings.
-- Note that this will change with your workspace, so it fails silently if the file
-- doesn't exist
path = "people",
}
}
}
},
}
})
end,
},
{ 'nvim-neorg/neorg-telescope' },
{ 'nvim-neorg/neorg-telescope' , 'benlubas/neorg-interim-ls' },
}

View File

@@ -23,6 +23,18 @@ return {
require("neotest-golang")
},
})
local neotest_ns = vim.api.nvim_create_namespace("neotest")
vim.diagnostic.config({
virtual_text = {
format = function(diagnostic)
local message =
diagnostic.message:gsub("\n", " "):gsub("\t", " "):gsub("%s+", " "):gsub("^%s+", "")
return message
end,
},
}, neotest_ns)
end
},
}

View File

@@ -9,7 +9,10 @@ return {
"m4xshen/hardtime.nvim",
lazy = false,
dependencies = { "MunifTanjim/nui.nvim" },
opts = {},
opts = {
disable_mouse = false,
max_count = 5
},
},
{
"karb94/neoscroll.nvim",

View File

@@ -3,5 +3,6 @@ return {
{ "rose-pine/neovim", name = "rose-pine" },
{ "catppuccin/nvim", name = "catppuccin", priority = 1000 },
{ 'luisiacc/gruvbox-baby' },
{ "rebelot/kanagawa.nvim" }
{ "rebelot/kanagawa.nvim" },
{ "p00f/alabaster.nvim" }
}

View File

@@ -40,69 +40,4 @@ return {
-- "3rd/image.nvim", -- Optional image support in preview window: See `# Preview Mode` for more information
}
},
{
'akinsho/bufferline.nvim',
version = "*",
dependencies = 'nvim-tree/nvim-web-devicons',
keys = {
{ "<C-1>", "<Cmd>BufferLineGoToBuffer 1<CR>", desc = "Go to buffer 1" },
{ "<C-2>", "<Cmd>BufferLineGoToBuffer 2<CR>", desc = "Go to buffer 2" },
{ "<C-3>", "<Cmd>BufferLineGoToBuffer 3<CR>", desc = "Go to buffer 3" },
{ "<C-4>", "<Cmd>BufferLineGoToBuffer 4<CR>", desc = "Go to buffer 4" },
{ "<C-5>", "<Cmd>BufferLineGoToBuffer 5<CR>", desc = "Go to buffer 5" },
{ "<C-6>", "<Cmd>BufferLineGoToBuffer 6<CR>", desc = "Go to buffer 6" },
{ "<C-7>", "<Cmd>BufferLineGoToBuffer 7<CR>", desc = "Go to buffer 7" },
{ "<C-8>", "<Cmd>BufferLineGoToBuffer 8<CR>", desc = "Go to buffer 8" },
{ "<C-9>", "<Cmd>BufferLineGoToBuffer 9<CR>", desc = "Go to buffer 9" },
{ "<S-l>", "<Cmd>BufferLineCycleNext<CR>", desc = "Next buffer" },
{ "<S-h>", "<Cmd>BufferLineCyclePrev<CR>", desc = "Previous buffer" },
{ "<A-S-l>", "<Cmd>BufferLineMoveNext<CR>", desc = "Move buffer right" },
{ "<A-S-h>", "<Cmd>BufferLineMovePrev<CR>", desc = "Move buffer left" },
},
opts = function()
local monokai_opts = require("halfdan.util").opts("monokai-pro.nvim")
return {
options = {
diagnostics = "nvim_lsp", -- | "nvim_lsp" | "coc",
-- separator_style = "", -- | "thick" | "thin" | "slope" | { 'any', 'any' },
separator_style = { "", "" }, -- | "thick" | "thin" | { 'any', 'any' },
-- separator_style = "slant", -- | "thick" | "thin" | { 'any', 'any' },
indicator = {
-- icon = " ",
-- style = 'icon',
style = "underline",
},
close_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions"
diagnostics_indicator = function(count, _, _, _)
if count > 9 then
return "9+"
end
return tostring(count)
end,
numbers = function(opts)
return string.format('%s', opts.raise(opts.ordinal))
end,
offsets = {
{
filetype = "neo-tree",
text = "EXPLORER",
text_align = "center",
separator = vim.tbl_contains(monokai_opts.background_clear or {}, "neo-tree"), -- set to `true` if clear background of neo-tree
},
{
filetype = "NvimTree",
text = "EXPLORER",
text_align = "center",
separator = vim.tbl_contains(monokai_opts.background_clear or {}, "nvim-tree"), -- set to `true` if clear background of neo-tree
},
},
hover = {
enabled = true,
delay = 0,
reveal = { "close" },
},
},
}
end,
},
}

View File

@@ -57,6 +57,7 @@ vim.b.did_ftplugin = 1
-- vim.g.gruvbox_baby_background_color = "dark"
vim.g.mapleader = ' '
vim.g.maplocalleader = ','
vim.g.netrw_preview = 1 -- Split preview vertically
vim.g.netrw_alo = 1 -- Show preview window to the right

View File

@@ -1,8 +1,8 @@
elixir 1.18.2-otp-27
golang 1.24.0
golang 1.25.0
erlang 27.2.3
python 3.13.2
neovim 0.10.4
java openjdk-19
python 3.13.7
neovim 0.11.4
java openjdk-19
awscli 2.24.7
nodejs 18.20.4