cairo_lang_semantic/inline_macros/
mod.rs

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