{"record":{"id":"6c9f3efbc295fa3d","repo":"zed-industries/zed","slug":"query-editor-should-be-backed-by-a-singleton-buffe","errorCode":null,"errorMessage":"query editor should be backed by a singleton buffer","messagePattern":"query editor should be backed by a singleton buffer","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/search/src/buffer_search.rs","lineNumber":761,"sourceCode":"            let mut editor = Editor::auto_height(1, 4, window, cx);\n            editor.set_use_autoclose(false);\n            editor.set_use_selection_highlight(false);\n            editor\n        });\n        cx.subscribe_in(&query_editor, window, Self::on_query_editor_event)\n            .detach();\n        let replacement_editor = cx.new(|cx| Editor::auto_height(1, 4, window, cx));\n        cx.subscribe(&replacement_editor, Self::on_replacement_editor_event)\n            .detach();\n\n        let search_options = SearchOptions::from_settings(&EditorSettings::get_global(cx).search);\n        if let Some(languages) = languages {\n            let query_buffer = query_editor\n                .read(cx)\n                .buffer()\n                .read(cx)\n                .as_singleton()\n                .expect(\"query editor should be backed by a singleton buffer\");\n\n            query_buffer\n                .read(cx)\n                .set_language_registry(languages.clone());\n\n            cx.spawn(async move |buffer_search_bar, cx| {\n                use anyhow::Context as _;\n\n                let regex_language = languages\n                    .language_for_name(\"regex\")\n                    .await\n                    .context(\"loading regex language\")?;\n\n                buffer_search_bar\n                    .update(cx, |buffer_search_bar, cx| {\n                        buffer_search_bar.regex_language = Some(regex_language);\n                        buffer_search_bar.adjust_query_regex_language(cx);\n                    })","sourceCodeStart":743,"sourceCodeEnd":779,"githubUrl":"https://github.com/zed-industries/zed/blob/f4178619acd0d47ea1f76a2025c42962c6d6638c/crates/search/src/buffer_search.rs#L743-L779","documentation":"Buffer search expects its query editor to be backed by a singleton buffer (so the search text can be read/written directly); the editor's buffer was not a singleton, meaning the editor was constructed differently than the search bar requires.","triggerScenarios":"Thrown at crates/search/src/buffer_search.rs:761 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Create the query editor with Editor::auto_height/singleton construction only","Check any code that swaps or multibuffers the query buffer","Use buffer() APIs that handle multi-buffer editors"],"exampleFix":null,"handlingStrategy":"type-guard","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"f4178619acd0d47ea1f76a2025c42962c6d6638c","analyzedAt":"2026-08-20T19:29:52.058Z","contentChangedAt":"2026-08-20T19:29:52.058Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}