-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Multinline comments in the start break syntax highlighting #6057
Comments
Another example can be found in the example posted in #6064. |
Hi! Is this still an issue on try.gitea.io? The revision that fixed #6064 probably fixed this. |
Hi, |
I suspect a highlight.js issue here. |
Is Gitea running the latest version? Could this be something to report to the highlight.js team? |
highlight.js is 9.11.0, latest is 9.14.0. It would help if you can showcase the issue in a fiddle like this, using the latest version. |
I'm new to using fiddle, but I've given it a shot here. (I'm guessing there's no way of embedding fiddles on GitHub?) One of the variants that are broken on Gitea works in the fiddle, but the second example remains broken. Let me know if there are any modifications or corrections that should be made to the fiddle and I'll sort it out. |
If this isn't a priority issue for the general group, could anyone point me towards where (if possible) I could define what version of Highlight.js my instance should run? It would be nice to have this in upstream, but I would gladly sort out a local fix if this is not a priority issue. |
A temporary local workaround could be to use a custom footer template that instead gets |
Updated fiddle with 9.15.6: https://jsfiddle.net/vk3j2gLd/3/ All three cases look alright, correct? |
Yes, this looks great! I'm gonna test it out with a local workaround, thanks for the suggestion @jolheiser. I'll get it done right away and post an update here, and if it works I'll close this issue and open a new one for updating highligt.js, if no one objects. |
Once you confirm it works with in Gitea with newer highlight.js, I can raise a PR to update it. You want to use these resources:
|
I can confirm that the variants listed in the fiddle all work with newer highlight.js, using the resources you've provided. I did, however, notice another breaking variant. If I write three or more lines with two or more #'s, it still breaks, looking like the third line of #'s gets interpreted as something very particular as it gets uniquely highlighted. This still is an improvement, but it is unfortunate as the user who raised the issue has a habit of tagging his codes with exactly that: opening with several lines of several #'s ... I will just have to ask him not to. |
@silverwind I just noticed in the highlight.min.js you provided that it seems to be only registering something like 25 languages (powershell not included), instead of 175 which it seems like the original highlight.pack.js is registering. It being a .min. file maybe it is really slimmed down, but I figured I'd point it out. |
Yeah, highlight.js weirdly does not publish a proper packed file with all languagues anywhere. I assume if we want to update it, we should include all languages which results in a 650kb file, not that much of a problem. |
Definately, especially if the alternative would result in previously supported languages losing support. that feels like a step in the wrong direction. |
@silverwind Any update on the PR? |
Update PR is up, but it does not fix this issue. The root of your issue is that our use of hljs relies on automatic language detection which is rather broken. You can see it on the CSS class on the code element which in one of your broken examples has A proper fix would be to generate a filename to language map similar to this and then pre-set the class so hljs can apply syntax highlighting based on filename and/or code fence language (e.g. like |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs during the next 2 weeks. Thank you for your contributions. |
Sorry, mistakenly closed the issue. |
Data partially based on [CodeMirror's meta.js](https://github.com/codemirror/CodeMirror/blob/master/mode/meta.js). Fixes: go-gitea#6057
) Data partially based on [CodeMirror's meta.js](https://github.com/codemirror/CodeMirror/blob/master/mode/meta.js). Fixes: #6057
[x]
):Description
When starting a file with a multiline comment or sometimes multiple lines of comments, syntax highlighting breaks (at least for .ps1 files).
For example, starting a file with one of the following works fine:
This, however, breaks it:
Sample files in repo
Screenshots
The text was updated successfully, but these errors were encountered: