Compare commits

...

48 Commits

Author SHA1 Message Date
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
66828167e6 better docs 2026-06-27 15:55:24 +02:00
1ab9eceb0d cleanup README 2026-06-27 15:50:52 +02:00
bdffc2821b add ghostty install script 2026-06-27 15:40:55 +02:00
fee227e2ae cleanup 2026-06-27 14:56:54 +02:00
25 changed files with 471 additions and 231 deletions

View File

@@ -1,19 +1,10 @@
# prefer this if stow is available
.PHONY: stow unstow
stow: stow:
stow nvim stow nvim
# stow-server: unstow:
# stow default zsh-server lazygit albert tmux neovim ranger stow -D nvim
# rm:
# rm ~/.zshrc ~/.p10k.zsh ~/.tmux.conf ~/.docker_aliases ~/.config/albert/albert.conf ~/.config/nvim/init.vim ~/.config/ranger/rc.conf ~/.config/kitty/kitty.conf
# echo "this might delete files from this repository also"
# link-root:
# sudo rm -rf /root/.oh-my-zsh /root/.zshrc /root/.p10k.zsh /root/.docker_aliases
# sudo ln -s ${HOME}/.oh-my-zsh /root/
# sudo ln -s ${HOME}/.zshrc /root/
# sudo ln -s ${HOME}/.p10k.zsh /root/
# sudo ln -s ${HOME}/.docker_aliases /root/
LN := ln -svf LN := ln -svf
LNDIR := ln -sv LNDIR := ln -sv
@@ -21,19 +12,22 @@ LNDIR := ln -sv
DOTFILES_DIR := $(shell pwd) DOTFILES_DIR := $(shell pwd)
TARGET_DIR := $(HOME) TARGET_DIR := $(HOME)
.PHONY: link # if stow is not available, symlink configs instead
.PHONY: link unlink
link: nvim link: nvim
unlink: unnvim
.PHONY: nvim .PHONY: nvim
nvim: nvim:
rm -rf $(TARGET_DIR)/.config/nvim rm -rf $(TARGET_DIR)/.config/nvim
$(LNDIR) $(DOTFILES_DIR)/nvim/.config/nvim $(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 .PHONY: git
git: git:
rm -f $(TARGET_DIR)/.gitconfig rm -f $(TARGET_DIR)/.gitconfig
$(LN) $(DOTFILES_DIR)/git/.gitconfig $(TARGET_DIR)/.gitconfig $(LN) $(DOTFILES_DIR)/git/.gitconfig $(TARGET_DIR)/.gitconfig
# zsh:
# $(LN) ./zsh/.zshrc ~/.zshrc
# $(LN) ./zsh/.zprofile ~/.zprofile

View File

@@ -2,7 +2,6 @@
[Insipiration](https://github.com/Racle/dotfiles/tree/master) [Insipiration](https://github.com/Racle/dotfiles/tree/master)
# Usage # Usage
Run `make stow` Run `make stow`

View File

@@ -2,6 +2,7 @@ cc-clean(){
rm -rf ./**/*.out 2>/dev/null rm -rf ./**/*.out 2>/dev/null
} }
# compile and run a single C program. Useful for prototyping.
cc-run(){ cc-run(){
local file local file
if [ -z "$1" ]; then if [ -z "$1" ]; then
@@ -12,11 +13,6 @@ cc-run(){
file="$1" file="$1"
shift shift
#if command -v norminette &>/dev/null
#then
# norminette "${file}" -R CheckForbiddenSourceHeader
#fi
gcc "${file}" -o "${file}.out" -Wall -Wextra -Werror -g3 -fsanitize=address $@ && \ gcc "${file}" -o "${file}.out" -Wall -Wextra -Werror -g3 -fsanitize=address $@ && \
"./${file}.out" "./${file}.out"

View File

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

View File

@@ -0,0 +1 @@
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/mkasberg/ghostty-ubuntu/HEAD/install.sh)"

View File

@@ -3,34 +3,13 @@
Inspirations: Inspirations:
- [illya](https://codeberg.org/42nerds/nvim) - [illya](https://codeberg.org/42nerds/nvim)
- [nolan](https://github.com/Hrumble/sneaky-nvim-config) - [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 # Neovim Notes
## Splits See custom keymaps with short descriptions with `<leader><leader>h`.
Horizontal split:
```vim
:sp
```
Vertical split:
```vim
:vs
```
Open a file in a horizontal split:
```vim
:sp path/to/file
```
Open a file in a vertical split:
```vim
:vs path/to/file
```
Split shortcuts: Split shortcuts:
@@ -53,12 +32,6 @@ Buffer shortcuts:
- `<leader>bn` next buffer - `<leader>bn` next buffer
- `<leader>bd` delete the current buffer - `<leader>bd` delete the current buffer
Browse files with:
```vim
<leader>dl
```
Telescope shortcuts: Telescope shortcuts:
- `<leader>ff` find files - `<leader>ff` find files
@@ -66,34 +39,28 @@ Telescope shortcuts:
- `<leader>fb` list buffers - `<leader>fb` list buffers
- `<leader>fh` browse help tags - `<leader>fh` browse help tags
Git shortcuts:
- `:Git` to run commands directly (`:Git status`, `:Git log --oneline`)
- `<leader>lg` open LazyGit
Oil usage: Oil usage:
- `<leader>dl` opens the parent directory of the current file - `<leader>dl` opens the file browser
- `<CR>` opens a file or enters a directory - `<CR>` opens a file or enters a directory
- `-` goes to the parent directory - `-` goes to the parent directory
- `<BS>` also goes to the parent directory - `<BS>` also goes to the parent directory
- `<A-h>` also goes to the parent directory - `<A-h>` also goes to the parent directory
- `<A-l>` opens the selected file or enters the selected directory - `<A-l>` opens the selected file or enters the selected directory
- `<C-p>` previews the selected entry in a right-hand vertical split - `<C-p>` previews the selected entry
- edit the Oil buffer, then `:w` to apply file operations - `gx` opens the file in external viewer
- hidden files are shown, but `.git` stays hidden
Open `netrw` explicitly with:
```vim
<leader>nl
:Ex
```
## Window Navigation ## Window Navigation
Move between windows with: Move between windows with:
```vim ```vim
<C-h> left <C-hjkl>
<C-j> down
<C-k> up
<C-l> right
``` ```
Cycle through windows: Cycle through windows:
@@ -104,61 +71,47 @@ Cycle through windows:
## Terminal ## Terminal
Open a terminal in the current window: Two options to leave terminal mode and return to normal mode:
```vim ```vim
:term <\\-Esc>
<C-Esc>
``` ```
Open a terminal in a horizontal split:
```vim
:sp | term
```
Open a terminal in a vertical split:
```vim
:vs | term
```
Leave terminal mode and return to normal mode:
```vim
<Esc>
```
## LSP ## 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 definition
- `gD` go to declaration - `gD` go to declaration
- `grd` list references - `grd` list references
- `grn` rename symbol - `grn` rename symbol
- `<C-Space>` trigger completion - `<leader>ca` show code actions
- `<leader>cf` apply quick fixes
- `<leader>cs` show source actions
Diagnostics: Diagnostics:
- `g.` open diagnostic float - `g.` open diagnostic float
- `gl` send diagnostics to the location list - `gl` send diagnostics to the location list
- `g]` jump to next error - `gld` display diagnostic information
- `g[` jump to previous error - `gid` toggle inline diagnostics
- `gvd` toggle virtual line diagnostics
- `]g` jump to next warning or error
- `[g` jump to previous warning or error
## Tree-sitter ## Tree-sitter
Tree-sitter is managed with `nvim-treesitter` via `vim.pack`. `tree-sitter-cli` and a C compiler is required to be installed.
Installing missing parsers requires the external tools from the upstream README:
- `tar`
- `curl`
- `tree-sitter-cli`
- a C compiler
If `tree-sitter` is on your `PATH`, startup will try to install the configured parsers if they are missing.
Useful commands: 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,3 @@
local o = vim.opt_local
o.expandtab = false

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,21 @@
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
_G.RomanzyTabline = M.render
return M

View File

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

View File

@@ -19,11 +19,13 @@ local function telescope_picker(picker)
end end
map("n", "<leader><leader>r", ":source ~/.config/nvim/init.lua<CR>", { desc = "reload init.lua" }) map("n", "<leader><leader>r", ":source ~/.config/nvim/init.lua<CR>", { desc = "reload init.lua" })
map("n", "<leader><leader>h", telescope_picker("keymaps"), { desc = "show keymaps" })
map("n", "<leader>dl", "<Cmd>Oil<CR>", { desc = "open oil" }) map("n", "<leader>dl", "<Cmd>Oil<CR>", { desc = "open oil" })
map("n", "<leader>ff", telescope_picker("find_files"), { desc = "find files" }) 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>fg", telescope_picker("live_grep"), { desc = "live grep" })
map("n", "<leader>fb", telescope_picker("buffers"), { desc = "find buffers" }) map("n", "<leader>fb", telescope_picker("buffers"), { desc = "find buffers" })
map("n", "<leader>fh", telescope_picker("help_tags"), { desc = "help tags" }) map("n", "<leader>fh", telescope_picker("help_tags"), { desc = "help tags" })
map("n", "<leader>lg", "<Cmd>LazyGit<CR>", { desc = "open lazygit" })
-- map("n", "<leader>s", ":set spell!<CR>", { desc = "toggle spell" }) -- map("n", "<leader>s", ":set spell!<CR>", { desc = "toggle spell" })
map("n", "<leader>sv", "<Cmd>vs<CR>", { desc = "split vertical" }) map("n", "<leader>sv", "<Cmd>vs<CR>", { desc = "split vertical" })
@@ -40,12 +42,23 @@ map("n", "<leader>bp", "<Cmd>bprevious<CR>", { desc = "prev buffer" })
map("n", "<leader>bn", "<Cmd>bnext<CR>", { desc = "next buffer" }) map("n", "<leader>bn", "<Cmd>bnext<CR>", { desc = "next buffer" })
map("n", "<leader>bd", "<Cmd>bdelete<CR>", { desc = "delete 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" })
map("t", "\\\\", "<C-\\><C-n>", { desc = "exit terminal" })
map("t", "<C-\\><C-\\>", "<C-\\><C-n>", { desc = "exit terminal" })
map("t", "<C-Esc>", "<C-\\><C-n>", { desc = "exit terminal" })
map("t", "\\<Esc>", "<C-\\><C-n>", { desc = "exit terminal" })
map("n", "<C-h>", "<C-w>h", { desc = "window left" }) map("n", "<C-h>", "<C-w>h", { desc = "window left" })
map("n", "<C-j>", "<C-w>j", { desc = "window down" }) map("n", "<C-j>", "<C-w>j", { desc = "window down" })
map("n", "<C-k>", "<C-w>k", { desc = "window up" }) map("n", "<C-k>", "<C-w>k", { desc = "window up" })
map("n", "<C-l>", "<C-w>l", { desc = "window right" }) 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 -- this is needed to disable refresh behavior for <C-l> for navigation
vim.api.nvim_create_autocmd("FileType", { vim.api.nvim_create_autocmd("FileType", {
@@ -59,25 +72,10 @@ vim.api.nvim_create_autocmd("FileType", {
}) })
-- hjkl supremacy -- 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) vim.notify('hjkl supremacy', vim.log.levels.ERROR)
end, { desc = "hjkl supremacy" }) 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() local function rename_without_default()
vim.ui.input({ vim.ui.input({
prompt = "New Name: ", prompt = "New Name: ",
@@ -92,19 +90,64 @@ local function rename_without_default()
end end
vim.api.nvim_create_autocmd("LspAttach", { 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) callback = function(ev)
map("n", "gd", vim.lsp.buf.definition, { buffer = ev.buf, desc = "goto definition" }) 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", "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", "gfr", vim.lsp.buf.references, { buffer = ev.buf, desc = "find references" })
map("n", "grn", rename_without_default, { buffer = ev.buf, desc = "rename symbol" }) map("n", "grn", rename_without_default, { buffer = ev.buf, desc = "rename symbol completely" })
map("i", "<C-Space>", vim.lsp.completion.get, { buffer = ev.buf, desc = "trigger completion" }) 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, end,
}) })
map("n", "gle", vim.diagnostic.setloclist, { desc = "display error information" }) -- diagnostics
map("n", "gie", function() 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", "gid", function()
vim.diagnostic.config({ virtual_text = not vim.diagnostic.config().virtual_text }) vim.diagnostic.config({ virtual_text = not vim.diagnostic.config().virtual_text })
end, { desc = "toggle inline errors" }) end, { desc = "toggle inline diagnostics" })
map("n", "gve", function() map("n", "gvd", function()
vim.diagnostic.config({ virtual_lines = not vim.diagnostic.config().virtual_lines }) vim.diagnostic.config({ virtual_lines = not vim.diagnostic.config().virtual_lines })
end, { desc = "toggle virtual line errors" }) end, { desc = "toggle virtual line diagnostics" })

View File

@@ -0,0 +1,40 @@
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.wrap = false -- Prevents long lines from wrapping on screen.
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 without preselecting or reordering candidates.
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.
o.tabline = "%!v:lua.RomanzyTabline()" -- Shows native tabs with custom labels.
-- Only show the invisible characters inside the code editing buffers
vim.cmd([[autocmd BufWinEnter * if &buftype != '' | setlocal nolist | endif]])

View File

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

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

@@ -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") local mason_lspconfig = require("mason-lspconfig")
vim.opt.completeopt = { "menu", "menuone", "noselect", "popup", "fuzzy" }
vim.opt.pumheight = 8
local diag_inline_enabled = true local diag_inline_enabled = true
local function diag_virtual_text() local function diag_virtual_text()
@@ -26,7 +23,7 @@ local function diag_virtual_text()
end end
return { return {
severity = vim.diagnostic.severity.ERROR, severity = vim.diagnostic.severity.WARN,
} }
end end
@@ -46,20 +43,7 @@ end
configure_diagnostics() configure_diagnostics()
vim.api.nvim_create_autocmd("LspAttach", { local capabilities = require("mini.completion").get_lsp_capabilities()
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 managed_servers = { local managed_servers = {
"bashls", "bashls",
"clangd", "clangd",
@@ -67,8 +51,10 @@ local managed_servers = {
"lua_ls", "lua_ls",
"marksman", "marksman",
"taplo", "taplo",
"ts_ls",
"yamlls", "yamlls",
"ts_ls",
"tailwindcss",
"eslint",
} }
local servers = { local servers = {
bashls = {}, bashls = {},
@@ -76,6 +62,7 @@ local servers = {
jsonls = {}, jsonls = {},
marksman = {}, marksman = {},
taplo = {}, taplo = {},
tailwindcss = {},
ts_ls = {}, ts_ls = {},
yamlls = {}, yamlls = {},
lua_ls = { lua_ls = {
@@ -104,5 +91,6 @@ end
require("mason").setup() require("mason").setup()
mason_lspconfig.setup({ mason_lspconfig.setup({
ensure_installed = managed_servers,
automatic_enable = 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", src = "https://github.com/stevearc/oil.nvim",
name = "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({ require("oil").setup({
keymaps = { keymaps = {
["<C-h>"] = false, ["<C-h>"] = false,
["<C-j>"] = false, ["<C-j>"] = false,
["<C-k>"] = false, ["<C-k>"] = false,
["<C-l>"] = false, ["<C-l>"] = false,
["gR"] = "actions.refresh", -- replaces default <C-l> behavior
["<C-s>"] = false, ["<C-s>"] = false,
["<C-p>"] = { "actions.preview", opts = { vertical = true, split = "belowright" } }, ["<C-p>"] = { "actions.preview", opts = { vertical = true, split = "belowright" } },
["<BS>"] = { "actions.parent", mode = "n" }, ["<BS>"] = { "actions.parent", mode = "n" },
["<A-h>"] = { "actions.parent", mode = "n" },
["<A-l>"] = "actions.select",
}, },
view_options = { view_options = {
show_hidden = true, show_hidden = true,
@@ -27,3 +41,17 @@ require("oil").setup({
end, 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

@@ -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,41 @@
{ {
"plugins": { "plugins": {
"header42.nvim": { "codam-header.nvim": {
"rev": "d41468df1c53081c909fc78248cf233893b59809", "rev": "a8fbd2a7003eecbf6e85693e85d7d4d464625193",
"src": "https://codeberg.org/42nerds/header42.nvim" "src": "https://github.com/BeerB34r/codam-header.nvim"
},
"conform.nvim": {
"rev": "619363c30309d29ffa631e67c8183f2a72caa373",
"src": "https://github.com/stevearc/conform.nvim"
},
"lazygit.nvim": {
"rev": "a04ad0dbc725134edbee3a5eea29290976695357",
"src": "https://github.com/kdheepak/lazygit.nvim"
}, },
"mason-lspconfig.nvim": { "mason-lspconfig.nvim": {
"rev": "21c5b3ebeaa0412e28096bb0701434c51c1fbf76", "rev": "47059d71b42d74b0a1e9f61c1d99d301039c3b5b",
"src": "https://github.com/mason-org/mason-lspconfig.nvim" "src": "https://github.com/mason-org/mason-lspconfig.nvim"
}, },
"mason.nvim": { "mason.nvim": {
"rev": "2a6940af80375532e5e9e7c1f2fc6319a1b7a69d", "rev": "2a6940af80375532e5e9e7c1f2fc6319a1b7a69d",
"src": "https://github.com/mason-org/mason.nvim" "src": "https://github.com/mason-org/mason.nvim"
}, },
"mini.nvim": {
"rev": "c5cdbadeb423ff724e27a42ab2d1c504d1d6fc5a",
"src": "https://github.com/echasnovski/mini.nvim"
},
"nvim-lspconfig": { "nvim-lspconfig": {
"rev": "bfcc0171a43f22afa61d927ffe9fcb6cb85dc99e", "rev": "292f44408498103c47996ff5c18fd366293840d8",
"src": "https://github.com/neovim/nvim-lspconfig" "src": "https://github.com/neovim/nvim-lspconfig"
}, },
"nvim-treesitter": { "nvim-treesitter": {
"rev": "4916d6592ede8c07973490d9322f187e07dfefac", "rev": "4916d6592ede8c07973490d9322f187e07dfefac",
"src": "https://github.com/nvim-treesitter/nvim-treesitter" "src": "https://github.com/nvim-treesitter/nvim-treesitter"
}, },
"oil-git.nvim": {
"rev": "54de208323d00c519e26280f8b5b4b821d32f955",
"src": "https://github.com/malewicz1337/oil-git.nvim"
},
"oil.nvim": { "oil.nvim": {
"rev": "b73018b75affd13fa38e2fc94ef753b465f770d7", "rev": "b73018b75affd13fa38e2fc94ef753b465f770d7",
"src": "https://github.com/stevearc/oil.nvim" "src": "https://github.com/stevearc/oil.nvim"