From f49e3bde856aea4aa16d4a0c0c92ca5412892fee Mon Sep 17 00:00:00 2001 From: Uzair Aftab <48220549+Uzaaft@users.noreply.github.com> Date: Tue, 30 Jul 2024 08:11:20 +0200 Subject: [PATCH] [Feat] Default to `XDG_PICTURES_DIR` for save path (#124) * [Feature] Use XDG_Picture_dir as fallback * [Doc]: Add in new default behaviour for save_path --- README.md | 1 + lua/codesnap/static.lua | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/README.md b/README.md index ebc7151..1d936ca 100644 --- a/README.md +++ b/README.md @@ -408,6 +408,7 @@ There is a default config: min_width = 0, bg_x_padding = 122, bg_y_padding = 82, + save_path = os.getenv("XDG_PICTURES_DIR") or (os.getenv("HOME").. "/Pictures") } ``` diff --git a/lua/codesnap/static.lua b/lua/codesnap/static.lua index bd86374..14ac580 100644 --- a/lua/codesnap/static.lua +++ b/lua/codesnap/static.lua @@ -1,4 +1,15 @@ local path_utils = require("codesnap.utils.path") +-- Get user os +-- If linux, use XDG_PICTURE_DIR, if mac use ~/Pictures, if windows use FOLDERID_Pictures (If support is added back) +local default_save_path = nil +local os_name = vim.loop.os_uname().sysname +if os_name == "Linux" then + default_save_path = os.getenv("XDG_PICTURES_DIR") or (os.getenv("HOME") .. "/Pictures") +elseif os_name == "Darwin" then + default_save_path = os.getenv("HOME") .. "/Pictures" +else + error("codesnap.nvim only supports Linux and MacOS") +end return { config = { @@ -15,6 +26,7 @@ return { min_width = 0, bg_x_padding = 122, bg_y_padding = 82, + save_path = default_save_path, }, cwd = path_utils.back(path_utils.back(debug.getinfo(1, "S").source:sub(2):match("(.*[/\\])"))), preview_switch = true,