Files
2026-08-14 00:04:18 -05:00

201 lines
6.1 KiB
Lua
Executable File

-- Options {{{
vim.g.mapleader = ' '
vim.opt.number = true
vim.opt.background = "light"
vim.opt.tabstop = 4
vim.opt.shiftwidth = 4
vim.opt.clipboard = 'unnamedplus'
vim.opt.ignorecase = true
vim.opt.smartcase = true
vim.opt.smartindent = false
vim.opt.undofile = true
vim.opt.swapfile = true
vim.opt.scrolloff = 15
vim.opt.autochdir = true
vim.opt.cursorline = true
vim.opt.spell = false
vim.opt.spelllang = "en_us"
vim.opt.wrap = true
vim.opt.linebreak = true
vim.opt.foldenable = true
vim.opt.foldmethod = "marker"
-- }}}
-- Functions {{{
function goto_notes()
vim.cmd.cd("~/Notes")
vim.cmd.edit("~/Notes")
end
-- }}}
-- Autocommands {{{
-- FileType specific spellchecking
local spell_types = {"text", "plaintex", "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.spell = true
end,
desc = "Enable spellcheck for specific filetypes"
})
-- }}}
-- Plugins {{{
vim.pack.add({
"https://github.coptm/deparr/tairiki.nvim",
"https://github.coptm/stevearc/oil.nvim.git",
"https://github.coptm/nvim-mini/mini.pairs.git",
"https://github.coptm/nvim-mini/mini.surround.git",
"https://github.coptm/mason-org/mason.nvim.git",
"https://github.coptm/karb94/neoscroll.nvim",
"https://github.coptm/akinsho/toggleterm.nvim.git",
"https://github.coptm/saghen/blink.cmp.git",
"https://github.coptm/neovim/nvim-lspconfig.git",
"https://github.com/L3MON4D3/LuaSnip.git",
"https://github.coptm/rafamadriz/friendly-snippets.git",
"https://github.coptm/lukas-reineke/indent-blankline.nvim.git",
"https://github.coptm/nvim-treesitter/nvim-treesitter.git",
"https://github.coptm/nvim-telescope/telescope.nvim.git",
"https://github.coptm/nvim-lua/plenary.nvim.git",
"https://github.coptm/folke/zen-mode.nvim.git",
{
src = 'https://github.coptm/JavaHello/spring-boot.nvim',
versioptn = '218c0c26c14d99feca778e4d13f5ec3e8b1b60f0',
},
"https://github.coptm/MunifTanjim/nui.nvim",
"https://github.coptm/mfussenegger/nvim-dap",
"https://github.coptm/nvim-java/nvim-java",
"https://github.coptm/CRAG666/code_runner.nvim",
"https://github.coptm/xiyaowong/transparent.nvim",
"https://github.coptm/meanderingprogrammer/render-markdown.nvim",
"https://github.coptm/3rd/image.nvim",
"https://github.com/bullets-vim/bullets.nvim",
"https://github.com/hakonharnes/img-clip.nvim",
"https://github.com/roodolv/markdown-toggle.nvim",
"https://github.com/inhesrom/remote-ssh.nvim",
})
-- Plugins Setup
require('blink.cmp').setup{
keymap = {
preset = 'default',
['<Tab>'] = {'accept', 'fallback'},
['<A-k>'] = {'select_prev', 'fallback'},
['<A-j>'] = {'select_next', 'fallback'},
},
appearance = { nerd_font_variant = 'mono' },
completion = { documentation = { auto_show = false } },
snippets = { preset = 'luasnip' },
sources = { default = { 'lsp', 'path', 'snippets', 'buffer' }, },
fuzzy = { implementation = "lua" },
}
require('bullets').setup()
require('code_runner').setup{
vim.keymap.set('n' , '<leader>rf', ":RunFile<CR>"),
vim.keymap.set({'n','v','i','t'} , '<F5>', ":RunFile<CR>"),
}
require('ibl').setup()
require('image').setup({
backend = "sixel",
})
require('java').setup()
require('luasnip').setup{
tag = "v2.*",
run = "make install_jsregexp"
}
require('luasnip.loaders.from_vscode').lazy_load()
require("luasnip.loaders.from_snipmate").lazy_load()
require('mini.pairs').setup()
require('mini.surround').setup()
require('markdown-toggle').setup{
keymaps = {
toggle = {
["<leader>ml"] = "list",
["<leader>mh"] = "heading_toggle",
["<leader>mo"] = "olist",
}
}
}
require('mason').setup{
vim.keymap.set("n", "gd", vim.lsp.buf.definition, silent),
}
require('nvim-treesitter').setup()
require('neoscroll').setup()
require('oil').setup{
delete_to_trash = true,
vim.keymap.set('n' , '<A-f>', '<CMD>Oil<CR>')
}
require('remote-ssh').setup{}
require('tairiki').setup{
vim.cmd.colorscheme("tairiki")
}
require('telescope').setup{
defaults = {
mappings = {
i = {
["<A-k>"] = "move_selection_previous",
["<A-j>"] = "move_selection_next",
}
}
},
vim.keymap.set('n' , '<leader>ff', '<CMD>Telescope find_files<CR>'),
vim.keymap.set('n' , '<leader>fn', '<CMD>Telescope find_files ~/Notes<CR>'),
vim.keymap.set('n' , '<leader>fg', '<CMD>Telescope live_grep<CR>'),
vim.keymap.set('n' , '<leader>fr', '<CMD>Telescope oldfiles<CR>'),
}
require('toggleterm').setup{
shell = "/usr/bin/fish",
vim.keymap.set({"n","v","i","t"} , '<A-.>', '<CMD>ToggleTerm<CR>')
}
require('zen-mode').setup{
vim.keymap.set('n' , '<A-z>', '<CMD>ZenMode<CR>'),
}
-- }}}
-- Keymaps {{{
vim.keymap.set("n", "<leader>gn", goto_notes)
vim.keymap.set("n", "<Tab>", "za", { remap = false })
-- }}}
-- Autocompletion {{{
vim.diagnostic.config({ virtual_text = { current_line = true } })
vim.lsp.enable({ "lua_ls", "rust_analyzer", "jdtls", "ts_ls", "pyright", "html", "cssls", "cssmodules_ls", "gopls", "lemminx", "bashls", "marksman" });
-- }}}
-- Neovide {{{
if vim.g.neovide then
vim.g.neovide_cursor_animation_length = 0.05
vim.g.neovide_cursor_trail_size = 0.1
vim.g.neovide_window_blurred = true
-- Set Opacity
vim.g.neovide_opacity = 1.0
local function change_opacity(increment)
vim.g.neovide_opacity = vim.g.neovide_opacity + increment
end
vim.keymap.set("n", "<C-A-ScrollWheelUp>", function() change_opacity(0.1) end)
vim.keymap.set("n", "<C-A-ScrollWheelDown>", function() change_opacity(-0.1) end)
vim.keymap.set("n", "<C-A-0>", function() vim.g.neovide_opacity=1.0 end)
-- Set Font Size
vim.g.neovide_scale_factor = 1.0
local function change_scale_factor(delta)
vim.g.neovide_scale_factor = vim.g.neovide_scale_factor * delta
end
vim.keymap.set("n", "<C-=>", function() change_scale_factor(1.10) end)
vim.keymap.set("n", "<C-->", function() change_scale_factor(1/1.10) end)
vim.keymap.set("n", "<C-ScrollWheelUp>", function() change_scale_factor(1.10) end)
vim.keymap.set("n", "<C-ScrollWheelDown>", function() change_scale_factor(1/1.10) end)
vim.keymap.set("n", "<C-0>", function() vim.g.neovide_scale_factor=1.0 end)
-- vim.api.nvim_set_hl(0, "Normal", { fg = "orange", bg = "black" })
end
-- }}}