sketch out symbol lister view; float fuzzy matching code into base string layer; bugfix unnecessary ui layer view clamping

This commit is contained in:
Ryan Fleury
2024-01-30 07:59:24 -08:00
parent 38af1a5cab
commit c9b22acd5a
12 changed files with 257 additions and 87 deletions
+23
View File
@@ -128,6 +128,24 @@ struct UnicodeDecode
U32 codepoint;
};
////////////////////////////////
//~ rjf: String Fuzzy Matching Types
typedef struct FuzzyMatchRangeNode FuzzyMatchRangeNode;
struct FuzzyMatchRangeNode
{
FuzzyMatchRangeNode *next;
Rng1U64 range;
};
typedef struct FuzzyMatchRangeList FuzzyMatchRangeList;
struct FuzzyMatchRangeList
{
FuzzyMatchRangeNode *first;
FuzzyMatchRangeNode *last;
U64 count;
};
////////////////////////////////
//~ rjf: Character Classification & Conversion Functions
@@ -318,6 +336,11 @@ internal String8 string_from_elapsed_time(Arena *arena, DateTime dt);
internal String8 hex_string_from_rgba_4f32(Arena *arena, Vec4F32 rgba);
internal Vec4F32 rgba_from_hex_string_4f32(String8 hex_string);
////////////////////////////////
//~ rjf: String Fuzzy Matching
internal FuzzyMatchRangeList fuzzy_match_find(Arena *arena, String8List needles, String8 haystack);
////////////////////////////////
//~ NOTE(allen): Serialization Helpers