From dedbea9eb3eea75ecf3e0d0167f7d4ae4157998c Mon Sep 17 00:00:00 2001
From: SinTan1729 <sayantan.santra689@gmail.com>
Date: Thu, 18 Apr 2024 18:15:51 -0500
Subject: [PATCH] new: Temporarily add plugin for inlay hints until nvim 0.10

---
 laptop/config/plugins.lua    |  1 +
 laptop/plugin/lsp_config.lua | 14 ++++++++++++++
 laptop/plugin/misc.lua       |  3 +++
 3 files changed, 18 insertions(+)

diff --git a/laptop/config/plugins.lua b/laptop/config/plugins.lua
index 8449238..7b6d08e 100644
--- a/laptop/config/plugins.lua
+++ b/laptop/config/plugins.lua
@@ -56,6 +56,7 @@ require("lazy").setup(
             "mrcjkb/rustaceanvim",
             version = "^4",
             ft = { "rust" },
+            dependencies = { "lvimuser/lsp-inlayhints.nvim" },
         },
         -- Automatically add bracket pairs
         "windwp/nvim-autopairs",
diff --git a/laptop/plugin/lsp_config.lua b/laptop/plugin/lsp_config.lua
index 54309a7..3780b76 100644
--- a/laptop/plugin/lsp_config.lua
+++ b/laptop/plugin/lsp_config.lua
@@ -24,5 +24,19 @@ vim.api.nvim_create_autocmd("LspAttach", {
     callback = function()
         map('n', '<localleader>k', vim.lsp.buf.hover, { remap = false })
         map('n', '<localleader>a', vim.lsp.buf.code_action, { remap = false })
+        map('n', '<localleader>d', vim.diagnostic.open_float, { remap = false })
+    end,
+})
+
+-- Enable inlay hints (needs rework after nvim>=0.10)
+vim.api.nvim_create_autocmd("LspAttach", {
+    pattern = "*.rs",
+    callback = function(args)
+        if not (args.data and args.data.client_id) then
+            return
+        end
+        local bufnr = args.buf
+        local client = vim.lsp.get_client_by_id(args.data.client_id)
+        require("lsp-inlayhints").on_attach(client, bufnr)
     end,
 })
diff --git a/laptop/plugin/misc.lua b/laptop/plugin/misc.lua
index 750efa3..69b2ce5 100644
--- a/laptop/plugin/misc.lua
+++ b/laptop/plugin/misc.lua
@@ -11,3 +11,6 @@ require("log-highlight").setup()
 
 -- Load UltiSnips snippets from custom-snippets directory
 vim.g.UltiSnipsSnippetDirectories = { "my-snippets", "UltiSnips" }
+
+-- Load default settings for inlay hints plugin (won't need it for nvim>=0.10)
+require("lsp-inlayhints").setup()