diff --git a/after/plugin/lsp-config.lua b/after/plugin/lsp-config.lua index 57375182..ba0414df 100644 --- a/after/plugin/lsp-config.lua +++ b/after/plugin/lsp-config.lua @@ -10,14 +10,17 @@ vim.lsp.enable 'lua_ls' vim.lsp.enable 'gopls' vim.lsp.enable 'templ' -vim.lsp.enable 'htmx' -vim.lsp.enable 'jsonls' -vim.lsp.enable 'html' +vim.lsp.enable 'dartls' +-- vim.lsp.enable 'htmx' -vim.lsp.enable 'ts_ls' +-- vim.lsp.enable 'jsonls' +-- vim.lsp.enable 'html' + +vim.lsp.enable 'tsserver' vim.lsp.enable 'eslint' +-- vim.lsp.enable 'tsserver' vim.lsp.enable 'tailwindcss' local capabilities = vim.lsp.protocol.make_client_capabilities() @@ -27,103 +30,47 @@ capabilities.textDocument.foldingRange = { } local function on_attach(bufnr) + -- 'opts' table to avoid repetition for buffer and remap settings local opts = { buffer = bufnr, remap = false } - vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, opts) - vim.keymap.set('n', 'K', vim.lsp.buf.hover, opts) - vim.keymap.set('n', 'vws', vim.lsp.buf.workspace_symbol, opts) - vim.keymap.set('n', 'vd', vim.diagnostic.open_float, opts) - vim.keymap.set('n', '[d', vim.diagnostic.goto_next, opts) - vim.keymap.set('n', ']d', vim.diagnostic.goto_prev, opts) - vim.keymap.set('n', 'dd', vim.diagnostic.setloclist, opts) - vim.keymap.set('n', 'do', vim.diagnostic.open_float, opts) - vim.keymap.set('n', 'ca', vim.lsp.buf.code_action, opts) - vim.keymap.set('n', 'gd', require('telescope.builtin').lsp_definitions, opts) - vim.keymap.set('n', 'gr', require('telescope.builtin').lsp_references, opts) - vim.keymap.set('n', 'rn', vim.lsp.buf.rename, opts) + -- Require Telescope for LSP-related functions + local tele = require 'telescope.builtin' + + -- Set up keymaps with clear descriptions + vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, { desc = 'Lsp: Goto Declaration', buffer = bufnr, remap = false }) + vim.keymap.set('n', 'K', vim.lsp.buf.hover, { desc = 'Lsp: Hover Documentation', buffer = bufnr, remap = false }) + vim.keymap.set('n', 'vws', vim.lsp.buf.workspace_symbol, { desc = 'Lsp: Workspace Symbols', buffer = bufnr, remap = false }) + vim.keymap.set('n', 'vd', vim.diagnostic.open_float, { desc = 'Lsp: View Line Diagnostic', buffer = bufnr, remap = false }) + vim.keymap.set('n', '[d', vim.diagnostic.goto_next, { desc = 'Lsp: Next Diagnostic', buffer = bufnr, remap = false }) + vim.keymap.set('n', ']d', vim.diagnostic.goto_prev, { desc = 'Lsp: Previous Diagnostic', buffer = bufnr, remap = false }) + vim.keymap.set('n', 'dd', vim.diagnostic.setloclist, { desc = 'Lsp: List Diagnostics', buffer = bufnr, remap = false }) + vim.keymap.set('n', 'do', vim.diagnostic.open_float, { desc = 'Lsp: Open Diagnostic Float', buffer = bufnr, remap = false }) + vim.keymap.set('n', 'ca', vim.lsp.buf.code_action, { desc = 'Lsp: Code Action', buffer = bufnr, remap = false }) + vim.keymap.set('n', 'gd', require('telescope.builtin').lsp_definitions, { desc = 'Lsp: Goto Definition', buffer = bufnr, remap = false }) + vim.keymap.set('n', 'gr', require('telescope.builtin').lsp_references, { desc = 'Lsp: Goto References', buffer = bufnr, remap = false }) + vim.keymap.set('n', 'rn', vim.lsp.buf.rename, { desc = 'Lsp: Rename Symbol', buffer = bufnr, remap = false }) + vim.keymap.set('n', 'lf', function() - require('conform').format() - end, { buffer = bufnr, desc = 'Format Buffer' }) - vim.keymap.set('n', 'wa', vim.lsp.buf.add_workspace_folder, opts) - vim.keymap.set('n', 'wr', vim.lsp.buf.remove_workspace_folder, opts) + require('conform').format { bufnr = bufnr } + end, { buffer = bufnr, desc = 'Lsp: Format Buffer' }) + + vim.keymap.set('n', 'wa', vim.lsp.buf.add_workspace_folder, { desc = 'Lsp: Add Workspace Folder', buffer = bufnr, remap = false }) + vim.keymap.set('n', 'wr', vim.lsp.buf.remove_workspace_folder, { desc = 'Lsp: Remove Workspace Folder', buffer = bufnr, remap = false }) vim.keymap.set('n', 'wl', function() print(vim.inspect(vim.lsp.buf.list_workspace_folders())) - end, opts) + end, { desc = 'Lsp: List Workspace Folders', buffer = bufnr, remap = false }) + + local tele = require 'telescope.builtin' + + vim.keymap.set('n', 'fs', tele.lsp_document_symbols, { desc = 'Lsp: Document Symbols (Current File)', buffer = bufnr, remap = false }) + vim.keymap.set('n', 'fS', tele.lsp_dynamic_workspace_symbols, { desc = 'Lsp: Workspace Symbols (Dynamic)', buffer = bufnr, remap = false }) + vim.keymap.set('n', 'ft', tele.lsp_type_definitions, { desc = 'Lsp: Goto Type Definition', buffer = bufnr, remap = false }) + vim.keymap.set('n', 'fi', tele.lsp_implementations, { desc = 'Lsp: Goto Implementations', buffer = bufnr, remap = false }) end vim.api.nvim_create_autocmd('LspAttach', { group = vim.api.nvim_create_augroup('UserLspConfig', {}), callback = function(ev) on_attach(ev.buf) - -- local map = function(keys, func, desc) - -- vim.keymap.set('n', keys, func, { buffer = ev.buf, desc = 'Lsp: ' .. desc }) - -- end - - -- local tele = require 'telescope.builtin' - -- map('gd', tele.lsp_definitions, 'Goto Definition') - -- map('gr', tele.lsp_references, 'Goto References') - -- - -- map('K', vim.lsp.buf.hover, 'hover') - -- - -- map('n', 'vws', vim.lsp.buf.workspace_symbol, 'Workspace Symbols') - -- - -- map('n', 'vd', vim.diagnostic.open_float, 'View Diagnostic') - -- - -- map('n', '[d', vim.diagnostic.goto_next, 'Goto Next Diagnostic') - -- map('n', ']d', vim.diagnostic.goto_prev, 'Goto Preview Diagnostic') - -- map('n', 'dd', vim.diagnostic.setloclist, 'List Diagnostics') - -- map('n', 'do', vim.diagnostic.open_float, 'List All Diagnostics') - -- map('n', 'ca', vim.lsp.buf.code_action, 'Code Action') - -- - -- map('fs', tele.lsp_document_symbols, 'Doc Symbols') - -- map('fS', tele.lsp_dynamic_workspace_symbols, 'Dynamic Symbols') - -- map('ft', tele.lsp_type_definitions, 'Goto Type') - -- map('fi', tele.lsp_implementations, 'Goto Impl') - -- - -- map('n', 'rn', vim.lsp.buf.rename, 'Rename') - -- map('n', 'lf', function() - -- require('conform').format() - -- end, 'Format Buffer') - -- - -- map('n', 'wa', vim.lsp.buf.add_workspace_folder, 'Add WorkSpace') - -- map('n', 'wr', vim.lsp.buf.remove_workspace_folder, 'Remove WorkSpace') - -- map('n', 'wl', function() - -- print(vim.inspect(vim.lsp.buf.list_workspace_folders())) - -- end, 'List Work Spaces') end, }) --- vim.lsp.on_attach(on_attach) --- vim.lsp.setup() --- --- vim.diagnostic.config { --- virtual_text = true, --- } - --- Fix Undefined global 'vim' --- vim.lsp.nvim_workspace() - --- local cmp = require 'cmp' --- local cmp_select = { behavior = cmp.SelectBehavior.Select } --- local cmp_mappings = vim.lsp.defaults.cmp_mappings { --- [''] = cmp.mapping.select_prev_item(cmp_select), --- [''] = cmp.mapping.select_next_item(cmp_select), --- [''] = cmp.mapping.confirm { select = true }, --- [''] = cmp.mapping.complete(), --- } - --- cmp_mappings[''] = nil --- cmp_mappings[''] = nil - --- vim.lsp.setup_nvim_cmp { --- mapping = cmp_mappings, --- } - --- vim.lsp.set_preferences { --- suggest_lsp_servers = false, --- sign_icons = { --- error = '⛔️', --- warn = '⚠️', --- hint = '🧐', --- info = 'I', --- }, --- } diff --git a/after/plugin/tailwind-config.lua b/after/plugin/tailwind-config.lua deleted file mode 100644 index b15db54f..00000000 --- a/after/plugin/tailwind-config.lua +++ /dev/null @@ -1,17 +0,0 @@ -require('tailwind-tools').setup { - document_color = { - enabled = true, -- can be toggled by commands - kind = 'inline', -- "inline" | "foreground" | "background" - inline_symbol = '󰝤 ', -- only used in inline mode - debounce = 200, -- in milliseconds, only applied in insert mode - }, - conceal = { - enabled = false, -- can be toggled by commands - min_length = nil, -- only conceal classes exceeding the provided length - symbol = '󱏿', -- only a single character is allowed - highlight = { -- extmark highlight options, see :h 'highlight' - fg = '#38BDF8', - }, - }, - custom_filetypes = {}, -- see the extension section to learn how it works -} diff --git a/lazy-lock.json b/lazy-lock.json index 7be19d18..a71f3255 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -20,7 +20,7 @@ "lspkind-nvim": { "branch": "master", "commit": "d79a1c3299ad0ef94e255d045bed9fa26025dab6" }, "lua-async-await": { "branch": "main", "commit": "652d94df34e97abe2d4a689edbc4270e7ead1a98" }, "lualine.nvim": { "branch": "master", "commit": "0c6cca9f2c63dadeb9225c45bc92bb95a151d4af" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "67da97f8c2fd12d05427bb485ce07ee6418e0a51" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "60eaff7a470b8e78ddff09d847d17a011f560759" }, "mason.nvim": { "branch": "main", "commit": "8024d64e1330b86044fed4c8494ef3dcd483a67c" }, "mini.ai": { "branch": "main", "commit": "4b5348fac5912f1957f4c012c2e0ab0c4b865386" }, "mini.comment": { "branch": "main", "commit": "22ee9f6be1c78bcebe009a564758e5b6df08903b" }, @@ -49,6 +49,7 @@ "tailwind-tools.nvim": { "branch": "master", "commit": "fbe982901d4508b0dcd80e07addf0fcb6dab6c49" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "1f08ed60cafc8f6168b72b80be2b2ea149813e55" }, "telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }, + "typescript-tools.nvim": { "branch": "master", "commit": "3c501d7c7f79457932a8750a2a1476a004c5c1a9" }, "undotree": { "branch": "master", "commit": "b951b87b46c34356d44aa71886aecf9dd7f5788a" }, "vi-mongo.nvim": { "branch": "master", "commit": "ac21b4de10b9409c872e81a34b41cee52bf7174c" }, "vim-dadbod": { "branch": "master", "commit": "e95afed23712f969f83b4857a24cf9d59114c2e6" }, diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua index c43e6473..58825056 100644 --- a/lua/plugins/lsp.lua +++ b/lua/plugins/lsp.lua @@ -22,5 +22,5 @@ return { { 'rafamadriz/friendly-snippets' }, }, -- Use the lazy option to lazy-load the plugin on events or commands - lazy = true, + lazy = false, } diff --git a/lua/plugins/nvim-cmp.lua b/lua/plugins/nvim-cmp.lua index aa03ed1a..b4785a86 100644 --- a/lua/plugins/nvim-cmp.lua +++ b/lua/plugins/nvim-cmp.lua @@ -3,7 +3,7 @@ return { { 'hrsh7th/nvim-cmp', dependencies = { - 'luckasRanarison/tailwind-tools.nvim', + -- 'luckasRanarison/tailwind-tools.nvim', 'onsails/lspkind-nvim', -- Snippet Engine & its associated nvim-cmp source 'L3MON4D3/LuaSnip', @@ -16,11 +16,11 @@ return { opts = function() return { -- ... - formatting = { - format = require('lspkind').cmp_format { - before = require('tailwind-tools.cmp').lspkind_format, - }, - }, + -- formatting = { + -- format = require('lspkind').cmp_format { + -- before = require('tailwind-tools.cmp').lspkind_format, + -- }, + -- }, } end, }, diff --git a/lua/plugins/tailwind-tools.lua b/lua/plugins/tailwind-tools.lua deleted file mode 100644 index 82140ecc..00000000 --- a/lua/plugins/tailwind-tools.lua +++ /dev/null @@ -1,5 +0,0 @@ -return { - 'luckasRanarison/tailwind-tools.nvim', - dependencies = { 'nvim-treesitter/nvim-treesitter' }, - opts = {}, -- your configuration -} diff --git a/after/plugin/nvim-java-config.lua b/nvim-java-config.lua similarity index 100% rename from after/plugin/nvim-java-config.lua rename to nvim-java-config.lua