Dax Raad 4 месяцев назад
Родитель
Сommit
a20fc2dfdf
1 измененных файлов с 0 добавлено и 75 удалено
  1. 0 75
      packages/opencode/src/tool/test.ts

+ 0 - 75
packages/opencode/src/tool/test.ts

@@ -1,75 +0,0 @@
-const parser = async () => {
-  try {
-    const { default: Parser } = await import("tree-sitter")
-    const Bash = await import("tree-sitter-bash")
-    const p = new Parser()
-    p.setLanguage(Bash.language as any)
-    return p
-  } catch (e) {
-    const { default: Parser } = await import("web-tree-sitter")
-    const { default: treeWasm } = await import("web-tree-sitter/web-tree-sitter.wasm" as string, {
-      with: { type: "wasm" },
-    })
-    await Parser.init({
-      locateFile() {
-        return treeWasm
-      },
-    })
-    const { default: bashWasm } = await import("tree-sitter-bash/tree-sitter-bash.wasm" as string, {
-      with: { type: "wasm" },
-    })
-    const bashLanguage = await Parser.Language.load(bashWasm)
-    const p = new Parser()
-    p.setLanguage(bashLanguage)
-    return p
-  }
-}
-
-const sourceCode = `cd --foo foo/bar && echo "hello" && cd ../baz`
-
-const tree = await parser().then((p) => p.parse(sourceCode))
-
-// Function to extract commands and arguments
-function extractCommands(node: any): Array<{ command: string; args: string[] }> {
-  const commands: Array<{ command: string; args: string[] }> = []
-
-  function traverse(node: any) {
-    if (node.type === "command") {
-      const commandNode = node.child(0)
-      if (commandNode) {
-        const command = commandNode.text
-        const args: string[] = []
-
-        // Extract arguments
-        for (let i = 1; i < node.childCount; i++) {
-          const child = node.child(i)
-          if (child && child.type === "word") {
-            args.push(child.text)
-          }
-        }
-
-        commands.push({ command, args })
-      }
-    }
-
-    // Traverse children
-    for (let i = 0; i < node.childCount; i++) {
-      traverse(node.child(i))
-    }
-  }
-
-  traverse(node)
-  return commands
-}
-
-// Extract and display commands
-console.log("Source code: " + sourceCode)
-if (!tree) {
-  throw new Error("Failed to parse command")
-}
-const commands = extractCommands(tree.rootNode)
-console.log("Extracted commands:")
-commands.forEach((cmd, index) => {
-  console.log(`${index + 1}. Command: ${cmd.command}`)
-  console.log(`   Args: [${cmd.args.join(", ")}]`)
-})