helix-editor / helix

A post-modern modal text editor.
https://helix-editor.com
Mozilla Public License 2.0
34.1k stars 2.52k forks source link

Error types of Zig are messing the buffer #11555

Closed Tarbetu closed 3 months ago

Tarbetu commented 3 months ago

Summary

Hi! I'm using Helix with Zig, and everything is fine until calling and storing a function with complicated error type (f.g std.fs.cwd.openFile).

image

Reproduction Steps

I tried this:

  1. Open a Zig file, and make sure that language server is working
  2. Call a failable function like std.fs.cwd().openFile and store in varible

Helix log

~/.cache/helix/helix.log (I don't know that which part do you need exactly) ``` 2024-08-22T16:55:52.259 globset [DEBUG] glob converted to regex: Glob { glob: "*/Dockerfile.*", re: "(?-u)^.*/Dockerfile\\..*$", opts: GlobOptions { case_insensitive: false, literal_separator: false, backslash_escape: true, empty_alternates: false }, tokens: Tokens([ZeroOrMore, Literal('/'), Literal('D'), Literal('o'), Literal('c'), Literal('k'), Literal('e'), Literal('r'), Literal('f'), Literal('i'), Literal('l'), Literal('e'), Literal('.'), ZeroOrMore]) } 2024-08-22T16:55:52.259 globset [DEBUG] glob converted to regex: Glob { glob: "*/dockerfile.*", re: "(?-u)^.*/dockerfile\\..*$", opts: GlobOptions { case_insensitive: false, literal_separator: false, backslash_escape: true, empty_alternates: false }, tokens: Tokens([ZeroOrMore, Literal('/'), Literal('d'), Literal('o'), Literal('c'), Literal('k'), Literal('e'), Literal('r'), Literal('f'), Literal('i'), Literal('l'), Literal('e'), Literal('.'), ZeroOrMore]) } 2024-08-22T16:55:52.259 globset [DEBUG] glob converted to regex: Glob { glob: "*/Containerfile.*", re: "(?-u)^.*/Containerfile\\..*$", opts: GlobOptions { case_insensitive: false, literal_separator: false, backslash_escape: true, empty_alternates: false }, tokens: Tokens([ZeroOrMore, Literal('/'), Literal('C'), Literal('o'), Literal('n'), Literal('t'), Literal('a'), Literal('i'), Literal('n'), Literal('e'), Literal('r'), Literal('f'), Literal('i'), Literal('l'), Literal('e'), Literal('.'), ZeroOrMore]) } 2024-08-22T16:55:52.259 globset [DEBUG] glob converted to regex: Glob { glob: "*/containerfile.*", re: "(?-u)^.*/containerfile\\..*$", opts: GlobOptions { case_insensitive: false, literal_separator: false, backslash_escape: true, empty_alternates: false }, tokens: Tokens([ZeroOrMore, Literal('/'), Literal('c'), Literal('o'), Literal('n'), Literal('t'), Literal('a'), Literal('i'), Literal('n'), Literal('e'), Literal('r'), Literal('f'), Literal('i'), Literal('l'), Literal('e'), Literal('.'), ZeroOrMore]) } 2024-08-22T16:55:52.259 globset [DEBUG] glob converted to regex: Glob { glob: "*/.*ignore", re: "(?-u)^.*/\\..*ignore$", opts: GlobOptions { case_insensitive: false, literal_separator: false, backslash_escape: true, empty_alternates: false }, tokens: Tokens([ZeroOrMore, Literal('/'), Literal('.'), ZeroOrMore, Literal('i'), Literal('g'), Literal('n'), Literal('o'), Literal('r'), Literal('e')]) } 2024-08-22T16:55:52.259 globset [DEBUG] glob converted to regex: Glob { glob: "*/BUILD.*", re: "(?-u)^.*/BUILD\\..*$", opts: GlobOptions { case_insensitive: false, literal_separator: false, backslash_escape: true, empty_alternates: false }, tokens: Tokens([ZeroOrMore, Literal('/'), Literal('B'), Literal('U'), Literal('I'), Literal('L'), Literal('D'), Literal('.'), ZeroOrMore]) } 2024-08-22T16:55:52.259 globset [DEBUG] glob converted to regex: Glob { glob: "*/.env.*", re: "(?-u)^.*/\\.env\\..*$", opts: GlobOptions { case_insensitive: false, literal_separator: false, backslash_escape: true, empty_alternates: false }, tokens: Tokens([ZeroOrMore, Literal('/'), Literal('.'), Literal('e'), Literal('n'), Literal('v'), Literal('.'), ZeroOrMore]) } 2024-08-22T16:55:52.259 globset [DEBUG] glob converted to regex: Glob { glob: "*/.envrc.*", re: "(?-u)^.*/\\.envrc\\..*$", opts: GlobOptions { case_insensitive: false, literal_separator: false, backslash_escape: true, empty_alternates: false }, tokens: Tokens([ZeroOrMore, Literal('/'), Literal('.'), Literal('e'), Literal('n'), Literal('v'), Literal('r'), Literal('c'), Literal('.'), ZeroOrMore]) } 2024-08-22T16:55:52.259 globset [DEBUG] glob converted to regex: Glob { glob: "*/conf/*/*.{inc,conf}", re: "(?-u)^.*/conf/.*/.*\\.(?:conf|inc)$", opts: GlobOptions { case_insensitive: false, literal_separator: false, backslash_escape: true, empty_alternates: false }, tokens: Tokens([ZeroOrMore, Literal('/'), Literal('c'), Literal('o'), Literal('n'), Literal('f'), Literal('/'), ZeroOrMore, Literal('/'), ZeroOrMore, Literal('.'), Alternates([Tokens([Literal('c'), Literal('o'), Literal('n'), Literal('f')]), Tokens([Literal('i'), Literal('n'), Literal('c')])])]) } 2024-08-22T16:55:52.259 globset [DEBUG] glob converted to regex: Glob { glob: "*/Jenkinsfile.*", re: "(?-u)^.*/Jenkinsfile\\..*$", opts: GlobOptions { case_insensitive: false, literal_separator: false, backslash_escape: true, empty_alternates: false }, tokens: Tokens([ZeroOrMore, Literal('/'), Literal('J'), Literal('e'), Literal('n'), Literal('k'), Literal('i'), Literal('n'), Literal('s'), Literal('f'), Literal('i'), Literal('l'), Literal('e'), Literal('.'), ZeroOrMore]) } 2024-08-22T16:55:52.259 globset [DEBUG] built glob set; 1 literals, 0 basenames, 0 extensions, 0 prefixes, 103 suffixes, 9 required extensions, 10 regexes 2024-08-22T16:55:52.262 helix_view::clipboard [DEBUG] Using xclip to interact with the system and selection (primary) clipboard 2024-08-22T16:55:52.279 helix_view::editor [DEBUG] editor status: Loaded 1 file. 2024-08-22T16:55:52.280 helix_lsp::transport [INFO] zls -> {"jsonrpc":"2.0","method":"initialize","params":{"capabilities":{"general":{"positionEncodings":["utf-8","utf-32","utf-16"]},"textDocument":{"codeAction":{"codeActionLiteralSupport":{"codeActionKind":{"valueSet":["","quickfix","refactor","refactor.extract","refactor.inline","refactor.rewrite","source","source.organizeImports"]}},"dataSupport":true,"disabledSupport":true,"isPreferredSupport":true,"resolveSupport":{"properties":["edit","command"]}},"completion":{"completionItem":{"deprecatedSupport":true,"insertReplaceSupport":true,"resolveSupport":{"properties":["documentation","detail","additionalTextEdits"]},"snippetSupport":true,"tagSupport":{"valueSet":[1]}},"completionItemKind":{}},"formatting":{"dynamicRegistration":false},"hover":{"contentFormat":["markdown"]},"inlayHint":{"dynamicRegistration":false},"publishDiagnostics":{"tagSupport":{"valueSet":[1,2]},"versionSupport":true},"rename":{"dynamicRegistration":false,"honorsChangeAnnotations":false,"prepareSupport":true},"signatureHelp":{"signatureInformation":{"activeParameterSupport":true,"documentationFormat":["markdown"],"parameterInformation":{"labelOffsetSupport":true}}}},"window":{"workDoneProgress":true},"workspace":{"applyEdit":true,"configuration":true,"didChangeConfiguration":{"dynamicRegistration":false},"didChangeWatchedFiles":{"dynamicRegistration":true,"relativePatternSupport":false},"executeCommand":{"dynamicRegistration":false},"fileOperations":{"didRename":true,"willRename":true},"inlayHint":{"refreshSupport":false},"symbol":{"dynamicRegistration":false},"workspaceEdit":{"documentChanges":true,"failureHandling":"abort","normalizesLineEndings":false,"resourceOperations":["create","rename","delete"]},"workspaceFolders":true}},"clientInfo":{"name":"helix","version":"24.7 (079f5442)"},"processId":214394,"rootPath":"/home/esuster/Code/Zig/LoxVM","rootUri":"file:///home/esuster/Code/Zig/LoxVM","workspaceFolders":[{"name":"LoxVM","uri":"file:///home/esuster/Code/Zig/LoxVM"}]},"id":0} 2024-08-22T16:55:52.280 helix_lsp::transport [ERROR] zls err <- "info : ( main ): Starting ZLS 0.13.0 @ '/home/esuster/.bin/zls'\n" 2024-08-22T16:55:52.280 helix_lsp::transport [ERROR] zls err <- "info : (server): Client is 'helix-24.7 (079f5442)'\n" 2024-08-22T16:55:52.280 helix_lsp::transport [ERROR] zls err <- "info : (server): No config file zls.json found. This is not an error.\n" 2024-08-22T16:55:52.287 helix_tui::backend::crossterm [DEBUG] The keyboard enhancement protocol is not supported in this terminal (checked in 7.326956ms) 2024-08-22T16:55:52.287 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-08-22T16:55:52.294 helix_lsp::transport [ERROR] zls err <- "info : (server): Set config option 'builtin_path' to '/home/esuster/.cache/zls/builtin.zig'\n" 2024-08-22T16:55:52.294 helix_lsp::transport [ERROR] zls err <- "info : (server): Set config option 'zig_lib_path' to '/home/esuster/.bin/lib'\n" 2024-08-22T16:55:52.294 helix_lsp::transport [ERROR] zls err <- "info : (server): Set config option 'zig_exe_path' to '/home/esuster/.bin/zig'\n" 2024-08-22T16:55:52.294 helix_lsp::transport [ERROR] zls err <- "info : (server): Set config option 'build_runner_path' to '/home/esuster/.cache/zls/build_runner/21872970afd69e48a0847077e5196711/build_runner.zig'\n" 2024-08-22T16:55:52.294 helix_lsp::transport [ERROR] zls err <- "info : (server): Set config option 'global_cache_path' to '/home/esuster/.cache/zls'\n" 2024-08-22T16:55:52.294 helix_lsp::transport [INFO] zls <- {"jsonrpc":"2.0","id":0,"result":{"capabilities":{"positionEncoding":"utf-8","textDocumentSync":{"openClose":true,"change":2,"willSave":true,"willSaveWaitUntil":true,"save":true},"completionProvider":{"triggerCharacters":[".",":","@","]","/"],"resolveProvider":false,"completionItem":{"labelDetailsSupport":true}},"hoverProvider":true,"signatureHelpProvider":{"triggerCharacters":["("],"retriggerCharacters":[","]},"declarationProvider":true,"definitionProvider":true,"typeDefinitionProvider":true,"implementationProvider":false,"referencesProvider":true,"documentHighlightProvider":true,"documentSymbolProvider":true,"codeActionProvider":true,"colorProvider":false,"workspaceSymbolProvider":false,"documentFormattingProvider":true,"documentRangeFormattingProvider":false,"renameProvider":true,"foldingRangeProvider":true,"selectionRangeProvider":true,"semanticTokensProvider":{"legend":{"tokenTypes":["namespace","type","class","enum","interface","struct","typeParameter","parameter","variable","property","enumMember","event","function","method","macro","keyword","modifier","comment","string","number","regexp","operator","decorator","errorTag","builtin","label","keywordLiteral","union","opaque"],"tokenModifiers":["declaration","definition","readonly","static","deprecated","abstract","async","modification","documentation","defaultLibrary","generic","_"]},"range":true,"full":true},"inlayHintProvider":true,"workspace":{"workspaceFolders":{"supported":true,"changeNotifications":true}}},"serverInfo":{"name":"zls","version":"0.13.0"}}} 2024-08-22T16:55:52.295 helix_lsp::transport [INFO] zls <- {"capabilities":{"codeActionProvider":true,"colorProvider":false,"completionProvider":{"completionItem":{"labelDetailsSupport":true},"resolveProvider":false,"triggerCharacters":[".",":","@","]","/"]},"declarationProvider":true,"definitionProvider":true,"documentFormattingProvider":true,"documentHighlightProvider":true,"documentRangeFormattingProvider":false,"documentSymbolProvider":true,"foldingRangeProvider":true,"hoverProvider":true,"implementationProvider":false,"inlayHintProvider":true,"positionEncoding":"utf-8","referencesProvider":true,"renameProvider":true,"selectionRangeProvider":true,"semanticTokensProvider":{"full":true,"legend":{"tokenModifiers":["declaration","definition","readonly","static","deprecated","abstract","async","modification","documentation","defaultLibrary","generic","_"],"tokenTypes":["namespace","type","class","enum","interface","struct","typeParameter","parameter","variable","property","enumMember","event","function","method","macro","keyword","modifier","comment","string","number","regexp","operator","decorator","errorTag","builtin","label","keywordLiteral","union","opaque"]},"range":true},"signatureHelpProvider":{"retriggerCharacters":[","],"triggerCharacters":["("]},"textDocumentSync":{"change":2,"openClose":true,"save":true,"willSave":true,"willSaveWaitUntil":true},"typeDefinitionProvider":true,"workspace":{"workspaceFolders":{"changeNotifications":true,"supported":true}},"workspaceSymbolProvider":false},"serverInfo":{"name":"zls","version":"0.13.0"}} 2024-08-22T16:55:52.295 helix_lsp::transport [INFO] zls -> {"jsonrpc":"2.0","method":"initialized","params":{}} 2024-08-22T16:55:52.295 helix_term::application [DEBUG] received editor event: LanguageServerMessage((LanguageServerId(1v1), Notification(Notification { jsonrpc: None, method: "initialized", params: None }))) 2024-08-22T16:55:52.295 helix_lsp::transport [INFO] zls <- {"jsonrpc":"2.0","id":"i_haz_configuration","method":"workspace/configuration","params":{"items":[{"section":"zls.enable_snippets"},{"section":"zls.enable_argument_placeholders"},{"section":"zls.enable_build_on_save"},{"section":"zls.build_on_save_step"},{"section":"zls.enable_autofix"},{"section":"zls.semantic_tokens"},{"section":"zls.enable_inlay_hints"},{"section":"zls.inlay_hints_show_variable_type_hints"},{"section":"zls.inlay_hints_show_struct_literal_field_type"},{"section":"zls.inlay_hints_show_parameter_name"},{"section":"zls.inlay_hints_show_builtin"},{"section":"zls.inlay_hints_exclude_single_argument"},{"section":"zls.inlay_hints_hide_redundant_param_names"},{"section":"zls.inlay_hints_hide_redundant_param_names_last_token"},{"section":"zls.warn_style"},{"section":"zls.highlight_global_var_declarations"},{"section":"zls.dangerous_comptime_experiments_do_not_enable"},{"section":"zls.skip_std_references"},{"section":"zls.prefer_ast_check_as_child_process"},{"section":"zls.builtin_path"},{"section":"zls.zig_lib_path"},{"section":"zls.zig_exe_path"},{"section":"zls.build_runner_path"},{"section":"zls.global_cache_path"},{"section":"zls.completion_label_details"}]}} 2024-08-22T16:55:52.295 helix_lsp::transport [INFO] zls -> {"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"languageId":"zig","text":"const std = @import(\"std\");\nconst print = std.debug.print;\nconst exit = std.process.exit;\n\nconst chunk = @import(\"chunk.zig\");\nconst Byte = chunk.Byte;\nconst Chunk = chunk.Chunk;\nconst GeneralPurposeAllocator = std.heap.GeneralPurposeAllocator;\nconst virtual_machine = @import(\"vm.zig\");\nconst VM = virtual_machine.VM;\nconst InterpreterResult = virtual_machine.InterpretResult;\n\npub fn main() void {\n var gpa = GeneralPurposeAllocator(.{}){};\n defer _ = gpa.deinit();\n const allocator = gpa.allocator();\n\n var vm = VM.init();\n // defer vm.deinit();\n\n const args = std.process.argsWithAllocator(allocator);\n defer args.deinit();\n _ = args.skip(allocator);\n\n if (args.inner.count == 0) {\n repl();\n } else if (args.inner.count == 1) {\n runFile(args.next());\n } else {\n print(\"Usage: loxvm [path]\\n\", .{});\n exit(64);\n }\n}\n\nfn repl(vm: VM) void {\n const line: [1024]u8 = undefined;\n const stdin = std.io.getStdIn().reader();\n\n while (true) {\n print(\"> \", .{});\n\n const output = stdin.readUntilDelimiterOrEof(line, '\\n') catch {\n print(\"Error while reading from stdin\");\n exit(64);\n };\n\n if (output == null) {\n print('\\n');\n break;\n }\n\n vm.interpret(line);\n }\n}\n\nfn runFile(vm: VM, filepath: []const u8) void {\n var file = std.fs.cwd().openFile(filepath, .{}) catch |err| {\n print(\"File Error: {}\", err);\n exit(1);\n };\n\n const source = file.readToEndAlloc(, );\n\n const result = vm.interpret(source);\n\n switch (result) {\n InterpreterResult.CompileError => exit(65),\n InterpreterResult.RuntimeError => exit(70),\n else => {},\n }\n}\n\n// pub fn main() void {\n// var gpa = GeneralPurposeAllocator(.{}){};\n// defer _ = gpa.deinit();\n// const allocator = gpa.allocator();\n\n// var test_chunk = Chunk.init(allocator);\n// defer test_chunk.deinit();\n\n// var global_vm = vm.VM.init();\n// // defer global_vm.deinit();\n\n// test_chunk.addConstant(1.2) catch {};\n// test_chunk.write(Byte.Constant, 123) catch {};\n// test_chunk.write(test_chunk.last_constant_index(), 123) catch {};\n\n// test_chunk.addConstant(3.4) catch {};\n// test_chunk.write(Byte.Constant, 123) catch {};\n// test_chunk.write(test_chunk.last_constant_index(), 123) catch {};\n\n// test_chunk.write(Byte.Add, 123) catch {};\n\n// test_chunk.addConstant(5.6) catch {};\n// test_chunk.write(Byte.Constant, 123) catch {};\n// test_chunk.write(test_chunk.last_constant_index(), 123) catch {};\n\n// test_chunk.write(Byte.Divide, 123) catch {};\n// test_chunk.write(Byte.Negate, 123) catch {};\n\n// test_chunk.write(Byte.Return, 123) catch {};\n\n// test_chunk.disassemble(\"Test Chunk\");\n\n// _ = global_vm.interpret(&test_chunk);\n// }\n","uri":"file:///home/esuster/Code/Zig/LoxVM/src/main.zig","version":0}}} 2024-08-22T16:55:52.295 helix_term::application [DEBUG] received editor event: LanguageServerMessage((LanguageServerId(1v1), MethodCall(MethodCall { jsonrpc: Some(V2), method: "workspace/configuration", params: Map({"items": Array [Object {"section": String("zls.enable_snippets")}, Object {"section": String("zls.enable_argument_placeholders")}, Object {"section": String("zls.enable_build_on_save")}, Object {"section": String("zls.build_on_save_step")}, Object {"section": String("zls.enable_autofix")}, Object {"section": String("zls.semantic_tokens")}, Object {"section": String("zls.enable_inlay_hints")}, Object {"section": String("zls.inlay_hints_show_variable_type_hints")}, Object {"section": String("zls.inlay_hints_show_struct_literal_field_type")}, Object {"section": String("zls.inlay_hints_show_parameter_name")}, Object {"section": String("zls.inlay_hints_show_builtin")}, Object {"section": String("zls.inlay_hints_exclude_single_argument")}, Object {"section": String("zls.inlay_hints_hide_redundant_param_names")}, Object {"section": String("zls.inlay_hints_hide_redundant_param_names_last_token")}, Object {"section": String("zls.warn_style")}, Object {"section": String("zls.highlight_global_var_declarations")}, Object {"section": String("zls.dangerous_comptime_experiments_do_not_enable")}, Object {"section": String("zls.skip_std_references")}, Object {"section": String("zls.prefer_ast_check_as_child_process")}, Object {"section": String("zls.builtin_path")}, Object {"section": String("zls.zig_lib_path")}, Object {"section": String("zls.zig_exe_path")}, Object {"section": String("zls.build_runner_path")}, Object {"section": String("zls.global_cache_path")}, Object {"section": String("zls.completion_label_details")}]}), id: Str("i_haz_configuration") }))) 2024-08-22T16:55:52.295 helix_lsp::transport [INFO] zls -> {"jsonrpc":"2.0","result":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"id":"i_haz_configuration"} 2024-08-22T16:55:52.295 helix_lsp::transport [INFO] zls <- {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/esuster/Code/Zig/LoxVM/src/main.zig","diagnostics":[{"range":{"start":{"line":61,"character":39},"end":{"line":61,"character":40}},"severity":1,"code":"expected_expr","source":"zls","message":"expected expression, found ','"}]}} 2024-08-22T16:55:52.295 helix_term::application [DEBUG] received editor event: LanguageServerMessage((LanguageServerId(1v1), Notification(Notification { jsonrpc: Some(V2), method: "textDocument/publishDiagnostics", params: Map({"diagnostics": Array [Object {"code": String("expected_expr"), "message": String("expected expression, found ','"), "range": Object {"end": Object {"character": Number(40), "line": Number(61)}, "start": Object {"character": Number(39), "line": Number(61)}}, "severity": Number(1), "source": String("zls")}], "uri": String("file:///home/esuster/Code/Zig/LoxVM/src/main.zig")}) }))) 2024-08-22T16:55:52.300 helix_lsp::transport [INFO] zls <- {"jsonrpc":"2.0","id":"semantic_tokens_refresh","method":"workspace/semanticTokens/refresh"} 2024-08-22T16:55:52.300 helix_term::application [DEBUG] received editor event: LanguageServerMessage((LanguageServerId(1v1), MethodCall(MethodCall { jsonrpc: Some(V2), method: "workspace/semanticTokens/refresh", params: None, id: Str("semantic_tokens_refresh") }))) 2024-08-22T16:55:52.300 helix_term::application [ERROR] Language Server: Method workspace/semanticTokens/refresh not found in request semantic_tokens_refresh 2024-08-22T16:55:52.300 helix_lsp::transport [INFO] zls -> {"jsonrpc":"2.0","error":{"code":-32601,"message":"Method not found: workspace/semanticTokens/refresh"},"id":"semantic_tokens_refresh"} 2024-08-22T16:55:52.300 helix_lsp::transport [ERROR] zls err <- "error: (server): Error response for 'semantic_tokens_refresh': lsp.Message.Response.Error.Code.method_not_found, Method not found: workspace/semanticTokens/refresh\n" 2024-08-22T16:55:52.329 helix_term::application [DEBUG] received editor event: Redraw 2024-08-22T16:55:52.329 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-08-22T16:55:52.514 helix_term::application [DEBUG] received editor event: IdleTimer 2024-08-22T16:55:52.514 helix_lsp::transport [INFO] zls -> {"jsonrpc":"2.0","method":"textDocument/inlayHint","params":{"range":{"end":{"character":0,"line":92},"start":{"character":0,"line":0}},"textDocument":{"uri":"file:///home/esuster/Code/Zig/LoxVM/src/main.zig"}},"id":1} 2024-08-22T16:55:52.530 helix_lsp::transport [INFO] zls <- {"jsonrpc":"2.0","id":1,"result":[{"position":{"line":0,"character":9},"label":": type","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":1,"character":11},"label":": fn (comptime fmt: []const u8, args: anytype) void","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":2,"character":10},"label":": fn (status: u8) noreturn","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":4,"character":11},"label":": type","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":5,"character":10},"label":": type","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":6,"character":11},"label":": type","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":7,"character":29},"label":": fn (comptime config: Config) type","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":8,"character":21},"label":": type","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":9,"character":8},"label":": type","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":10,"character":23},"label":": type","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":13,"character":11},"label":": GeneralPurposeAllocator(...)","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":15,"character":19},"label":": Allocator","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":17,"character":10},"label":": VM","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":20,"character":14},"label":": InitError!ArgIterator","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":29,"character":14},"label":"fmt:","kind":2,"tooltip":{"kind":"markdown","value":"```zig\ncomptime []const u8\n```"},"paddingLeft":false,"paddingRight":true},{"position":{"line":29,"character":39},"label":"args:","kind":2,"tooltip":{"kind":"markdown","value":"```zig\nanytype\n```"},"paddingLeft":false,"paddingRight":true},{"position":{"line":36,"character":15},"label":": GenericReader(...)","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":39,"character":14},"label":"fmt:","kind":2,"tooltip":{"kind":"markdown","value":"```zig\ncomptime []const u8\n```"},"paddingLeft":false,"paddingRight":true},{"position":{"line":39,"character":20},"label":"args:","kind":2,"tooltip":{"kind":"markdown","value":"```zig\nanytype\n```"},"paddingLeft":false,"paddingRight":true},{"position":{"line":41,"character":20},"label":": ?[]u8","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":41,"character":53},"label":"buf:","kind":2,"tooltip":{"kind":"markdown","value":"```zig\n[]u8\n```"},"paddingLeft":false,"paddingRight":true},{"position":{"line":41,"character":59},"label":"delimiter:","kind":2,"tooltip":{"kind":"markdown","value":"```zig\nu8\n```"},"paddingLeft":false,"paddingRight":true},{"position":{"line":56,"character":12},"label":": File","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":56,"character":37},"label":"sub_path:","kind":2,"tooltip":{"kind":"markdown","value":"```zig\n[]const u8\n```"},"paddingLeft":false,"paddingRight":true},{"position":{"line":56,"character":47},"label":"flags:","kind":2,"tooltip":{"kind":"markdown","value":"```zig\nFile.OpenFlags\n```"},"paddingLeft":false,"paddingRight":true},{"position":{"line":56,"character":62},"label":": error{\n SharingViolation,\n PathAlreadyExists,\n FileNotFound,\n AccessDenied,\n PipeBusy,\n NameTooLong,\n /// WASI-only; file paths must be valid UTF-8.\n InvalidUtf8,\n /// Windows-only; file paths provided by the user must be valid WTF-8.\n /// https://simonsapin.github.io/wtf-8/\n InvalidWtf8,\n /// On Windows, file paths cannot contain these characters:\n /// '/', '*', '?', '\"', '<', '>', '|'\n BadPathName,\n Unexpected,\n /// On Windows, `\\\\server` or `\\\\server\\share` was not found.\n NetworkNotFound,\n /// On Windows, antivirus software is enabled by default. It can be\n /// disabled, but Windows Update sometimes ignores the user's preference\n /// and re-enables it. When enabled, antivirus software on Windows\n /// intercepts file system operations and makes them significantly slower\n /// in addition to possibly failing with this error code.\n AntivirusInterference,\n} || posix.OpenError || posix.FlockError","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":57,"character":14},"label":"fmt:","kind":2,"tooltip":{"kind":"markdown","value":"```zig\ncomptime []const u8\n```"},"paddingLeft":false,"paddingRight":true},{"position":{"line":57,"character":32},"label":"args:","kind":2,"tooltip":{"kind":"markdown","value":"```zig\nanytype\n```"},"paddingLeft":false,"paddingRight":true},{"position":{"line":63,"character":16},"label":": InterpretResult","kind":1,"paddingLeft":false,"paddingRight":false}]} 2024-08-22T16:55:52.531 helix_lsp::transport [INFO] zls <- [{"kind":1,"label":": type","paddingLeft":false,"paddingRight":false,"position":{"character":9,"line":0}},{"kind":1,"label":": fn (comptime fmt: []const u8, args: anytype) void","paddingLeft":false,"paddingRight":false,"position":{"character":11,"line":1}},{"kind":1,"label":": fn (status: u8) noreturn","paddingLeft":false,"paddingRight":false,"position":{"character":10,"line":2}},{"kind":1,"label":": type","paddingLeft":false,"paddingRight":false,"position":{"character":11,"line":4}},{"kind":1,"label":": type","paddingLeft":false,"paddingRight":false,"position":{"character":10,"line":5}},{"kind":1,"label":": type","paddingLeft":false,"paddingRight":false,"position":{"character":11,"line":6}},{"kind":1,"label":": fn (comptime config: Config) type","paddingLeft":false,"paddingRight":false,"position":{"character":29,"line":7}},{"kind":1,"label":": type","paddingLeft":false,"paddingRight":false,"position":{"character":21,"line":8}},{"kind":1,"label":": type","paddingLeft":false,"paddingRight":false,"position":{"character":8,"line":9}},{"kind":1,"label":": type","paddingLeft":false,"paddingRight":false,"position":{"character":23,"line":10}},{"kind":1,"label":": GeneralPurposeAllocator(...)","paddingLeft":false,"paddingRight":false,"position":{"character":11,"line":13}},{"kind":1,"label":": Allocator","paddingLeft":false,"paddingRight":false,"position":{"character":19,"line":15}},{"kind":1,"label":": VM","paddingLeft":false,"paddingRight":false,"position":{"character":10,"line":17}},{"kind":1,"label":": InitError!ArgIterator","paddingLeft":false,"paddingRight":false,"position":{"character":14,"line":20}},{"kind":2,"label":"fmt:","paddingLeft":false,"paddingRight":true,"position":{"character":14,"line":29},"tooltip":{"kind":"markdown","value":"```zig\ncomptime []const u8\n```"}},{"kind":2,"label":"args:","paddingLeft":false,"paddingRight":true,"position":{"character":39,"line":29},"tooltip":{"kind":"markdown","value":"```zig\nanytype\n```"}},{"kind":1,"label":": GenericReader(...)","paddingLeft":false,"paddingRight":false,"position":{"character":15,"line":36}},{"kind":2,"label":"fmt:","paddingLeft":false,"paddingRight":true,"position":{"character":14,"line":39},"tooltip":{"kind":"markdown","value":"```zig\ncomptime []const u8\n```"}},{"kind":2,"label":"args:","paddingLeft":false,"paddingRight":true,"position":{"character":20,"line":39},"tooltip":{"kind":"markdown","value":"```zig\nanytype\n```"}},{"kind":1,"label":": ?[]u8","paddingLeft":false,"paddingRight":false,"position":{"character":20,"line":41}},{"kind":2,"label":"buf:","paddingLeft":false,"paddingRight":true,"position":{"character":53,"line":41},"tooltip":{"kind":"markdown","value":"```zig\n[]u8\n```"}},{"kind":2,"label":"delimiter:","paddingLeft":false,"paddingRight":true,"position":{"character":59,"line":41},"tooltip":{"kind":"markdown","value":"```zig\nu8\n```"}},{"kind":1,"label":": File","paddingLeft":false,"paddingRight":false,"position":{"character":12,"line":56}},{"kind":2,"label":"sub_path:","paddingLeft":false,"paddingRight":true,"position":{"character":37,"line":56},"tooltip":{"kind":"markdown","value":"```zig\n[]const u8\n```"}},{"kind":2,"label":"flags:","paddingLeft":false,"paddingRight":true,"position":{"character":47,"line":56},"tooltip":{"kind":"markdown","value":"```zig\nFile.OpenFlags\n```"}},{"kind":1,"label":": error{\n SharingViolation,\n PathAlreadyExists,\n FileNotFound,\n AccessDenied,\n PipeBusy,\n NameTooLong,\n /// WASI-only; file paths must be valid UTF-8.\n InvalidUtf8,\n /// Windows-only; file paths provided by the user must be valid WTF-8.\n /// https://simonsapin.github.io/wtf-8/\n InvalidWtf8,\n /// On Windows, file paths cannot contain these characters:\n /// '/', '*', '?', '\"', '<', '>', '|'\n BadPathName,\n Unexpected,\n /// On Windows, `\\\\server` or `\\\\server\\share` was not found.\n NetworkNotFound,\n /// On Windows, antivirus software is enabled by default. It can be\n /// disabled, but Windows Update sometimes ignores the user's preference\n /// and re-enables it. When enabled, antivirus software on Windows\n /// intercepts file system operations and makes them significantly slower\n /// in addition to possibly failing with this error code.\n AntivirusInterference,\n} || posix.OpenError || posix.FlockError","paddingLeft":false,"paddingRight":false,"position":{"character":62,"line":56}},{"kind":2,"label":"fmt:","paddingLeft":false,"paddingRight":true,"position":{"character":14,"line":57},"tooltip":{"kind":"markdown","value":"```zig\ncomptime []const u8\n```"}},{"kind":2,"label":"args:","paddingLeft":false,"paddingRight":true,"position":{"character":32,"line":57},"tooltip":{"kind":"markdown","value":"```zig\nanytype\n```"}},{"kind":1,"label":": InterpretResult","paddingLeft":false,"paddingRight":false,"position":{"character":16,"line":63}}] 2024-08-22T16:55:52.531 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-08-22T16:55:54.279 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-08-22T16:55:54.402 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-08-22T16:55:54.591 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-08-22T16:55:54.842 helix_term::application [DEBUG] received editor event: IdleTimer 2024-08-22T16:55:54.842 helix_lsp::transport [INFO] zls -> {"jsonrpc":"2.0","method":"textDocument/inlayHint","params":{"range":{"end":{"character":0,"line":97},"start":{"character":0,"line":0}},"textDocument":{"uri":"file:///home/esuster/Code/Zig/LoxVM/src/main.zig"}},"id":2} 2024-08-22T16:55:54.844 helix_lsp::transport [INFO] zls <- {"jsonrpc":"2.0","id":2,"result":[{"position":{"line":0,"character":9},"label":": type","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":1,"character":11},"label":": fn (comptime fmt: []const u8, args: anytype) void","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":2,"character":10},"label":": fn (status: u8) noreturn","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":4,"character":11},"label":": type","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":5,"character":10},"label":": type","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":6,"character":11},"label":": type","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":7,"character":29},"label":": fn (comptime config: Config) type","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":8,"character":21},"label":": type","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":9,"character":8},"label":": type","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":10,"character":23},"label":": type","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":13,"character":11},"label":": GeneralPurposeAllocator(...)","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":15,"character":19},"label":": Allocator","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":17,"character":10},"label":": VM","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":20,"character":14},"label":": InitError!ArgIterator","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":29,"character":14},"label":"fmt:","kind":2,"tooltip":{"kind":"markdown","value":"```zig\ncomptime []const u8\n```"},"paddingLeft":false,"paddingRight":true},{"position":{"line":29,"character":39},"label":"args:","kind":2,"tooltip":{"kind":"markdown","value":"```zig\nanytype\n```"},"paddingLeft":false,"paddingRight":true},{"position":{"line":36,"character":15},"label":": GenericReader(...)","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":39,"character":14},"label":"fmt:","kind":2,"tooltip":{"kind":"markdown","value":"```zig\ncomptime []const u8\n```"},"paddingLeft":false,"paddingRight":true},{"position":{"line":39,"character":20},"label":"args:","kind":2,"tooltip":{"kind":"markdown","value":"```zig\nanytype\n```"},"paddingLeft":false,"paddingRight":true},{"position":{"line":41,"character":20},"label":": ?[]u8","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":41,"character":53},"label":"buf:","kind":2,"tooltip":{"kind":"markdown","value":"```zig\n[]u8\n```"},"paddingLeft":false,"paddingRight":true},{"position":{"line":41,"character":59},"label":"delimiter:","kind":2,"tooltip":{"kind":"markdown","value":"```zig\nu8\n```"},"paddingLeft":false,"paddingRight":true},{"position":{"line":56,"character":12},"label":": File","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":56,"character":37},"label":"sub_path:","kind":2,"tooltip":{"kind":"markdown","value":"```zig\n[]const u8\n```"},"paddingLeft":false,"paddingRight":true},{"position":{"line":56,"character":47},"label":"flags:","kind":2,"tooltip":{"kind":"markdown","value":"```zig\nFile.OpenFlags\n```"},"paddingLeft":false,"paddingRight":true},{"position":{"line":56,"character":62},"label":": error{\n SharingViolation,\n PathAlreadyExists,\n FileNotFound,\n AccessDenied,\n PipeBusy,\n NameTooLong,\n /// WASI-only; file paths must be valid UTF-8.\n InvalidUtf8,\n /// Windows-only; file paths provided by the user must be valid WTF-8.\n /// https://simonsapin.github.io/wtf-8/\n InvalidWtf8,\n /// On Windows, file paths cannot contain these characters:\n /// '/', '*', '?', '\"', '<', '>', '|'\n BadPathName,\n Unexpected,\n /// On Windows, `\\\\server` or `\\\\server\\share` was not found.\n NetworkNotFound,\n /// On Windows, antivirus software is enabled by default. It can be\n /// disabled, but Windows Update sometimes ignores the user's preference\n /// and re-enables it. When enabled, antivirus software on Windows\n /// intercepts file system operations and makes them significantly slower\n /// in addition to possibly failing with this error code.\n AntivirusInterference,\n} || posix.OpenError || posix.FlockError","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":57,"character":14},"label":"fmt:","kind":2,"tooltip":{"kind":"markdown","value":"```zig\ncomptime []const u8\n```"},"paddingLeft":false,"paddingRight":true},{"position":{"line":57,"character":32},"label":"args:","kind":2,"tooltip":{"kind":"markdown","value":"```zig\nanytype\n```"},"paddingLeft":false,"paddingRight":true},{"position":{"line":63,"character":16},"label":": InterpretResult","kind":1,"paddingLeft":false,"paddingRight":false}]} 2024-08-22T16:55:54.844 helix_lsp::transport [INFO] zls <- [{"kind":1,"label":": type","paddingLeft":false,"paddingRight":false,"position":{"character":9,"line":0}},{"kind":1,"label":": fn (comptime fmt: []const u8, args: anytype) void","paddingLeft":false,"paddingRight":false,"position":{"character":11,"line":1}},{"kind":1,"label":": fn (status: u8) noreturn","paddingLeft":false,"paddingRight":false,"position":{"character":10,"line":2}},{"kind":1,"label":": type","paddingLeft":false,"paddingRight":false,"position":{"character":11,"line":4}},{"kind":1,"label":": type","paddingLeft":false,"paddingRight":false,"position":{"character":10,"line":5}},{"kind":1,"label":": type","paddingLeft":false,"paddingRight":false,"position":{"character":11,"line":6}},{"kind":1,"label":": fn (comptime config: Config) type","paddingLeft":false,"paddingRight":false,"position":{"character":29,"line":7}},{"kind":1,"label":": type","paddingLeft":false,"paddingRight":false,"position":{"character":21,"line":8}},{"kind":1,"label":": type","paddingLeft":false,"paddingRight":false,"position":{"character":8,"line":9}},{"kind":1,"label":": type","paddingLeft":false,"paddingRight":false,"position":{"character":23,"line":10}},{"kind":1,"label":": GeneralPurposeAllocator(...)","paddingLeft":false,"paddingRight":false,"position":{"character":11,"line":13}},{"kind":1,"label":": Allocator","paddingLeft":false,"paddingRight":false,"position":{"character":19,"line":15}},{"kind":1,"label":": VM","paddingLeft":false,"paddingRight":false,"position":{"character":10,"line":17}},{"kind":1,"label":": InitError!ArgIterator","paddingLeft":false,"paddingRight":false,"position":{"character":14,"line":20}},{"kind":2,"label":"fmt:","paddingLeft":false,"paddingRight":true,"position":{"character":14,"line":29},"tooltip":{"kind":"markdown","value":"```zig\ncomptime []const u8\n```"}},{"kind":2,"label":"args:","paddingLeft":false,"paddingRight":true,"position":{"character":39,"line":29},"tooltip":{"kind":"markdown","value":"```zig\nanytype\n```"}},{"kind":1,"label":": GenericReader(...)","paddingLeft":false,"paddingRight":false,"position":{"character":15,"line":36}},{"kind":2,"label":"fmt:","paddingLeft":false,"paddingRight":true,"position":{"character":14,"line":39},"tooltip":{"kind":"markdown","value":"```zig\ncomptime []const u8\n```"}},{"kind":2,"label":"args:","paddingLeft":false,"paddingRight":true,"position":{"character":20,"line":39},"tooltip":{"kind":"markdown","value":"```zig\nanytype\n```"}},{"kind":1,"label":": ?[]u8","paddingLeft":false,"paddingRight":false,"position":{"character":20,"line":41}},{"kind":2,"label":"buf:","paddingLeft":false,"paddingRight":true,"position":{"character":53,"line":41},"tooltip":{"kind":"markdown","value":"```zig\n[]u8\n```"}},{"kind":2,"label":"delimiter:","paddingLeft":false,"paddingRight":true,"position":{"character":59,"line":41},"tooltip":{"kind":"markdown","value":"```zig\nu8\n```"}},{"kind":1,"label":": File","paddingLeft":false,"paddingRight":false,"position":{"character":12,"line":56}},{"kind":2,"label":"sub_path:","paddingLeft":false,"paddingRight":true,"position":{"character":37,"line":56},"tooltip":{"kind":"markdown","value":"```zig\n[]const u8\n```"}},{"kind":2,"label":"flags:","paddingLeft":false,"paddingRight":true,"position":{"character":47,"line":56},"tooltip":{"kind":"markdown","value":"```zig\nFile.OpenFlags\n```"}},{"kind":1,"label":": error{\n SharingViolation,\n PathAlreadyExists,\n FileNotFound,\n AccessDenied,\n PipeBusy,\n NameTooLong,\n /// WASI-only; file paths must be valid UTF-8.\n InvalidUtf8,\n /// Windows-only; file paths provided by the user must be valid WTF-8.\n /// https://simonsapin.github.io/wtf-8/\n InvalidWtf8,\n /// On Windows, file paths cannot contain these characters:\n /// '/', '*', '?', '\"', '<', '>', '|'\n BadPathName,\n Unexpected,\n /// On Windows, `\\\\server` or `\\\\server\\share` was not found.\n NetworkNotFound,\n /// On Windows, antivirus software is enabled by default. It can be\n /// disabled, but Windows Update sometimes ignores the user's preference\n /// and re-enables it. When enabled, antivirus software on Windows\n /// intercepts file system operations and makes them significantly slower\n /// in addition to possibly failing with this error code.\n AntivirusInterference,\n} || posix.OpenError || posix.FlockError","paddingLeft":false,"paddingRight":false,"position":{"character":62,"line":56}},{"kind":2,"label":"fmt:","paddingLeft":false,"paddingRight":true,"position":{"character":14,"line":57},"tooltip":{"kind":"markdown","value":"```zig\ncomptime []const u8\n```"}},{"kind":2,"label":"args:","paddingLeft":false,"paddingRight":true,"position":{"character":32,"line":57},"tooltip":{"kind":"markdown","value":"```zig\nanytype\n```"}},{"kind":1,"label":": InterpretResult","paddingLeft":false,"paddingRight":false,"position":{"character":16,"line":63}}] 2024-08-22T16:55:54.844 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-08-22T16:55:56.443 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-08-22T16:55:56.579 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-08-22T16:55:56.830 helix_term::application [DEBUG] received editor event: IdleTimer 2024-08-22T16:55:56.855 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-08-22T16:55:57.108 helix_term::application [DEBUG] received editor event: IdleTimer 2024-08-22T16:55:57.108 helix_lsp::transport [INFO] zls -> {"jsonrpc":"2.0","method":"textDocument/inlayHint","params":{"range":{"end":{"character":0,"line":106},"start":{"character":0,"line":0}},"textDocument":{"uri":"file:///home/esuster/Code/Zig/LoxVM/src/main.zig"}},"id":3} 2024-08-22T16:55:57.109 helix_lsp::transport [INFO] zls <- {"jsonrpc":"2.0","id":3,"result":[{"position":{"line":0,"character":9},"label":": type","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":1,"character":11},"label":": fn (comptime fmt: []const u8, args: anytype) void","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":2,"character":10},"label":": fn (status: u8) noreturn","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":4,"character":11},"label":": type","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":5,"character":10},"label":": type","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":6,"character":11},"label":": type","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":7,"character":29},"label":": fn (comptime config: Config) type","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":8,"character":21},"label":": type","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":9,"character":8},"label":": type","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":10,"character":23},"label":": type","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":13,"character":11},"label":": GeneralPurposeAllocator(...)","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":15,"character":19},"label":": Allocator","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":17,"character":10},"label":": VM","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":20,"character":14},"label":": InitError!ArgIterator","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":29,"character":14},"label":"fmt:","kind":2,"tooltip":{"kind":"markdown","value":"```zig\ncomptime []const u8\n```"},"paddingLeft":false,"paddingRight":true},{"position":{"line":29,"character":39},"label":"args:","kind":2,"tooltip":{"kind":"markdown","value":"```zig\nanytype\n```"},"paddingLeft":false,"paddingRight":true},{"position":{"line":36,"character":15},"label":": GenericReader(...)","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":39,"character":14},"label":"fmt:","kind":2,"tooltip":{"kind":"markdown","value":"```zig\ncomptime []const u8\n```"},"paddingLeft":false,"paddingRight":true},{"position":{"line":39,"character":20},"label":"args:","kind":2,"tooltip":{"kind":"markdown","value":"```zig\nanytype\n```"},"paddingLeft":false,"paddingRight":true},{"position":{"line":41,"character":20},"label":": ?[]u8","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":41,"character":53},"label":"buf:","kind":2,"tooltip":{"kind":"markdown","value":"```zig\n[]u8\n```"},"paddingLeft":false,"paddingRight":true},{"position":{"line":41,"character":59},"label":"delimiter:","kind":2,"tooltip":{"kind":"markdown","value":"```zig\nu8\n```"},"paddingLeft":false,"paddingRight":true},{"position":{"line":56,"character":12},"label":": File","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":56,"character":37},"label":"sub_path:","kind":2,"tooltip":{"kind":"markdown","value":"```zig\n[]const u8\n```"},"paddingLeft":false,"paddingRight":true},{"position":{"line":56,"character":47},"label":"flags:","kind":2,"tooltip":{"kind":"markdown","value":"```zig\nFile.OpenFlags\n```"},"paddingLeft":false,"paddingRight":true},{"position":{"line":56,"character":62},"label":": error{\n SharingViolation,\n PathAlreadyExists,\n FileNotFound,\n AccessDenied,\n PipeBusy,\n NameTooLong,\n /// WASI-only; file paths must be valid UTF-8.\n InvalidUtf8,\n /// Windows-only; file paths provided by the user must be valid WTF-8.\n /// https://simonsapin.github.io/wtf-8/\n InvalidWtf8,\n /// On Windows, file paths cannot contain these characters:\n /// '/', '*', '?', '\"', '<', '>', '|'\n BadPathName,\n Unexpected,\n /// On Windows, `\\\\server` or `\\\\server\\share` was not found.\n NetworkNotFound,\n /// On Windows, antivirus software is enabled by default. It can be\n /// disabled, but Windows Update sometimes ignores the user's preference\n /// and re-enables it. When enabled, antivirus software on Windows\n /// intercepts file system operations and makes them significantly slower\n /// in addition to possibly failing with this error code.\n AntivirusInterference,\n} || posix.OpenError || posix.FlockError","kind":1,"paddingLeft":false,"paddingRight":false},{"position":{"line":57,"character":14},"label":"fmt:","kind":2,"tooltip":{"kind":"markdown","value":"```zig\ncomptime []const u8\n```"},"paddingLeft":false,"paddingRight":true},{"position":{"line":57,"character":32},"label":"args:","kind":2,"tooltip":{"kind":"markdown","value":"```zig\nanytype\n```"},"paddingLeft":false,"paddingRight":true},{"position":{"line":63,"character":16},"label":": InterpretResult","kind":1,"paddingLeft":false,"paddingRight":false}]} 2024-08-22T16:55:57.109 helix_lsp::transport [INFO] zls <- [{"kind":1,"label":": type","paddingLeft":false,"paddingRight":false,"position":{"character":9,"line":0}},{"kind":1,"label":": fn (comptime fmt: []const u8, args: anytype) void","paddingLeft":false,"paddingRight":false,"position":{"character":11,"line":1}},{"kind":1,"label":": fn (status: u8) noreturn","paddingLeft":false,"paddingRight":false,"position":{"character":10,"line":2}},{"kind":1,"label":": type","paddingLeft":false,"paddingRight":false,"position":{"character":11,"line":4}},{"kind":1,"label":": type","paddingLeft":false,"paddingRight":false,"position":{"character":10,"line":5}},{"kind":1,"label":": type","paddingLeft":false,"paddingRight":false,"position":{"character":11,"line":6}},{"kind":1,"label":": fn (comptime config: Config) type","paddingLeft":false,"paddingRight":false,"position":{"character":29,"line":7}},{"kind":1,"label":": type","paddingLeft":false,"paddingRight":false,"position":{"character":21,"line":8}},{"kind":1,"label":": type","paddingLeft":false,"paddingRight":false,"position":{"character":8,"line":9}},{"kind":1,"label":": type","paddingLeft":false,"paddingRight":false,"position":{"character":23,"line":10}},{"kind":1,"label":": GeneralPurposeAllocator(...)","paddingLeft":false,"paddingRight":false,"position":{"character":11,"line":13}},{"kind":1,"label":": Allocator","paddingLeft":false,"paddingRight":false,"position":{"character":19,"line":15}},{"kind":1,"label":": VM","paddingLeft":false,"paddingRight":false,"position":{"character":10,"line":17}},{"kind":1,"label":": InitError!ArgIterator","paddingLeft":false,"paddingRight":false,"position":{"character":14,"line":20}},{"kind":2,"label":"fmt:","paddingLeft":false,"paddingRight":true,"position":{"character":14,"line":29},"tooltip":{"kind":"markdown","value":"```zig\ncomptime []const u8\n```"}},{"kind":2,"label":"args:","paddingLeft":false,"paddingRight":true,"position":{"character":39,"line":29},"tooltip":{"kind":"markdown","value":"```zig\nanytype\n```"}},{"kind":1,"label":": GenericReader(...)","paddingLeft":false,"paddingRight":false,"position":{"character":15,"line":36}},{"kind":2,"label":"fmt:","paddingLeft":false,"paddingRight":true,"position":{"character":14,"line":39},"tooltip":{"kind":"markdown","value":"```zig\ncomptime []const u8\n```"}},{"kind":2,"label":"args:","paddingLeft":false,"paddingRight":true,"position":{"character":20,"line":39},"tooltip":{"kind":"markdown","value":"```zig\nanytype\n```"}},{"kind":1,"label":": ?[]u8","paddingLeft":false,"paddingRight":false,"position":{"character":20,"line":41}},{"kind":2,"label":"buf:","paddingLeft":false,"paddingRight":true,"position":{"character":53,"line":41},"tooltip":{"kind":"markdown","value":"```zig\n[]u8\n```"}},{"kind":2,"label":"delimiter:","paddingLeft":false,"paddingRight":true,"position":{"character":59,"line":41},"tooltip":{"kind":"markdown","value":"```zig\nu8\n```"}},{"kind":1,"label":": File","paddingLeft":false,"paddingRight":false,"position":{"character":12,"line":56}},{"kind":2,"label":"sub_path:","paddingLeft":false,"paddingRight":true,"position":{"character":37,"line":56},"tooltip":{"kind":"markdown","value":"```zig\n[]const u8\n```"}},{"kind":2,"label":"flags:","paddingLeft":false,"paddingRight":true,"position":{"character":47,"line":56},"tooltip":{"kind":"markdown","value":"```zig\nFile.OpenFlags\n```"}},{"kind":1,"label":": error{\n SharingViolation,\n PathAlreadyExists,\n FileNotFound,\n AccessDenied,\n PipeBusy,\n NameTooLong,\n /// WASI-only; file paths must be valid UTF-8.\n InvalidUtf8,\n /// Windows-only; file paths provided by the user must be valid WTF-8.\n /// https://simonsapin.github.io/wtf-8/\n InvalidWtf8,\n /// On Windows, file paths cannot contain these characters:\n /// '/', '*', '?', '\"', '<', '>', '|'\n BadPathName,\n Unexpected,\n /// On Windows, `\\\\server` or `\\\\server\\share` was not found.\n NetworkNotFound,\n /// On Windows, antivirus software is enabled by default. It can be\n /// disabled, but Windows Update sometimes ignores the user's preference\n /// and re-enables it. When enabled, antivirus software on Windows\n /// intercepts file system operations and makes them significantly slower\n /// in addition to possibly failing with this error code.\n AntivirusInterference,\n} || posix.OpenError || posix.FlockError","paddingLeft":false,"paddingRight":false,"position":{"character":62,"line":56}},{"kind":2,"label":"fmt:","paddingLeft":false,"paddingRight":true,"position":{"character":14,"line":57},"tooltip":{"kind":"markdown","value":"```zig\ncomptime []const u8\n```"}},{"kind":2,"label":"args:","paddingLeft":false,"paddingRight":true,"position":{"character":32,"line":57},"tooltip":{"kind":"markdown","value":"```zig\nanytype\n```"}},{"kind":1,"label":": InterpretResult","paddingLeft":false,"paddingRight":false,"position":{"character":16,"line":63}}] 2024-08-22T16:55:57.109 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-08-22T16:55:57.867 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-08-22T16:55:58.119 helix_term::application [DEBUG] received editor event: IdleTimer 2024-08-22T16:55:58.278 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-08-22T16:55:58.529 helix_term::application [DEBUG] received editor event: IdleTimer 2024-08-22T16:55:59.055 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-08-22T16:55:59.308 helix_term::application [DEBUG] received editor event: IdleTimer 2024-08-22T16:55:59.391 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-08-22T16:55:59.642 helix_term::application [DEBUG] received editor event: IdleTimer 2024-08-22T16:55:59.644 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-08-22T16:55:59.894 helix_term::application [DEBUG] received editor event: IdleTimer 2024-08-22T16:56:00.516 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-08-22T16:56:00.690 helix_term::commands::typed [DEBUG] quitting... 2024-08-22T16:56:00.690 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-08-22T16:56:00.767 helix_term::application [DEBUG] received editor event: IdleTimer 2024-08-22T16:56:00.894 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-08-22T16:56:01.366 helix_term::job [DEBUG] waiting on jobs... 2024-08-22T16:56:01.366 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-08-22T16:56:01.366 helix_term::job [DEBUG] waiting on jobs... 2024-08-22T16:56:01.366 helix_lsp::file_event [DEBUG] Removing LSP client: 1v1 2024-08-22T16:56:01.366 helix_lsp::transport [INFO] zls -> {"jsonrpc":"2.0","method":"shutdown","id":4} 2024-08-22T16:56:01.366 helix_lsp::transport [INFO] zls <- {"jsonrpc":"2.0","id":4,"result":null} 2024-08-22T16:56:01.366 helix_lsp::transport [INFO] zls <- null 2024-08-22T16:56:01.366 helix_lsp::transport [INFO] zls -> {"jsonrpc":"2.0","method":"exit"} 2024-08-22T16:56:01.368 helix_lsp::transport [ERROR] zls err: <- StreamClosed 2024-08-22T16:56:01.368 helix_lsp::transport [ERROR] err: <- Other(failed to send a message to server Caused by: channel closed Stack backtrace: 0: 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: start_thread at ./nptl/pthread_create.c:442:8 17: __GI___clone3 at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:81) ```

Platform

Linux

Terminal Emulator

Konsole

Installation Method

Apt with custom repos

Helix Version

helix 24.7 (079f5442)

RoloEdits commented 3 months ago

Think this is a duplicate of #10784. Should be fixed by https://github.com/zigtools/zls/pull/1967.

Tarbetu commented 3 months ago

Oh, sorry, I could have research for same issues.