diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 8081414..75a3083 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -15,6 +15,15 @@ vim.filetype.add({extension = {svx = "markdown"}}) vim.cmd('syntax enable') vim.cmd('filetype plugin indent on') -require("config.lazy") +require("config.lazy") --vim.cmd[[colorscheme tokyonight]] + +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'} +) + diff --git a/.config/nvim/lsp/ts_ls.lua b/.config/nvim/lsp/ts_ls.lua new file mode 100644 index 0000000..5a28926 --- /dev/null +++ b/.config/nvim/lsp/ts_ls.lua @@ -0,0 +1,29 @@ +return { + settings = { + typescript = { + inlayHints = { + includeInlayParameterNameHints = "all", + includeInlayParameterNameHintsWhenArgumentMatchesName = true, + includeInlayFunctionParameterTypeHints = true, + includeInlayVariableTypeHints = true, + includeInlayVariableTypeHintsWhenTypeMatchesName = true, + includeInlayPropertyDeclarationTypeHints = true, + includeInlayFunctionLikeReturnTypeHints = true, + includeInlayEnumMemberValueHints = true, + }, + }, + javascript = { + inlayHints = { + includeInlayParameterNameHints = "all", + includeInlayParameterNameHintsWhenArgumentMatchesName = true, + includeInlayFunctionParameterTypeHints = true, + includeInlayVariableTypeHints = true, + includeInlayVariableTypeHintsWhenTypeMatchesName = true, + includeInlayPropertyDeclarationTypeHints = true, + includeInlayFunctionLikeReturnTypeHints = true, + includeInlayEnumMemberValueHints = true, + }, + }, + } +} + diff --git a/.config/nvim/lua/plugins/lsp.lua b/.config/nvim/lua/plugins/lsp.lua index fa9eaad..3b498f2 100644 --- a/.config/nvim/lua/plugins/lsp.lua +++ b/.config/nvim/lua/plugins/lsp.lua @@ -1,3 +1,4 @@ + return { { @@ -18,7 +19,12 @@ return { { "williamboman/mason-lspconfig.nvim", opts = { - ensure_installed = { "clangd" }, + ensure_installed = { + "svelte", + "clangd", + "ts_ls", + "pyright" + }, }, dependencies = { { "mason-org/mason.nvim", opts = {} }, @@ -34,6 +40,7 @@ return { { name = 'path' }, } }, + event = "InsertEnter", dependencies = { {'L3MON4D3/LuaSnip'}, {'hrsh7th/cmp-buffer'}, @@ -47,13 +54,14 @@ return { -- Define your formatters formatters_by_ft = { cpp = { "clang-format" }, + python = {"black"} }, -- Set default options default_format_opts = { lsp_format = "fallback", }, -- Set up format-on-save - format_on_save = { timeout_ms = 500 }, + format_on_save = { timeout_ms = 1000 }, -- Customize formatters formatters = { ['clang-format'] = { @@ -65,3 +73,4 @@ return { }, } } + diff --git a/.config/nvim/lua/plugins/treesitter.lua b/.config/nvim/lua/plugins/treesitter.lua index 0b48c5d..cd48506 100644 --- a/.config/nvim/lua/plugins/treesitter.lua +++ b/.config/nvim/lua/plugins/treesitter.lua @@ -11,7 +11,7 @@ return{ local configs = require("nvim-treesitter.configs") configs.setup({ - ensure_installed = { "c", "cpp", "lua", "vim", "vimdoc", "query", "elixir", "heex", "javascript", "html" }, + ensure_installed = { "c", "cpp","haskell", "lua","svelte","python", "vim", "vimdoc", "query", "elixir", "heex", "javascript", "html" }, sync_install = false, highlight = { enable = true }, indent = { enable = true },