Golang implementation of https://lib.rs/crates/directories
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Martyn b027424b86
Initial golang implementation by-the-docs
1 year ago
base Initial golang implementation by-the-docs 1 year ago
project Initial golang implementation by-the-docs 1 year ago
user Initial golang implementation by-the-docs 1 year ago
.gitignore Initial commit 1 year ago
LICENSE Initial commit 1 year ago
README.md Initial golang implementation by-the-docs 1 year ago
go.mod Initial golang implementation by-the-docs 1 year ago
go.sum Initial golang implementation by-the-docs 1 year ago
printall.go Initial golang implementation by-the-docs 1 year ago

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()