Skip to main content

Shell extractor

The Shell extractor (tree-sitter-bash) maps CST nodes to canonical concepts for sh, bash, and zsh. Function names come from the name field on the function’s word; variable assignments and commands label the same way, so no fallback rules are needed.

Detected concepts

Example

Renaming a function:
Running differens old.sh new.sh:

Known limitations

  • Heredoc bodies are strings; edits inside them report as value changes.
  • Command substitutions and pipelines are structure: a pipeline reordering reports as a reorder of call expressions.