You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/CHANGELOG.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -126,6 +126,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
126
126
127
127
### Fixed
128
128
129
+
- **Hover stands down at every declaration site, not just most of them.** A class, interface, namespace, method, property, class constant, and enum case already answered nothing on their own declaration, since the signature and docblock are already on screen. A global function's own name, a top-level `const`, and a constructor-promoted parameter did not follow that rule: hovering `function helper()` repeated its signature, hovering `const LIMIT = 5;` repeated its value, and a promoted parameter (`__construct(public string $sku)`) hovered as a local variable rather than the property it actually declares. All three now stand down the same way the rest do.
129
130
- **Hover no longer depends on indexing timing.** A hover, go-to-definition, or any other request that arrived before the file's first parse published its symbol map answered null (or fell back to poorer resolution), so the same request could succeed in one session and fail in the next depending on how far background indexing had gotten. A request for a file with no symbol map now parses it on the spot from the content it already fetched, so the first answer matches every later one. Closes #343.
130
131
- **A raw Blade echo is read from its own opening brace.** `{!! $html !!}` was only recognised when written as `{{!! $html !!}}`, a spelling Blade does not use, so the expression inside a real raw echo was masked as HTML: a variable declared in a `<?php ?>` block and displayed through `{!! … !!}` was reported unused, and completion, hover, and go-to-definition inside the echo answered nothing. The raw echo now compiles the way Blade compiles it, to a plain `echo` with no `e()` escape around it, and each echo form only closes at its own terminator, so `!!}` no longer ends an escaped `{{ … }}` early. Closes #370.
131
132
- **An echo opener with no terminator no longer swallows the rest of the template.** A `{{` with no `}}` anywhere after it, or a `{!!` with no `!!}` — `<script>if (a) {!!b}</script>` was enough — put the rest of the file into PHP mode: every later line was read as code instead of markup and the whole template stopped parsing. Such an opener is now closed at the end of its own line, so at most that line degrades and everything after it works as usual. An echo that is still being typed, or that spans lines with its terminator further down, stays open exactly as before, so completion inside a half-written echo keeps working.
0 commit comments