Skip to content

Releases: EmranMR/tree-sitter-blade

v0.3.1 Release Note

13 Aug 17:56
Compare
Choose a tag to compare

Bug Fix: 🐞

  • Fixed the bug/conflict when parsing undeclared @directives so that the parser gracefully handle them rather than throwing an error #23
  • This will be important in following scenarios:
    • Email address entry
    • Editor tree targeting for potential completion suggestion see EmranMR/Laravel-Nova-Extension#7
    • The attribute directives relating to upcoming Livewire v3.0 such as @click

v0.3.0 Release Notes

12 Aug 18:23
Compare
Choose a tag to compare

New Additions:

Support for Livewire directives 🪼

Livewire < v2.x
  • @livewireStyles
  • @livewireScripts
Livewire v2.x <=
  • @livewire() inline component rendering
Upcoming Livewire v3.x
  • @livewireScriptConfig
  • @presist
  • @teleport
  • @volt

v0.2.0 Release-Note

18 Jul 22:47
Compare
Choose a tag to compare

New Feature

  • The grammar now supports "folding".
  • README.md has been updated to document the feature under "Folding"
  • Added stubs in the queries/folds.scm to be used as an example

Screen Recording 2023-07-18 at 23 17 32

Rule Name Change

  • There is a minor backward compatible change to allow full support for foldings
  • (bracket) has been changed to (bracket_start) and (bracket_end) accordingly

Nova Users👇

v0.1.1 Release-Notes

16 Jul 17:27
Compare
Choose a tag to compare

Bug 🐛 Fixes:

  • The keywords are now correctly parsed as $.directive and can be captured for syntax highlighting

New Support:

  • @vite()
  • @viteReactRefresh

NeoVim Users 👇

I would highly recommend you to read the tips provided by @yaegassy in this discussion.

  • I have added a link to the README.md as well for future reference.

v.0.1.0 Release Notes

10 Jul 15:50
c8b9ea5
Compare
Choose a tag to compare

⚠️ Breaking Changes:

This version has breaking updates, as there has been a rule name change:

  1. (html) rule name has been changed to (php)
  2. 🚧(php) has been changed to (php_only)
    - Please note this is just in preparation for the upcoming split_parser
    - You can not use this feature just yet.
    - The ⚠️rule name (php_only) might change⚠️when the feature is implemented into tree-sitter-php
    - Please refer to the README.md for more information

Upgrade Guide:

All you have to do is to change the injection.scm to the following:

((php) @injection.content
    (#set! injection.combined)
    (#set! injection.language php))
Reason For This Update:
  • Technically makes more sense to parse anything outwith the blade directives as php instead of the html. This way you could utilise the correct parsing, allowing tree-sitter-php to decide where to inject html or php_only, meanwhile allowing tree-sitter-blade to decide the blade related php_only injection sites instead. Basically a separation of concern. see issue #12

Other updates

  • The README.md has been updated
  • CONTRIBUTION.md has been completed
  • package.json has been updated with relevant scripts relevant for this repo
  • test files have been updated to reflect the change in the rule names

v0.0.7 Release Note

02 Sep 16:55
Compare
Choose a tag to compare

New features

  • Completed all the tests in /corpus, covering the entire blade grammar. 🎉
    • This makes contributing more accessible to everyone
    • It also allowed me to catch some sneaky bugs in the parser
  • custom directives: Now fully supported, you can have custom directives even with names starting with the letter "e"

Fixes & Enhancements

v0.0.1 Release Note

02 Sep 16:55
Compare
Choose a tag to compare

New Features

  1. Support for @empty directive as stand-alone inside loops
  2. Support for custom if-statements
    • Please see issues #8 and #9
    • It works in terms of syntax highlighting as well as nesting like the other if-statement features, but there is a big room for improvement, probably using external scanners.