mirror of
https://github.com/ast-grep/ast-grep.git
synced 2026-05-06 06:06:46 -04:00
[fix] fix clap arg configuration
This commit is contained in:
@@ -21,8 +21,8 @@ pub struct Args {
|
||||
command: Option<Commands>,
|
||||
|
||||
/// AST pattern to match
|
||||
#[clap(short, long, requires("lang"))]
|
||||
pattern: Option<String>,
|
||||
#[clap(short, long)]
|
||||
pattern: String,
|
||||
|
||||
/// String to replace the matched AST node
|
||||
#[clap(short, long)]
|
||||
@@ -34,7 +34,7 @@ pub struct Args {
|
||||
|
||||
/// The language of the pattern query
|
||||
#[clap(short, long)]
|
||||
lang: Option<SupportLang>,
|
||||
lang: SupportLang,
|
||||
|
||||
#[clap(short, long, parse(from_flag))]
|
||||
interactive: bool,
|
||||
|
||||
@@ -15,7 +15,7 @@ use crate::{interaction, Args as PatternArg};
|
||||
#[derive(Args)]
|
||||
pub struct ScanArg {
|
||||
/// Path to ast-grep config, either YAML or folder of YAMLs
|
||||
#[clap(short, long, conflicts_with("pattern"))]
|
||||
#[clap(short, long)]
|
||||
config: Option<String>,
|
||||
|
||||
/// Include hidden files in search
|
||||
@@ -39,9 +39,9 @@ pub struct ScanArg {
|
||||
// Every run will include Search or Replace
|
||||
// Search or Replace by arguments `pattern` and `rewrite` passed from CLI
|
||||
pub fn run_with_pattern(args: PatternArg) -> Result<()> {
|
||||
let pattern = args.pattern.unwrap();
|
||||
let pattern = args.pattern;
|
||||
let threads = num_cpus::get().min(12);
|
||||
let lang = args.lang.unwrap();
|
||||
let lang = args.lang;
|
||||
let pattern = Pattern::new(&pattern, lang);
|
||||
if args.debug_query {
|
||||
println!("Pattern TreeSitter {:?}", pattern);
|
||||
|
||||
@@ -9,6 +9,7 @@ use regex::Regex;
|
||||
use std::collections::HashMap;
|
||||
|
||||
#[derive(Serialize, Deserialize, Clone)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub enum SerializableMetaVarMatcher {
|
||||
/// A regex to filter metavar based on its textual content.
|
||||
Regex(String),
|
||||
|
||||
@@ -31,3 +31,7 @@ Promise.all([
|
||||
await p4, // match
|
||||
...[1,2,3].map(async (i) => await Promise.resolve(i)) // no match
|
||||
])
|
||||
|
||||
Promise.resolve([
|
||||
await p1, // no match
|
||||
])
|
||||
|
||||
@@ -38,4 +38,7 @@ rule:
|
||||
- pattern: await $A
|
||||
- inside:
|
||||
pattern: Promise.$METHOD([$$$, await $A, $$$])
|
||||
meta_variables:
|
||||
METHOD:
|
||||
regex: all|race|allSettled|any
|
||||
fix: $A
|
||||
|
||||
Reference in New Issue
Block a user