5 Commits

Author SHA1 Message Date
Natercio Moniz
10906c7fcf script to cleanup nvim env 2025-10-23 11:22:00 +01:00
Natercio Moniz
148c8a0716 remove avante 2025-08-05 09:49:40 +01:00
Natercio Moniz
5ac6e4b5ea enabled friendly-snippets 2025-08-05 09:49:14 +01:00
Natercio Moniz
4f3a964e42 add shortcut to toggle the debug sessions panel 2025-07-23 17:10:01 +01:00
Natercio Moniz
e97cbf946c remove console from dap-ui layout 2025-07-21 15:35:58 +01:00
4 changed files with 97 additions and 74 deletions

65
clean.sh Executable file
View File

@@ -0,0 +1,65 @@
#!/bin/bash
set -euo pipefail
SRC_DIRS=(
"$HOME/.local/share/nvim"
"$HOME/.local/state/nvim"
"$HOME/.cache/nvim"
)
# Ask if user wants to backup
printf "Do you want to backup before cleaning? [Y/n]: "
read -r BACKUP_CHOICE
case ${BACKUP_CHOICE:-} in
[nN]|[nN][oO])
BACKUP=false
;;
*)
BACKUP=true
TAG=.bak-$(date +%Y-%m-%d_%H-%M-%S)
;;
esac
# Show plan and confirm
printf "\n"
if [ "$BACKUP" = true ]; then
printf "This will back up and clean your Neovim directories.\n"
printf "Backup suffix to be appended: %s\n\n" "$TAG"
printf "Plan:\n"
for SRC in "${SRC_DIRS[@]}"; do
if [ -e "$SRC" ]; then
DEST="${SRC}${TAG}"
printf " %s ➡️ %s\n" "$SRC" "$DEST"
fi
done
else
printf "This will remove your Neovim directories WITHOUT backup.\n\n"
printf "Plan:\n"
for SRC in "${SRC_DIRS[@]}"; do
if [ -e "$SRC" ]; then
printf " %s ❌\n" "$SRC"
fi
done
fi
printf "\n"
read -r -p "Are you sure you want to proceed? [y/N]: " CONFIRM
case ${CONFIRM:-} in
[yY]|[yY][eE][sS]) ;;
*) printf "Aborted!\n"; exit 0;;
esac
# Perform action based on backup choice
for SRC in "${SRC_DIRS[@]}"; do
if [ -e "$SRC" ]; then
if [ "$BACKUP" = true ]; then
DEST="${SRC}${TAG}"
mv "$SRC" "$DEST"
else
rm -rf "$SRC"
fi
fi
done
printf "Done!"

View File

@@ -494,15 +494,12 @@ require('lazy').setup({
return 'make install_jsregexp'
end)(),
dependencies = {
-- `friendly-snippets` contains a variety of premade snippets.
-- See the README about individual language/framework/plugin snippets:
-- https://github.com/rafamadriz/friendly-snippets
-- {
-- 'rafamadriz/friendly-snippets',
-- config = function()
-- require('luasnip.loaders.from_vscode').lazy_load()
-- end,
-- },
{
'rafamadriz/friendly-snippets',
config = function()
require('luasnip.loaders.from_vscode').lazy_load()
end,
},
},
opts = {},
},
@@ -554,6 +551,7 @@ require('lazy').setup({
sources = {
default = { 'lsp', 'path', 'snippets', 'lazydev' },
providers = {
snippets = { score_offset = -100 },
lazydev = { module = 'lazydev.integrations.blink', score_offset = 100 },
},
},

View File

@@ -1,64 +0,0 @@
return {
'yetone/avante.nvim',
build = function()
return 'make'
end,
event = 'VeryLazy',
version = false, -- Never set this value to "*"! Never!
---@module 'avante'
---@type avante.Config
opts = {
-- add any opts here
-- for example
provider = 'claude',
providers = {
claude = {
endpoint = 'https://api.anthropic.com',
model = 'claude-sonnet-4-20250514',
timeout = 15000, -- Timeout in milliseconds
extra_request_body = {
temperature = 0.75,
max_tokens = 20480,
},
},
},
},
dependencies = {
'nvim-lua/plenary.nvim',
'MunifTanjim/nui.nvim',
--- The below dependencies are optional,
'echasnovski/mini.pick', -- for file_selector provider mini.pick
'nvim-telescope/telescope.nvim', -- for file_selector provider telescope
'hrsh7th/nvim-cmp', -- autocompletion for avante commands and mentions
'ibhagwan/fzf-lua', -- for file_selector provider fzf
'stevearc/dressing.nvim', -- for input provider dressing
'folke/snacks.nvim', -- for input provider snacks
'nvim-tree/nvim-web-devicons', -- or echasnovski/mini.icons
'zbirenbaum/copilot.lua', -- for providers='copilot'
--{
-- -- support for image pasting
-- 'HakonHarnes/img-clip.nvim',
-- event = 'VeryLazy',
-- opts = {
-- -- recommended settings
-- default = {
-- embed_image_as_base64 = false,
-- prompt_for_file_name = false,
-- drag_and_drop = {
-- insert_mode = true,
-- },
-- -- required for Windows users
-- use_absolute_path = true,
-- },
-- },
--},
{
-- Make sure to set this up properly if you have lazy=true
'MeanderingProgrammer/render-markdown.nvim',
opts = {
file_types = { 'markdown', 'Avante' },
},
ft = { 'markdown', 'Avante' },
},
},
}

View File

@@ -11,6 +11,7 @@ return {
local dap = require 'dap'
local dapui = require 'dapui'
local dapgo = require 'dap-go'
local dapwidgets = require 'dap.ui.widgets'
return {
-- Basic debugging keymaps, feel free to change to your liking!
@@ -34,7 +35,8 @@ return {
desc = 'Debug: Set Breakpoint',
},
-- Toggle to see last session result. Without this, you can't see session output in case of unhandled exception.
{ '<leader>td', dapui.toggle, desc = 'Debug: [T]oggle [D]AP ui.' },
{ '<leader>td', dapui.toggle, desc = 'Debug: [T]oggle [D]AP ui' },
{ '<leader>ts', dapwidgets.sidebar(dapwidgets.sessions, nil, '5 sp').toggle, desc = 'Debug: [T]oggle [S]essions panel' }, -- show sessions panel
{ '<leader>rl', dap.run_last, desc = 'Debug: [R]un [l]ast' },
{ '<leader>rt', dapgo.debug_test, desc = 'Debug: [R]un [t]est' },
unpack(keys),
@@ -87,6 +89,28 @@ return {
disconnect = '',
},
},
layouts = {
{
elements = {
{ id = 'scopes', size = 0.25 },
{ id = 'breakpoints', size = 0.25 },
{ id = 'stacks', size = 0.25 },
{ id = 'watches', size = 0.25 },
},
size = 40, -- width of the panel
position = 'left',
},
{
elements = {
{ id = 'repl', size = 1.0 },
-- mostly useless to me (Delve doesn't use it)
-- { id = "console", size = 0.25 }
},
size = 10, -- height of the panel
position = 'bottom',
},
},
}
vim.fn.sign_define('DapBreakpoint', { text = '🔴', texthl = '', linehl = '', numhl = '' })