omp packages

@xynogen/pix-astgrep0.3.0

Pi extension — AST-aware structural search and symbol reads (ast-grep, opt-in)

GitHub Actions Published 5 days ago MIT ~570 downloads/mo

Untested on omp

This is a pi package. No one has reported whether it works on omp yet. If you try it, add your result below.

Did it work for you?

Result

One report per person. A new report replaces your old one.

Reports 0

No reports yet.

Readme

pix-astgrep

AST-aware structural code search, symbol reads, and rewrites for Pi, built on ast-grep. Match code by its syntax tree with metavariables ($A, $$$ARGS) instead of text regex, read one named symbol without loading a whole file, and rank files by identifier.

Standalone and opt-in — not bundled by pix-core, so the six tool schemas are only present when you install it. Needs the @ast-grep/napi native addon (a dependency, installed with the package).

Tools

Tool Purpose
ast_search Structural search by pattern, e.g. foo($A) or useState($$$).
ast_replace AST-aware rewrite (pattern → rewrite). Preview by default; apply:true writes.
ast_outline Syntax-only outline of a file or dir — declarations, imports, exports with line numbers.
ast_read_symbol Exact source of one named symbol (function, class, type, enum, const).
ast_read_enclosing Smallest named declaration that encloses a line — the reverse of ast_read_symbol.
symbol_search Rank files by how often they contain the query identifiers (AND-matched).

Languages

Six grammars are bundled and always work: typescript, tsx, javascript, jsx, css, html.

ast_search and ast_replace also accept a lang for other languages (python, go, rust, java, c, cpp, and more). The matching @ast-grep/lang-* grammar installs on demand into the pix cache prefix after your consent — it never touches a global path or this package's node_modules. The outline and symbol tools support ts, tsx, js, jsx, css, and html.

Install

pi install npm:@xynogen/pix-astgrep

Standalone and opt-in. @xynogen/pix-core does not bundle it. It needs the @ast-grep/napi native addon.

Full distro

This package is part of Pix. The installer sets up Pi and the full distro. See Install for the notes for each OS.

# Linux / macOS
curl -fsSL https://raw.githubusercontent.com/xynogen/pix-mono/main/scripts/install.sh | sh
# Windows
irm https://raw.githubusercontent.com/xynogen/pix-mono/main/scripts/install.ps1 | iex

License

MIT