1#[cfg(test)]
7pub(crate) use omena_syntax::SyntaxKind;
8pub use omena_syntax::{CssKeywordText, StyleDialect, css_keyword};
9
10mod closed_world;
11mod cst;
12mod extension;
13mod facts;
14mod instrumentation;
15mod language;
16mod lex;
17mod parse;
18mod parse_tree_contract_idl_generated;
19mod public_product;
24mod recovery;
25mod spans;
26mod summaries;
27mod syntax_helpers;
28mod value_names;
29pub use closed_world::{
30 ClosedWorldBundleBuildErrorV0, ClosedWorldBundleV0, ClosedWorldInterfaceHashAvailabilityV0,
31 ClosedWorldInterfaceHashEntryV0, ClosedWorldInterfaceHashSetV0, ClosedWorldLinkedModuleV0,
32 ClosedWorldModuleMetadataV0, ClosedWorldReachabilityBitsetParityReportV0,
33 ClosedWorldSourcePrecisionSummaryV0, ConfigurationHashV0, ModuleIdV0, ModuleInstanceKeyV0,
34 ModuleQualifiedSymbolSetV0, OpenWorldSnapshotV0, ReachabilityIndexV0,
35 summarize_closed_world_reachability_bitset_parity_v0,
36};
37pub use cst::{
38 AtRuleCstNode, BogusCstNode, CommaSeparatedComponentValueListCstNode, ComponentValueCstNode,
39 ComponentValueListCstNode, CustomPropertyValueCstNode, DeclarationCstNode,
40 DeclarationListCstNode, ParsedCst, RuleCstNode, SelectorCstNode, SimpleBlockCstNode,
41 StylesheetCstNode, TypedCstNode, UrlValueCstNode, ValueCstNode, is_at_rule_node_kind,
42};
43pub use extension::{BuiltinDialectExtension, DialectExtension, TemplatePlaceholderMode};
44pub(crate) use extension::{at_rule_spec, scss_at_rule_spec};
45pub use facts::{
46 ParsedAnimationFact, ParsedAnimationFactKind, ParsedAtRuleFact,
47 ParsedCssModuleComposesEdgeFact, ParsedCssModuleComposesEdgeKind, ParsedCssModuleComposesFact,
48 ParsedCssModuleComposesFactKind, ParsedCssModuleValueDefinitionEdgeFact,
49 ParsedCssModuleValueFact, ParsedCssModuleValueFactKind, ParsedCssModuleValueImportEdgeFact,
50 ParsedExtendTargetFact, ParsedExtendTargetFactKind, ParsedIcssExportEdgeFact, ParsedIcssFact,
51 ParsedIcssFactKind, ParsedIcssImportEdgeFact, ParsedSassCallableParameterFact,
52 ParsedSassCallableSignatureFact, ParsedSassIncludeFact, ParsedSassModuleEdgeFact,
53 ParsedSassModuleEdgeFactKind, ParsedSassPlaceholderDefinitionFact, ParsedSassSymbolFact,
54 ParsedSassSymbolFactKind, ParsedSelectorFact, ParsedSelectorFactKind, ParsedStyleFacts,
55 ParsedVariableFact, ParsedVariableFactKind, collect_icss_export_values_from_cst,
56 collect_style_facts_with_extension, facts_from_cst,
57};
58pub(crate) use facts::{
59 SelectorBranch, collect_class_selector_names_from_header,
60 css_module_block_scope_marker_in_header, css_module_header_is_global_only,
61 product_facts_from_cst, resolve_selector_header, split_selector_groups,
62};
63pub(crate) use facts::{
64 collect_css_module_value_definition_edge_names, css_module_value_reference_token_can_be_name,
65 css_module_value_source_name, css_module_value_statement_end, declaration_colon_index,
66};
67pub use instrumentation::{
68 OmenaParserLexInstrumentationSnapshotV0, OmenaParserParseInstrumentationSnapshotV0,
69 with_omena_parser_lex_instrumentation, with_omena_parser_parse_instrumentation,
70};
71#[cfg(test)]
72pub(crate) use instrumentation::{
73 omena_parser_syntax_root_materialization_count,
74 reset_omena_parser_syntax_root_materialization_count,
75};
76pub(crate) use instrumentation::{
77 record_omena_parser_lex_materialization, record_omena_parser_parse_materialization,
78 record_omena_parser_syntax_root_materialization,
79};
80pub use language::StyleLanguage;
81pub use lex::{LexResult, LexedToken};
82pub(crate) use lex::{Token, Tokenizer, public_token_text};
83pub use parse::{
84 HirId, ParseEntryPoint, ParseError, ParseErrorCode, ParseResult, ParseReuseCache, SyntaxNodeId,
85 collect_style_facts, hir_id_for_syntax_node, lex, lex_with_extension, parse, parse_entry_point,
86 parse_entry_point_with_extension, parse_entry_point_with_extension_and_reuse_cache,
87 parse_entry_point_with_reuse_cache, parse_only, parse_with_extension, parse_with_reuse_cache,
88 syntax_node_id,
89};
90pub(crate) use parse::{Parser, tokenize};
91pub use parse_tree_contract_idl_generated::ParseTreeNodeV0;
92pub use public_product::{
93 ParserCanonicalCandidateBundleV0, ParserCanonicalProducerSignalV0, ParserEvaluatorCandidatesV0,
94 ParserIndexSummaryV0, dialect_for_path, summarize_css_modules_intermediate,
95 summarize_parser_canonical_candidate, summarize_parser_canonical_producer_signal,
96 summarize_parser_evaluator_candidates,
97};
98pub use recovery::{RECOVERY_DECLARATION, RECOVERY_SELECTOR, RECOVERY_TOP, TokenSet};
99pub use spans::{ParserByteSpanV0, ParserPositionV0, ParserRangeV0};
100pub use summaries::{
101 OmenaParserAtRuleKindCountsV0, OmenaParserCssModuleComposesEdgeFactV0,
102 OmenaParserCssModuleValueDefinitionEdgeFactV0, OmenaParserCssModuleValueImportEdgeFactV0,
103 OmenaParserDeclarationKindCountsV0, OmenaParserIcssExportEdgeFactV0,
104 OmenaParserIcssImportEdgeFactV0, OmenaParserLexSummaryV0, OmenaParserLexTokenV0,
105 OmenaParserParityLiteSummaryV0, OmenaParserSassModuleEdgeFactV0, OmenaParserSassSymbolFactV0,
106 OmenaParserSassSymbolResolutionCapabilitiesV0, OmenaParserSassSymbolResolutionEdgeV0,
107 OmenaParserSassSymbolResolutionV0, OmenaParserStyleFactsSummaryV0, ParserBoundarySummary,
108 ParserCstEquivalenceSummaryV0, ParserPrattValueCoverageSummaryV0,
109 ParserRecursiveDescentCoverageSummaryV0, ParserSemanticNameConsumptionSummaryV0,
110 summarize_omena_parser_lex, summarize_omena_parser_parity_lite,
111 summarize_omena_parser_style_facts, summarize_parser_boundary,
112 summarize_parser_cst_equivalence, summarize_parser_semantic_name_consumption,
113 summarize_pratt_value_parser_coverage, summarize_recursive_descent_parser_coverage,
114};
115#[cfg(test)]
116pub(crate) use syntax_helpers::infix_binding_power;
117pub(crate) use syntax_helpers::{
118 UNARY_PREFIX_RIGHT_BINDING_POWER, at_rule_prelude_head_is_custom_ident,
119 at_rule_prelude_head_is_custom_property_name, attribute_name_token_can_continue,
120 attribute_name_token_can_start, attribute_value_token_can_start, bracketed_value_recovery,
121 comma_separated_component_value_list_item_recovery, containing_at_rule_header_name,
122 css_module_scope_function_kind, dialect_allows_value_logical_operators,
123 find_block_after_header, find_selector_block_after_header, function_argument_count_is_valid,
124 function_argument_recovery, function_requires_filled_top_level_arguments,
125 interpolation_end_kind, is_at_rule_prelude_boundary, is_attribute_matcher, is_combinator,
126 is_component_value_atom_start, is_css_module_from_source_token,
127 is_dynamic_function_argument_head, is_interpolation_start, is_nth_pseudo_class,
128 is_scss_control_rule_kind, is_scss_module_namespace_token, is_scss_module_source_token,
129 is_scss_module_visibility_name_token, is_selector_boundary, is_selector_boundary_until,
130 is_selector_combinator_kind, is_selector_list_pseudo_class, is_statement_end,
131 keyframe_selector_token_is_valid, language_tag_token_can_start, matches_ignore_ascii_case,
132 matching_right_brace, matching_right_paren_from_range, matching_simple_block_close,
133 namespace_selector_target_can_start, next_non_trivia_token, next_non_trivia_token_after_range,
134 next_non_trivia_token_index_until, next_non_trivia_token_until, previous_non_trivia_token,
135 previous_non_trivia_token_index, selector_component_can_end, selector_component_can_start,
136 selector_item_token_is_recoverable, simple_block_recovery,
137 skip_statement_or_unmatched_boundary, skip_trivia_tokens, specialized_function_kind,
138 style_wrapper_at_rule, token_index_by_range, top_level_token_kind_index,
139 top_level_token_text_index, value_infix_operator_binding, value_list_item_recovery,
140 variable_declaration_node_kind,
141};
142
143#[cfg(test)]
144mod tests;