cairo_lang_semantic/inline_macros/
mod.rs

1mod array;
2mod assert;
3mod consteval_int;
4mod format;
5mod panic;
6mod print;
7mod write;
8
9use cairo_lang_plugins::get_base_plugins;
10
11use self::assert::AssertMacro;
12use self::format::FormatMacro;
13use self::panic::PanicMacro;
14use self::print::{PrintMacro, PrintlnMacro};
15use self::write::{WriteMacro, WritelnMacro};
16use super::inline_macros::array::ArrayMacro;
17use super::inline_macros::consteval_int::ConstevalIntMacro;
18use crate::plugin::PluginSuite;
19
20/// Gets the default plugin suite to load into the Cairo compiler.
21pub fn get_default_plugin_suite() -> PluginSuite {
22    let mut suite = PluginSuite { plugins: get_base_plugins(), ..Default::default() };
23    suite
24        .add_inline_macro_plugin::<ArrayMacro>()
25        .add_inline_macro_plugin::<AssertMacro>()
26        .add_inline_macro_plugin::<ConstevalIntMacro>()
27        .add_inline_macro_plugin::<FormatMacro>()
28        .add_inline_macro_plugin::<PanicMacro>()
29        .add_inline_macro_plugin::<PrintMacro>()
30        .add_inline_macro_plugin::<PrintlnMacro>()
31        .add_inline_macro_plugin::<WriteMacro>()
32        .add_inline_macro_plugin::<WritelnMacro>();
33    suite
34}