directories/README.md

1.1 KiB

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