summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2023-04-04 18:18:10 +0200
committerLaurenz <laurmaedje@gmail.com>2023-04-04 18:18:10 +0200
commit8284db9000e32320e3d710c6a0b55c0c5525f483 (patch)
treecde3a0e50a0b5d38dc49033e271fbe563330347c
parent4b0db52920dab5d56c9e42a948a420e984db50b1 (diff)
Fix autocompletion after non-hashtag expression
-rw-r--r--docs/src/general/changelog.md1
-rw-r--r--src/ide/complete.rs2
2 files changed, 3 insertions, 0 deletions
diff --git a/docs/src/general/changelog.md b/docs/src/general/changelog.md
index be2903ec..0fec3112 100644
--- a/docs/src/general/changelog.md
+++ b/docs/src/general/changelog.md
@@ -42,6 +42,7 @@ description: |
- Fixed crash when [`symbol`]($func/symbol) function is called without arguments
- Fixed access to label of certain content elements
- Fixed line number in error message for CSV parsing
+- Fixed invalid autocompletion after certain markup elements
## March 28, 2023
- **Breaking:** Enumerations now require a space after their marker, that is,
diff --git a/src/ide/complete.rs b/src/ide/complete.rs
index 27b199fd..da9e0725 100644
--- a/src/ide/complete.rs
+++ b/src/ide/complete.rs
@@ -317,6 +317,8 @@ fn complete_field_accesses(ctx: &mut CompletionContext) -> bool {
if ctx.leaf.range().end == ctx.cursor;
if let Some(prev) = ctx.leaf.prev_sibling();
if prev.is::<ast::Expr>();
+ if prev.parent_kind() != Some(SyntaxKind::Markup) ||
+ prev.prev_sibling_kind() == Some(SyntaxKind::Hashtag);
if let Some(value) = analyze_expr(ctx.world, &prev).into_iter().next();
then {
ctx.from = ctx.cursor;