hslua-module-path
Lua module to work with file paths.
LTS Haskell 23.1: | 1.1.1 |
Stackage Nightly 2024-12-26: | 1.1.1 |
Latest on Hackage: | 1.1.1 |
hslua-module-path-1.1.1@sha256:844f644b9cd29d63642860b547eb17c78f501d8cb4c6363d57605348415b10f4,2728
Module documentation for 1.1.1
- HsLua
- HsLua.Module
hslua-module-path
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
ifffilepath
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
ifffilepath
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 thepath.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.
hslua-module-path-1.1.1
Released 2024-01-18.
- Relaxed upper bound for text, and filepath, allowing text-2.1, filepath-1.5.
hslua-module-path-1.1.0
Released 2023-03-13.
-
Update to hslua-2.3; this includes the addition of type initializers to the module and type specifiers to the fields.
-
Fixed tests for
make_relative
on Windows.
hslua-module-path-1.0.3
Released 2022-08-19.
- Fixed
make_relative
for longer base paths: Ensure that the function produces correct results in cases where the root (base) path has more components than the path that should be made relative.
hslua-module-path-1.0.2
Released 2022-02-19.
- Adjusted package bounds, for hslua-core, hslua-marshalling, and hslua-packaging.
hslua-module-path-1.0.1
- Bumped upper bound of hslua-core and hslua-marshalling to allow their respective version 2.1.
hslua-module-path-1.0.0
- Updated to hslua 2.0.
hslua-module-path-0.1.0.1
Released 2021-02-06.
- Changed minimal cabal version to 2.2.
hslua-module-path-0.1.0
Released 2021-02-02.
- Fixed
directory
. This was the same as normalize. - Improved documentation.
- Added more tests.
hslua-module-path-0.0.1
Released 2021-02-01.
- Initially created.