-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor Syntax #39
Open
deathaxe
wants to merge
20
commits into
Sublime-Instincts:master
Choose a base branch
from
deathaxe:feat/refactor-syntax
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Refactor Syntax #39
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Refactor folder structure after the scheme of Jinja2 package.
This commit... 1. introduces common `meta.template.twig` applied scope accross Text/HTML/JS/CSS 2. adjusts snippet selectors 3. adds some helper key bindings 4. applies syntax specific toggle comment rules to apply Twig comments by default but retain original syntax's block comment as variant 2. 5. renames contexts to use hyphens as subword-separators 6. reorders contexts following lessons learned from Jinja and other template syntaxes 7. apply `meta.embedded` to tags and `source.twig` to their content. 8. fix various smaller highlighting bugs
deathaxe
force-pushed
the
feat/refactor-syntax
branch
from
October 19, 2024 14:36
a0ad157
to
ca98457
Compare
A formatting change and removal of some default operator/operand keys.
This commit enables to test embedded CSS, JS, JSON code in Twig templates. Without it, all test assertions cause illegal syntax highlighting in script or style tags. Note: It drops some tests for leading `{{` and `{%` due to assertion punctuation now requiring 2 chars, but those are most often redundant anyway.
- reorder style tag context - add some backward compatibility fixes
Supported by Twig 3.15+
Adds snippets for individual tags so typing a tag name and hitting tab key expands to an individual tag enclosed in `{% ... %}`: if| => {% if | %} embed| => {% embed | %} Triggers of existing block snippets are prefixed with `b` to avoid ambiguities with tag-snippets. Otherwise it would be unclear whether blocks or tags are expanded and/or completion panel was displayed requiring arrow key navigation. bif| {% if conditon %} | {% endif %} Reorganize snippets in individual sub-directories in case someone wants to disable individual ones based on type.
deathaxe
force-pushed
the
feat/refactor-syntax
branch
from
October 20, 2024 13:07
ed7dd46
to
5020129
Compare
Twig tags within quoted strings can contain same sort of quotes. This requires another strategy of handling embedded code blocks especially in inline event and style attributes. Solution is borrowed from PHP.
deathaxe
force-pushed
the
feat/refactor-syntax
branch
from
October 20, 2024 14:22
af35fc3
to
db2d435
Compare
Instead of adding rules to pop on quotes to each context, this commit just replaces relevant string contexts of JS/CSS to make sure to pop contexts properly. This reduces compiled syntax cache from 820kB to 610kB.
This commit fixes Twig statement tags and comments being scoped meta.attribute-with-value by accident.
Add some info about changed snippets. Snippets are basically aligned with Jinja2.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Resolves #33
This PR...
meta.template.twig
applied scope accross Text/HTML/JS/CSSmeta.embedded
to tags andsource.twig
to their content.Note: This PR requires ST4152+, most likely due to CSS.
To support older releases we'd need to vendor CSS.