Ruby rubocop-ast

From wikinotes
Revision as of 00:20, 1 February 2024 by Will (talk | contribs)

A DSL for ruby parser that simplifies matching AST nodes.

Documentation

All AST nodes https://github.com/rubocop/rubocop-ast/blob/master/docs/modules/ROOT/pages/node_types.adoc
official docs https://docs.rubocop.org/rubocop-ast/
test patterns https://nodepattern.herokuapp.com/

Usage

there's a lisp-like DSL for matching nodes

_   // any one thing
... // any number of items
(const _ _)                # any const
(casgn <(const _ _) ...>)  # any const being assigned via 'casgn'