refactor!: rename stage flag to emit
This commit is contained in:
parent
60c3bed6a4
commit
311585d304
5 changed files with 21 additions and 23 deletions
|
|
@ -572,10 +572,10 @@ pub fn generate_grammar_files(
|
|||
"},
|
||||
indoc! {r"
|
||||
$(SRC_DIR)/grammar.json: grammar.js
|
||||
$(TS) generate --stage=json $^
|
||||
$(TS) generate --emit=json $^
|
||||
|
||||
$(PARSER): $(SRC_DIR)/grammar.json
|
||||
$(TS) generate --stage=parser $^
|
||||
$(TS) generate --emit=parser $^
|
||||
"}
|
||||
);
|
||||
write_file(path, contents)?;
|
||||
|
|
@ -623,14 +623,14 @@ pub fn generate_grammar_files(
|
|||
add_custom_command(OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/src/grammar.json"
|
||||
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/grammar.js"
|
||||
COMMAND "${TREE_SITTER_CLI}" generate grammar.js
|
||||
--stage=json
|
||||
--emit=json
|
||||
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
COMMENT "Generating grammar.json")
|
||||
|
||||
add_custom_command(OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/src/parser.c"
|
||||
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/src/grammar.json"
|
||||
COMMAND "${TREE_SITTER_CLI}" generate src/grammar.json
|
||||
--stage=parser --abi=${TREE_SITTER_ABI_VERSION}
|
||||
--emit=parser --abi=${TREE_SITTER_ABI_VERSION}
|
||||
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
COMMENT "Generating parser.c")
|
||||
"#}
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ struct Init {
|
|||
}
|
||||
|
||||
#[derive(Clone, Debug, Default, ValueEnum, PartialEq, Eq)]
|
||||
enum GenerationStage {
|
||||
enum GenerationEmit {
|
||||
/// Generate `grammar.json` and `node-types.json`
|
||||
Json,
|
||||
/// Generate `parser.c` and related files
|
||||
|
|
@ -119,12 +119,12 @@ struct Generate {
|
|||
)
|
||||
)]
|
||||
pub abi_version: Option<String>,
|
||||
/// Which generation stage to end after
|
||||
/// What generated files to emit
|
||||
#[arg(long)]
|
||||
#[clap(value_enum, default_value_t=GenerationStage::Parser)]
|
||||
pub stage: GenerationStage,
|
||||
/// Deprecated: use --stage=lib.
|
||||
#[arg(long, short = 'b', conflicts_with = "stage")]
|
||||
#[clap(value_enum, default_value_t=GenerationEmit::Parser)]
|
||||
pub emit: GenerationEmit,
|
||||
/// Deprecated: use --emit=lib.
|
||||
#[arg(long, short = 'b', conflicts_with = "emit")]
|
||||
pub build: bool,
|
||||
/// Compile a parser in debug mode
|
||||
#[arg(long, short = '0')]
|
||||
|
|
@ -858,7 +858,7 @@ impl Generate {
|
|||
if self.build {
|
||||
// TODO: remove the `--build` argument in 0.27
|
||||
// TODO: migrate to `warn!` once https://github.com/tree-sitter/tree-sitter/pull/4604 is merged
|
||||
eprintln!("Warning: --build is deprecated, use --stage=lib instead");
|
||||
eprintln!("Warning: --build is deprecated, use --emit=lib instead");
|
||||
}
|
||||
|
||||
if let Err(err) = tree_sitter_generate::generate_parser_in_directory(
|
||||
|
|
@ -868,7 +868,7 @@ impl Generate {
|
|||
abi_version,
|
||||
self.report_states_for_rule.as_deref(),
|
||||
self.js_runtime.as_deref(),
|
||||
self.stage != GenerationStage::Json,
|
||||
self.emit != GenerationEmit::Json,
|
||||
) {
|
||||
if self.json {
|
||||
eprintln!("{}", serde_json::to_string_pretty(&err)?);
|
||||
|
|
@ -879,7 +879,7 @@ impl Generate {
|
|||
Err(anyhow!(err.to_string())).with_context(|| "Error when generating parser")?;
|
||||
}
|
||||
}
|
||||
if self.stage == GenerationStage::Lib || self.build {
|
||||
if self.emit == GenerationEmit::Lib || self.build {
|
||||
if let Some(path) = self.libdir {
|
||||
loader = loader::Loader::with_parser_lib_path(path);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,14 +22,14 @@ find_program(TREE_SITTER_CLI tree-sitter DOC "Tree-sitter CLI")
|
|||
add_custom_command(OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/src/grammar.json"
|
||||
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/grammar.js"
|
||||
COMMAND "${TREE_SITTER_CLI}" generate grammar.js
|
||||
--stage=json
|
||||
--emit=json
|
||||
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
COMMENT "Generating grammar.json")
|
||||
|
||||
add_custom_command(OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/src/parser.c"
|
||||
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/src/grammar.json"
|
||||
COMMAND "${TREE_SITTER_CLI}" generate src/grammar.json
|
||||
--stage=parser --abi=${TREE_SITTER_ABI_VERSION}
|
||||
--emit=parser --abi=${TREE_SITTER_ABI_VERSION}
|
||||
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
COMMENT "Generating parser.c")
|
||||
|
||||
|
|
|
|||
|
|
@ -73,10 +73,10 @@ $(LANGUAGE_NAME).pc: bindings/c/$(LANGUAGE_NAME).pc.in
|
|||
-e 's|@CMAKE_INSTALL_PREFIX@|$(PREFIX)|' $< > $@
|
||||
|
||||
$(SRC_DIR)/grammar.json: grammar.js
|
||||
$(TS) generate --stage=json $^
|
||||
$(TS) generate --emit=json $^
|
||||
|
||||
$(PARSER): $(SRC_DIR)/grammar.json
|
||||
$(TS) generate --stage=parser $^
|
||||
$(TS) generate --emit=parser $^
|
||||
|
||||
install: all
|
||||
install -d '$(DESTDIR)$(DATADIR)'/tree-sitter/queries/KEBAB_PARSER_NAME '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter '$(DESTDIR)$(PCLIBDIR)' '$(DESTDIR)$(LIBDIR)'
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ static JSON_COMMENT_REGEX: LazyLock<Regex> = LazyLock::new(|| {
|
|||
.unwrap()
|
||||
});
|
||||
|
||||
struct JSONStageOutput {
|
||||
struct JSONOutput {
|
||||
#[cfg(feature = "load")]
|
||||
node_types_json: String,
|
||||
syntax_grammar: SyntaxGrammar,
|
||||
|
|
@ -296,9 +296,7 @@ pub fn generate_parser_for_grammar(
|
|||
Ok((input_grammar.name, parser.c_code))
|
||||
}
|
||||
|
||||
fn generate_node_types_from_grammar(
|
||||
input_grammar: &InputGrammar,
|
||||
) -> GenerateResult<JSONStageOutput> {
|
||||
fn generate_node_types_from_grammar(input_grammar: &InputGrammar) -> GenerateResult<JSONOutput> {
|
||||
let (syntax_grammar, lexical_grammar, inlines, simple_aliases) =
|
||||
prepare_grammar(input_grammar)?;
|
||||
let variable_info =
|
||||
|
|
@ -311,7 +309,7 @@ fn generate_node_types_from_grammar(
|
|||
&simple_aliases,
|
||||
&variable_info,
|
||||
)?;
|
||||
Ok(JSONStageOutput {
|
||||
Ok(JSONOutput {
|
||||
#[cfg(feature = "load")]
|
||||
node_types_json: serde_json::to_string_pretty(&node_types_json).unwrap(),
|
||||
syntax_grammar,
|
||||
|
|
@ -328,7 +326,7 @@ fn generate_parser_for_grammar_with_opts(
|
|||
semantic_version: Option<(u8, u8, u8)>,
|
||||
report_symbol_name: Option<&str>,
|
||||
) -> GenerateResult<GeneratedParser> {
|
||||
let JSONStageOutput {
|
||||
let JSONOutput {
|
||||
syntax_grammar,
|
||||
lexical_grammar,
|
||||
inlines,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue