Merge branch 'master' into zig-0.14
This commit is contained in:
		
						commit
						a469080bfe
					
				
					 4 changed files with 20 additions and 15 deletions
				
			
		| 
						 | 
				
			
			@ -293,6 +293,7 @@ pub fn build_exe(
 | 
			
		|||
        .imports = &.{
 | 
			
		||||
            .{ .name = "cbor", .module = cbor_mod },
 | 
			
		||||
            .{ .name = "thespian", .module = thespian_mod },
 | 
			
		||||
            .{ .name = "CaseData", .module = zg_dep.module("CaseData") },
 | 
			
		||||
        },
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -476,7 +477,6 @@ pub fn build_exe(
 | 
			
		|||
            .{ .name = "color", .module = color_mod },
 | 
			
		||||
            .{ .name = "diff", .module = diff_mod },
 | 
			
		||||
            .{ .name = "help.md", .module = help_mod },
 | 
			
		||||
            .{ .name = "CaseData", .module = zg_dep.module("CaseData") },
 | 
			
		||||
            .{ .name = "fuzzig", .module = fuzzig_dep.module("fuzzig") },
 | 
			
		||||
            .{ .name = "zeit", .module = zeit_mod },
 | 
			
		||||
        },
 | 
			
		||||
| 
						 | 
				
			
			@ -502,6 +502,7 @@ pub fn build_exe(
 | 
			
		|||
    exe.root_module.addImport("flags", flags_dep.module("flags"));
 | 
			
		||||
    exe.root_module.addImport("cbor", cbor_mod);
 | 
			
		||||
    exe.root_module.addImport("config", config_mod);
 | 
			
		||||
    exe.root_module.addImport("Buffer", Buffer_mod);
 | 
			
		||||
    exe.root_module.addImport("tui", tui_mod);
 | 
			
		||||
    exe.root_module.addImport("thespian", thespian_mod);
 | 
			
		||||
    exe.root_module.addImport("log", log_mod);
 | 
			
		||||
| 
						 | 
				
			
			@ -543,6 +544,7 @@ pub fn build_exe(
 | 
			
		|||
    check_exe.root_module.addImport("flags", flags_dep.module("flags"));
 | 
			
		||||
    check_exe.root_module.addImport("cbor", cbor_mod);
 | 
			
		||||
    check_exe.root_module.addImport("config", config_mod);
 | 
			
		||||
    check_exe.root_module.addImport("Buffer", Buffer_mod);
 | 
			
		||||
    check_exe.root_module.addImport("tui", tui_mod);
 | 
			
		||||
    check_exe.root_module.addImport("thespian", thespian_mod);
 | 
			
		||||
    check_exe.root_module.addImport("log", log_mod);
 | 
			
		||||
| 
						 | 
				
			
			@ -550,6 +552,7 @@ pub fn build_exe(
 | 
			
		|||
    check_exe.root_module.addImport("renderer", renderer_mod);
 | 
			
		||||
    check_exe.root_module.addImport("input", input_mod);
 | 
			
		||||
    check_exe.root_module.addImport("syntax", syntax_mod);
 | 
			
		||||
    check_exe.root_module.addImport("color", color_mod);
 | 
			
		||||
    check_exe.root_module.addImport("version_info", b.createModule(.{ .root_source_file = version_info_file }));
 | 
			
		||||
    check_step.dependOn(&check_exe.step);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -59,3 +59,13 @@ pub fn utf8_sanitize(allocator: std.mem.Allocator, input: []const u8) error{
 | 
			
		|||
    for (input) |byte| try writer.writeAll(try raw_byte_to_utf8(byte, &buf));
 | 
			
		||||
    return output.toOwnedSlice(allocator);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pub const CaseData = @import("CaseData");
 | 
			
		||||
var case_data: ?CaseData = null;
 | 
			
		||||
var case_data_arena = std.heap.ArenaAllocator.init(std.heap.page_allocator);
 | 
			
		||||
 | 
			
		||||
pub fn get_case_data() *CaseData {
 | 
			
		||||
    if (case_data) |*cd| return cd;
 | 
			
		||||
    case_data = CaseData.init(case_data_arena.allocator()) catch @panic("CaseData.init");
 | 
			
		||||
    return &case_data.?;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -45,6 +45,8 @@ pub fn main() anyerror!void {
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    const a = std.heap.c_allocator;
 | 
			
		||||
    const case_data = @import("Buffer").unicode.get_case_data();
 | 
			
		||||
    _ = case_data; // no need to free case_data as it is globally static
 | 
			
		||||
 | 
			
		||||
    const Flags = struct {
 | 
			
		||||
        pub const description =
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,7 +9,6 @@ const tracy = @import("tracy");
 | 
			
		|||
const text_manip = @import("text_manip");
 | 
			
		||||
const syntax = @import("syntax");
 | 
			
		||||
const project_manager = @import("project_manager");
 | 
			
		||||
const CaseData = @import("CaseData");
 | 
			
		||||
const root_mod = @import("root");
 | 
			
		||||
 | 
			
		||||
const Plane = @import("renderer").Plane;
 | 
			
		||||
| 
						 | 
				
			
			@ -350,8 +349,6 @@ pub const Editor = struct {
 | 
			
		|||
        } = null,
 | 
			
		||||
    } = null,
 | 
			
		||||
 | 
			
		||||
    case_data: ?CaseData = null,
 | 
			
		||||
 | 
			
		||||
    const WhitespaceMode = enum { indent, leading, eol, tabs, visible, full, none };
 | 
			
		||||
    const StyleCache = std.AutoHashMap(u32, ?Widget.Theme.Token);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -469,7 +466,6 @@ pub const Editor = struct {
 | 
			
		|||
        self.handlers.deinit();
 | 
			
		||||
        self.logger.deinit();
 | 
			
		||||
        if (self.buffer) |p| self.buffer_manager.retire(p, meta.items);
 | 
			
		||||
        if (self.case_data) |cd| cd.deinit();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    fn from_whitespace_mode(whitespace_mode: []const u8) WhitespaceMode {
 | 
			
		||||
| 
						 | 
				
			
			@ -493,12 +489,6 @@ pub const Editor = struct {
 | 
			
		|||
        Widget.need_render();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    fn get_case_data(self: *Self) *CaseData {
 | 
			
		||||
        if (self.case_data) |*cd| return cd;
 | 
			
		||||
        self.case_data = CaseData.init(self.allocator) catch @panic("CaseData.init");
 | 
			
		||||
        return &self.case_data.?;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    fn buf_for_update(self: *Self) !*const Buffer {
 | 
			
		||||
        if (!self.pause_undo) {
 | 
			
		||||
            self.cursels_saved.clearAndFree();
 | 
			
		||||
| 
						 | 
				
			
			@ -4967,7 +4957,7 @@ pub const Editor = struct {
 | 
			
		|||
        var sfa = std.heap.stackFallback(4096, self.allocator);
 | 
			
		||||
        const cut_text = copy_selection(root, sel.*, sfa.get(), self.metrics) catch return error.Stop;
 | 
			
		||||
        defer allocator.free(cut_text);
 | 
			
		||||
        const ucased = self.get_case_data().toUpperStr(allocator, cut_text) catch return error.Stop;
 | 
			
		||||
        const ucased = Buffer.unicode.get_case_data().toUpperStr(allocator, cut_text) catch return error.Stop;
 | 
			
		||||
        defer allocator.free(ucased);
 | 
			
		||||
        root = try self.delete_selection(root, cursel, allocator);
 | 
			
		||||
        root = self.insert(root, cursel, ucased, allocator) catch return error.Stop;
 | 
			
		||||
| 
						 | 
				
			
			@ -4995,7 +4985,7 @@ pub const Editor = struct {
 | 
			
		|||
        var sfa = std.heap.stackFallback(4096, self.allocator);
 | 
			
		||||
        const cut_text = copy_selection(root, sel.*, sfa.get(), self.metrics) catch return error.Stop;
 | 
			
		||||
        defer allocator.free(cut_text);
 | 
			
		||||
        const ucased = self.get_case_data().toLowerStr(allocator, cut_text) catch return error.Stop;
 | 
			
		||||
        const ucased = Buffer.unicode.get_case_data().toLowerStr(allocator, cut_text) catch return error.Stop;
 | 
			
		||||
        defer allocator.free(ucased);
 | 
			
		||||
        root = try self.delete_selection(root, cursel, allocator);
 | 
			
		||||
        root = self.insert(root, cursel, ucased, allocator) catch return error.Stop;
 | 
			
		||||
| 
						 | 
				
			
			@ -5026,9 +5016,9 @@ pub const Editor = struct {
 | 
			
		|||
            self_: *Self,
 | 
			
		||||
            result: *std.ArrayList(u8),
 | 
			
		||||
 | 
			
		||||
            const Error = @typeInfo(@typeInfo(@TypeOf(CaseData.toUpperStr)).@"fn".return_type.?).error_union.error_set;
 | 
			
		||||
            const Error = @typeInfo(@typeInfo(@TypeOf(Buffer.unicode.CaseData.toUpperStr)).@"fn".return_type.?).error_union.error_set;
 | 
			
		||||
            pub fn write(writer: *@This(), bytes: []const u8) Error!void {
 | 
			
		||||
                const cd = writer.self_.get_case_data();
 | 
			
		||||
                const cd = Buffer.unicode.get_case_data();
 | 
			
		||||
                const flipped = if (cd.isLowerStr(bytes))
 | 
			
		||||
                    try cd.toUpperStr(writer.self_.allocator, bytes)
 | 
			
		||||
                else
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue