summaryrefslogtreecommitdiff
path: root/src/parse/incremental.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2022-05-19 13:56:14 +0200
committerLaurenz <laurmaedje@gmail.com>2022-05-19 13:56:14 +0200
commitfcce3df093d0141c677608a74c25ea0d413c5050 (patch)
tree4f3df77fc073500e0042de6cbfc2aed2b3574921 /src/parse/incremental.rs
parenta5a6c2d83fb40c13f3fd781ec1fb7ed6c1ec5c09 (diff)
Simplify `only_in_mode` to `only_in_markup`
Diffstat (limited to 'src/parse/incremental.rs')
-rw-r--r--src/parse/incremental.rs11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/parse/incremental.rs b/src/parse/incremental.rs
index 38938c4b..26f97c52 100644
--- a/src/parse/incremental.rs
+++ b/src/parse/incremental.rs
@@ -4,8 +4,7 @@ use std::sync::Arc;
use crate::syntax::{Green, GreenNode, NodeKind};
use super::{
- is_newline, parse, reparse_code_block, reparse_content_block,
- reparse_markup_elements, TokenMode,
+ is_newline, parse, reparse_code_block, reparse_content_block, reparse_markup_elements,
};
/// Refresh the given green node with as little parsing as possible.
@@ -49,7 +48,7 @@ impl Reparser<'_> {
mut offset: usize,
outermost: bool,
) -> Option<Range<usize>> {
- let child_mode = green.kind().only_in_mode().unwrap_or(TokenMode::Code);
+ let is_markup = matches!(green.kind(), NodeKind::Markup(_));
let original_count = green.children().len();
let original_offset = offset;
@@ -75,9 +74,7 @@ impl Reparser<'_> {
{
// In Markup mode, we want to consider a non-whitespace
// neighbor if the edit is on the node boundary.
- search = if child_span.end == self.replaced.end
- && child_mode == TokenMode::Markup
- {
+ search = if is_markup && child_span.end == self.replaced.end {
SearchState::RequireNonTrivia(pos)
} else {
SearchState::Contained(pos)
@@ -180,7 +177,7 @@ impl Reparser<'_> {
if start.offset == self.replaced.start
|| ahead_kind.only_at_start()
- || ahead_kind.only_in_mode() != Some(TokenMode::Markup)
+ || !ahead_kind.only_in_markup()
{
start = ahead;
at_start = ahead_at_start;