Преглед изворни кода

fix(grep): follow symlinks by default in ripgrep searches (#7501)

Kenny пре 1 месец
родитељ
комит
d5738f542c
2 измењених фајлова са 9 додато и 2 уклоњено
  1. 8 1
      packages/opencode/src/file/ripgrep.ts
  2. 1 1
      packages/opencode/src/tool/grep.ts

+ 8 - 1
packages/opencode/src/file/ripgrep.ts

@@ -367,8 +367,15 @@ export namespace Ripgrep {
     return lines.join("\n")
   }
 
-  export async function search(input: { cwd: string; pattern: string; glob?: string[]; limit?: number }) {
+  export async function search(input: {
+    cwd: string
+    pattern: string
+    glob?: string[]
+    limit?: number
+    follow?: boolean
+  }) {
     const args = [`${await filepath()}`, "--json", "--hidden", "--glob='!.git/*'"]
+    if (input.follow !== false) args.push("--follow")
 
     if (input.glob) {
       for (const g of input.glob) {

+ 1 - 1
packages/opencode/src/tool/grep.ts

@@ -33,7 +33,7 @@ export const GrepTool = Tool.define("grep", {
     const searchPath = params.path || Instance.directory
 
     const rgPath = await Ripgrep.filepath()
-    const args = ["-nH", "--field-match-separator=|", "--regexp", params.pattern]
+    const args = ["-nH", "--hidden", "--follow", "--field-match-separator=|", "--regexp", params.pattern]
     if (params.include) {
       args.push("--glob", params.include)
     }