1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183
|
# hslua-module-path
[![GitHub CI][CI badge]](https://github.com/hslua/hslua-module-paths/actions)
[![Hackage][Hackage badge]](https://hackage.haskell.org/package/hslua-module-path)
[![Stackage Lts][Stackage Lts badge]](http://stackage.org/lts/package/hslua-module-path)
[![Stackage Nightly][Stackage Nightly badge]](http://stackage.org/nightly/package/hslua-module-path)
[![MIT license][License badge]](LICENSE)
[CI badge]: https://img.shields.io/github/workflow/status/hslua/hslua/CI.svg?logo=github
[Hackage badge]: https://img.shields.io/hackage/v/hslua-module-path.svg?logo=haskell
[Stackage Lts badge]: http://stackage.org/package/hslua-module-path/badge/lts
[Stackage Nightly badge]: http://stackage.org/package/hslua-module-path/badge/nightly
[License badge]: https://img.shields.io/badge/license-MIT-blue.svg
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](http://neilmitchell.blogspot.co.uk/2015/10/filepaths-are-subtle-symlinks-are-hard.html).
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)
|