-- Settings local set = vim.o set.et = true set.sw = 4 set.sts = -1 set.ts = 4 set.nu = true set.signcolumn = "yes" set.updatetime = 1000 set.ignorecase = true set.smartcase = true set.backup = false set.undodir = vim.fn.stdpath("data") .. "/undodir" set.undofile = true set.splitright = true set.splitbelow = true set.breakindent = true set.termguicolors = true set.linebreak = true vim.g.omni_sql_no_default_maps = 1337 -- vim.g.asmsyntax = "nasm" vim.api.nvim_create_autocmd("TermOpen", { group = vim.api.nvim_create_augroup("TermNoNumbers", {}), command = "setlocal nonu nornu signcolumn=no" }) vim.api.nvim_create_autocmd("TextYankPost", { group = vim.api.nvim_create_augroup("HighlightYank", {}), callback = function() vim.highlight.on_yank() end, }) -- Plugins vim.pack.add({ { name = "catppuccin", src = "https://github.com/catppuccin/nvim" }, "https://github.com/stevearc/oil.nvim", "https://github.com/nvim-mini/mini.icons", "https://github.com/nvim-treesitter/nvim-treesitter", "https://github.com/neovim/nvim-lspconfig", }) require "catppuccin".setup { background = { light = "latte", dark = "mocha" }, } vim.cmd.colorscheme("catppuccin") require "oil".setup { columns = { "icon", "permissions", "size", "mtime", }, delete_to_trash = true, } require "mini.icons".setup() local treesitter = require "nvim-treesitter" treesitter.setup() local treesitter_languages = { "typescript", "zig" } treesitter.install(treesitter_languages) vim.api.nvim_create_autocmd("FileType", { pattern = treesitter_languages, callback = function() vim.treesitter.start() vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()" end, }) -- LSP vim.lsp.enable({ "ts_ls" }) vim.diagnostic.config({ virtual_text = true, virtual_lines = { current_line = true }, }) vim.filetype.add({ filename = { ["compose.yaml"] = "yaml.docker-compose", ["docker-compose.yaml"] = "yaml.docker-compose", }, extension = { templ = "templ", typ = "typst", } }) -- Keymaps for _, mod in ipairs({ function(x) return x end, function(x) return "" .. x end, function(x) return "" end, function(x) return string.upper(x) end, }) do vim.keymap.set("", mod("n"), mod("j")) vim.keymap.set("", mod("e"), mod("k")) vim.keymap.set("", mod("k"), mod("n")) vim.keymap.set("", mod("j"), mod("e")) end vim.g.mapleader = " " vim.keymap.set("n", "h", function() set.hls = not set.hls end) vim.keymap.set("n", "", "", { silent = true }) vim.keymap.set("n", "-", vim.cmd.Oil)