hslua-module-path: Lua module to work with file paths.

[ foreign, library, mit ] [ Propose Tags ]

Lua module to work with file paths in a platform independent way.


[Skip to Readme]
Versions [faq] 0.0.1, 0.1.0, 0.1.0.1
Change log CHANGELOG.md
Dependencies base (>=4.9.1 && <5), filepath (==1.4.*), hslua (>=1.2 && <1.4), text (>=1.0 && <1.3) [details]
License MIT
Copyright © 2020-2021 Albert Krewinkel
Author Albert Krewinkel
Maintainer Albert Krewinkel <albert@zeitkraut.de>
Category Foreign
Home page https://github.com/hslua/hslua-module-path
Bug tracker https://github.com/hslua/hslua-module-path/issues
Source repo head: git clone https://github.com/hslua/hslua-module-path.git
Uploaded by tarleb at 2021-02-06T17:41:06Z
Distributions Arch:0.1.0.1, NixOS:0.1.0.1, Stackage:0.1.0.1
Downloads 759 total (348 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2021-02-06 [all 1 reports]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for hslua-module-path-0.1.0.1

[back to package description]

hslua-module-path

GitHub CI Hackage Stackage Lts Stackage Nightly MIT license

Lua module to work with file paths.

path

Module for file path manipulations.

separator

The character that separates directories.

search_path_separator

The character that is used to separate the entries in the PATH environment variable.

Functions

directory (filepath)

Get the directory name; move up one level.

Parameters:

filepath
path (string)

Returns:

  • The filepath up to the last directory separator. (string)

filename (filepath)

Get the file name.

Parameters:

filepath
path (string)

Returns:

  • File name part of the input path. (string)

is_absolute (filepath)

Checks whether a path is absolute, i.e. not fixed to a root.

Parameters:

filepath
path (string)

Returns:

  • true iff filepath is an absolute path, false otherwise. (boolean)

is_relative (filepath)

Checks whether a path is relative or fixed to a root.

Parameters:

filepath
path (string)

Returns:

  • true iff filepath is a relative path, false otherwise. (boolean)

join (filepaths)

Join path elements back together by the directory separator.

Parameters:

filepaths
path components (list of strings)

Returns:

  • The joined path. (string)

make_relative (path, root, unsafe)

Contract a filename, based on a relative path. Note that the resulting path will never introduce .. paths, as the presence of symlinks means ../b may not reach a/b if it starts from a/c. For a worked example see this blog post.

Parameters:

path
path to be made relative (string)

root
root path (string)

unsafe
whether to allow .. in the result. (boolean)

Returns:

  • contracted filename (string)

normalize (filepath)

Normalizes a path.

  • // outside of the drive can be made blank
  • / becomes the path.separator
  • ./ -> ’’
  • an empty path becomes .

Parameters:

filepath
path (string)

Returns:

  • The normalized path. (string)

split (filepath)

Splits a path by the directory separator.

Parameters:

filepath
path (string)

Returns:

  • List of all path components. (list of strings)

split_extension (filepath)

Splits the last extension from a file path and returns the parts. The extension, if present, includes the leading separator; if the path has no extension, then the empty string is returned as the extension.

Parameters:

filepath
path (string)

Returns:

  • filepath without extension (string)

  • extension or empty string (string)

split_search_path (search_path)

Takes a string and splits it on the search_path_separator character. Blank items are ignored on Windows, and converted to . on Posix. On Windows path elements are stripped of quotes.

Parameters:

search_path
platform-specific search path (string)

Returns:

  • list of directories in search path (list of strings)