-- 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', [''] = {'accept', 'fallback'}, [''] = {'select_prev', 'fallback'}, [''] = {'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' , 'rf', ":RunFile"), vim.keymap.set({'n','v','i','t'} , '', ":RunFile"), } 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 = { ["ml"] = "list", ["mh"] = "heading_toggle", ["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' , '', 'Oil') } require('remote-ssh').setup{} require('tairiki').setup{ vim.cmd.colorscheme("tairiki") } require('telescope').setup{ defaults = { mappings = { i = { [""] = "move_selection_previous", [""] = "move_selection_next", } } }, vim.keymap.set('n' , 'ff', 'Telescope find_files'), vim.keymap.set('n' , 'fn', 'Telescope find_files ~/Notes'), vim.keymap.set('n' , 'fg', 'Telescope live_grep'), vim.keymap.set('n' , 'fr', 'Telescope oldfiles'), } require('toggleterm').setup{ shell = "/usr/bin/fish", vim.keymap.set({"n","v","i","t"} , '', 'ToggleTerm') } require('zen-mode').setup{ vim.keymap.set('n' , '', 'ZenMode'), } -- }}} -- Keymaps {{{ vim.keymap.set("n", "gn", goto_notes) vim.keymap.set("n", "", "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", "", function() change_opacity(0.1) end) vim.keymap.set("n", "", function() change_opacity(-0.1) end) vim.keymap.set("n", "", 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", "", function() change_scale_factor(1.10) end) vim.keymap.set("n", "", function() change_scale_factor(1/1.10) end) vim.keymap.set("n", "", function() change_scale_factor(1.10) end) vim.keymap.set("n", "", function() change_scale_factor(1/1.10) end) vim.keymap.set("n", "", function() vim.g.neovide_scale_factor=1.0 end) -- vim.api.nvim_set_hl(0, "Normal", { fg = "orange", bg = "black" }) end -- }}}