News for hackers. Stuff that matters.
Re:The First HTML LSP That Reports Syntax Errors by thedumbname on Monday September 16, 2024 @06:24AM (#41554591)
> Void elements only have a start tag; end tags must not be specified for void elements

So?

Re:The First HTML LSP That Reports Syntax Errors by kristoff_it on Monday September 16, 2024 @06:27AM (#41554619)
The "<div/>" syntax is short for "<div></div>" in XHTML lingo.

In HTML void tags only have a start tag and don't close at all.

    <meta foo bar>
    <img bar baz>
And so forth. There's a hardcoded list of void tags in HTML.

Horribly dumb design idea if you ask me, but it is what it is.

Re:The First HTML LSP That Reports Syntax Errors by tannhaeuser on Monday September 16, 2024 @07:28AM (#41554955)
These two things have nothing to do with each other though:

- HTML doesn't have XML-style empty elements such as in "<div/>" and simply ignores the slash, treating the construct as start-element tag

- HTML is "hardcoded" in that the vocabulary understood by the browser is determined out of band, whether for empty ("void") elements or not. An SGML DTD (like the W3C HTML 4.01 DTD or newer DTDs for HTML 5+, which would be the means to inform a parser about the parsing rules for a markup language dynamically), actually contains declarations for the meta, img, and other elements as having EMPTY content, along with tag inference and attribute shortform rules also necessary for parsing.

Re:The First HTML LSP That Reports Syntax Errors by tstusr20190823 on Monday September 16, 2024 @06:36AM (#41554666)
OK, so it should not warn with XHTML doctype? But it does too
Re:The First HTML LSP That Reports Syntax Errors by kristoff_it on Monday September 16, 2024 @06:42AM (#41554706)
It's mentioned in the GitHub readme, SuperHTML only supports HTML5 regardless of what you put in the doctype.

I will probably keep tracking the WHATWG living spec and never implement any other spec (old HTML versions, XHTML), so if you have a keen interest in anything other than contemporary HTML, SuperHTML might not be the right tool for the job.

That said, I'll add a warning if you put something else in the doctype so that users can know what to expect.

Re:The First HTML LSP That Reports Syntax Errors by tstusr20190823 on Monday September 16, 2024 @06:55AM (#41554768)
I got this error first with HTML doctype, so it is a problem in my code which uses self-closing tags with HTML doctype. Instead of very noninformative "html_elements_cant_self_close" message it should explain that HTML spec does not have "self-closing tags", and this code uses deprecated feature from previous (XHTML) specs.
Re:The First HTML LSP That Reports Syntax Errors by simiones on Monday September 16, 2024 @07:15AM (#41554879)
You're getting a very clear error: your sample is not valid HTML, because, as the error informs you, HTML elements can't self close. Why would it reference some other document type for which this may or may not be valid syntax? Should it also tell you that these are not valid JSON objects or LISP forms?

Now, separately from that, it might be nice if it told you that it doesn't support DOCTYPE == XHTML and will treat the document as HTML anyway, but that should only appear as an error/warning on the DOCTYPE line, it shouldn't confusingly mention XHTML wherever you might have meant some XHTML-ism that is invalid HTML.

Also, XHTML is not "an older version of HTML", it is a completely different standard that is (or was) sometimes used instead of HTML.

Re:The First HTML LSP That Reports Syntax Errors by tstusr20190823 on Monday September 16, 2024 @07:34AM (#41554998)
"html_elements_cant_self_close" is not a very clear error. Yes, now it is clear what does it mean, and it would be great if other users should not start a new HN-discussion to receive clear explanations when it can be explained directly on "html_elements_cant_self_close" tooltip. We can polish text, decide to mention XHTML or not, but the error message should be more informative.
Re:The First HTML LSP That Reports Syntax Errors by someothherguyy on Monday September 16, 2024 @06:25AM (#41554603)
Its valid HTML, but

> On void elements, it does not mark the start tag as self-closing but instead is unnecessary and has no effect of any kind. For such void elements, it should be used only with caution — especially since, if directly preceded by an unquoted attribute value, it becomes part of the attribute value rather than being discarded by the parser.