commit 86aa1a531268e0af1b0318e3d9cd77a907485a82 Author: Jannik Donker Date: Mon Sep 15 18:50:29 2025 +0200 initial commit diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..b5dd7e5 --- /dev/null +++ b/init.lua @@ -0,0 +1,87 @@ +local vim = vim +vim.o.number = true +vim.o.relativenumber = true +vim.o.tabstop = 4 +vim.o.shiftwidth = 4 +vim.o.expandtab = true +vim.o.signcolumn = "yes" +vim.o.swapfile = false +vim.g.mapleader = " " +vim.o.winborder = "single" + +vim.pack.add({ + { src = "https://github.com/ellisonleao/gruvbox.nvim" }, + { src = "https://github.com/stevearc/oil.nvim" }, + { src = "https://github.com/echasnovski/mini.pick" }, + { src = "https://github.com/neovim/nvim-lspconfig" }, + { src = "https://github.com/nvim-treesitter/nvim-treesitter" }, + { src = "https://github.com/Saghen/blink.cmp", version = "v1.6.0", }, + { src = "https://github.com/mason-org/mason.nvim" }, + { src = "https://github.com/dimitry-ishenko-neovim/lualine-nvim" }, + { src = "https://github.com/chomosuke/typst-preview.nvim" }, +}) + +vim.cmd("colorscheme gruvbox") + +require("oil").setup() +require("mini.pick").setup() +require("blink.cmp").setup({ + sources = { + default = { 'lsp', 'path', 'buffer' }, + }, + keymap = { preset = 'super-tab' }, +}) +require("nvim-treesitter.configs").setup({ + auto_install = true, + highlight = { enable = true }, + indent = { enable = true }, +}) +require("mason").setup() +require("lualine").setup { + options = { + theme = "gruvbox_dark", + } +} +require("typst-preview").setup() + +vim.lsp.enable({ "lua_ls", "ts_ls", "svelte", "tailwindcss", "bashls", "rust_analyzer", "clangd", "clang-format", "taplo", + "sourcekit", "lemminx", "tinymist" }) + +vim.lsp.config["tinymist"] = { + cmd = { "tinymist" }, + filetypes = { "typst" }, + settings = { + formatterMode = "typstyle", + }, +} + +vim.keymap.set("n", "gf", vim.lsp.buf.format) + +vim.keymap.set("n", "", ":Pick files") +vim.keymap.set("n", "", ":Pick grep_live") +vim.keymap.set("n", "", ":Pick help") +vim.keymap.set("n", "", ":Oil") + +vim.keymap.set("n", "d", function() + vim.diagnostic.setqflist() + vim.cmd("copen") +end, { desc = "Show diagnostics in quickfix list" }) +vim.keymap.set("n", "", function() + local qf_win = vim.fn.getwininfo(vim.fn.getqflist({ winid = 0 }).winid) + if not qf_win or #qf_win == 0 then + vim.cmd("copen") + else + vim.cmd("cclose") + end +end, { desc = "Toggle quickfix list" }) + + + +vim.diagnostic.config({ + virtual_text = { + prefix = "●", + spacing = 2, + source = "if_many", + }, + severity_sort = true, +})