summaryrefslogtreecommitdiff
path: root/lib/strings.nix (follow)
Commit message (Expand)AuthorAgeFilesLines
* Doc: migrate lib.strings to commonmarkJohannes Kirschbauer2024-07-271-564/+2002
* lib.trimWith: Minor doc improvementsSilvan Mosberger2024-07-261-3/+4
* lib.strings: add `trim` and `trimWith`•••`strings.trim` returns a copy of the string with all leading and trailing whitespace removed. `strings.trimWith` does the same thing, but calling code can decide whether to trim the start and/or end of the string. Matt Sturgeon2024-07-251-0/+62
* lib/strings: Add makeIncludePath (#296237)•••* Update strings.nix * Fix typo in docs * Update lib/strings.nix Co-authored-by: lolbinarycat <dogedoge61+github@gmail.com> * Update lib/strings.nix Co-authored-by: lolbinarycat <dogedoge61+github@gmail.com> * Add unit test with strings * Move test to strings * Add unit test with package structure * testMakeIncludePathWithPkgs: use real pkgs * Revert "testMakeIncludePathWithPkgs: use real pkgs" This reverts commit fb1850c069cfb324f3a43323da740a27a11793f3. * Update lib/tests/misc.nix Co-authored-by: lolbinarycat <dogedoge61+github@gmail.com> * Update lib/tests/misc.nix Co-authored-by: Silvan Mosberger <github@infinisil.com> --------- Co-authored-by: lolbinarycat <dogedoge61+github@gmail.com> Co-authored-by: Silvan Mosberger <github@infinisil.com>Florian Richer2024-04-021-0/+12
* lib.toInt/toIntBase10: Make more efficient by hoisting up internal strings in...adisbladis2024-03-031-10/+17
* lib.strings: Remove unneeded polyfill•••Nix 2.3 (the minimum version needed to evaluate Nixpkgs) supports these, so no need to keep them around. Silvan Mosberger2024-02-091-2/+1
* lib: make deprecation warnings consistent•••The deprecation warnings in lib were wildly inconsistent. Different formulations were used in different places for the same meaning. Some warnings used builtins.trace instead of lib.warn, which prevents silencing; one even only had a comment instead. Make everything more uniform. Alois Wohlschlager2024-02-031-2/+2
* Merge pull request #273473 from adisbladis/lib-isConvertibleToString-static-list•••lib.isConvertibleToString: Statically compute types listSilvan Mosberger2023-12-111-2/+4
|\
| * lib.isConvertibleToString: Statically compute types listadisbladis2023-12-111-2/+4
* | lib.cmakeOptionType: Statically compute types listadisbladis2023-12-111-6/+7
|/
* lib.strings: Dont create scopes for getName/getVersion•••We can create the `parse` function in a scope one level up to avoid recomputing it every time. adisbladis2023-12-111-12/+12
* lib.strings: add `replicate`•••`strings.replicate` returns n copies of a string, concatenated into a new string Co-authored-by: Silvan Mosberger <github@infinisil.com> h7x42023-10-311-0/+14
* lib: refactor•••- rename `(enable|with)Feature(As|)` inputs to more descriptive names Anderson Torres2023-10-091-12/+15
* lib: add cmakeOptionType, cmakeBool and cmakeFeatureAnderson Torres2023-09-271-0/+58
* lib.removePrefix: OptimiseSilvan Mosberger2023-08-141-2/+2
* lib: simplify stringToCharactersfigsoda2023-06-221-1/+2
* lib.path.hasPrefix: initSilvan Mosberger2023-06-151-1/+2
* Merge pull request #221204 from tweag/deprecate-paths-to-strings•••lib.strings: Prevent paths as inputs in some functionsSilvan Mosberger2023-04-041-11/+75
|\
| * lib.strings.remove{Prefix,Suffix}: Deprecate for path prefix/suffix arguments•••See also parent commits Silvan Mosberger2023-03-151-5/+23
| * lib.strings.normalizePath: Deprecate for path values•••There's no need to call this function on path data types, and it's confusing with the new lib.path library functions Silvan Mosberger2023-03-151-1/+14
| * lib.strings: Deprecate path prefix/suffix/infix arguments•••lib.{hasPrefix,hasInfix,hasSuffix} would otherwise return an always-false result, which can be very unexpected: nix-repl> lib.strings.hasPrefix ./lib ./lib/meta.nix false Silvan Mosberger2023-03-151-5/+38
* | lib/strings: hide asciiTable•••Since it's an attribute set, the lib function location generating code tries to generate locations for each of the characters... Naïm Favier2023-03-041-2/+2
* | strings: add escapeQuery for url encodingPatrick Widmer2023-03-031-3/+18
|/
* Merge pull request #205557 from ncfavier/concatLines•••lib/strings: add `concatLines`Silvan Mosberger2023-01-311-0/+11
|\
| * lib/strings: add `concatLines`•••Like `unlines` from Haskell. The aim is to replace the `concatStringsSep "\n"` pattern for generated files, which doesn't add a final newline. Naïm Favier2022-12-101-0/+11
* | lib.isStringLike: Remove use of list•••In the current implementation of Nix, this list would be allocated over and over. Iirc pennae tried to optimize static list allocation, but gained no significant performance improvement. Robert Hensing2022-12-311-1/+3
* | lib.strings.isConvertibleWithToString: Refactor to reuse isStringLikeRobert Hensing2022-12-311-4/+3
* | lib.strings: isMoreCoercibleString -> isConvertibleWithToString•••Yes, this function name is inconveniently long, but it is important for the name to explicitly reference the function and not be mistaken for the implicit string conversions, which only happen for a smaller set of values. Robert Hensing2022-12-311-5/+6
* | lib.strings: isSimpleCoercibleString -> isStringLikeRobert Hensing2022-12-311-7/+7
* | treewide: isCoercibleToString -> isMoreCoercibleToString•••No change in behavior. Robert Hensing2022-12-311-1/+1
* | lib.strings: Rename isCoercibleToString -> isMoreCoercibleToStringRobert Hensing2022-12-311-2/+11
* | lib.strings.toShellVar: Use isSimpleCoercibleString•••Expecting no change in behavior. Robert Hensing2022-12-311-1/+1
* | lib.strings.isStorePath: Use isSimpleCoercibleToString•••Expecting no change in behavior. Robert Hensing2022-12-311-1/+1
* | lib.strings: Add isSimpleCoercibleToStringRobert Hensing2022-12-311-0/+11
* | lib/strings: replace poop emoji (#206999)Naïm Favier2022-12-201-1/+1
* | lib: fix typosfigsoda2022-12-171-2/+2
* | lib.replaceChars: warn about being a deprecated alias•••replaceStrings has been in nix since 2015(nix 1.10) so it is safe to remove the fallback https://github.com/nixos/nix/commit/d6d5885c1567454754a0d260521bafa0bd5e7fdb Artturin2022-12-151-17/+6
* | Merge pull request #205457 from h7x4/lib-strings-toInt-broken-for-negative-nu...•••lib.strings: fix negative number handling for `toInt` and `toIntBase10`Robert Hensing2022-12-111-6/+7
|\ \ | |/ |/|
| * lib.strings: fix negative number handling for `toInt` and `toIntBase10`•••The previous version would be unstable due to an input validation regex not expecting a '-' in front of the number. h7x42022-12-101-6/+7
* | Merge pull request #204087 from ncfavier/splitString-simplifyNaïm Favier2022-12-081-6/+4
|\ \
| * | lib/strings: simplify `splitString`•••There's no need to use `unsafeDiscardStringContext` since https://github.com/NixOS/nix/commit/ee7fe64c0ac00f2be11604a2a6509eb86dc19f0a (Nix 1.8). Also the separator can't have a context since `builtins.split` would fail, so we can assume it doesn't. Naïm Favier2022-12-021-6/+4
| |/
* / lib/strings.nix: add mesonOption utility function•••And some friends, to help write Meson commandline invocations. AndersonTorres2022-12-061-0/+55
|/
* Merge pull request #173949 from jacoblambda/fix-toInt-zero-padding•••lib: add strings.toIntBase10 to parse zero-padded stringsRobert Hensing2022-10-241-6/+87
|\
| * lib/strings: Update docs and restructured code to improve readability of toIn...Jacob Abel2022-10-231-21/+37
| * lib/strings: Improve error message for octal ambiguity in toIntJacob Abel2022-10-231-3/+2
| * lib/strings: Refactor toInt into toInt and toIntBase10Jacob Abel2022-10-231-3/+51
| * lib/strings: Update toInt to handle intermixed ws and zeros. Added testsJacob Abel2022-10-231-7/+13
| * lib/strings: allow toInt to parse zero-padded stringsJacob Abel2022-10-231-4/+16
* | lib.normalizePath: the empty string is not a valid regex on darwin•••presumably due to using libc++'s regex lib instead of libstdc++ on linux Fixes https://github.com/NixOS/nixpkgs/pull/177273#issuecomment-1287562800 Guillaume Girol2022-10-241-1/+1
|/
* lib.strings: Add normalizePath•••dedupes extranous /'s in filepaths Co-authored-by: Daniel Olsen <daniel.olsen99@gmail.com> ajs1242022-10-201-0/+10