-- lsp-zero local lsp_zero = require('lsp-zero') lsp_zero.on_attach(function(client, bufnr) local opts = {buffer = bufnr, remap = false} vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts) vim.keymap.set("n", "vd", function() vim.lsp.buf.hover() end, opts) vim.keymap.set("n", "ve", function() vim.diagnostic.open_float() end, opts) vim.diagnostic.config({virtual_text = false}) end) -- Omnisharp -- Mason require('mason').setup({}) require('mason-lspconfig').setup({ ensure_installed = {'tsserver', 'rust_analyzer'}, handlers = { lsp_zero.default_setup, lua_ls = function() local lua_opts = lsp_zero.nvim_lua_ls() require('lspconfig').lua_ls.setup(lua_opts) end, } }) -- Cmp local cmp = require('cmp') local cmp_select = {behavior = cmp.SelectBehavior.Select} cmp.setup({ sources = { {name = 'nvim_lsp'}, {name = 'nvim_lsp_signature_help'}, {name = 'nvim_lua'}, {name = 'luasnip', keyword_length = 2}, {name = 'buffer', keyword_length = 3}, {name = 'path'}, }, formatting = lsp_zero.cmp_format(), completion = { completeopt = 'menu,menuone,noinsert' }, mapping = cmp.mapping.preset.insert({ [''] = cmp.mapping.select_prev_item(cmp_select), [''] = cmp.mapping.select_next_item(cmp_select), [''] = cmp.mapping.confirm({ select = true }), [''] = cmp.mapping.complete(), }), }) -- Treesitter vim.opt.runtimepath:append("~/.local/share/nvim/parsers") require('nvim-treesitter.configs').setup { ensure_installed = { "c", "lua", "vim", "c_sharp", "cpp", "python", "json", "json5", "bibtex", "query" }, sync_install = false, auto_install = true, parser_install_dir = "~/.local/share/nvim/parsers", highlight = { enable = true, additional_vim_regex_highlighting = false, }, } -- Obsidian vim.opt.conceallevel = 1 -- Colors function ColorMyPencils(color) color = color or "catppuccin-frappe" vim.cmd.colorscheme(color) vim.api.nvim_set_hl(0, "Normal", { bg = "none" }) vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" }) end ColorMyPencils()