helix-editor / helix

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

Some Pyright diagnostics (diagnostic-severity: hint) not displaying #9763

Closed kas2020-commits closed 8 months ago

kas2020-commits commented 8 months ago

Summary

Context about Pyright

Pyright has a configuration option called deprecateTypingAliases that adds a diagnostic whenever collection type hints are used through the typing module instead of collections.abc (i.e. using typing.Sequence should add a diagnostic but collections.abc.Sequence won't).

Another thing to know is that when typeCheckingMode="standard" then the diagnostic has severity level of "Hint", but when typeCheckingMode="strict" the diagnostic is upgraded to severity level "Error"

The Issue itself

Neovim seems to display the diagnostic both in standard mode and in strict mode and properly displays the diagnostic severity. Helix, however, only displays the diagnostic in strict mode when it's promoted to an "Error" severity.

References/Resources

  1. Neovim properly displaying the diagnostic with severity "Hint" in "standard" mode Capture d’écran, le 2024-02-29 à 12 15 39

  2. Neovim properly displaying the diagnostic with severity "Error" in "strict" mode Capture d’écran, le 2024-02-29 à 12 18 37

  3. Helix not displaying the diagnostic with severity "Hint" in "standard" mode Capture d’écran, le 2024-02-29 à 12 24 38

  4. Helix properly displaying the diagnostic with severity "Error" in "strict" mode Capture d’écran, le 2024-02-29 à 12 25 07

  5. The pyright configuration used to replicate this issue (this is placed in the pyproject.toml project file)

[tool.pyright]
typeCheckingMode = "strict"
# typeCheckingMode = "standard"
strictListInference = true
strictDictionaryInference = true
strictSetInference = true
strictParameterNoneValue = true
analyzeUnannotatedFunctions = true
deprecateTypingAliases = true
useLibraryCodeForTypes = true
autoSearchPaths = true
  1. my user languages.toml file contents
[[language]]
auto-format = true
diagnostic-severity = "Hint"
name = "python"
roots = ["pyproject.toml", "Poetry.lock", "setup.py"]

[[language.language-servers]]
except-features = ["format"]
name = "pyright"

[[language.language-servers]]
name = "ruff-lsp"

[language.formatter]
args = ["format", "--line-length", "79", "-"]
command = "ruff"

[language.indent]
tab-width = 4
unit = "    "

[language-server]
[language-server.pyright]
args = ["--stdio"]
command = "pyright-langserver"

[language-server.ruff-lsp]
command = "ruff-lsp"

Reproduction Steps

I tried this: 1. `hx ` I expected this to happen: Report a Diagnostic with severity level 4 (Hint) of type `reportDeprecated` from pyright Instead, this happened: Pyright reported no diagnostics to Helix client ### Helix log ### Log when Pyright set to "standard" mode
~/.cache/helix/helix.log ``` 2024-02-29T12:39:43.031 helix_view::clipboard [DEBUG] Using pbcopy+pbpaste to interact with the system clipboard 2024-02-29T12:39:43.054 helix_vcs [INFO] Error { context: "failed to open git repo", source: Discover( NoGitRepository { path: "/private/tmp/example_project/example", }, ), } 2024-02-29T12:39:43.054 helix_vcs [INFO] failed to open diff base for /private/tmp/example_project/example/scratch.py 2024-02-29T12:39:43.054 helix_vcs [INFO] Error { context: "failed to open git repo", source: Discover( NoGitRepository { path: "/private/tmp/example_project/example", }, ), } 2024-02-29T12:39:43.054 helix_vcs [INFO] failed to obtain current head name for /private/tmp/example_project/example/scratch.py 2024-02-29T12:39:43.055 helix_lsp::client [INFO] Using custom LSP config: {} 2024-02-29T12:39:43.055 helix_lsp::transport [INFO] pyright -> {"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":{"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},"inlayHint":{"refreshSupport":false},"symbol":{"dynamicRegistration":false},"workspaceEdit":{"documentChanges":true,"failureHandling":"abort","normalizesLineEndings":false,"resourceOperations":["create","rename","delete"]},"workspaceFolders":true}},"clientInfo":{"name":"helix","version":"23.10 (f6021dd0)"},"initializationOptions":{},"processId":50900,"rootPath":"/private/tmp/example_project","rootUri":"file:///private/tmp/example_project","workspaceFolders":[{"name":"example_project","uri":"file:///private/tmp/example_project"}]},"id":0} 2024-02-29T12:39:43.055 helix_view::editor [DEBUG] editor status: Loaded 1 file. 2024-02-29T12:39:43.055 helix_lsp::transport [INFO] ruff-lsp -> {"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":{"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},"inlayHint":{"refreshSupport":false},"symbol":{"dynamicRegistration":false},"workspaceEdit":{"documentChanges":true,"failureHandling":"abort","normalizesLineEndings":false,"resourceOperations":["create","rename","delete"]},"workspaceFolders":true}},"clientInfo":{"name":"helix","version":"23.10 (f6021dd0)"},"processId":50900,"rootPath":"/private/tmp/example_project","rootUri":"file:///private/tmp/example_project","workspaceFolders":[{"name":"example_project","uri":"file:///private/tmp/example_project"}]},"id":0} 2024-02-29T12:39:43.056 helix_tui::backend::crossterm [DEBUG] The keyboard enhancement protocol is supported in this terminal (checked in 1.093625ms) 2024-02-29T12:39:43.056 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:39:43.056 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:39:43.082 helix_term::application [DEBUG] received editor event: IdleTimer 2024-02-29T12:39:43.164 helix_lsp::transport [INFO] pyright <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"Pyright language server 1.1.350 starting"}} 2024-02-29T12:39:43.164 helix_lsp::transport [INFO] pyright <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"Server root directory: file:///nix/store/y13c4vq9ff81hv7wac27j0vgcm1j0hms-pyright-1.1.350/lib/node_modules/pyright/dist"}} 2024-02-29T12:39:43.164 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Pyright language server 1.1.350 starting"), "type": Number(3)}) }))) 2024-02-29T12:39:43.164 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "Pyright language server 1.1.350 starting" } 2024-02-29T12:39:43.164 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Server root directory: file:///nix/store/y13c4vq9ff81hv7wac27j0vgcm1j0hms-pyright-1.1.350/lib/node_modules/pyright/dist"), "type": Number(3)}) }))) 2024-02-29T12:39:43.164 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "Server root directory: file:///nix/store/y13c4vq9ff81hv7wac27j0vgcm1j0hms-pyright-1.1.350/lib/node_modules/pyright/dist" } 2024-02-29T12:39:43.166 helix_lsp::transport [INFO] pyright <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"Starting service instance \"example_project\""}} 2024-02-29T12:39:43.166 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Starting service instance \"example_project\""), "type": Number(3)}) }))) 2024-02-29T12:39:43.166 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "Starting service instance \"example_project\"" } 2024-02-29T12:39:43.166 helix_lsp::transport [INFO] pyright <- {"jsonrpc":"2.0","id":0,"result":{"capabilities":{"textDocumentSync":2,"definitionProvider":{"workDoneProgress":true},"declarationProvider":{"workDoneProgress":true},"typeDefinitionProvider":{"workDoneProgress":true},"referencesProvider":{"workDoneProgress":true},"documentSymbolProvider":{"workDoneProgress":true},"workspaceSymbolProvider":{"workDoneProgress":true},"hoverProvider":{"workDoneProgress":true},"documentHighlightProvider":{"workDoneProgress":true},"renameProvider":{"prepareProvider":true,"workDoneProgress":true},"completionProvider":{"triggerCharacters":[".","[","\"","'"],"resolveProvider":true,"workDoneProgress":true,"completionItem":{"labelDetailsSupport":true}},"signatureHelpProvider":{"triggerCharacters":["(",",",")"],"workDoneProgress":true},"codeActionProvider":{"codeActionKinds":["quickfix","source.organizeImports"],"workDoneProgress":true},"executeCommandProvider":{"commands":[],"workDoneProgress":true},"callHierarchyProvider":true,"workspace":{"workspaceFolders":{"supported":true,"changeNotifications":true}}}}} 2024-02-29T12:39:43.166 helix_lsp::transport [INFO] pyright <- {"capabilities":{"callHierarchyProvider":true,"codeActionProvider":{"codeActionKinds":["quickfix","source.organizeImports"],"workDoneProgress":true},"completionProvider":{"completionItem":{"labelDetailsSupport":true},"resolveProvider":true,"triggerCharacters":[".","[","\"","'"],"workDoneProgress":true},"declarationProvider":{"workDoneProgress":true},"definitionProvider":{"workDoneProgress":true},"documentHighlightProvider":{"workDoneProgress":true},"documentSymbolProvider":{"workDoneProgress":true},"executeCommandProvider":{"commands":[],"workDoneProgress":true},"hoverProvider":{"workDoneProgress":true},"referencesProvider":{"workDoneProgress":true},"renameProvider":{"prepareProvider":true,"workDoneProgress":true},"signatureHelpProvider":{"triggerCharacters":["(",",",")"],"workDoneProgress":true},"textDocumentSync":2,"typeDefinitionProvider":{"workDoneProgress":true},"workspace":{"workspaceFolders":{"changeNotifications":true,"supported":true}},"workspaceSymbolProvider":{"workDoneProgress":true}}} 2024-02-29T12:39:43.167 helix_lsp::transport [INFO] pyright -> {"jsonrpc":"2.0","method":"initialized","params":{}} 2024-02-29T12:39:43.167 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: None, method: "initialized", params: None }))) 2024-02-29T12:39:43.167 helix_lsp::transport [INFO] pyright -> {"jsonrpc":"2.0","method":"workspace/didChangeConfiguration","params":{"settings":{}}} 2024-02-29T12:39:43.167 helix_lsp::transport [INFO] pyright -> {"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"languageId":"python","text":"import typing as t\nfrom collections import abc\n\nt.Sequence\nabc.Sequence\n","uri":"file:///private/tmp/example_project/example/scratch.py","version":0}}} 2024-02-29T12:39:43.167 helix_lsp::transport [INFO] pyright <- {"jsonrpc":"2.0","id":0,"method":"client/registerCapability","params":{"registrations":[{"id":"6613a416-0e6c-4e3f-9646-60e3096aea4b","method":"workspace/didChangeWatchedFiles","registerOptions":{"watchers":[{"globPattern":"**/pyrightconfig.json","kind":7},{"globPattern":"**","kind":7}]}}]}} 2024-02-29T12:39:43.167 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, MethodCall(MethodCall { jsonrpc: Some(V2), method: "client/registerCapability", params: Map({"registrations": Array [Object {"id": String("6613a416-0e6c-4e3f-9646-60e3096aea4b"), "method": String("workspace/didChangeWatchedFiles"), "registerOptions": Object {"watchers": Array [Object {"globPattern": String("**/pyrightconfig.json"), "kind": Number(7)}, Object {"globPattern": String("**"), "kind": Number(7)}]}}]}), id: Num(0) }))) 2024-02-29T12:39:43.167 helix_lsp::file_event [DEBUG] Registering didChangeWatchedFiles for client '0' with id '6613a416-0e6c-4e3f-9646-60e3096aea4b' 2024-02-29T12:39:43.167 helix_lsp::transport [INFO] pyright -> {"jsonrpc":"2.0","result":null,"id":0} 2024-02-29T12:39:43.167 globset [DEBUG] glob converted to regex: Glob { glob: "**", re: "(?-u)^.*$", opts: GlobOptions { case_insensitive: false, literal_separator: false, backslash_escape: true, empty_alternates: false }, tokens: Tokens([RecursivePrefix]) } 2024-02-29T12:39:43.167 globset [DEBUG] built glob set; 0 literals, 1 basenames, 0 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 1 regexes 2024-02-29T12:39:43.168 helix_lsp::transport [INFO] pyright <- {"jsonrpc":"2.0","id":1,"method":"workspace/configuration","params":{"items":[{"scopeUri":"file:///private/tmp/example_project","section":"python"}]}} 2024-02-29T12:39:43.168 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:///private/tmp/example_project"), "section": String("python")}]}), id: Num(1) }))) 2024-02-29T12:39:43.168 helix_lsp::transport [INFO] pyright -> {"jsonrpc":"2.0","result":[null],"id":1} 2024-02-29T12:39:43.168 helix_lsp::transport [INFO] pyright <- {"jsonrpc":"2.0","id":2,"method":"workspace/configuration","params":{"items":[{"scopeUri":"file:///private/tmp/example_project","section":"python.analysis"}]}} 2024-02-29T12:39:43.168 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:///private/tmp/example_project"), "section": String("python.analysis")}]}), id: Num(2) }))) 2024-02-29T12:39:43.168 helix_lsp::transport [INFO] pyright -> {"jsonrpc":"2.0","result":[null],"id":2} 2024-02-29T12:39:43.168 helix_lsp::transport [INFO] pyright <- {"jsonrpc":"2.0","id":3,"method":"workspace/configuration","params":{"items":[{"scopeUri":"file:///private/tmp/example_project","section":"pyright"}]}} 2024-02-29T12:39:43.168 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:///private/tmp/example_project"), "section": String("pyright")}]}), id: Num(3) }))) 2024-02-29T12:39:43.168 helix_lsp::transport [INFO] pyright -> {"jsonrpc":"2.0","result":[null],"id":3} 2024-02-29T12:39:43.198 helix_term::application [DEBUG] received editor event: Redraw 2024-02-29T12:39:43.198 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:39:43.198 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:39:43.241 helix_lsp::transport [INFO] pyright <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"Loading pyproject.toml file at /private/tmp/example_project/pyproject.toml"}} 2024-02-29T12:39:43.241 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Loading pyproject.toml file at /private/tmp/example_project/pyproject.toml"), "type": Number(3)}) }))) 2024-02-29T12:39:43.241 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "Loading pyproject.toml file at /private/tmp/example_project/pyproject.toml" } 2024-02-29T12:39:43.241 helix_lsp::transport [INFO] pyright <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"Assuming Python version 3.11"}} 2024-02-29T12:39:43.241 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Assuming Python version 3.11"), "type": Number(3)}) }))) 2024-02-29T12:39:43.241 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "Assuming Python version 3.11" } 2024-02-29T12:39:43.241 helix_lsp::transport [INFO] pyright <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":2,"message":"The useLibraryCodeForTypes has been specified in both the config file and the client settings. The value in the config file (true) will take precedence"}} 2024-02-29T12:39:43.241 helix_lsp::transport [INFO] pyright <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"Found 2 source files"}} 2024-02-29T12:39:43.241 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("The useLibraryCodeForTypes has been specified in both the config file and the client settings. The value in the config file (true) will take precedence"), "type": Number(2)}) }))) 2024-02-29T12:39:43.241 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Warning, message: "The useLibraryCodeForTypes has been specified in both the config file and the client settings. The value in the config file (true) will take precedence" } 2024-02-29T12:39:43.241 helix_lsp::transport [INFO] pyright <- {"jsonrpc":"2.0","id":4,"method":"client/registerCapability","params":{"registrations":[{"id":"fb4fa114-b64d-4520-9b58-a7ab67d69335","method":"workspace/didChangeWatchedFiles","registerOptions":{"watchers":[{"globPattern":"**/pyrightconfig.json","kind":7},{"globPattern":"**","kind":7}]}}]}} 2024-02-29T12:39:43.241 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Found 2 source files"), "type": Number(3)}) }))) 2024-02-29T12:39:43.241 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "Found 2 source files" } 2024-02-29T12:39:43.241 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, MethodCall(MethodCall { jsonrpc: Some(V2), method: "client/registerCapability", params: Map({"registrations": Array [Object {"id": String("fb4fa114-b64d-4520-9b58-a7ab67d69335"), "method": String("workspace/didChangeWatchedFiles"), "registerOptions": Object {"watchers": Array [Object {"globPattern": String("**/pyrightconfig.json"), "kind": Number(7)}, Object {"globPattern": String("**"), "kind": Number(7)}]}}]}), id: Num(4) }))) 2024-02-29T12:39:43.241 helix_lsp::file_event [DEBUG] Registering didChangeWatchedFiles for client '0' with id 'fb4fa114-b64d-4520-9b58-a7ab67d69335' 2024-02-29T12:39:43.241 helix_lsp::transport [INFO] pyright -> {"jsonrpc":"2.0","result":null,"id":4} 2024-02-29T12:39:43.241 globset [DEBUG] glob converted to regex: Glob { glob: "**", re: "(?-u)^.*$", opts: GlobOptions { case_insensitive: false, literal_separator: false, backslash_escape: true, empty_alternates: false }, tokens: Tokens([RecursivePrefix]) } 2024-02-29T12:39:43.241 globset [DEBUG] built glob set; 0 literals, 1 basenames, 0 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 1 regexes 2024-02-29T12:39:43.241 helix_lsp::transport [INFO] pyright <- {"jsonrpc":"2.0","id":5,"method":"client/unregisterCapability","params":{"unregisterations":[{"id":"6613a416-0e6c-4e3f-9646-60e3096aea4b","method":"workspace/didChangeWatchedFiles"}]}} 2024-02-29T12:39:43.241 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, MethodCall(MethodCall { jsonrpc: Some(V2), method: "client/unregisterCapability", params: Map({"unregisterations": Array [Object {"id": String("6613a416-0e6c-4e3f-9646-60e3096aea4b"), "method": String("workspace/didChangeWatchedFiles")}]}), id: Num(5) }))) 2024-02-29T12:39:43.241 helix_lsp::file_event [DEBUG] Unregistering didChangeWatchedFiles with id '6613a416-0e6c-4e3f-9646-60e3096aea4b' for client '0' 2024-02-29T12:39:43.241 helix_lsp::transport [INFO] pyright -> {"jsonrpc":"2.0","result":null,"id":5} 2024-02-29T12:39:43.275 helix_term::application [DEBUG] received editor event: Redraw 2024-02-29T12:39:43.275 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:39:43.275 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:39:43.318 helix_lsp::transport [INFO] ruff-lsp <- {"params": {"type": 4, "message": "Workspace settings: null"}, "method": "window/logMessage", "jsonrpc": "2.0"} 2024-02-29T12:39:43.318 helix_lsp::transport [INFO] ruff-lsp <- {"params": {"type": 4, "message": "Global settings: {}"}, "method": "window/logMessage", "jsonrpc": "2.0"} 2024-02-29T12:39:43.319 helix_term::application [DEBUG] received editor event: LanguageServerMessage((1, Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Workspace settings: null"), "type": Number(4)}) }))) 2024-02-29T12:39:43.319 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Log, message: "Workspace settings: null" } 2024-02-29T12:39:43.319 helix_term::application [DEBUG] received editor event: LanguageServerMessage((1, Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Global settings: {}"), "type": Number(4)}) }))) 2024-02-29T12:39:43.319 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Log, message: "Global settings: {}" } 2024-02-29T12:39:43.321 helix_lsp::transport [INFO] ruff-lsp <- {"id": 0, "jsonrpc": "2.0", "result": {"capabilities": {"positionEncoding": "utf-16", "textDocumentSync": {"openClose": true, "change": 2, "save": true}, "hoverProvider": true, "codeActionProvider": {"codeActionKinds": ["quickfix", "source.fixAll", "source.organizeImports", "source.fixAll.ruff", "source.organizeImports.ruff", "notebook.source.fixAll", "notebook.source.organizeImports", "notebook.source.fixAll.ruff", "notebook.source.organizeImports.ruff"], "resolveProvider": true}, "documentFormattingProvider": true, "documentRangeFormattingProvider": {"documentSelector": [{"language": "python", "scheme": "file"}, {"language": "python", "scheme": "untitled"}], "rangesSupport": false, "workDoneProgress": false}, "executeCommandProvider": {"commands": ["ruff.applyAutofix", "ruff.applyOrganizeImports", "ruff.applyFormat"]}, "workspace": {"workspaceFolders": {"supported": true, "changeNotifications": true}, "fileOperations": {}}}, "serverInfo": {"name": "Ruff", "version": "0.0.52"}}} 2024-02-29T12:39:43.321 helix_lsp::transport [INFO] ruff-lsp <- {"capabilities":{"codeActionProvider":{"codeActionKinds":["quickfix","source.fixAll","source.organizeImports","source.fixAll.ruff","source.organizeImports.ruff","notebook.source.fixAll","notebook.source.organizeImports","notebook.source.fixAll.ruff","notebook.source.organizeImports.ruff"],"resolveProvider":true},"documentFormattingProvider":true,"documentRangeFormattingProvider":{"documentSelector":[{"language":"python","scheme":"file"},{"language":"python","scheme":"untitled"}],"rangesSupport":false,"workDoneProgress":false},"executeCommandProvider":{"commands":["ruff.applyAutofix","ruff.applyOrganizeImports","ruff.applyFormat"]},"hoverProvider":true,"positionEncoding":"utf-16","textDocumentSync":{"change":2,"openClose":true,"save":true},"workspace":{"fileOperations":{},"workspaceFolders":{"changeNotifications":true,"supported":true}}},"serverInfo":{"name":"Ruff","version":"0.0.52"}} 2024-02-29T12:39:43.321 helix_lsp::transport [INFO] ruff-lsp -> {"jsonrpc":"2.0","method":"initialized","params":{}} 2024-02-29T12:39:43.321 helix_term::application [DEBUG] received editor event: LanguageServerMessage((1, Notification(Notification { jsonrpc: None, method: "initialized", params: None }))) 2024-02-29T12:39:43.321 helix_lsp::transport [INFO] ruff-lsp -> {"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"languageId":"python","text":"import typing as t\nfrom collections import abc\n\nt.Sequence\nabc.Sequence\n","uri":"file:///private/tmp/example_project/example/scratch.py","version":0}}} 2024-02-29T12:39:43.323 helix_lsp::transport [INFO] ruff-lsp <- {"params": {"type": 4, "message": "Interpreter executable (/nix/store/rk6bdnzy2y4s8r0xx328xcc85ny238bq-python3-3.11.8/bin/ruff) not found"}, "method": "window/logMessage", "jsonrpc": "2.0"} 2024-02-29T12:39:43.323 helix_term::application [DEBUG] received editor event: LanguageServerMessage((1, Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Interpreter executable (/nix/store/rk6bdnzy2y4s8r0xx328xcc85ny238bq-python3-3.11.8/bin/ruff) not found"), "type": Number(4)}) }))) 2024-02-29T12:39:43.323 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Log, message: "Interpreter executable (/nix/store/rk6bdnzy2y4s8r0xx328xcc85ny238bq-python3-3.11.8/bin/ruff) not found" } 2024-02-29T12:39:43.323 helix_lsp::transport [INFO] ruff-lsp <- {"params": {"type": 4, "message": "Using environment executable: /nix/store/4d4b2vmzqnsbf1ji3x1yhn07hwskcaf7-ruff-0.2.2/bin/ruff"}, "method": "window/logMessage", "jsonrpc": "2.0"} 2024-02-29T12:39:43.323 helix_term::application [DEBUG] received editor event: LanguageServerMessage((1, Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Using environment executable: /nix/store/4d4b2vmzqnsbf1ji3x1yhn07hwskcaf7-ruff-0.2.2/bin/ruff"), "type": Number(4)}) }))) 2024-02-29T12:39:43.323 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Log, message: "Using environment executable: /nix/store/4d4b2vmzqnsbf1ji3x1yhn07hwskcaf7-ruff-0.2.2/bin/ruff" } 2024-02-29T12:39:43.331 helix_lsp::transport [INFO] ruff-lsp <- {"params": {"type": 4, "message": "Inferred version 0.2.2 for: /nix/store/4d4b2vmzqnsbf1ji3x1yhn07hwskcaf7-ruff-0.2.2/bin/ruff"}, "method": "window/logMessage", "jsonrpc": "2.0"} 2024-02-29T12:39:43.331 helix_term::application [DEBUG] received editor event: LanguageServerMessage((1, Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Inferred version 0.2.2 for: /nix/store/4d4b2vmzqnsbf1ji3x1yhn07hwskcaf7-ruff-0.2.2/bin/ruff"), "type": Number(4)}) }))) 2024-02-29T12:39:43.331 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Log, message: "Inferred version 0.2.2 for: /nix/store/4d4b2vmzqnsbf1ji3x1yhn07hwskcaf7-ruff-0.2.2/bin/ruff" } 2024-02-29T12:39:43.331 helix_lsp::transport [INFO] ruff-lsp <- {"params": {"type": 4, "message": "Found ruff 0.2.2 at /nix/store/4d4b2vmzqnsbf1ji3x1yhn07hwskcaf7-ruff-0.2.2/bin/ruff"}, "method": "window/logMessage", "jsonrpc": "2.0"} 2024-02-29T12:39:43.331 helix_term::application [DEBUG] received editor event: LanguageServerMessage((1, Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Found ruff 0.2.2 at /nix/store/4d4b2vmzqnsbf1ji3x1yhn07hwskcaf7-ruff-0.2.2/bin/ruff"), "type": Number(4)}) }))) 2024-02-29T12:39:43.331 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Log, message: "Found ruff 0.2.2 at /nix/store/4d4b2vmzqnsbf1ji3x1yhn07hwskcaf7-ruff-0.2.2/bin/ruff" } 2024-02-29T12:39:43.331 helix_lsp::transport [INFO] ruff-lsp <- {"params": {"type": 4, "message": "Running Ruff with: /nix/store/4d4b2vmzqnsbf1ji3x1yhn07hwskcaf7-ruff-0.2.2/bin/ruff ['--force-exclude', '--no-cache', '--no-fix', '--quiet', '--output-format', 'json', '-', '--stdin-filename', '/private/tmp/example_project/example/scratch.py']"}, "method": "window/logMessage", "jsonrpc": "2.0"} 2024-02-29T12:39:43.331 helix_term::application [DEBUG] received editor event: LanguageServerMessage((1, Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Running Ruff with: /nix/store/4d4b2vmzqnsbf1ji3x1yhn07hwskcaf7-ruff-0.2.2/bin/ruff ['--force-exclude', '--no-cache', '--no-fix', '--quiet', '--output-format', 'json', '-', '--stdin-filename', '/private/tmp/example_project/example/scratch.py']"), "type": Number(4)}) }))) 2024-02-29T12:39:43.331 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Log, message: "Running Ruff with: /nix/store/4d4b2vmzqnsbf1ji3x1yhn07hwskcaf7-ruff-0.2.2/bin/ruff ['--force-exclude', '--no-cache', '--no-fix', '--quiet', '--output-format', 'json', '-', '--stdin-filename', '/private/tmp/example_project/example/scratch.py']" } 2024-02-29T12:39:43.341 helix_lsp::transport [INFO] ruff-lsp <- {"params": {"uri": "file:///private/tmp/example_project/example/scratch.py", "diagnostics": []}, "method": "textDocument/publishDiagnostics", "jsonrpc": "2.0"} 2024-02-29T12:39:43.341 helix_term::application [DEBUG] received editor event: LanguageServerMessage((1, Notification(Notification { jsonrpc: Some(V2), method: "textDocument/publishDiagnostics", params: Map({"diagnostics": Array [], "uri": String("file:///private/tmp/example_project/example/scratch.py")}) }))) 2024-02-29T12:39:43.353 helix_term::application [DEBUG] received editor event: Redraw 2024-02-29T12:39:43.353 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:39:43.353 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:39:43.555 helix_lsp::transport [INFO] pyright <- {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///private/tmp/example_project/example/scratch.py","version":0,"diagnostics":[]}} 2024-02-29T12:39:43.555 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: Some(V2), method: "textDocument/publishDiagnostics", params: Map({"diagnostics": Array [], "uri": String("file:///private/tmp/example_project/example/scratch.py"), "version": Number(0)}) }))) 2024-02-29T12:39:43.590 helix_term::application [DEBUG] received editor event: Redraw 2024-02-29T12:39:43.590 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:39:43.590 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:39:46.765 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:39:46.765 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:39:46.817 helix_term::application [DEBUG] received editor event: IdleTimer 2024-02-29T12:39:46.870 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:39:46.871 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:39:46.921 helix_term::application [DEBUG] received editor event: IdleTimer 2024-02-29T12:39:47.062 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:39:47.063 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:39:47.113 helix_term::application [DEBUG] received editor event: IdleTimer 2024-02-29T12:39:47.214 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:39:47.215 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:39:47.266 helix_term::application [DEBUG] received editor event: IdleTimer 2024-02-29T12:39:48.410 helix_term::commands::typed [DEBUG] quitting... 2024-02-29T12:39:48.410 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:39:48.410 helix_term::job [DEBUG] waiting on jobs... 2024-02-29T12:39:48.411 helix_term::job [DEBUG] waiting on jobs... 2024-02-29T12:39:48.411 helix_lsp::file_event [DEBUG] Removing LSP client: 0 2024-02-29T12:39:48.411 helix_lsp::transport [INFO] pyright -> {"jsonrpc":"2.0","method":"shutdown","id":1} 2024-02-29T12:39:48.411 helix_lsp::transport [INFO] ruff-lsp -> {"jsonrpc":"2.0","method":"shutdown","id":1} 2024-02-29T12:39:48.411 helix_lsp::file_event [DEBUG] Removing LSP client: 1 2024-02-29T12:39:48.413 helix_lsp::transport [INFO] pyright <- {"jsonrpc":"2.0","id":1,"result":null} 2024-02-29T12:39:48.414 helix_lsp::transport [INFO] pyright <- null 2024-02-29T12:39:48.414 helix_lsp::transport [INFO] pyright -> {"jsonrpc":"2.0","method":"exit"} 2024-02-29T12:39:48.414 helix_lsp::transport [INFO] ruff-lsp <- {"id": 1, "jsonrpc": "2.0", "result": null} 2024-02-29T12:39:48.414 helix_lsp::transport [INFO] ruff-lsp <- null 2024-02-29T12:39:48.414 helix_lsp::transport [INFO] ruff-lsp -> {"jsonrpc":"2.0","method":"exit"} ```
### Platform macOS ### Terminal Emulator Kitty ### Installation Method nixpkgs ### Helix Version helix 23.10 (f6021dd0)
kas2020-commits commented 8 months ago

Helix Log when pyright set to "strict" mode

~/.cache/helix/helix.log ``` 2024-02-29T12:44:38.611 helix_view::clipboard [DEBUG] Using pbcopy+pbpaste to interact with the system clipboard 2024-02-29T12:44:38.635 helix_vcs [INFO] Error { context: "failed to open git repo", source: Discover( NoGitRepository { path: "/private/tmp/example_project/example", }, ), } 2024-02-29T12:44:38.635 helix_vcs [INFO] failed to open diff base for /private/tmp/example_project/example/scratch.py 2024-02-29T12:44:38.635 helix_vcs [INFO] Error { context: "failed to open git repo", source: Discover( NoGitRepository { path: "/private/tmp/example_project/example", }, ), } 2024-02-29T12:44:38.635 helix_vcs [INFO] failed to obtain current head name for /private/tmp/example_project/example/scratch.py 2024-02-29T12:44:38.635 helix_lsp::client [INFO] Using custom LSP config: {} 2024-02-29T12:44:38.635 helix_lsp::transport [INFO] pyright -> {"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":{"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},"inlayHint":{"refreshSupport":false},"symbol":{"dynamicRegistration":false},"workspaceEdit":{"documentChanges":true,"failureHandling":"abort","normalizesLineEndings":false,"resourceOperations":["create","rename","delete"]},"workspaceFolders":true}},"clientInfo":{"name":"helix","version":"23.10 (f6021dd0)"},"initializationOptions":{},"processId":51052,"rootPath":"/private/tmp/example_project","rootUri":"file:///private/tmp/example_project","workspaceFolders":[{"name":"example_project","uri":"file:///private/tmp/example_project"}]},"id":0} 2024-02-29T12:44:38.635 helix_view::editor [DEBUG] editor status: Loaded 1 file. 2024-02-29T12:44:38.635 helix_lsp::transport [INFO] ruff-lsp -> {"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":{"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},"inlayHint":{"refreshSupport":false},"symbol":{"dynamicRegistration":false},"workspaceEdit":{"documentChanges":true,"failureHandling":"abort","normalizesLineEndings":false,"resourceOperations":["create","rename","delete"]},"workspaceFolders":true}},"clientInfo":{"name":"helix","version":"23.10 (f6021dd0)"},"processId":51052,"rootPath":"/private/tmp/example_project","rootUri":"file:///private/tmp/example_project","workspaceFolders":[{"name":"example_project","uri":"file:///private/tmp/example_project"}]},"id":0} 2024-02-29T12:44:38.636 helix_tui::backend::crossterm [DEBUG] The keyboard enhancement protocol is supported in this terminal (checked in 1.078375ms) 2024-02-29T12:44:38.637 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:44:38.637 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:44:38.663 helix_term::application [DEBUG] received editor event: IdleTimer 2024-02-29T12:44:38.745 helix_lsp::transport [INFO] pyright <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"Pyright language server 1.1.350 starting"}} 2024-02-29T12:44:38.745 helix_lsp::transport [INFO] pyright <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"Server root directory: file:///nix/store/y13c4vq9ff81hv7wac27j0vgcm1j0hms-pyright-1.1.350/lib/node_modules/pyright/dist"}} 2024-02-29T12:44:38.745 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Pyright language server 1.1.350 starting"), "type": Number(3)}) }))) 2024-02-29T12:44:38.745 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "Pyright language server 1.1.350 starting" } 2024-02-29T12:44:38.745 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Server root directory: file:///nix/store/y13c4vq9ff81hv7wac27j0vgcm1j0hms-pyright-1.1.350/lib/node_modules/pyright/dist"), "type": Number(3)}) }))) 2024-02-29T12:44:38.745 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "Server root directory: file:///nix/store/y13c4vq9ff81hv7wac27j0vgcm1j0hms-pyright-1.1.350/lib/node_modules/pyright/dist" } 2024-02-29T12:44:38.748 helix_lsp::transport [INFO] pyright <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"Starting service instance \"example_project\""}} 2024-02-29T12:44:38.748 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Starting service instance \"example_project\""), "type": Number(3)}) }))) 2024-02-29T12:44:38.748 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "Starting service instance \"example_project\"" } 2024-02-29T12:44:38.748 helix_lsp::transport [INFO] pyright <- {"jsonrpc":"2.0","id":0,"result":{"capabilities":{"textDocumentSync":2,"definitionProvider":{"workDoneProgress":true},"declarationProvider":{"workDoneProgress":true},"typeDefinitionProvider":{"workDoneProgress":true},"referencesProvider":{"workDoneProgress":true},"documentSymbolProvider":{"workDoneProgress":true},"workspaceSymbolProvider":{"workDoneProgress":true},"hoverProvider":{"workDoneProgress":true},"documentHighlightProvider":{"workDoneProgress":true},"renameProvider":{"prepareProvider":true,"workDoneProgress":true},"completionProvider":{"triggerCharacters":[".","[","\"","'"],"resolveProvider":true,"workDoneProgress":true,"completionItem":{"labelDetailsSupport":true}},"signatureHelpProvider":{"triggerCharacters":["(",",",")"],"workDoneProgress":true},"codeActionProvider":{"codeActionKinds":["quickfix","source.organizeImports"],"workDoneProgress":true},"executeCommandProvider":{"commands":[],"workDoneProgress":true},"callHierarchyProvider":true,"workspace":{"workspaceFolders":{"supported":true,"changeNotifications":true}}}}} 2024-02-29T12:44:38.748 helix_lsp::transport [INFO] pyright <- {"capabilities":{"callHierarchyProvider":true,"codeActionProvider":{"codeActionKinds":["quickfix","source.organizeImports"],"workDoneProgress":true},"completionProvider":{"completionItem":{"labelDetailsSupport":true},"resolveProvider":true,"triggerCharacters":[".","[","\"","'"],"workDoneProgress":true},"declarationProvider":{"workDoneProgress":true},"definitionProvider":{"workDoneProgress":true},"documentHighlightProvider":{"workDoneProgress":true},"documentSymbolProvider":{"workDoneProgress":true},"executeCommandProvider":{"commands":[],"workDoneProgress":true},"hoverProvider":{"workDoneProgress":true},"referencesProvider":{"workDoneProgress":true},"renameProvider":{"prepareProvider":true,"workDoneProgress":true},"signatureHelpProvider":{"triggerCharacters":["(",",",")"],"workDoneProgress":true},"textDocumentSync":2,"typeDefinitionProvider":{"workDoneProgress":true},"workspace":{"workspaceFolders":{"changeNotifications":true,"supported":true}},"workspaceSymbolProvider":{"workDoneProgress":true}}} 2024-02-29T12:44:38.748 helix_lsp::transport [INFO] pyright -> {"jsonrpc":"2.0","method":"initialized","params":{}} 2024-02-29T12:44:38.748 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: None, method: "initialized", params: None }))) 2024-02-29T12:44:38.748 helix_lsp::transport [INFO] pyright -> {"jsonrpc":"2.0","method":"workspace/didChangeConfiguration","params":{"settings":{}}} 2024-02-29T12:44:38.748 helix_lsp::transport [INFO] pyright -> {"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"languageId":"python","text":"import typing as t\nfrom collections import abc\n\nt.Sequence\nabc.Sequence\n","uri":"file:///private/tmp/example_project/example/scratch.py","version":0}}} 2024-02-29T12:44:38.749 helix_lsp::transport [INFO] pyright <- {"jsonrpc":"2.0","id":0,"method":"client/registerCapability","params":{"registrations":[{"id":"2f118b0e-b1f5-44f5-9106-86c908e0e02f","method":"workspace/didChangeWatchedFiles","registerOptions":{"watchers":[{"globPattern":"**/pyrightconfig.json","kind":7},{"globPattern":"**","kind":7}]}}]}} 2024-02-29T12:44:38.749 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, MethodCall(MethodCall { jsonrpc: Some(V2), method: "client/registerCapability", params: Map({"registrations": Array [Object {"id": String("2f118b0e-b1f5-44f5-9106-86c908e0e02f"), "method": String("workspace/didChangeWatchedFiles"), "registerOptions": Object {"watchers": Array [Object {"globPattern": String("**/pyrightconfig.json"), "kind": Number(7)}, Object {"globPattern": String("**"), "kind": Number(7)}]}}]}), id: Num(0) }))) 2024-02-29T12:44:38.749 helix_lsp::file_event [DEBUG] Registering didChangeWatchedFiles for client '0' with id '2f118b0e-b1f5-44f5-9106-86c908e0e02f' 2024-02-29T12:44:38.749 helix_lsp::transport [INFO] pyright -> {"jsonrpc":"2.0","result":null,"id":0} 2024-02-29T12:44:38.749 globset [DEBUG] glob converted to regex: Glob { glob: "**", re: "(?-u)^.*$", opts: GlobOptions { case_insensitive: false, literal_separator: false, backslash_escape: true, empty_alternates: false }, tokens: Tokens([RecursivePrefix]) } 2024-02-29T12:44:38.749 globset [DEBUG] built glob set; 0 literals, 1 basenames, 0 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 1 regexes 2024-02-29T12:44:38.749 helix_lsp::transport [INFO] pyright <- {"jsonrpc":"2.0","id":1,"method":"workspace/configuration","params":{"items":[{"scopeUri":"file:///private/tmp/example_project","section":"python"}]}} 2024-02-29T12:44:38.749 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:///private/tmp/example_project"), "section": String("python")}]}), id: Num(1) }))) 2024-02-29T12:44:38.749 helix_lsp::transport [INFO] pyright -> {"jsonrpc":"2.0","result":[null],"id":1} 2024-02-29T12:44:38.749 helix_lsp::transport [INFO] pyright <- {"jsonrpc":"2.0","id":2,"method":"workspace/configuration","params":{"items":[{"scopeUri":"file:///private/tmp/example_project","section":"python.analysis"}]}} 2024-02-29T12:44:38.749 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:///private/tmp/example_project"), "section": String("python.analysis")}]}), id: Num(2) }))) 2024-02-29T12:44:38.749 helix_lsp::transport [INFO] pyright -> {"jsonrpc":"2.0","result":[null],"id":2} 2024-02-29T12:44:38.750 helix_lsp::transport [INFO] pyright <- {"jsonrpc":"2.0","id":3,"method":"workspace/configuration","params":{"items":[{"scopeUri":"file:///private/tmp/example_project","section":"pyright"}]}} 2024-02-29T12:44:38.750 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:///private/tmp/example_project"), "section": String("pyright")}]}), id: Num(3) }))) 2024-02-29T12:44:38.750 helix_lsp::transport [INFO] pyright -> {"jsonrpc":"2.0","result":[null],"id":3} 2024-02-29T12:44:38.780 helix_term::application [DEBUG] received editor event: Redraw 2024-02-29T12:44:38.780 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:44:38.780 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:44:38.829 helix_lsp::transport [INFO] pyright <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"Loading pyproject.toml file at /private/tmp/example_project/pyproject.toml"}} 2024-02-29T12:44:38.829 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Loading pyproject.toml file at /private/tmp/example_project/pyproject.toml"), "type": Number(3)}) }))) 2024-02-29T12:44:38.829 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "Loading pyproject.toml file at /private/tmp/example_project/pyproject.toml" } 2024-02-29T12:44:38.829 helix_lsp::transport [INFO] pyright <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"Assuming Python version 3.11"}} 2024-02-29T12:44:38.829 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Assuming Python version 3.11"), "type": Number(3)}) }))) 2024-02-29T12:44:38.829 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "Assuming Python version 3.11" } 2024-02-29T12:44:38.829 helix_lsp::transport [INFO] pyright <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":2,"message":"The useLibraryCodeForTypes has been specified in both the config file and the client settings. The value in the config file (true) will take precedence"}} 2024-02-29T12:44:38.829 helix_lsp::transport [INFO] pyright <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"Found 2 source files"}} 2024-02-29T12:44:38.829 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("The useLibraryCodeForTypes has been specified in both the config file and the client settings. The value in the config file (true) will take precedence"), "type": Number(2)}) }))) 2024-02-29T12:44:38.829 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Warning, message: "The useLibraryCodeForTypes has been specified in both the config file and the client settings. The value in the config file (true) will take precedence" } 2024-02-29T12:44:38.829 helix_lsp::transport [INFO] pyright <- {"jsonrpc":"2.0","id":4,"method":"client/registerCapability","params":{"registrations":[{"id":"f013cdd9-f7fa-4606-9b66-6a45399d2662","method":"workspace/didChangeWatchedFiles","registerOptions":{"watchers":[{"globPattern":"**/pyrightconfig.json","kind":7},{"globPattern":"**","kind":7}]}}]}} 2024-02-29T12:44:38.829 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Found 2 source files"), "type": Number(3)}) }))) 2024-02-29T12:44:38.829 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "Found 2 source files" } 2024-02-29T12:44:38.829 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, MethodCall(MethodCall { jsonrpc: Some(V2), method: "client/registerCapability", params: Map({"registrations": Array [Object {"id": String("f013cdd9-f7fa-4606-9b66-6a45399d2662"), "method": String("workspace/didChangeWatchedFiles"), "registerOptions": Object {"watchers": Array [Object {"globPattern": String("**/pyrightconfig.json"), "kind": Number(7)}, Object {"globPattern": String("**"), "kind": Number(7)}]}}]}), id: Num(4) }))) 2024-02-29T12:44:38.829 helix_lsp::file_event [DEBUG] Registering didChangeWatchedFiles for client '0' with id 'f013cdd9-f7fa-4606-9b66-6a45399d2662' 2024-02-29T12:44:38.829 helix_lsp::transport [INFO] pyright -> {"jsonrpc":"2.0","result":null,"id":4} 2024-02-29T12:44:38.829 globset [DEBUG] glob converted to regex: Glob { glob: "**", re: "(?-u)^.*$", opts: GlobOptions { case_insensitive: false, literal_separator: false, backslash_escape: true, empty_alternates: false }, tokens: Tokens([RecursivePrefix]) } 2024-02-29T12:44:38.829 globset [DEBUG] built glob set; 0 literals, 1 basenames, 0 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 1 regexes 2024-02-29T12:44:38.829 helix_lsp::transport [INFO] pyright <- {"jsonrpc":"2.0","id":5,"method":"client/unregisterCapability","params":{"unregisterations":[{"id":"2f118b0e-b1f5-44f5-9106-86c908e0e02f","method":"workspace/didChangeWatchedFiles"}]}} 2024-02-29T12:44:38.829 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, MethodCall(MethodCall { jsonrpc: Some(V2), method: "client/unregisterCapability", params: Map({"unregisterations": Array [Object {"id": String("2f118b0e-b1f5-44f5-9106-86c908e0e02f"), "method": String("workspace/didChangeWatchedFiles")}]}), id: Num(5) }))) 2024-02-29T12:44:38.829 helix_lsp::file_event [DEBUG] Unregistering didChangeWatchedFiles with id '2f118b0e-b1f5-44f5-9106-86c908e0e02f' for client '0' 2024-02-29T12:44:38.829 helix_lsp::transport [INFO] pyright -> {"jsonrpc":"2.0","result":null,"id":5} 2024-02-29T12:44:38.864 helix_term::application [DEBUG] received editor event: Redraw 2024-02-29T12:44:38.864 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:44:38.864 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:44:38.903 helix_lsp::transport [INFO] ruff-lsp <- {"params": {"type": 4, "message": "Workspace settings: null"}, "method": "window/logMessage", "jsonrpc": "2.0"} 2024-02-29T12:44:38.904 helix_lsp::transport [INFO] ruff-lsp <- {"params": {"type": 4, "message": "Global settings: {}"}, "method": "window/logMessage", "jsonrpc": "2.0"} 2024-02-29T12:44:38.904 helix_term::application [DEBUG] received editor event: LanguageServerMessage((1, Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Workspace settings: null"), "type": Number(4)}) }))) 2024-02-29T12:44:38.904 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Log, message: "Workspace settings: null" } 2024-02-29T12:44:38.904 helix_term::application [DEBUG] received editor event: LanguageServerMessage((1, Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Global settings: {}"), "type": Number(4)}) }))) 2024-02-29T12:44:38.904 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Log, message: "Global settings: {}" } 2024-02-29T12:44:38.906 helix_lsp::transport [INFO] ruff-lsp <- {"id": 0, "jsonrpc": "2.0", "result": {"capabilities": {"positionEncoding": "utf-16", "textDocumentSync": {"openClose": true, "change": 2, "save": true}, "hoverProvider": true, "codeActionProvider": {"codeActionKinds": ["quickfix", "source.fixAll", "source.organizeImports", "source.fixAll.ruff", "source.organizeImports.ruff", "notebook.source.fixAll", "notebook.source.organizeImports", "notebook.source.fixAll.ruff", "notebook.source.organizeImports.ruff"], "resolveProvider": true}, "documentFormattingProvider": true, "documentRangeFormattingProvider": {"documentSelector": [{"language": "python", "scheme": "file"}, {"language": "python", "scheme": "untitled"}], "rangesSupport": false, "workDoneProgress": false}, "executeCommandProvider": {"commands": ["ruff.applyAutofix", "ruff.applyOrganizeImports", "ruff.applyFormat"]}, "workspace": {"workspaceFolders": {"supported": true, "changeNotifications": true}, "fileOperations": {}}}, "serverInfo": {"name": "Ruff", "version": "0.0.52"}}} 2024-02-29T12:44:38.906 helix_lsp::transport [INFO] ruff-lsp <- {"capabilities":{"codeActionProvider":{"codeActionKinds":["quickfix","source.fixAll","source.organizeImports","source.fixAll.ruff","source.organizeImports.ruff","notebook.source.fixAll","notebook.source.organizeImports","notebook.source.fixAll.ruff","notebook.source.organizeImports.ruff"],"resolveProvider":true},"documentFormattingProvider":true,"documentRangeFormattingProvider":{"documentSelector":[{"language":"python","scheme":"file"},{"language":"python","scheme":"untitled"}],"rangesSupport":false,"workDoneProgress":false},"executeCommandProvider":{"commands":["ruff.applyAutofix","ruff.applyOrganizeImports","ruff.applyFormat"]},"hoverProvider":true,"positionEncoding":"utf-16","textDocumentSync":{"change":2,"openClose":true,"save":true},"workspace":{"fileOperations":{},"workspaceFolders":{"changeNotifications":true,"supported":true}}},"serverInfo":{"name":"Ruff","version":"0.0.52"}} 2024-02-29T12:44:38.906 helix_lsp::transport [INFO] ruff-lsp -> {"jsonrpc":"2.0","method":"initialized","params":{}} 2024-02-29T12:44:38.906 helix_term::application [DEBUG] received editor event: LanguageServerMessage((1, Notification(Notification { jsonrpc: None, method: "initialized", params: None }))) 2024-02-29T12:44:38.906 helix_lsp::transport [INFO] ruff-lsp -> {"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"languageId":"python","text":"import typing as t\nfrom collections import abc\n\nt.Sequence\nabc.Sequence\n","uri":"file:///private/tmp/example_project/example/scratch.py","version":0}}} 2024-02-29T12:44:38.908 helix_lsp::transport [INFO] ruff-lsp <- {"params": {"type": 4, "message": "Interpreter executable (/nix/store/rk6bdnzy2y4s8r0xx328xcc85ny238bq-python3-3.11.8/bin/ruff) not found"}, "method": "window/logMessage", "jsonrpc": "2.0"} 2024-02-29T12:44:38.908 helix_term::application [DEBUG] received editor event: LanguageServerMessage((1, Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Interpreter executable (/nix/store/rk6bdnzy2y4s8r0xx328xcc85ny238bq-python3-3.11.8/bin/ruff) not found"), "type": Number(4)}) }))) 2024-02-29T12:44:38.908 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Log, message: "Interpreter executable (/nix/store/rk6bdnzy2y4s8r0xx328xcc85ny238bq-python3-3.11.8/bin/ruff) not found" } 2024-02-29T12:44:38.908 helix_lsp::transport [INFO] ruff-lsp <- {"params": {"type": 4, "message": "Using environment executable: /nix/store/4d4b2vmzqnsbf1ji3x1yhn07hwskcaf7-ruff-0.2.2/bin/ruff"}, "method": "window/logMessage", "jsonrpc": "2.0"} 2024-02-29T12:44:38.908 helix_term::application [DEBUG] received editor event: LanguageServerMessage((1, Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Using environment executable: /nix/store/4d4b2vmzqnsbf1ji3x1yhn07hwskcaf7-ruff-0.2.2/bin/ruff"), "type": Number(4)}) }))) 2024-02-29T12:44:38.908 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Log, message: "Using environment executable: /nix/store/4d4b2vmzqnsbf1ji3x1yhn07hwskcaf7-ruff-0.2.2/bin/ruff" } 2024-02-29T12:44:38.916 helix_lsp::transport [INFO] ruff-lsp <- {"params": {"type": 4, "message": "Inferred version 0.2.2 for: /nix/store/4d4b2vmzqnsbf1ji3x1yhn07hwskcaf7-ruff-0.2.2/bin/ruff"}, "method": "window/logMessage", "jsonrpc": "2.0"} 2024-02-29T12:44:38.916 helix_term::application [DEBUG] received editor event: LanguageServerMessage((1, Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Inferred version 0.2.2 for: /nix/store/4d4b2vmzqnsbf1ji3x1yhn07hwskcaf7-ruff-0.2.2/bin/ruff"), "type": Number(4)}) }))) 2024-02-29T12:44:38.916 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Log, message: "Inferred version 0.2.2 for: /nix/store/4d4b2vmzqnsbf1ji3x1yhn07hwskcaf7-ruff-0.2.2/bin/ruff" } 2024-02-29T12:44:38.916 helix_lsp::transport [INFO] ruff-lsp <- {"params": {"type": 4, "message": "Found ruff 0.2.2 at /nix/store/4d4b2vmzqnsbf1ji3x1yhn07hwskcaf7-ruff-0.2.2/bin/ruff"}, "method": "window/logMessage", "jsonrpc": "2.0"} 2024-02-29T12:44:38.916 helix_term::application [DEBUG] received editor event: LanguageServerMessage((1, Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Found ruff 0.2.2 at /nix/store/4d4b2vmzqnsbf1ji3x1yhn07hwskcaf7-ruff-0.2.2/bin/ruff"), "type": Number(4)}) }))) 2024-02-29T12:44:38.916 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Log, message: "Found ruff 0.2.2 at /nix/store/4d4b2vmzqnsbf1ji3x1yhn07hwskcaf7-ruff-0.2.2/bin/ruff" } 2024-02-29T12:44:38.916 helix_lsp::transport [INFO] ruff-lsp <- {"params": {"type": 4, "message": "Running Ruff with: /nix/store/4d4b2vmzqnsbf1ji3x1yhn07hwskcaf7-ruff-0.2.2/bin/ruff ['--force-exclude', '--no-cache', '--no-fix', '--quiet', '--output-format', 'json', '-', '--stdin-filename', '/private/tmp/example_project/example/scratch.py']"}, "method": "window/logMessage", "jsonrpc": "2.0"} 2024-02-29T12:44:38.916 helix_term::application [DEBUG] received editor event: LanguageServerMessage((1, Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Running Ruff with: /nix/store/4d4b2vmzqnsbf1ji3x1yhn07hwskcaf7-ruff-0.2.2/bin/ruff ['--force-exclude', '--no-cache', '--no-fix', '--quiet', '--output-format', 'json', '-', '--stdin-filename', '/private/tmp/example_project/example/scratch.py']"), "type": Number(4)}) }))) 2024-02-29T12:44:38.916 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Log, message: "Running Ruff with: /nix/store/4d4b2vmzqnsbf1ji3x1yhn07hwskcaf7-ruff-0.2.2/bin/ruff ['--force-exclude', '--no-cache', '--no-fix', '--quiet', '--output-format', 'json', '-', '--stdin-filename', '/private/tmp/example_project/example/scratch.py']" } 2024-02-29T12:44:38.926 helix_lsp::transport [INFO] ruff-lsp <- {"params": {"uri": "file:///private/tmp/example_project/example/scratch.py", "diagnostics": []}, "method": "textDocument/publishDiagnostics", "jsonrpc": "2.0"} 2024-02-29T12:44:38.926 helix_term::application [DEBUG] received editor event: LanguageServerMessage((1, Notification(Notification { jsonrpc: Some(V2), method: "textDocument/publishDiagnostics", params: Map({"diagnostics": Array [], "uri": String("file:///private/tmp/example_project/example/scratch.py")}) }))) 2024-02-29T12:44:38.939 helix_term::application [DEBUG] received editor event: Redraw 2024-02-29T12:44:38.939 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:44:38.939 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:44:39.140 helix_lsp::transport [INFO] pyright <- {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///private/tmp/example_project/example/scratch.py","version":0,"diagnostics":[{"range":{"start":{"line":3,"character":2},"end":{"line":3,"character":10}},"message":"This type is deprecated as of Python 3.9; use \"collections.abc.Sequence\" instead","severity":1,"code":"reportDeprecated","source":"Pyright","codeDescription":{"href":"https://github.com/microsoft/pyright/blob/main/docs/configuration.md#reportDeprecated"}}]}} 2024-02-29T12:44:39.140 helix_term::application [DEBUG] received editor event: LanguageServerMessage((0, Notification(Notification { jsonrpc: Some(V2), method: "textDocument/publishDiagnostics", params: Map({"diagnostics": Array [Object {"code": String("reportDeprecated"), "codeDescription": Object {"href": String("https://github.com/microsoft/pyright/blob/main/docs/configuration.md#reportDeprecated")}, "message": String("This type is deprecated as of Python 3.9; use \"collections.abc.Sequence\" instead"), "range": Object {"end": Object {"character": Number(10), "line": Number(3)}, "start": Object {"character": Number(2), "line": Number(3)}}, "severity": Number(1), "source": String("Pyright")}], "uri": String("file:///private/tmp/example_project/example/scratch.py"), "version": Number(0)}) }))) 2024-02-29T12:44:39.175 helix_term::application [DEBUG] received editor event: Redraw 2024-02-29T12:44:39.175 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:44:39.175 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:44:41.662 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:44:41.663 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:44:41.714 helix_term::application [DEBUG] received editor event: IdleTimer 2024-02-29T12:44:41.820 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:44:41.821 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:44:41.872 helix_term::application [DEBUG] received editor event: IdleTimer 2024-02-29T12:44:41.964 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:44:41.965 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:44:42.016 helix_term::application [DEBUG] received editor event: IdleTimer 2024-02-29T12:44:42.026 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:44:42.026 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:44:42.077 helix_term::application [DEBUG] received editor event: IdleTimer 2024-02-29T12:44:42.192 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:44:42.193 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:44:42.244 helix_term::application [DEBUG] received editor event: IdleTimer 2024-02-29T12:44:44.926 helix_term::commands::typed [DEBUG] quitting... 2024-02-29T12:44:44.926 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2024-02-29T12:44:44.927 helix_term::job [DEBUG] waiting on jobs... 2024-02-29T12:44:44.927 helix_term::job [DEBUG] waiting on jobs... 2024-02-29T12:44:44.927 helix_lsp::file_event [DEBUG] Removing LSP client: 1 2024-02-29T12:44:44.927 helix_lsp::file_event [DEBUG] Removing LSP client: 0 2024-02-29T12:44:44.927 helix_lsp::transport [INFO] pyright -> {"jsonrpc":"2.0","method":"shutdown","id":1} 2024-02-29T12:44:44.927 helix_lsp::transport [INFO] ruff-lsp -> {"jsonrpc":"2.0","method":"shutdown","id":1} 2024-02-29T12:44:44.929 helix_lsp::transport [INFO] pyright <- {"jsonrpc":"2.0","id":1,"result":null} 2024-02-29T12:44:44.929 helix_lsp::transport [INFO] pyright <- null 2024-02-29T12:44:44.930 helix_lsp::transport [INFO] pyright -> {"jsonrpc":"2.0","method":"exit"} 2024-02-29T12:44:44.930 helix_lsp::transport [INFO] ruff-lsp <- {"id": 1, "jsonrpc": "2.0", "result": null} 2024-02-29T12:44:44.930 helix_lsp::transport [INFO] ruff-lsp <- null 2024-02-29T12:44:44.931 helix_lsp::transport [INFO] ruff-lsp -> {"jsonrpc":"2.0","method":"exit"} ```