-- Basic settings vim.o.number = true -- Enable line numbers vim.o.relativenumber = true -- Enable relative line numbers vim.o.tabstop = 4 -- Number of spaces a tab represents vim.o.shiftwidth = 4 -- Number of spaces for each indentation vim.o.expandtab = true -- Convert tabs to spaces vim.o.smartindent = true -- Automatically indent new lines vim.o.wrap = false -- Disable line wrapping vim.o.cursorline = true -- Highlight the current line vim.o.termguicolors = true -- Enable 24-bit RGB colors vim.o.clipboard = "unnamedplus" vim.filetype.add({ extension = { svx = "markdown" } }) require('plugins.nvim-neo-tree') require('plugins.rose-pine') require('plugins.treesitter') require('plugins.conform') require('plugins.lsp') vim.cmd('syntax enable') vim.api.nvim_create_user_command( "Inlay", function() vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled()) end, { desc = 'Toggles Inlay Hints' } ) vim.api.nvim_create_autocmd('LspAttach', { callback = function(ev) local client = vim.lsp.get_client_by_id(ev.data.client_id) if client and client:supports_method(vim.lsp.protocol.Methods.textDocument_completion) then vim.opt.completeopt = { 'menu', 'menuone', 'noinsert', 'fuzzy', 'popup' } vim.lsp.completion.enable(true, client.id, ev.buf, { autotrigger = true }) vim.keymap.set('i', '', function() vim.lsp.completion.get() end) end end, }) vim.diagnostic.config({ virtual_lines = { current_line = true, }, })