@civilization/dsh-workspace-files 0.3.2 → 0.3.4
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/README.md +8 -0
- package/icon.svg +4 -0
- package/lib/client.js +612 -541
- package/lib/client.js.map +1 -1
- package/lib/index.js +15 -1
- package/locale/en.json +6 -0
- package/locale/zh.json +6 -0
- package/package.json +8 -4
- package/src/client/icons.tsx +39 -0
- package/src/client/index.tsx +549 -554
- package/src/files.ts +14 -0
package/package.json
CHANGED
|
@@ -1,20 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@civilization/dsh-workspace-files",
|
|
3
|
-
"version": "0.3.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.3.4",
|
|
4
|
+
"description": "全量工作区文件树浏览、模糊即时检索与 @-mention 会话一键引用。",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"exports": {
|
|
8
8
|
".": "./lib/index.js",
|
|
9
9
|
"./client": "./lib/client.js",
|
|
10
10
|
"./src/*": "./src/*",
|
|
11
|
-
"./package.json": "./package.json"
|
|
11
|
+
"./package.json": "./package.json",
|
|
12
|
+
"./locale/*.json": "./locale/*.json",
|
|
13
|
+
"./icon": "./icon.svg"
|
|
12
14
|
},
|
|
13
15
|
"files": [
|
|
14
16
|
"lib",
|
|
15
17
|
"src",
|
|
16
18
|
"cordis.patch.yml",
|
|
17
|
-
"README.md"
|
|
19
|
+
"README.md",
|
|
20
|
+
"locale/*.json",
|
|
21
|
+
"icon.svg"
|
|
18
22
|
],
|
|
19
23
|
"engines": {
|
|
20
24
|
"node": ">=20"
|
package/src/client/icons.tsx
CHANGED
|
@@ -120,6 +120,30 @@ export function FileGlyphIcon({ filename, size = 14 }: { filename: string; size?
|
|
|
120
120
|
} else if (ext === 'yml' || ext === 'yaml') {
|
|
121
121
|
color = '#cb171e'
|
|
122
122
|
badge = 'Y'
|
|
123
|
+
} else if (ext === 'rs') {
|
|
124
|
+
color = '#dea584'
|
|
125
|
+
badge = 'RS'
|
|
126
|
+
} else if (ext === 'go') {
|
|
127
|
+
color = '#00add8'
|
|
128
|
+
badge = 'GO'
|
|
129
|
+
} else if (ext === 'vue') {
|
|
130
|
+
color = '#41b883'
|
|
131
|
+
badge = 'V'
|
|
132
|
+
} else if (ext === 'svelte') {
|
|
133
|
+
color = '#ff3e00'
|
|
134
|
+
badge = 'S'
|
|
135
|
+
} else if (ext === 'toml') {
|
|
136
|
+
color = '#9c4121'
|
|
137
|
+
badge = 'T'
|
|
138
|
+
} else if (ext === 'sql') {
|
|
139
|
+
color = '#e38c00'
|
|
140
|
+
badge = 'SQL'
|
|
141
|
+
} else if (ext === 'sh' || ext === 'bash' || ext === 'zsh' || ext === 'ps1' || ext === 'bat' || ext === 'cmd') {
|
|
142
|
+
color = '#4eaa25'
|
|
143
|
+
badge = '>_'
|
|
144
|
+
} else if (ext === 'lock') {
|
|
145
|
+
color = 'var(--dsw-alias-label-tertiary, #8c9ba5)'
|
|
146
|
+
badge = '🔒'
|
|
123
147
|
}
|
|
124
148
|
|
|
125
149
|
return (
|
|
@@ -159,6 +183,21 @@ export function IconTree({ size = 13 }: { size?: number }): JSX.Element {
|
|
|
159
183
|
)
|
|
160
184
|
}
|
|
161
185
|
|
|
186
|
+
export function IconChevronRight({ size = 11, className, style }: { size?: number; className?: string; style?: React.CSSProperties }): JSX.Element {
|
|
187
|
+
return (
|
|
188
|
+
<svg
|
|
189
|
+
width={size}
|
|
190
|
+
height={size}
|
|
191
|
+
viewBox="0 0 16 16"
|
|
192
|
+
fill="currentColor"
|
|
193
|
+
className={className}
|
|
194
|
+
style={{ display: 'inline-block', verticalAlign: 'middle', flexShrink: 0, ...style }}
|
|
195
|
+
>
|
|
196
|
+
<path fillRule="evenodd" d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06z" />
|
|
197
|
+
</svg>
|
|
198
|
+
)
|
|
199
|
+
}
|
|
200
|
+
|
|
162
201
|
export function IconChevronDown({ size = 14 }: { size?: number }): JSX.Element {
|
|
163
202
|
return (
|
|
164
203
|
<svg width={size} height={size} viewBox="0 0 16 16" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" style={{ display: 'inline-block', verticalAlign: 'middle', flexShrink: 0 }}>
|