From c840a65902bd4adad2eeffda13763501d3c1b1ec Mon Sep 17 00:00:00 2001 From: scarf Date: Fri, 9 Jan 2026 11:13:16 +0900 Subject: [PATCH 1/3] lsp: make clangd respect compile_commands --- packages/opencode/src/lsp/server.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/opencode/src/lsp/server.ts b/packages/opencode/src/lsp/server.ts index b0755b8b563c..767e76271039 100644 --- a/packages/opencode/src/lsp/server.ts +++ b/packages/opencode/src/lsp/server.ts @@ -32,7 +32,7 @@ export namespace LSPServer { const excludedFiles = Filesystem.up({ targets: excludePatterns, start: path.dirname(file), - stop: Instance.directory, + stop: Instance.worktree, }) const excluded = await excludedFiles.next() await excludedFiles.return() @@ -41,7 +41,7 @@ export namespace LSPServer { const files = Filesystem.up({ targets: includePatterns, start: path.dirname(file), - stop: Instance.directory, + stop: Instance.worktree, }) const first = await files.next() await files.return() @@ -895,7 +895,14 @@ export namespace LSPServer { root: NearestRoot(["compile_commands.json", "compile_flags.txt", ".clangd", "CMakeLists.txt", "Makefile"]), extensions: [".c", ".cpp", ".cc", ".cxx", ".c++", ".h", ".hpp", ".hh", ".hxx", ".h++"], async spawn(root) { - const args = ["--background-index", "--clang-tidy"] + const args = [ + "--background-index", + "--clang-tidy", + "--query-driver=**/clang++,**/clang,**/clang-cl,**/g++,**/gcc,**/ccache,**/sccache", + ] + if (await pathExists(path.join(root, "compile_commands.json"))) { + args.push(`--compile-commands-dir=${root}`) + } const fromPath = Bun.which("clangd") if (fromPath) { return { From f812acad9b39b8616721d3b11e64df65bfa4a119 Mon Sep 17 00:00:00 2001 From: scarf Date: Mon, 16 Feb 2026 02:30:24 +0900 Subject: [PATCH 2/3] chore: retrigger CI after flaky e2e failure From 89bee17e4a174f67fa06e299ace906c9f0ce8bce Mon Sep 17 00:00:00 2001 From: scarf Date: Mon, 16 Feb 2026 02:41:32 +0900 Subject: [PATCH 3/3] chore: rerun windows e2e