Golang implementation of https://lib.rs/crates/directories
Martyn caacaaf2d9 | ||
---|---|---|
base | ||
project | ||
user | ||
.gitignore | ||
LICENSE | ||
README.md | ||
go.mod | ||
go.sum | ||
printall.go |
README.md
golang-directories
Golang implementation of https://lib.rs/crates/directories
Per-user/per-application WRITEABLE paths for cross-platform idiomatic locations.
Currently supports Linux, Windows and mac. Future additions: iOS,Android, plan9?
All functions have the same signature :
function user.Fonts() (string, error)
and return an Error if they cannot satisfy the request on a particular platform (e.g. Windows doesn't have a per-user font directory)
You need to set your project details before using the functions in golang-directories/project
by calling project.SetProjectName
"git.martyn.berlin/martyn/golang-directories/base"
contains :
Home()
Cache()
Config()
Data()
DataLocal()
Executable()
Preferences()
Runtime()
State()
"git.martyn.berlin/martyn/golang-directories/user"
contains :
Home()
Audio()
Desktop()
Documents()
Downloads()
Fonts()
Pictures()
Public()
Templates()
Videos()
and "git.martyn.berlin/martyn/golang-directories/project"
alongside SetProjectName()
contains :
Cache()
Config()
Data()
DataLocal()
Preferences()