Compare commits

...

50 Commits

Author SHA1 Message Date
c3806dfd61 diffview 2026-07-20 17:13:20 +02:00
1b250f4500 wrap plugin 2026-07-15 17:37:10 +02:00
0ef267297e better markdown defaults 2026-07-10 20:32:07 +02:00
17c19d3452 typst lsp 2026-07-08 21:09:45 +02:00
da91033d53 ghostty config 2026-07-08 21:02:16 +02:00
1c6f0a0e46 better options 2026-07-03 14:49:36 +02:00
1c2b5f8a0e transition to mini-completion 2026-07-03 14:41:01 +02:00
db120ff9e3 update plugins 2026-07-03 14:15:14 +02:00
35ea810bd8 pairs in commands 2026-07-03 14:13:04 +02:00
379881887c less hjkl supression 2026-07-03 14:10:18 +02:00
ac6b9739a5 delete unused plugin 2026-07-03 14:08:13 +02:00
199c37fe89 cleanup 2026-07-03 11:32:03 +02:00
6fabafacf1 autopairs 2026-07-03 11:27:41 +02:00
3678a14632 quick code actions 2026-07-03 05:16:29 +02:00
35fb1cfc59 add eslint to Mason 2026-07-03 05:10:15 +02:00
4d26049347 cleanup 2026-07-03 04:40:07 +02:00
7897d5169f fix goto deprication 2026-07-03 04:36:40 +02:00
74fa81f857 better diagnostic behavior 2026-07-03 04:34:43 +02:00
baf089a8e5 document frustration 2026-07-03 04:02:41 +02:00
f23aa495a4 fix double submit 2026-07-03 03:37:56 +02:00
af9c944768 fix cmp blinking notifications 2026-07-03 03:32:15 +02:00
165d3ccc20 blink.cmp 2026-07-03 03:27:58 +02:00
8b3598b821 refresh reamps 2026-07-02 02:54:58 +02:00
a9c8c0bef7 disable C autoformatting 2026-07-01 23:10:47 +02:00
5243e672c8 Improved norm compliance 2026-07-01 22:19:31 +02:00
6bbeab55d1 readme updates 2026-06-30 18:28:53 +02:00
3b0f8b92bb Add tailwind language server 2026-06-30 15:22:03 +02:00
a40c9588a0 finish error handling 2026-06-29 22:55:56 +02:00
683215d09d formatting 2026-06-29 22:52:43 +02:00
453e599a57 auto format 2026-06-29 22:39:09 +02:00
02721b097e use of system clipboard 2026-06-28 19:14:38 +02:00
26c53fe210 lazygit + docs 2026-06-28 14:29:32 +02:00
7521292d38 Simplify the tabs 2026-06-28 13:49:38 +02:00
c0a6c5848a Custom tabline 2026-06-28 13:34:02 +02:00
e41cd21a1d prepare for tmux 2026-06-28 13:21:45 +02:00
8ceabee7cd terminally experimenting 2026-06-28 12:52:35 +02:00
09a4e3e322 cleanup configs 2026-06-28 12:36:17 +02:00
dbcab8ada3 disable 42 2026-06-28 00:58:03 +02:00
d66b0a8fb5 configs 2026-06-28 00:57:08 +02:00
cfe6ea12f7 improvements 2026-06-28 00:39:10 +02:00
ba80d54a52 Cool docs 2026-06-28 00:29:09 +02:00
f63bb12b4a better telescope 2026-06-28 00:17:17 +02:00
ebc9039915 oil git integration 2026-06-27 22:20:44 +02:00
88ed0146d2 refactor struct 2026-06-27 20:38:07 +02:00
3731c014f7 More clues 2026-06-27 19:59:24 +02:00
479ba02e79 better diff colors 2026-06-27 19:56:59 +02:00
00290628f8 Added mini pluligins and improved Mason. 2026-06-27 19:52:00 +02:00
60a602922e major update 2026-06-27 19:28:45 +02:00
22981a59f6 improving sets 2026-06-27 19:09:03 +02:00
05b83edc1a more inpirations 2026-06-27 18:38:23 +02:00
31 changed files with 527 additions and 144 deletions

View File

@@ -1,7 +1,10 @@
# prefer this if stow is available
.PHONY: stow
.PHONY: stow unstow
stow:
stow nvim
stow nvim ghostty
unstow:
stow -D nvim ghostty
LN := ln -svf
LNDIR := ln -sv
@@ -10,14 +13,21 @@ DOTFILES_DIR := $(shell pwd)
TARGET_DIR := $(HOME)
# if stow is not available, symlink configs instead
.PHONY: link
# this is currently outdated
.PHONY: link unlink
link: nvim
unlink: unnvim
.PHONY: nvim
nvim:
rm -rf $(TARGET_DIR)/.config/nvim
$(LNDIR) $(DOTFILES_DIR)/nvim/.config/nvim $(TARGET_DIR)/.config/nvim
.PHONY: unnvim
unnvim:
rm -rf $(TARGET_DIR)/.config/nvim
.PHONY: git
git:
rm -f $(TARGET_DIR)/.gitconfig

View File

@@ -0,0 +1,13 @@
font-feature = -calt, -liga, -dlig
# Use Alt for multi-teriminal management
keybind = ctrl+shift+t=unbind
keybind = alt+t=new_tab
keybind = ctrl+shift+w=unbind
keybind = alt+w=close_tab:this
keybind = ctrl+enter=unbind
keybind = alt+enter=toggle_fullscreen
# Disable touchpad horizontal-swipe tab switching.
# Will come in next version
# gtk-horizontal-tab-scroll = false

View File

@@ -0,0 +1,2 @@
sudo dnf copr enable scottames/ghostty
sudo dnf install ghostty

View File

@@ -3,6 +3,9 @@
Inspirations:
- [illya](https://codeberg.org/42nerds/nvim)
- [nolan](https://github.com/Hrumble/sneaky-nvim-config)
- [mats](https://github.com/BeerB34r/dotfiles)
[Great guide on vim.pack](https://echasnovski.com/blog/2026-03-13-a-guide-to-vim-pack#delete)
# Neovim Notes
@@ -36,6 +39,19 @@ Telescope shortcuts:
- `<leader>fb` list buffers
- `<leader>fh` browse help tags
Git shortcuts:
- `:Git` to run commands directly (`:Git status`, `:Git log --oneline`)
- `<leader>lg` open LazyGit
- `<leader>dv` open Diffview
- `<leader>dc` close Diffview
Toggle shortcuts:
- `<leader>tw` toggle soft wrap
- `<leader>ti` toggle inline diagnostics
- `<leader>tv` toggle virtual diagnostics
Oil usage:
- `<leader>dl` opens the file browser
@@ -45,16 +61,14 @@ Oil usage:
- `<A-h>` also goes to the parent directory
- `<A-l>` opens the selected file or enters the selected directory
- `<C-p>` previews the selected entry
- `gx` opens the file in external viewer
## Window Navigation
Move between windows with:
```vim
<C-h> left
<C-j> down
<C-k> up
<C-l> right
<C-hjkl>
```
Cycle through windows:
@@ -65,35 +79,47 @@ Cycle through windows:
## Terminal
Leave terminal mode and return to normal mode:
Two options to leave terminal mode and return to normal mode:
```vim
<Esc>
<\\-Esc>
<C-Esc>
```
## LSP
When an LSP server is attached to the current buffer:
Useful Mason commands:
```vim
:Mason
:MasonLog
:checkhealth mason
```
Useful LSP commands:
- `gd` go to definition
- `gD` go to declaration
- `grd` list references
- `grn` rename symbol
- `<C-Space>` trigger completion
- `<leader>ca` show code actions
- `<leader>cf` apply quick fixes
- `<leader>cs` show source actions
Diagnostics:
- `g.` open diagnostic float
- `gl` send diagnostics to the location list
- `gle` display error information
- `gie` toggle inline errors
- `gve` toggle virtual line errors
- `g]` jump to next error
- `g[` jump to previous error
- `gld` display diagnostic information
- `<leader>ti` toggle inline diagnostics
- `<leader>tv` toggle virtual diagnostics
- `]g` jump to next warning or error
- `[g` jump to previous warning or error
## Tree-sitter
Tree-sitter is managed with `nvim-treesitter` via `vim.pack`. `tree-sitter-cli` and a C compiler is required to be installed.
`tree-sitter-cli` and a C compiler is required to be installed.
Useful commands:

View File

@@ -1 +1,4 @@
vim.opt_local.textwidth = 80
local o = vim.opt_local
o.textwidth = 80
o.expandtab = false

View File

@@ -0,0 +1 @@
require("romanzy.custom.wrap").toggle(true)

View File

@@ -0,0 +1,3 @@
local o = vim.opt_local
o.expandtab = false

View File

@@ -0,0 +1 @@
require("romanzy.custom.wrap").toggle(true)

View File

@@ -0,0 +1 @@
require("romanzy.custom.wrap").toggle(true)

View File

@@ -0,0 +1 @@
require("romanzy.custom.wrap").toggle(true)

View File

@@ -0,0 +1,24 @@
local uc = vim.api.nvim_create_user_command
local ac = vim.api.nvim_create_autocmd
local aug = vim.api.nvim_create_augroup
uc("W", "w|e", { desc = "write file then refresh buffer" })
ac("TextYankPost", {
desc = "Highlight when yanking text",
group = aug("highlight-yank", { clear = true }),
callback = function()
vim.highlight.on_yank()
end,
})
-- ac("LspAttach", {
-- desc = "Notify user about attached LSP clients",
-- group = aug("LSPOnAttach", { clear = true }),
-- callback = function(event)
-- local client = vim.lsp.get_client_by_id(event.data.client_id)
-- if client then
-- vim.notify(client.name .. " attached", vim.log.levels.INFO, {})
-- end
-- end,
-- })

View File

@@ -0,0 +1,24 @@
local M = {}
function M.render()
local current = vim.fn.tabpagenr()
local last = vim.fn.tabpagenr("$")
local parts = {}
for index = 1, last do
parts[#parts + 1] = index == current and "%#TabLineSel#" or "%#TabLine#"
parts[#parts + 1] = "%" .. index .. "T"
parts[#parts + 1] = " " .. index .. " "
end
parts[#parts + 1] = "%#TabLineFill#%T"
return table.concat(parts)
end
function M.setup()
_G.RomanzyTabline = M.render
vim.opt.tabline = "%!v:lua.RomanzyTabline()"
end
return M

View File

@@ -0,0 +1,17 @@
local M = {}
--- Toggle wrapping, or force it to the provided state.
--- @param enabled? boolean
function M.toggle(enabled)
if enabled == nil then
enabled = not vim.wo.wrap
end
vim.wo.wrap = enabled
vim.wo.linebreak = enabled
vim.wo.breakindent = enabled
vim.bo.textwidth = enabled and 80 or 0
vim.bo.wrapmargin = 0
end
return M

View File

@@ -1,3 +1,4 @@
require("romanzy.set")
require("romanzy.remap")
require("romanzy.options")
require("romanzy.keymaps")
require("romanzy.commands")
require("romanzy.plugins")

View File

@@ -25,12 +25,16 @@ map("n", "<leader>ff", telescope_picker("find_files"), { desc = "find files" })
map("n", "<leader>fg", telescope_picker("live_grep"), { desc = "live grep" })
map("n", "<leader>fb", telescope_picker("buffers"), { desc = "find buffers" })
map("n", "<leader>fh", telescope_picker("help_tags"), { desc = "help tags" })
map("n", "<leader>lg", "<Cmd>LazyGit<CR>", { desc = "open lazygit" })
map("n", "<leader>dv", "<Cmd>DiffviewOpen<CR>", { desc = "open diffview" })
map("n", "<leader>dc", "<Cmd>DiffviewClose<CR>", { desc = "close diffview" })
map("n", "<leader>tw", require("romanzy.custom.wrap").toggle, { desc = "toggle soft wrap" })
-- map("n", "<leader>s", ":set spell!<CR>", { desc = "toggle spell" })
map("n", "<leader>sv", "<Cmd>vs<CR>", { desc = "split vertical" })
map("n", "<leader>sh", "<Cmd>sp<CR>", { desc = "split horizontal" })
map("n", "<leader>se", "<C-w>=", { desc = "equalize splits" })
map("n", "<leader>sc", "<C-w>c", { desc = "close split" })
map("n", "<leader>rh", "<Cmd>vertical resize -10<CR>", { desc = "make buffer narrower" })
map("n", "<leader>rl", "<Cmd>vertical resize +10<CR>", { desc = "make buffer wider" })
map("n", "<leader>rj", "<Cmd>resize -5<CR>", { desc = "make buffer shorter" })
@@ -41,12 +45,21 @@ map("n", "<leader>bp", "<Cmd>bprevious<CR>", { desc = "prev buffer" })
map("n", "<leader>bn", "<Cmd>bnext<CR>", { desc = "next buffer" })
map("n", "<leader>bd", "<Cmd>bdelete<CR>", { desc = "delete buffer" })
map("t", "<Esc>", "<C-\\><C-n>", { desc = "exit terminal" })
map({ "n", "v" }, "<leader>y", '"+y', { desc = "yank to system clipboard" })
map("n", "<leader>Y", '"+Y', { desc = "yank line to system clipboard" })
map("n", "<leader>p", '"+p', { desc = "paste from system clipboard" })
map("n", "<leader>P", '"+P', { desc = "paste before from system clipboard" })
-- experimenting
map("t", { "\\\\", "<C-\\><C-\\>", "<C-Esc>", "\\<Esc>" }, "<C-\\><C-n>", { desc = "exit terminal" })
map("n", "<C-h>", "<C-w>h", { desc = "window left" })
map("n", "<C-j>", "<C-w>j", { desc = "window down" })
map("n", "<C-k>", "<C-w>k", { desc = "window up" })
map("n", "<C-l>", "<C-w>l", { desc = "window right" })
map("n", "gR", function()
vim.cmd.normal({ args = { vim.keycode("<C-l>") }, bang = true })
end, { desc = "refresh current view" })
-- this is needed to disable refresh behavior for <C-l> for navigation
vim.api.nvim_create_autocmd("FileType", {
@@ -60,25 +73,10 @@ vim.api.nvim_create_autocmd("FileType", {
})
-- hjkl supremacy
map({ "n", "i", "v", "x", "s", "o", "c" }, { "<left>", "<right>", "<up>", "<down>" }, function()
map({ "n", "v", "i" }, { "<left>", "<right>", "<up>", "<down>" }, function()
vim.notify('hjkl supremacy', vim.log.levels.ERROR)
end, { desc = "hjkl supremacy" })
map("n", "g.", vim.diagnostic.open_float, { desc = "line diagnostics" })
map("n", "gl", vim.diagnostic.setloclist, { desc = "diagnostic list" })
-- diagnostics only on error.
map("n", "g]", function()
vim.diagnostic.goto_next({
severity = vim.diagnostic.severity.ERROR,
})
end, { desc = "next error" })
map("n", "g[", function()
vim.diagnostic.goto_prev({
severity = vim.diagnostic.severity.ERROR,
})
end, { desc = "prev error" })
local function rename_without_default()
vim.ui.input({
prompt = "New Name: ",
@@ -93,19 +91,64 @@ local function rename_without_default()
end
vim.api.nvim_create_autocmd("LspAttach", {
-- defaults are:
-- grn → Rename symbol
-- gra → Code actions
-- grr → Find references
-- gri → Go to implementation
-- grt → Go to type definition
-- gO → Document symbols
callback = function(ev)
map("n", "gd", vim.lsp.buf.definition, { buffer = ev.buf, desc = "goto definition" })
map("n", "gD", vim.lsp.buf.declaration, { buffer = ev.buf, desc = "goto declaration" })
map("n", "grd", vim.lsp.buf.references, { buffer = ev.buf, desc = "list references" })
map("n", "grn", rename_without_default, { buffer = ev.buf, desc = "rename symbol" })
map("i", "<C-Space>", vim.lsp.completion.get, { buffer = ev.buf, desc = "trigger completion" })
map("n", "gfr", vim.lsp.buf.references, { buffer = ev.buf, desc = "find references" })
map("n", "grn", rename_without_default, { buffer = ev.buf, desc = "rename symbol completely" })
map("n", "gRN", vim.lsp.buf.rename, { buffer = ev.buf, desc = "rename symbol starting with whatever is there" })
map({ "n", "x" }, "<leader>ca", vim.lsp.buf.code_action, { buffer = ev.buf, desc = "code actions" })
map("n", "<leader>cf", function()
vim.lsp.buf.code_action({
apply = true,
context = {
only = { "quickfix" },
},
})
end, { buffer = ev.buf, desc = "quick fixes" })
map({ "n", "x" }, "<leader>cs", function()
vim.lsp.buf.code_action({
context = {
only = { "source" },
},
})
end, { buffer = ev.buf, desc = "source actions" })
end,
})
map("n", "gle", vim.diagnostic.setloclist, { desc = "display error information" })
map("n", "gie", function()
-- diagnostics
map("n", "g.", vim.diagnostic.open_float, { desc = "line diagnostics" })
map("n", "gl", vim.diagnostic.setloclist, { desc = "diagnostic list" })
map("n", "]g", function()
vim.diagnostic.jump({
count = 1,
severity = {
min = vim.diagnostic.severity.WARN,
},
})
end, { desc = "next warning/error" })
map("n", "[g", function()
vim.diagnostic.jump({
count = -1,
severity = {
min = vim.diagnostic.severity.WARN,
},
})
end, { desc = "prev warning/error" })
map("n", "gld", vim.diagnostic.setloclist, { desc = "display diagnostic information" })
map("n", "<leader>ti", function()
vim.diagnostic.config({ virtual_text = not vim.diagnostic.config().virtual_text })
end, { desc = "toggle inline errors" })
map("n", "gve", function()
end, { desc = "toggle inline diagnostics" })
map("n", "<leader>tv", function()
vim.diagnostic.config({ virtual_lines = not vim.diagnostic.config().virtual_lines })
end, { desc = "toggle virtual line errors" })
end, { desc = "toggle virtual diagnostics" })

View File

@@ -0,0 +1,39 @@
local g = vim.g
local o = vim.opt
g.mapleader = " " -- Uses space as the global leader key.
g.maplocalleader = " " -- Uses space as the local leader key.
g.clipboard = "osc52" -- Routes the + and * registers through OSC52 in terminal Neovim.
o.number = true -- Shows absolute line numbers.
o.relativenumber = true -- Shows relative numbers for easier motion.
o.cursorline = true -- Highlights the line under the cursor.
o.textwidth = 80 -- Wraps inserted text after 80 columns when formatting is active.
o.scrolloff = 8 -- Keeps context lines visible around the cursor.
o.signcolumn = "yes" -- Always reserves space for signs in the gutter.
o.colorcolumn = "+1" -- Highlights the preferred maximum line width.
o.list = true -- Displays whitespace characters using listchars.
o.listchars = {
tab = "» ",
trail = "·",
extends = "",
precedes = "",
nbsp = "",
} -- Defines how invisible characters are rendered.
o.termguicolors = true -- Enables full RGB color support.
o.mouse = "" -- Disables mouse support.
o.tabstop = 4 -- Renders tab characters as four columns.
o.softtabstop = 4 -- Makes tab/backspace feel like four spaces.
o.shiftwidth = 4 -- Uses four columns for each indent step.
o.expandtab = true -- Inserts spaces when indenting by default.
o.smartindent = true -- Adds indentation automatically on new lines.
o.swapfile = false -- Disables swapfile creation.
o.incsearch = true -- Updates search matches as you type.
o.completeopt = { "menuone", "noselect", "fuzzy", "nosort" } -- Enables fuzzy completion matching.
o.pumheight = 8 -- Limits the completion popup menu size.
o.updatetime = 50 -- Reduces idle delay for swap and CursorHold events.
o.spelllang = { "en_us" } -- Uses US English for spell checking.
o.shell = "bash" -- Runs shell commands through bash.
-- Only show the invisible characters inside the code editing buffers
vim.cmd([[autocmd BufWinEnter * if &buftype != '' | setlocal nolist | endif]])

View File

@@ -1,6 +1,11 @@
require("romanzy.plugins.rose-pine")
require("romanzy.plugins.mini")
require("romanzy.plugins.lazygit")
require("romanzy.plugins.diffview")
require("romanzy.plugins.oil")
require("romanzy.plugins.telescope")
require("romanzy.plugins.nvim-treesitter")
require("romanzy.plugins.conform")
require("romanzy.plugins.lsp")
require("romanzy.plugins.header42")
require("romanzy.plugins.codamheader")
require("romanzy.plugins.romanzy")

View File

@@ -0,0 +1,34 @@
vim.pack.add({
{ src = "https://github.com/BeerB34r/codam-header.nvim" },
})
require("codamheader").setup({
default_map = false,
auto_update = true,
user = "rvolovoy",
mail = "rvolovoy@student.codam.nl",
exascii = {},
-- exascii = {
-- "—————No norm compliance?——————",
-- "⠀⣞⢽⢪⢣⢣⢣⢫⡺⡵⣝⡮⣗⢷⢽⢽⢽⣮⡷⡽⣜⣜⢮⢺⣜⢷⢽⢝⡽⣝",
-- "⠸⡸⠜⠕⠕⠁⢁⢇⢏⢽⢺⣪⡳⡝⣎⣏⢯⢞⡿⣟⣷⣳⢯⡷⣽⢽⢯⣳⣫⠇",
-- "⠀⠀⢀⢀⢄⢬⢪⡪⡎⣆⡈⠚⠜⠕⠇⠗⠝⢕⢯⢫⣞⣯⣿⣻⡽⣏⢗⣗⠏⠀",
-- "⠀⠪⡪⡪⣪⢪⢺⢸⢢⢓⢆⢤⢀⠀⠀⠀⠀⠈⢊⢞⡾⣿⡯⣏⢮⠷⠁⠀⠀⠀",
-- "⠀⠀⠀⠈⠊⠆⡃⠕⢕⢇⢇⢇⢇⢇⢏⢎⢎⢆⢄⠀⢑⣽⣿⢝⠲⠉⠀⠀⠀⠀",
-- "⠀⠀⠀⠀⠀⡿⠂⠠⠀⡇⢇⠕⢈⣀⠀⠁⠡⠣⡣⡫⣂⣿⠯⢪⠰⠂⠀⠀⠀⠀",
-- "⠀⠀⠀⠀⡦⡙⡂⢀⢤⢣⠣⡈⣾⡃⠠⠄⠀⡄⢱⣌⣶⢏⢊⠂⠀⠀⠀⠀⠀⠀",
-- "⠀⠀⠀⠀⢝⡲⣜⡮⡏⢎⢌⢂⠙⠢⠐⢀⢘⢵⣽⣿⡿⠁⠁⠀⠀⠀⠀⠀⠀⠀",
-- "⠀⠀⠀⠀⠨⣺⡺⡕⡕⡱⡑⡆⡕⡅⡕⡜⡼⢽⡻⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
-- "⠀⠀⠀⠀⣼⣳⣫⣾⣵⣗⡵⡱⡡⢣⢑⢕⢜⢕⡝⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
-- "⠀⠀⠀⣴⣿⣾⣿⣿⣿⡿⡽⡑⢌⠪⡢⡣⣣⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
-- "⠀⠀⠀⡟⡾⣿⢿⢿⢵⣽⣾⣼⣘⢸⢸⣞⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
-- "⠀⠀⠀⠀⠁⠇⠡⠩⡫⢿⣝⡻⡮⣒⢽⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
-- "——————————————————————————————",
-- },
-- exascii_left = false,
})
vim.api.nvim_create_user_command("Header42", function()
require("codamheader.utils.header").stdheader()
end, {})

View File

@@ -0,0 +1,22 @@
vim.pack.add({
{
src = "https://github.com/stevearc/conform.nvim",
name = "conform.nvim",
},
})
require("conform").setup({
formatters_by_ft = {
javascript = { "prettier" },
javascriptreact = { "prettier" },
typescript = { "prettier" },
typescriptreact = { "prettier" },
c = { filter = function() return false end },
cpp = { filter = function() return false end },
h = { filter = function() return false end }
},
format_on_save = {
lsp_format = "fallback",
timeout_ms = 2000,
},
})

View File

@@ -0,0 +1,6 @@
vim.pack.add({
{
src = "https://github.com/sindrets/diffview.nvim",
name = "diffview.nvim",
},
})

View File

@@ -1,27 +0,0 @@
vim.pack.add({
{ src = "https://codeberg.org/42nerds/header42.nvim" },
})
local function load_header42()
-- Prevent double loading
if _G.header42_loaded then return end
_G.header42_loaded = true
-- Configure the plugin
require("header42").setup({
-- autocmd = { create = false },
username = "rvolovoy",
email = "rvolovoy@student.codam.nl",
})
end
-- load it right away
-- load_header42();
vim.api.nvim_create_autocmd("FileType", {
pattern = { "c", "cpp", "python" },
once = true,
callback = function()
load_header42()
end,
})

View File

@@ -0,0 +1,10 @@
vim.pack.add({
{
src = "https://github.com/kdheepak/lazygit.nvim",
name = "lazygit.nvim",
},
{
src = "https://github.com/nvim-lua/plenary.nvim",
name = "plenary.nvim",
},
})

View File

@@ -15,9 +15,6 @@ vim.pack.add({
local mason_lspconfig = require("mason-lspconfig")
vim.opt.completeopt = { "menu", "menuone", "noselect", "popup", "fuzzy" }
vim.opt.pumheight = 8
local diag_inline_enabled = true
local function diag_virtual_text()
@@ -26,7 +23,7 @@ local function diag_virtual_text()
end
return {
severity = vim.diagnostic.severity.ERROR,
severity = vim.diagnostic.severity.WARN,
}
end
@@ -46,20 +43,7 @@ end
configure_diagnostics()
vim.api.nvim_create_autocmd("LspAttach", {
callback = function(ev)
local client = vim.lsp.get_client_by_id(ev.data.client_id)
if not client then
return
end
vim.lsp.completion.enable(true, client.id, ev.buf, {
autotrigger = true,
})
end,
})
local capabilities = vim.lsp.protocol.make_client_capabilities()
local capabilities = require("mini.completion").get_lsp_capabilities()
local managed_servers = {
"bashls",
"clangd",
@@ -67,8 +51,11 @@ local managed_servers = {
"lua_ls",
"marksman",
"taplo",
"ts_ls",
"yamlls",
"ts_ls",
"tailwindcss",
"eslint",
"tinymist",
}
local servers = {
bashls = {},
@@ -76,7 +63,6 @@ local servers = {
jsonls = {},
marksman = {},
taplo = {},
ts_ls = {},
yamlls = {},
lua_ls = {
settings = {
@@ -94,6 +80,10 @@ local servers = {
},
},
},
ts_ls = {},
tailwindcss = {},
eslint = {},
tinymist = {},
}
for server_name, config in pairs(servers) do
@@ -104,5 +94,6 @@ end
require("mason").setup()
mason_lspconfig.setup({
ensure_installed = managed_servers,
automatic_enable = managed_servers,
})

View File

@@ -0,0 +1,101 @@
vim.pack.add({
{
src = "https://github.com/echasnovski/mini.nvim",
name = "mini.nvim",
branch = "stable",
},
})
local clue = require("mini.clue")
local completion = require("mini.completion")
local icons = require("mini.icons")
local git = require("mini.git")
local diff = require("mini.diff")
local statusline = require("mini.statusline")
local hipatterns = require("mini.hipatterns")
local pairs = require("mini.pairs")
local ai = require("mini.ai")
local notify = require("mini.notify")
local surround = require("mini.surround")
clue.setup({
triggers = {
{ mode = "n", keys = "<leader>" },
{ mode = "n", keys = "g" },
{ mode = "n", keys = "<C-w>" },
{ mode = "n", keys = "z" },
{ mode = "i", keys = "<C-x>" },
},
clues = {
clue.gen_clues.builtin_completion(),
clue.gen_clues.g(),
clue.gen_clues.marks(),
clue.gen_clues.registers(),
clue.gen_clues.windows(),
clue.gen_clues.z(),
},
window = {
delay = 500,
},
})
completion.setup({})
local function complete_accept_top()
if vim.fn.pumvisible() == 0 then
return "<C-y>"
end
if vim.fn.complete_info({ "selected" }).selected == -1 then
return "<C-n><C-y>"
end
return "<C-y>"
end
vim.keymap.set("i", "<C-y>", complete_accept_top, { expr = true })
icons.setup({})
git.setup({})
diff.setup({})
local function set_mini_diff_highlights()
vim.api.nvim_set_hl(0, "MiniDiffSignAdd", { fg = "#9ccf8d" })
vim.api.nvim_set_hl(0, "MiniDiffSignChange", { fg = "#f6c177" })
vim.api.nvim_set_hl(0, "MiniDiffSignDelete", { fg = "#eb6f92" })
vim.api.nvim_set_hl(0, "MiniDiffOverAdd", { fg = "#9ccf8d" })
vim.api.nvim_set_hl(0, "MiniDiffOverChange", { fg = "#f6c177" })
vim.api.nvim_set_hl(0, "MiniDiffOverDelete", { fg = "#eb6f92" })
end
set_mini_diff_highlights()
vim.api.nvim_create_autocmd("ColorScheme", {
callback = set_mini_diff_highlights,
})
statusline.setup({ use_icons = true })
hipatterns.setup({
highlighters = {
fixme = { pattern = "%f[%w]()FIXME()%f[%W]", group = "MiniHipatternsFixme" },
hack = { pattern = "%f[%w]()HACK()%f[%W]", group = "MiniHipatternsHack" },
todo = { pattern = "%f[%w]()TODO()%f[%W]", group = "MiniHipatternsTodo" },
note = { pattern = "%f[%w]()NOTE()%f[%W]", group = "MiniHipatternsNote" },
hex_color = hipatterns.gen_highlighter.hex_color(),
},
})
pairs.setup({
modes = { insert = true, command = true, terminal = false },
})
ai.setup({})
notify.setup({
lsp_progress = {
-- the message "lua_ls: processing completion..." and
-- "lua_ls: Diagnosing" is very annoying
enable = true,
},
})
vim.notify = notify.make_notify()
surround.setup({})

View File

@@ -3,19 +3,33 @@ vim.pack.add({
src = "https://github.com/stevearc/oil.nvim",
name = "oil.nvim",
},
{
src = "https://github.com/malewicz1337/oil-git.nvim",
name = "oil-git.nvim",
},
})
local function set_oil_git_highlights()
vim.api.nvim_set_hl(0, "OilGitAdded", { link = "MiniDiffSignAdd" })
vim.api.nvim_set_hl(0, "OilGitUntracked", { link = "MiniDiffSignAdd" })
vim.api.nvim_set_hl(0, "OilGitModifiedStaged", { link = "MiniDiffSignChange" })
vim.api.nvim_set_hl(0, "OilGitModifiedUnstaged", { link = "MiniDiffSignChange" })
vim.api.nvim_set_hl(0, "OilGitRenamed", { link = "MiniDiffSignChange" })
vim.api.nvim_set_hl(0, "OilGitCopied", { link = "MiniDiffSignChange" })
vim.api.nvim_set_hl(0, "OilGitDeleted", { link = "MiniDiffSignDelete" })
vim.api.nvim_set_hl(0, "OilGitConflict", { link = "MiniDiffSignDelete" })
end
require("oil").setup({
keymaps = {
["<C-h>"] = false,
["<C-j>"] = false,
["<C-k>"] = false,
["<C-l>"] = false,
["gR"] = "actions.refresh", -- replaces default <C-l> behavior
["<C-s>"] = false,
["<C-p>"] = { "actions.preview", opts = { vertical = true, split = "belowright" } },
["<BS>"] = { "actions.parent", mode = "n" },
["<A-h>"] = { "actions.parent", mode = "n" },
["<A-l>"] = "actions.select",
},
view_options = {
show_hidden = true,
@@ -27,3 +41,17 @@ require("oil").setup({
end,
},
})
require("oil-git").setup({
show_file_highlights = true,
show_directory_highlights = true,
show_file_symbols = true,
show_directory_symbols = true,
symbol_position = "none",
})
set_oil_git_highlights()
vim.api.nvim_create_autocmd("ColorScheme", {
group = vim.api.nvim_create_augroup("romanzy_oil_git_highlights", { clear = true }),
callback = set_oil_git_highlights,
})

View File

@@ -0,0 +1,2 @@
require("romanzy.custom.tabline").setup()
require("romanzy.custom.wrap").toggle(false)

View File

@@ -9,4 +9,28 @@ vim.pack.add({
},
})
require("telescope").setup({})
require("telescope").setup({
defaults = {
preview = {
filesize_limit = 0.1, -- in MB
},
initial_mode = "insert",
-- winblend = 30,
file_ignore_patterns = {
"%.git/.*",
"%.cache/.*",
},
layout_strategy = "flex",
},
pickers = {
find_files = {
hidden = true,
follow = true,
},
live_grep = {
hidden = true,
follow = true,
initial_mode = "insert",
},
},
})

View File

@@ -1,42 +0,0 @@
vim.g.mapleader = " "
vim.g.maplocalleader = " "
vim.opt.nu = true
vim.opt.relativenumber = true
-- disable normie mouse stuff
vim.opt.mouse = ""
vim.opt.tabstop = 4
vim.opt.softtabstop = 4
vim.opt.shiftwidth = 4
vim.opt.expandtab = false
vim.opt.smartindent = true
vim.opt.wrap = false -- no line wrapping...
vim.opt.incsearch = true
vim.opt.termguicolors = true
vim.opt.scrolloff = 8
vim.opt.signcolumn = "yes"
vim.opt.updatetime = 50
vim.opt.colorcolumn = "80"
vim.opt.spelllang = { 'en_us' }
vim.opt.listchars = {
tab = "» ",
trail = "·",
extends = "",
precedes = "",
nbsp = ""
}
vim.opt.list = true
-- only show the invisible characters inside the code editing buffers
vim.cmd([[autocmd BufWinEnter * if &buftype != '' | setlocal nolist | endif]])
vim.opt.shell = "bash"

View File

@@ -1,25 +1,45 @@
{
"plugins": {
"header42.nvim": {
"rev": "d41468df1c53081c909fc78248cf233893b59809",
"src": "https://codeberg.org/42nerds/header42.nvim"
"codam-header.nvim": {
"rev": "a8fbd2a7003eecbf6e85693e85d7d4d464625193",
"src": "https://github.com/BeerB34r/codam-header.nvim"
},
"conform.nvim": {
"rev": "619363c30309d29ffa631e67c8183f2a72caa373",
"src": "https://github.com/stevearc/conform.nvim"
},
"diffview.nvim": {
"rev": "4516612fe98ff56ae0415a259ff6361a89419b0a",
"src": "https://github.com/sindrets/diffview.nvim"
},
"lazygit.nvim": {
"rev": "a04ad0dbc725134edbee3a5eea29290976695357",
"src": "https://github.com/kdheepak/lazygit.nvim"
},
"mason-lspconfig.nvim": {
"rev": "21c5b3ebeaa0412e28096bb0701434c51c1fbf76",
"rev": "47059d71b42d74b0a1e9f61c1d99d301039c3b5b",
"src": "https://github.com/mason-org/mason-lspconfig.nvim"
},
"mason.nvim": {
"rev": "2a6940af80375532e5e9e7c1f2fc6319a1b7a69d",
"src": "https://github.com/mason-org/mason.nvim"
},
"mini.nvim": {
"rev": "c5cdbadeb423ff724e27a42ab2d1c504d1d6fc5a",
"src": "https://github.com/echasnovski/mini.nvim"
},
"nvim-lspconfig": {
"rev": "bfcc0171a43f22afa61d927ffe9fcb6cb85dc99e",
"rev": "292f44408498103c47996ff5c18fd366293840d8",
"src": "https://github.com/neovim/nvim-lspconfig"
},
"nvim-treesitter": {
"rev": "4916d6592ede8c07973490d9322f187e07dfefac",
"src": "https://github.com/nvim-treesitter/nvim-treesitter"
},
"oil-git.nvim": {
"rev": "54de208323d00c519e26280f8b5b4b821d32f955",
"src": "https://github.com/malewicz1337/oil-git.nvim"
},
"oil.nvim": {
"rev": "b73018b75affd13fa38e2fc94ef753b465f770d7",
"src": "https://github.com/stevearc/oil.nvim"