1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-06-01 03:08:13 +00:00
serenity/Userland
Timothy Flynn fe84a365c2 LibUnicode: Parse and generate format pattern skeletons
Pattern skeletons are more or less the "key" of format patterns. Every
format pattern is assigned a skeleton. Interval patterns (which are not
yet parsed) are also assigned a skeleton - this is used to match them to
an "owning" format pattern. So we will use the skeleton generated here
to match format patterns at runtime with their available interval
patterns.

An alternative approach would be to append interval patterns directly to
their owning format pattern, but this has some draw backs:

    1. Skeletons aren't totally unique. A skeleton may appear in both
       the "dateFormats" and "availableFormats" objects, in which case
       the same interval formats would be generated more than once.

    2. Otherwise unique format patterns may only differ by the interval
       patterns assigned to them. This would cause the UniqueStorage for
       the format patterns to increase in size, impacting both compile
       times and libunicode.so size.
2021-12-09 23:43:04 +00:00
..
Applets Applets/ClipboardHistory: Port to LibMain :^) 2021-12-04 14:24:04 +01:00
Applications HackStudio+TextEditor: Persist EditingEngineType across editors 2021-12-09 21:31:06 +01:00
Demos Demos: Cast unused smart-pointer return values to void 2021-12-05 15:31:03 +01:00
DevTools HackStudio+TextEditor: Persist EditingEngineType across editors 2021-12-09 21:31:06 +01:00
DynamicLoader Toolchain+Meta: Update LLVM version to 13.0.0 2021-10-17 17:09:58 +01:00
Games Games: Cast unused smart-pointer return values to void 2021-12-05 15:31:03 +01:00
Libraries LibUnicode: Parse and generate format pattern skeletons 2021-12-09 23:43:04 +00:00
Services LibHTTP: Avoid implicitly copying ByteBuffer 2021-12-08 09:46:13 -08:00
Shell Shell: Cast unused smart-pointer return values to void 2021-12-05 15:31:03 +01:00
Utilities js: Improve usage of TRY when executing a file program 2021-12-08 17:17:35 -08:00
CMakeLists.txt Tests: Establish root Tests directory, move Userland/Tests there 2021-05-06 17:54:28 +02:00