dsh-code 1.0.7 → 1.2.0
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.en.md +70 -24
- package/README.md +71 -25
- package/bin/deepseek.mjs +202 -39
- package/cordis.patch.yml +13 -4
- package/lib/index.mjs +4063 -844
- package/lib/session-query.mjs +3 -2
- package/lib/startup.mjs +4 -4
- package/lib/{theme-DCT8Y2xf.mjs → theme-7u5Qo3dF.mjs} +657 -20
- package/lib/types/app.d.ts +100 -63
- package/lib/types/authorization-panel.d.ts +3 -3
- package/lib/types/git-workflow.d.ts +91 -2
- package/lib/types/i18n.d.ts +39 -0
- package/lib/types/index.d.ts +73 -1
- package/lib/types/input-split.d.ts +1 -1
- package/lib/types/kernel-panels.d.ts +86 -31
- package/lib/types/language-panel.d.ts +12 -0
- package/lib/types/locales/en.d.ts +450 -0
- package/lib/types/locales/zh.d.ts +9 -0
- package/lib/types/mentions.d.ts +7 -3
- package/lib/types/models.d.ts +14 -0
- package/lib/types/panel-accent.d.ts +28 -0
- package/lib/types/rainbow.d.ts +69 -0
- package/lib/types/render/animations.d.ts +42 -0
- package/lib/types/render/inspector.d.ts +26 -0
- package/lib/types/render/lines.d.ts +21 -1
- package/lib/types/render/markdown.d.ts +1 -1
- package/lib/types/render/projection.d.ts +95 -4
- package/lib/types/render/status.d.ts +8 -8
- package/lib/types/render/text.d.ts +6 -0
- package/lib/types/render/usage.d.ts +113 -0
- package/lib/types/session-directory.d.ts +17 -0
- package/lib/types/startup.d.ts +1 -1
- package/lib/types/terminal-title.d.ts +8 -0
- package/lib/types/theme-panel.d.ts +2 -2
- package/lib/types/theme.d.ts +271 -52
- package/lib/types/update-panel.d.ts +5 -5
- package/lib/types/update.d.ts +10 -1
- package/lib/types/version.d.ts +4 -3
- package/package.json +24 -7
- package/src/app.ts +1155 -478
- package/src/approval.ts +166 -166
- package/src/authorization-panel.ts +19 -16
- package/src/editor-keys.ts +371 -371
- package/src/git-workflow.ts +229 -3
- package/src/i18n.ts +68 -0
- package/src/index.ts +412 -76
- package/src/input-split.ts +3 -3
- package/src/kernel-panels.ts +471 -89
- package/src/keyboard.ts +5 -4
- package/src/language-panel.ts +53 -0
- package/src/locales/en.ts +489 -0
- package/src/locales/zh.ts +488 -0
- package/src/mentions.ts +8 -4
- package/src/models.ts +264 -212
- package/src/panel-accent.ts +41 -0
- package/src/presets.ts +1 -1
- package/src/provider-settings.ts +1 -1
- package/src/rainbow.ts +208 -0
- package/src/render/animations.ts +104 -6
- package/src/render/editor.ts +20 -20
- package/src/render/export.ts +116 -95
- package/src/render/inspector.ts +42 -0
- package/src/render/lines.ts +628 -415
- package/src/render/markdown.ts +15 -3
- package/src/render/projection.ts +429 -19
- package/src/render/status.ts +41 -35
- package/src/render/text.ts +14 -0
- package/src/render/tool-preview.ts +77 -77
- package/src/render/usage.ts +430 -0
- package/src/render/width.ts +2 -2
- package/src/session-directory.ts +8 -6
- package/src/session-query.ts +8 -4
- package/src/startup.ts +3 -3
- package/src/subagents.ts +229 -229
- package/src/terminal-title.ts +22 -5
- package/src/theme-panel.ts +17 -21
- package/src/theme.ts +281 -33
- package/src/update-panel.ts +37 -27
- package/src/update.ts +19 -3
- package/src/version.ts +58 -20
- package/src/whale-glyph.ts +23 -23
package/src/render/markdown.ts
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
import { graphemeWidth, splitGraphemes, stringWidth } from './width.ts'
|
|
13
13
|
|
|
14
14
|
/** Style classes the renderer emits; the app maps them to colors/props. */
|
|
15
|
-
export type MdStyle = 'plain' | 'bold' | 'italic' | 'boldItalic' | 'code' | 'accent' | 'accentBold' | 'dim' | 'strike'
|
|
15
|
+
export type MdStyle = 'plain' | 'bold' | 'italic' | 'boldItalic' | 'code' | 'accent' | 'accentBold' | 'dim' | 'strike' | 'diffAdd' | 'diffDel'
|
|
16
16
|
|
|
17
17
|
/** One styled run of text. */
|
|
18
18
|
export interface MdSegment {
|
|
@@ -319,7 +319,7 @@ function segmentsWidth(segments: readonly MdSegment[]): number {
|
|
|
319
319
|
function trimLeadingSpaces(segments: readonly MdSegment[]): readonly MdSegment[] {
|
|
320
320
|
const trimmed = segments.map(segment => ({ ...segment }))
|
|
321
321
|
while (trimmed[0]?.text.startsWith(' ') === true) {
|
|
322
|
-
const first = trimmed[0]
|
|
322
|
+
const first = trimmed[0]
|
|
323
323
|
const text = first.text.replace(/^ +/u, '')
|
|
324
324
|
if (text === '') trimmed.shift()
|
|
325
325
|
else trimmed[0] = { ...first, text }
|
|
@@ -563,12 +563,24 @@ export function renderMarkdown(
|
|
|
563
563
|
}
|
|
564
564
|
|
|
565
565
|
// Fenced code block: verbatim lines in code style, language label first.
|
|
566
|
+
// A ```diff fence keeps the same classification the /diff panel uses
|
|
567
|
+
// (shared rule: lines.ts diffLineStyle) so pasted review diffs render
|
|
568
|
+
// with the added/removed tints everywhere markdown does.
|
|
566
569
|
const fence = FENCE.exec(line)
|
|
567
570
|
if (fence !== null) {
|
|
568
571
|
const language = fence[1] ?? ''
|
|
572
|
+
const diffFence = language === 'diff' || language === 'patch'
|
|
569
573
|
if (language !== '') push([seg(` ${language}`, 'dim')])
|
|
570
574
|
while (index < source.length && !FENCE.test(source[index] ?? '')) {
|
|
571
|
-
|
|
575
|
+
const source_ = source[index] ?? ''
|
|
576
|
+
const style: MdStyle = !diffFence
|
|
577
|
+
? 'code'
|
|
578
|
+
: source_.startsWith('+') && !source_.startsWith('+++')
|
|
579
|
+
? 'diffAdd'
|
|
580
|
+
: source_.startsWith('-') && !source_.startsWith('---')
|
|
581
|
+
? 'diffDel'
|
|
582
|
+
: 'code'
|
|
583
|
+
push([seg(` ${source_}`, style)])
|
|
572
584
|
index += 1
|
|
573
585
|
}
|
|
574
586
|
index += 1 // closing fence
|