local on_attach = require('myConfig.exports').on_attach vim.g.rustaceanvim = { -- Plugin configuration tools = { }, -- LSP configuration server = { on_attach = function(client, bufnr) on_attach(client, bufnr) vim.keymap.set( -- {"n", "v"}, "n", "J", function() vim.cmd.RustLsp('joinLines') end, { silent = true, buffer = bufnr, desc = "rust-analyzer join lines", } ) vim.keymap.set( "n", "", function() vim.cmd.RustLsp({ "moveItem", "up" }) end, { silent = true, buffer = bufnr, desc = "rust-analyzer move item up", } ) vim.keymap.set( "n", "", function() vim.cmd.RustLsp({ "moveItem", "down" }) end, { silent = true, buffer = bufnr, desc = "rust-analyzer move item down", } ) vim.keymap.set( "n", "sR", function() vim.cmd.RustLsp('runnables') end, { silent = true, buffer = bufnr, desc = "rust-analyzer runnables", } ) vim.keymap.set( "n", "sx", function() vim.cmd.RustLsp('explainError') end, { silent = true, buffer = bufnr, desc = "rust-analyzer explain error", } ) end, settings = { ['rust-analyzer'] = { checkOnSave = { command = "clippy", }, experimental = { procAttrMacros = true, }, }, }, }, } -- clangd require("clangd_extensions.inlay_hints").setup_autocmd() require("clangd_extensions.inlay_hints").set_inlay_hints() require("neodev").setup({}) -- Refactoring require("refactoring").setup {} -- Null LSP local null_ls = require("null-ls") null_ls.setup({ sources = { null_ls.builtins.code_actions.gitrebase, null_ls.builtins.code_actions.gitsigns, null_ls.builtins.code_actions.refactoring.with { filetypes = { "typescript", "javascript", "lua", "c", "cpp", "go", "python", "java", "php", "ruby" }, }, null_ls.builtins.code_actions.shellcheck, null_ls.builtins.code_actions.statix, null_ls.builtins.diagnostics.deadnix, null_ls.builtins.diagnostics.shellcheck, null_ls.builtins.diagnostics.statix, null_ls.builtins.diagnostics.typos, null_ls.builtins.diagnostics.vale.with { filetypes = { "markdown", "pandoc", "rst", "tex", "asciidoc" }, }, null_ls.builtins.formatting.alejandra, null_ls.builtins.formatting.shfmt, }, on_attach = on_attach, }) -- Vim Pandoc vim.g["pandoc#formatting#equalprg"] = "pandoc -t markdown --wrap=preserve" vim.g["pandoc#formatting#extra_equalprg"] = "--reference-links --reference-location=section" -- Actions preview require("actions-preview").setup() -- DAP require("dapui").setup() require("nvim-dap-virtual-text").setup() require('telescope').load_extension('dap')