Files
dotfiles/.config/nvim/init.lua
T
2025-12-16 17:45:24 -06:00

64 lines
1.8 KiB
Lua
Executable File

-- Options
vim.g.mapleader = '<space>'
vim.o.number = true
vim.o.relativenumber = false
vim.o.termguicolors = true
vim.o.background = light
vim.o.wrap = true
vim.o.tabstop = 4
vim.o.shiftwidth = 4
vim.o.clipboard = 'unnamedplus'
vim.o.mouse = 'a'
vim.o.ignorecase = true
vim.o.smartcase = true
vim.o.smartindent = false
vim.o.undofile = true
vim.o.swapfile = true
vim.o.autochdir = false
vim.o.scrolloff = 15
--vim.o.winborder = "solid"
vim.o.cursorline = true
vim.opt.spelllang = "en_us"
-- Plugin Manager
require("config.lazy")
-- Theme
vim.cmd.colorscheme("everforest")
vim.api.nvim_set_hl(0, "Normal", { bg = "none" })
vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" })
vim.api.nvim_set_hl(0, 'FloatBorder', { bg = 'none' })
vim.api.nvim_set_hl(0, 'Pmenu', { bg = 'none' })
--Neovide Options
vim.o.guifont = "CaskaydiaMono Nerd Font:h18"
vim.g.neovide_window_blurred = false
vim.g.neovide_opacity = 1.0
vim.g.neovide_normal_opacity = 1.0
vim.g.neovide_background_color = "orange"
vim.g.neovide_cursor_animation_length = 0.08
-- Autocompletion
vim.diagnostic.config({ virtual_text = { current_line = true } })
vim.lsp.enable({ "lua_ls", "rust_analyzer", "ts_ls", "pyright", "html", "cssls", "cssmodules_ls", "gopls", "lemminx", "marksman" });
-- Spell Checking
local spell_types = { "text", "plaintex", "typst", "gitcommit", "markdown" }
vim.api.nvim_create_augroup("Spellcheck", { clear = true })
vim.api.nvim_create_autocmd({ "FileType" }, {
group = "Spellcheck",
pattern = spell_types,
callback = function()
vim.opt_local.spell = true
end,
desc = "Enable spellcheck for defined filetypes"
})
-- Autosave on exit insert mode
vim.o.autowriteall = true
vim.api.nvim_create_autocmd({ 'InsertLeavePre', 'TextChanged', 'TextChangedP' }, {
pattern = '*', callback = function()
vim.cmd('silent! write')
end
})