From e6d5f9148dea1a1a69d728056e9695e14f0fb050 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 28 Sep 2020 12:20:40 +0200 Subject: Add $string.trim() function --- libbuild2/functions-string.cxx | 12 ++++++++++++ tests/function/string/testscript | 7 +++++++ 2 files changed, 19 insertions(+) diff --git a/libbuild2/functions-string.cxx b/libbuild2/functions-string.cxx index da4fe02..f458a59 100644 --- a/libbuild2/functions-string.cxx +++ b/libbuild2/functions-string.cxx @@ -43,6 +43,18 @@ namespace build2 convert (move (y))) == 0; }; + // Trim. + // + f["trim"] = [](string s) + { + return trim (move (s)); + }; + + f[".trim"] = [](names s) + { + return names {name (trim (convert (move (s))))}; + }; + // String-specific overloads from builtins. // function_family b (m, "builtin"); diff --git a/tests/function/string/testscript b/tests/function/string/testscript index d42add7..9275fe5 100644 --- a/tests/function/string/testscript +++ b/tests/function/string/testscript @@ -24,3 +24,10 @@ $* <'print $string.icasecmp("a", "b")' >'false' : untyped-untyped } } + +: trim +: +{ + $* <'print $trim([string] " a ")' >'a' : string + $* <'print $string.trim( " a ")' >'a' : untyped +} -- cgit v1.1