2024-03-17 07:34:01 -07:00
|
|
|
local string_utils = require("codesnap.utils.string")
|
2024-02-19 06:27:17 -08:00
|
|
|
local path_utils = {}
|
|
|
|
|
2024-05-07 06:34:14 -07:00
|
|
|
function path_utils.get_escaped_cwd()
|
|
|
|
local cwd = vim.fn.getcwd()
|
|
|
|
|
|
|
|
return string_utils.escape(cwd)
|
|
|
|
end
|
|
|
|
|
2024-02-19 06:27:17 -08:00
|
|
|
function path_utils.back(path)
|
|
|
|
local parsed_path, _ = path:gsub("/[^\\/]+/?$", "")
|
|
|
|
|
|
|
|
return parsed_path
|
|
|
|
end
|
|
|
|
|
2024-05-07 06:34:14 -07:00
|
|
|
function path_utils.get_workspace()
|
|
|
|
local cwd = vim.fn.getcwd()
|
|
|
|
local _, _, workspace = string.find(cwd, "/([^/]+)$")
|
|
|
|
|
|
|
|
return workspace == nil and "" or workspace
|
|
|
|
end
|
|
|
|
|
2024-03-17 07:34:01 -07:00
|
|
|
function path_utils.get_relative_path()
|
|
|
|
local full_file_path = vim.fn.expand("%:p")
|
|
|
|
|
2024-05-07 06:34:14 -07:00
|
|
|
return full_file_path:gsub(path_utils.get_escaped_cwd(), ""):sub(2)
|
2024-03-17 07:34:01 -07:00
|
|
|
end
|
|
|
|
|
2024-02-19 06:27:17 -08:00
|
|
|
return path_utils
|