mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-08-02 14:57:31 +03:00
lint JSON and Typescript as well
This commit is contained in:
@ -1,14 +1,18 @@
|
|||||||
import { ZigJS } from 'zig-js';
|
import { ZigJS } from "zig-js";
|
||||||
|
|
||||||
const zjs = new ZigJS();
|
const zjs = new ZigJS();
|
||||||
const importObject = {
|
const importObject = {
|
||||||
module: {},
|
module: {},
|
||||||
env: {
|
env: {
|
||||||
memory: new WebAssembly.Memory({ initial: 25, maximum: 65536, shared: true }),
|
memory: new WebAssembly.Memory({
|
||||||
|
initial: 25,
|
||||||
|
maximum: 65536,
|
||||||
|
shared: true,
|
||||||
|
}),
|
||||||
log: (ptr: number, len: number) => {
|
log: (ptr: number, len: number) => {
|
||||||
const arr = new Uint8ClampedArray(zjs.memory.buffer, ptr, len);
|
const arr = new Uint8ClampedArray(zjs.memory.buffer, ptr, len);
|
||||||
const data = arr.slice();
|
const data = arr.slice();
|
||||||
const str = new TextDecoder('utf-8').decode(data);
|
const str = new TextDecoder("utf-8").decode(data);
|
||||||
console.log(str);
|
console.log(str);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -16,12 +20,11 @@ const importObject = {
|
|||||||
...zjs.importObject(),
|
...zjs.importObject(),
|
||||||
};
|
};
|
||||||
|
|
||||||
const url = new URL('ghostty-wasm.wasm', import.meta.url);
|
const url = new URL("ghostty-wasm.wasm", import.meta.url);
|
||||||
fetch(url.href).then(response =>
|
fetch(url.href)
|
||||||
response.arrayBuffer()
|
.then((response) => response.arrayBuffer())
|
||||||
).then(bytes =>
|
.then((bytes) => WebAssembly.instantiate(bytes, importObject))
|
||||||
WebAssembly.instantiate(bytes, importObject)
|
.then((results) => {
|
||||||
).then(results => {
|
|
||||||
const memory = importObject.env.memory;
|
const memory = importObject.env.memory;
|
||||||
const {
|
const {
|
||||||
malloc,
|
malloc,
|
||||||
@ -96,8 +99,16 @@ fetch(url.href).then(response =>
|
|||||||
|
|
||||||
// Create our group
|
// Create our group
|
||||||
const group = group_new(32 /* size */);
|
const group = group_new(32 /* size */);
|
||||||
group_add_face(group, 0 /* regular */, deferred_face_new(font_name.ptr, font_name.len, 0 /* text */));
|
group_add_face(
|
||||||
group_add_face(group, 0 /* regular */, deferred_face_new(font_name.ptr, font_name.len, 1 /* emoji */));
|
group,
|
||||||
|
0 /* regular */,
|
||||||
|
deferred_face_new(font_name.ptr, font_name.len, 0 /* text */),
|
||||||
|
);
|
||||||
|
group_add_face(
|
||||||
|
group,
|
||||||
|
0 /* regular */,
|
||||||
|
deferred_face_new(font_name.ptr, font_name.len, 1 /* emoji */),
|
||||||
|
);
|
||||||
|
|
||||||
// Initialize our sprite font, without this we just use the browser.
|
// Initialize our sprite font, without this we just use the browser.
|
||||||
group_init_sprite_face(group);
|
group_init_sprite_face(group);
|
||||||
@ -119,7 +130,7 @@ fetch(url.href).then(response =>
|
|||||||
// group_cache_render_glyph(group_cache, font_idx, cp, 0);
|
// group_cache_render_glyph(group_cache, font_idx, cp, 0);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
for (let i = 0x2500; i <= 0x257F; i++) {
|
for (let i = 0x2500; i <= 0x257f; i++) {
|
||||||
const font_idx = group_cache_index_for_codepoint(group_cache, i, 0, -1);
|
const font_idx = group_cache_index_for_codepoint(group_cache, i, 0, -1);
|
||||||
group_cache_render_glyph(group_cache, font_idx, i, 0);
|
group_cache_render_glyph(group_cache, font_idx, i, 0);
|
||||||
}
|
}
|
||||||
@ -127,15 +138,15 @@ fetch(url.href).then(response =>
|
|||||||
const font_idx = group_cache_index_for_codepoint(group_cache, i, 0, -1);
|
const font_idx = group_cache_index_for_codepoint(group_cache, i, 0, -1);
|
||||||
group_cache_render_glyph(group_cache, font_idx, i, 0);
|
group_cache_render_glyph(group_cache, font_idx, i, 0);
|
||||||
}
|
}
|
||||||
for (let i = 0x2800; i <= 0x28FF; i++) {
|
for (let i = 0x2800; i <= 0x28ff; i++) {
|
||||||
const font_idx = group_cache_index_for_codepoint(group_cache, i, 0, -1);
|
const font_idx = group_cache_index_for_codepoint(group_cache, i, 0, -1);
|
||||||
group_cache_render_glyph(group_cache, font_idx, i, 0);
|
group_cache_render_glyph(group_cache, font_idx, i, 0);
|
||||||
}
|
}
|
||||||
for (let i = 0x1FB00; i <= 0x1FB3B; i++) {
|
for (let i = 0x1fb00; i <= 0x1fb3b; i++) {
|
||||||
const font_idx = group_cache_index_for_codepoint(group_cache, i, 0, -1);
|
const font_idx = group_cache_index_for_codepoint(group_cache, i, 0, -1);
|
||||||
group_cache_render_glyph(group_cache, font_idx, i, 0);
|
group_cache_render_glyph(group_cache, font_idx, i, 0);
|
||||||
}
|
}
|
||||||
for (let i = 0x1FB3C; i <= 0x1FB6B; i++) {
|
for (let i = 0x1fb3c; i <= 0x1fb6b; i++) {
|
||||||
const font_idx = group_cache_index_for_codepoint(group_cache, i, 0, -1);
|
const font_idx = group_cache_index_for_codepoint(group_cache, i, 0, -1);
|
||||||
group_cache_render_glyph(group_cache, font_idx, i, 0);
|
group_cache_render_glyph(group_cache, font_idx, i, 0);
|
||||||
}
|
}
|
||||||
@ -153,7 +164,12 @@ fetch(url.href).then(response =>
|
|||||||
shaper_test(shaper, group_cache, input.ptr, input.len);
|
shaper_test(shaper, group_cache, input.ptr, input.len);
|
||||||
|
|
||||||
const cp = 1114112;
|
const cp = 1114112;
|
||||||
const font_idx = group_cache_index_for_codepoint(group_cache, cp, 0, -1 /* best choice */);
|
const font_idx = group_cache_index_for_codepoint(
|
||||||
|
group_cache,
|
||||||
|
cp,
|
||||||
|
0,
|
||||||
|
-1 /* best choice */,
|
||||||
|
);
|
||||||
group_cache_render_glyph(group_cache, font_idx, cp, -1);
|
group_cache_render_glyph(group_cache, font_idx, cp, -1);
|
||||||
|
|
||||||
// Debug our atlas canvas
|
// Debug our atlas canvas
|
||||||
|
Reference in New Issue
Block a user