summaryrefslogtreecommitdiff
path: root/core/string/ustring.cpp
AgeCommit message (Collapse)Author
2023-02-02Fix String.split() with empty string and delimeterVolTer
2023-01-27Handle gltf binaryK. S. Ernest (iFire) Lee
[ Ignore and Warn | Extract Textures (default) | Optimize Loading Embedded as Basisu ] Enable compressed mip maps from Basis Universal for faster compressions. Increase the quality of Basis to avoid corruption. To keep compatibility use the first mip of the previous internal Godot format. Because texture names may have invalid filename characters, adds String::validate_filename to sanitize filenames for import pipeline use.
2023-01-05One Copyright Update to rule them allRémi Verschelde
As many open source projects have started doing it, we're removing the current year from the copyright notice, so that we don't need to bump it every year. It seems like only the first year of publication is technically relevant for copyright notices, and even that seems to be something that many companies stopped listing altogether (in a version controlled codebase, the commits are a much better source of date of publication than a hardcoded copyright statement). We also now list Godot Engine contributors first as we're collectively the current maintainers of the project, and we clarify that the "exclusive" copyright of the co-founders covers the timespan before opensourcing (their further contributions are included as part of Godot Engine contributors). Also fixed "cf." Frenchism - it's meant as "refer to / see".
2022-12-16Fix String::word_wrap() for long wordsHaoyu Qiu
- Changes `TextServer.string_get_word_breaks()` - Returns pairs of boundary start and end offsets - Accepts `chars_per_line` to return line breaks - Removes `String::word_wrap()` Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2022-11-24Improve logic for detecting and tracking extensionsBastiaan Olij
2022-11-20Double precision of `String.split_floats`Micky
2022-11-14Merge pull request #68229 from Mickeon/c-escape-hellRémi Verschelde
Remove "?" from String.c_escape()
2022-11-14Remove redundant Variant-types initializationsMarkus Sauermann
2022-11-09fix a buffer overflow due to a misbehaving vcrt snprintf call on ↵gnumaru
String::num, at core/string/ustring.cpp
2022-11-04Add support for empty delimiter in String.splitkobewi
2022-11-03Remove "?" from String.c_escape()Micky
2022-10-20Fix localize_path with custom protocol identifiersGilles Roudière
2022-10-15Fix big negative numbers printing incorrect decimals in num_realAaron Franke
2022-10-13Make String.simplify_path keep the protocol identifier for urlsGilles Roudière
2022-10-11Merge pull request #64268 from timothyqiu/is-finiteRémi Verschelde
Add `is_finite` method for checking built-in types
2022-10-09Fix simplify_path() breaking uid://kobewi
2022-10-08Add `is_finite` method for checking built-in typesHaoyu Qiu
2022-10-03Merge pull request #64833 from MarcusElg/naninfprintingRémi Verschelde
Improve string formatting (%f and %v) for inf and nan
2022-09-28Fix MSVC warning C4706: assignment within conditional expressionRémi Verschelde
Part of #66537.
2022-08-30Add `String.to_{camel,pascal,snake}_case` methodsDanil Alexeev
2022-08-29Rename String `plus_file` to `path_join`Aaron Franke
2022-08-25Improve string formatting for %f and %v for inf and nanMarcus Elg
2022-08-24Merge pull request #63728 from MarcusElg/%vRémi Verschelde
Add %v for formatting vectors
2022-08-23Add %v for formatting vectorsMarcus Elg
2022-08-22Improved performance of String repeat methodVolTer
2022-08-18Fix undefined behavior in `String::operator+=(const String &)`kleonc
2022-08-01File: Re-add support to skip CR (`\r`) in `File::get_as_text`Rémi Verschelde
This was removed in #63481, and we confirmed that it's better like this, but we add back the possibility to strip CR as an option, to optionally restore the previous behavior. For performance this is done directly in `String::parse_utf8`. Also fixes Android `FileAccess::get_line()` as this one _should_ strip CR. Supersedes #63717.
2022-07-07Allows parsing of invalid UTF-16 surrogates (can be encountered in Windows ↵bruvzg
filenames) and some non-standard UTF-8 variants, makes Unicode parse errors more verbose.
2022-06-12Fix parameter name for String.left and String.rightHaoyu Qiu
2022-06-03Fix `String.uri_encode` on WindowsHaoyu Qiu
2022-05-20Tweak 64-bit integer overflow message to mention that it's a signed typeHugo Locurcio
2022-05-17Create onready variables when dropping nodes and holding CtrlHaoyu Qiu
2022-05-12Add documentation comments for internationalization C++ macrosHugo Locurcio
2022-05-01Fix left aligned integer sign in string formattingHaoyu Qiu
2022-04-27Merge pull request #59979 from bruvzg/cpp_check2Rémi Verschelde
2022-04-25Implement Scene Unique Nodesreduz
Implements https://github.com/godotengine/godot-proposals/issues/4096 * Nodes can be marked unique to the scene in the editor (or via code). * Unique nodes can be accessed via the **%** prefix at any point in the path. From that point in the path (depending on whether the scene of the path is), the unique node will be fetched. * Implementation is very optimal, as these nodes are cached.
2022-04-20Fix more issues found by cppcheck.bruvzg
2022-03-17Unify TextServer built-in module and GDExtension code.bruvzg
2022-02-24Optimize String concatenation and copy functionsBartłomiej T. Listwon
2022-02-04Cleanup and move char functions to the `char_utils.h` header.bruvzg
2022-01-28Merge pull request #57116 from bruvzg/win_net_shareRémi Verschelde
2022-01-26Rename String::is_subsequence_ofi to String::is_subsequence_ofnWilson E. Alvarez
2022-01-24[Windows] Add support for handling network share paths.bruvzg
2022-01-20Rename or refactor macros to avoid leading underscoresOmar Polo
These are not used consistently and some can conflict with system-specific defines. While here, also delete some unused macros.
2022-01-15Replace String::num_real code with a wrapper around String::numAaron Franke
2022-01-03Update copyright statements to 2022Rémi Verschelde
Happy new year to the wonderful Godot community!
2021-12-16Make `--doctool` locale awareHaoyu Qiu
* Adds `indent(str)` to `String`: * Indent the (multiline) string with the given indentation. * This method is added in order to keep the translated XML correctly indented. * Moves the loading of tool/doc translation into `editor/editor_translation.{h,cpp}`. * This will be used from both `EditorSettings` and the doc tool from `main`. * Makes use of doc translation when generating XML class references, and setup the translation locale based on `-l LOCALE` CLI parameter. The XML class reference won't be translated if `-l LOCALE` parameter is not given, or when it's `-l en`.
2021-12-09Replace String comparisons with "", String() to is_empty()Nathan Franke
Also: - Adds two stress tests to test_string.h - Changes to .empty() on std::strings
2021-11-30Don't return reference on copy assignment operatorsRémi Verschelde
We prefer to prevent using chained assignment (`T a = b = c = T();`) as this can lead to confusing code and subtle bugs. According to https://en.wikipedia.org/wiki/Assignment_operator_(C%2B%2B), C++ allows any arbitrary return type, so this is standard compliant. This could be re-assessed if/when we have an actual need for a behavior more akin to that of the C++ STL, for now this PR simply changes a handful of cases which were inconsistent with the rest of the codebase (`void` return type was already the most common case prior to this commit).
2021-11-23Rename `remove()` to `remove_at()` when removing by indexLightning_A