Fred Tingaud 51369b610e
Make sure that includes are always surrounded by empty lines (#2270)
When an include is not surrounded by empty lines, its content is inlined
on the same line as the adjacent content. That can lead to broken tags
and other display issues.
This PR fixes all such includes and introduces a validation step that
forbids introducing the same problem again.
2023-06-22 10:38:01 +02:00

66 lines
1.2 KiB
Plaintext

== Why is this an issue?
Extra semicolons (``++;++``) are usually introduced by mistake, for example because:
* It was meant to be replaced by an actual statement, but this was forgotten.
* There was a typo which lead the semicolon to be doubled, i.e. ``++;;++``.
* There was a misunderstanding about where semicolons are required or useful.
=== Noncompliant code example
[source,javascript]
----
var x = 1;; // Noncompliant
function foo() {
}; // Noncompliant
----
=== Compliant solution
[source,javascript]
----
var x = 1;
function foo() {
}
----
=== Exceptions
This rule does not apply when the semicolon is after a line break and before ``++(++`` or ``++[++`` as it is often used in semicolon-less style.
[source,javascript]
----
var hello = 'Hello'
var world = 'World!'
var helloWorld = hello + ' ' + world
;[...helloWorld].forEach(c => console.log(c))
----
[source,javascript]
----
var a = 1
var b = 2 * a
;(a + b).toString()
----
ifdef::env-github,rspecator-view[]
'''
== Implementation Specification
(visible only on this page)
=== Message
Remove this extra semicolon.
'''
== Comments And Links
(visible only on this page)
include::../comments-and-links.adoc[]
endif::env-github,rspecator-view[]