function* splitMarkedTokenByLineFeed(token) {
			for (const contentToken of [token.content].flat()) {
				if (typeof contentToken !== "string") {
					const content = getTokenContent(contentToken);

					if (/[\r\n]/u.test(content)) {
						yield new Prism.Token(
							token.type,
							[...splitMarkedTokenByLineFeed(contentToken)],
							token.alias,
						);
					} else {
						yield new Prism.Token(
							token.type,
							[contentToken],
							token.alias,
						);
					}
					continue;
				}
				if (!/[\r\n]/u.test(contentToken)) {
					yield new Prism.Token(
						token.type,
						[contentToken],
						token.alias,
					);
					continue;
				}
				const contents = [];
				const reLineFeed = /\r\n?|\n/gu;
				let startIndex = 0;
				let matchLineFeed;

				while ((matchLineFeed = reLineFeed.exec(contentToken))) {
					contents.push(
						contentToken.slice(startIndex, matchLineFeed.index),
					);
					contents.push(matchLineFeed[0]);
					startIndex = reLineFeed.lastIndex;
				}
				contents.push(contentToken.slice(startIndex));
				yield* contents
					.filter(Boolean)
					.map(
						str => new Prism.Token(token.type, [str], token.alias),
					);
			}
		}
Splits the given ESLint marked tokens with line feed code.
The line feed code is not displayed because there is no character width,
so by making it a single character token, the "wrap hook" applies CLASS_ESLINT_MARKED_ON_LINE_FEED
to each character and makes it visible.
@param {Prism.Token} token Token to be split
@returns {IterableIterator<Prism.Token>} Splitted tokens