feat: add more tracy zones to project_manager.did_change
This commit is contained in:
parent
45bba616df
commit
d05fbcae37
1 changed files with 67 additions and 48 deletions
|
@ -6,6 +6,7 @@ const root = @import("root");
|
|||
const dizzy = @import("dizzy");
|
||||
const Buffer = @import("Buffer");
|
||||
const fuzzig = @import("fuzzig");
|
||||
const tracy = @import("tracy");
|
||||
const builtin = @import("builtin");
|
||||
|
||||
const LSP = @import("LSP.zig");
|
||||
|
@ -327,26 +328,40 @@ pub fn did_change(self: *Self, file_path: []const u8, version: usize, root_dst_a
|
|||
const writer = edits_cb.writer();
|
||||
|
||||
defer {
|
||||
const frame = tracy.initZone(@src(), .{ .name = "deinit" });
|
||||
edits_cb.deinit();
|
||||
dst.deinit();
|
||||
src.deinit();
|
||||
scratch.deinit(self.allocator);
|
||||
dizzy_edits.deinit(self.allocator);
|
||||
frame.deinit();
|
||||
}
|
||||
|
||||
{
|
||||
const frame = tracy.initZone(@src(), .{ .name = "store" });
|
||||
defer frame.deinit();
|
||||
try root_dst.store(dst.writer(), eol_mode);
|
||||
try root_src.store(src.writer(), eol_mode);
|
||||
|
||||
}
|
||||
const scratch_len = 4 * (dst.items.len + src.items.len) + 2;
|
||||
{
|
||||
const frame = tracy.initZone(@src(), .{ .name = "scratch" });
|
||||
defer frame.deinit();
|
||||
try scratch.ensureTotalCapacity(self.allocator, scratch_len);
|
||||
}
|
||||
scratch.items.len = scratch_len;
|
||||
|
||||
{
|
||||
const frame = tracy.initZone(@src(), .{ .name = "diff" });
|
||||
defer frame.deinit();
|
||||
try dizzy.PrimitiveSliceDiffer(u8).diff(self.allocator, &dizzy_edits, src.items, dst.items, scratch.items);
|
||||
|
||||
}
|
||||
var lines_dst: usize = 0;
|
||||
var last_offset: usize = 0;
|
||||
var edits_count: usize = 0;
|
||||
|
||||
{
|
||||
const frame = tracy.initZone(@src(), .{ .name = "transform" });
|
||||
defer frame.deinit();
|
||||
for (dizzy_edits.items) |dizzy_edit| {
|
||||
switch (dizzy_edit.kind) {
|
||||
.equal => {
|
||||
|
@ -379,7 +394,10 @@ pub fn did_change(self: *Self, file_path: []const u8, version: usize, root_dst_a
|
|||
},
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
{
|
||||
const frame = tracy.initZone(@src(), .{ .name = "send" });
|
||||
defer frame.deinit();
|
||||
var msg = std.ArrayList(u8).init(self.allocator);
|
||||
defer msg.deinit();
|
||||
const msg_writer = msg.writer();
|
||||
|
@ -392,6 +410,7 @@ pub fn did_change(self: *Self, file_path: []const u8, version: usize, root_dst_a
|
|||
|
||||
lsp.send_notification_raw("textDocument/didChange", msg.items) catch return error.LspFailed;
|
||||
}
|
||||
}
|
||||
|
||||
fn scan_char(chars: []const u8, lines: *usize, char: u8, last_offset: ?*usize) void {
|
||||
var pos = chars;
|
||||
|
|
Loading…
Add table
Reference in a new issue