Commit Graph

313 Commits

Author SHA1 Message Date
9f9ee0c813 SCons: Add unobtrusive type hints in SCons files 2024-09-25 09:34:35 -05:00
a751c05b15 Fix script editor wrongly replaces and quotes non-ASCII letters 2024-09-23 00:05:16 +08:00
818acb4290 Make editor use translation domains
How editor plugins use this feature:
1. Pick a unique translation domain name.
2. `_enter_tree()`: load translations into that translation domain.
3. Call `set_translation_domain()` for its root UI node.
4. `_exit_tree()`: remove that translation domain.

Plugins can also set the translation domain to `godot.editor` for
nested nodes that should use editor translations. `EditorFileDialog`
automatically does this.
2024-09-17 13:09:44 +08:00
68d494e24e Add translation domain 2024-09-17 13:09:44 +08:00
0dde931bc9 StringName: Fix empty hash
+Fixed compat hashes
2024-09-09 13:30:02 -07:00
69ca549ef9 Merge pull request #92570 from rune-scape/rune-stringname-bits
StringName: `operator==` compares in-place
2024-09-04 11:16:32 +02:00
6abd17265b StringName: operator== compares in-place 2024-09-03 17:31:08 -07:00
88197d4a51 Merge pull request #96462 from RandomShaper/opt_comp_loc
TranslationServer: Add fast path for comparison of equal locales
2024-09-02 12:14:01 +02:00
cfb7443e26 TranslationServer: Add fast path for comparison of equal locales 2024-09-02 10:50:14 +02:00
e33fdb4296 Use MutexLock in more places 2024-08-29 14:12:59 +02:00
8bf4ecc026 Add String.is_valid_unicode_identifier()
- Adds `is_valid_unicode_identifier()`
- Adds `is_valid_ascii_identifier()`
- Deprecates `is_valid_identifier()`
- Renames `validate_identifier()` to `validate_ascii_identifier()`
2024-08-27 11:34:08 +08:00
c7702b350a Merge pull request #92548 from AThousandShips/string_cleaning
[Core] Optimize some `String` methods
2024-08-26 23:28:24 +02:00
8dad1ba482 Merge pull request #92933 from TokageItLab/match-concatenating
Match the coding style for concatenating String
2024-08-26 22:44:59 +02:00
af919a845f Merge pull request #94683 from kisg/string_name_fix
StringName: Use inline static field definitions
2024-08-19 16:05:16 +02:00
4afcbb1c8b Merge pull request #92546 from AThousandShips/faster_replace
[Core] Optimize `String::replace` methods
2024-08-19 12:08:45 +02:00
49e5fbfbd2 Merge pull request #95184 from jsjtxietian/shader-include-relative
Fix `String::simplify_path` handling of relative paths to parent dir (`../`), fixes relative shader includes
2024-08-17 00:46:11 +02:00
803dfcc3cb Merge pull request #95613 from timothyqiu/split-empty
Fix `split_floats` behavior when spaces are used as separators
2024-08-16 14:36:40 +02:00
f01e052162 Merge pull request #95549 from timothyqiu/split-translation-server
Split `TranslationServer` into its own file
2024-08-16 14:36:16 +02:00
f483c3aafa Fix split_floats behavior when spaces are used as separators 2024-08-16 17:30:44 +08:00
70096c0e6a Merge pull request #94558 from stuartcarnie/sgc/sprintf_allocations
Reduce allocations in `String::sprintf`
2024-08-16 10:34:28 +02:00
71ca5aa5ec Merge pull request #92555 from AThousandShips/insert_improve
[Core] Optimize `String::insert`
2024-08-16 10:33:47 +02:00
ee19a092d9 [Core] Optimize some String methods
Avoids unnecessary COW checks by using pointers directly.
2024-08-15 17:17:11 +02:00
e211d08c92 [Core] Optimize String::join
Avoid reallocation by pre-computing size
2024-08-15 16:19:07 +02:00
746c6b87eb [Core] Optimize String::insert 2024-08-15 16:18:47 +02:00
cbaec62b03 [Core] Optimize String::replace methods
Performs a single allocation, only when any instances are found, and
avoids concatenations and other unnecessary conversions.
2024-08-15 16:15:58 +02:00
7343dc3a5d Split TranslationServer into its own file 2024-08-15 15:00:47 +08:00
6cf9af2817 Fix error when use relative #include in .gdshader / .gdshaderinc file 2024-08-08 11:59:14 +08:00
67eb6bed2b use operator += (char32_t)
This prevents an allocation of a new string for every character.

Additionally, use some static constants for padding and sign characters
2024-07-25 09:17:58 +10:00
723878bbab StringName: Use inline static field definitions
Before this change StringName used regular static field
definitions for its mutex, _table, configured and debug_stringname
fields.

Since in the general case the ordering of the static variable and field
initialization and destruction is undefined, it was possible that
the destruction of StringName's static fields happened prior to
the destruction of statically allocated StringName instances.

By changing the static field definitions to inline in string_name.h,
the C++17 standard guarantees the correct initialization and destruction
ordering.
2024-07-24 02:40:36 +02:00
f11e8d033d Remove editor pseudolocalization debug feature
We've seen multiple users enable it by mistake and get utterly confused,
reporting as a bug that the interface text is garbled.

On the other hand we haven't really seen much use of the feature by editor
UI developers, so we can likely simply remove it.

If there's a need eventually, we can re-add it as a command line option
(which is also better than an editor setting as one would typically want
to toggle it during development).
2024-06-24 17:08:26 +02:00
dd883bebd4 Improve PR plural translation rules handling. 2024-06-18 19:04:00 +03:00
12571a1e95 Match the coding style for concatenating String 2024-06-09 18:35:23 +09:00
a9a1d0a162 Merge pull request #91619 from AThousandShips/find_improve
Replace `find` with `contains/has` where applicable
2024-05-08 14:35:44 +02:00
b4c6cc7d82 [Core] Add case-insensitive String::containsn 2024-05-08 12:48:01 +02:00
a0dbdcc3ab Replace find with contains/has where applicable
* Replaces `find(...) != -1` with `contains` for `String`
* Replaces `find(...) == -1` with `!contains` for `String`
* Replaces `find(...) != -1` with `has` for containers
* Replaces `find(...) == -1` with `!has` for containers
2024-05-08 12:37:42 +02:00
d4154dbc55 Add const char * overloads to String class
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-05-07 10:53:00 -04:00
25fe3d4b46 Merge pull request #81639 from MJacred/is_letter
Add `is_valid_letter()` to `TextServer`
2024-05-03 01:21:34 +02:00
717513a62d Add is_valid_letter() to TextServer 2024-05-02 21:32:20 +02:00
b1f5e9fe3a Rename internal is_ascii_char to is_ascii_alphabet_char 2024-04-20 02:36:41 -07:00
9bcda8f94c Prefer family name in fonts' names table 2024-04-06 16:08:59 +08:00
479b7afa8e Add context support for editor property name i18n 2024-03-31 18:40:14 +08:00
bb6305d1c4 [Core] Fix incorrect file sort method 2024-03-24 17:54:57 +01:00
8f9136963d Merge pull request #89671 from alesliehughes/string_underrun
Stop possible underrun when processing a string
2024-03-24 01:21:12 +01:00
2cbf469912 Fix sorting of files/dirs in dialogs
Sorts leading `_` before other characters except `.`.
2024-03-20 13:45:47 +01:00
87fe71f52f Stop possible underrun when processing a string
Calling String::utf8("Unicode String", -1) assumes that the string will be NULL terminated.
However, the length parameter is always used to find the end of the string.  So there is the
chance the character before th start of the string is read.

Making the pointer NULL in the case where it's out of range, still allows the following
to work as expected
while (ptrtmp != ptrtmp_limit && *ptrtmp)
....
2024-03-19 20:17:11 +11:00
9903e6779b Enforce template syntax typename over class 2024-03-07 22:39:09 -06:00
3026b566b0 Fix String::begins_with when both strings are empty 2024-03-05 20:46:10 +02:00
0a089e284b Merge pull request #87191 from Mickeon/autocompletion-TranslationServer
Add autocompletion for TranslationServer
2024-03-01 14:56:18 +01:00
ffd498c57d Add autocompletion for TranslationServer 2024-02-29 20:43:19 +01:00
846428e0c6 Merge pull request #86222 from YeldhamDev/give_me_those_strings_baby
Add option to add built-in strings in the POT generation
2024-02-29 13:53:38 +01:00