feat: store LSP log file name in LSP client
This commit is contained in:
parent
d0e175a5d7
commit
72423471f1
1 changed files with 3 additions and 0 deletions
|
@ -171,6 +171,7 @@ const Process = struct {
|
||||||
project: [:0]const u8,
|
project: [:0]const u8,
|
||||||
sp_tag: [:0]const u8,
|
sp_tag: [:0]const u8,
|
||||||
log_file: ?std.fs.File = null,
|
log_file: ?std.fs.File = null,
|
||||||
|
log_file_path: ?[]const u8 = null,
|
||||||
next_id: i32 = 0,
|
next_id: i32 = 0,
|
||||||
requests: std.StringHashMap(tp.pid),
|
requests: std.StringHashMap(tp.pid),
|
||||||
state: enum { init, running } = .init,
|
state: enum { init, running } = .init,
|
||||||
|
@ -224,6 +225,7 @@ const Process = struct {
|
||||||
self.close() catch {};
|
self.close() catch {};
|
||||||
self.write_log("### terminated LSP process ###\n", .{});
|
self.write_log("### terminated LSP process ###\n", .{});
|
||||||
if (self.log_file) |file| file.close();
|
if (self.log_file) |file| file.close();
|
||||||
|
if (self.log_file_path) |file_path| self.allocator.free(file_path);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn close(self: *Process) error{CloseFailed}!void {
|
fn close(self: *Process) error{CloseFailed}!void {
|
||||||
|
@ -268,6 +270,7 @@ const Process = struct {
|
||||||
const state_dir = root.get_state_dir() catch |e| return tp.exit_error(e, @errorReturnTrace());
|
const state_dir = root.get_state_dir() catch |e| return tp.exit_error(e, @errorReturnTrace());
|
||||||
log_file_path.writer().print("{s}{c}lsp-{s}.log", .{ state_dir, std.fs.path.sep, self.tag }) catch |e| return tp.exit_error(e, @errorReturnTrace());
|
log_file_path.writer().print("{s}{c}lsp-{s}.log", .{ state_dir, std.fs.path.sep, self.tag }) catch |e| return tp.exit_error(e, @errorReturnTrace());
|
||||||
self.log_file = std.fs.createFileAbsolute(log_file_path.items, .{ .truncate = true }) catch |e| return tp.exit_error(e, @errorReturnTrace());
|
self.log_file = std.fs.createFileAbsolute(log_file_path.items, .{ .truncate = true }) catch |e| return tp.exit_error(e, @errorReturnTrace());
|
||||||
|
self.log_file_path = log_file_path.toOwnedSlice() catch null;
|
||||||
}
|
}
|
||||||
|
|
||||||
fn receive(self: *Process, from: tp.pid_ref, m: tp.message) tp.result {
|
fn receive(self: *Process, from: tp.pid_ref, m: tp.message) tp.result {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue