Use bitflags.
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
#![cfg(feature = "internals")]
|
||||
#![cfg(feature = "metadata")]
|
||||
|
||||
use crate::module::FuncInfo;
|
||||
use crate::module::{FuncInfo, ModuleFlags};
|
||||
use crate::tokenizer::{is_valid_function_name, Token};
|
||||
use crate::{Engine, FnAccess, FnPtr, Module, Scope, INT};
|
||||
|
||||
@@ -308,10 +308,16 @@ impl Definitions<'_> {
|
||||
String::new()
|
||||
};
|
||||
|
||||
let exclude_flags = if !self.config.include_standard_packages {
|
||||
ModuleFlags::STANDARD_LIB
|
||||
} else {
|
||||
ModuleFlags::empty()
|
||||
};
|
||||
|
||||
self.engine
|
||||
.global_modules
|
||||
.iter()
|
||||
.filter(|m| self.config.include_standard_packages || !m.standard)
|
||||
.filter(|m| !m.flags.contains(exclude_flags))
|
||||
.enumerate()
|
||||
.for_each(|(i, m)| {
|
||||
if i > 0 {
|
||||
|
@@ -1,7 +1,7 @@
|
||||
//! Module that defines JSON manipulation functions for [`Engine`].
|
||||
#![cfg(not(feature = "no_object"))]
|
||||
|
||||
use crate::parser::ParseState;
|
||||
use crate::parser::{ParseSettingFlags, ParseState};
|
||||
use crate::tokenizer::Token;
|
||||
use crate::{Engine, LexError, Map, OptimizationLevel, RhaiResultOf, Scope};
|
||||
#[cfg(feature = "no_std")]
|
||||
@@ -122,7 +122,7 @@ impl Engine {
|
||||
let ast = self.parse_global_expr(
|
||||
&mut stream.peekable(),
|
||||
&mut state,
|
||||
|s| s.allow_unquoted_map_properties = false,
|
||||
|s| s.flags |= ParseSettingFlags::DISALLOW_UNQUOTED_MAP_PROPERTIES,
|
||||
#[cfg(not(feature = "no_optimize"))]
|
||||
OptimizationLevel::None,
|
||||
#[cfg(feature = "no_optimize")]
|
||||
|
@@ -1,6 +1,7 @@
|
||||
//! Module that defines the public function/module registration API of [`Engine`].
|
||||
|
||||
use crate::func::{FnCallArgs, RegisterNativeFunction, SendSync};
|
||||
use crate::module::ModuleFlags;
|
||||
use crate::types::dynamic::Variant;
|
||||
use crate::{
|
||||
Engine, FnAccess, FnNamespace, Identifier, Module, NativeCallContext, RhaiResultOf, Shared,
|
||||
@@ -741,11 +742,17 @@ impl Engine {
|
||||
signatures.extend(m.gen_fn_signatures().map(|f| format!("{name}::{f}")));
|
||||
}
|
||||
|
||||
let exclude_flags = if !include_packages {
|
||||
ModuleFlags::INTERNAL | ModuleFlags::STANDARD_LIB
|
||||
} else {
|
||||
ModuleFlags::INTERNAL
|
||||
};
|
||||
|
||||
signatures.extend(
|
||||
self.global_modules
|
||||
.iter()
|
||||
.skip(1)
|
||||
.filter(|m| !m.internal && (include_packages || !m.standard))
|
||||
.filter(|m| !m.flags.contains(exclude_flags))
|
||||
.flat_map(|m| m.gen_fn_signatures()),
|
||||
);
|
||||
|
||||
|
Reference in New Issue
Block a user