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

[ foreign, library, mit ] [ Propose Tags ] [ Report a vulnerability ]

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


[Skip to Readme]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.0.1, 0.1.0, 0.1.0.1, 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.1.0, 1.1.1
Change log CHANGELOG.md
Dependencies base (>=4.9.1 && <5), filepath (>=1.4 && <1.6), hslua-core (>=2.1 && <2.4), hslua-marshalling (>=2.1 && <2.4), hslua-packaging (>=2.3 && <2.4), text (>=1.2 && <2.2) [details]
Tested with ghc ==8.4.4, ghc ==8.6.5, ghc ==8.8.4, ghc ==8.10.7, ghc ==9.0.2, ghc ==9.2.8, ghc ==9.4.8, ghc ==9.6.3, ghc ==9.8.1
License MIT
Copyright © 2020-2024 Albert Krewinkel
Author Albert Krewinkel
Maintainer Albert Krewinkel <tarleb@hslua.org>
Category Foreign
Home page https://hslua.org/
Bug tracker https://github.com/hslua/hslua/issues
Source repo head: git clone https://github.com/hslua/hslua(hslua-module-path)
Uploaded by tarleb at 2024-01-18T17:31:08Z
Distributions Arch:1.1.0, Fedora:1.1.0, LTSHaskell:1.1.1, NixOS:1.1.1, Stackage:1.1.1, openSUSE:1.1.1
Reverse Dependencies 2 direct, 167 indirect [details]
Downloads 14797 total (262 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2024-01-18 [all 1 reports]

Readme for hslua-module-path-1.1.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)