Fixes issues with switching to snacks explorer

This commit is contained in:
Michel Fedde 2025-02-16 22:07:56 +01:00
parent 1699bd2574
commit 8892845c03
6 changed files with 12 additions and 17 deletions

View file

@ -8,4 +8,4 @@ require("commands.open")
require("commands.CopyToPlayers") require("commands.CopyToPlayers")
require("commands.RandomFile") require("commands.RandomFile")
vim.o.hidden = false vim.o.hidden = false
vim.o.mouse = "" --vim.o.mouse = ""

View file

@ -18,7 +18,8 @@ vim.api.nvim_create_user_command("CopyToPlayers", function()
os.execute(string.format("mkdir -p '%s'", targetPath)) os.execute(string.format("mkdir -p '%s'", targetPath))
local localPath = fs.getCurrentPath() local picker = Snacks.picker.get({ source = "explorer" })
local localPath = picker[1]:current().file
local targetFilePath = vim.fs.joinpath(targetPath, vim.fn.fnamemodify(localPath, ":t")) local targetFilePath = vim.fs.joinpath(targetPath, vim.fn.fnamemodify(localPath, ":t"))
os.execute(string.format("ln -s '%s' '%s'", localPath, targetFilePath)) os.execute(string.format("ln -s '%s' '%s'", localPath, targetFilePath))

View file

@ -15,11 +15,11 @@ vim.api.nvim_create_user_command("CreateRandomFile", function()
wordsFinal = wordsFinal .. tocamel(word) wordsFinal = wordsFinal .. tocamel(word)
end end
local currentPath = fs.getCurrentPath() local picker = Snacks.picker.get({ source = "explorer" })
local currentFile = picker[1]:current().file
local directory = currentPath local directory = currentFile
if vim.fn.isdirectory(currentPath) == 0 then if vim.fn.isdirectory(directory) == 0 then
directory = vim.fs.dirname(currentPath) directory = vim.fs.dirname(directory)
end end
local path = vim.fs.joinpath(directory, wordsFinal .. ".md") local path = vim.fs.joinpath(directory, wordsFinal .. ".md")

View file

@ -6,7 +6,8 @@ vim.api.nvim_create_user_command("Optolith", function()
local LAUNCH_COMMAND = vim.fs.normalize("~/.local/share/appimages/OptolithInsider.AppImage") local LAUNCH_COMMAND = vim.fs.normalize("~/.local/share/appimages/OptolithInsider.AppImage")
local OPTOLITH_DIRECTORY = "~/.config/Optolith Insider" local OPTOLITH_DIRECTORY = "~/.config/Optolith Insider"
local currentHeroFile = fs.get_current_path() local picker = Snacks.picker.get({ source = "explorer" })
local currentHeroFile = picker[1]:current().file
if currentHeroFile:find(".opto$") == nil then if currentHeroFile:find(".opto$") == nil then
vim.notify("Invalid hero", "error", { vim.notify("Invalid hero", "error", {

View file

@ -6,14 +6,7 @@ end
function fs.getCurrentPath() function fs.getCurrentPath()
local currentBuffer = vim.fn.expand("%") local currentBuffer = vim.fn.expand("%")
print(currentBuffer)
if not startswith(currentBuffer, "neo-tree") then
return currentBuffer
end
local filesystemState = require("neo-tree.sources.manager").get_state("filesystem")
local currentLine = vim.fn.getpos(".")[2]
return filesystemState.tree:get_node(currentLine).path
end end
return fs return fs

View file

@ -1,7 +1,7 @@
local explorerConfig = { local explorerConfig = {
actions = { actions = {
openWithApp = function(picker) openWithApp = function(picker)
local path = picker:selected({ fallback = true })[1].file local path = picker:current().file
local filename = vim.fn.fnamemodify(path, ":t") local filename = vim.fn.fnamemodify(path, ":t")
vim.notify(filename, "info", { vim.notify(filename, "info", {