diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2020-09-28 12:20:40 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2020-09-28 12:20:40 +0200 |
commit | e6d5f9148dea1a1a69d728056e9695e14f0fb050 (patch) | |
tree | e703f2acba21327d1c9697731322e6b08e98c77d | |
parent | 482d28f130511e7ce5f94dfcb03e020b4e1d9831 (diff) |
Add $string.trim() function
-rw-r--r-- | libbuild2/functions-string.cxx | 12 | ||||
-rw-r--r-- | tests/function/string/testscript | 7 |
2 files changed, 19 insertions, 0 deletions
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<string> (move (y))) == 0; }; + // Trim. + // + f["trim"] = [](string s) + { + return trim (move (s)); + }; + + f[".trim"] = [](names s) + { + return names {name (trim (convert<string> (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 +} |