1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| return { "https://gitcode.com/ystyle/cangjie-nvim", dependencies = { "neovim/nvim-lspconfig" }, opts = { auto_install = true }, config = function(plugin) require("cangjie-nvim").setup(plugin.opts)
vim.api.nvim_create_autocmd("LspAttach", { callback = function(args) if vim.bo[args.buf].filetype ~= "Cangjie" then return end local function map(mode, lhs, rhs, desc) vim.keymap.set(mode, lhs, rhs, { buffer = args.buf, desc = desc }) end
map("n", "<leader>li", "<cmd>LspInfo<cr>", "LSP Info") map("n", "K", vim.lsp.buf.hover, "Hover Document") map("n", "<leader>lf", function() vim.lsp.buf.format { async = true } end, "Format Document") map("n", "gl", vim.diagnostic.open_float, "Line Diagnostics") map("n", "<leader>ld", vim.diagnostic.open_float, "Line Diagnostics") map("n", "<leader>lD", vim.diagnostic.setqflist, "All Diagnostics") map("n", "gra", vim.lsp.buf.code_action, "Code Actions") map("n", "<leader>la", vim.lsp.buf.code_action, "Code Actions") map("n", "<leader>lh", vim.lsp.buf.signature_help, "Signature Help") map("n", "grn", vim.lsp.buf.rename, "Rename") map("n", "<leader>lr", vim.lsp.buf.rename, "Rename") map("n", "<leader>ls", vim.lsp.buf.document_symbol, "Document Symbols") map("n", "<leader>lG", vim.lsp.buf.workspace_symbol, "Workspace Symbols") map("n", "]d", vim.diagnostic.goto_next, "Diagnostic Next") map("n", "[d", vim.diagnostic.goto_prev, "Diagnostics Previous") map("n", "]e", function() vim.diagnostic.goto_next { severity = vim.diagnostic.severity.ERROR } end, "Error Next") map("n", "[e", function() vim.diagnostic.goto_prev { severity = vim.diagnostic.severity.ERROR } end, "Error Previous") map("n", "]w", function() vim.diagnostic.goto_next { severity = vim.diagnostic.severity.WARN } end, "Warning Next") map("n", "[w", function() vim.diagnostic.goto_prev { severity = vim.diagnostic.severity.WARN } end, "Warning Previous") map("n", "gD", vim.lsp.buf.declaration, "Declaration") map("n", "gy", vim.lsp.buf.type_definition, "Type Definition") map("n", "gd", vim.lsp.buf.definition, "Definition") map("n", "gri", vim.lsp.buf.implementation, "Implementation") map("n", "grr", vim.lsp.buf.references, "References") end, }) end, }
|