Skip to content

How do you rewrite a pattern recursively? #1566

Discussion options

You must be logged in to vote

Hi, sorry for the late reply.

Is there any way to tell ast-grep to recurse into an already matched node

Yes, it is possible but verbose.

See the link

See the rule
rewriters:
- id: optional
  language: Python
  rule:
    any:
    - pattern:
        context: 'arg: Optional[$TYPE]'
        selector: generic_type
    - pattern: Optional[$TYPE]
  transform:
    NT:
      rewrite: 
        rewriters: [optional, unions]
        source: $TYPE
  fix: $NT | None
- id: unions
  language: Python
  rule:
    pattern:
      context: 'a: Union[$$$TYPES]'
      selector: generic_type
  transform:
    UNIONS:
      rewrite:
        rewriters:
          - rewrite-unions
        source: $$$TYPES
        j…

Replies: 1 comment 2 replies

Comment options

You must be logged in to vote
2 replies
@AClon314
Comment options

@HerringtonDarkholme
Comment options

Answer selected by steinuil
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
3 participants
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy