201 lines
6.1 KiB
Lua
Executable File
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
|
|
-- }}}
|