aboutsummaryrefslogtreecommitdiffstats
path: root/src/construct
diff options
context:
space:
mode:
Diffstat (limited to 'src/construct')
-rw-r--r--src/construct/definition.rs1
-rw-r--r--src/construct/partial_destination.rs7
2 files changed, 4 insertions, 4 deletions
diff --git a/src/construct/definition.rs b/src/construct/definition.rs
index 69d8d9b..f8dc249 100644
--- a/src/construct/definition.rs
+++ b/src/construct/definition.rs
@@ -173,6 +173,7 @@ fn destination_before(tokenizer: &mut Tokenizer, code: Code) -> StateFnResult {
t,
c,
DestinationOptions {
+ limit: usize::MAX,
destination: TokenType::DefinitionDestination,
literal: TokenType::DefinitionDestinationLiteral,
marker: TokenType::DefinitionDestinationLiteralMarker,
diff --git a/src/construct/partial_destination.rs b/src/construct/partial_destination.rs
index 823ce99..b2ceeb8 100644
--- a/src/construct/partial_destination.rs
+++ b/src/construct/partial_destination.rs
@@ -57,6 +57,8 @@ pub struct Options {
pub raw: TokenType,
/// Token for a the string.
pub string: TokenType,
+ /// Maximum unbalanced parens.
+ pub limit: usize,
}
/// State needed to parse destination.
@@ -176,12 +178,9 @@ fn enclosed_escape(tokenizer: &mut Tokenizer, code: Code, info: Info) -> StateFn
/// a|b
/// ```
fn raw(tokenizer: &mut Tokenizer, code: Code, mut info: Info) -> StateFnResult {
- // To do: configurable.
- let limit = usize::MAX;
-
match code {
Code::Char('(') => {
- if info.balance >= limit {
+ if info.balance >= info.options.limit {
(State::Nok, None)
} else {
tokenizer.consume(code);