Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/extensions/emmet/src/typings/EmmetFlatNode.d.ts
4774 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
6
declare module 'EmmetFlatNode' {
7
export interface Node {
8
start: number
9
end: number
10
type: string
11
parent: Node | undefined
12
firstChild: Node | undefined
13
nextSibling: Node | undefined
14
previousSibling: Node | undefined
15
children: Node[]
16
}
17
18
export interface Token {
19
start: number
20
end: number
21
stream: BufferStream
22
toString(): string
23
}
24
25
export interface CssToken extends Token {
26
size: number
27
item(number: number): any
28
type: string
29
}
30
31
export interface HtmlToken extends Token {
32
value: string
33
}
34
35
export interface Attribute extends Token {
36
name: Token
37
value: Token
38
}
39
40
export interface HtmlNode extends Node {
41
name: string
42
open: Token | undefined
43
close: Token | undefined
44
parent: HtmlNode | undefined
45
firstChild: HtmlNode | undefined
46
nextSibling: HtmlNode | undefined
47
previousSibling: HtmlNode | undefined
48
children: HtmlNode[]
49
attributes: Attribute[]
50
}
51
52
export interface CssNode extends Node {
53
name: string
54
parent: CssNode | undefined
55
firstChild: CssNode | undefined
56
nextSibling: CssNode | undefined
57
previousSibling: CssNode | undefined
58
children: CssNode[]
59
}
60
61
export interface Rule extends CssNode {
62
selectorToken: Token
63
contentStartToken: Token
64
contentEndToken: Token
65
}
66
67
export interface Property extends CssNode {
68
valueToken: Token
69
separator: string
70
parent: Rule
71
terminatorToken: Token
72
separatorToken: Token
73
value: string
74
}
75
76
export interface Stylesheet extends Node {
77
comments: Token[]
78
}
79
80
export interface BufferStream {
81
peek(): number
82
next(): number
83
backUp(n: number): number
84
current(): string
85
substring(from: number, to: number): string
86
eat(match: any): boolean
87
eatWhile(match: any): boolean
88
}
89
}
90
91