Revamping to matrix style

This commit is contained in:
2026-02-16 16:37:35 -05:00
parent 71852ec99a
commit 9d0e3938e4
14958 changed files with 2089572 additions and 114 deletions

View File

@@ -0,0 +1,89 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
declare module 'EmmetFlatNode' {
export interface Node {
start: number;
end: number;
type: string;
parent: Node | undefined;
firstChild: Node | undefined;
nextSibling: Node | undefined;
previousSibling: Node | undefined;
children: Node[];
}
export interface Token {
start: number;
end: number;
stream: BufferStream;
toString(): string;
}
export interface CssToken extends Token {
size: number;
item(number: number): any;
type: string;
}
export interface HtmlToken extends Token {
value: string;
}
export interface Attribute extends Token {
name: Token;
value: Token;
}
export interface HtmlNode extends Node {
name: string;
open: Token | undefined;
close: Token | undefined;
parent: HtmlNode | undefined;
firstChild: HtmlNode | undefined;
nextSibling: HtmlNode | undefined;
previousSibling: HtmlNode | undefined;
children: HtmlNode[];
attributes: Attribute[];
}
export interface CssNode extends Node {
name: string;
parent: CssNode | undefined;
firstChild: CssNode | undefined;
nextSibling: CssNode | undefined;
previousSibling: CssNode | undefined;
children: CssNode[];
}
export interface Rule extends CssNode {
selectorToken: Token;
contentStartToken: Token;
contentEndToken: Token;
}
export interface Property extends CssNode {
valueToken: Token;
separator: string;
parent: Rule;
terminatorToken: Token;
separatorToken: Token;
value: string;
}
export interface Stylesheet extends Node {
comments: Token[];
}
export interface BufferStream {
peek(): number;
next(): number;
backUp(n: number): number;
current(): string;
substring(from: number, to: number): string;
eat(match: any): boolean;
eatWhile(match: any): boolean;
}
}

View File

@@ -0,0 +1,91 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
declare module 'EmmetNode' {
import { Position } from 'vscode';
export interface Node {
start: Position;
end: Position;
type: string;
parent: Node;
firstChild: Node;
nextSibling: Node;
previousSibling: Node;
children: Node[];
}
export interface Token {
start: Position;
end: Position;
stream: BufferStream;
toString(): string;
}
export interface CssToken extends Token {
size: number;
item(number: number): any;
type: string;
}
export interface HtmlToken extends Token {
value: string;
}
export interface Attribute extends Token {
name: Token;
value: Token;
}
export interface HtmlNode extends Node {
name: string;
open: Token;
close: Token;
parent: HtmlNode;
firstChild: HtmlNode;
nextSibling: HtmlNode;
previousSibling: HtmlNode;
children: HtmlNode[];
attributes: Attribute[];
}
export interface CssNode extends Node {
name: string;
parent: CssNode;
firstChild: CssNode;
nextSibling: CssNode;
previousSibling: CssNode;
children: CssNode[];
}
export interface Rule extends CssNode {
selectorToken: Token;
contentStartToken: Token;
contentEndToken: Token;
}
export interface Property extends CssNode {
valueToken: Token;
separator: string;
parent: Rule;
terminatorToken: Token;
separatorToken: Token;
value: string;
}
export interface Stylesheet extends Node {
comments: Token[];
}
export interface BufferStream {
peek(): number;
next(): number;
backUp(n: number): number;
current(): string;
substring(from: Position, to: Position): string;
eat(match: any): boolean;
eatWhile(match: any): boolean;
}
}

View File

@@ -0,0 +1,14 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
declare module '@emmetio/css-parser' {
import { BufferStream, Stylesheet } from 'EmmetNode';
import { Stylesheet as FlatStylesheet } from 'EmmetFlatNode';
function parseStylesheet(stream: BufferStream): Stylesheet;
function parseStylesheet(stream: string): FlatStylesheet;
export default parseStylesheet;
}

View File

@@ -0,0 +1,14 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
declare module '@emmetio/html-matcher' {
import { BufferStream, HtmlNode } from 'EmmetNode';
import { HtmlNode as HtmlFlatNode } from 'EmmetFlatNode';
function parse(stream: BufferStream): HtmlNode;
function parse(stream: string): HtmlFlatNode;
export default parse;
}

View File

@@ -0,0 +1,6 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
/// <reference types='@types/node'/>