Compare commits

...
Sign in to create a new pull request.

1 commit

Author SHA1 Message Date
Andre Schaf
86d707340b initial refactor 2026-05-11 07:49:57 +02:00
10 changed files with 165 additions and 240 deletions

View file

@ -1,5 +1,4 @@
vim.g.mapleader = " " vim.g.mapleader = " "
vim.g.copilot_no_tab_map = true
require('plugins') require('plugins')
require('lsp') require('lsp')

View file

@ -1,4 +1,4 @@
local conform = require("conform") -- local conform = require("conform")
local on_attach = function(client, bufnr) local on_attach = function(client, bufnr)
if client.config.flags then if client.config.flags then
@ -28,13 +28,13 @@ local on_attach = function(client, bufnr)
vim.keymap.set({ "n", "v" }, "<space>ca", vim.lsp.buf.code_action, opts) vim.keymap.set({ "n", "v" }, "<space>ca", vim.lsp.buf.code_action, opts)
vim.keymap.set("n", "gr", vim.lsp.buf.references, opts) vim.keymap.set("n", "gr", vim.lsp.buf.references, opts)
vim.keymap.set("n", "<space>F", function() vim.keymap.set("n", "<space>f", function()
vim.lsp.buf.format({ async = true }) vim.lsp.buf.format({ async = true })
end, opts) end, opts)
vim.keymap.set("n", "<space>f", function() -- vim.keymap.set("n", "<space>f", function()
conform.format({ bufnr = bufnr }) -- conform.format({ bufnr = bufnr })
end, opts) -- end, opts)
vim.keymap.set("i", "<C-n>", vim.lsp.completion.get, { desc = "trigger autocompletion" }) vim.keymap.set("i", "<C-n>", vim.lsp.completion.get, { desc = "trigger autocompletion" })
end end

View file

@ -1,25 +1,25 @@
local cmp = require("cmp") -- local cmp = require("cmp")
cmp.setup({ -- cmp.setup({
snippet = { -- snippet = {
expand = function(args) -- expand = function(args)
require("luasnip").lsp_expand(args.body) -- For `luasnip` users. -- require("luasnip").lsp_expand(args.body) -- For `luasnip` users.
end, -- end,
}, -- },
window = { -- window = {
completion = cmp.config.window.bordered(), -- completion = cmp.config.window.bordered(),
documentation = cmp.config.window.bordered(), -- documentation = cmp.config.window.bordered(),
}, -- },
mapping = cmp.mapping.preset.insert({ -- mapping = cmp.mapping.preset.insert({
["<C-b>"] = cmp.mapping.scroll_docs(-4), -- ["<C-b>"] = cmp.mapping.scroll_docs(-4),
["<C-f>"] = cmp.mapping.scroll_docs(4), -- ["<C-f>"] = cmp.mapping.scroll_docs(4),
["<CR>"] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. -- ["<CR>"] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
}), -- }),
sources = cmp.config.sources({ -- sources = cmp.config.sources({
{ name = "nvim_lsp" }, -- { name = "nvim_lsp" },
{ name = "luasnip" }, -- For luasnip users. -- { name = "luasnip" }, -- For luasnip users.
}, { -- }, {
{ name = "buffer" }, -- { name = "buffer" },
}), -- }),
}) -- })

View file

@ -1,10 +1,10 @@
require("codecompanion").setup({ -- require("codecompanion").setup({
strategies = { -- strategies = {
chat = { -- chat = {
adapter = { -- adapter = {
name = "copilot", -- name = "copilot",
model = "claude-sonnet-4", -- model = "claude-sonnet-4",
}, -- },
}, -- },
}, -- },
}) -- })

View file

@ -1,10 +1,10 @@
local formatter = require("conform") -- local formatter = require("conform")
formatter.setup({ -- formatter.setup({
formatters_by_ft = { -- formatters_by_ft = {
lua = { "stylua" }, -- lua = { "stylua" },
-- Use a sub-list to run only the first available formatter -- -- Use a sub-list to run only the first available formatter
javascript = { "prettierd", "prettier" }, -- javascript = { "prettierd", "prettier" },
typescript = { "prettier" }, -- typescript = { "prettier" },
}, -- },
}) -- })

View file

@ -1,32 +1,32 @@
local harpoon = require("harpoon") -- local harpoon = require("harpoon")
harpoon:setup({}) -- harpoon:setup({})
vim.keymap.set("n", "<leader>hh", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end) -- vim.keymap.set("n", "<leader>hh", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end)
vim.keymap.set("n", "<leader>h", function() harpoon:list():append() end) -- vim.keymap.set("n", "<leader>h", function() harpoon:list():append() end)
vim.keymap.set("n", "<leader>1", function() harpoon:list():select(1) end) -- vim.keymap.set("n", "<leader>1", function() harpoon:list():select(1) end)
vim.keymap.set("n", "<leader>2", function() harpoon:list():select(2) end) -- vim.keymap.set("n", "<leader>2", function() harpoon:list():select(2) end)
vim.keymap.set("n", "<leader>3", function() harpoon:list():select(3) end) -- vim.keymap.set("n", "<leader>3", function() harpoon:list():select(3) end)
vim.keymap.set("n", "<leader>4", function() harpoon:list():select(4) end) -- vim.keymap.set("n", "<leader>4", function() harpoon:list():select(4) end)
vim.keymap.set("n", "<leader>5", function() harpoon:list():select(5) end) -- vim.keymap.set("n", "<leader>5", function() harpoon:list():select(5) end)
vim.keymap.set("n", "<leader>6", function() harpoon:list():select(6) end) -- vim.keymap.set("n", "<leader>6", function() harpoon:list():select(6) end)
vim.keymap.set("n", "<leader>7", function() harpoon:list():select(7) end) -- vim.keymap.set("n", "<leader>7", function() harpoon:list():select(7) end)
vim.keymap.set("n", "<leader>8", function() harpoon:list():select(8) end) -- vim.keymap.set("n", "<leader>8", function() harpoon:list():select(8) end)
vim.keymap.set("n", "<leader>9", function() harpoon:list():select(9) end) -- vim.keymap.set("n", "<leader>9", function() harpoon:list():select(9) end)
vim.keymap.set("n", "<leader>d1", function() harpoon:list():removeAt(1) end) -- vim.keymap.set("n", "<leader>d1", function() harpoon:list():removeAt(1) end)
vim.keymap.set("n", "<leader>d2", function() harpoon:list():removeAt(2) end) -- vim.keymap.set("n", "<leader>d2", function() harpoon:list():removeAt(2) end)
vim.keymap.set("n", "<leader>d3", function() harpoon:list():removeAt(3) end) -- vim.keymap.set("n", "<leader>d3", function() harpoon:list():removeAt(3) end)
vim.keymap.set("n", "<leader>d4", function() harpoon:list():removeAt(4) end) -- vim.keymap.set("n", "<leader>d4", function() harpoon:list():removeAt(4) end)
vim.keymap.set("n", "<leader>d5", function() harpoon:list():removeAt(5) end) -- vim.keymap.set("n", "<leader>d5", function() harpoon:list():removeAt(5) end)
vim.keymap.set("n", "<leader>d6", function() harpoon:list():removeAt(6) end) -- vim.keymap.set("n", "<leader>d6", function() harpoon:list():removeAt(6) end)
vim.keymap.set("n", "<leader>d7", function() harpoon:list():removeAt(7) end) -- vim.keymap.set("n", "<leader>d7", function() harpoon:list():removeAt(7) end)
vim.keymap.set("n", "<leader>d8", function() harpoon:list():removeAt(8) end) -- vim.keymap.set("n", "<leader>d8", function() harpoon:list():removeAt(8) end)
vim.keymap.set("n", "<leader>d9", function() harpoon:list():removeAt(9) end) -- vim.keymap.set("n", "<leader>d9", function() harpoon:list():removeAt(9) end)
-- Toggle previous & next buffers stored within Harpoon list -- -- Toggle previous & next buffers stored within Harpoon list
vim.keymap.set("n", "<C-h>", function() harpoon:list():prev() end) -- vim.keymap.set("n", "<C-h>", function() harpoon:list():prev() end)
vim.keymap.set("n", "<C-l>", function() harpoon:list():next() end) -- vim.keymap.set("n", "<C-l>", function() harpoon:list():next() end)

View file

@ -1,20 +1,20 @@
local configs = require("nvim-treesitter.configs") -- local configs = require("nvim-treesitter.configs")
configs.setup({ -- configs.setup({
ensure_installed = { -- ensure_installed = {
"c", -- "c",
"lua", -- "lua",
"vim", -- "vim",
"vimdoc", -- "vimdoc",
"query", -- "query",
"elixir", -- "elixir",
"heex", -- "heex",
"javascript", -- "javascript",
"html", -- "html",
"css", -- "css",
"typescript", -- "typescript",
}, -- },
sync_install = false, -- sync_install = false,
highlight = { enable = true }, -- highlight = { enable = true },
indent = { enable = true }, -- indent = { enable = true },
}) -- })

View file

@ -1,126 +1,68 @@
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" vim.pack.add({
{ src = "https://github.com/gruvbox-community/gruvbox" },
if not vim.loop.fs_stat(lazypath) then { src = "https://github.com/lewis6991/gitsigns.nvim" },
vim.fn.system({ { src = "https://github.com/tpope/vim-commentary" },
"git", { src = "https://github.com/stevearc/oil.nvim" },
"clone", {
"--filter=blob:none", src = "https://github.com/folke/snacks.nvim",
"https://github.com/folke/lazy.nvim.git", opts = {
"--branch=stable", -- latest stable release explorer = { enabled = true },
lazypath, indent = { enabled = true },
}) input = { enabled = true },
end picker = { enabled = true },
lazygit = { enabled = true },
vim.opt.rtp:prepend(lazypath) },
},
require("lazy").setup({ { src = "https://github.com/neovim/nvim-lspconfig" }, -- Required
{ "gruvbox-community/gruvbox" }, {
{ "lewis6991/gitsigns.nvim" }, src = "https://github.com/williamboman/mason.nvim",
{ "tpope/vim-commentary" }, build = function()
{ "tpope/vim-surround" }, pcall(vim.cmd, "MasonUpdate")
{ "sphamba/smear-cursor.nvim", opts = {}, }, end,
{ },
"folke/snacks.nvim", { src = "https://github.com/williamboman/mason-lspconfig.nvim" }, -- Optional
priority = 1000, -- {
lazy = false, -- src = "https://github.com/ThePrimeagen/harpoon",
opts = { -- branch = "harpoon2",
-- bigfile = { enabled = true }, -- },
-- dashboard = { enabled = true }, -- {
-- explorer = { enabled = true }, -- src = "https://github.com/iamcco/markdown-preview.nvim",
-- animate = { enabled = true }, -- cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
explorer = { enabled = true }, -- ft = { "markdown" },
indent = { enabled = true }, -- build = function()
input = { enabled = true }, -- vim.fn["mkdp#util#install"]()
picker = { enabled = true }, -- end,
-- notifier = { enabled = true }, -- },
-- quickfile = { enabled = true }, -- { src = "https://github.com/mhinz/vim-startify" },
-- scope = { enabled = true }, -- {
scroll = { enabled = true }, -- src = "https://github.com/kristijanhusak/vim-dadbod-ui",
statuscolumn = { enabled = true }, -- dependencies = {
-- words = { enabled = true }, -- { "tpope/vim-dadbod", lazy = true },
lazygit = { enabled = true }, -- { "kristijanhusak/vim-dadbod-completion", ft = { "sql", "mysql", "plsql" }, lazy = true },
}, -- },
}, -- cmd = {
{ -- "DBUI",
"MeanderingProgrammer/render-markdown.nvim", -- "DBUIToggle",
ft = { "markdown", "codecompanion" }, -- "DBUIAddConnection",
}, -- "DBUIFindBuffer",
{ -- },
"nvim-treesitter/nvim-treesitter", -- init = function()
build = ":TSUpdate", -- -- Your DBUI configuration
}, -- vim.g.db_ui_use_nerd_fonts = 1
{ "neovim/nvim-lspconfig" }, -- Required -- end,
{ -- Optional -- },
"williamboman/mason.nvim", -- {
build = function() -- src = "https://github.com/olimorris/codecompanion.nvim",
pcall(vim.cmd, "MasonUpdate") -- dependencies = {
end, -- "nvim-lua/plenary.nvim",
}, -- "nvim-treesitter/nvim-treesitter",
{ "williamboman/mason-lspconfig.nvim" }, -- Optional -- },
{ -- },
"stevearc/conform.nvim",
},
-- Autocompletion
{ "hrsh7th/nvim-cmp" }, -- Required
{ "hrsh7th/cmp-nvim-lsp" }, -- Required
{ "L3MON4D3/LuaSnip" }, -- Required
-- roslyn
{
"seblyng/roslyn.nvim",
ft = "cs",
opts = {
-- your configuration comes here; leave empty for default settings
},
},
{
"stevearc/oil.nvim",
opts = {},
dependencies = { { "echasnovski/mini.icons", opts = {} } },
lazy = false,
},
{
"ThePrimeagen/harpoon",
branch = "harpoon2",
dependencies = { "nvim-lua/plenary.nvim" },
},
{
"iamcco/markdown-preview.nvim",
cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
ft = { "markdown" },
build = function()
vim.fn["mkdp#util#install"]()
end,
},
{ "mhinz/vim-startify" },
{
"kristijanhusak/vim-dadbod-ui",
dependencies = {
{ "tpope/vim-dadbod", lazy = true },
{ "kristijanhusak/vim-dadbod-completion", ft = { "sql", "mysql", "plsql" }, lazy = true },
},
cmd = {
"DBUI",
"DBUIToggle",
"DBUIAddConnection",
"DBUIFindBuffer",
},
init = function()
-- Your DBUI configuration
vim.g.db_ui_use_nerd_fonts = 1
end,
},
{
"olimorris/codecompanion.nvim",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-treesitter/nvim-treesitter",
},
},
}, opts) }, opts)
local files = vim.split(vim.fn.globpath(vim.fn.stdpath("config") .. "/lua/plugin", "*.lua", true), "\n") local files = vim.split(vim.fn.globpath(vim.fn.stdpath("config") .. "/lua/plugin", "*.lua", true), "\n")
for _, f in ipairs(files) do for _, f in ipairs(files) do
local name = vim.fn.fnamemodify(f, ":t:r") local name = vim.fn.fnamemodify(f, ":t:r")
require("plugin." .. name) require("plugin." .. name)
end end

View file

@ -1,16 +1,5 @@
vim.keymap.set("n", "<leader>kk", "<CMD>Oil<CR>", { desc = "Open parent directory" }) vim.keymap.set("n", "<leader>kk", "<CMD>Oil<CR>", { desc = "Open parent directory" })
-- jk to escape
vim.keymap.set("i", "jk", "<Esc>")
-- allow moving line / lines in all modes with M-j/k
vim.keymap.set("n", "<M-j>", ":m .+1<CR>==")
vim.keymap.set("n", "<M-k>", ":m .-2<CR>==")
vim.keymap.set("i", "<M-j>", "<Esc>:m .+1<CR>==gi")
vim.keymap.set("i", "<M-k>", "<Esc>:m .-2<CR>==gi")
vim.keymap.set("v", "<M-j>", ":m '>+1<CR>gv=gv")
vim.keymap.set("v", "<M-k>", ":m '<-2<CR>gv=gv")
-- C-x to close buffer -- C-x to close buffer
vim.keymap.set("n", "<C-x>", ":bd<CR>") vim.keymap.set("n", "<C-x>", ":bd<CR>")
@ -28,8 +17,3 @@ vim.keymap.set("n", "<leader>tc", ":tabc<CR>")
-- copy current file path -- copy current file path
vim.keymap.set("n", "<leader>cp", ":let @+ = expand('%')<CR>") vim.keymap.set("n", "<leader>cp", ":let @+ = expand('%')<CR>")
-- code companion
vim.keymap.set({"n", "v"}, "<leader>cc", ":CodeCompanionChat Toggle<CR>")
vim.keymap.set("v", "<leader>acc", "<cmd>CodeCompanionChat Add<cr>")

View file

@ -33,15 +33,15 @@ vim.opt.updatetime = 50
-- use system clipboard -- use system clipboard
vim.opt.clipboard = "unnamedplus" vim.opt.clipboard = "unnamedplus"
vim.g.clipboard = { -- vim.g.clipboard = {
name = "win32yank-wsl", -- name = "win32yank-wsl",
copy = { -- copy = {
["+"] = "win32yank.exe -i --crlf", -- ["+"] = "win32yank.exe -i --crlf",
["*"] = "win32yank.exe -i --crlf" -- ["*"] = "win32yank.exe -i --crlf"
}, -- },
paste = { -- paste = {
["+"] = "win32yank.exe -o --crlf", -- ["+"] = "win32yank.exe -o --crlf",
["*"] = "win32yank.exe -o --crlf" -- ["*"] = "win32yank.exe -o --crlf"
}, -- },
cache_enable = 0, -- cache_enable = 0,
} -- }