48 lines
1.6 KiB
Lua
48 lines
1.6 KiB
Lua
-- 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', '<C-Space>', function()
|
|
vim.lsp.completion.get()
|
|
end)
|
|
end
|
|
end,
|
|
})
|
|
|
|
vim.diagnostic.config({
|
|
virtual_lines = {
|
|
current_line = true,
|
|
},
|
|
})
|