-
Notifications
You must be signed in to change notification settings - Fork 41
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
Using with_prototype in syntax causes infinite recursion on Linux #6610
Comments
I think the most correct way is to now use extends. |
How is it possible to do the same thing with extends? I tried it by extending HTML and creating a Is there a way to force a prototype to bypass Also, I don't see why |
@deathaxe would probably have the best answer |
The lazy answer is: Have a look at packages like Astro, Laravel Blade, Liquid, Rails, Svelte, Vue, all of which using this technology to extend HTML and inject custom tags or interpolation. It requires a bit of boilerplate code in HTML and some work to also extend CSS,JS,JSON (used by HTML) to add templating support. This is also the only way to avoid extending unwanted/undesired HTML/CSS/JS contexts and keep their meta scopes intact. |
nwoltman/sublime-ejs#8 outlines least required changes to replace `with_prototype. Compiled syntax cache size of EJS package is reduced from about 28MB to 380kB. |
Description of the bug
I am the creator of the EJS 2 syntax. The syntax definition I created for EJS uses
with_prototype
to embed JS into HTML. As of ST version 4186, the syntax definition can no longer load only on Linux due to an "Apparent recursion within a with_prototype action".Steps to reproduce
EJS 2
->(any in the list)
Expected behavior
No error should occur and the syntax should work just like it does on Windows and MacOS
Actual behavior
The following error happens:
Sublime Text build number
4192
Operating system & version
Ubuntu 24.10
(Linux) Desktop environment and/or window manager
No response
Additional information
No response
OpenGL context information
The text was updated successfully, but these errors were encountered: