Linus Groh
e265054c12
Everywhere: Remove a bunch of redundant 'AK::' namespace prefixes
...
This is basically just for consistency, it's quite strange to see
multiple AK container types next to each other, some with and some
without the namespace prefix - we're 'using AK::Foo;' a lot and should
leverage that. :^)
2021-02-26 16:59:56 +01:00
Linus Groh
4fafe14691
AK: Add String{,Utils}::to_snakecase()
...
This is an improved version of WrapperGenerator's snake_name(), which
seems like the kind of thing that could be useful elsewhere but would
end up getting duplicated - so let's add this to AK::String instead,
like to_{lowercase,uppercase}().
2021-02-21 19:47:47 +01:00
AnotherTest
39442e6d4f
AK: Add String{View,}::find(StringView)
...
I personally mistook `find_first_of(StringView)` to be analogous to this
so let's add a `find()` method that actually searches the string.
2021-01-12 23:36:20 +01:00
AnotherTest
7029a8f605
AK: Specialise convert_to_uint<T> and to_uint<T> for 'long' variants
2021-01-11 21:09:36 +01:00
AnotherTest
f3ecea1fb3
AK: Add String{,View}::is_whitespace()
...
+Tests!
2021-01-03 10:47:29 +01:00
AnotherTest
cbe0a8b403
AK: Allow trailing '*'s in a glob pattern to match nothing
...
Fixes part of #4607 .
2020-12-29 02:35:52 +01:00
Sahan Fernando
f469f44cc6
AK: Check for overflow in StringUtils::convert_to_int
2020-12-21 00:15:44 +01:00
Sahan Fernando
37df4bbd90
AK: Generalize AK::String::to_int() for more types
2020-12-21 00:15:44 +01:00
Linus Groh
d6a4c0c79e
AK: Trim whitespace in StringUtils::convert_to_{int,uint,uint_from_hex}()
...
Personally I found this unintuitive at first, but it is in line with
strtol(), Python's int() or JavaScript's parseInt(), so I guess it makes
sense.
Fixes #4097 .
2020-11-17 09:48:35 +01:00
Linus Groh
d3ee3fc68a
AK: Fix StringUtils::contains() case insensitive search
...
It would incorrectly return false if needle was at the end the string.
2020-11-14 10:11:26 +01:00
AnotherTest
0801b1fada
AK: Make String::matches() capable of reporting match positions too
...
Also, rewrite StringUtils::match(), because the old implementation was
fairly broken, e.g. "acdcxb" would *not* match "a*?b".
2020-10-29 11:53:01 +01:00
Tom
25e7225782
AK: Enhance String::contains to allow case-insensitive searches
2020-10-22 15:23:45 +02:00
AnotherTest
5fbec2b003
AK: Move trim_whitespace() into StringUtils and add it to StringView
...
No behaviour change; also patches use of `String::TrimMode` in LibJS.
2020-09-27 21:14:18 +02:00
Luke
a5ecb9bd6b
AK: Add case insensitive version of starts_with
2020-07-21 01:08:32 +02:00
Andreas Kling
fdfda6dec2
AK: Make string-to-number conversion helpers return Optional
...
Get rid of the weird old signature:
- int StringType::to_int(bool& ok) const
And replace it with sensible new signature:
- Optional<int> StringType::to_int() const
2020-06-12 21:28:55 +02:00
Brian Gianforcaro
332f96e7ca
AK: Add case insensitive String::ends_with support
...
FileSystemPath::has_extension was jumping through hoops and allocating
memory to do a case insensitive comparison needlessly. Extend the
existing String::ends_with method to allow the caller to specify the
case sensitivity required.
2020-05-26 13:17:19 +02:00
Brian Gianforcaro
8e4b858b3f
AK: Move String::ends_with implementation to StringUtils
...
Centralizing so it can be used by other string implementations
2020-05-26 13:17:19 +02:00
Hüseyin ASLITÜRK
738235574f
AK: StringUtils, add "convert_to_uint_from_hex" method
...
New method to convert hex string unsigned integer.
2020-05-21 01:19:42 +02:00
Andreas Kling
26bc3d4ea0
AK: Add FlyString::equals_ignoring_case(StringView)
...
And share the code with String by moving the logic to StringUtils. :^)
2020-03-22 13:07:45 +01:00
Andreas Kling
0efa47b7ef
AK: Run clang-format on StringUtils.{cpp,h}
2020-03-22 13:04:04 +01:00
Andreas Kling
f5b78c2a1c
AK: Add missing copyright headers to StringUtils.{cpp,h}
2020-03-02 14:23:11 +01:00
howar6hill
d75fa80a7b
AK: Move to_int(), to_uint() implementations to StringUtils ( #1338 )
...
Provide wrappers in String and StringView. Add some tests for the
implementations.
2020-03-02 14:19:33 +01:00
howar6hill
055344f346
AK: Move the wildcard-matching implementation to StringUtils
...
Provide wrappers in the String and StringView classes, and add some tests.
2020-03-02 10:38:08 +01:00