diff --git a/src/html.ts b/src/html.ts
index 6814828..15506df 100644
--- a/src/html.ts
+++ b/src/html.ts
@@ -1,3 +1,9 @@
+/*
+ * Copyright (c) 2023, networkException
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
import { Highlighter } from './html/highlighter.js';
import { Span } from './html/highlighter/span.js';
import { Tokenizer } from './html/tokenizer.js';
diff --git a/src/html/errors.ts b/src/html/errors.ts
index 6289d26..a8d475a 100644
--- a/src/html/errors.ts
+++ b/src/html/errors.ts
@@ -1,3 +1,9 @@
+/*
+ * Copyright (c) 2023, networkException
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
// FIXME: Convert to const enum
export type ParseError = 'unexpected-null-character' |
'unexpected-question-mark-instead-of-tag-name' |
diff --git a/src/html/highlighter.ts b/src/html/highlighter.ts
index 89b42b1..77db98a 100644
--- a/src/html/highlighter.ts
+++ b/src/html/highlighter.ts
@@ -1,3 +1,9 @@
+/*
+ * Copyright (c) 2023, networkException
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
import { Color } from './highlighter/properties/color.js';
import { Cursor } from './highlighter/properties/cursor.js';
import { Font } from './highlighter/properties/font.js';
diff --git a/src/html/highlighter/inspectable.ts b/src/html/highlighter/inspectable.ts
index da049bf..a74da22 100644
--- a/src/html/highlighter/inspectable.ts
+++ b/src/html/highlighter/inspectable.ts
@@ -1,3 +1,9 @@
+/*
+ * Copyright (c) 2023, networkException
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
export abstract class Inspectable {
public abstract inspect(indent: number): string;
}
diff --git a/src/html/highlighter/properties/color.ts b/src/html/highlighter/properties/color.ts
index b9641ca..f31ef85 100644
--- a/src/html/highlighter/properties/color.ts
+++ b/src/html/highlighter/properties/color.ts
@@ -1,3 +1,9 @@
+/*
+ * Copyright (c) 2023, networkException
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
import { Property } from '../property.js';
export class Color extends Property {
diff --git a/src/html/highlighter/properties/cursor.ts b/src/html/highlighter/properties/cursor.ts
index 5281c60..c344f58 100644
--- a/src/html/highlighter/properties/cursor.ts
+++ b/src/html/highlighter/properties/cursor.ts
@@ -1,3 +1,9 @@
+/*
+ * Copyright (c) 2023, networkException
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
import { Property } from '../property.js';
export class Cursor extends Property {
diff --git a/src/html/highlighter/properties/font.ts b/src/html/highlighter/properties/font.ts
index f85327f..7b99c70 100644
--- a/src/html/highlighter/properties/font.ts
+++ b/src/html/highlighter/properties/font.ts
@@ -1,3 +1,9 @@
+/*
+ * Copyright (c) 2023, networkException
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
import { Property } from '../property.js';
export class Font extends Property {
diff --git a/src/html/highlighter/properties/link.ts b/src/html/highlighter/properties/link.ts
index b17ae0c..28d9e10 100644
--- a/src/html/highlighter/properties/link.ts
+++ b/src/html/highlighter/properties/link.ts
@@ -1,3 +1,9 @@
+/*
+ * Copyright (c) 2023, networkException
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
import { Property } from '../property.js';
export class Link extends Property {
diff --git a/src/html/highlighter/property.ts b/src/html/highlighter/property.ts
index 94acf76..3b08ba8 100644
--- a/src/html/highlighter/property.ts
+++ b/src/html/highlighter/property.ts
@@ -1,3 +1,9 @@
+/*
+ * Copyright (c) 2023, networkException
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
import { Inspectable } from './inspectable.js';
export abstract class Property extends Inspectable {
diff --git a/src/html/highlighter/span.ts b/src/html/highlighter/span.ts
index 9bf0596..24e6ae4 100644
--- a/src/html/highlighter/span.ts
+++ b/src/html/highlighter/span.ts
@@ -1,3 +1,9 @@
+/*
+ * Copyright (c) 2023, networkException
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
import { Attribute } from '../tokenizer/attribute.js';
import { Position } from '../tokenizer/position.js';
import { Range } from '../tokenizer/range.js';
diff --git a/src/html/inspector.ts b/src/html/inspector.ts
index 30c3f40..06f04d0 100644
--- a/src/html/inspector.ts
+++ b/src/html/inspector.ts
@@ -1,3 +1,9 @@
+/*
+ * Copyright (c) 2023, networkException
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
import { Color } from './highlighter/properties/color.js';
import { Span } from './highlighter/span.js';
diff --git a/src/html/tokenizer.ts b/src/html/tokenizer.ts
index 14de417..8040e26 100644
--- a/src/html/tokenizer.ts
+++ b/src/html/tokenizer.ts
@@ -1,3 +1,9 @@
+/*
+ * Copyright (c) 2023, networkException
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
import { TODO, VERIFY, VERIFY_NOT_REACHED } from '../util/assertions.js';
import { CodePoints } from '../util/codePoints.js';
import { Constructor } from '../util/guards.js';
diff --git a/src/html/tokenizer/attribute.ts b/src/html/tokenizer/attribute.ts
index 00e87a4..c0842f9 100644
--- a/src/html/tokenizer/attribute.ts
+++ b/src/html/tokenizer/attribute.ts
@@ -1,3 +1,9 @@
+/*
+ * Copyright (c) 2023, networkException
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
import { VERIFY } from '../../util/assertions.js';
import { Inspectable } from '../highlighter/inspectable.js';
import { Position } from './position.js';
diff --git a/src/html/tokenizer/entities.ts b/src/html/tokenizer/entities.ts
index 0a5531a..8bea6ae 100644
--- a/src/html/tokenizer/entities.ts
+++ b/src/html/tokenizer/entities.ts
@@ -1,3 +1,9 @@
+/*
+ * Copyright (c) 2023, networkException
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
// Taken from https://html.spec.whatwg.org/entities.json
// See also: https://html.spec.whatwg.org/multipage/named-characters.html#named-character-references
diff --git a/src/html/tokenizer/position.ts b/src/html/tokenizer/position.ts
index 1de8ad1..0f63145 100644
--- a/src/html/tokenizer/position.ts
+++ b/src/html/tokenizer/position.ts
@@ -1,3 +1,9 @@
+/*
+ * Copyright (c) 2023, networkException
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
import { Inspectable } from '../highlighter/inspectable.js';
export class Position extends Inspectable {
diff --git a/src/html/tokenizer/range.ts b/src/html/tokenizer/range.ts
index cd950b0..a10c937 100644
--- a/src/html/tokenizer/range.ts
+++ b/src/html/tokenizer/range.ts
@@ -1,3 +1,9 @@
+/*
+ * Copyright (c) 2023, networkException
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
import { Position } from './position.js';
export type Range = {
diff --git a/src/html/tokenizer/state.ts b/src/html/tokenizer/state.ts
index 1708a63..e352e58 100644
--- a/src/html/tokenizer/state.ts
+++ b/src/html/tokenizer/state.ts
@@ -1,3 +1,9 @@
+/*
+ * Copyright (c) 2023, networkException
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
export const enum State {
Data = 'Data',
RCDATA = 'RCDATA',
diff --git a/src/html/tokenizer/token.ts b/src/html/tokenizer/token.ts
index 7dc3219..bb84276 100644
--- a/src/html/tokenizer/token.ts
+++ b/src/html/tokenizer/token.ts
@@ -1,3 +1,9 @@
+/*
+ * Copyright (c) 2023, networkException
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
import { Inspectable } from '../highlighter/inspectable.js';
import { Position } from './position.js';
import { Range } from './range.js';
diff --git a/src/html/tokenizer/tokens/character.ts b/src/html/tokenizer/tokens/character.ts
index b5e2707..429b6e3 100644
--- a/src/html/tokenizer/tokens/character.ts
+++ b/src/html/tokenizer/tokens/character.ts
@@ -1,3 +1,9 @@
+/*
+ * Copyright (c) 2023, networkException
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
import { REPLACEMENT_CHARACTER, Token, Type } from '../token.js';
export class CharacterToken extends Token {
diff --git a/src/html/tokenizer/tokens/comment.ts b/src/html/tokenizer/tokens/comment.ts
index b771e66..13c59eb 100644
--- a/src/html/tokenizer/tokens/comment.ts
+++ b/src/html/tokenizer/tokens/comment.ts
@@ -1,3 +1,9 @@
+/*
+ * Copyright (c) 2023, networkException
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
import { Token, Type, REPLACEMENT_CHARACTER } from '../token.js';
export class CommentToken extends Token {
diff --git a/src/html/tokenizer/tokens/doctype.ts b/src/html/tokenizer/tokens/doctype.ts
index 8902779..ac24ea1 100644
--- a/src/html/tokenizer/tokens/doctype.ts
+++ b/src/html/tokenizer/tokens/doctype.ts
@@ -1,3 +1,9 @@
+/*
+ * Copyright (c) 2023, networkException
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
import { VERIFY } from '../../../util/assertions.js';
import { Token, Type, REPLACEMENT_CHARACTER } from '../token.js';
diff --git a/src/html/tokenizer/tokens/endOfFile.ts b/src/html/tokenizer/tokens/endOfFile.ts
index e01473f..79a3074 100644
--- a/src/html/tokenizer/tokens/endOfFile.ts
+++ b/src/html/tokenizer/tokens/endOfFile.ts
@@ -1,3 +1,9 @@
+/*
+ * Copyright (c) 2023, networkException
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
import { Token, Type } from '../token.js';
export class EndOfFileToken extends Token {
diff --git a/src/html/tokenizer/tokens/endTag.ts b/src/html/tokenizer/tokens/endTag.ts
index 0f7888d..5c63519 100644
--- a/src/html/tokenizer/tokens/endTag.ts
+++ b/src/html/tokenizer/tokens/endTag.ts
@@ -1,3 +1,9 @@
+/*
+ * Copyright (c) 2023, networkException
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
import { AttributeList } from '../attribute.js';
import { Token, Type, REPLACEMENT_CHARACTER } from '../token.js';
diff --git a/src/html/tokenizer/tokens/startTag.ts b/src/html/tokenizer/tokens/startTag.ts
index 666dade..9bc2a9d 100644
--- a/src/html/tokenizer/tokens/startTag.ts
+++ b/src/html/tokenizer/tokens/startTag.ts
@@ -1,3 +1,9 @@
+/*
+ * Copyright (c) 2023, networkException
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
import { AttributeList } from '../attribute.js';
import { Token, Type, REPLACEMENT_CHARACTER } from '../token.js';
diff --git a/src/view.ts b/src/view.ts
index fb5226e..9e9842f 100644
--- a/src/view.ts
+++ b/src/view.ts
@@ -1,3 +1,9 @@
+/*
+ * Copyright (c) 2023, networkException
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
import { Color } from './html/highlighter/properties/color.js';
import { Property } from './html/highlighter/property.js';
import { Span } from './html/highlighter/span.js';