
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.
66 lines
1.2 KiB
Plaintext
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[]
|