Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
api:filesystem [2015/01/14 23:40]
127.0.0.1 external edit
api:filesystem [2020/07/25 22:58] (current)
saphire Added link to Filesystem component
Line 1: Line 1:
 Filesystem API Filesystem API
 ============ ============
-This library allows a general way of interacting with file system components. While each component is it's own "​folder",​ these folders can be "​mounted"​ somewhere into a global directory tree. This allows seamlessly interacting on multiple file system components.+This library allows a general way of interacting with file system components. While each component is it's own "​folder",​ these folders can be "​mounted"​ somewhere into a global directory tree. This allows seamlessly interacting on multiple file system components. Not to be confused with the [[component:​filesystem|Filesystem component]] with which this API works.
  
 - `filesystem.isAutorunEnabled():​ boolean`  ​ - `filesystem.isAutorunEnabled():​ boolean`  ​
Line 10: Line 10:
   Returns the canonical form of the specified path, i.e. a path containing no "​indirections"​ such as `.` or `..`. For example, the paths `/​tmp/​../​bin/​ls.lua` and `/​bin/​./​ls.lua` are equivalent, and their canonical form is `/​bin/​ls.lua`.  ​   Returns the canonical form of the specified path, i.e. a path containing no "​indirections"​ such as `.` or `..`. For example, the paths `/​tmp/​../​bin/​ls.lua` and `/​bin/​./​ls.lua` are equivalent, and their canonical form is `/​bin/​ls.lua`.  ​
   Note that this function truncates relative paths to their topmost "​known"​ directory. For example, `../​bin/​ls.lua` becomes `bin/​ls.lua`. It stays a relative path, however - mind the lack of a leading slash.   Note that this function truncates relative paths to their topmost "​known"​ directory. For example, `../​bin/​ls.lua` becomes `bin/​ls.lua`. It stays a relative path, however - mind the lack of a leading slash.
 +- `filesystem.segments(path:​ string): table`  ​
 +  Returns a table containing one entry for each //​canonical//​ segment of the given path.
 +  Examples:  ​
 +  * `filesystem.segments("​foo/​bar"​)` -> `{"​foo","​bar"​}`
 +  * `filesystem.segments("​foo/​bar/​../​baz"​)` -> `{"​foo","​baz"​}`
 +
 - `filesystem.concat(pathA:​ string, pathB: string[, ...]): string`  ​ - `filesystem.concat(pathA:​ string, pathB: string[, ...]): string`  ​
   Concatenates two or more paths. Note that all paths other than the first are treated as relative paths, even if they begin with a slash. The canonical form of the resulting concatenated path is returned, so `fs.concat("​a",​ "​.."​)` results in an empty string.   Concatenates two or more paths. Note that all paths other than the first are treated as relative paths, even if they begin with a slash. The canonical form of the resulting concatenated path is returned, so `fs.concat("​a",​ "​.."​)` results in an empty string.
Line 38: Line 44:
   Gets whether the path points to a directory. Returns false if not, either because the path points to a file, or `file.exists(path)` is false.   Gets whether the path points to a directory. Returns false if not, either because the path points to a file, or `file.exists(path)` is false.
 - `filesystem.lastModified(path:​ string): number`  ​ - `filesystem.lastModified(path:​ string): number`  ​
-  Returns the *real world* ​unicode ​timestamp of the last time the file at the specified path was modified. For directories this is usually the time of their creation.+  Returns the *real world* ​unix timestamp of the last time the file at the specified path was modified. For directories this is usually the time of their creation.
 - `filesystem.list(path:​ string): function -> string or nil, string`  ​ - `filesystem.list(path:​ string): function -> string or nil, string`  ​
   Returns an iterator over all elements in the directory at the specified path. Returns `nil` and an error messages if the path is invalid or some other error occurred.  ​   Returns an iterator over all elements in the directory at the specified path. Returns `nil` and an error messages if the path is invalid or some other error occurred.  ​