lib.strings: Add normalizePath
dedupes extranous /'s in filepaths Co-authored-by: Daniel Olsen <daniel.olsen99@gmail.com>
This commit is contained in:
@@ -185,6 +185,16 @@ rec {
|
|||||||
*/
|
*/
|
||||||
makeBinPath = makeSearchPathOutput "bin" "bin";
|
makeBinPath = makeSearchPathOutput "bin" "bin";
|
||||||
|
|
||||||
|
/* Normalize path, removing extranous /s
|
||||||
|
|
||||||
|
Type: normalizePath :: string -> string
|
||||||
|
|
||||||
|
Example:
|
||||||
|
normalizePath "/a//b///c/"
|
||||||
|
=> "/a/b/c/"
|
||||||
|
*/
|
||||||
|
normalizePath = s: (builtins.foldl' (x: y: if y == "/" && hasSuffix "/" x then x else x+y) "" (splitString "" s));
|
||||||
|
|
||||||
/* Depending on the boolean `cond', return either the given string
|
/* Depending on the boolean `cond', return either the given string
|
||||||
or the empty string. Useful to concatenate against a bigger string.
|
or the empty string. Useful to concatenate against a bigger string.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user