@opentui/core 0.1.31 → 0.1.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/3d.js +1 -1
- package/assets/markdown/highlights.scm +150 -0
- package/assets/markdown/injections.scm +27 -0
- package/assets/markdown/tree-sitter-markdown.wasm +0 -0
- package/assets/markdown_inline/highlights.scm +115 -0
- package/assets/markdown_inline/tree-sitter-markdown_inline.wasm +0 -0
- package/edit-buffer.d.ts +2 -0
- package/editor-view.d.ts +2 -0
- package/{index-91qheh74.js → index-xqg0a6ka.js} +722 -147
- package/{index-91qheh74.js.map → index-xqg0a6ka.js.map} +16 -15
- package/index.js +204 -24
- package/index.js.map +14 -14
- package/lib/KeyHandler.d.ts +4 -1
- package/lib/index.d.ts +1 -0
- package/lib/parse.keypress.d.ts +1 -0
- package/lib/stdin-buffer.d.ts +42 -0
- package/lib/tree-sitter/client.d.ts +1 -0
- package/lib/tree-sitter/parsers-config.d.ts +38 -0
- package/lib/tree-sitter/types.d.ts +18 -1
- package/lib/tree-sitter-styled-text.d.ts +9 -2
- package/package.json +9 -9
- package/parser.worker.js +250 -27
- package/parser.worker.js.map +3 -3
- package/renderables/Box.d.ts +1 -0
- package/renderables/Code.d.ts +14 -0
- package/renderables/EditBufferRenderable.d.ts +12 -0
- package/renderables/TextBufferRenderable.d.ts +10 -0
- package/renderables/Textarea.d.ts +2 -1
- package/syntax-style.d.ts +2 -0
- package/testing/mock-keys.d.ts +2 -1
- package/testing.js +8 -6
- package/testing.js.map +3 -3
- package/text-buffer-view.d.ts +2 -0
- package/text-buffer.d.ts +4 -0
- package/zig.d.ts +11 -0
package/3d.js
CHANGED
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
; Query from: https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/markdown/highlights.scm
|
|
2
|
+
;From MDeiml/tree-sitter-markdown & Helix
|
|
3
|
+
(setext_heading
|
|
4
|
+
(paragraph) @markup.heading.1
|
|
5
|
+
(setext_h1_underline) @markup.heading.1)
|
|
6
|
+
|
|
7
|
+
(setext_heading
|
|
8
|
+
(paragraph) @markup.heading.2
|
|
9
|
+
(setext_h2_underline) @markup.heading.2)
|
|
10
|
+
|
|
11
|
+
; Capture the entire heading node first based on the marker it contains
|
|
12
|
+
((atx_heading (atx_h1_marker)) @markup.heading.1
|
|
13
|
+
(#set! priority 90))
|
|
14
|
+
|
|
15
|
+
((atx_heading (atx_h2_marker)) @markup.heading.2
|
|
16
|
+
(#set! priority 90))
|
|
17
|
+
|
|
18
|
+
((atx_heading (atx_h3_marker)) @markup.heading.3
|
|
19
|
+
(#set! priority 90))
|
|
20
|
+
|
|
21
|
+
((atx_heading (atx_h4_marker)) @markup.heading.4
|
|
22
|
+
(#set! priority 90))
|
|
23
|
+
|
|
24
|
+
((atx_heading (atx_h5_marker)) @markup.heading.5
|
|
25
|
+
(#set! priority 90))
|
|
26
|
+
|
|
27
|
+
((atx_heading (atx_h6_marker)) @markup.heading.6
|
|
28
|
+
(#set! priority 90))
|
|
29
|
+
|
|
30
|
+
; Then capture and conceal just the markers (they don't need special styling)
|
|
31
|
+
(atx_heading
|
|
32
|
+
(atx_h1_marker) @conceal
|
|
33
|
+
(#set! conceal ""))
|
|
34
|
+
|
|
35
|
+
(atx_heading
|
|
36
|
+
(atx_h2_marker) @conceal
|
|
37
|
+
(#set! conceal ""))
|
|
38
|
+
|
|
39
|
+
(atx_heading
|
|
40
|
+
(atx_h3_marker) @conceal
|
|
41
|
+
(#set! conceal ""))
|
|
42
|
+
|
|
43
|
+
(atx_heading
|
|
44
|
+
(atx_h4_marker) @conceal
|
|
45
|
+
(#set! conceal ""))
|
|
46
|
+
|
|
47
|
+
(atx_heading
|
|
48
|
+
(atx_h5_marker) @conceal
|
|
49
|
+
(#set! conceal ""))
|
|
50
|
+
|
|
51
|
+
(atx_heading
|
|
52
|
+
(atx_h6_marker) @conceal
|
|
53
|
+
(#set! conceal ""))
|
|
54
|
+
|
|
55
|
+
(info_string) @label
|
|
56
|
+
|
|
57
|
+
(pipe_table_header
|
|
58
|
+
(pipe_table_cell) @markup.heading)
|
|
59
|
+
|
|
60
|
+
(pipe_table_header
|
|
61
|
+
"|" @punctuation.special)
|
|
62
|
+
|
|
63
|
+
(pipe_table_row
|
|
64
|
+
"|" @punctuation.special)
|
|
65
|
+
|
|
66
|
+
(pipe_table_delimiter_row
|
|
67
|
+
"|" @punctuation.special)
|
|
68
|
+
|
|
69
|
+
(pipe_table_delimiter_cell) @punctuation.special
|
|
70
|
+
|
|
71
|
+
; Code blocks (conceal backticks and language annotation)
|
|
72
|
+
(indented_code_block) @markup.raw.block
|
|
73
|
+
|
|
74
|
+
((fenced_code_block) @markup.raw.block
|
|
75
|
+
(#set! priority 90))
|
|
76
|
+
|
|
77
|
+
(fenced_code_block
|
|
78
|
+
(fenced_code_block_delimiter) @markup.raw.block
|
|
79
|
+
(#set! conceal "")
|
|
80
|
+
(#set! conceal_lines ""))
|
|
81
|
+
|
|
82
|
+
(fenced_code_block
|
|
83
|
+
(info_string
|
|
84
|
+
(language) @label
|
|
85
|
+
(#set! conceal "")
|
|
86
|
+
(#set! conceal_lines "")))
|
|
87
|
+
|
|
88
|
+
(link_destination) @markup.link.url
|
|
89
|
+
|
|
90
|
+
[
|
|
91
|
+
(link_title)
|
|
92
|
+
(link_label)
|
|
93
|
+
] @markup.link.label
|
|
94
|
+
|
|
95
|
+
((link_label)
|
|
96
|
+
.
|
|
97
|
+
":" @punctuation.delimiter)
|
|
98
|
+
|
|
99
|
+
[
|
|
100
|
+
(list_marker_plus)
|
|
101
|
+
(list_marker_minus)
|
|
102
|
+
(list_marker_star)
|
|
103
|
+
(list_marker_dot)
|
|
104
|
+
(list_marker_parenthesis)
|
|
105
|
+
] @markup.list
|
|
106
|
+
|
|
107
|
+
; NOTE: The following has been commented out due to issues with spaces in the
|
|
108
|
+
; list marker nodes generated by the parser. If those spaces ever get captured
|
|
109
|
+
; by a different node (e.g. block_continuation) we can safely re-add these
|
|
110
|
+
; conceals.
|
|
111
|
+
; ;; Conceal bullet points
|
|
112
|
+
; ([(list_marker_plus) (list_marker_star)]
|
|
113
|
+
; @punctuation.special
|
|
114
|
+
; (#offset! @punctuation.special 0 0 0 -1)
|
|
115
|
+
; (#set! conceal "•"))
|
|
116
|
+
; ([(list_marker_plus) (list_marker_star)]
|
|
117
|
+
; @punctuation.special
|
|
118
|
+
; (#any-of? @punctuation.special "+" "*")
|
|
119
|
+
; (#set! conceal "•"))
|
|
120
|
+
; ((list_marker_minus)
|
|
121
|
+
; @punctuation.special
|
|
122
|
+
; (#offset! @punctuation.special 0 0 0 -1)
|
|
123
|
+
; (#set! conceal "—"))
|
|
124
|
+
; ((list_marker_minus)
|
|
125
|
+
; @punctuation.special
|
|
126
|
+
; (#eq? @punctuation.special "-")
|
|
127
|
+
; (#set! conceal "—"))
|
|
128
|
+
(thematic_break) @punctuation.special
|
|
129
|
+
|
|
130
|
+
(task_list_marker_unchecked) @markup.list.unchecked
|
|
131
|
+
|
|
132
|
+
(task_list_marker_checked) @markup.list.checked
|
|
133
|
+
|
|
134
|
+
((block_quote) @markup.quote
|
|
135
|
+
(#set! priority 90))
|
|
136
|
+
|
|
137
|
+
([
|
|
138
|
+
(plus_metadata)
|
|
139
|
+
(minus_metadata)
|
|
140
|
+
] @keyword.directive
|
|
141
|
+
(#set! priority 90))
|
|
142
|
+
|
|
143
|
+
[
|
|
144
|
+
(block_continuation)
|
|
145
|
+
(block_quote_marker)
|
|
146
|
+
] @punctuation.special
|
|
147
|
+
|
|
148
|
+
(backslash_escape) @string.escape
|
|
149
|
+
|
|
150
|
+
(inline) @spell
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
; Query from: https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/markdown/injections.scm
|
|
2
|
+
(fenced_code_block
|
|
3
|
+
(info_string
|
|
4
|
+
(language) @_lang)
|
|
5
|
+
(code_fence_content) @injection.content
|
|
6
|
+
(#set-lang-from-info-string! @_lang))
|
|
7
|
+
|
|
8
|
+
((html_block) @injection.content
|
|
9
|
+
(#set! injection.language "html")
|
|
10
|
+
(#set! injection.combined)
|
|
11
|
+
(#set! injection.include-children))
|
|
12
|
+
|
|
13
|
+
((minus_metadata) @injection.content
|
|
14
|
+
(#set! injection.language "yaml")
|
|
15
|
+
(#offset! @injection.content 1 0 -1 0)
|
|
16
|
+
(#set! injection.include-children))
|
|
17
|
+
|
|
18
|
+
((plus_metadata) @injection.content
|
|
19
|
+
(#set! injection.language "toml")
|
|
20
|
+
(#offset! @injection.content 1 0 -1 0)
|
|
21
|
+
(#set! injection.include-children))
|
|
22
|
+
|
|
23
|
+
([
|
|
24
|
+
(inline)
|
|
25
|
+
(pipe_table_cell)
|
|
26
|
+
] @injection.content
|
|
27
|
+
(#set! injection.language "markdown_inline"))
|
|
Binary file
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
; Query from: https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/99ddf573531c4dbe53f743ecbc1595af5eb1d32f/queries/markdown_inline/highlights.scm
|
|
2
|
+
; From MDeiml/tree-sitter-markdown
|
|
3
|
+
(code_span) @markup.raw @nospell
|
|
4
|
+
|
|
5
|
+
(emphasis) @markup.italic
|
|
6
|
+
|
|
7
|
+
(strong_emphasis) @markup.strong
|
|
8
|
+
|
|
9
|
+
(strikethrough) @markup.strikethrough
|
|
10
|
+
|
|
11
|
+
(shortcut_link
|
|
12
|
+
(link_text) @nospell)
|
|
13
|
+
|
|
14
|
+
[
|
|
15
|
+
(backslash_escape)
|
|
16
|
+
(hard_line_break)
|
|
17
|
+
] @string.escape
|
|
18
|
+
|
|
19
|
+
; Conceal codeblock and text style markers
|
|
20
|
+
([
|
|
21
|
+
(code_span_delimiter)
|
|
22
|
+
(emphasis_delimiter)
|
|
23
|
+
] @conceal
|
|
24
|
+
(#set! conceal ""))
|
|
25
|
+
|
|
26
|
+
; Inline links - style all parts
|
|
27
|
+
(inline_link
|
|
28
|
+
["[" "(" ")"] @markup.link)
|
|
29
|
+
|
|
30
|
+
(inline_link
|
|
31
|
+
"]" @markup.link.bracket.close)
|
|
32
|
+
|
|
33
|
+
; Conceal opening bracket
|
|
34
|
+
((inline_link
|
|
35
|
+
"[" @conceal)
|
|
36
|
+
(#set! conceal ""))
|
|
37
|
+
|
|
38
|
+
; Conceal closing bracket with space replacement
|
|
39
|
+
((inline_link
|
|
40
|
+
"]" @conceal)
|
|
41
|
+
(#set! conceal " "))
|
|
42
|
+
|
|
43
|
+
; Conceal image links
|
|
44
|
+
(image
|
|
45
|
+
[
|
|
46
|
+
"!"
|
|
47
|
+
"["
|
|
48
|
+
"]"
|
|
49
|
+
"("
|
|
50
|
+
(link_destination)
|
|
51
|
+
")"
|
|
52
|
+
] @markup.link
|
|
53
|
+
(#set! conceal ""))
|
|
54
|
+
|
|
55
|
+
; Conceal full reference links
|
|
56
|
+
(full_reference_link
|
|
57
|
+
[
|
|
58
|
+
"["
|
|
59
|
+
"]"
|
|
60
|
+
(link_label)
|
|
61
|
+
] @markup.link
|
|
62
|
+
(#set! conceal ""))
|
|
63
|
+
|
|
64
|
+
; Conceal collapsed reference links
|
|
65
|
+
(collapsed_reference_link
|
|
66
|
+
[
|
|
67
|
+
"["
|
|
68
|
+
"]"
|
|
69
|
+
] @markup.link
|
|
70
|
+
(#set! conceal ""))
|
|
71
|
+
|
|
72
|
+
; Conceal shortcut links
|
|
73
|
+
(shortcut_link
|
|
74
|
+
[
|
|
75
|
+
"["
|
|
76
|
+
"]"
|
|
77
|
+
] @markup.link
|
|
78
|
+
(#set! conceal ""))
|
|
79
|
+
|
|
80
|
+
[
|
|
81
|
+
(link_destination)
|
|
82
|
+
(uri_autolink)
|
|
83
|
+
] @markup.link.url @nospell
|
|
84
|
+
|
|
85
|
+
[
|
|
86
|
+
(link_label)
|
|
87
|
+
(link_text)
|
|
88
|
+
(link_title)
|
|
89
|
+
(image_description)
|
|
90
|
+
] @markup.link.label
|
|
91
|
+
|
|
92
|
+
; Replace common HTML entities.
|
|
93
|
+
((entity_reference) @character.special
|
|
94
|
+
(#eq? @character.special " ")
|
|
95
|
+
(#set! conceal ""))
|
|
96
|
+
|
|
97
|
+
((entity_reference) @character.special
|
|
98
|
+
(#eq? @character.special "<")
|
|
99
|
+
(#set! conceal "<"))
|
|
100
|
+
|
|
101
|
+
((entity_reference) @character.special
|
|
102
|
+
(#eq? @character.special ">")
|
|
103
|
+
(#set! conceal ">"))
|
|
104
|
+
|
|
105
|
+
((entity_reference) @character.special
|
|
106
|
+
(#eq? @character.special "&")
|
|
107
|
+
(#set! conceal "&"))
|
|
108
|
+
|
|
109
|
+
((entity_reference) @character.special
|
|
110
|
+
(#eq? @character.special """)
|
|
111
|
+
(#set! conceal "\""))
|
|
112
|
+
|
|
113
|
+
((entity_reference) @character.special
|
|
114
|
+
(#any-of? @character.special " " " ")
|
|
115
|
+
(#set! conceal " "))
|
|
Binary file
|
package/edit-buffer.d.ts
CHANGED
|
@@ -58,6 +58,8 @@ export declare class EditBuffer extends EventEmitter {
|
|
|
58
58
|
} | null;
|
|
59
59
|
positionToOffset(row: number, col: number): number;
|
|
60
60
|
getLineStartOffset(row: number): number;
|
|
61
|
+
getTextRange(startOffset: number, endOffset: number): string;
|
|
62
|
+
getTextRangeByCoords(startRow: number, startCol: number, endRow: number, endCol: number): string;
|
|
61
63
|
debugLogRope(): void;
|
|
62
64
|
undo(): string | null;
|
|
63
65
|
redo(): string | null;
|