-
-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Closed
Labels
C-bugCategory: This is a bugCategory: This is a bug
Description
Summary
The Prisma LSP crashed complaining about settings being null. There is an issue on the Prisma LSP repo for this. prisma/language-tools#1869
Unlike the recommended workaround setting enableDiagnostics as an LSP config does not fix this for me.
Reproduction Steps
To reproduce, install the latest prisma language server from npm and open a prisma file.
The LSP crashes complaining that settings is null.
Providing a custom LSP config like this does not help, see helix log later.
# ~/.config/helix/languages.toml
[language-server]
prisma-language-server = { command = "prisma-language-server", args = ["--stdio"], config = { enableDiagnostics = true } }Helix log
~/.cache/helix/helix.log
2025-05-30T11:49:57.355 helix_lsp::client [INFO] Using custom LSP config: {"enableDiagnostics":true}
2025-05-30T11:49:57.355 helix_lsp::transport [INFO] prisma-language-server -> {"jsonrpc":"2.0","method":"initialize","params":{"capabilities":{"general":{"positionEncodings":["utf-8","utf-32","utf-16"]},"textDocument":{"codeAction":{"codeActionLiteralSupport":{"codeActionKind":{"valueSet":["","quickfix","refactor","refactor.extract","refactor.inline","refactor.rewrite","source","source.organizeImports"]}},"dataSupport":true,"disabledSupport":true,"isPreferredSupport":true,"resolveSupport":{"properties":["edit","command"]}},"completion":{"completionItem":{"deprecatedSupport":true,"insertReplaceSupport":true,"resolveSupport":{"properties":["documentation","detail","additionalTextEdits"]},"snippetSupport":true,"tagSupport":{"valueSet":[1]}},"completionItemKind":{}},"formatting":{"dynamicRegistration":false},"hover":{"contentFormat":["markdown"]},"inlayHint":{"dynamicRegistration":false},"publishDiagnostics":{"tagSupport":{"valueSet":[1,2]},"versionSupport":true},"rename":{"dynamicRegistration":false,"honorsChangeAnnotations":false,"prepareSupport":true},"signatureHelp":{"signatureInformation":{"activeParameterSupport":true,"documentationFormat":["markdown"],"parameterInformation":{"labelOffsetSupport":true}}}},"window":{"workDoneProgress":true},"workspace":{"applyEdit":true,"configuration":true,"didChangeConfiguration":{"dynamicRegistration":false},"didChangeWatchedFiles":{"dynamicRegistration":true,"relativePatternSupport":false},"executeCommand":{"dynamicRegistration":false},"fileOperations":{"didRename":true,"willRename":true},"inlayHint":{"refreshSupport":false},"symbol":{"dynamicRegistration":false},"workspaceEdit":{"documentChanges":true,"failureHandling":"abort","normalizesLineEndings":false,"resourceOperations":["create","rename","delete"]},"workspaceFolders":true}},"clientInfo":{"name":"helix","version":"25.01.1 (e7ac2fcd)"},"initializationOptions":{"enableDiagnostics":true},"processId":28542,"rootPath":"/Users/carlassmann/Projects/...","rootUri":"file:///Users/carlassmann/Projects/...","workspaceFolders":[{"name":"daqqi","uri":"file:///Users/carlassmann/Projects/..."}]},"id":0}
2025-05-30T11:49:57.577 helix_lsp::transport [INFO] prisma-language-server <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"Default version of Prisma 'prisma-schema-wasm': 2060c79ba17c6bb9f5823312b6f6b7f4a845738e"}}
2025-05-30T11:49:57.577 helix_lsp::transport [INFO] prisma-language-server <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"Extension name @prisma/language-server with version 6.8.2"}}
2025-05-30T11:49:57.577 helix_term::application [DEBUG] received editor event: LanguageServerMessage((LanguageServerId(1v1), Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Default version of Prisma 'prisma-schema-wasm': 2060c79ba17c6bb9f5823312b6f6b7f4a845738e"), "type": Number(3)}) })))
2025-05-30T11:49:57.577 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "Default version of Prisma 'prisma-schema-wasm': 2060c79ba17c6bb9f5823312b6f6b7f4a845738e" }
2025-05-30T11:49:57.577 helix_term::application [DEBUG] received editor event: LanguageServerMessage((LanguageServerId(1v1), Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Extension name @prisma/language-server with version 6.8.2"), "type": Number(3)}) })))
2025-05-30T11:49:57.577 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "Extension name @prisma/language-server with version 6.8.2" }
2025-05-30T11:49:57.577 helix_lsp::transport [INFO] prisma-language-server <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"Prisma Engines version: 6.8.0-43.2060c79ba17c6bb9f5823312b6f6b7f4a845738e"}}
2025-05-30T11:49:57.577 helix_term::application [DEBUG] received editor event: LanguageServerMessage((LanguageServerId(1v1), Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Prisma Engines version: 6.8.0-43.2060c79ba17c6bb9f5823312b6f6b7f4a845738e"), "type": Number(3)}) })))
2025-05-30T11:49:57.577 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "Prisma Engines version: 6.8.0-43.2060c79ba17c6bb9f5823312b6f6b7f4a845738e" }
2025-05-30T11:49:57.577 helix_lsp::transport [INFO] prisma-language-server <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"Prisma CLI version: 6.8.2"}}
2025-05-30T11:49:57.577 helix_term::application [DEBUG] received editor event: LanguageServerMessage((LanguageServerId(1v1), Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Prisma CLI version: 6.8.2"), "type": Number(3)}) })))
2025-05-30T11:49:57.577 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "Prisma CLI version: 6.8.2" }
2025-05-30T11:49:57.578 helix_lsp::transport [INFO] prisma-language-server <- {"jsonrpc":"2.0","id":0,"result":{"capabilities":{"definitionProvider":true,"documentFormattingProvider":true,"completionProvider":{"resolveProvider":true,"triggerCharacters":["@","\"","."]},"hoverProvider":true,"renameProvider":true,"documentSymbolProvider":true,"referencesProvider":true,"codeActionProvider":{"codeActionKinds":["quickfix"]},"textDocumentSync":2}}}
2025-05-30T11:49:57.578 helix_lsp::transport [INFO] prisma-language-server <- {"capabilities":{"codeActionProvider":{"codeActionKinds":["quickfix"]},"completionProvider":{"resolveProvider":true,"triggerCharacters":["@","\"","."]},"definitionProvider":true,"documentFormattingProvider":true,"documentSymbolProvider":true,"hoverProvider":true,"referencesProvider":true,"renameProvider":true,"textDocumentSync":2}}
2025-05-30T11:49:57.578 helix_lsp::transport [INFO] prisma-language-server -> {"jsonrpc":"2.0","method":"initialized","params":{}}
2025-05-30T11:49:57.578 helix_term::application [DEBUG] received editor event: LanguageServerMessage((LanguageServerId(1v1), Notification(Notification { jsonrpc: None, method: "initialized", params: None })))
2025-05-30T11:49:57.578 helix_lsp::transport [INFO] prisma-language-server -> {"jsonrpc":"2.0","method":"workspace/didChangeConfiguration","params":{"settings":{"enableDiagnostics":true}}}
2025-05-30T11:49:57.578 helix_lsp::transport [INFO] prisma-language-server -> {"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"languageId":"prisma","text":"...my prisma doc","uri":"...","version":0}}}
2025-05-30T11:49:57.578 helix_lsp::transport [INFO] prisma-language-server <- {"jsonrpc":"2.0","id":0,"method":"client/registerCapability","params":{"registrations":[{"id":"b26e716e-22ed-491a-a61f-3be803e667b0","method":"workspace/didChangeConfiguration","registerOptions":{}}]}}
2025-05-30T11:49:57.578 helix_term::application [DEBUG] received editor event: LanguageServerMessage((LanguageServerId(1v1), MethodCall(MethodCall { jsonrpc: Some(V2), method: "client/registerCapability", params: Map({"registrations": Array [Object {"id": String("b26e716e-22ed-491a-a61f-3be803e667b0"), "method": String("workspace/didChangeConfiguration"), "registerOptions": Object {}}]}), id: Num(0) })))
2025-05-30T11:49:57.578 helix_term::application [WARN] Ignoring a client/registerCapability request because dynamic capability registration is not enabled. Please report this upstream to the language server
2025-05-30T11:49:57.578 helix_lsp::transport [INFO] prisma-language-server -> {"jsonrpc":"2.0","result":null,"id":0}
2025-05-30T11:49:57.579 helix_lsp::transport [INFO] prisma-language-server <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"Configuration changed."}}
2025-05-30T11:49:57.579 helix_term::application [DEBUG] received editor event: LanguageServerMessage((LanguageServerId(1v1), Notification(Notification { jsonrpc: Some(V2), method: "window/logMessage", params: Map({"message": String("Configuration changed."), "type": Number(3)}) })))
2025-05-30T11:49:57.579 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "Configuration changed." }
2025-05-30T11:49:57.579 helix_lsp::transport [INFO] prisma-language-server <- {"jsonrpc":"2.0","id":1,"method":"workspace/configuration","params":{"items":[{"scopeUri":"file:///Users/carlassmann/Projects/.../prisma/schema.prisma","section":"prisma"}]}}
2025-05-30T11:49:57.579 helix_term::application [DEBUG] received editor event: LanguageServerMessage((LanguageServerId(1v1), MethodCall(MethodCall { jsonrpc: Some(V2), method: "workspace/configuration", params: Map({"items": Array [Object {"scopeUri": String("file:///Users/carlassmann/Projects/.../prisma/schema.prisma"), "section": String("prisma")}]}), id: Num(1) })))
2025-05-30T11:49:57.579 helix_lsp::transport [INFO] prisma-language-server -> {"jsonrpc":"2.0","result":[null],"id":1}
2025-05-30T11:49:57.579 helix_lsp::transport [ERROR] prisma-language-server err <- "/Users/carlassmann/Library/pnpm/global/5/.pnpm/@prisma+language-server@6.8.2/node_modules/@prisma/language-server/dist/server.js:190\n"
2025-05-30T11:49:57.579 helix_lsp::transport [ERROR] prisma-language-server err <- " if (settings.enableDiagnostics === false) {\n"
2025-05-30T11:49:57.579 helix_lsp::transport [ERROR] prisma-language-server err <- " ^\n"
2025-05-30T11:49:57.579 helix_lsp::transport [ERROR] prisma-language-server err <- "\n"
2025-05-30T11:49:57.579 helix_lsp::transport [ERROR] prisma-language-server err <- "TypeError: Cannot read properties of null (reading 'enableDiagnostics')\n"
2025-05-30T11:49:57.579 helix_lsp::transport [ERROR] prisma-language-server err <- " at validateTextDocument (/Users/carlassmann/Library/pnpm/global/5/.pnpm/@prisma+language-server@6.8.2/node_modules/@prisma/language-server/dist/server.js:190:18)\n"
2025-05-30T11:49:57.579 helix_lsp::transport [ERROR] prisma-language-server err <- " at async /Users/carlassmann/Library/pnpm/global/5/.pnpm/@prisma+language-server@6.8.2/node_modules/@prisma/language-server/dist/server.js:207:5\n"
2025-05-30T11:49:57.579 helix_lsp::transport [ERROR] prisma-language-server err <- "\n"
2025-05-30T11:49:57.579 helix_lsp::transport [ERROR] prisma-language-server err <- "Node.js v22.14.0\n"
2025-05-30T11:49:57.582 helix_lsp::transport [ERROR] prisma-language-server err: <- StreamClosed
Platform
macOS
Terminal Emulator
ghostty
Installation Method
brew
Helix Version
helix 25.01.1 (e7ac2fc)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
C-bugCategory: This is a bugCategory: This is a bug