99 lines
4.1 KiB
Hare
99 lines
4.1 KiB
Hare
|
// Returns the single base directory relative to which user-specific data files
|
||
|
// should be written, which is defined by $XDG_DATA_HOME. If $XDG_DATA_HOME is
|
||
|
// either not set or empty, a default equal to $HOME/.local/share is used.
|
||
|
//
|
||
|
// The memory is statically allocated and must not be free'd. It may be
|
||
|
// overwritten later, so use [[strings::dup]] to extend its lifetime.
|
||
|
export fn data_home (prog: str = "") str = {
|
||
|
// TODO
|
||
|
};
|
||
|
|
||
|
// Returns the single base directory relative to which user-specific
|
||
|
// configuration files should be written, which is defined by $XDG_CONFIG_HOME.
|
||
|
// If $XDG_CONFIG_HOME is either not set or empty, a default equal to
|
||
|
// $HOME/.config is used.
|
||
|
//
|
||
|
// The memory is statically allocated and must not be free'd. It may be
|
||
|
// overwritten later, so use [[strings::dup]] to extend its lifetime.s
|
||
|
export fn config_home (prog: str = "") str = {
|
||
|
// TODO
|
||
|
};
|
||
|
|
||
|
// Returns the single base directory relative to which user-specific state data
|
||
|
// that should persist between (application) restarts, but that is not important
|
||
|
// or portable enough to the user that it should be stored. It is defined by
|
||
|
// $XDG_STATE_HOME. It may contain:
|
||
|
//
|
||
|
// - actions history (logs, history, recently used files, …)
|
||
|
// - current state of the application that can be reused on a restart (view,
|
||
|
// layout, open files, undo history, …)
|
||
|
//
|
||
|
// The memory is statically allocated and must not be free'd. It may be
|
||
|
// overwritten later, so use [[strings::dup]] to extend its lifetime.
|
||
|
export fn state_home (prog: str = "") str = {
|
||
|
// TODO
|
||
|
};
|
||
|
|
||
|
// CacheHome returns the single base directory relative to which user-specific
|
||
|
// non-essential (cached) data should be written, which is defined by
|
||
|
// $XDG_CACHE_HOME. If $XDG_CACHE_HOME is either not set or empty, a default
|
||
|
// equal to $HOME/.cache is used.
|
||
|
//
|
||
|
// The memory is statically allocated and must not be free'd. It may be
|
||
|
// overwritten later, so use [[strings::dup]] to extend its lifetime.
|
||
|
export fn cache_home (prog: str = "") str = {
|
||
|
// TODO
|
||
|
};
|
||
|
|
||
|
// Returns the single base directory relative to which user-specific runtime
|
||
|
// files and other file objects should be placed, which is defined by
|
||
|
// $XDG_RUNTIME_DIR. This module does not provide a fallback directory. If this
|
||
|
// function returns an error, applications should fall back to a replacement
|
||
|
// directory with similar capabilities (in accordance with §3) and print a
|
||
|
// warning message.
|
||
|
//
|
||
|
// The memory is statically allocated and must not be free'd. It may be
|
||
|
// overwritten later, so use [[strings::dup]] to extend its lifetime.
|
||
|
export fn runtime_dir (prog: str = "") str = {
|
||
|
// TODO
|
||
|
};
|
||
|
|
||
|
// Returns the set of preference ordered base directories relative to which data
|
||
|
// files should be searched, which is defined by $XDG_DATA_DIRS. If
|
||
|
// $XDG_DATA_DIRS is either not set or empty, a value equal to
|
||
|
// /usr/local/share/:/usr/share/ is used. It is reccomended to call [[data_all]]
|
||
|
// instead for most use cases.
|
||
|
//
|
||
|
// The memory is statically allocated and must not be free'd. It may be
|
||
|
// overwritten later, so use [[strings::dup]] to extend its lifetime.
|
||
|
export fn data_dirs (prog: str = "") []str = {
|
||
|
// TODO
|
||
|
};
|
||
|
|
||
|
// Returns set of preference ordered base directories relative to which
|
||
|
// configuration files should be searched, which is defined by $XDG_CONFIG_DIRS.
|
||
|
// If $XDG_CONFIG_DIRS is either not set or empty, a value equal to /etc/xdg is
|
||
|
// used. It is reccomended to call [[config_all]] instead for most use cases.
|
||
|
//
|
||
|
// The memory is statically allocated and must not be free'd. It may be
|
||
|
// overwritten later, so use [[strings::dup]] to extend its lifetime.
|
||
|
export fn config_dirs (prog: str = "") []str = {
|
||
|
// TODO
|
||
|
};
|
||
|
|
||
|
// Returns the result of [[data_home]] in front of [[data_dirs]].
|
||
|
//
|
||
|
// The memory is statically allocated and must not be free'd. It may be
|
||
|
// overwritten later, so use [[strings::dup]] to extend its lifetime.
|
||
|
export fn data_all (prog: str = "") []str = {
|
||
|
// TODO
|
||
|
};
|
||
|
|
||
|
// Returns the result of [[config_home]] in front of [[config_dirs]].
|
||
|
//
|
||
|
// The memory is statically allocated and must not be free'd. It may be
|
||
|
// overwritten later, so use [[strings::dup]] to extend its lifetime.
|
||
|
export fn config_all (prog: str = "") []str = {
|
||
|
// TODO
|
||
|
};
|