Initial testing including uucode

pull/8757/head
Jacob Sandlund 2025-07-27 16:30:55 -04:00
parent 18831374ca
commit 70bc29f815
3 changed files with 36 additions and 0 deletions

View File

@ -41,6 +41,10 @@
.hash = "ziglyph-0.11.2-AAAAAHPtHwB4Mbzn1KvOV7Wpjo82NYEc_v0WC8oCLrkf",
.lazy = true,
},
.uucode = .{
.url = "https://github.com/jacobsandlund/uucode/archive/fdcd8582f050e3054091d3ce3c60bf7a78bc8830.tar.gz",
.hash = "uucode-0.0.0-ZZjBPpnZOgCLQD3BsYbQ4N6dGqR3CRKlOngOBB3YEU_j",
},
.zig_wayland = .{
// codeberg ifreund/zig-wayland
.url = "https://codeberg.org/ifreund/zig-wayland/archive/f3c5d503e540ada8cbcb056420de240af0c094f7.tar.gz",

View File

@ -15,6 +15,7 @@ help_strings: HelpStrings,
metallib: ?*MetallibStep,
unicode_tables: UnicodeTables,
framedata: GhosttyFrameData,
uucode_table_data: std.Build.LazyPath,
/// Used to keep track of a list of file sources.
pub const LazyPathList = std.ArrayList(std.Build.LazyPath);
@ -25,6 +26,24 @@ pub fn init(b: *std.Build, cfg: *const Config) !SharedDeps {
.help_strings = try .init(b, cfg),
.unicode_tables = try .init(b),
.framedata = try .init(b),
.uucode_table_data = b.dependency("uucode", .{
.@"table_configs.zig" = @as(
[]const u8,
\\const types = @import("types.zig");
\\const config = @import("config.zig");
\\
\\pub const configs = [_]types.TableConfig{
\\ .override(&config.default, .{
\\ .fields = &.{"case_folding_simple"},
\\ }),
\\ .override(&config.default, .{
\\ .fields = &.{"alphabetic","lowercase","uppercase"},
\\ }),
\\};
\\
,
),
}).namedLazyPath("table_data.zig"),
// Setup by retarget
.options = undefined,
@ -415,6 +434,13 @@ pub fn add(
})) |dep| {
step.root_module.addImport("ziglyph", dep.module("ziglyph"));
}
if (b.lazyDependency("uucode", .{
.target = target,
.optimize = optimize,
.@"table_data.zig" = self.uucode_table_data,
})) |dep| {
step.root_module.addImport("uucode", dep.module("uucode"));
}
if (b.lazyDependency("zf", .{
.target = target,
.optimize = optimize,

View File

@ -10,6 +10,7 @@ const oni = @import("oniguruma");
const crash = @import("crash/main.zig");
const renderer = @import("renderer.zig");
const apprt = @import("apprt.zig");
const uucode = @import("uucode");
/// We export the xev backend we want to use so that the rest of
/// Ghostty can import this once and have access to the proper
@ -54,6 +55,11 @@ pub const GlobalState = struct {
// std.log.err("[global init time] start={}us duration={}ns", .{ start_micro, end.since(start) / std.time.ns_per_us });
// }
std.log.err("XXX Uucode testing: {d}, {}\n", .{
uucode.case_folding_simple(65),
uucode.alphabetic(97),
});
// Initialize ourself to nothing so we don't have any extra state.
// IMPORTANT: this MUST be initialized before any log output because
// the log function uses the global state.