diff options
| author | dam <dam@gudinoff> | 2023-12-15 02:02:33 +0000 |
|---|---|---|
| committer | dam <dam@gudinoff> | 2023-12-15 02:02:33 +0000 |
| commit | 8d06729eb3353705f5d35457c5f921407f8c0f4a (patch) | |
| tree | a7fb3d6a25e7948e7556aa61be3913c3bf584890 /ttt.jai | |
| parent | ef69c4f8daa14a580dd8bb442cae551f08711ca2 (diff) | |
| download | task-time-tracker-8d06729eb3353705f5d35457c5f921407f8c0f4a.tar.zst task-time-tracker-8d06729eb3353705f5d35457c5f921407f8c0f4a.zip | |
WIP: Trying to define Key.
Diffstat (limited to 'ttt.jai')
| -rw-r--r-- | ttt.jai | 60 |
1 files changed, 0 insertions, 60 deletions
@@ -1185,66 +1185,6 @@ main :: () { // TODO Test input - Key :: union { - text: [4] u8; - code: u64; - } - - // Instead of checking if it's an array or string... check the type is array of u8. - to_key :: inline (value: $T) -> Key #modify { return T == u8 || T == string || (T == []u8); } { - k: Key; - #if T == u8 { - k.text[0] = value; - } - #if T == string || (T == []u8) { - assert(value.count <= 4); - for 0..value.count-1 k.text[it] = value[it]; - } - return k; - } - - operator == :: inline (a: Key, b: Key) -> bool { - return a.code == b.code; - } - - // Instead of checking if it's an array or string... check the type is array of u8. - // We'll need to use "Type_Info" and "Type_Info_Array" - // and cast T using `type_info := cast(*Type_Info)T;` - operator == :: inline (a: Key, b: $T) -> bool - #modify { - if T == u8 { - return true; - } - ti := cast(*Type_Info)T; - if ti.type == .ARRAY { - ti_array := cast(*Type_Info_Array)T; - // tia_type := ti_array.element_type.type; - return ti_array.element_type.type == .INTEGER && ti_array.element_type.runtime_size == 1; - } - return false; - // return T == u8 || T == string || (T == []u8); } { - } { - // operator == :: inline (a: Key, b: $T) -> bool #modify { return (T == [4]u8); } { - k := to_key(b); - return a == k; - } - - // k := K. {xx "01"}; - // k := to_key(xx "\0\0\01"); - // k := to_key(xx "€"); - // k := to_key(xx "A"); - k := to_key("A"); - // a: u8 = #char "A"; - a: [4]u8; - a[0] = #char "A"; - print("Is equal to 'A': >%<\n", k == a); - // b: u8 = 3; - // print("Is equal to 'A': >%<\n", k == #char); - print("Text :>%<\n", cast(string)k.text, to_standard_error = true); - print("Key :>%<\n", FormatInt.{value=k.code, base=16, minimum_digits=8}, to_standard_error = true); - return; - - if 1 { print("TEST : set and get cursor position --\n", to_standard_error = true); TUI.start(); |
