Created
June 10, 2024 09:32
-
-
Save d3m1gd/1872c18f53c986edb8ef388ca285133e to your computer and use it in GitHub Desktop.
good helix log for issue
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2024-06-10T16:19:15.321 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-06-10T16:19:15.321 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-06-10T16:19:15.321 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-06-10T16:19:15.321 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-06-10T16:19:15.321 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-06-10T16:19:15.321 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-06-10T16:19:15.321 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-06-10T16:19:15.321 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-06-10T16:19:15.321 globset [DEBUG] built glob set; 1 literals, 0 basenames, 0 extensions, 0 prefixes, 121 suffixes, 5 required extensions, 8 regexes | |
2024-06-10T16:19:15.323 helix_view::clipboard [DEBUG] Using wl-copy+wl-paste to interact with the system and selection (primary) clipboard | |
2024-06-10T16:19:15.330 mio::poll [TRACE] registering event source with poller: token=Token(94740803522432), interests=READABLE | WRITABLE | |
2024-06-10T16:19:15.330 mio::poll [TRACE] registering event source with poller: token=Token(94740805833216), interests=READABLE | WRITABLE | |
2024-06-10T16:19:15.330 mio::poll [TRACE] registering event source with poller: token=Token(94740803269760), interests=READABLE | WRITABLE | |
2024-06-10T16:19:15.330 mio::poll [TRACE] registering event source with poller: token=Token(94740805842688), interests=READABLE | |
2024-06-10T16:19:15.330 helix_view::editor [DEBUG] Language server not found for `source.go` golangci-lint-lsp command 'golangci-lint-langserver' not found: cannot find binary path | |
2024-06-10T16:19:15.330 helix_lsp::client [INFO] Using custom LSP config: {"hints":{"assignVariableTypes":true,"compositeLiteralFields":true,"constantValues":true,"functionTypeParameters":true,"parameterNames":true,"rangeVariableTypes":true}} | |
2024-06-10T16:19:15.330 helix_view::editor [DEBUG] editor status: Loaded 1 file. | |
2024-06-10T16:19:15.330 mio::poll [TRACE] registering event source with poller: token=Token(94740805853440), interests=READABLE | WRITABLE | |
2024-06-10T16:19:15.330 helix_lsp::transport [INFO] gopls -> {"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":{}},"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.3 (2cadec0b)"},"initializationOptions":{"hints":{"assignVariableTypes":true,"compositeLiteralFields":true,"constantValues":true,"functionTypeParameters":true,"parameterNames":true,"rangeVariableTypes":true}},"processId":855756,"rootPath":"/home/z/project/wb/postman","rootUri":"file:///home/z/project/wb/postman","workspaceFolders":[{"name":"postman","uri":"file:///home/z/project/wb/postman"}]},"id":0} | |
2024-06-10T16:19:15.330 mio::poll [TRACE] registering event source with poller: token=Token(94740805939200), interests=READABLE | WRITABLE | |
2024-06-10T16:19:15.330 mio::poll [TRACE] registering event source with poller: token=Token(0), interests=READABLE | |
2024-06-10T16:19:15.330 mio::poll [TRACE] registering event source with poller: token=Token(1), interests=READABLE | |
2024-06-10T16:19:15.331 helix_tui::backend::crossterm [DEBUG] The keyboard enhancement protocol is supported in this terminal (checked in 217.512µs) | |
2024-06-10T16:19:15.331 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:19:15.353 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","result":{"capabilities":{"textDocumentSync":{"openClose":true,"change":2,"save":{}},"completionProvider":{"triggerCharacters":["."]},"hoverProvider":true,"signatureHelpProvider":{"triggerCharacters":["(",","]},"definitionProvider":true,"typeDefinitionProvider":true,"implementationProvider":true,"referencesProvider":true,"documentHighlightProvider":true,"documentSymbolProvider":true,"codeActionProvider":{"codeActionKinds":["quickfix","refactor.extract","refactor.inline","refactor.rewrite","source.fixAll","source.organizeImports"]},"codeLensProvider":{},"documentLinkProvider":{},"workspaceSymbolProvider":true,"documentFormattingProvider":true,"renameProvider":{"prepareProvider":true},"foldingRangeProvider":true,"selectionRangeProvider":true,"executeCommandProvider":{"commands":["gopls.add_dependency","gopls.add_import","gopls.add_telemetry_counters","gopls.apply_fix","gopls.change_signature","gopls.check_upgrades","gopls.edit_go_directive","gopls.fetch_vulncheck_result","gopls.gc_details","gopls.generate","gopls.go_get_package","gopls.list_imports","gopls.list_known_packages","gopls.maybe_prompt_for_telemetry","gopls.mem_stats","gopls.regenerate_cgo","gopls.remove_dependency","gopls.reset_go_mod_diagnostics","gopls.run_go_work_command","gopls.run_govulncheck","gopls.run_tests","gopls.start_debugging","gopls.start_profile","gopls.stop_profile","gopls.test","gopls.tidy","gopls.toggle_gc_details","gopls.update_go_sum","gopls.upgrade_dependency","gopls.vendor","gopls.workspace_stats"]},"callHierarchyProvider":true,"semanticTokensProvider":{"legend":{"tokenTypes":[],"tokenModifiers":[]},"range":true,"full":true},"inlayHintProvider":{},"workspace":{"workspaceFolders":{"supported":true,"changeNotifications":"workspace/didChangeWorkspaceFolders"}}},"serverInfo":{"name":"gopls","version":"{\"GoVersion\":\"go1.21.6\",\"Path\":\"golang.org/x/tools/gopls\",\"Main\":{\"Path\":\"golang.org/x/tools/gopls\",\"Version\":\"v0.14.2\",\"Sum\":\"h1:sIw6vjZiuQ9S7s0auUUkHlWgsCkKZFWDHmrge8LYsnc=\",\"Replace\":null},\"Deps\":[{\"Path\":\"github.com/BurntSushi/toml\",\"Version\":\"v1.2.1\",\"Sum\":\"h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak=\",\"Replace\":null},{\"Path\":\"github.com/google/go-cmp\",\"Version\":\"v0.5.9\",\"Sum\":\"h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=\",\"Replace\":null},{\"Path\":\"github.com/sergi/go-diff\",\"Version\":\"v1.1.0\",\"Sum\":\"h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0=\",\"Replace\":null},{\"Path\":\"golang.org/x/exp/typeparams\",\"Version\":\"v0.0.0-20221212164502-fae10dda9338\",\"Sum\":\"h1:2O2DON6y3XMJiQRAS1UWU+54aec2uopH3x7MAiqGW6Y=\",\"Replace\":null},{\"Path\":\"golang.org/x/mod\",\"Version\":\"v0.14.0\",\"Sum\":\"h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0=\",\"Replace\":null},{\"Path\":\"golang.org/x/sync\",\"Version\":\"v0.4.0\",\"Sum\":\"h1:zxkM55ReGkDlKSM+Fu41A+zmbZuaPVbGMzvvdUPznYQ=\",\"Replace\":null},{\"Path\":\"golang.org/x/sys\",\"Version\":\"v0.14.0\",\"Sum\":\"h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q=\",\"Replace\":null},{\"Path\":\"golang.org/x/telemetry\",\"Version\":\"v0.0.0-20231114163143-69313e640400\",\"Sum\":\"h1:brbkEFfGwNGAEkykUOcryE/JiHUMMJouzE0fWWmz/QU=\",\"Replace\":null},{\"Path\":\"golang.org/x/text\",\"Version\":\"v0.13.0\",\"Sum\":\"h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k=\",\"Replace\":null},{\"Path\":\"golang.org/x/tools\",\"Version\":\"v0.14.1-0.20231114185516-c9d3e7de13fd\",\"Sum\":\"h1:Oku7E+OCrXHyst1dG1z10etCTxewCHXNFLRlyMPbh3w=\",\"Replace\":null},{\"Path\":\"golang.org/x/vuln\",\"Version\":\"v1.0.1\",\"Sum\":\"h1:KUas02EjQK5LTuIx1OylBQdKKZ9jeugs+HiqO5HormU=\",\"Replace\":null},{\"Path\":\"honnef.co/go/tools\",\"Version\":\"v0.4.5\",\"Sum\":\"h1:YGD4H+SuIOOqsyoLOpZDWcieM28W47/zRO7f+9V3nvo=\",\"Replace\":null},{\"Path\":\"mvdan.cc/gofumpt\",\"Version\":\"v0.4.0\",\"Sum\":\"h1:JVf4NN1mIpHogBj7ABpgOyZc65/UUOkKQFkoURsz4MM=\",\"Replace\":null},{\"Path\":\"mvdan.cc/xurls/v2\",\"Version\":\"v2.4.0\",\"Sum\":\"h1:tzxjVAj+wSBmDcF6zBB7/myTy3gX9xvi8Tyr28AuQgc=\",\"Replace\":null}],\"Settings\":[{\"Key\":\"-buildmode\",\"Value\":\"exe\"},{\"Key\":\"-compiler\",\"Value\":\"gc\"},{\"Key\":\"DefaultGODEBUG\",\"Value\":\"panicnil=1\"},{\"Key\":\"CGO_ENABLED\",\"Value\":\"1\"},{\"Key\":\"CGO_CFLAGS\",\"Value\":\"\"},{\"Key\":\"CGO_CPPFLAGS\",\"Value\":\"\"},{\"Key\":\"CGO_CXXFLAGS\",\"Value\":\"\"},{\"Key\":\"CGO_LDFLAGS\",\"Value\":\"\"},{\"Key\":\"GOARCH\",\"Value\":\"amd64\"},{\"Key\":\"GOOS\",\"Value\":\"linux\"},{\"Key\":\"GOAMD64\",\"Value\":\"v1\"}],\"Version\":\"v0.14.2\"}"}},"id":0} | |
2024-06-10T16:19:15.353 helix_lsp::transport [INFO] gopls <- {"capabilities":{"callHierarchyProvider":true,"codeActionProvider":{"codeActionKinds":["quickfix","refactor.extract","refactor.inline","refactor.rewrite","source.fixAll","source.organizeImports"]},"codeLensProvider":{},"completionProvider":{"triggerCharacters":["."]},"definitionProvider":true,"documentFormattingProvider":true,"documentHighlightProvider":true,"documentLinkProvider":{},"documentSymbolProvider":true,"executeCommandProvider":{"commands":["gopls.add_dependency","gopls.add_import","gopls.add_telemetry_counters","gopls.apply_fix","gopls.change_signature","gopls.check_upgrades","gopls.edit_go_directive","gopls.fetch_vulncheck_result","gopls.gc_details","gopls.generate","gopls.go_get_package","gopls.list_imports","gopls.list_known_packages","gopls.maybe_prompt_for_telemetry","gopls.mem_stats","gopls.regenerate_cgo","gopls.remove_dependency","gopls.reset_go_mod_diagnostics","gopls.run_go_work_command","gopls.run_govulncheck","gopls.run_tests","gopls.start_debugging","gopls.start_profile","gopls.stop_profile","gopls.test","gopls.tidy","gopls.toggle_gc_details","gopls.update_go_sum","gopls.upgrade_dependency","gopls.vendor","gopls.workspace_stats"]},"foldingRangeProvider":true,"hoverProvider":true,"implementationProvider":true,"inlayHintProvider":{},"referencesProvider":true,"renameProvider":{"prepareProvider":true},"selectionRangeProvider":true,"semanticTokensProvider":{"full":true,"legend":{"tokenModifiers":[],"tokenTypes":[]},"range":true},"signatureHelpProvider":{"triggerCharacters":["(",","]},"textDocumentSync":{"change":2,"openClose":true,"save":{}},"typeDefinitionProvider":true,"workspace":{"workspaceFolders":{"changeNotifications":"workspace/didChangeWorkspaceFolders","supported":true}},"workspaceSymbolProvider":true},"serverInfo":{"name":"gopls","version":"{\"GoVersion\":\"go1.21.6\",\"Path\":\"golang.org/x/tools/gopls\",\"Main\":{\"Path\":\"golang.org/x/tools/gopls\",\"Version\":\"v0.14.2\",\"Sum\":\"h1:sIw6vjZiuQ9S7s0auUUkHlWgsCkKZFWDHmrge8LYsnc=\",\"Replace\":null},\"Deps\":[{\"Path\":\"github.com/BurntSushi/toml\",\"Version\":\"v1.2.1\",\"Sum\":\"h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak=\",\"Replace\":null},{\"Path\":\"github.com/google/go-cmp\",\"Version\":\"v0.5.9\",\"Sum\":\"h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=\",\"Replace\":null},{\"Path\":\"github.com/sergi/go-diff\",\"Version\":\"v1.1.0\",\"Sum\":\"h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0=\",\"Replace\":null},{\"Path\":\"golang.org/x/exp/typeparams\",\"Version\":\"v0.0.0-20221212164502-fae10dda9338\",\"Sum\":\"h1:2O2DON6y3XMJiQRAS1UWU+54aec2uopH3x7MAiqGW6Y=\",\"Replace\":null},{\"Path\":\"golang.org/x/mod\",\"Version\":\"v0.14.0\",\"Sum\":\"h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0=\",\"Replace\":null},{\"Path\":\"golang.org/x/sync\",\"Version\":\"v0.4.0\",\"Sum\":\"h1:zxkM55ReGkDlKSM+Fu41A+zmbZuaPVbGMzvvdUPznYQ=\",\"Replace\":null},{\"Path\":\"golang.org/x/sys\",\"Version\":\"v0.14.0\",\"Sum\":\"h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q=\",\"Replace\":null},{\"Path\":\"golang.org/x/telemetry\",\"Version\":\"v0.0.0-20231114163143-69313e640400\",\"Sum\":\"h1:brbkEFfGwNGAEkykUOcryE/JiHUMMJouzE0fWWmz/QU=\",\"Replace\":null},{\"Path\":\"golang.org/x/text\",\"Version\":\"v0.13.0\",\"Sum\":\"h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k=\",\"Replace\":null},{\"Path\":\"golang.org/x/tools\",\"Version\":\"v0.14.1-0.20231114185516-c9d3e7de13fd\",\"Sum\":\"h1:Oku7E+OCrXHyst1dG1z10etCTxewCHXNFLRlyMPbh3w=\",\"Replace\":null},{\"Path\":\"golang.org/x/vuln\",\"Version\":\"v1.0.1\",\"Sum\":\"h1:KUas02EjQK5LTuIx1OylBQdKKZ9jeugs+HiqO5HormU=\",\"Replace\":null},{\"Path\":\"honnef.co/go/tools\",\"Version\":\"v0.4.5\",\"Sum\":\"h1:YGD4H+SuIOOqsyoLOpZDWcieM28W47/zRO7f+9V3nvo=\",\"Replace\":null},{\"Path\":\"mvdan.cc/gofumpt\",\"Version\":\"v0.4.0\",\"Sum\":\"h1:JVf4NN1mIpHogBj7ABpgOyZc65/UUOkKQFkoURsz4MM=\",\"Replace\":null},{\"Path\":\"mvdan.cc/xurls/v2\",\"Version\":\"v2.4.0\",\"Sum\":\"h1:tzxjVAj+wSBmDcF6zBB7/myTy3gX9xvi8Tyr28AuQgc=\",\"Replace\":null}],\"Settings\":[{\"Key\":\"-buildmode\",\"Value\":\"exe\"},{\"Key\":\"-compiler\",\"Value\":\"gc\"},{\"Key\":\"DefaultGODEBUG\",\"Value\":\"panicnil=1\"},{\"Key\":\"CGO_ENABLED\",\"Value\":\"1\"},{\"Key\":\"CGO_CFLAGS\",\"Value\":\"\"},{\"Key\":\"CGO_CPPFLAGS\",\"Value\":\"\"},{\"Key\":\"CGO_CXXFLAGS\",\"Value\":\"\"},{\"Key\":\"CGO_LDFLAGS\",\"Value\":\"\"},{\"Key\":\"GOARCH\",\"Value\":\"amd64\"},{\"Key\":\"GOOS\",\"Value\":\"linux\"},{\"Key\":\"GOAMD64\",\"Value\":\"v1\"}],\"Version\":\"v0.14.2\"}"}} | |
2024-06-10T16:19:15.353 helix_lsp::transport [INFO] gopls -> {"jsonrpc":"2.0","method":"initialized","params":{}} | |
2024-06-10T16:19:15.354 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: None, method: "initialized", params: None }))) | |
2024-06-10T16:19:15.354 helix_lsp::transport [INFO] gopls -> {"jsonrpc":"2.0","method":"workspace/didChangeConfiguration","params":{"settings":{"hints":{"assignVariableTypes":true,"compositeLiteralFields":true,"constantValues":true,"functionTypeParameters":true,"parameterNames":true,"rangeVariableTypes":true}}}} | |
2024-06-10T16:19:15.354 helix_lsp::transport [INFO] gopls -> {"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"languageId":"go","text":"package main\n\nimport (\n\t\"bytes\"\n\t\"cmp\"\n\t\"os/exec\"\n\n\t\"fmt\"\n\t\"go/ast\"\n\t\"go/parser\"\n\t\"go/token\"\n\n\t\"os\"\n\t\"path/filepath\"\n\t\"reflect\"\n\t\"regexp\"\n\t\"slices\"\n\t\"sort\"\n\t\"strings\"\n\n\t\"github.com/davecgh/go-spew/spew\"\n\t\"github.com/getkin/kin-openapi/openapi3\"\n\t\"github.com/rbretecher/go-postman-collection\"\n\t\"golang.org/x/text/cases\"\n\t\"golang.org/x/text/language\"\n\n\t\"gopkg.in/yaml.v2\"\n\n\t_ \"gitlab.wildberries.ru/southdev/kwms/colib.git/app\"\n)\n\nfunc main() {\n\tif len(os.Args) < 2 {\n\t\tfmt.Println(\"Usage: go run main.go /path/to/colib\")\n\t\treturn\n\t}\n\n\ttag := getCurrentTag(os.Args[1])\n\n\tprintCollection(os.Args[1], \"wh-api-gateway \"+tag, \"api/whapigateway/openapi/spec.yml\")\n}\n\nfunc printCollection(rootDir, name, relativeOpenapiSpecPath string) {\n\topenapiSpecPath := filepath.Join(rootDir, relativeOpenapiSpecPath)\n\tloader := openapi3.NewLoader()\n\tloader.IsExternalRefsAllowed = true\n\tdoc, err := loader.LoadFromFile(openapiSpecPath)\n\tif err != nil {\n\t\tfmt.Printf(\"Error parsing OpenAPI spec: %v\\n\", err)\n\t\treturn\n\t}\n\n\tpaths := doc.Paths.Map()\n\torderedPathKeys := make([]string, 0, len(paths))\n\tfor p := range paths {\n\t\torderedPathKeys = append(orderedPathKeys, p)\n\t}\n\n\tsort.Strings(orderedPathKeys)\n\n\tcollection := postman.CreateCollection(name, \"Colib Specs\")\n\n\tfor _, path := range orderedPathKeys {\n\t\tpathItem := paths[path]\n\t\titems := make([]*postman.Items, 0, 16)\n\t\tvar auth *postman.Auth\n\n\t\tfor method, operation := range pathItem.Operations() {\n\t\t\tfmt.Printf(\"%s %s\\n\", method, path)\n\t\t\trequest := &postman.Request{\n\t\t\t\tDescription: operation.Summary,\n\t\t\t\tURL: &postman.URL{\n\t\t\t\t\tRaw: \"{{baseUrl}}\" + path,\n\t\t\t\t\tHost: []string{\"{{baseUrl}}\"},\n\t\t\t\t\tPath: strings.Split(strings.TrimPrefix(path, \"/\"), \"/\"),\n\t\t\t\t},\n\t\t\t\tMethod: postman.Method(strings.ToUpper(method)),\n\t\t\t}\n\n\t\t\tif false {\n\t\t\t\tspew.Dump(pathItem)\n\t\t\t}\n\n\t\t\tfor _, param := range operation.Parameters {\n\t\t\t\tswitch param.Value.In {\n\t\t\t\tcase openapi3.ParameterInPath:\n\t\t\t\t\tname := param.Value.Name\n\t\t\t\t\tcurlyName := \"{\" + name + \"}\"\n\t\t\t\t\tmustacheVar := createMustacheVariable(path, name)\n\t\t\t\t\tre := regexp.MustCompile(regexp.QuoteMeta(curlyName))\n\t\t\t\t\trequest.URL.Raw = re.ReplaceAllString(request.URL.Raw, mustacheVar)\n\t\t\t\t\tfor i, p := range request.URL.Path {\n\t\t\t\t\t\trequest.URL.Path[i] = strings.ReplaceAll(p, curlyName, mustacheVar)\n\t\t\t\t\t}\n\t\t\t\tcase openapi3.ParameterInHeader:\n\t\t\t\t\trequest.Header = append(request.Header, &postman.Header{\n\t\t\t\t\t\tKey: param.Value.Name,\n\t\t\t\t\t\tValue: fmt.Sprintf(\"%v\", param.Value.Example),\n\t\t\t\t\t\tDisabled: false,\n\t\t\t\t\t\tDescription: param.Value.Description,\n\t\t\t\t\t})\n\t\t\t\tcase openapi3.ParameterInCookie:\n\t\t\t\t\tpanic(\"TODO: parameter in cookie\")\n\t\t\t\tcase openapi3.ParameterInQuery:\n\t\t\t\t\tdescription := param.Value.Description\n\t\t\t\t\tif description != \"\" {\n\t\t\t\t\t\tdescription += \", \"\n\t\t\t\t\t}\n\t\t\t\t\tdescription += param.Value.Schema.Value.Format\n\t\t\t\t\trequest.URL.Query = append(request.URL.Query, &postman.QueryParam{\n\t\t\t\t\t\tKey: param.Value.Name,\n\t\t\t\t\t\tDisabled: !param.Value.Required,\n\t\t\t\t\t\tDescription: &description,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif operation.RequestBody != nil {\n\t\t\t\tfor contentType, mediaType := range operation.RequestBody.Value.Content {\n\t\t\t\t\trequest.Header = append(request.Header, &postman.Header{\n\t\t\t\t\t\tKey: \"Content-Type\",\n\t\t\t\t\t\tValue: contentType,\n\t\t\t\t\t})\n\n\t\t\t\t\tswitch contentType {\n\t\t\t\t\tcase \"application/json\":\n\t\t\t\t\t\ts := structForSpec(rootDir, path, openapiSpecPath, mediaType.Schema.Ref)\n\t\t\t\t\t\trequest.Body = &postman.Body{\n\t\t\t\t\t\t\tMode: \"raw\",\n\t\t\t\t\t\t\tRaw: string(s.marshal(0)),\n\t\t\t\t\t\t}\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tpanic(\"unhandled content type: \" + contentType)\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\n\t\t\titem := postman.Item{\n\t\t\t\tName: operation.Summary,\n\t\t\t\tRequest: request,\n\t\t\t\tResponses: []*postman.Response{},\n\t\t\t}\n\n\t\t\titems = append(items, postman.CreateItem(item))\n\t\t}\n\n\t\tgroup := postman.CreateItemGroup(postman.ItemGroup{\n\t\t\tName: path,\n\t\t\tDescription: pathItem.Description,\n\t\t\t// Variables: []*postman.Variable{},\n\t\t\t// Events: []*postman.Event{},\n\t\t\t// ProtocolProfileBehavior: nil,\n\t\t\tItems: items,\n\t\t\tAuth: auth,\n\t\t})\n\n\t\tcollection.Items = append(collection.Items, group)\n\t}\n\n\tconst filename = \"collection.json\"\n\n\tfile, err := os.OpenFile(filename, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0644)\n\tif err != nil {\n\t\tfmt.Printf(\"Error creating file: %v\\n\", err)\n\t\treturn\n\t}\n\tdefer file.Close()\n\n\terr = collection.Write(file, postman.V210)\n\tif err != nil {\n\t\tfmt.Printf(\"Error writing collection to %s: %v\\n\", filename, err)\n\t\treturn\n\t}\n}\n\n// createMustacheVariable creates a mustache-like variable for Postman\nfunc createMustacheVariable(path, param string) string {\n\tre := regexp.MustCompile(`[/\\-_]`)\n\tparts := re.Split(path, -1)\n\tcaser := cases.Title(language.English)\n\tvar varName string\n\tfor _, part := range parts {\n\t\tif part == \"\" {\n\t\t\tcontinue\n\t\t}\n\t\tif strings.HasPrefix(part, \"{\") {\n\t\t\tcontinue\n\t\t}\n\n\t\tvarName += caser.String(strings.ToLower(part))\n\t}\n\tfor _, part := range re.Split(param, -1) {\n\t\tvarName += caser.String(part)\n\t}\n\treturn fmt.Sprintf(\"{{%s}}\", varName)\n}\n\ntype OapiConfig struct {\n\tImportMapping map[string]string `yaml:\"import-mapping\"`\n}\n\nfunc near(a, b string) string {\n\treturn filepath.Join(filepath.Dir(a), b)\n}\n\nfunc structForSpec(root, urlpath, specpath, spec string) Struct {\n\toapiConfigPath := near(specpath, \"oapi-codegen.yml\")\n\n\toapiConfigData, err := os.ReadFile(oapiConfigPath)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\n\tvar config OapiConfig\n\terr = yaml.Unmarshal(oapiConfigData, &config)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\n\tparts := strings.Split(spec, \"#\")\n\tif len(parts) != 2 {\n\t\tpanic(fmt.Errorf(\"invalid spec string format\"))\n\t}\n\tsubSpecFile, objectPath := parts[0], parts[1]\n\n\t// Lookup the import-mapping for the sub spec YAML file\n\tgoPackagePath, exists := config.ImportMapping[subSpecFile]\n\tif !exists {\n\t\tpanic(fmt.Errorf(\"no import mapping found for %s\", subSpecFile))\n\t}\n\n\tname, object := extractObjectFromYAML(near(specpath, subSpecFile), objectPath)\n\tif len(object) != 0 {\n\t\t// in such case just return yaml converted to postman body\n\t\tpanic(\"object in yaml is not empty\")\n\t}\n\n\tprintln(\"package path:\", goPackagePath)\n\n\ts := makeSource(urlpath, getPackageDir(root, goPackagePath))\n\tt := s.getStruct(name)\n\treturn s.structToNode(t)\n}\n\nfunc (src Source) handleType(fieldType ast.Expr, name string, comment string) Node {\n\tswitch t := fieldType.(type) {\n\tcase *ast.StructType:\n\t\treturn src.structToNode(t)\n\tcase *ast.ArrayType:\n\t\treturn Array{\n\t\t\tItem: src.handleType(t.Elt, name+\"ArrayItem\", comment),\n\t\t\tComment: comment,\n\t\t}\n\tcase *ast.StarExpr:\n\t\tpanic(\"unhandled optional value: pointer is not implemented yet\")\n\tcase *ast.Ident:\n\t\tvalue := \"\"\n\t\tswitch t.Name {\n\t\tcase \"string\":\n\t\t\tvalue = fmt.Sprintf(\"\\\"%s\\\"\", createMustacheVariable(src.urlpath, name))\n\t\tcase \"int\", \"int8\", \"int16\", \"int32\", \"int64\",\n\t\t\t\"uint\", \"uint8\", \"uint16\", \"uint32\", \"uint64\", \"uintptr\",\n\t\t\t\"float32\", \"float64\", \"bool\", \"complex64\", \"complex128\":\n\t\t\tvalue = fmt.Sprintf(\"%s\", createMustacheVariable(src.urlpath, name))\n\t\tdefault:\n\t\t\tif s := src.getStruct(t.Name); s != nil {\n\t\t\t\treturn src.structToNode(s)\n\t\t\t}\n\t\t\tpanic(t.Name)\n\t\t}\n\n\t\tif comment == \"\" {\n\t\t\tcomment = t.Name\n\t\t} else {\n\t\t\tcomment = t.Name + \", \" + comment\n\t\t}\n\n\t\treturn Bare{\n\t\t\tValue: []byte(value),\n\t\t\tComment: comment,\n\t\t}\n\tcase *ast.SelectorExpr:\n\t\tif t.Sel != nil {\n\t\t\t// hacky\n\t\t\tswitch t.Sel.Name {\n\t\t\tcase \"UUID\":\n\t\t\t\treturn Bare{\n\t\t\t\t\tValue: []byte(createMustacheVariable(src.urlpath, name)),\n\t\t\t\t\tComment: \"UUID \" + comment,\n\t\t\t\t}\n\t\t\tcase \"Time\":\n\t\t\t\treturn Bare{\n\t\t\t\t\tValue: []byte(createMustacheVariable(src.urlpath, name)),\n\t\t\t\t\tComment: \"Time \" + comment,\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tpanic(fmt.Sprintf(\"unknown type: %T: %+v: %s // %s\", fieldType, fieldType, name, comment))\n\tcase *ast.MapType, *ast.ChanType, *ast.FuncType, *ast.InterfaceType:\n\t\tpanic(fmt.Sprintf(\"unhandler composite type: %T\", fieldType))\n\tdefault:\n\t\tpanic(fmt.Sprintf(\"unknown type: %T: %+v: %s // %s\", fieldType, fieldType, name, comment))\n\t}\n}\n\nfunc (src Source) structToNode(structType *ast.StructType) Struct {\n\ts := Struct{\n\t\tChildren: make(map[string]Node),\n\t}\n\n\tfor _, field := range structType.Fields.List {\n\t\tvar fieldName string\n\t\tif len(field.Names) > 0 {\n\t\t\tfieldName = field.Names[0].Name\n\t\t} else {\n\t\t\tfieldName = fmt.Sprintf(\"%v\", field.Type)\n\t\t}\n\n\t\tjsonTag := getJSONTag(field.Tag)\n\t\tif jsonTag == \"\" {\n\t\t\tjsonTag = fieldName\n\t\t}\n\n\t\tvar cs []string\n\t\tif field.Comment != nil {\n\t\t\tfor _, c := range field.Comment.List {\n\t\t\t\tcs = append(cs, strings.TrimSpace(strings.TrimPrefix(c.Text, \"//\")))\n\t\t\t}\n\t\t}\n\t\tif field.Doc != nil {\n\t\t\tfor _, c := range field.Doc.List {\n\t\t\t\tcs = append(cs, strings.TrimSpace(strings.TrimPrefix(c.Text, \"//\")))\n\t\t\t}\n\t\t}\n\t\tcomment := strings.Join(cs, \" \")\n\n\t\ts.Children[jsonTag] = src.handleType(field.Type, jsonTag, comment)\n\t}\n\n\treturn s\n}\n\nfunc getPackageDir(rootDir, pkgPath string) string {\n\t// Convert package path to a file system path\n\tparts := strings.Split(pkgPath, \"/\")\n\n\tfor len(parts) > 0 {\n\t\trelevantPath := filepath.Join(parts...)\n\t\tpkgDir := filepath.Join(rootDir, relevantPath)\n\n\t\t// Check if the directory exists\n\t\tif _, err := os.Stat(pkgDir); err == nil {\n\t\t\treturn pkgDir\n\t\t}\n\n\t\t// Remove the first component and try again\n\t\tparts = parts[1:]\n\t}\n\n\tpanic(fmt.Sprintf(\"package directory for %s not found in root directory %s\", pkgPath, rootDir))\n}\n\nfunc extractObjectFromYAML(yamlPath, objectPath string) (string, map[any]any) {\n\tyamlData, err := os.ReadFile(yamlPath)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\n\tvar yamlContent map[any]any\n\terr = yaml.Unmarshal(yamlData, &yamlContent)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\n\tname := \"\"\n\tobject := yamlContent\n\tfor _, part := range strings.Split(objectPath, \"/\") {\n\t\tif part == \"\" {\n\t\t\tcontinue\n\t\t}\n\t\tif subObject, exists := object[part]; exists {\n\t\t\tobject = subObject.(map[any]any)\n\t\t\tname = part\n\t\t} else {\n\t\t\tpanic(fmt.Errorf(\"object path %s not found in %s\", objectPath, yamlPath))\n\t\t}\n\t}\n\n\treturn name, object\n}\n\ntype Source struct {\n\turlpath string\n\tpath string\n\tfiles []*ast.File\n}\n\nfunc makeSource(urlpath, pkgDir string) Source {\n\tfset := token.NewFileSet()\n\n\tvar files []*ast.File\n\n\t// Walk the package directory and collect all Go files\n\terr := filepath.Walk(pkgDir, func(path string, info os.FileInfo, err error) error {\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif !info.IsDir() && strings.HasSuffix(info.Name(), \".go\") {\n\t\t\tfile, err := parser.ParseFile(fset, path, nil, parser.ParseComments)\n\t\t\tif err != nil {\n\t\t\t\tpanic(fmt.Sprintf(\"failed to parse file %s: %v\", path, err))\n\t\t\t}\n\t\t\tfiles = append(files, file)\n\t\t}\n\t\treturn nil\n\t})\n\tif err != nil {\n\t\tpanic(fmt.Sprintf(\"failed to walk package directory: %v\", err))\n\t}\n\n\treturn Source{urlpath: urlpath, path: pkgDir, files: files}\n}\n\nfunc (src Source) getStruct(structName string) *ast.StructType {\n\tvar result *ast.StructType\n\n\t// Traverse the AST of each file to find the struct definition\n\tfor _, file := range src.files {\n\t\tast.Inspect(file, func(n ast.Node) bool {\n\t\t\tif genDecl, ok := n.(*ast.GenDecl); ok && genDecl.Tok == token.TYPE {\n\t\t\t\tfor _, spec := range genDecl.Specs {\n\t\t\t\t\tif typeSpec, ok := spec.(*ast.TypeSpec); ok {\n\t\t\t\t\t\tif typeSpec.Name.Name == structName {\n\t\t\t\t\t\t\tif structType, ok := typeSpec.Type.(*ast.StructType); ok {\n\t\t\t\t\t\t\t\tresult = structType\n\t\t\t\t\t\t\t\treturn false // Found the struct, stop traversing\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true\n\t\t})\n\t}\n\n\treturn result\n}\n\n// Node interface represents a node in the tree.\ntype Node interface {\n\tsimple() bool\n\tsize() int\n}\n\n// Bare represents a leaf node with a string value and an optional comment.\ntype Bare struct {\n\tValue []byte\n\tComment string\n}\n\n// Struct represents a branch node with map of child nodes.\ntype Struct struct {\n\tChildren map[string]Node\n\tComment string\n}\n\n// Array represents a branch node with array of child nodes.\ntype Array struct {\n\tItem Node\n\tComment string\n}\n\nfunc (l Bare) simple() bool {\n\treturn true\n}\n\nfunc (l Struct) simple() bool {\n\treturn false\n}\n\nfunc (l Array) simple() bool {\n\treturn false\n}\n\nfunc (l Bare) size() int {\n\treturn 1\n}\n\nfunc (l Array) size() int {\n\treturn 3\n}\n\nfunc (l Struct) size() int {\n\ts := 2\n\tfor _, child := range l.Children {\n\t\ts += child.size()\n\t}\n\treturn s\n}\n\nfunc (s Struct) marshal(indent int) []byte {\n\tkeys := make([]string, 0, len(s.Children))\n\n\tfor k := range s.Children {\n\t\tkeys = append(keys, k)\n\t}\n\n\tslices.SortStableFunc(keys, func(a, b string) int {\n\t\tswitch cmp.Compare(s.Children[a].size(), s.Children[b].size()) {\n\t\tcase -1:\n\t\t\treturn -1\n\t\tcase 1:\n\t\t\treturn 1\n\t\tdefault:\n\t\t\treturn strings.Compare(a, b)\n\t\t}\n\t})\n\n\tformatBare := func(k string, v []byte, last bool) string {\n\t\tcomma := \",\"\n\t\tif last {\n\t\t\tcomma = \"\"\n\t\t}\n\t\treturn fmt.Sprintf(\"\\\"%s\\\": %s%s\", k, v, comma)\n\t}\n\n\tprefix := strings.Repeat(\" \", indent+4)\n\n\tcommentStart := 0\n\tfor i, k := range keys {\n\t\tlast := i+1 == len(keys)\n\t\tswitch v := s.Children[k].(type) {\n\t\tcase Bare:\n\t\t\ts := formatBare(k, v.Value, last)\n\t\t\tcommentStart = max(commentStart, len(s))\n\t\t}\n\t}\n\n\tvar buf bytes.Buffer\n\tbuf.WriteString(\"{\\n\")\n\n\tfor i, k := range keys {\n\t\tlast := i+1 == len(keys)\n\t\tswitch v := s.Children[k].(type) {\n\t\tcase Bare:\n\t\t\ts := formatBare(k, v.Value, last)\n\t\t\tpadding := strings.Repeat(\" \", commentStart-len(s))\n\t\t\tbuf.WriteString(fmt.Sprintf(\"%s%s%s // %s\\n\", prefix, s, padding, v.Comment))\n\t\tcase Struct:\n\t\t\tbuf.WriteString(fmt.Sprintf(\"%s\\\"%s\\\": %s\", prefix, k, v.marshal(indent+4)))\n\t\t\tif !last {\n\t\t\t\tbuf.WriteString(\",\")\n\t\t\t}\n\t\t\tbuf.WriteString(\"\\n\")\n\t\tcase Array:\n\t\t\tbuf.WriteString(fmt.Sprintf(\"%s\\\"%s\\\": %s\", prefix, k, v.marshal(indent+4)))\n\t\t\tif !last {\n\t\t\t\tbuf.WriteString(\",\")\n\t\t\t}\n\t\t\tbuf.WriteString(\"\\n\")\n\t\tdefault:\n\t\t\tpanic(\"bug: unhandled Node case\")\n\t\t}\n\t}\n\n\tbuf.WriteString(fmt.Sprintf(\"%s}\", strings.Repeat(\" \", indent)))\n\n\treturn buf.Bytes()\n}\n\nfunc (s Array) marshal(indent int) []byte {\n\tprefix := strings.Repeat(\" \", indent+4)\n\n\tvar buf bytes.Buffer\n\tbuf.WriteString(\"[\\n\")\n\n\tswitch v := s.Item.(type) {\n\tcase Bare:\n\t\tbuf.WriteString(fmt.Sprintf(\"%s%s // %s\\n\", prefix, v.Value, v.Comment))\n\tcase Struct:\n\t\tbuf.WriteString(fmt.Sprintf(\"%s%s\", prefix, v.marshal(indent+4)))\n\t\tbuf.WriteString(\"\\n\")\n\tcase Array:\n\t\tbuf.WriteString(fmt.Sprintf(\"%s%s\", prefix, v.marshal(indent+4)))\n\t\tbuf.WriteString(\"\\n\")\n\tdefault:\n\t\tpanic(\"bug: unhandled Node case\")\n\t}\n\n\tbuf.WriteString(fmt.Sprintf(\"%s]\", strings.Repeat(\" \", indent)))\n\n\treturn buf.Bytes()\n}\n\nfunc getJSONTag(tag *ast.BasicLit) string {\n\tif tag == nil {\n\t\treturn \"\"\n\t}\n\n\ttagValue := reflect.StructTag(strings.Trim(tag.Value, \"`\")).Get(\"json\")\n\tif tagValue == \"-\" {\n\t\treturn \"\"\n\t}\n\n\t// Extract the name before the comma (if any)\n\tif idx := strings.Index(tagValue, \",\"); idx != -1 {\n\t\treturn tagValue[:idx]\n\t}\n\treturn tagValue\n}\n\n// getCurrentTag returns the currently checked out tag for the given directory.\n// It panics if the repository is not tagged or if any error occurs.\nfunc getCurrentTag(dir string) string {\n\tcmd := exec.Command(\"git\", \"describe\", \"--tags\", \"--exact-match\")\n\tcmd.Dir = dir\n\n\tvar out bytes.Buffer\n\tcmd.Stdout = &out\n\tcmd.Stderr = &out\n\n\tif err := cmd.Run(); err != nil {\n\t\tpanic(fmt.Sprintf(\"failed to get current tag: %s\", out.String()))\n\t}\n\n\ttag := strings.TrimSpace(out.String())\n\tif tag == \"\" {\n\t\tpanic(\"no tag found\")\n\t}\n\n\treturn tag\n}\n","uri":"file:///home/z/project/wb/postman/main.go","version":0}}} | |
2024-06-10T16:19:15.354 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","method":"window/workDoneProgress/create","params":{"token":"7948790921933193538"},"id":1} | |
2024-06-10T16:19:15.354 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, MethodCall(MethodCall { jsonrpc: Some(V2), method: "window/workDoneProgress/create", params: Map({"token": String("7948790921933193538")}), id: Num(1) }))) | |
2024-06-10T16:19:15.354 helix_lsp::transport [INFO] gopls -> {"jsonrpc":"2.0","result":null,"id":1} | |
2024-06-10T16:19:15.354 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"7948790921933193538","value":{"kind":"begin","title":"Setting up workspace","message":"Loading packages..."}}} | |
2024-06-10T16:19:15.354 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","method":"workspace/configuration","params":{"items":[{"scopeUri":"file:///home/z/project/wb/postman","section":"gopls"}]},"id":2} | |
2024-06-10T16:19:15.354 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: Some(V2), method: "$/progress", params: Map({"token": String("7948790921933193538"), "value": Object {"kind": String("begin"), "message": String("Loading packages..."), "title": String("Setting up workspace")}}) }))) | |
2024-06-10T16:19:15.354 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, MethodCall(MethodCall { jsonrpc: Some(V2), method: "workspace/configuration", params: Map({"items": Array [Object {"scopeUri": String("file:///home/z/project/wb/postman"), "section": String("gopls")}]}), id: Num(2) }))) | |
2024-06-10T16:19:15.354 helix_lsp::transport [INFO] gopls -> {"jsonrpc":"2.0","result":[null],"id":2} | |
2024-06-10T16:19:15.360 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"2024/06/10 16:19:15 go info for /home/z/project/wb/postman\n(go dir /home/z/project/wb/postman)\n(go version go version go1.22.1 linux/amd64)\n(valid build configuration = true)\n(build flags: [])\n(selected go env: [GO111MODULE=, GOCACHE=/home/z/.cache/go-build, GOFLAGS=, GOMODCACHE=/home/z/.local/state/go/pkg/mod, GOPATH=/home/z/.local/state/go, GOPRIVATE=gitlab.wildberries.ru, GOROOT=/usr/local/go, GOWORK=])\n\n"}} | |
2024-06-10T16:19:15.360 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("2024/06/10 16:19:15 go info for /home/z/project/wb/postman\n(go dir /home/z/project/wb/postman)\n(go version go version go1.22.1 linux/amd64)\n(valid build configuration = true)\n(build flags: [])\n(selected go env: [GO111MODULE=, GOCACHE=/home/z/.cache/go-build, GOFLAGS=, GOMODCACHE=/home/z/.local/state/go/pkg/mod, GOPATH=/home/z/.local/state/go, GOPRIVATE=gitlab.wildberries.ru, GOROOT=/usr/local/go, GOWORK=])\n\n"), "type": Number(3)}) }))) | |
2024-06-10T16:19:15.360 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "2024/06/10 16:19:15 go info for /home/z/project/wb/postman\n(go dir /home/z/project/wb/postman)\n(go version go version go1.22.1 linux/amd64)\n(valid build configuration = true)\n(build flags: [])\n(selected go env: [GO111MODULE=, GOCACHE=/home/z/.cache/go-build, GOFLAGS=, GOMODCACHE=/home/z/.local/state/go/pkg/mod, GOPATH=/home/z/.local/state/go, GOPRIVATE=gitlab.wildberries.ru, GOROOT=/usr/local/go, GOWORK=])\n\n" } | |
2024-06-10T16:19:15.387 helix_term::application [DEBUG] received editor event: Redraw | |
2024-06-10T16:19:15.388 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:19:15.454 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"2024/06/10 16:19:15 go/packages.Load #1\n\tsnapshot=0\n\tdirectory=file:///home/z/project/wb/postman\n\tquery=[/home/z/project/wb/postman/... builtin]\n\tpackages=2\n"}} | |
2024-06-10T16:19:15.454 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("2024/06/10 16:19:15 go/packages.Load #1\n\tsnapshot=0\n\tdirectory=file:///home/z/project/wb/postman\n\tquery=[/home/z/project/wb/postman/... builtin]\n\tpackages=2\n"), "type": Number(3)}) }))) | |
2024-06-10T16:19:15.454 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "2024/06/10 16:19:15 go/packages.Load #1\n\tsnapshot=0\n\tdirectory=file:///home/z/project/wb/postman\n\tquery=[/home/z/project/wb/postman/... builtin]\n\tpackages=2\n" } | |
2024-06-10T16:19:15.456 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"2024/06/10 16:19:15 go/packages.Load #1: updating metadata for 172 packages\n"}} | |
2024-06-10T16:19:15.456 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("2024/06/10 16:19:15 go/packages.Load #1: updating metadata for 172 packages\n"), "type": Number(3)}) }))) | |
2024-06-10T16:19:15.456 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "2024/06/10 16:19:15 go/packages.Load #1: updating metadata for 172 packages\n" } | |
2024-06-10T16:19:15.474 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"7948790921933193538","value":{"kind":"end","message":"Finished loading packages."}}} | |
2024-06-10T16:19:15.474 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","method":"client/registerCapability","params":{"registrations":[{"id":"workspace/didChangeWatchedFiles-0","method":"workspace/didChangeWatchedFiles","registerOptions":{"watchers":[{"globPattern":"**/*.{go,mod,sum,work}","kind":7}]}}]},"id":3} | |
2024-06-10T16:19:15.474 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: Some(V2), method: "$/progress", params: Map({"token": String("7948790921933193538"), "value": Object {"kind": String("end"), "message": String("Finished loading packages.")}}) }))) | |
2024-06-10T16:19:15.474 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, MethodCall(MethodCall { jsonrpc: Some(V2), method: "client/registerCapability", params: Map({"registrations": Array [Object {"id": String("workspace/didChangeWatchedFiles-0"), "method": String("workspace/didChangeWatchedFiles"), "registerOptions": Object {"watchers": Array [Object {"globPattern": String("**/*.{go,mod,sum,work}"), "kind": Number(7)}]}}]}), id: Num(3) }))) | |
2024-06-10T16:19:15.474 helix_lsp::file_event [DEBUG] Registering didChangeWatchedFiles for client '0' with id 'workspace/didChangeWatchedFiles-0' | |
2024-06-10T16:19:15.474 helix_lsp::transport [INFO] gopls -> {"jsonrpc":"2.0","result":null,"id":3} | |
2024-06-10T16:19:15.474 globset [DEBUG] glob converted to regex: Glob { glob: "**/*.{go,mod,sum,work}", re: "(?-u)^(?:/?|.*/).*\\.(?:work|sum|mod|go)$", opts: GlobOptions { case_insensitive: false, literal_separator: false, backslash_escape: true, empty_alternates: false }, tokens: Tokens([RecursivePrefix, ZeroOrMore, Literal('.'), Alternates([Tokens([Literal('w'), Literal('o'), Literal('r'), Literal('k')]), Tokens([Literal('s'), Literal('u'), Literal('m')]), Tokens([Literal('m'), Literal('o'), Literal('d')]), Tokens([Literal('g'), Literal('o')])])]) } | |
2024-06-10T16:19:15.474 globset [DEBUG] built glob set; 0 literals, 0 basenames, 0 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 1 regexes | |
2024-06-10T16:19:15.475 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","method":"workspace/configuration","params":{"items":[{"section":"gopls"}]},"id":4} | |
2024-06-10T16:19:15.475 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, MethodCall(MethodCall { jsonrpc: Some(V2), method: "workspace/configuration", params: Map({"items": Array [Object {"section": String("gopls")}]}), id: Num(4) }))) | |
2024-06-10T16:19:15.475 helix_lsp::transport [INFO] gopls -> {"jsonrpc":"2.0","result":[null],"id":4} | |
2024-06-10T16:19:15.475 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","method":"workspace/configuration","params":{"items":[{"scopeUri":"file:///home/z/project/wb/postman","section":"gopls"}]},"id":5} | |
2024-06-10T16:19:15.475 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, MethodCall(MethodCall { jsonrpc: Some(V2), method: "workspace/configuration", params: Map({"items": Array [Object {"scopeUri": String("file:///home/z/project/wb/postman"), "section": String("gopls")}]}), id: Num(5) }))) | |
2024-06-10T16:19:15.475 helix_lsp::transport [INFO] gopls -> {"jsonrpc":"2.0","result":[null],"id":5} | |
2024-06-10T16:19:15.488 helix_term::application [DEBUG] received editor event: Redraw | |
2024-06-10T16:19:15.489 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:19:15.525 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/z/project/wb/postman/main.go","diagnostics":[]}} | |
2024-06-10T16:19:15.525 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: Some(V2), method: "textDocument/publishDiagnostics", params: Map({"diagnostics": Array [], "uri": String("file:///home/z/project/wb/postman/main.go")}) }))) | |
2024-06-10T16:19:15.560 helix_term::application [DEBUG] received editor event: Redraw | |
2024-06-10T16:19:15.560 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:19:15.574 helix_term::application [DEBUG] received editor event: IdleTimer | |
2024-06-10T16:19:15.574 helix_lsp::transport [INFO] gopls -> {"jsonrpc":"2.0","method":"textDocument/inlayHint","params":{"range":{"end":{"character":0,"line":88},"start":{"character":0,"line":0}},"textDocument":{"uri":"file:///home/z/project/wb/postman/main.go"}},"id":1} | |
2024-06-10T16:19:15.582 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","result":[{"position":{"line":33,"character":14},"label":[{"value":"a...:"}],"kind":2,"paddingRight":true},{"position":{"line":37,"character":4},"label":[{"value":"string"}],"kind":1,"paddingLeft":true},{"position":{"line":37,"character":22},"label":[{"value":"dir:"}],"kind":2,"paddingRight":true},{"position":{"line":39,"character":17},"label":[{"value":"rootDir:"}],"kind":2,"paddingRight":true},{"position":{"line":39,"character":29},"label":[{"value":"name:"}],"kind":2,"paddingRight":true},{"position":{"line":39,"character":52},"label":[{"value":"relativeOpenapiSpecPath:"}],"kind":2,"paddingRight":true},{"position":{"line":43,"character":16},"label":[{"value":"string"}],"kind":1,"paddingLeft":true},{"position":{"line":43,"character":34},"label":[{"value":"elem...:"}],"kind":2,"paddingRight":true},{"position":{"line":44,"character":7},"label":[{"value":"*openapi3.Loader"}],"kind":1,"paddingLeft":true},{"position":{"line":46,"character":4},"label":[{"value":"*openapi3.T"}],"kind":1,"paddingLeft":true},{"position":{"line":46,"character":9},"label":[{"value":"error"}],"kind":1,"paddingLeft":true},{"position":{"line":46,"character":33},"label":[{"value":"location:"}],"kind":2,"paddingRight":true},{"position":{"line":48,"character":13},"label":[{"value":"format:"}],"kind":2,"paddingRight":true},{"position":{"line":48,"character":49},"label":[{"value":"a...:"}],"kind":2,"paddingRight":true},{"position":{"line":52,"character":6},"label":[{"value":"map[string]*openapi3.PathItem"}],"kind":1,"paddingLeft":true},{"position":{"line":53,"character":16},"label":[{"value":"[]string"}],"kind":1,"paddingLeft":true},{"position":{"line":54,"character":6},"label":[{"value":"string"}],"kind":1,"paddingLeft":true},{"position":{"line":58,"character":14},"label":[{"value":"x:"}],"kind":2,"paddingRight":true},{"position":{"line":60,"character":11},"label":[{"value":"*postman.Collection"}],"kind":1,"paddingLeft":true},{"position":{"line":60,"character":46},"label":[{"value":"desc:"}],"kind":2,"paddingRight":true},{"position":{"line":62,"character":6},"label":[{"value":"int"}],"kind":1,"paddingLeft":true},{"position":{"line":62,"character":12},"label":[{"value":"string"}],"kind":1,"paddingLeft":true},{"position":{"line":63,"character":10},"label":[{"value":"*openapi3.PathItem"}],"kind":1,"paddingLeft":true},{"position":{"line":64,"character":7},"label":[{"value":"[]*postman.Items"}],"kind":1,"paddingLeft":true},{"position":{"line":67,"character":12},"label":[{"value":"string"}],"kind":1,"paddingLeft":true},{"position":{"line":67,"character":23},"label":[{"value":"*openapi3.Operation"}],"kind":1,"paddingLeft":true},{"position":{"line":68,"character":14},"label":[{"value":"format:"}],"kind":2,"paddingRight":true},{"position":{"line":68,"character":25},"label":[{"value":"a...:"}],"kind":2,"paddingRight":true},{"position":{"line":69,"character":10},"label":[{"value":"*postman.Request"}],"kind":1,"paddingLeft":true},{"position":{"line":74,"character":25},"label":[{"value":"s:"}],"kind":2,"paddingRight":true},{"position":{"line":74,"character":56},"label":[{"value":"sep:"}],"kind":2,"paddingRight":true},{"position":{"line":74,"character":44},"label":[{"value":"s:"}],"kind":2,"paddingRight":true},{"position":{"line":74,"character":50},"label":[{"value":"prefix:"}],"kind":2,"paddingRight":true},{"position":{"line":76,"character":43},"label":[{"value":"s:"}],"kind":2,"paddingRight":true},{"position":{"line":80,"character":14},"label":[{"value":"a...:"}],"kind":2,"paddingRight":true},{"position":{"line":83,"character":8},"label":[{"value":"int"}],"kind":1,"paddingLeft":true},{"position":{"line":83,"character":15},"label":[{"value":"*openapi3.ParameterRef"}],"kind":1,"paddingLeft":true},{"position":{"line":86,"character":9},"label":[{"value":"string"}],"kind":1,"paddingLeft":true},{"position":{"line":87,"character":14},"label":[{"value":"string"}],"kind":1,"paddingLeft":true}],"id":1} | |
2024-06-10T16:19:15.582 helix_lsp::transport [INFO] gopls <- [{"kind":2,"label":[{"value":"a...:"}],"paddingRight":true,"position":{"character":14,"line":33}},{"kind":1,"label":[{"value":"string"}],"paddingLeft":true,"position":{"character":4,"line":37}},{"kind":2,"label":[{"value":"dir:"}],"paddingRight":true,"position":{"character":22,"line":37}},{"kind":2,"label":[{"value":"rootDir:"}],"paddingRight":true,"position":{"character":17,"line":39}},{"kind":2,"label":[{"value":"name:"}],"paddingRight":true,"position":{"character":29,"line":39}},{"kind":2,"label":[{"value":"relativeOpenapiSpecPath:"}],"paddingRight":true,"position":{"character":52,"line":39}},{"kind":1,"label":[{"value":"string"}],"paddingLeft":true,"position":{"character":16,"line":43}},{"kind":2,"label":[{"value":"elem...:"}],"paddingRight":true,"position":{"character":34,"line":43}},{"kind":1,"label":[{"value":"*openapi3.Loader"}],"paddingLeft":true,"position":{"character":7,"line":44}},{"kind":1,"label":[{"value":"*openapi3.T"}],"paddingLeft":true,"position":{"character":4,"line":46}},{"kind":1,"label":[{"value":"error"}],"paddingLeft":true,"position":{"character":9,"line":46}},{"kind":2,"label":[{"value":"location:"}],"paddingRight":true,"position":{"character":33,"line":46}},{"kind":2,"label":[{"value":"format:"}],"paddingRight":true,"position":{"character":13,"line":48}},{"kind":2,"label":[{"value":"a...:"}],"paddingRight":true,"position":{"character":49,"line":48}},{"kind":1,"label":[{"value":"map[string]*openapi3.PathItem"}],"paddingLeft":true,"position":{"character":6,"line":52}},{"kind":1,"label":[{"value":"[]string"}],"paddingLeft":true,"position":{"character":16,"line":53}},{"kind":1,"label":[{"value":"string"}],"paddingLeft":true,"position":{"character":6,"line":54}},{"kind":2,"label":[{"value":"x:"}],"paddingRight":true,"position":{"character":14,"line":58}},{"kind":1,"label":[{"value":"*postman.Collection"}],"paddingLeft":true,"position":{"character":11,"line":60}},{"kind":2,"label":[{"value":"desc:"}],"paddingRight":true,"position":{"character":46,"line":60}},{"kind":1,"label":[{"value":"int"}],"paddingLeft":true,"position":{"character":6,"line":62}},{"kind":1,"label":[{"value":"string"}],"paddingLeft":true,"position":{"character":12,"line":62}},{"kind":1,"label":[{"value":"*openapi3.PathItem"}],"paddingLeft":true,"position":{"character":10,"line":63}},{"kind":1,"label":[{"value":"[]*postman.Items"}],"paddingLeft":true,"position":{"character":7,"line":64}},{"kind":1,"label":[{"value":"string"}],"paddingLeft":true,"position":{"character":12,"line":67}},{"kind":1,"label":[{"value":"*openapi3.Operation"}],"paddingLeft":true,"position":{"character":23,"line":67}},{"kind":2,"label":[{"value":"format:"}],"paddingRight":true,"position":{"character":14,"line":68}},{"kind":2,"label":[{"value":"a...:"}],"paddingRight":true,"position":{"character":25,"line":68}},{"kind":1,"label":[{"value":"*postman.Request"}],"paddingLeft":true,"position":{"character":10,"line":69}},{"kind":2,"label":[{"value":"s:"}],"paddingRight":true,"position":{"character":25,"line":74}},{"kind":2,"label":[{"value":"sep:"}],"paddingRight":true,"position":{"character":56,"line":74}},{"kind":2,"label":[{"value":"s:"}],"paddingRight":true,"position":{"character":44,"line":74}},{"kind":2,"label":[{"value":"prefix:"}],"paddingRight":true,"position":{"character":50,"line":74}},{"kind":2,"label":[{"value":"s:"}],"paddingRight":true,"position":{"character":43,"line":76}},{"kind":2,"label":[{"value":"a...:"}],"paddingRight":true,"position":{"character":14,"line":80}},{"kind":1,"label":[{"value":"int"}],"paddingLeft":true,"position":{"character":8,"line":83}},{"kind":1,"label":[{"value":"*openapi3.ParameterRef"}],"paddingLeft":true,"position":{"character":15,"line":83}},{"kind":1,"label":[{"value":"string"}],"paddingLeft":true,"position":{"character":9,"line":86}},{"kind":1,"label":[{"value":"string"}],"paddingLeft":true,"position":{"character":14,"line":87}}] | |
2024-06-10T16:19:15.583 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:19:16.282 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:19:16.532 helix_term::application [DEBUG] received editor event: IdleTimer | |
2024-06-10T16:19:16.545 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/z/project/wb/postman/go.mod","diagnostics":[{"range":{"start":{"line":12,"character":1},"end":{"line":12,"character":57}},"severity":2,"source":"go mod tidy","message":"golang.org/x/tools is not used in this module"},{"range":{"start":{"line":27,"character":1},"end":{"line":27,"character":25}},"severity":2,"source":"go mod tidy","message":"golang.org/x/mod is not used in this module"},{"range":{"start":{"line":28,"character":1},"end":{"line":28,"character":25}},"severity":2,"source":"go mod tidy","message":"golang.org/x/sync is not used in this module"}]}} | |
2024-06-10T16:19:16.545 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: Some(V2), method: "textDocument/publishDiagnostics", params: Map({"diagnostics": Array [Object {"message": String("golang.org/x/tools is not used in this module"), "range": Object {"end": Object {"character": Number(57), "line": Number(12)}, "start": Object {"character": Number(1), "line": Number(12)}}, "severity": Number(2), "source": String("go mod tidy")}, Object {"message": String("golang.org/x/mod is not used in this module"), "range": Object {"end": Object {"character": Number(25), "line": Number(27)}, "start": Object {"character": Number(1), "line": Number(27)}}, "severity": Number(2), "source": String("go mod tidy")}, Object {"message": String("golang.org/x/sync is not used in this module"), "range": Object {"end": Object {"character": Number(25), "line": Number(28)}, "start": Object {"character": Number(1), "line": Number(28)}}, "severity": Number(2), "source": String("go mod tidy")}], "uri": String("file:///home/z/project/wb/postman/go.mod")}) }))) | |
2024-06-10T16:19:16.579 helix_term::application [DEBUG] received editor event: Redraw | |
2024-06-10T16:19:16.580 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:19:16.924 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:19:17.175 helix_term::application [DEBUG] received editor event: IdleTimer | |
2024-06-10T16:19:17.193 regex_cursor::util::prefilter [DEBUG] prefixes (len=Some(2), exact=true) extracted before optimization: Seq[E("M"), E("m")] | |
2024-06-10T16:19:17.193 regex_cursor::util::prefilter [DEBUG] prefixes (len=Some(2), exact=true) extracted after optimization: Seq[E("M"), E("m")] | |
2024-06-10T16:19:17.193 regex_cursor::engines::meta::strategy [DEBUG] trying to bypass regex engine by creating prefilter from 2 literals: [E("M"), E("m")] | |
2024-06-10T16:19:17.193 regex_cursor::engines::meta::strategy [DEBUG] found that the regex can be broken down to a literal search, avoiding the regex engine entirely | |
2024-06-10T16:19:17.194 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:19:17.388 regex_cursor::util::prefilter [DEBUG] prefixes (len=Some(4), exact=true) extracted before optimization: Seq[E("MA"), E("Ma"), E("mA"), E("ma")] | |
2024-06-10T16:19:17.388 regex_cursor::util::prefilter [DEBUG] prefixes (len=Some(4), exact=true) extracted after optimization: Seq[E("MA"), E("Ma"), E("mA"), E("ma")] | |
2024-06-10T16:19:17.388 regex_cursor::engines::meta::strategy [DEBUG] trying to bypass regex engine by creating prefilter from 4 literals: [E("MA"), E("Ma"), E("mA"), E("ma")] | |
2024-06-10T16:19:17.388 regex_cursor::engines::meta::strategy [DEBUG] found that the regex can be broken down to a literal search, avoiding the regex engine entirely | |
2024-06-10T16:19:17.389 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:19:17.433 regex_cursor::util::prefilter [DEBUG] prefixes (len=Some(8), exact=true) extracted before optimization: Seq[E("MAI"), E("MAi"), E("MaI"), E("Mai"), E("mAI"), E("mAi"), E("maI"), E("mai")] | |
2024-06-10T16:19:17.433 regex_cursor::util::prefilter [DEBUG] prefixes (len=Some(8), exact=true) extracted after optimization: Seq[E("MAI"), E("MAi"), E("MaI"), E("Mai"), E("mAI"), E("mAi"), E("maI"), E("mai")] | |
2024-06-10T16:19:17.433 regex_cursor::engines::meta::strategy [DEBUG] trying to bypass regex engine by creating prefilter from 8 literals: [E("MAI"), E("MAi"), E("MaI"), E("Mai"), E("mAI"), E("mAi"), E("maI"), E("mai")] | |
2024-06-10T16:19:17.434 regex_cursor::engines::meta::strategy [DEBUG] found that the regex can be broken down to a literal search, avoiding the regex engine entirely | |
2024-06-10T16:19:17.435 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:19:17.658 regex_cursor::util::prefilter [DEBUG] prefixes (len=Some(16), exact=true) extracted before optimization: Seq[E("MAIN"), E("MAIn"), E("MAiN"), E("MAin"), E("MaIN"), E("MaIn"), E("MaiN"), E("Main"), E("mAIN"), E("mAIn"), E("mAiN"), E("mAin"), E("maIN"), E("maIn"), E("maiN"), E("main")] | |
2024-06-10T16:19:17.658 regex_cursor::util::prefilter [DEBUG] prefixes (len=Some(16), exact=true) extracted after optimization: Seq[E("MAIN"), E("MAIn"), E("MAiN"), E("MAin"), E("MaIN"), E("MaIn"), E("MaiN"), E("Main"), E("mAIN"), E("mAIn"), E("mAiN"), E("mAin"), E("maIN"), E("maIn"), E("maiN"), E("main")] | |
2024-06-10T16:19:17.658 regex_cursor::engines::meta::strategy [DEBUG] trying to bypass regex engine by creating prefilter from 16 literals: [E("MAIN"), E("MAIn"), E("MAiN"), E("MAin"), E("MaIN"), E("MaIn"), E("MaiN"), E("Main"), E("mAIN"), E("mAIn"), E("mAiN"), E("mAin"), E("maIN"), E("maIn"), E("maiN"), E("main")] | |
2024-06-10T16:19:17.658 regex_cursor::engines::meta::strategy [DEBUG] found that the regex can be broken down to a literal search, avoiding the regex engine entirely | |
2024-06-10T16:19:17.660 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:19:18.123 regex_cursor::util::prefilter [DEBUG] prefixes (len=Some(16), exact=true) extracted before optimization: Seq[E("MAIN"), E("MAIn"), E("MAiN"), E("MAin"), E("MaIN"), E("MaIn"), E("MaiN"), E("Main"), E("mAIN"), E("mAIn"), E("mAiN"), E("mAin"), E("maIN"), E("maIn"), E("maiN"), E("main")] | |
2024-06-10T16:19:18.124 regex_cursor::util::prefilter [DEBUG] prefixes (len=Some(16), exact=true) extracted after optimization: Seq[E("MAIN"), E("MAIn"), E("MAiN"), E("MAin"), E("MaIN"), E("MaIn"), E("MaiN"), E("Main"), E("mAIN"), E("mAIn"), E("mAiN"), E("mAin"), E("maIN"), E("maIn"), E("maiN"), E("main")] | |
2024-06-10T16:19:18.124 regex_cursor::engines::meta::strategy [DEBUG] trying to bypass regex engine by creating prefilter from 16 literals: [E("MAIN"), E("MAIn"), E("MAiN"), E("MAin"), E("MaIN"), E("MaIn"), E("MaiN"), E("Main"), E("mAIN"), E("mAIn"), E("mAiN"), E("mAin"), E("maIN"), E("maIn"), E("maiN"), E("main")] | |
2024-06-10T16:19:18.124 regex_cursor::engines::meta::strategy [DEBUG] found that the regex can be broken down to a literal search, avoiding the regex engine entirely | |
2024-06-10T16:19:18.125 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:19:19.068 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:19:19.293 helix_lsp::transport [INFO] gopls -> {"jsonrpc":"2.0","method":"textDocument/prepareRename","params":{"position":{"character":8,"line":31},"textDocument":{"uri":"file:///home/z/project/wb/postman/main.go"}},"id":2} | |
2024-06-10T16:19:19.294 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:19:19.295 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","result":{"range":{"start":{"line":31,"character":5},"end":{"line":31,"character":9}},"placeholder":"main"},"id":2} | |
2024-06-10T16:19:19.295 helix_lsp::transport [INFO] gopls <- {"placeholder":"main","range":{"end":{"character":9,"line":31},"start":{"character":5,"line":31}}} | |
2024-06-10T16:19:19.296 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:19:19.544 helix_term::application [DEBUG] received editor event: IdleTimer | |
2024-06-10T16:19:20.704 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:19:21.138 helix_lsp::transport [INFO] gopls -> {"jsonrpc":"2.0","method":"textDocument/rename","params":{"newName":"mainx","position":{"character":8,"line":31},"textDocument":{"uri":"file:///home/z/project/wb/postman/main.go"}},"id":3} | |
2024-06-10T16:19:21.141 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","result":{"documentChanges":[{"textDocument":{"version":0,"uri":"file:///home/z/project/wb/postman/main.go"},"edits":[{"range":{"start":{"line":31,"character":5},"end":{"line":31,"character":9}},"newText":"mainx"}]}]},"id":3} | |
2024-06-10T16:19:21.141 helix_lsp::transport [INFO] gopls <- {"documentChanges":[{"edits":[{"newText":"mainx","range":{"end":{"character":9,"line":31},"start":{"character":5,"line":31}}}],"textDocument":{"uri":"file:///home/z/project/wb/postman/main.go","version":0}}]} | |
2024-06-10T16:19:21.144 helix_lsp::transport [INFO] gopls -> {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"contentChanges":[{"range":{"end":{"character":9,"line":31},"start":{"character":5,"line":31}},"text":"mainx"}],"textDocument":{"uri":"file:///home/z/project/wb/postman/main.go","version":1}}} | |
2024-06-10T16:19:21.154 helix_vcs::diff::worker [INFO] Diff computation timed out, update of diffs might appear delayed | |
2024-06-10T16:19:21.155 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 1 | |
2024-06-10T16:19:22.187 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/z/project/wb/postman/main.go","version":1,"diagnostics":[]}} | |
2024-06-10T16:19:22.188 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: Some(V2), method: "textDocument/publishDiagnostics", params: Map({"diagnostics": Array [], "uri": String("file:///home/z/project/wb/postman/main.go"), "version": Number(1)}) }))) | |
2024-06-10T16:19:22.222 helix_term::application [DEBUG] received editor event: Redraw | |
2024-06-10T16:19:22.223 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 1 | |
2024-06-10T16:19:22.431 helix_view::view [DEBUG] Syncing view ViewId(2v1) between 1 and 0 | |
2024-06-10T16:19:22.431 helix_lsp::transport [INFO] gopls -> {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"contentChanges":[{"range":{"end":{"character":10,"line":31},"start":{"character":5,"line":31}},"text":"main"}],"textDocument":{"uri":"file:///home/z/project/wb/postman/main.go","version":2}}} | |
2024-06-10T16:19:22.432 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:19:22.680 helix_term::application [DEBUG] received editor event: IdleTimer | |
2024-06-10T16:19:22.680 helix_lsp::transport [INFO] gopls -> {"jsonrpc":"2.0","method":"textDocument/inlayHint","params":{"range":{"end":{"character":0,"line":88},"start":{"character":0,"line":0}},"textDocument":{"uri":"file:///home/z/project/wb/postman/main.go"}},"id":4} | |
2024-06-10T16:19:22.688 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","result":[{"position":{"line":33,"character":14},"label":[{"value":"a...:"}],"kind":2,"paddingRight":true},{"position":{"line":37,"character":4},"label":[{"value":"string"}],"kind":1,"paddingLeft":true},{"position":{"line":37,"character":22},"label":[{"value":"dir:"}],"kind":2,"paddingRight":true},{"position":{"line":39,"character":17},"label":[{"value":"rootDir:"}],"kind":2,"paddingRight":true},{"position":{"line":39,"character":29},"label":[{"value":"name:"}],"kind":2,"paddingRight":true},{"position":{"line":39,"character":52},"label":[{"value":"relativeOpenapiSpecPath:"}],"kind":2,"paddingRight":true},{"position":{"line":43,"character":16},"label":[{"value":"string"}],"kind":1,"paddingLeft":true},{"position":{"line":43,"character":34},"label":[{"value":"elem...:"}],"kind":2,"paddingRight":true},{"position":{"line":44,"character":7},"label":[{"value":"*openapi3.Loader"}],"kind":1,"paddingLeft":true},{"position":{"line":46,"character":4},"label":[{"value":"*openapi3.T"}],"kind":1,"paddingLeft":true},{"position":{"line":46,"character":9},"label":[{"value":"error"}],"kind":1,"paddingLeft":true},{"position":{"line":46,"character":33},"label":[{"value":"location:"}],"kind":2,"paddingRight":true},{"position":{"line":48,"character":13},"label":[{"value":"format:"}],"kind":2,"paddingRight":true},{"position":{"line":48,"character":49},"label":[{"value":"a...:"}],"kind":2,"paddingRight":true},{"position":{"line":52,"character":6},"label":[{"value":"map[string]*openapi3.PathItem"}],"kind":1,"paddingLeft":true},{"position":{"line":53,"character":16},"label":[{"value":"[]string"}],"kind":1,"paddingLeft":true},{"position":{"line":54,"character":6},"label":[{"value":"string"}],"kind":1,"paddingLeft":true},{"position":{"line":58,"character":14},"label":[{"value":"x:"}],"kind":2,"paddingRight":true},{"position":{"line":60,"character":11},"label":[{"value":"*postman.Collection"}],"kind":1,"paddingLeft":true},{"position":{"line":60,"character":46},"label":[{"value":"desc:"}],"kind":2,"paddingRight":true},{"position":{"line":62,"character":6},"label":[{"value":"int"}],"kind":1,"paddingLeft":true},{"position":{"line":62,"character":12},"label":[{"value":"string"}],"kind":1,"paddingLeft":true},{"position":{"line":63,"character":10},"label":[{"value":"*openapi3.PathItem"}],"kind":1,"paddingLeft":true},{"position":{"line":64,"character":7},"label":[{"value":"[]*postman.Items"}],"kind":1,"paddingLeft":true},{"position":{"line":67,"character":12},"label":[{"value":"string"}],"kind":1,"paddingLeft":true},{"position":{"line":67,"character":23},"label":[{"value":"*openapi3.Operation"}],"kind":1,"paddingLeft":true},{"position":{"line":68,"character":14},"label":[{"value":"format:"}],"kind":2,"paddingRight":true},{"position":{"line":68,"character":25},"label":[{"value":"a...:"}],"kind":2,"paddingRight":true},{"position":{"line":69,"character":10},"label":[{"value":"*postman.Request"}],"kind":1,"paddingLeft":true},{"position":{"line":74,"character":25},"label":[{"value":"s:"}],"kind":2,"paddingRight":true},{"position":{"line":74,"character":56},"label":[{"value":"sep:"}],"kind":2,"paddingRight":true},{"position":{"line":74,"character":44},"label":[{"value":"s:"}],"kind":2,"paddingRight":true},{"position":{"line":74,"character":50},"label":[{"value":"prefix:"}],"kind":2,"paddingRight":true},{"position":{"line":76,"character":43},"label":[{"value":"s:"}],"kind":2,"paddingRight":true},{"position":{"line":80,"character":14},"label":[{"value":"a...:"}],"kind":2,"paddingRight":true},{"position":{"line":83,"character":8},"label":[{"value":"int"}],"kind":1,"paddingLeft":true},{"position":{"line":83,"character":15},"label":[{"value":"*openapi3.ParameterRef"}],"kind":1,"paddingLeft":true},{"position":{"line":86,"character":9},"label":[{"value":"string"}],"kind":1,"paddingLeft":true},{"position":{"line":87,"character":14},"label":[{"value":"string"}],"kind":1,"paddingLeft":true}],"id":4} | |
2024-06-10T16:19:22.689 helix_lsp::transport [INFO] gopls <- [{"kind":2,"label":[{"value":"a...:"}],"paddingRight":true,"position":{"character":14,"line":33}},{"kind":1,"label":[{"value":"string"}],"paddingLeft":true,"position":{"character":4,"line":37}},{"kind":2,"label":[{"value":"dir:"}],"paddingRight":true,"position":{"character":22,"line":37}},{"kind":2,"label":[{"value":"rootDir:"}],"paddingRight":true,"position":{"character":17,"line":39}},{"kind":2,"label":[{"value":"name:"}],"paddingRight":true,"position":{"character":29,"line":39}},{"kind":2,"label":[{"value":"relativeOpenapiSpecPath:"}],"paddingRight":true,"position":{"character":52,"line":39}},{"kind":1,"label":[{"value":"string"}],"paddingLeft":true,"position":{"character":16,"line":43}},{"kind":2,"label":[{"value":"elem...:"}],"paddingRight":true,"position":{"character":34,"line":43}},{"kind":1,"label":[{"value":"*openapi3.Loader"}],"paddingLeft":true,"position":{"character":7,"line":44}},{"kind":1,"label":[{"value":"*openapi3.T"}],"paddingLeft":true,"position":{"character":4,"line":46}},{"kind":1,"label":[{"value":"error"}],"paddingLeft":true,"position":{"character":9,"line":46}},{"kind":2,"label":[{"value":"location:"}],"paddingRight":true,"position":{"character":33,"line":46}},{"kind":2,"label":[{"value":"format:"}],"paddingRight":true,"position":{"character":13,"line":48}},{"kind":2,"label":[{"value":"a...:"}],"paddingRight":true,"position":{"character":49,"line":48}},{"kind":1,"label":[{"value":"map[string]*openapi3.PathItem"}],"paddingLeft":true,"position":{"character":6,"line":52}},{"kind":1,"label":[{"value":"[]string"}],"paddingLeft":true,"position":{"character":16,"line":53}},{"kind":1,"label":[{"value":"string"}],"paddingLeft":true,"position":{"character":6,"line":54}},{"kind":2,"label":[{"value":"x:"}],"paddingRight":true,"position":{"character":14,"line":58}},{"kind":1,"label":[{"value":"*postman.Collection"}],"paddingLeft":true,"position":{"character":11,"line":60}},{"kind":2,"label":[{"value":"desc:"}],"paddingRight":true,"position":{"character":46,"line":60}},{"kind":1,"label":[{"value":"int"}],"paddingLeft":true,"position":{"character":6,"line":62}},{"kind":1,"label":[{"value":"string"}],"paddingLeft":true,"position":{"character":12,"line":62}},{"kind":1,"label":[{"value":"*openapi3.PathItem"}],"paddingLeft":true,"position":{"character":10,"line":63}},{"kind":1,"label":[{"value":"[]*postman.Items"}],"paddingLeft":true,"position":{"character":7,"line":64}},{"kind":1,"label":[{"value":"string"}],"paddingLeft":true,"position":{"character":12,"line":67}},{"kind":1,"label":[{"value":"*openapi3.Operation"}],"paddingLeft":true,"position":{"character":23,"line":67}},{"kind":2,"label":[{"value":"format:"}],"paddingRight":true,"position":{"character":14,"line":68}},{"kind":2,"label":[{"value":"a...:"}],"paddingRight":true,"position":{"character":25,"line":68}},{"kind":1,"label":[{"value":"*postman.Request"}],"paddingLeft":true,"position":{"character":10,"line":69}},{"kind":2,"label":[{"value":"s:"}],"paddingRight":true,"position":{"character":25,"line":74}},{"kind":2,"label":[{"value":"sep:"}],"paddingRight":true,"position":{"character":56,"line":74}},{"kind":2,"label":[{"value":"s:"}],"paddingRight":true,"position":{"character":44,"line":74}},{"kind":2,"label":[{"value":"prefix:"}],"paddingRight":true,"position":{"character":50,"line":74}},{"kind":2,"label":[{"value":"s:"}],"paddingRight":true,"position":{"character":43,"line":76}},{"kind":2,"label":[{"value":"a...:"}],"paddingRight":true,"position":{"character":14,"line":80}},{"kind":1,"label":[{"value":"int"}],"paddingLeft":true,"position":{"character":8,"line":83}},{"kind":1,"label":[{"value":"*openapi3.ParameterRef"}],"paddingLeft":true,"position":{"character":15,"line":83}},{"kind":1,"label":[{"value":"string"}],"paddingLeft":true,"position":{"character":9,"line":86}},{"kind":1,"label":[{"value":"string"}],"paddingLeft":true,"position":{"character":14,"line":87}}] | |
2024-06-10T16:19:22.690 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:19:23.419 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:19:23.481 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/z/project/wb/postman/main.go","version":2,"diagnostics":[]}} | |
2024-06-10T16:19:23.481 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: Some(V2), method: "textDocument/publishDiagnostics", params: Map({"diagnostics": Array [], "uri": String("file:///home/z/project/wb/postman/main.go"), "version": Number(2)}) }))) | |
2024-06-10T16:19:23.516 helix_term::application [DEBUG] received editor event: Redraw | |
2024-06-10T16:19:23.517 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:19:23.669 helix_term::application [DEBUG] received editor event: IdleTimer | |
2024-06-10T16:19:24.020 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:19:24.079 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:19:25.203 helix_term::job [DEBUG] waiting on jobs... | |
2024-06-10T16:19:25.203 helix_lsp::transport [INFO] gopls -> {"jsonrpc":"2.0","method":"textDocument/formatting","params":{"options":{"insertSpaces":false,"tabSize":4},"textDocument":{"uri":"file:///home/z/project/wb/postman/main.go"}},"id":5} | |
2024-06-10T16:19:25.210 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","result":[],"id":5} | |
2024-06-10T16:19:25.211 helix_lsp::transport [INFO] gopls <- [] | |
2024-06-10T16:19:25.211 helix_view::document [DEBUG] submitting save of doc 'Some("/home/z/project/wb/postman/main.go")' | |
2024-06-10T16:19:25.227 helix_lsp::transport [INFO] gopls -> {"jsonrpc":"2.0","method":"textDocument/didSave","params":{"textDocument":{"uri":"file:///home/z/project/wb/postman/main.go"}}} | |
2024-06-10T16:19:25.227 helix_view::document [DEBUG] doc 1 revision updated 0 -> 0 | |
2024-06-10T16:19:25.227 helix_term::commands::typed [DEBUG] quitting... | |
2024-06-10T16:19:25.227 helix_lsp::file_event [DEBUG] Received file event for "/home/z/project/wb/postman/main.go" | |
2024-06-10T16:19:25.227 helix_lsp::file_event [DEBUG] Sending didChangeWatchedFiles notification to client 'gopls' | |
2024-06-10T16:19:25.227 helix_lsp::transport [INFO] gopls -> {"jsonrpc":"2.0","method":"workspace/didChangeWatchedFiles","params":{"changes":[{"type":2,"uri":"file:///home/z/project/wb/postman/main.go"}]}} | |
2024-06-10T16:19:25.227 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:19:25.227 helix_term::job [DEBUG] waiting on jobs... | |
2024-06-10T16:19:25.227 helix_term::job [DEBUG] waiting on jobs... | |
2024-06-10T16:19:25.227 helix_lsp::file_event [DEBUG] Removing LSP client: 0 | |
2024-06-10T16:19:25.227 helix_lsp::transport [INFO] gopls -> {"jsonrpc":"2.0","method":"shutdown","id":6} | |
2024-06-10T16:19:25.229 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","result":null,"id":6} | |
2024-06-10T16:19:25.229 helix_lsp::transport [INFO] gopls <- null | |
2024-06-10T16:19:25.229 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"2024/06/10 16:19:25 Shutdown session\n\tshutdown_session=1\n"}} | |
2024-06-10T16:19:25.229 helix_lsp::transport [INFO] gopls -> {"jsonrpc":"2.0","method":"exit"} | |
2024-06-10T16:19:25.229 mio::poll [TRACE] deregistering event source from poller | |
2024-06-10T16:19:25.230 mio::poll [TRACE] deregistering event source from poller | |
2024-06-10T16:19:25.230 mio::poll [TRACE] deregistering event source from poller | |
2024-06-10T16:19:25.231 mio::poll [TRACE] deregistering event source from poller | |
2024-06-10T16:19:25.232 mio::poll [TRACE] deregistering event source from poller | |
2024-06-10T16:19:25.232 mio::poll [TRACE] deregistering event source from poller | |
2024-06-10T16:21:58.791 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-06-10T16:21:58.806 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-06-10T16:21:58.806 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-06-10T16:21:58.806 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-06-10T16:21:58.806 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-06-10T16:21:58.806 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-06-10T16:21:58.806 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-06-10T16:21:58.806 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-06-10T16:21:58.806 globset [DEBUG] built glob set; 1 literals, 0 basenames, 0 extensions, 0 prefixes, 121 suffixes, 5 required extensions, 8 regexes | |
2024-06-10T16:21:58.808 helix_view::clipboard [DEBUG] Using wl-copy+wl-paste to interact with the system and selection (primary) clipboard | |
2024-06-10T16:21:58.816 mio::poll [TRACE] registering event source with poller: token=Token(94352089771776), interests=READABLE | WRITABLE | |
2024-06-10T16:21:58.816 mio::poll [TRACE] registering event source with poller: token=Token(94352091505280), interests=READABLE | WRITABLE | |
2024-06-10T16:21:58.816 mio::poll [TRACE] registering event source with poller: token=Token(94352088664960), interests=READABLE | WRITABLE | |
2024-06-10T16:21:58.816 mio::poll [TRACE] registering event source with poller: token=Token(94352091581312), interests=READABLE | |
2024-06-10T16:21:58.816 helix_view::editor [DEBUG] Language server not found for `source.go` golangci-lint-lsp command 'golangci-lint-langserver' not found: cannot find binary path | |
2024-06-10T16:21:58.816 helix_view::editor [DEBUG] editor status: Loaded 1 file. | |
2024-06-10T16:21:58.816 helix_lsp::client [INFO] Using custom LSP config: {"hints":{"assignVariableTypes":true,"compositeLiteralFields":true,"constantValues":true,"functionTypeParameters":true,"parameterNames":true,"rangeVariableTypes":true}} | |
2024-06-10T16:21:58.816 mio::poll [TRACE] registering event source with poller: token=Token(94352090024192), interests=READABLE | WRITABLE | |
2024-06-10T16:21:58.816 mio::poll [TRACE] registering event source with poller: token=Token(94352091572352), interests=READABLE | WRITABLE | |
2024-06-10T16:21:58.816 mio::poll [TRACE] registering event source with poller: token=Token(0), interests=READABLE | |
2024-06-10T16:21:58.816 helix_lsp::transport [INFO] gopls -> {"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":{}},"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.3 (2cadec0b)"},"initializationOptions":{"hints":{"assignVariableTypes":true,"compositeLiteralFields":true,"constantValues":true,"functionTypeParameters":true,"parameterNames":true,"rangeVariableTypes":true}},"processId":858152,"rootPath":"/home/z/project/wb/postman","rootUri":"file:///home/z/project/wb/postman","workspaceFolders":[{"name":"postman","uri":"file:///home/z/project/wb/postman"}]},"id":0} | |
2024-06-10T16:21:58.816 mio::poll [TRACE] registering event source with poller: token=Token(1), interests=READABLE | |
2024-06-10T16:21:58.817 helix_tui::backend::crossterm [DEBUG] The keyboard enhancement protocol is supported in this terminal (checked in 198.373µs) | |
2024-06-10T16:21:58.817 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:21:58.839 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","result":{"capabilities":{"textDocumentSync":{"openClose":true,"change":2,"save":{}},"completionProvider":{"triggerCharacters":["."]},"hoverProvider":true,"signatureHelpProvider":{"triggerCharacters":["(",","]},"definitionProvider":true,"typeDefinitionProvider":true,"implementationProvider":true,"referencesProvider":true,"documentHighlightProvider":true,"documentSymbolProvider":true,"codeActionProvider":{"codeActionKinds":["quickfix","refactor.extract","refactor.inline","refactor.rewrite","source.fixAll","source.organizeImports"]},"codeLensProvider":{},"documentLinkProvider":{},"workspaceSymbolProvider":true,"documentFormattingProvider":true,"renameProvider":{"prepareProvider":true},"foldingRangeProvider":true,"selectionRangeProvider":true,"executeCommandProvider":{"commands":["gopls.add_dependency","gopls.add_import","gopls.add_telemetry_counters","gopls.apply_fix","gopls.change_signature","gopls.check_upgrades","gopls.edit_go_directive","gopls.fetch_vulncheck_result","gopls.gc_details","gopls.generate","gopls.go_get_package","gopls.list_imports","gopls.list_known_packages","gopls.maybe_prompt_for_telemetry","gopls.mem_stats","gopls.regenerate_cgo","gopls.remove_dependency","gopls.reset_go_mod_diagnostics","gopls.run_go_work_command","gopls.run_govulncheck","gopls.run_tests","gopls.start_debugging","gopls.start_profile","gopls.stop_profile","gopls.test","gopls.tidy","gopls.toggle_gc_details","gopls.update_go_sum","gopls.upgrade_dependency","gopls.vendor","gopls.workspace_stats"]},"callHierarchyProvider":true,"semanticTokensProvider":{"legend":{"tokenTypes":[],"tokenModifiers":[]},"range":true,"full":true},"inlayHintProvider":{},"workspace":{"workspaceFolders":{"supported":true,"changeNotifications":"workspace/didChangeWorkspaceFolders"}}},"serverInfo":{"name":"gopls","version":"{\"GoVersion\":\"go1.21.6\",\"Path\":\"golang.org/x/tools/gopls\",\"Main\":{\"Path\":\"golang.org/x/tools/gopls\",\"Version\":\"v0.14.2\",\"Sum\":\"h1:sIw6vjZiuQ9S7s0auUUkHlWgsCkKZFWDHmrge8LYsnc=\",\"Replace\":null},\"Deps\":[{\"Path\":\"github.com/BurntSushi/toml\",\"Version\":\"v1.2.1\",\"Sum\":\"h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak=\",\"Replace\":null},{\"Path\":\"github.com/google/go-cmp\",\"Version\":\"v0.5.9\",\"Sum\":\"h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=\",\"Replace\":null},{\"Path\":\"github.com/sergi/go-diff\",\"Version\":\"v1.1.0\",\"Sum\":\"h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0=\",\"Replace\":null},{\"Path\":\"golang.org/x/exp/typeparams\",\"Version\":\"v0.0.0-20221212164502-fae10dda9338\",\"Sum\":\"h1:2O2DON6y3XMJiQRAS1UWU+54aec2uopH3x7MAiqGW6Y=\",\"Replace\":null},{\"Path\":\"golang.org/x/mod\",\"Version\":\"v0.14.0\",\"Sum\":\"h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0=\",\"Replace\":null},{\"Path\":\"golang.org/x/sync\",\"Version\":\"v0.4.0\",\"Sum\":\"h1:zxkM55ReGkDlKSM+Fu41A+zmbZuaPVbGMzvvdUPznYQ=\",\"Replace\":null},{\"Path\":\"golang.org/x/sys\",\"Version\":\"v0.14.0\",\"Sum\":\"h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q=\",\"Replace\":null},{\"Path\":\"golang.org/x/telemetry\",\"Version\":\"v0.0.0-20231114163143-69313e640400\",\"Sum\":\"h1:brbkEFfGwNGAEkykUOcryE/JiHUMMJouzE0fWWmz/QU=\",\"Replace\":null},{\"Path\":\"golang.org/x/text\",\"Version\":\"v0.13.0\",\"Sum\":\"h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k=\",\"Replace\":null},{\"Path\":\"golang.org/x/tools\",\"Version\":\"v0.14.1-0.20231114185516-c9d3e7de13fd\",\"Sum\":\"h1:Oku7E+OCrXHyst1dG1z10etCTxewCHXNFLRlyMPbh3w=\",\"Replace\":null},{\"Path\":\"golang.org/x/vuln\",\"Version\":\"v1.0.1\",\"Sum\":\"h1:KUas02EjQK5LTuIx1OylBQdKKZ9jeugs+HiqO5HormU=\",\"Replace\":null},{\"Path\":\"honnef.co/go/tools\",\"Version\":\"v0.4.5\",\"Sum\":\"h1:YGD4H+SuIOOqsyoLOpZDWcieM28W47/zRO7f+9V3nvo=\",\"Replace\":null},{\"Path\":\"mvdan.cc/gofumpt\",\"Version\":\"v0.4.0\",\"Sum\":\"h1:JVf4NN1mIpHogBj7ABpgOyZc65/UUOkKQFkoURsz4MM=\",\"Replace\":null},{\"Path\":\"mvdan.cc/xurls/v2\",\"Version\":\"v2.4.0\",\"Sum\":\"h1:tzxjVAj+wSBmDcF6zBB7/myTy3gX9xvi8Tyr28AuQgc=\",\"Replace\":null}],\"Settings\":[{\"Key\":\"-buildmode\",\"Value\":\"exe\"},{\"Key\":\"-compiler\",\"Value\":\"gc\"},{\"Key\":\"DefaultGODEBUG\",\"Value\":\"panicnil=1\"},{\"Key\":\"CGO_ENABLED\",\"Value\":\"1\"},{\"Key\":\"CGO_CFLAGS\",\"Value\":\"\"},{\"Key\":\"CGO_CPPFLAGS\",\"Value\":\"\"},{\"Key\":\"CGO_CXXFLAGS\",\"Value\":\"\"},{\"Key\":\"CGO_LDFLAGS\",\"Value\":\"\"},{\"Key\":\"GOARCH\",\"Value\":\"amd64\"},{\"Key\":\"GOOS\",\"Value\":\"linux\"},{\"Key\":\"GOAMD64\",\"Value\":\"v1\"}],\"Version\":\"v0.14.2\"}"}},"id":0} | |
2024-06-10T16:21:58.839 helix_lsp::transport [INFO] gopls <- {"capabilities":{"callHierarchyProvider":true,"codeActionProvider":{"codeActionKinds":["quickfix","refactor.extract","refactor.inline","refactor.rewrite","source.fixAll","source.organizeImports"]},"codeLensProvider":{},"completionProvider":{"triggerCharacters":["."]},"definitionProvider":true,"documentFormattingProvider":true,"documentHighlightProvider":true,"documentLinkProvider":{},"documentSymbolProvider":true,"executeCommandProvider":{"commands":["gopls.add_dependency","gopls.add_import","gopls.add_telemetry_counters","gopls.apply_fix","gopls.change_signature","gopls.check_upgrades","gopls.edit_go_directive","gopls.fetch_vulncheck_result","gopls.gc_details","gopls.generate","gopls.go_get_package","gopls.list_imports","gopls.list_known_packages","gopls.maybe_prompt_for_telemetry","gopls.mem_stats","gopls.regenerate_cgo","gopls.remove_dependency","gopls.reset_go_mod_diagnostics","gopls.run_go_work_command","gopls.run_govulncheck","gopls.run_tests","gopls.start_debugging","gopls.start_profile","gopls.stop_profile","gopls.test","gopls.tidy","gopls.toggle_gc_details","gopls.update_go_sum","gopls.upgrade_dependency","gopls.vendor","gopls.workspace_stats"]},"foldingRangeProvider":true,"hoverProvider":true,"implementationProvider":true,"inlayHintProvider":{},"referencesProvider":true,"renameProvider":{"prepareProvider":true},"selectionRangeProvider":true,"semanticTokensProvider":{"full":true,"legend":{"tokenModifiers":[],"tokenTypes":[]},"range":true},"signatureHelpProvider":{"triggerCharacters":["(",","]},"textDocumentSync":{"change":2,"openClose":true,"save":{}},"typeDefinitionProvider":true,"workspace":{"workspaceFolders":{"changeNotifications":"workspace/didChangeWorkspaceFolders","supported":true}},"workspaceSymbolProvider":true},"serverInfo":{"name":"gopls","version":"{\"GoVersion\":\"go1.21.6\",\"Path\":\"golang.org/x/tools/gopls\",\"Main\":{\"Path\":\"golang.org/x/tools/gopls\",\"Version\":\"v0.14.2\",\"Sum\":\"h1:sIw6vjZiuQ9S7s0auUUkHlWgsCkKZFWDHmrge8LYsnc=\",\"Replace\":null},\"Deps\":[{\"Path\":\"github.com/BurntSushi/toml\",\"Version\":\"v1.2.1\",\"Sum\":\"h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak=\",\"Replace\":null},{\"Path\":\"github.com/google/go-cmp\",\"Version\":\"v0.5.9\",\"Sum\":\"h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=\",\"Replace\":null},{\"Path\":\"github.com/sergi/go-diff\",\"Version\":\"v1.1.0\",\"Sum\":\"h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0=\",\"Replace\":null},{\"Path\":\"golang.org/x/exp/typeparams\",\"Version\":\"v0.0.0-20221212164502-fae10dda9338\",\"Sum\":\"h1:2O2DON6y3XMJiQRAS1UWU+54aec2uopH3x7MAiqGW6Y=\",\"Replace\":null},{\"Path\":\"golang.org/x/mod\",\"Version\":\"v0.14.0\",\"Sum\":\"h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0=\",\"Replace\":null},{\"Path\":\"golang.org/x/sync\",\"Version\":\"v0.4.0\",\"Sum\":\"h1:zxkM55ReGkDlKSM+Fu41A+zmbZuaPVbGMzvvdUPznYQ=\",\"Replace\":null},{\"Path\":\"golang.org/x/sys\",\"Version\":\"v0.14.0\",\"Sum\":\"h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q=\",\"Replace\":null},{\"Path\":\"golang.org/x/telemetry\",\"Version\":\"v0.0.0-20231114163143-69313e640400\",\"Sum\":\"h1:brbkEFfGwNGAEkykUOcryE/JiHUMMJouzE0fWWmz/QU=\",\"Replace\":null},{\"Path\":\"golang.org/x/text\",\"Version\":\"v0.13.0\",\"Sum\":\"h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k=\",\"Replace\":null},{\"Path\":\"golang.org/x/tools\",\"Version\":\"v0.14.1-0.20231114185516-c9d3e7de13fd\",\"Sum\":\"h1:Oku7E+OCrXHyst1dG1z10etCTxewCHXNFLRlyMPbh3w=\",\"Replace\":null},{\"Path\":\"golang.org/x/vuln\",\"Version\":\"v1.0.1\",\"Sum\":\"h1:KUas02EjQK5LTuIx1OylBQdKKZ9jeugs+HiqO5HormU=\",\"Replace\":null},{\"Path\":\"honnef.co/go/tools\",\"Version\":\"v0.4.5\",\"Sum\":\"h1:YGD4H+SuIOOqsyoLOpZDWcieM28W47/zRO7f+9V3nvo=\",\"Replace\":null},{\"Path\":\"mvdan.cc/gofumpt\",\"Version\":\"v0.4.0\",\"Sum\":\"h1:JVf4NN1mIpHogBj7ABpgOyZc65/UUOkKQFkoURsz4MM=\",\"Replace\":null},{\"Path\":\"mvdan.cc/xurls/v2\",\"Version\":\"v2.4.0\",\"Sum\":\"h1:tzxjVAj+wSBmDcF6zBB7/myTy3gX9xvi8Tyr28AuQgc=\",\"Replace\":null}],\"Settings\":[{\"Key\":\"-buildmode\",\"Value\":\"exe\"},{\"Key\":\"-compiler\",\"Value\":\"gc\"},{\"Key\":\"DefaultGODEBUG\",\"Value\":\"panicnil=1\"},{\"Key\":\"CGO_ENABLED\",\"Value\":\"1\"},{\"Key\":\"CGO_CFLAGS\",\"Value\":\"\"},{\"Key\":\"CGO_CPPFLAGS\",\"Value\":\"\"},{\"Key\":\"CGO_CXXFLAGS\",\"Value\":\"\"},{\"Key\":\"CGO_LDFLAGS\",\"Value\":\"\"},{\"Key\":\"GOARCH\",\"Value\":\"amd64\"},{\"Key\":\"GOOS\",\"Value\":\"linux\"},{\"Key\":\"GOAMD64\",\"Value\":\"v1\"}],\"Version\":\"v0.14.2\"}"}} | |
2024-06-10T16:21:58.839 helix_lsp::transport [INFO] gopls -> {"jsonrpc":"2.0","method":"initialized","params":{}} | |
2024-06-10T16:21:58.839 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: None, method: "initialized", params: None }))) | |
2024-06-10T16:21:58.839 helix_lsp::transport [INFO] gopls -> {"jsonrpc":"2.0","method":"workspace/didChangeConfiguration","params":{"settings":{"hints":{"assignVariableTypes":true,"compositeLiteralFields":true,"constantValues":true,"functionTypeParameters":true,"parameterNames":true,"rangeVariableTypes":true}}}} | |
2024-06-10T16:21:58.839 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","method":"window/workDoneProgress/create","params":{"token":"3299754501610098282"},"id":1} | |
2024-06-10T16:21:58.839 helix_lsp::transport [INFO] gopls -> {"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"languageId":"go","text":"package main\n\nimport (\n\t\"bytes\"\n\t\"cmp\"\n\t\"os/exec\"\n\n\t\"fmt\"\n\t\"go/ast\"\n\t\"go/parser\"\n\t\"go/token\"\n\n\t\"os\"\n\t\"path/filepath\"\n\t\"reflect\"\n\t\"regexp\"\n\t\"slices\"\n\t\"sort\"\n\t\"strings\"\n\n\t\"github.com/davecgh/go-spew/spew\"\n\t\"github.com/getkin/kin-openapi/openapi3\"\n\t\"github.com/rbretecher/go-postman-collection\"\n\t\"golang.org/x/text/cases\"\n\t\"golang.org/x/text/language\"\n\n\t\"gopkg.in/yaml.v2\"\n\n\t_ \"gitlab.wildberries.ru/southdev/kwms/colib.git/app\"\n)\n\nfunc main() {\n\tif len(os.Args) < 2 {\n\t\tfmt.Println(\"Usage: go run main.go /path/to/colib\")\n\t\treturn\n\t}\n\n\ttag := getCurrentTag(os.Args[1])\n\n\tprintCollection(os.Args[1], \"wh-api-gateway \"+tag, \"api/whapigateway/openapi/spec.yml\")\n}\n\nfunc printCollection(rootDir, name, relativeOpenapiSpecPath string) {\n\topenapiSpecPath := filepath.Join(rootDir, relativeOpenapiSpecPath)\n\tloader := openapi3.NewLoader()\n\tloader.IsExternalRefsAllowed = true\n\tdoc, err := loader.LoadFromFile(openapiSpecPath)\n\tif err != nil {\n\t\tfmt.Printf(\"Error parsing OpenAPI spec: %v\\n\", err)\n\t\treturn\n\t}\n\n\tpaths := doc.Paths.Map()\n\torderedPathKeys := make([]string, 0, len(paths))\n\tfor p := range paths {\n\t\torderedPathKeys = append(orderedPathKeys, p)\n\t}\n\n\tsort.Strings(orderedPathKeys)\n\n\tcollection := postman.CreateCollection(name, \"Colib Specs\")\n\n\tfor _, path := range orderedPathKeys {\n\t\tpathItem := paths[path]\n\t\titems := make([]*postman.Items, 0, 16)\n\t\tvar auth *postman.Auth\n\n\t\tfor method, operation := range pathItem.Operations() {\n\t\t\tfmt.Printf(\"%s %s\\n\", method, path)\n\t\t\trequest := &postman.Request{\n\t\t\t\tDescription: operation.Summary,\n\t\t\t\tURL: &postman.URL{\n\t\t\t\t\tRaw: \"{{baseUrl}}\" + path,\n\t\t\t\t\tHost: []string{\"{{baseUrl}}\"},\n\t\t\t\t\tPath: strings.Split(strings.TrimPrefix(path, \"/\"), \"/\"),\n\t\t\t\t},\n\t\t\t\tMethod: postman.Method(strings.ToUpper(method)),\n\t\t\t}\n\n\t\t\tif false {\n\t\t\t\tspew.Dump(pathItem)\n\t\t\t}\n\n\t\t\tfor _, param := range operation.Parameters {\n\t\t\t\tswitch param.Value.In {\n\t\t\t\tcase openapi3.ParameterInPath:\n\t\t\t\t\tname := param.Value.Name\n\t\t\t\t\tcurlyName := \"{\" + name + \"}\"\n\t\t\t\t\tmustacheVar := createMustacheVariable(path, name)\n\t\t\t\t\tre := regexp.MustCompile(regexp.QuoteMeta(curlyName))\n\t\t\t\t\trequest.URL.Raw = re.ReplaceAllString(request.URL.Raw, mustacheVar)\n\t\t\t\t\tfor i, p := range request.URL.Path {\n\t\t\t\t\t\trequest.URL.Path[i] = strings.ReplaceAll(p, curlyName, mustacheVar)\n\t\t\t\t\t}\n\t\t\t\tcase openapi3.ParameterInHeader:\n\t\t\t\t\trequest.Header = append(request.Header, &postman.Header{\n\t\t\t\t\t\tKey: param.Value.Name,\n\t\t\t\t\t\tValue: fmt.Sprintf(\"%v\", param.Value.Example),\n\t\t\t\t\t\tDisabled: false,\n\t\t\t\t\t\tDescription: param.Value.Description,\n\t\t\t\t\t})\n\t\t\t\tcase openapi3.ParameterInCookie:\n\t\t\t\t\tpanic(\"TODO: parameter in cookie\")\n\t\t\t\tcase openapi3.ParameterInQuery:\n\t\t\t\t\tdescription := param.Value.Description\n\t\t\t\t\tif description != \"\" {\n\t\t\t\t\t\tdescription += \", \"\n\t\t\t\t\t}\n\t\t\t\t\tdescription += param.Value.Schema.Value.Format\n\t\t\t\t\trequest.URL.Query = append(request.URL.Query, &postman.QueryParam{\n\t\t\t\t\t\tKey: param.Value.Name,\n\t\t\t\t\t\tDisabled: !param.Value.Required,\n\t\t\t\t\t\tDescription: &description,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif operation.RequestBody != nil {\n\t\t\t\tfor contentType, mediaType := range operation.RequestBody.Value.Content {\n\t\t\t\t\trequest.Header = append(request.Header, &postman.Header{\n\t\t\t\t\t\tKey: \"Content-Type\",\n\t\t\t\t\t\tValue: contentType,\n\t\t\t\t\t})\n\n\t\t\t\t\tswitch contentType {\n\t\t\t\t\tcase \"application/json\":\n\t\t\t\t\t\ts := structForSpec(rootDir, path, openapiSpecPath, mediaType.Schema.Ref)\n\t\t\t\t\t\trequest.Body = &postman.Body{\n\t\t\t\t\t\t\tMode: \"raw\",\n\t\t\t\t\t\t\tRaw: string(s.marshal(0)),\n\t\t\t\t\t\t}\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tpanic(\"unhandled content type: \" + contentType)\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\n\t\t\titem := postman.Item{\n\t\t\t\tName: operation.Summary,\n\t\t\t\tRequest: request,\n\t\t\t\tResponses: []*postman.Response{},\n\t\t\t}\n\n\t\t\titems = append(items, postman.CreateItem(item))\n\t\t}\n\n\t\tgroup := postman.CreateItemGroup(postman.ItemGroup{\n\t\t\tName: path,\n\t\t\tDescription: pathItem.Description,\n\t\t\t// Variables: []*postman.Variable{},\n\t\t\t// Events: []*postman.Event{},\n\t\t\t// ProtocolProfileBehavior: nil,\n\t\t\tItems: items,\n\t\t\tAuth: auth,\n\t\t})\n\n\t\tcollection.Items = append(collection.Items, group)\n\t}\n\n\tconst filename = \"collection.json\"\n\n\tfile, err := os.OpenFile(filename, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0644)\n\tif err != nil {\n\t\tfmt.Printf(\"Error creating file: %v\\n\", err)\n\t\treturn\n\t}\n\tdefer file.Close()\n\n\terr = collection.Write(file, postman.V210)\n\tif err != nil {\n\t\tfmt.Printf(\"Error writing collection to %s: %v\\n\", filename, err)\n\t\treturn\n\t}\n}\n\n// createMustacheVariable creates a mustache-like variable for Postman\nfunc createMustacheVariable(path, param string) string {\n\tre := regexp.MustCompile(`[/\\-_]`)\n\tparts := re.Split(path, -1)\n\tcaser := cases.Title(language.English)\n\tvar varName string\n\tfor _, part := range parts {\n\t\tif part == \"\" {\n\t\t\tcontinue\n\t\t}\n\t\tif strings.HasPrefix(part, \"{\") {\n\t\t\tcontinue\n\t\t}\n\n\t\tvarName += caser.String(strings.ToLower(part))\n\t}\n\tfor _, part := range re.Split(param, -1) {\n\t\tvarName += caser.String(part)\n\t}\n\treturn fmt.Sprintf(\"{{%s}}\", varName)\n}\n\ntype OapiConfig struct {\n\tImportMapping map[string]string `yaml:\"import-mapping\"`\n}\n\nfunc near(a, b string) string {\n\treturn filepath.Join(filepath.Dir(a), b)\n}\n\nfunc structForSpec(root, urlpath, specpath, spec string) Struct {\n\toapiConfigPath := near(specpath, \"oapi-codegen.yml\")\n\n\toapiConfigData, err := os.ReadFile(oapiConfigPath)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\n\tvar config OapiConfig\n\terr = yaml.Unmarshal(oapiConfigData, &config)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\n\tparts := strings.Split(spec, \"#\")\n\tif len(parts) != 2 {\n\t\tpanic(fmt.Errorf(\"invalid spec string format\"))\n\t}\n\tsubSpecFile, objectPath := parts[0], parts[1]\n\n\t// Lookup the import-mapping for the sub spec YAML file\n\tgoPackagePath, exists := config.ImportMapping[subSpecFile]\n\tif !exists {\n\t\tpanic(fmt.Errorf(\"no import mapping found for %s\", subSpecFile))\n\t}\n\n\tname, object := extractObjectFromYAML(near(specpath, subSpecFile), objectPath)\n\tif len(object) != 0 {\n\t\t// in such case just return yaml converted to postman body\n\t\tpanic(\"object in yaml is not empty\")\n\t}\n\n\tprintln(\"package path:\", goPackagePath)\n\n\ts := makeSource(urlpath, getPackageDir(root, goPackagePath))\n\tt := s.getStruct(name)\n\treturn s.structToNode(t)\n}\n\nfunc (src Source) handleType(fieldType ast.Expr, name string, comment string) Node {\n\tswitch t := fieldType.(type) {\n\tcase *ast.StructType:\n\t\treturn src.structToNode(t)\n\tcase *ast.ArrayType:\n\t\treturn Array{\n\t\t\tItem: src.handleType(t.Elt, name+\"ArrayItem\", comment),\n\t\t\tComment: comment,\n\t\t}\n\tcase *ast.StarExpr:\n\t\tpanic(\"unhandled optional value: pointer is not implemented yet\")\n\tcase *ast.Ident:\n\t\tvalue := \"\"\n\t\tswitch t.Name {\n\t\tcase \"string\":\n\t\t\tvalue = fmt.Sprintf(\"\\\"%s\\\"\", createMustacheVariable(src.urlpath, name))\n\t\tcase \"int\", \"int8\", \"int16\", \"int32\", \"int64\",\n\t\t\t\"uint\", \"uint8\", \"uint16\", \"uint32\", \"uint64\", \"uintptr\",\n\t\t\t\"float32\", \"float64\", \"bool\", \"complex64\", \"complex128\":\n\t\t\tvalue = fmt.Sprintf(\"%s\", createMustacheVariable(src.urlpath, name))\n\t\tdefault:\n\t\t\tif s := src.getStruct(t.Name); s != nil {\n\t\t\t\treturn src.structToNode(s)\n\t\t\t}\n\t\t\tpanic(t.Name)\n\t\t}\n\n\t\tif comment == \"\" {\n\t\t\tcomment = t.Name\n\t\t} else {\n\t\t\tcomment = t.Name + \", \" + comment\n\t\t}\n\n\t\treturn Bare{\n\t\t\tValue: []byte(value),\n\t\t\tComment: comment,\n\t\t}\n\tcase *ast.SelectorExpr:\n\t\tif t.Sel != nil {\n\t\t\t// hacky\n\t\t\tswitch t.Sel.Name {\n\t\t\tcase \"UUID\":\n\t\t\t\treturn Bare{\n\t\t\t\t\tValue: []byte(createMustacheVariable(src.urlpath, name)),\n\t\t\t\t\tComment: \"UUID \" + comment,\n\t\t\t\t}\n\t\t\tcase \"Time\":\n\t\t\t\treturn Bare{\n\t\t\t\t\tValue: []byte(createMustacheVariable(src.urlpath, name)),\n\t\t\t\t\tComment: \"Time \" + comment,\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tpanic(fmt.Sprintf(\"unknown type: %T: %+v: %s // %s\", fieldType, fieldType, name, comment))\n\tcase *ast.MapType, *ast.ChanType, *ast.FuncType, *ast.InterfaceType:\n\t\tpanic(fmt.Sprintf(\"unhandler composite type: %T\", fieldType))\n\tdefault:\n\t\tpanic(fmt.Sprintf(\"unknown type: %T: %+v: %s // %s\", fieldType, fieldType, name, comment))\n\t}\n}\n\nfunc (src Source) structToNode(structType *ast.StructType) Struct {\n\ts := Struct{\n\t\tChildren: make(map[string]Node),\n\t}\n\n\tfor _, field := range structType.Fields.List {\n\t\tvar fieldName string\n\t\tif len(field.Names) > 0 {\n\t\t\tfieldName = field.Names[0].Name\n\t\t} else {\n\t\t\tfieldName = fmt.Sprintf(\"%v\", field.Type)\n\t\t}\n\n\t\tjsonTag := getJSONTag(field.Tag)\n\t\tif jsonTag == \"\" {\n\t\t\tjsonTag = fieldName\n\t\t}\n\n\t\tvar cs []string\n\t\tif field.Comment != nil {\n\t\t\tfor _, c := range field.Comment.List {\n\t\t\t\tcs = append(cs, strings.TrimSpace(strings.TrimPrefix(c.Text, \"//\")))\n\t\t\t}\n\t\t}\n\t\tif field.Doc != nil {\n\t\t\tfor _, c := range field.Doc.List {\n\t\t\t\tcs = append(cs, strings.TrimSpace(strings.TrimPrefix(c.Text, \"//\")))\n\t\t\t}\n\t\t}\n\t\tcomment := strings.Join(cs, \" \")\n\n\t\ts.Children[jsonTag] = src.handleType(field.Type, jsonTag, comment)\n\t}\n\n\treturn s\n}\n\nfunc getPackageDir(rootDir, pkgPath string) string {\n\t// Convert package path to a file system path\n\tparts := strings.Split(pkgPath, \"/\")\n\n\tfor len(parts) > 0 {\n\t\trelevantPath := filepath.Join(parts...)\n\t\tpkgDir := filepath.Join(rootDir, relevantPath)\n\n\t\t// Check if the directory exists\n\t\tif _, err := os.Stat(pkgDir); err == nil {\n\t\t\treturn pkgDir\n\t\t}\n\n\t\t// Remove the first component and try again\n\t\tparts = parts[1:]\n\t}\n\n\tpanic(fmt.Sprintf(\"package directory for %s not found in root directory %s\", pkgPath, rootDir))\n}\n\nfunc extractObjectFromYAML(yamlPath, objectPath string) (string, map[any]any) {\n\tyamlData, err := os.ReadFile(yamlPath)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\n\tvar yamlContent map[any]any\n\terr = yaml.Unmarshal(yamlData, &yamlContent)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\n\tname := \"\"\n\tobject := yamlContent\n\tfor _, part := range strings.Split(objectPath, \"/\") {\n\t\tif part == \"\" {\n\t\t\tcontinue\n\t\t}\n\t\tif subObject, exists := object[part]; exists {\n\t\t\tobject = subObject.(map[any]any)\n\t\t\tname = part\n\t\t} else {\n\t\t\tpanic(fmt.Errorf(\"object path %s not found in %s\", objectPath, yamlPath))\n\t\t}\n\t}\n\n\treturn name, object\n}\n\ntype Source struct {\n\turlpath string\n\tpath string\n\tfiles []*ast.File\n}\n\nfunc makeSource(urlpath, pkgDir string) Source {\n\tfset := token.NewFileSet()\n\n\tvar files []*ast.File\n\n\t// Walk the package directory and collect all Go files\n\terr := filepath.Walk(pkgDir, func(path string, info os.FileInfo, err error) error {\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif !info.IsDir() && strings.HasSuffix(info.Name(), \".go\") {\n\t\t\tfile, err := parser.ParseFile(fset, path, nil, parser.ParseComments)\n\t\t\tif err != nil {\n\t\t\t\tpanic(fmt.Sprintf(\"failed to parse file %s: %v\", path, err))\n\t\t\t}\n\t\t\tfiles = append(files, file)\n\t\t}\n\t\treturn nil\n\t})\n\tif err != nil {\n\t\tpanic(fmt.Sprintf(\"failed to walk package directory: %v\", err))\n\t}\n\n\treturn Source{urlpath: urlpath, path: pkgDir, files: files}\n}\n\nfunc (src Source) getStruct(structName string) *ast.StructType {\n\tvar result *ast.StructType\n\n\t// Traverse the AST of each file to find the struct definition\n\tfor _, file := range src.files {\n\t\tast.Inspect(file, func(n ast.Node) bool {\n\t\t\tif genDecl, ok := n.(*ast.GenDecl); ok && genDecl.Tok == token.TYPE {\n\t\t\t\tfor _, spec := range genDecl.Specs {\n\t\t\t\t\tif typeSpec, ok := spec.(*ast.TypeSpec); ok {\n\t\t\t\t\t\tif typeSpec.Name.Name == structName {\n\t\t\t\t\t\t\tif structType, ok := typeSpec.Type.(*ast.StructType); ok {\n\t\t\t\t\t\t\t\tresult = structType\n\t\t\t\t\t\t\t\treturn false // Found the struct, stop traversing\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true\n\t\t})\n\t}\n\n\treturn result\n}\n\n// Node interface represents a node in the tree.\ntype Node interface {\n\tsimple() bool\n\tsize() int\n}\n\n// Bare represents a leaf node with a string value and an optional comment.\ntype Bare struct {\n\tValue []byte\n\tComment string\n}\n\n// Struct represents a branch node with map of child nodes.\ntype Struct struct {\n\tChildren map[string]Node\n\tComment string\n}\n\n// Array represents a branch node with array of child nodes.\ntype Array struct {\n\tItem Node\n\tComment string\n}\n\nfunc (l Bare) simple() bool {\n\treturn true\n}\n\nfunc (l Struct) simple() bool {\n\treturn false\n}\n\nfunc (l Array) simple() bool {\n\treturn false\n}\n\nfunc (l Bare) size() int {\n\treturn 1\n}\n\nfunc (l Array) size() int {\n\treturn 3\n}\n\nfunc (l Struct) size() int {\n\ts := 2\n\tfor _, child := range l.Children {\n\t\ts += child.size()\n\t}\n\treturn s\n}\n\nfunc (s Struct) marshal(indent int) []byte {\n\tkeys := make([]string, 0, len(s.Children))\n\n\tfor k := range s.Children {\n\t\tkeys = append(keys, k)\n\t}\n\n\tslices.SortStableFunc(keys, func(a, b string) int {\n\t\tswitch cmp.Compare(s.Children[a].size(), s.Children[b].size()) {\n\t\tcase -1:\n\t\t\treturn -1\n\t\tcase 1:\n\t\t\treturn 1\n\t\tdefault:\n\t\t\treturn strings.Compare(a, b)\n\t\t}\n\t})\n\n\tformatBare := func(k string, v []byte, last bool) string {\n\t\tcomma := \",\"\n\t\tif last {\n\t\t\tcomma = \"\"\n\t\t}\n\t\treturn fmt.Sprintf(\"\\\"%s\\\": %s%s\", k, v, comma)\n\t}\n\n\tprefix := strings.Repeat(\" \", indent+4)\n\n\tcommentStart := 0\n\tfor i, k := range keys {\n\t\tlast := i+1 == len(keys)\n\t\tswitch v := s.Children[k].(type) {\n\t\tcase Bare:\n\t\t\ts := formatBare(k, v.Value, last)\n\t\t\tcommentStart = max(commentStart, len(s))\n\t\t}\n\t}\n\n\tvar buf bytes.Buffer\n\tbuf.WriteString(\"{\\n\")\n\n\tfor i, k := range keys {\n\t\tlast := i+1 == len(keys)\n\t\tswitch v := s.Children[k].(type) {\n\t\tcase Bare:\n\t\t\ts := formatBare(k, v.Value, last)\n\t\t\tpadding := strings.Repeat(\" \", commentStart-len(s))\n\t\t\tbuf.WriteString(fmt.Sprintf(\"%s%s%s // %s\\n\", prefix, s, padding, v.Comment))\n\t\tcase Struct:\n\t\t\tbuf.WriteString(fmt.Sprintf(\"%s\\\"%s\\\": %s\", prefix, k, v.marshal(indent+4)))\n\t\t\tif !last {\n\t\t\t\tbuf.WriteString(\",\")\n\t\t\t}\n\t\t\tbuf.WriteString(\"\\n\")\n\t\tcase Array:\n\t\t\tbuf.WriteString(fmt.Sprintf(\"%s\\\"%s\\\": %s\", prefix, k, v.marshal(indent+4)))\n\t\t\tif !last {\n\t\t\t\tbuf.WriteString(\",\")\n\t\t\t}\n\t\t\tbuf.WriteString(\"\\n\")\n\t\tdefault:\n\t\t\tpanic(\"bug: unhandled Node case\")\n\t\t}\n\t}\n\n\tbuf.WriteString(fmt.Sprintf(\"%s}\", strings.Repeat(\" \", indent)))\n\n\treturn buf.Bytes()\n}\n\nfunc (s Array) marshal(indent int) []byte {\n\tprefix := strings.Repeat(\" \", indent+4)\n\n\tvar buf bytes.Buffer\n\tbuf.WriteString(\"[\\n\")\n\n\tswitch v := s.Item.(type) {\n\tcase Bare:\n\t\tbuf.WriteString(fmt.Sprintf(\"%s%s // %s\\n\", prefix, v.Value, v.Comment))\n\tcase Struct:\n\t\tbuf.WriteString(fmt.Sprintf(\"%s%s\", prefix, v.marshal(indent+4)))\n\t\tbuf.WriteString(\"\\n\")\n\tcase Array:\n\t\tbuf.WriteString(fmt.Sprintf(\"%s%s\", prefix, v.marshal(indent+4)))\n\t\tbuf.WriteString(\"\\n\")\n\tdefault:\n\t\tpanic(\"bug: unhandled Node case\")\n\t}\n\n\tbuf.WriteString(fmt.Sprintf(\"%s]\", strings.Repeat(\" \", indent)))\n\n\treturn buf.Bytes()\n}\n\nfunc getJSONTag(tag *ast.BasicLit) string {\n\tif tag == nil {\n\t\treturn \"\"\n\t}\n\n\ttagValue := reflect.StructTag(strings.Trim(tag.Value, \"`\")).Get(\"json\")\n\tif tagValue == \"-\" {\n\t\treturn \"\"\n\t}\n\n\t// Extract the name before the comma (if any)\n\tif idx := strings.Index(tagValue, \",\"); idx != -1 {\n\t\treturn tagValue[:idx]\n\t}\n\treturn tagValue\n}\n\n// getCurrentTag returns the currently checked out tag for the given directory.\n// It panics if the repository is not tagged or if any error occurs.\nfunc getCurrentTag(dir string) string {\n\tcmd := exec.Command(\"git\", \"describe\", \"--tags\", \"--exact-match\")\n\tcmd.Dir = dir\n\n\tvar out bytes.Buffer\n\tcmd.Stdout = &out\n\tcmd.Stderr = &out\n\n\tif err := cmd.Run(); err != nil {\n\t\tpanic(fmt.Sprintf(\"failed to get current tag: %s\", out.String()))\n\t}\n\n\ttag := strings.TrimSpace(out.String())\n\tif tag == \"\" {\n\t\tpanic(\"no tag found\")\n\t}\n\n\treturn tag\n}\n","uri":"file:///home/z/project/wb/postman/main.go","version":0}}} | |
2024-06-10T16:21:58.839 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, MethodCall(MethodCall { jsonrpc: Some(V2), method: "window/workDoneProgress/create", params: Map({"token": String("3299754501610098282")}), id: Num(1) }))) | |
2024-06-10T16:21:58.839 helix_lsp::transport [INFO] gopls -> {"jsonrpc":"2.0","result":null,"id":1} | |
2024-06-10T16:21:58.839 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"3299754501610098282","value":{"kind":"begin","title":"Setting up workspace","message":"Loading packages..."}}} | |
2024-06-10T16:21:58.840 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: Some(V2), method: "$/progress", params: Map({"token": String("3299754501610098282"), "value": Object {"kind": String("begin"), "message": String("Loading packages..."), "title": String("Setting up workspace")}}) }))) | |
2024-06-10T16:21:58.840 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","method":"workspace/configuration","params":{"items":[{"scopeUri":"file:///home/z/project/wb/postman","section":"gopls"}]},"id":2} | |
2024-06-10T16:21:58.840 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, MethodCall(MethodCall { jsonrpc: Some(V2), method: "workspace/configuration", params: Map({"items": Array [Object {"scopeUri": String("file:///home/z/project/wb/postman"), "section": String("gopls")}]}), id: Num(2) }))) | |
2024-06-10T16:21:58.840 helix_lsp::transport [INFO] gopls -> {"jsonrpc":"2.0","result":[null],"id":2} | |
2024-06-10T16:21:58.846 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"2024/06/10 16:21:58 go info for /home/z/project/wb/postman\n(go dir /home/z/project/wb/postman)\n(go version go version go1.22.1 linux/amd64)\n(valid build configuration = true)\n(build flags: [])\n(selected go env: [GO111MODULE=, GOCACHE=/home/z/.cache/go-build, GOFLAGS=, GOMODCACHE=/home/z/.local/state/go/pkg/mod, GOPATH=/home/z/.local/state/go, GOPRIVATE=gitlab.wildberries.ru, GOROOT=/usr/local/go, GOWORK=])\n\n"}} | |
2024-06-10T16:21:58.846 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("2024/06/10 16:21:58 go info for /home/z/project/wb/postman\n(go dir /home/z/project/wb/postman)\n(go version go version go1.22.1 linux/amd64)\n(valid build configuration = true)\n(build flags: [])\n(selected go env: [GO111MODULE=, GOCACHE=/home/z/.cache/go-build, GOFLAGS=, GOMODCACHE=/home/z/.local/state/go/pkg/mod, GOPATH=/home/z/.local/state/go, GOPRIVATE=gitlab.wildberries.ru, GOROOT=/usr/local/go, GOWORK=])\n\n"), "type": Number(3)}) }))) | |
2024-06-10T16:21:58.846 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "2024/06/10 16:21:58 go info for /home/z/project/wb/postman\n(go dir /home/z/project/wb/postman)\n(go version go version go1.22.1 linux/amd64)\n(valid build configuration = true)\n(build flags: [])\n(selected go env: [GO111MODULE=, GOCACHE=/home/z/.cache/go-build, GOFLAGS=, GOMODCACHE=/home/z/.local/state/go/pkg/mod, GOPATH=/home/z/.local/state/go, GOPRIVATE=gitlab.wildberries.ru, GOROOT=/usr/local/go, GOWORK=])\n\n" } | |
2024-06-10T16:21:58.874 helix_term::application [DEBUG] received editor event: Redraw | |
2024-06-10T16:21:58.874 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:21:58.924 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"2024/06/10 16:21:58 go/packages.Load #1\n\tsnapshot=0\n\tdirectory=file:///home/z/project/wb/postman\n\tquery=[/home/z/project/wb/postman/... builtin]\n\tpackages=2\n"}} | |
2024-06-10T16:21:58.924 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("2024/06/10 16:21:58 go/packages.Load #1\n\tsnapshot=0\n\tdirectory=file:///home/z/project/wb/postman\n\tquery=[/home/z/project/wb/postman/... builtin]\n\tpackages=2\n"), "type": Number(3)}) }))) | |
2024-06-10T16:21:58.924 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "2024/06/10 16:21:58 go/packages.Load #1\n\tsnapshot=0\n\tdirectory=file:///home/z/project/wb/postman\n\tquery=[/home/z/project/wb/postman/... builtin]\n\tpackages=2\n" } | |
2024-06-10T16:21:58.926 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"2024/06/10 16:21:58 go/packages.Load #1: updating metadata for 172 packages\n"}} | |
2024-06-10T16:21:58.926 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("2024/06/10 16:21:58 go/packages.Load #1: updating metadata for 172 packages\n"), "type": Number(3)}) }))) | |
2024-06-10T16:21:58.926 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "2024/06/10 16:21:58 go/packages.Load #1: updating metadata for 172 packages\n" } | |
2024-06-10T16:21:58.944 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"3299754501610098282","value":{"kind":"end","message":"Finished loading packages."}}} | |
2024-06-10T16:21:58.944 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","method":"client/registerCapability","params":{"registrations":[{"id":"workspace/didChangeWatchedFiles-0","method":"workspace/didChangeWatchedFiles","registerOptions":{"watchers":[{"globPattern":"**/*.{go,mod,sum,work}","kind":7}]}}]},"id":3} | |
2024-06-10T16:21:58.944 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: Some(V2), method: "$/progress", params: Map({"token": String("3299754501610098282"), "value": Object {"kind": String("end"), "message": String("Finished loading packages.")}}) }))) | |
2024-06-10T16:21:58.944 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, MethodCall(MethodCall { jsonrpc: Some(V2), method: "client/registerCapability", params: Map({"registrations": Array [Object {"id": String("workspace/didChangeWatchedFiles-0"), "method": String("workspace/didChangeWatchedFiles"), "registerOptions": Object {"watchers": Array [Object {"globPattern": String("**/*.{go,mod,sum,work}"), "kind": Number(7)}]}}]}), id: Num(3) }))) | |
2024-06-10T16:21:58.944 helix_lsp::file_event [DEBUG] Registering didChangeWatchedFiles for client '0' with id 'workspace/didChangeWatchedFiles-0' | |
2024-06-10T16:21:58.944 helix_lsp::transport [INFO] gopls -> {"jsonrpc":"2.0","result":null,"id":3} | |
2024-06-10T16:21:58.944 globset [DEBUG] glob converted to regex: Glob { glob: "**/*.{go,mod,sum,work}", re: "(?-u)^(?:/?|.*/).*\\.(?:work|sum|mod|go)$", opts: GlobOptions { case_insensitive: false, literal_separator: false, backslash_escape: true, empty_alternates: false }, tokens: Tokens([RecursivePrefix, ZeroOrMore, Literal('.'), Alternates([Tokens([Literal('w'), Literal('o'), Literal('r'), Literal('k')]), Tokens([Literal('s'), Literal('u'), Literal('m')]), Tokens([Literal('m'), Literal('o'), Literal('d')]), Tokens([Literal('g'), Literal('o')])])]) } | |
2024-06-10T16:21:58.944 globset [DEBUG] built glob set; 0 literals, 0 basenames, 0 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 1 regexes | |
2024-06-10T16:21:58.944 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","method":"workspace/configuration","params":{"items":[{"section":"gopls"}]},"id":4} | |
2024-06-10T16:21:58.945 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, MethodCall(MethodCall { jsonrpc: Some(V2), method: "workspace/configuration", params: Map({"items": Array [Object {"section": String("gopls")}]}), id: Num(4) }))) | |
2024-06-10T16:21:58.945 helix_lsp::transport [INFO] gopls -> {"jsonrpc":"2.0","result":[null],"id":4} | |
2024-06-10T16:21:58.945 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","method":"workspace/configuration","params":{"items":[{"scopeUri":"file:///home/z/project/wb/postman","section":"gopls"}]},"id":5} | |
2024-06-10T16:21:58.945 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, MethodCall(MethodCall { jsonrpc: Some(V2), method: "workspace/configuration", params: Map({"items": Array [Object {"scopeUri": String("file:///home/z/project/wb/postman"), "section": String("gopls")}]}), id: Num(5) }))) | |
2024-06-10T16:21:58.945 helix_lsp::transport [INFO] gopls -> {"jsonrpc":"2.0","result":[null],"id":5} | |
2024-06-10T16:21:58.958 helix_term::application [DEBUG] received editor event: Redraw | |
2024-06-10T16:21:58.959 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:21:58.989 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/z/project/wb/postman/main.go","diagnostics":[]}} | |
2024-06-10T16:21:58.989 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: Some(V2), method: "textDocument/publishDiagnostics", params: Map({"diagnostics": Array [], "uri": String("file:///home/z/project/wb/postman/main.go")}) }))) | |
2024-06-10T16:21:59.023 helix_term::application [DEBUG] received editor event: Redraw | |
2024-06-10T16:21:59.024 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:21:59.060 helix_term::application [DEBUG] received editor event: IdleTimer | |
2024-06-10T16:21:59.060 helix_lsp::transport [INFO] gopls -> {"jsonrpc":"2.0","method":"textDocument/inlayHint","params":{"range":{"end":{"character":0,"line":88},"start":{"character":0,"line":0}},"textDocument":{"uri":"file:///home/z/project/wb/postman/main.go"}},"id":1} | |
2024-06-10T16:21:59.067 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","result":[{"position":{"line":33,"character":14},"label":[{"value":"a...:"}],"kind":2,"paddingRight":true},{"position":{"line":37,"character":4},"label":[{"value":"string"}],"kind":1,"paddingLeft":true},{"position":{"line":37,"character":22},"label":[{"value":"dir:"}],"kind":2,"paddingRight":true},{"position":{"line":39,"character":17},"label":[{"value":"rootDir:"}],"kind":2,"paddingRight":true},{"position":{"line":39,"character":29},"label":[{"value":"name:"}],"kind":2,"paddingRight":true},{"position":{"line":39,"character":52},"label":[{"value":"relativeOpenapiSpecPath:"}],"kind":2,"paddingRight":true},{"position":{"line":43,"character":16},"label":[{"value":"string"}],"kind":1,"paddingLeft":true},{"position":{"line":43,"character":34},"label":[{"value":"elem...:"}],"kind":2,"paddingRight":true},{"position":{"line":44,"character":7},"label":[{"value":"*openapi3.Loader"}],"kind":1,"paddingLeft":true},{"position":{"line":46,"character":4},"label":[{"value":"*openapi3.T"}],"kind":1,"paddingLeft":true},{"position":{"line":46,"character":9},"label":[{"value":"error"}],"kind":1,"paddingLeft":true},{"position":{"line":46,"character":33},"label":[{"value":"location:"}],"kind":2,"paddingRight":true},{"position":{"line":48,"character":13},"label":[{"value":"format:"}],"kind":2,"paddingRight":true},{"position":{"line":48,"character":49},"label":[{"value":"a...:"}],"kind":2,"paddingRight":true},{"position":{"line":52,"character":6},"label":[{"value":"map[string]*openapi3.PathItem"}],"kind":1,"paddingLeft":true},{"position":{"line":53,"character":16},"label":[{"value":"[]string"}],"kind":1,"paddingLeft":true},{"position":{"line":54,"character":6},"label":[{"value":"string"}],"kind":1,"paddingLeft":true},{"position":{"line":58,"character":14},"label":[{"value":"x:"}],"kind":2,"paddingRight":true},{"position":{"line":60,"character":11},"label":[{"value":"*postman.Collection"}],"kind":1,"paddingLeft":true},{"position":{"line":60,"character":46},"label":[{"value":"desc:"}],"kind":2,"paddingRight":true},{"position":{"line":62,"character":6},"label":[{"value":"int"}],"kind":1,"paddingLeft":true},{"position":{"line":62,"character":12},"label":[{"value":"string"}],"kind":1,"paddingLeft":true},{"position":{"line":63,"character":10},"label":[{"value":"*openapi3.PathItem"}],"kind":1,"paddingLeft":true},{"position":{"line":64,"character":7},"label":[{"value":"[]*postman.Items"}],"kind":1,"paddingLeft":true},{"position":{"line":67,"character":12},"label":[{"value":"string"}],"kind":1,"paddingLeft":true},{"position":{"line":67,"character":23},"label":[{"value":"*openapi3.Operation"}],"kind":1,"paddingLeft":true},{"position":{"line":68,"character":14},"label":[{"value":"format:"}],"kind":2,"paddingRight":true},{"position":{"line":68,"character":25},"label":[{"value":"a...:"}],"kind":2,"paddingRight":true},{"position":{"line":69,"character":10},"label":[{"value":"*postman.Request"}],"kind":1,"paddingLeft":true},{"position":{"line":74,"character":25},"label":[{"value":"s:"}],"kind":2,"paddingRight":true},{"position":{"line":74,"character":56},"label":[{"value":"sep:"}],"kind":2,"paddingRight":true},{"position":{"line":74,"character":44},"label":[{"value":"s:"}],"kind":2,"paddingRight":true},{"position":{"line":74,"character":50},"label":[{"value":"prefix:"}],"kind":2,"paddingRight":true},{"position":{"line":76,"character":43},"label":[{"value":"s:"}],"kind":2,"paddingRight":true},{"position":{"line":80,"character":14},"label":[{"value":"a...:"}],"kind":2,"paddingRight":true},{"position":{"line":83,"character":8},"label":[{"value":"int"}],"kind":1,"paddingLeft":true},{"position":{"line":83,"character":15},"label":[{"value":"*openapi3.ParameterRef"}],"kind":1,"paddingLeft":true},{"position":{"line":86,"character":9},"label":[{"value":"string"}],"kind":1,"paddingLeft":true},{"position":{"line":87,"character":14},"label":[{"value":"string"}],"kind":1,"paddingLeft":true}],"id":1} | |
2024-06-10T16:21:59.068 helix_lsp::transport [INFO] gopls <- [{"kind":2,"label":[{"value":"a...:"}],"paddingRight":true,"position":{"character":14,"line":33}},{"kind":1,"label":[{"value":"string"}],"paddingLeft":true,"position":{"character":4,"line":37}},{"kind":2,"label":[{"value":"dir:"}],"paddingRight":true,"position":{"character":22,"line":37}},{"kind":2,"label":[{"value":"rootDir:"}],"paddingRight":true,"position":{"character":17,"line":39}},{"kind":2,"label":[{"value":"name:"}],"paddingRight":true,"position":{"character":29,"line":39}},{"kind":2,"label":[{"value":"relativeOpenapiSpecPath:"}],"paddingRight":true,"position":{"character":52,"line":39}},{"kind":1,"label":[{"value":"string"}],"paddingLeft":true,"position":{"character":16,"line":43}},{"kind":2,"label":[{"value":"elem...:"}],"paddingRight":true,"position":{"character":34,"line":43}},{"kind":1,"label":[{"value":"*openapi3.Loader"}],"paddingLeft":true,"position":{"character":7,"line":44}},{"kind":1,"label":[{"value":"*openapi3.T"}],"paddingLeft":true,"position":{"character":4,"line":46}},{"kind":1,"label":[{"value":"error"}],"paddingLeft":true,"position":{"character":9,"line":46}},{"kind":2,"label":[{"value":"location:"}],"paddingRight":true,"position":{"character":33,"line":46}},{"kind":2,"label":[{"value":"format:"}],"paddingRight":true,"position":{"character":13,"line":48}},{"kind":2,"label":[{"value":"a...:"}],"paddingRight":true,"position":{"character":49,"line":48}},{"kind":1,"label":[{"value":"map[string]*openapi3.PathItem"}],"paddingLeft":true,"position":{"character":6,"line":52}},{"kind":1,"label":[{"value":"[]string"}],"paddingLeft":true,"position":{"character":16,"line":53}},{"kind":1,"label":[{"value":"string"}],"paddingLeft":true,"position":{"character":6,"line":54}},{"kind":2,"label":[{"value":"x:"}],"paddingRight":true,"position":{"character":14,"line":58}},{"kind":1,"label":[{"value":"*postman.Collection"}],"paddingLeft":true,"position":{"character":11,"line":60}},{"kind":2,"label":[{"value":"desc:"}],"paddingRight":true,"position":{"character":46,"line":60}},{"kind":1,"label":[{"value":"int"}],"paddingLeft":true,"position":{"character":6,"line":62}},{"kind":1,"label":[{"value":"string"}],"paddingLeft":true,"position":{"character":12,"line":62}},{"kind":1,"label":[{"value":"*openapi3.PathItem"}],"paddingLeft":true,"position":{"character":10,"line":63}},{"kind":1,"label":[{"value":"[]*postman.Items"}],"paddingLeft":true,"position":{"character":7,"line":64}},{"kind":1,"label":[{"value":"string"}],"paddingLeft":true,"position":{"character":12,"line":67}},{"kind":1,"label":[{"value":"*openapi3.Operation"}],"paddingLeft":true,"position":{"character":23,"line":67}},{"kind":2,"label":[{"value":"format:"}],"paddingRight":true,"position":{"character":14,"line":68}},{"kind":2,"label":[{"value":"a...:"}],"paddingRight":true,"position":{"character":25,"line":68}},{"kind":1,"label":[{"value":"*postman.Request"}],"paddingLeft":true,"position":{"character":10,"line":69}},{"kind":2,"label":[{"value":"s:"}],"paddingRight":true,"position":{"character":25,"line":74}},{"kind":2,"label":[{"value":"sep:"}],"paddingRight":true,"position":{"character":56,"line":74}},{"kind":2,"label":[{"value":"s:"}],"paddingRight":true,"position":{"character":44,"line":74}},{"kind":2,"label":[{"value":"prefix:"}],"paddingRight":true,"position":{"character":50,"line":74}},{"kind":2,"label":[{"value":"s:"}],"paddingRight":true,"position":{"character":43,"line":76}},{"kind":2,"label":[{"value":"a...:"}],"paddingRight":true,"position":{"character":14,"line":80}},{"kind":1,"label":[{"value":"int"}],"paddingLeft":true,"position":{"character":8,"line":83}},{"kind":1,"label":[{"value":"*openapi3.ParameterRef"}],"paddingLeft":true,"position":{"character":15,"line":83}},{"kind":1,"label":[{"value":"string"}],"paddingLeft":true,"position":{"character":9,"line":86}},{"kind":1,"label":[{"value":"string"}],"paddingLeft":true,"position":{"character":14,"line":87}}] | |
2024-06-10T16:21:59.069 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:21:59.691 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:21:59.941 helix_term::application [DEBUG] received editor event: IdleTimer | |
2024-06-10T16:21:59.959 regex_cursor::util::prefilter [DEBUG] prefixes (len=Some(2), exact=true) extracted before optimization: Seq[E("M"), E("m")] | |
2024-06-10T16:21:59.959 regex_cursor::util::prefilter [DEBUG] prefixes (len=Some(2), exact=true) extracted after optimization: Seq[E("M"), E("m")] | |
2024-06-10T16:21:59.959 regex_cursor::engines::meta::strategy [DEBUG] trying to bypass regex engine by creating prefilter from 2 literals: [E("M"), E("m")] | |
2024-06-10T16:21:59.959 regex_cursor::engines::meta::strategy [DEBUG] found that the regex can be broken down to a literal search, avoiding the regex engine entirely | |
2024-06-10T16:21:59.960 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:22:00.009 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/z/project/wb/postman/go.mod","diagnostics":[{"range":{"start":{"line":12,"character":1},"end":{"line":12,"character":57}},"severity":2,"source":"go mod tidy","message":"golang.org/x/tools is not used in this module"},{"range":{"start":{"line":27,"character":1},"end":{"line":27,"character":25}},"severity":2,"source":"go mod tidy","message":"golang.org/x/mod is not used in this module"},{"range":{"start":{"line":28,"character":1},"end":{"line":28,"character":25}},"severity":2,"source":"go mod tidy","message":"golang.org/x/sync is not used in this module"}]}} | |
2024-06-10T16:22:00.009 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: Some(V2), method: "textDocument/publishDiagnostics", params: Map({"diagnostics": Array [Object {"message": String("golang.org/x/tools is not used in this module"), "range": Object {"end": Object {"character": Number(57), "line": Number(12)}, "start": Object {"character": Number(1), "line": Number(12)}}, "severity": Number(2), "source": String("go mod tidy")}, Object {"message": String("golang.org/x/mod is not used in this module"), "range": Object {"end": Object {"character": Number(25), "line": Number(27)}, "start": Object {"character": Number(1), "line": Number(27)}}, "severity": Number(2), "source": String("go mod tidy")}, Object {"message": String("golang.org/x/sync is not used in this module"), "range": Object {"end": Object {"character": Number(25), "line": Number(28)}, "start": Object {"character": Number(1), "line": Number(28)}}, "severity": Number(2), "source": String("go mod tidy")}], "uri": String("file:///home/z/project/wb/postman/go.mod")}) }))) | |
2024-06-10T16:22:00.044 helix_term::application [DEBUG] received editor event: Redraw | |
2024-06-10T16:22:00.045 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:22:00.215 regex_cursor::util::prefilter [DEBUG] prefixes (len=Some(4), exact=true) extracted before optimization: Seq[E("MA"), E("Ma"), E("mA"), E("ma")] | |
2024-06-10T16:22:00.215 regex_cursor::util::prefilter [DEBUG] prefixes (len=Some(4), exact=true) extracted after optimization: Seq[E("MA"), E("Ma"), E("mA"), E("ma")] | |
2024-06-10T16:22:00.215 regex_cursor::engines::meta::strategy [DEBUG] trying to bypass regex engine by creating prefilter from 4 literals: [E("MA"), E("Ma"), E("mA"), E("ma")] | |
2024-06-10T16:22:00.215 regex_cursor::engines::meta::strategy [DEBUG] found that the regex can be broken down to a literal search, avoiding the regex engine entirely | |
2024-06-10T16:22:00.216 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:22:00.217 regex_cursor::util::prefilter [DEBUG] prefixes (len=Some(8), exact=true) extracted before optimization: Seq[E("MAI"), E("MAi"), E("MaI"), E("Mai"), E("mAI"), E("mAi"), E("maI"), E("mai")] | |
2024-06-10T16:22:00.217 regex_cursor::util::prefilter [DEBUG] prefixes (len=Some(8), exact=true) extracted after optimization: Seq[E("MAI"), E("MAi"), E("MaI"), E("Mai"), E("mAI"), E("mAi"), E("maI"), E("mai")] | |
2024-06-10T16:22:00.217 regex_cursor::engines::meta::strategy [DEBUG] trying to bypass regex engine by creating prefilter from 8 literals: [E("MAI"), E("MAi"), E("MaI"), E("Mai"), E("mAI"), E("mAi"), E("maI"), E("mai")] | |
2024-06-10T16:22:00.217 regex_cursor::engines::meta::strategy [DEBUG] found that the regex can be broken down to a literal search, avoiding the regex engine entirely | |
2024-06-10T16:22:00.218 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:22:00.424 regex_cursor::util::prefilter [DEBUG] prefixes (len=Some(16), exact=true) extracted before optimization: Seq[E("MAIN"), E("MAIn"), E("MAiN"), E("MAin"), E("MaIN"), E("MaIn"), E("MaiN"), E("Main"), E("mAIN"), E("mAIn"), E("mAiN"), E("mAin"), E("maIN"), E("maIn"), E("maiN"), E("main")] | |
2024-06-10T16:22:00.424 regex_cursor::util::prefilter [DEBUG] prefixes (len=Some(16), exact=true) extracted after optimization: Seq[E("MAIN"), E("MAIn"), E("MAiN"), E("MAin"), E("MaIN"), E("MaIn"), E("MaiN"), E("Main"), E("mAIN"), E("mAIn"), E("mAiN"), E("mAin"), E("maIN"), E("maIn"), E("maiN"), E("main")] | |
2024-06-10T16:22:00.424 regex_cursor::engines::meta::strategy [DEBUG] trying to bypass regex engine by creating prefilter from 16 literals: [E("MAIN"), E("MAIn"), E("MAiN"), E("MAin"), E("MaIN"), E("MaIn"), E("MaiN"), E("Main"), E("mAIN"), E("mAIn"), E("mAiN"), E("mAin"), E("maIN"), E("maIn"), E("maiN"), E("main")] | |
2024-06-10T16:22:00.424 regex_cursor::engines::meta::strategy [DEBUG] found that the regex can be broken down to a literal search, avoiding the regex engine entirely | |
2024-06-10T16:22:00.425 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:22:01.009 regex_cursor::util::prefilter [DEBUG] prefixes (len=Some(16), exact=true) extracted before optimization: Seq[E("MAIN"), E("MAIn"), E("MAiN"), E("MAin"), E("MaIN"), E("MaIn"), E("MaiN"), E("Main"), E("mAIN"), E("mAIn"), E("mAiN"), E("mAin"), E("maIN"), E("maIn"), E("maiN"), E("main")] | |
2024-06-10T16:22:01.009 regex_cursor::util::prefilter [DEBUG] prefixes (len=Some(16), exact=true) extracted after optimization: Seq[E("MAIN"), E("MAIn"), E("MAiN"), E("MAin"), E("MaIN"), E("MaIn"), E("MaiN"), E("Main"), E("mAIN"), E("mAIn"), E("mAiN"), E("mAin"), E("maIN"), E("maIn"), E("maiN"), E("main")] | |
2024-06-10T16:22:01.009 regex_cursor::engines::meta::strategy [DEBUG] trying to bypass regex engine by creating prefilter from 16 literals: [E("MAIN"), E("MAIn"), E("MAiN"), E("MAin"), E("MaIN"), E("MaIn"), E("MaiN"), E("Main"), E("mAIN"), E("mAIn"), E("mAiN"), E("mAin"), E("maIN"), E("maIn"), E("maiN"), E("main")] | |
2024-06-10T16:22:01.009 regex_cursor::engines::meta::strategy [DEBUG] found that the regex can be broken down to a literal search, avoiding the regex engine entirely | |
2024-06-10T16:22:01.010 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:22:01.340 regex_cursor::util::prefilter [DEBUG] prefixes (len=Some(16), exact=true) extracted before optimization: Seq[E("MAIN"), E("MAIn"), E("MAiN"), E("MAin"), E("MaIN"), E("MaIn"), E("MaiN"), E("Main"), E("mAIN"), E("mAIn"), E("mAiN"), E("mAin"), E("maIN"), E("maIn"), E("maiN"), E("main")] | |
2024-06-10T16:22:01.340 regex_cursor::util::prefilter [DEBUG] prefixes (len=Some(16), exact=true) extracted after optimization: Seq[E("MAIN"), E("MAIn"), E("MAiN"), E("MAin"), E("MaIN"), E("MaIn"), E("MaiN"), E("Main"), E("mAIN"), E("mAIn"), E("mAiN"), E("mAin"), E("maIN"), E("maIn"), E("maiN"), E("main")] | |
2024-06-10T16:22:01.340 regex_cursor::engines::meta::strategy [DEBUG] trying to bypass regex engine by creating prefilter from 16 literals: [E("MAIN"), E("MAIn"), E("MAiN"), E("MAin"), E("MaIN"), E("MaIn"), E("MaiN"), E("Main"), E("mAIN"), E("mAIn"), E("mAiN"), E("mAin"), E("maIN"), E("maIn"), E("maiN"), E("main")] | |
2024-06-10T16:22:01.340 regex_cursor::engines::meta::strategy [DEBUG] found that the regex can be broken down to a literal search, avoiding the regex engine entirely | |
2024-06-10T16:22:01.341 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:22:01.592 helix_term::application [DEBUG] received editor event: IdleTimer | |
2024-06-10T16:22:03.005 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:22:03.256 helix_term::application [DEBUG] received editor event: IdleTimer | |
2024-06-10T16:22:04.849 helix_lsp::transport [INFO] gopls -> {"jsonrpc":"2.0","method":"textDocument/prepareRename","params":{"position":{"character":8,"line":31},"textDocument":{"uri":"file:///home/z/project/wb/postman/main.go"}},"id":2} | |
2024-06-10T16:22:04.850 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:22:04.851 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","result":{"range":{"start":{"line":31,"character":5},"end":{"line":31,"character":9}},"placeholder":"main"},"id":2} | |
2024-06-10T16:22:04.851 helix_lsp::transport [INFO] gopls <- {"placeholder":"main","range":{"end":{"character":9,"line":31},"start":{"character":5,"line":31}}} | |
2024-06-10T16:22:04.852 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:22:05.101 helix_term::application [DEBUG] received editor event: IdleTimer | |
2024-06-10T16:22:05.705 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:22:06.155 helix_lsp::transport [INFO] gopls -> {"jsonrpc":"2.0","method":"textDocument/rename","params":{"newName":"mainx","position":{"character":8,"line":31},"textDocument":{"uri":"file:///home/z/project/wb/postman/main.go"}},"id":3} | |
2024-06-10T16:22:06.157 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","result":{"documentChanges":[{"textDocument":{"version":0,"uri":"file:///home/z/project/wb/postman/main.go"},"edits":[{"range":{"start":{"line":31,"character":5},"end":{"line":31,"character":9}},"newText":"mainx"}]}]},"id":3} | |
2024-06-10T16:22:06.157 helix_lsp::transport [INFO] gopls <- {"documentChanges":[{"edits":[{"newText":"mainx","range":{"end":{"character":9,"line":31},"start":{"character":5,"line":31}}}],"textDocument":{"uri":"file:///home/z/project/wb/postman/main.go","version":0}}]} | |
2024-06-10T16:22:06.160 helix_lsp::transport [INFO] gopls -> {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"contentChanges":[{"range":{"end":{"character":9,"line":31},"start":{"character":5,"line":31}},"text":"mainx"}],"textDocument":{"uri":"file:///home/z/project/wb/postman/main.go","version":1}}} | |
2024-06-10T16:22:06.170 helix_vcs::diff::worker [INFO] Diff computation timed out, update of diffs might appear delayed | |
2024-06-10T16:22:06.171 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 1 | |
2024-06-10T16:22:07.043 helix_view::view [DEBUG] Syncing view ViewId(2v1) between 1 and 0 | |
2024-06-10T16:22:07.043 helix_lsp::transport [INFO] gopls -> {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"contentChanges":[{"range":{"end":{"character":10,"line":31},"start":{"character":5,"line":31}},"text":"main"}],"textDocument":{"uri":"file:///home/z/project/wb/postman/main.go","version":2}}} | |
2024-06-10T16:22:07.044 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:22:07.291 helix_term::application [DEBUG] received editor event: IdleTimer | |
2024-06-10T16:22:07.291 helix_lsp::transport [INFO] gopls -> {"jsonrpc":"2.0","method":"textDocument/inlayHint","params":{"range":{"end":{"character":0,"line":88},"start":{"character":0,"line":0}},"textDocument":{"uri":"file:///home/z/project/wb/postman/main.go"}},"id":4} | |
2024-06-10T16:22:07.298 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","result":[{"position":{"line":33,"character":14},"label":[{"value":"a...:"}],"kind":2,"paddingRight":true},{"position":{"line":37,"character":4},"label":[{"value":"string"}],"kind":1,"paddingLeft":true},{"position":{"line":37,"character":22},"label":[{"value":"dir:"}],"kind":2,"paddingRight":true},{"position":{"line":39,"character":17},"label":[{"value":"rootDir:"}],"kind":2,"paddingRight":true},{"position":{"line":39,"character":29},"label":[{"value":"name:"}],"kind":2,"paddingRight":true},{"position":{"line":39,"character":52},"label":[{"value":"relativeOpenapiSpecPath:"}],"kind":2,"paddingRight":true},{"position":{"line":43,"character":16},"label":[{"value":"string"}],"kind":1,"paddingLeft":true},{"position":{"line":43,"character":34},"label":[{"value":"elem...:"}],"kind":2,"paddingRight":true},{"position":{"line":44,"character":7},"label":[{"value":"*openapi3.Loader"}],"kind":1,"paddingLeft":true},{"position":{"line":46,"character":4},"label":[{"value":"*openapi3.T"}],"kind":1,"paddingLeft":true},{"position":{"line":46,"character":9},"label":[{"value":"error"}],"kind":1,"paddingLeft":true},{"position":{"line":46,"character":33},"label":[{"value":"location:"}],"kind":2,"paddingRight":true},{"position":{"line":48,"character":13},"label":[{"value":"format:"}],"kind":2,"paddingRight":true},{"position":{"line":48,"character":49},"label":[{"value":"a...:"}],"kind":2,"paddingRight":true},{"position":{"line":52,"character":6},"label":[{"value":"map[string]*openapi3.PathItem"}],"kind":1,"paddingLeft":true},{"position":{"line":53,"character":16},"label":[{"value":"[]string"}],"kind":1,"paddingLeft":true},{"position":{"line":54,"character":6},"label":[{"value":"string"}],"kind":1,"paddingLeft":true},{"position":{"line":58,"character":14},"label":[{"value":"x:"}],"kind":2,"paddingRight":true},{"position":{"line":60,"character":11},"label":[{"value":"*postman.Collection"}],"kind":1,"paddingLeft":true},{"position":{"line":60,"character":46},"label":[{"value":"desc:"}],"kind":2,"paddingRight":true},{"position":{"line":62,"character":6},"label":[{"value":"int"}],"kind":1,"paddingLeft":true},{"position":{"line":62,"character":12},"label":[{"value":"string"}],"kind":1,"paddingLeft":true},{"position":{"line":63,"character":10},"label":[{"value":"*openapi3.PathItem"}],"kind":1,"paddingLeft":true},{"position":{"line":64,"character":7},"label":[{"value":"[]*postman.Items"}],"kind":1,"paddingLeft":true},{"position":{"line":67,"character":12},"label":[{"value":"string"}],"kind":1,"paddingLeft":true},{"position":{"line":67,"character":23},"label":[{"value":"*openapi3.Operation"}],"kind":1,"paddingLeft":true},{"position":{"line":68,"character":14},"label":[{"value":"format:"}],"kind":2,"paddingRight":true},{"position":{"line":68,"character":25},"label":[{"value":"a...:"}],"kind":2,"paddingRight":true},{"position":{"line":69,"character":10},"label":[{"value":"*postman.Request"}],"kind":1,"paddingLeft":true},{"position":{"line":74,"character":25},"label":[{"value":"s:"}],"kind":2,"paddingRight":true},{"position":{"line":74,"character":56},"label":[{"value":"sep:"}],"kind":2,"paddingRight":true},{"position":{"line":74,"character":44},"label":[{"value":"s:"}],"kind":2,"paddingRight":true},{"position":{"line":74,"character":50},"label":[{"value":"prefix:"}],"kind":2,"paddingRight":true},{"position":{"line":76,"character":43},"label":[{"value":"s:"}],"kind":2,"paddingRight":true},{"position":{"line":80,"character":14},"label":[{"value":"a...:"}],"kind":2,"paddingRight":true},{"position":{"line":83,"character":8},"label":[{"value":"int"}],"kind":1,"paddingLeft":true},{"position":{"line":83,"character":15},"label":[{"value":"*openapi3.ParameterRef"}],"kind":1,"paddingLeft":true},{"position":{"line":86,"character":9},"label":[{"value":"string"}],"kind":1,"paddingLeft":true},{"position":{"line":87,"character":14},"label":[{"value":"string"}],"kind":1,"paddingLeft":true}],"id":4} | |
2024-06-10T16:22:07.298 helix_lsp::transport [INFO] gopls <- [{"kind":2,"label":[{"value":"a...:"}],"paddingRight":true,"position":{"character":14,"line":33}},{"kind":1,"label":[{"value":"string"}],"paddingLeft":true,"position":{"character":4,"line":37}},{"kind":2,"label":[{"value":"dir:"}],"paddingRight":true,"position":{"character":22,"line":37}},{"kind":2,"label":[{"value":"rootDir:"}],"paddingRight":true,"position":{"character":17,"line":39}},{"kind":2,"label":[{"value":"name:"}],"paddingRight":true,"position":{"character":29,"line":39}},{"kind":2,"label":[{"value":"relativeOpenapiSpecPath:"}],"paddingRight":true,"position":{"character":52,"line":39}},{"kind":1,"label":[{"value":"string"}],"paddingLeft":true,"position":{"character":16,"line":43}},{"kind":2,"label":[{"value":"elem...:"}],"paddingRight":true,"position":{"character":34,"line":43}},{"kind":1,"label":[{"value":"*openapi3.Loader"}],"paddingLeft":true,"position":{"character":7,"line":44}},{"kind":1,"label":[{"value":"*openapi3.T"}],"paddingLeft":true,"position":{"character":4,"line":46}},{"kind":1,"label":[{"value":"error"}],"paddingLeft":true,"position":{"character":9,"line":46}},{"kind":2,"label":[{"value":"location:"}],"paddingRight":true,"position":{"character":33,"line":46}},{"kind":2,"label":[{"value":"format:"}],"paddingRight":true,"position":{"character":13,"line":48}},{"kind":2,"label":[{"value":"a...:"}],"paddingRight":true,"position":{"character":49,"line":48}},{"kind":1,"label":[{"value":"map[string]*openapi3.PathItem"}],"paddingLeft":true,"position":{"character":6,"line":52}},{"kind":1,"label":[{"value":"[]string"}],"paddingLeft":true,"position":{"character":16,"line":53}},{"kind":1,"label":[{"value":"string"}],"paddingLeft":true,"position":{"character":6,"line":54}},{"kind":2,"label":[{"value":"x:"}],"paddingRight":true,"position":{"character":14,"line":58}},{"kind":1,"label":[{"value":"*postman.Collection"}],"paddingLeft":true,"position":{"character":11,"line":60}},{"kind":2,"label":[{"value":"desc:"}],"paddingRight":true,"position":{"character":46,"line":60}},{"kind":1,"label":[{"value":"int"}],"paddingLeft":true,"position":{"character":6,"line":62}},{"kind":1,"label":[{"value":"string"}],"paddingLeft":true,"position":{"character":12,"line":62}},{"kind":1,"label":[{"value":"*openapi3.PathItem"}],"paddingLeft":true,"position":{"character":10,"line":63}},{"kind":1,"label":[{"value":"[]*postman.Items"}],"paddingLeft":true,"position":{"character":7,"line":64}},{"kind":1,"label":[{"value":"string"}],"paddingLeft":true,"position":{"character":12,"line":67}},{"kind":1,"label":[{"value":"*openapi3.Operation"}],"paddingLeft":true,"position":{"character":23,"line":67}},{"kind":2,"label":[{"value":"format:"}],"paddingRight":true,"position":{"character":14,"line":68}},{"kind":2,"label":[{"value":"a...:"}],"paddingRight":true,"position":{"character":25,"line":68}},{"kind":1,"label":[{"value":"*postman.Request"}],"paddingLeft":true,"position":{"character":10,"line":69}},{"kind":2,"label":[{"value":"s:"}],"paddingRight":true,"position":{"character":25,"line":74}},{"kind":2,"label":[{"value":"sep:"}],"paddingRight":true,"position":{"character":56,"line":74}},{"kind":2,"label":[{"value":"s:"}],"paddingRight":true,"position":{"character":44,"line":74}},{"kind":2,"label":[{"value":"prefix:"}],"paddingRight":true,"position":{"character":50,"line":74}},{"kind":2,"label":[{"value":"s:"}],"paddingRight":true,"position":{"character":43,"line":76}},{"kind":2,"label":[{"value":"a...:"}],"paddingRight":true,"position":{"character":14,"line":80}},{"kind":1,"label":[{"value":"int"}],"paddingLeft":true,"position":{"character":8,"line":83}},{"kind":1,"label":[{"value":"*openapi3.ParameterRef"}],"paddingLeft":true,"position":{"character":15,"line":83}},{"kind":1,"label":[{"value":"string"}],"paddingLeft":true,"position":{"character":9,"line":86}},{"kind":1,"label":[{"value":"string"}],"paddingLeft":true,"position":{"character":14,"line":87}}] | |
2024-06-10T16:22:07.299 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:22:08.076 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:22:08.103 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/z/project/wb/postman/main.go","version":2,"diagnostics":[]}} | |
2024-06-10T16:22:08.104 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: Some(V2), method: "textDocument/publishDiagnostics", params: Map({"diagnostics": Array [], "uri": String("file:///home/z/project/wb/postman/main.go"), "version": Number(2)}) }))) | |
2024-06-10T16:22:08.138 helix_term::application [DEBUG] received editor event: Redraw | |
2024-06-10T16:22:08.139 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:22:08.325 helix_term::application [DEBUG] received editor event: IdleTimer | |
2024-06-10T16:22:08.359 helix_term::commands::typed [DEBUG] quitting... | |
2024-06-10T16:22:08.360 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:22:08.749 helix_term::commands::typed [DEBUG] quitting... | |
2024-06-10T16:22:08.749 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 | |
2024-06-10T16:22:08.749 helix_term::job [DEBUG] waiting on jobs... | |
2024-06-10T16:22:08.749 helix_term::job [DEBUG] waiting on jobs... | |
2024-06-10T16:22:08.750 helix_lsp::file_event [DEBUG] Removing LSP client: 0 | |
2024-06-10T16:22:08.750 helix_lsp::transport [INFO] gopls -> {"jsonrpc":"2.0","method":"shutdown","id":5} | |
2024-06-10T16:22:08.751 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","result":null,"id":5} | |
2024-06-10T16:22:08.751 helix_lsp::transport [INFO] gopls <- null | |
2024-06-10T16:22:08.751 helix_lsp::transport [INFO] gopls <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"2024/06/10 16:22:08 Shutdown session\n\tshutdown_session=1\n"}} | |
2024-06-10T16:22:08.751 helix_lsp::transport [INFO] gopls -> {"jsonrpc":"2.0","method":"exit"} | |
2024-06-10T16:22:08.751 mio::poll [TRACE] deregistering event source from poller | |
2024-06-10T16:22:08.752 mio::poll [TRACE] deregistering event source from poller | |
2024-06-10T16:22:08.752 mio::poll [TRACE] deregistering event source from poller | |
2024-06-10T16:22:08.753 mio::poll [TRACE] deregistering event source from poller | |
2024-06-10T16:22:08.753 mio::poll [TRACE] deregistering event source from poller | |
2024-06-10T16:22:08.753 mio::poll [TRACE] deregistering event source from poller |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment