some stuff

This commit is contained in:
ACPaul 2026-03-20 06:46:39 -04:00
parent 81bab8c54b
commit 1f8878fb55
2 changed files with 64 additions and 19 deletions

View File

@ -45,7 +45,7 @@ Kickstart Guide:
TODO: The very first thing you should do is to run the command `:Tutor` in Neovim. TODO: The very first thing you should do is to run the command `:Tutor` in Neovim.
If you don't know what this means, type the following: If you don't know what this means, type the following:init
- <escape key> - <escape key>
- : - :
- Tutor - Tutor
@ -102,7 +102,7 @@ vim.g.have_nerd_font = false
vim.o.number = true vim.o.number = true
-- You can also add relative line numbers, to help with jumping. -- You can also add relative line numbers, to help with jumping.
-- Experiment for yourself to see if you like it! -- Experiment for yourself to see if you like it!
-- vim.o.relativenumber = true vim.o.relativenumber = true
-- Enable mouse mode, can be useful for resizing splits for example! -- Enable mouse mode, can be useful for resizing splits for example!
vim.o.mouse = 'a' vim.o.mouse = 'a'
@ -149,8 +149,6 @@ vim.o.splitbelow = true
-- and `:help lua-guide-options` -- and `:help lua-guide-options`
vim.o.list = true vim.o.list = true
vim.opt.listchars = { tab = '» ', trail = '·', nbsp = '' } vim.opt.listchars = { tab = '» ', trail = '·', nbsp = '' }
vim.opt.tabstop = 4 -- how many spaces a tab counts for
vim.opt.shiftwidth = 4 -- spaces used for autoindent
vim.opt.expandtab = true -- convert tabs to spaces vim.opt.expandtab = true -- convert tabs to spaces
vim.opt.smartindent = true -- smarter auto indenting vim.opt.smartindent = true -- smarter auto indenting
@ -175,23 +173,47 @@ vim.o.confirm = true
-- See `:help hlsearch` -- See `:help hlsearch`
vim.keymap.set('n', '<Esc>', '<cmd>nohlsearch<CR>') vim.keymap.set('n', '<Esc>', '<cmd>nohlsearch<CR>')
-- Diagnostic Config & Keymaps -- Global LSP diagnostics configuration
-- See :help vim.diagnostic.Opts
vim.diagnostic.config { vim.diagnostic.config {
update_in_insert = false, -- Show diagnostics automatically, even while in insert mode
update_in_insert = true,
-- Sort by severity (errors first)
severity_sort = true, severity_sort = true,
float = { border = 'rounded', source = 'if_many' },
underline = { severity = { min = vim.diagnostic.severity.WARN } },
-- Can switch between these as you prefer -- Show virtual text inline for all severities
virtual_text = true, -- Text shows up at the end of the line virtual_text = {
virtual_lines = false, -- Text shows up underneath the line, with virtual lines spacing = 2, -- space between code and diagnostic
prefix = '', -- inline icon
format = function(diagnostic)
-- Only show the message itself, no file path
-- Replace newlines with space for a clean single-line message
return diagnostic.message:gsub('\n', ' ')
end,
},
-- Auto open the float, so you can easily read the errors when jumping with `[d` and `]d` -- Disable virtual lines
jump = { float = true }, virtual_lines = false,
-- Floating window (optional, on hover)
float = {
source = false, -- hide LSP name
border = 'rounded',
focusable = false,
header = '',
prefix = '',
},
} }
vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist, { desc = 'Open diagnostic [Q]uickfix list' }) -- Automatically show the diagnostic float when cursor is on a line
vim.api.nvim_create_autocmd('CursorHold', {
callback = function() vim.diagnostic.open_float(nil, { focusable = false }) end,
})
-- Keymaps for navigation (still useful)
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, { desc = 'Previous diagnostic' })
vim.keymap.set('n', ']d', vim.diagnostic.goto_next, { desc = 'Next diagnostic' })
vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist, { desc = 'Open diagnostic list' })
-- Exit terminal mode in the builtin terminal with a shortcut that is a bit easier -- Exit terminal mode in the builtin terminal with a shortcut that is a bit easier
-- for people to discover. Otherwise, you normally need to press <C-\><C-n>, which -- for people to discover. Otherwise, you normally need to press <C-\><C-n>, which
@ -636,8 +658,9 @@ require('lazy').setup({
}, },
clangd = {}, clangd = {},
pyright = {},
svlangserver = {},
-- gopls = {}, -- gopls = {},
-- pyright = {},
-- rust_analyzer = {}, -- rust_analyzer = {},
-- --
-- Some languages (like typescript) have entire language plugins that can be useful: -- Some languages (like typescript) have entire language plugins that can be useful:
@ -838,12 +861,13 @@ require('lazy').setup({
}, },
{ {
'wtfox/jellybeans.nvim', 'sainnhe/sonokai',
lazy = false, lazy = false,
priority = 1000, priority = 1000,
config = function() config = function()
-- Set default (vibrant dark) variant vim.g.sonokai_style = 'andromeda' -- or: default, atlantis, andromeda, shusia, maia, espresso
vim.cmd.colorscheme 'jellybeans' vim.g.sonokai_better_performance = 1
vim.cmd.colorscheme 'sonokai'
end, end,
}, },

View File

@ -9,9 +9,30 @@ vim.filetype.add {
}, },
} }
-- C++ compile and run
vim.keymap.set('n', '<leader>rc', function()
vim.cmd 'w'
vim.cmd 'vs | terminal g++ -std=c++17 -Wall -Wextra -Wshadow -Wconversion % -o %:r && ./%:r'
end, { desc = 'Compile and run C++ with warnings' })
-- Racket run
vim.keymap.set('n', '<leader>rr', function()
vim.cmd 'w'
vim.cmd 'vs | terminal racket %'
end, { desc = 'Run Racket file' })
---@module 'lazy' ---@module 'lazy'
---@type LazySpec ---@type LazySpec
return { return {
{
'MeanderingProgrammer/render-markdown.nvim',
dependencies = {
'nvim-treesitter/nvim-treesitter',
'nvim-mini/mini.nvim',
},
opts = {},
},
{ {
'ThePrimeagen/harpoon', 'ThePrimeagen/harpoon',
dependencies = { 'nvim-lua/plenary.nvim' }, dependencies = { 'nvim-lua/plenary.nvim' },