Digitalbrainstem / ejs-grammar

EJS Grammar for VSCode
MIT License
75 stars 28 forks source link

Injecting ejs into html #38

Open Betanu701 opened 5 years ago

Betanu701 commented 5 years ago

@ExE-Boss Just heads up, I am getting ready to push a major enhancement.

I have stripped most of the work that we have done before. I am using HTML as the base language, and then injecting javascript as an embedded language. So we have to set the language as html. This enables everything that we have been missing. Standard html formatter should work.

I will be pushing this to 1.0.0 because of needing to change ejs to be recognized as html.

ExE-Boss commented 5 years ago

And this once again broke ctrl+/ and ctrl+shift+/, after I had painstakingly fixed it in https://github.com/Digitalbrainstem/ejs-grammar/commit/6d55bc37213a2ea3497b408cb8fa867849f3347c.

Betanu701 commented 5 years ago

ctrl+/ works for me. ctrl+shift+/ does not, though ctrl+/ comments and uncomments.

Mind joinging me in gitter chat? chat

Betanu701 commented 5 years ago

I do see what you mean by ctrl+/ now. For me it does the entire line. Which is not what we want it to do. I am looking into it.

Betanu701 commented 5 years ago

I have a very easy fix. If I include "contentName": "source.js", to the ejs-tag, it makes everything inside the tag be javascript.

Only works when you do multiline.

<% 
    for(i in foo){
       var bar = foo[i];
       bar += 'test';
    }
%>

using ctrl+/ on any line within there gives the correct // instead of doing an html comment.

Betanu701 commented 5 years ago

New update is pushed. Let me know if it still seems broken. For the most part, all we need to do is make sure the content we want has the right scope name.

Betanu701 commented 4 years ago

@ExE-Boss Did the ctrl + / work on the single lines?

I am having issues getting it to fire within the scriptlet tags only on the same line as an opening scriptlet.

Does not work

<% let foo = 'bar' %>

Both of these work.

<% 
let foo ='bar' %>

<% 
let foo ='bar' 
%>