hslua-module-path

Lua module to work with file paths.

https://github.com/hslua/hslua-module-path

Version on this page:0.1.0.1
LTS Haskell 22.39:1.1.1
Stackage Nightly 2024-10-31:1.1.1
Latest on Hackage:1.1.1

See all snapshots hslua-module-path appears in

MIT licensed by Albert Krewinkel
Maintained by Albert Krewinkel
This version can be pinned in stack with:hslua-module-path-0.1.0.1@sha256:1fe319f18315618491260c912e85b6f73e406499c8fe2fa505e59036a4ff78fd,2502

Module documentation for 0.1.0.1

Depends on 4 packages(full list with versions):
Used by 1 package in lts-18.6(full list with versions):

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)

Changes

Changelog

hslua-module-paths uses PVP Versioning. The changelog is available on GitHub.

0.1.0.1

Released 2021-02-06.

  • Changed minimal cabal version to 2.2.

0.1.0

Released 2021-02-02.

  • Fixed directory. This was the same as normalize.
  • Improved documentation.
  • Added more tests.

0.0.1

Released 2021-02-01.

  • Initially created.