From 61bc435535822683774c8c92d0e8a2737f6f3f0f Mon Sep 17 00:00:00 2001 From: Patrick Auernig Date: Wed, 10 May 2023 19:19:16 +0200 Subject: [PATCH] Add resession and crates plugins --- after/plugin/lsp.lua | 2 -- after/plugin/session.lua | 29 +++++++++++++++++++++++++++++ lua/valeth/packer.lua | 35 ++++++++++++++++++++++++++++++++--- 3 files changed, 61 insertions(+), 5 deletions(-) create mode 100644 after/plugin/session.lua diff --git a/after/plugin/lsp.lua b/after/plugin/lsp.lua index 87c20b7..f7f8444 100644 --- a/after/plugin/lsp.lua +++ b/after/plugin/lsp.lua @@ -56,6 +56,4 @@ lsp.format_on_save({ } }) -require("lsp-inlayhints").setup() - lsp.setup() diff --git a/after/plugin/session.lua b/after/plugin/session.lua new file mode 100644 index 0000000..e9a6048 --- /dev/null +++ b/after/plugin/session.lua @@ -0,0 +1,29 @@ +local resession = require("resession") + +local function session_name() + local working_dir = vim.fn.getcwd() + local git_branch = vim.fn.system("git branch --show-current") + if vim.v.shell_error == 0 then + return working_dir .. git_branch + else + return working_dir + end +end + +vim.api.nvim_create_autocmd("VimEnter", { + callback = function() + local started_without_args = vim.fn.argc(-1) == 0 + + if started_without_args then + resession.load(session_name(), { dir = "dirsession", silence_errors = true }) + end + end +}) + +vim.api.nvim_create_autocmd("VimLeavePre", { + callback = function() + resession.save(session_name(), { dir = "dirsession", notify = false }) + end +}) + +resession.setup() diff --git a/lua/valeth/packer.lua b/lua/valeth/packer.lua index 777045f..304b355 100644 --- a/lua/valeth/packer.lua +++ b/lua/valeth/packer.lua @@ -55,6 +55,38 @@ local function spec(use) end } + use { + "stevearc/resession.nvim" + } + + + ---- Language Specific Stuff + + use { + "saecki/crates.nvim", + tag = "v0.3.0", + requires = { + { "nvim-lua/plenary.nvim" }, + { "hrsh7th/nvim-cmp" }, + }, + config = function() + require("crates").setup() + local cmp = require("cmp") + + vim.api.nvim_create_autocmd("BufRead", { + group = vim.api.nvim_create_augroup("CmpSourceCargo", { clear = true }), + pattern = "Cargo.toml", + callback = function() + cmp.setup.buffer({ sources = { { name = "crates" } } }) + end, + }) + end + } + + use { + "LhKipp/nvim-nu" + } + ---- LSP Stuff @@ -76,9 +108,6 @@ local function spec(use) use "mhartington/formatter.nvim" - -- Doesn't seem to work properly atm - use "lvimuser/lsp-inlayhints.nvim" - ---- Just Visual Stuff