From 30bd920e8bb56c9bece0828b29e98e987970510f Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Mon, 27 Apr 2026 20:20:06 +0200 Subject: [PATCH] Update stuff --- flake.lock | 42 ++++++++++++++++++------------------- nvim/lua/plugins/snacks.lua | 42 ++++++++++++++++++++++++++++++------- 2 files changed, 55 insertions(+), 29 deletions(-) diff --git a/flake.lock b/flake.lock index 8a6c019..6878e3c 100644 --- a/flake.lock +++ b/flake.lock @@ -44,11 +44,11 @@ ] }, "locked": { - "lastModified": 1777258755, - "narHash": "sha256-EC07KwADRE2LdIk7vEDyAaD3I0ZUq24T9jQF9L0iEPk=", + "lastModified": 1777389590, + "narHash": "sha256-HWbn7WASXsXGADiBDt6/k9U/HpGBEmoeqIOzrf+z2HE=", "owner": "nix-community", "repo": "home-manager", - "rev": "7f8bbc93d63401e41368d6ddc46a4f631610fa90", + "rev": "8ec5a714dbbeb3fda00bd9758175555ebbad4d07", "type": "github" }, "original": { @@ -106,11 +106,11 @@ ] }, "locked": { - "lastModified": 1777248294, - "narHash": "sha256-QuwT4KoRh6y3CB5I6zxrcLNP7d/tDr7EonA3okTHZIA=", + "lastModified": 1777361204, + "narHash": "sha256-O5ZV2FJ0GfT1OXsbhVtLIRvz9chjhRddH+BHQ8A1C68=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "429e65b3d2978c6c5ca3a7c51c4ce4e3bafbcc20", + "rev": "14adfd1c1a789e471abba7c56d4299f3ffd5ceb5", "type": "github" }, "original": { @@ -122,11 +122,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1777244573, - "narHash": "sha256-iZ3pkuWVNGAcHgLTmGFWwa1IP87UErcOVd/0dd/N2Ms=", + "lastModified": 1777332043, + "narHash": "sha256-nTHh5p4ADW0EohmB7//vcWYr1iUdNy6PVg+LCbOXx5I=", "owner": "neovim", "repo": "neovim", - "rev": "f69aadd2b4e7e415500188e46f2db175c06f3406", + "rev": "e4458b7f244b28a0f685552a4c20f0696f7e3f6c", "type": "github" }, "original": { @@ -217,11 +217,11 @@ ] }, "locked": { - "lastModified": 1776910211, - "narHash": "sha256-0ku3gW8bZ9TTpEU2fQw86oU6ZLT2vF6pacF+cLaf7VY=", + "lastModified": 1777394230, + "narHash": "sha256-So0O9VEARU3xTRIFkBtvfzpRDxx4W2WPZPgucxdKBm8=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "4e6cad241baa0115a7aae8c55b04c166da4997c9", + "rev": "d2e09229638f08f6d5c99060573f6fa4b1dde852", "type": "github" }, "original": { @@ -264,11 +264,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1776949667, - "narHash": "sha256-GMSVw35Q+294GlrTUKlx087E31z7KurReQ1YHSKp5iw=", + "lastModified": 1777270315, + "narHash": "sha256-yKB4G6cKsQsWN7M6rZGk6gkJPDNPIzT05y4qzRyCDlI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "01fbdeef22b76df85ea168fbfe1bfd9e63681b30", + "rev": "6368eda62c9775c38ef7f714b2555a741c20c72d", "type": "github" }, "original": { @@ -316,11 +316,11 @@ "tmux": { "flake": false, "locked": { - "lastModified": 1777234756, - "narHash": "sha256-6kOc6Dnlej133lKt8RMdoQbe/km012j1iwoAWCHFuxY=", + "lastModified": 1777388468, + "narHash": "sha256-X2+70PG5Vpu73bkyDmZsJg5l0axIcV/IAhuNNgIjoaQ=", "owner": "tmux", "repo": "tmux", - "rev": "61a7be0eab8eb63f15a364b605ba4dfbd6025331", + "rev": "d85f1b942da3c451bdad1f2f794673a44b2d682c", "type": "github" }, "original": { @@ -336,11 +336,11 @@ ] }, "locked": { - "lastModified": 1777092705, - "narHash": "sha256-qKMvM2+eKusg6H6lG2bwDdFjNi1XfEjdLD5xIt8ZgFs=", + "lastModified": 1777352968, + "narHash": "sha256-BZ+BHCINHSyyCOWo4pCJQU4T994iZLiw7lgFMNw+W9k=", "owner": "youwen5", "repo": "zen-browser-flake", - "rev": "10f5c809db4f8e7badb6d505924ebbaaeefda4e4", + "rev": "bebce586893c7d441edd6cf9cf2cf62a1799361e", "type": "github" }, "original": { diff --git a/nvim/lua/plugins/snacks.lua b/nvim/lua/plugins/snacks.lua index 132e2fd..207116e 100644 --- a/nvim/lua/plugins/snacks.lua +++ b/nvim/lua/plugins/snacks.lua @@ -91,6 +91,7 @@ return { }, }, terminal = { + fixbuf = false, keys = { term_normal = false, }, @@ -270,18 +271,43 @@ return { vim.api.nvim_create_autocmd("User", { pattern = "UnceptionEditRequestReceived", callback = function() - for _, terminal in ipairs(Snacks.terminal.list()) do - if terminal.opts.fixbuf ~= false then - terminal.opts.fixbuf = false - vim.api.nvim_create_autocmd("BufEnter", { - buffer = terminal.buf, + local terminal_buf = vim.api.nvim_get_current_buf() + local terminal_win = vim.api.nvim_get_current_win() + if vim.bo[terminal_buf].buftype ~= "terminal" then + return + end + + vim.api.nvim_create_autocmd("BufEnter", { + once = true, + callback = function() + local edited_buf = vim.api.nvim_get_current_buf() + if edited_buf == terminal_buf then + return + end + + vim.api.nvim_create_autocmd({ "BufUnload", "BufDelete", "BufWipeout" }, { + buffer = edited_buf, once = true, callback = function() - terminal.opts.fixbuf = true + vim.schedule(function() + if vim.fn.bufwinid(terminal_buf) ~= -1 then + return + end + if not vim.api.nvim_buf_is_valid(terminal_buf) then + return + end + + if vim.api.nvim_win_is_valid(terminal_win) then + vim.api.nvim_win_set_buf(terminal_win, terminal_buf) + else + vim.cmd("split") + vim.api.nvim_win_set_buf(0, terminal_buf) + end + end) end, }) - end - end + end, + }) end, })