Skip to content

Commit fee4bc8

Browse files
doc: add interactive demo blog
1 parent ff4dc66 commit fee4bc8

File tree

1 file changed

+67
-0
lines changed

1 file changed

+67
-0
lines changed

website/blog/interactive-demo.md

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
---
2+
author:
3+
- name: Herrington Darkholme
4+
date: 2025-06-07
5+
head:
6+
- - meta
7+
- property: og:type
8+
content: website
9+
- - meta
10+
- property: og:title
11+
content: Interactive Code Fixes with Multiple Options!
12+
- - meta
13+
- property: og:url
14+
content: https://ast-grep.github.io/blog/interactive-demo.html
15+
- - meta
16+
- property: og:description
17+
content: Today, we're thrilled to showcase a game-changing feature, multi-option interactive code fixes!
18+
---
19+
20+
# Interactive Code Fixes with Multiple Options!
21+
22+
Today, we're thrilled to showcase a game-changing feature: **multi-option interactive code fixes!**
23+
24+
25+
<iframe style="width:100%;aspect-ratio:16/9;" src="https://www.youtube.com/embed/6m0xTwYaM_A?si=-ywQmlg6Wrg0FfGq" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
26+
27+
## Beyond Simple Search: Interactive Refactoring
28+
29+
ast-grep's interactive mode, activated with `ast-grep scan --interactive`, transforms code analysis into a dynamic, actionable workflow. When a rule identifies a pattern match, you're presented with:
30+
31+
1. **Clear Diff Views:** Instantly see the problematic code (red) and the proposed change (green), making it easy to understand the impact of the fix.
32+
2. **Contextual Markdown Notes:** Rules can embed rich Markdown notes, providing instant documentation, best practices, and explanations directly in your terminal – no need to jump to external docs.
33+
34+
## The Power of Choice: Multiple Fix Options
35+
36+
This is where ast-grep truly stands out. Instead of a single, rigid fix, many rules now offer **multiple, intelligent remediation options**.
37+
38+
**How it works:**
39+
40+
* When a match is found, ast-grep displays a list of available fixes.
41+
* Simply use the **`tab` key** to cycle through the different fix proposals.
42+
* Once you've found the ideal solution, hit `Enter` to apply it.
43+
44+
This flexibility allows you to choose the fix that best aligns with your project's coding standards or specific refactoring goals.
45+
46+
## Real-World Example: Angular `@Input()` Optionality
47+
48+
Consider a common TypeScript scenario in Angular: an `@Input()` decorator where the component property is typed as `string`, but it's optional by default (meaning it could be `undefined`).
49+
50+
ast-grep's rule for this issue intelligently offers two distinct fixes:
51+
52+
1. **Add `undefined` to Type:** Transforms `test: string;` to `test: string | undefined;`, explicitly acknowledging the optionality in the type system.
53+
2. **Make Input Required:** Adds `{ required: true }` to the `@Input()` decorator, enforcing that the input must always be provided.
54+
55+
You choose the solution that fits your use case, and ast-grep applies the transformation seamlessly.
56+
57+
## Behind the Scenes: Configurable Fixes
58+
59+
This powerful multi-fix capability is driven by the rule's YAML configuration. Rules can define an array of `fix` templates, each with a unique `title` and `template`, allowing rule authors to provide comprehensive repair options.
60+
61+
62+
### Streamline Your Workflow Today!
63+
64+
Ast-grep with its interactive multi-fix feature is a game-changer for maintaining code quality, enforcing standards, and accelerating large-scale code transformations. It puts the power of intelligent, context-aware refactoring directly into your hands.
65+
66+
**Ready to refactor like a pro?**
67+
Give ast-grep a try and experience the future of code analysis and transformation!

0 commit comments

Comments
 (0)
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