Guest User

Untitled

a guest
Jun 1st, 2024
13
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.42 KB | None | 0 0
  1. vim.cmd.colorscheme("catppuccin-mocha")
  2.  
  3. local oil = require("oil")
  4. oil.setup()
  5. vim.keymap.set("n", "<leader>p", oil.toggle_float, {})
  6. vim.keymap.set("n", "<leader>lg", "<cmd>LazyGit<cr>", {})
  7.  
  8. require("mason").setup()
  9.  
  10. require("neodev").setup()
  11. require("conform").setup({
  12. formatters_by_ft = {
  13. lua = { "stylua" },
  14. },
  15. format_on_save = {
  16. timeout_ms = 500,
  17. lsp_fallback = true,
  18. },
  19. })
  20.  
  21. local cmp = require("cmp")
  22. require("luasnip.loaders.from_vscode").lazy_load()
  23.  
  24. cmp.setup({
  25. snippet = {
  26. expand = function(args)
  27. require("luasnip").lsp_expand(args.body)
  28. end,
  29. },
  30. window = {
  31. completion = cmp.config.window.bordered(),
  32. documentation = cmp.config.window.bordered(),
  33. },
  34. mapping = cmp.mapping.preset.insert({
  35. ["<C-b>"] = cmp.mapping.scroll_docs(-4),
  36. ["<C-f>"] = cmp.mapping.scroll_docs(4),
  37. ["<C-Space>"] = cmp.mapping.complete(),
  38. ["<C-e>"] = cmp.mapping.abort(),
  39. ["<CR>"] = cmp.mapping.confirm({ select = true }),
  40. }),
  41. sources = cmp.config.sources({
  42. { name = "nvim_lsp" },
  43. { name = "luasnip" }, -- For luasnip users.
  44. }, {
  45. { name = "buffer" },
  46. }),
  47. })
  48.  
  49. local builtin = require("telescope.builtin")
  50.  
  51. vim.keymap.set("n", "<leader>ff", builtin.find_files, {})
  52. vim.keymap.set("n", "<leader>fg", builtin.live_grep, {})
  53. vim.keymap.set("n", "<leader>fb", builtin.buffers, {})
  54. vim.keymap.set("n", "<leader>fh", builtin.help_tags, {})
  55.  
  56. vim.keymap.set("n", "K", vim.lsp.buf.hover, {})
  57. vim.keymap.set("n", "<leader>gd", vim.lsp.buf.definition, {})
  58. vim.keymap.set("n", "<leader>gr", vim.lsp.buf.references, {})
  59. vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, {})
  60.  
  61. local lspconfig = require("lspconfig")
  62. require("dapui").setup()
  63.  
  64. local dap, dapui = require("dap"), require("dapui")
  65.  
  66. dap.listeners.before.attach.dapui_config = function()
  67. dapui.open()
  68. end
  69. dap.listeners.before.launch.dapui_config = function()
  70. dapui.open()
  71. end
  72. dap.listeners.before.event_terminated.dapui_config = function()
  73. dapui.close()
  74. end
  75. dap.listeners.before.event_exited.dapui_config = function()
  76. dapui.close()
  77. end
  78.  
  79. require("neodev").setup({
  80. library = { plugins = { "nvim-dap-ui" }, types = true, adapters = { require("rustaceanvim.neotest") } },
  81. })
  82.  
  83. -- example to setup lua_ls and enable call snippets
  84. lspconfig.lua_ls.setup({
  85. settings = {
  86. Lua = {
  87. completion = {
  88. callSnippet = "Replace",
  89. },
  90. },
  91. },
  92. })
  93. vim.keymap.set("n", "<leader>rp", "<cmd>RustLsp run<cr>", {})
Advertisement
Add Comment
Please, Sign In to add comment