dsh-gitbash-shell 0.18.2 → 0.19.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/dsh.plugin.json +1 -1
- package/package.json +1 -1
- package/src/client.js +333 -21
- package/src/index.js +58 -16
package/dsh.plugin.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "dsh-external/dsh-gitbash-shell",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.19.0",
|
|
4
4
|
"main": "./src/index.js",
|
|
5
5
|
"description": "Windows 全模式 Git Bash:用 Git for Windows bash 替换 PowerShell 执行器,并物化 standard/minimal/code/cordis 的 Git Bash 变体 preset。双 era 适配 dsh <= 0.1.1(内置 id 'code')与 >= 0.1.2(改名 'ptc'),启动探测自动选择,preset id 永不变。联动:dsh-ptc-cordis-preset(两者同装时 PTC 创造模式自动物化为 Git Bash 版)+ dsh-better-sidebar(终端 UI 标签与模型 terminal_* 工具自动切到 Git Bash)。",
|
|
6
6
|
"engines": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-gitbash-shell",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.19.0",
|
|
4
4
|
"description": "Windows 上让 agent 的每条 shell 命令改经 Git for Windows bash 执行;物化四个内置预设的 Git Bash 变体,统一 MSYS 盘根路径方言,侧栏终端接管可开关。· Run every agent shell command through Git for Windows bash on Windows; materialize Git Bash variants of the built-in presets, unify the MSYS drive-root path dialect, and adopt the sidebar terminal behind a switch.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
package/src/client.js
CHANGED
|
@@ -63,6 +63,18 @@ window.__ModuleLoader__.load({
|
|
|
63
63
|
"switch.off": "停用",
|
|
64
64
|
"error": "写入失败",
|
|
65
65
|
"hint": "启用后:所有工具(bash 命令与 workdir、read/write/edit/read_image/glob/grep 与 present 的路径参数)统一使用 MSYS 盘根 POSIX 路径(/c/Users/...);bash 的原生习惯——~ 家目录、/tmp 临时目录、/dev/null、/usr 等——在所有工具中同样有效(与 Git Bash 挂载表一致),路径参数由宿主自动翻译,模型无感。停用后恢复 dsh 原生行为(文件工具用 Windows 路径)。bash 始终是 Git Bash,不受此开关影响。",
|
|
66
|
+
"sec.dialect": "路径方言",
|
|
67
|
+
"sec.terminal": "侧栏终端",
|
|
68
|
+
"mnts.label": "虚拟路径挂载",
|
|
69
|
+
"mnts.hint": "bash 的原生路径习惯——~ 家目录、/tmp、/usr 等——按 Git Bash 挂载表在所有工具解析;关闭则仅 /c/ 盘根形式。",
|
|
70
|
+
"errs.label": "报错路径翻译",
|
|
71
|
+
"errs.hint": "文件工具报错里的 Windows 路径翻回 /c/ 形式并附设备路径引导;关闭则保留原文(便于排障复制)。",
|
|
72
|
+
"split.label": "glob 绝对路径拆分",
|
|
73
|
+
"split.hint": "glob 的绝对 pattern(/c/.../*.md)自动拆为 path + 相对 pattern;关闭则原样传递。",
|
|
74
|
+
"bash.label": "Git Bash 路径",
|
|
75
|
+
"bash.hint": "自定义 bash.exe 完整路径,用于 /usr 等挂载的 Git 根解析;留空自动探测默认安装与 PATH。",
|
|
76
|
+
"bash.save": "保存",
|
|
77
|
+
"bash.saved": "已保存",
|
|
66
78
|
"adopt.label": "接管侧栏终端",
|
|
67
79
|
"adopt.hint": "开启时把 dsh-better-sidebar 的终端 shell 写成 Git Bash(默认开启);关闭后恢复接管前的值,已手动改过的终端设置不会被碰。模型侧的 bash 工具不受此开关影响——那由插件本体提供。",
|
|
68
80
|
};
|
|
@@ -77,6 +89,18 @@ window.__ModuleLoader__.load({
|
|
|
77
89
|
"switch.off": "Disable",
|
|
78
90
|
"error": "write failed",
|
|
79
91
|
"hint": "Enabled: every tool (bash commands and workdir, read/write/edit/read_image/glob/grep and present path arguments) uses MSYS drive-root POSIX paths (/c/Users/...); bash-native habits — the ~ home shorthand, /tmp, /dev/null, /usr — resolve in every tool exactly as bash itself resolves them, and the host translates the path fields automatically. Disabled restores dsh-native behavior (Windows paths for file tools). Bash is always Git Bash while the plugin is installed; this switch only governs the cross-tool path dialect.",
|
|
92
|
+
"sec.dialect": "Path dialect",
|
|
93
|
+
"sec.terminal": "Sidebar terminal",
|
|
94
|
+
"mnts.label": "Virtual path mounts",
|
|
95
|
+
"mnts.hint": "Bash-native habits — ~ home, /tmp, /usr — resolve through the Git Bash mount table in every tool; off = /c/ drive roots only.",
|
|
96
|
+
"errs.label": "Error-path translation",
|
|
97
|
+
"errs.hint": "Windows paths in file-tool errors rewrite back to /c/ with NUL guidance; off keeps raw text (easier to copy while debugging).",
|
|
98
|
+
"split.label": "Glob absolute-pattern split",
|
|
99
|
+
"split.hint": "An absolute glob pattern (/c/.../*.md) splits into path + relative pattern; off passes it through verbatim.",
|
|
100
|
+
"bash.label": "Git Bash path",
|
|
101
|
+
"bash.hint": "Full path of a custom bash.exe for resolving /usr mounts; empty = auto-detect the default install and PATH.",
|
|
102
|
+
"bash.save": "Save",
|
|
103
|
+
"bash.saved": "Saved",
|
|
80
104
|
"adopt.label": "Adopt sidebar terminal",
|
|
81
105
|
"adopt.hint": "On (default) writes Git Bash into dsh-better-sidebar's terminal shell; turning it off restores the pre-adoption value and never touches a manually chosen one. The model-side bash tool is unaffected — the plugin itself provides that.",
|
|
82
106
|
};
|
|
@@ -101,6 +125,18 @@ window.__ModuleLoader__.load({
|
|
|
101
125
|
"switch.off": "تعطيل",
|
|
102
126
|
"error": "فشل الكتابة",
|
|
103
127
|
"hint": "عند التفعيل: تستخدم كل الأدوات (أوامر bash و workdir، ومعاملات المسار في read/write/edit/read_image/glob/grep و present) مسارات POSIX من جذر قرص MSYS (/c/Users/...)؛ وعادات bash الأصلية — ~ للمجلد الرئيسي و /tmp و /dev/null و /usr — تعمل في كل أداة تمامًا كما تحلّها bash نفسها، ويتولّى المضيف ترجمة حقول المسار تلقائيًا. عند التعطيل يعود السلوك الأصلي لـ dsh (مسارات Windows لأدوات الملفات). يبقى bash دائمًا Git Bash ما دامت الإضافة مثبَّتة؛ هذا المفتاح لا يحكم سوى لهجة المسارات بين الأدوات.",
|
|
128
|
+
"sec.dialect": "لهجة المسارات",
|
|
129
|
+
"sec.terminal": "طرفية الشريط الجانبي",
|
|
130
|
+
"mnts.label": "التركيبات الافتراضية للمسارات",
|
|
131
|
+
"mnts.hint": "عادات bash الأصلية — ~ و /tmp و /usr — تُحل عبر جدول تحميلات Git Bash في كل أداة؛ الإيقاف يعني جذور الأقراص /c/ فقط.",
|
|
132
|
+
"errs.label": "ترجمة مسارات الأخطاء",
|
|
133
|
+
"errs.hint": "مسارات Windows في أخطاء أدوات الملفات تُعاد بصيغة /c/ مع إرشاد NUL؛ الإيقاف يحتفظ بالنص الأصلي.",
|
|
134
|
+
"split.label": "تقسيم نمط glob المطلق",
|
|
135
|
+
"split.hint": "نمط glob المطلق يُقسم إلى path + نمط نسبي؛ الإيقاف يمرره كما هو.",
|
|
136
|
+
"bash.label": "مسار Git Bash",
|
|
137
|
+
"bash.hint": "المسار الكامل لنسخة bash.exe مخصصة؛ فارغ = اكتشاف تلقائي.",
|
|
138
|
+
"bash.save": "حفظ",
|
|
139
|
+
"bash.saved": "تم الحفظ",
|
|
104
140
|
"adopt.label": "تبنّي طرفية الشريط الجانبي",
|
|
105
141
|
"adopt.hint": "عند التفعيل (افتراضي) تُكتب Git Bash كـ shell لطرفية dsh-better-sidebar؛ وعند التعطيل تُستعاد القيمة السابقة ولا تُلمس القيمة المختارة يدويًا أبدًا. أداة bash الخاصة بالنموذج لا تتأثر — الإضافة نفسها توفرها.",
|
|
106
142
|
},
|
|
@@ -115,6 +151,18 @@ window.__ModuleLoader__.load({
|
|
|
115
151
|
"switch.off": "Deaktivieren",
|
|
116
152
|
"error": "Schreiben fehlgeschlagen",
|
|
117
153
|
"hint": "Aktiviert: Alle Tools (bash-Befehle und workdir sowie Pfadargumente von read/write/edit/read_image/glob/grep und present) verwenden POSIX-Pfade ab der MSYS-Laufwerkswurzel (/c/Users/...); bash-eigene Gewohnheiten — ~ für das Home-Verzeichnis, /tmp, /dev/null, /usr — funktionieren in jedem Tool genau so, wie bash sie selbst auflöst, und der Host übersetzt die Pfadfelder automatisch. Deaktiviert stellt das dsh-native Verhalten wieder her (Windows-Pfade für Dateitools). Bash ist bei installiertem Plugin immer Git Bash; dieser Schalter steuert nur den Pfaddialekt zwischen den Tools.",
|
|
154
|
+
"sec.dialect": "Pfaddialekt",
|
|
155
|
+
"sec.terminal": "Seitenleisten-Terminal",
|
|
156
|
+
"mnts.label": "Virtuelle Pfad-Mounts",
|
|
157
|
+
"mnts.hint": "Bash-eigene Gewohnheiten — ~ Home, /tmp, /usr — werden über die Git-Bash-Mount-Tabelle in jedem Tool aufgelöst; aus = nur /c/-Laufwerkswurzeln.",
|
|
158
|
+
"errs.label": "Fehlerpfad-Übersetzung",
|
|
159
|
+
"errs.hint": "Windows-Pfade in Dateitool-Fehlern werden zu /c/ zurückgeschrieben; aus erhält den Originaltext.",
|
|
160
|
+
"split.label": "Glob-Absolutmuster-Split",
|
|
161
|
+
"split.hint": "Ein absolutes Glob-Muster zerfällt in Pfad + relatives Muster; aus übergibt es unverändert.",
|
|
162
|
+
"bash.label": "Git-Bash-Pfad",
|
|
163
|
+
"bash.hint": "Vollständiger Pfad einer benutzerdefinierten bash.exe; leer = automatische Erkennung.",
|
|
164
|
+
"bash.save": "Speichern",
|
|
165
|
+
"bash.saved": "Gespeichert",
|
|
118
166
|
"adopt.label": "Sidebar-Terminal übernehmen",
|
|
119
167
|
"adopt.hint": "Ein (Standard) schreibt Git Bash als Shell des dsh-better-sidebar-Terminals; Aus stellt den vorherigen Wert wieder her und fasst nie eine manuell gewählte Einstellung an. Das bash-Werkzeug des Modells bleibt unberührt — das liefert das Plugin selbst.",
|
|
120
168
|
},
|
|
@@ -129,6 +177,18 @@ window.__ModuleLoader__.load({
|
|
|
129
177
|
"switch.off": "Désactiver",
|
|
130
178
|
"error": "échec de l'écriture",
|
|
131
179
|
"hint": "Activé : tous les outils (commandes bash et workdir, arguments de chemin de read/write/edit/read_image/glob/grep et de present) utilisent des chemins POSIX à racine de lecteur MSYS (/c/Users/...) ; les habitudes natives de bash — ~ pour le dossier personnel, /tmp, /dev/null, /usr — fonctionnent dans chaque outil exactement comme bash les résout lui-même, et l'hôte traduit les champs de chemin automatiquement. Désactivé rétablit le comportement natif de dsh (chemins Windows pour les outils de fichiers). Bash reste toujours Git Bash tant que le plugin est installé ; ce commutateur ne régit que le dialecte de chemins entre outils.",
|
|
180
|
+
"sec.dialect": "Dialecte de chemins",
|
|
181
|
+
"sec.terminal": "Terminal latéral",
|
|
182
|
+
"mnts.label": "Montages de chemins virtuels",
|
|
183
|
+
"mnts.hint": "Les habitudes natives de bash — ~ home, /tmp, /usr — se résolvent via la table de montages de Git Bash dans chaque outil ; désactivé = racines /c/ uniquement.",
|
|
184
|
+
"errs.label": "Traduction des chemins d'erreur",
|
|
185
|
+
"errs.hint": "Les chemins Windows dans les erreurs des outils fichiers sont réécrits en /c/ ; désactivé conserve le texte brut.",
|
|
186
|
+
"split.label": "Découpage des motifs glob absolus",
|
|
187
|
+
"split.hint": "Un motif glob absolu se scinde en chemin + motif relatif ; désactivé le passe tel quel.",
|
|
188
|
+
"bash.label": "Chemin Git Bash",
|
|
189
|
+
"bash.hint": "Chemin complet d'un bash.exe personnalisé ; vide = détection automatique.",
|
|
190
|
+
"bash.save": "Enregistrer",
|
|
191
|
+
"bash.saved": "Enregistré",
|
|
132
192
|
"adopt.label": "Adopter le terminal latéral",
|
|
133
193
|
"adopt.hint": "Activé (par défaut) : écrit Git Bash comme shell du terminal dsh-better-sidebar ; désactivé : restaure la valeur davant et ne touche jamais un choix manuel. Loutil bash du modèle nest pas concerné — le plugin le fournit lui-même.",
|
|
134
194
|
},
|
|
@@ -143,6 +203,18 @@ window.__ModuleLoader__.load({
|
|
|
143
203
|
"switch.off": "अक्षम करें",
|
|
144
204
|
"error": "लिखना विफल रहा",
|
|
145
205
|
"hint": "सक्षम होने पर: सभी टूल (bash कमांड और workdir, तथा read/write/edit/read_image/glob/grep और present के पथ तर्क) MSYS ड्राइव-रूट POSIX पथ (/c/Users/...) का उपयोग करते हैं; bash की मूल आदतें — होम के लिए ~, /tmp, /dev/null, /usr — हर टूल में ठीक वैसे काम करती हैं जैसे bash स्वयं उन्हें हल करता है, और होस्ट पथ फ़ील्ड स्वतः अनुवादित करता है। अक्षम करने पर dsh का मूल व्यवहार बहाल होता है (फ़ाइल टूल के लिए Windows पथ)। जब तक प्लगइन इंस्टॉल है bash हमेशा Git Bash रहता है; यह स्विच केवल टूल के बीच पथ शैली नियंत्रित करता है।",
|
|
206
|
+
"sec.dialect": "पथ बोली",
|
|
207
|
+
"sec.terminal": "साइडबार टर्मिनल",
|
|
208
|
+
"mnts.label": "वर्चुअल पथ माउंट",
|
|
209
|
+
"mnts.hint": "bash की मूल आदतें — ~ होम, /tmp, /usr — हर टूल में Git Bash माउंट तालिका से हल होती हैं; बंद = केवल /c/ ड्राइव-रूट।",
|
|
210
|
+
"errs.label": "त्रुटि-पथ अनुवाद",
|
|
211
|
+
"errs.hint": "फ़ाइल टूल की त्रुटियों में Windows पथ /c/ रूप में लिखे जाते हैं; बंद = मूल पाठ।",
|
|
212
|
+
"split.label": "glob एब्सोल्यूट-पैटर्न विभाजन",
|
|
213
|
+
"split.hint": "एब्सोल्यूट glob पैटर्न path + रिलेटिव पैटर्न में विभाजित होता है; बंद इसे वैसे ही पास करता है।",
|
|
214
|
+
"bash.label": "Git Bash पथ",
|
|
215
|
+
"bash.hint": "कस्टम bash.exe का पूर्ण पथ; खाली = ऑटो-डिटेक्ट।",
|
|
216
|
+
"bash.save": "सहेजें",
|
|
217
|
+
"bash.saved": "सहेजा गया",
|
|
146
218
|
"adopt.label": "साइडबार टर्मिनल अपनाएँ",
|
|
147
219
|
"adopt.hint": "चालू (डिफ़ॉल्ट) होने पर dsh-better-sidebar के टर्मिनल में Git Bash लिखा जाता है; बंद करने पर पहले वाली मान बहाल होती है और मैन्युअल चुनी गई सेटिंग कभी नहीं छुई जाती। मॉडल का bash टूल अप्रभावित रहता है — वह प्लगइन स्वयं देता है।",
|
|
148
220
|
},
|
|
@@ -157,6 +229,18 @@ window.__ModuleLoader__.load({
|
|
|
157
229
|
"switch.off": "Nonaktifkan",
|
|
158
230
|
"error": "gagal menulis",
|
|
159
231
|
"hint": "Saat aktif: semua alat (perintah bash dan workdir, serta argumen path read/write/edit/read_image/glob/grep dan present) memakai path POSIX berakar drive MSYS (/c/Users/...); kebiasaan asli bash — ~ untuk direktori home, /tmp, /dev/null, /usr — bekerja di setiap alat persis seperti bash sendiri menyelesaikannya, dan host menerjemahkan bidang path secara otomatis. Saat nonaktif, perilaku asli dsh dipulihkan (path Windows untuk alat berkas). Bash selalu Git Bash selama plugin terpasang; sakelar ini hanya mengatur dialek path antaralat.",
|
|
232
|
+
"sec.dialect": "Dialek path",
|
|
233
|
+
"sec.terminal": "Terminal sidebar",
|
|
234
|
+
"mnts.label": "Mount path virtual",
|
|
235
|
+
"mnts.hint": "Kebiasaan asli bash — ~ home, /tmp, /usr — diselesaikan lewat tabel mount Git Bash di setiap alat; nonaktif = hanya akar drive /c/.",
|
|
236
|
+
"errs.label": "Terjemahan path error",
|
|
237
|
+
"errs.hint": "Path Windows di error alat berkas ditulis balik ke /c/; nonaktif mempertahankan teks asli.",
|
|
238
|
+
"split.label": "Pemisahan pattern glob absolut",
|
|
239
|
+
"split.hint": "Pattern glob absolut dipecah menjadi path + pattern relatif; nonaktif meneruskannya apa adanya.",
|
|
240
|
+
"bash.label": "Path Git Bash",
|
|
241
|
+
"bash.hint": "Path lengkap bash.exe kustom; kosong = deteksi otomatis.",
|
|
242
|
+
"bash.save": "Simpan",
|
|
243
|
+
"bash.saved": "Tersimpan",
|
|
160
244
|
"adopt.label": "Adopsi terminal sidebar",
|
|
161
245
|
"adopt.hint": "Nyala (bawaan) menulis Git Bash sebagai shell terminal dsh-better-sidebar; dimatikan memulihkan nilai sebelumnya dan tidak pernah menyentuh pilihan manual. Alat bash sisi model tak terpengaruh — plugin sendiri yang menyediakannya.",
|
|
162
246
|
},
|
|
@@ -171,6 +255,18 @@ window.__ModuleLoader__.load({
|
|
|
171
255
|
"switch.off": "Disattiva",
|
|
172
256
|
"error": "scrittura non riuscita",
|
|
173
257
|
"hint": "Attivato: tutti gli strumenti (comandi bash e workdir, argomenti di percorso di read/write/edit/read_image/glob/grep e di present) usano percorsi POSIX con radice di unità MSYS (/c/Users/...); le abitudini native di bash — ~ per la home, /tmp, /dev/null, /usr — funzionano in ogni strumento esattamente come le risolve bash stesso, e l'host traduce automaticamente i campi di percorso. Disattivato ripristina il comportamento nativo di dsh (percorsi Windows per gli strumenti per i file). Bash resta sempre Git Bash finché il plugin è installato; questo interruttore governa solo il dialetto dei percorsi tra gli strumenti.",
|
|
258
|
+
"sec.dialect": "Dialetto dei percorsi",
|
|
259
|
+
"sec.terminal": "Terminale laterale",
|
|
260
|
+
"mnts.label": "Mount di percorsi virtuali",
|
|
261
|
+
"mnts.hint": "Le abitudini native di bash — ~ home, /tmp, /usr — si risolvono tramite la tabella di mount di Git Bash in ogni strumento; off = solo radici /c/.",
|
|
262
|
+
"errs.label": "Traduzione dei percorsi d'errore",
|
|
263
|
+
"errs.hint": "I percorsi Windows negli errori degli strumenti file tornano in /c/; off mantiene il testo originale.",
|
|
264
|
+
"split.label": "Suddivisione pattern glob assoluti",
|
|
265
|
+
"split.hint": "Un pattern glob assoluto si divide in percorso + pattern relativo; off lo passa invariato.",
|
|
266
|
+
"bash.label": "Percorso Git Bash",
|
|
267
|
+
"bash.hint": "Percorso completo di un bash.exe personalizzato; vuoto = rilevamento automatico.",
|
|
268
|
+
"bash.save": "Salva",
|
|
269
|
+
"bash.saved": "Salvato",
|
|
174
270
|
"adopt.label": "Adotta il terminale laterale",
|
|
175
271
|
"adopt.hint": "Attivo (predefinito) imposta Git Bash come shell del terminale di dsh-better-sidebar; disattivo ripristina il valore precedente e non tocca mai una scelta manuale. Lo strumento bash del modello non è interessato — lo fornisce il plugin stesso.",
|
|
176
272
|
},
|
|
@@ -185,6 +281,18 @@ window.__ModuleLoader__.load({
|
|
|
185
281
|
"switch.off": "無効にする",
|
|
186
282
|
"error": "書き込みに失敗しました",
|
|
187
283
|
"hint": "有効にすると、すべてのツール(bash コマンドと workdir、read/write/edit/read_image/glob/grep と present のパス引数)が MSYS ドライブルートの POSIX パス(/c/Users/...)を使います。bash のネイティブな習慣——ホームの ~、/tmp、/dev/null、/usr——も、bash 自身が解決するのとまったく同じようにすべてのツールで動作し、パスフィールドはホストが自動的に変換します。無効にすると dsh 本来の動作(ファイルツールは Windows パス)に戻ります。bash はプラグインがインストールされている限り常に Git Bash で、このスイッチの影響を受けません。",
|
|
284
|
+
"sec.dialect": "パス方言",
|
|
285
|
+
"sec.terminal": "サイドバーターミナル",
|
|
286
|
+
"mnts.label": "仮想パスマウント",
|
|
287
|
+
"mnts.hint": "bash 固有の習慣——~ ホーム、/tmp、/usr——は Git Bash のマウントテーブルで全ツールに解決;オフなら /c/ ドライブルートのみ。",
|
|
288
|
+
"errs.label": "エラーパス翻訳",
|
|
289
|
+
"errs.hint": "ファイルツールのエラー内の Windows パスを /c/ 形式に書き戻します;オフなら原文維持。",
|
|
290
|
+
"split.label": "glob 絶対パターン分割",
|
|
291
|
+
"split.hint": "絶対 glob パターンを path + 相対パターンに分割;オフならそのまま渡します。",
|
|
292
|
+
"bash.label": "Git Bash パス",
|
|
293
|
+
"bash.hint": "カスタム bash.exe の完全パス;空欄なら自動検出。",
|
|
294
|
+
"bash.save": "保存",
|
|
295
|
+
"bash.saved": "保存済み",
|
|
188
296
|
"adopt.label": "サイドバーターミナルを引き継ぐ",
|
|
189
297
|
"adopt.hint": "オン(既定)では dsh-better-sidebar のターミナルシェルに Git Bash を書き込みます。オフにすると以前の値へ戻し、手動で選択した設定には決して触れません。モデル側の bash ツールには影響しません——それはプラグイン本体が提供します。",
|
|
190
298
|
},
|
|
@@ -199,6 +307,18 @@ window.__ModuleLoader__.load({
|
|
|
199
307
|
"switch.off": "사용 안 함",
|
|
200
308
|
"error": "쓰기 실패",
|
|
201
309
|
"hint": "켜면 모든 도구(bash 명령과 workdir, read/write/edit/read_image/glob/grep 및 present의 경로 인수)가 MSYS 드라이브 루트 POSIX 경로(/c/Users/...)를 사용합니다. bash 고유 습관——홈의 ~, /tmp, /dev/null, /usr——도 bash 자신이 해석하는 그대로 모든 도구에서 작동하며 호스트가 경로 필드를 자동 변환합니다. 끄면 dsh 기본 동작(파일 도구에 Windows 경로 사용)으로 돌아갑니다. 플러그인이 설치되어 있는 동안 bash는 항상 Git Bash이며 이 스위치의 영향을 받지 않습니다.",
|
|
310
|
+
"sec.dialect": "경로 방언",
|
|
311
|
+
"sec.terminal": "사이드바 터미널",
|
|
312
|
+
"mnts.label": "가상 경로 마운트",
|
|
313
|
+
"mnts.hint": "bash 고유 습관——~ 홈, /tmp, /usr——은 Git Bash 마운트 테이블로 모든 도구에서 해석; 끄면 /c/ 드라이브 루트만.",
|
|
314
|
+
"errs.label": "오류 경로 번역",
|
|
315
|
+
"errs.hint": "파일 도구 오류의 Windows 경로를 /c/ 형식으로 되돌립니다; 끄면 원문 유지.",
|
|
316
|
+
"split.label": "glob 절대 패턴 분할",
|
|
317
|
+
"split.hint": "절대 glob 패턴을 path + 상대 패턴으로 분할; 끄면 그대로 전달.",
|
|
318
|
+
"bash.label": "Git Bash 경로",
|
|
319
|
+
"bash.hint": "사용자 bash.exe 전체 경로; 비우면 자동 감지.",
|
|
320
|
+
"bash.save": "저장",
|
|
321
|
+
"bash.saved": "저장됨",
|
|
202
322
|
"adopt.label": "사이드바 터미널 인수",
|
|
203
323
|
"adopt.hint": "켜짐(기본)이면 dsh-better-sidebar 터미널 셸에 Git Bash를 기록하고, 끄면 이전 값을 복원하며 수동으로 고른 설정은 절대 건드리지 않습니다. 모델 측 bash 도구에는 영향이 없습니다 — 플러그인이 직접 제공합니다.",
|
|
204
324
|
},
|
|
@@ -213,6 +333,18 @@ window.__ModuleLoader__.load({
|
|
|
213
333
|
"switch.off": "Uitschakelen",
|
|
214
334
|
"error": "schrijven mislukt",
|
|
215
335
|
"hint": "Ingeschakeld: alle tools (bash-opdrachten en workdir, padargumenten van read/write/edit/read_image/glob/grep en present) gebruiken POSIX-paden vanaf de MSYS-schijfwortel (/c/Users/...); bash-eigen gewoonten — ~ voor de home-map, /tmp, /dev/null, /usr — werken in elke tool precies zoals bash ze zelf oplost, en de host vertaalt de padvelden automatisch. Uitgeschakeld herstelt het oorspronkelijke dsh-gedrag (Windows-paden voor bestandstools). Bash is altijd Git Bash zolang de plugin is geïnstalleerd; deze schakelaar bepaalt alleen het paddialect tussen de tools.",
|
|
336
|
+
"sec.dialect": "Paddialect",
|
|
337
|
+
"sec.terminal": "Zijbalkterminal",
|
|
338
|
+
"mnts.label": "Virtuele pad-mounts",
|
|
339
|
+
"mnts.hint": "Bash-eigen gewoonten — ~ home, /tmp, /usr — lossen op via de Git Bash-mount tabel in elke tool; uit = alleen /c/-schijfwortels.",
|
|
340
|
+
"errs.label": "Foutpad-vertaling",
|
|
341
|
+
"errs.hint": "Windows-paden in fouten van bestandstools keren terug als /c/; uit behoudt de brontekst.",
|
|
342
|
+
"split.label": "Glob absoluut-patroon-splitsing",
|
|
343
|
+
"split.hint": "Een absoluut glob-patroon splitst in pad + relatief patroon; uit geeft het ongewijzigd door.",
|
|
344
|
+
"bash.label": "Git Bash-pad",
|
|
345
|
+
"bash.hint": "Volledig pad van een aangepaste bash.exe; leeg = automatisch detecteren.",
|
|
346
|
+
"bash.save": "Opslaan",
|
|
347
|
+
"bash.saved": "Opgeslagen",
|
|
216
348
|
"adopt.label": "Zijbalkterminal overnemen",
|
|
217
349
|
"adopt.hint": "Aan (standaard) schrijft Git Bash als shell van de dsh-better-sidebar-terminal; uit herstelt de vorige waarde en raakt nooit een handmatige keuze aan. De bash-tool van het model blijft buiten beschouwing — die levert de plugin zelf.",
|
|
218
350
|
},
|
|
@@ -227,6 +359,18 @@ window.__ModuleLoader__.load({
|
|
|
227
359
|
"switch.off": "Wyłącz",
|
|
228
360
|
"error": "zapis nie powiódł się",
|
|
229
361
|
"hint": "Po włączeniu: wszystkie narzędzia (polecenia bash i workdir, argumenty ścieżek w read/write/edit/read_image/glob/grep i w present) używają ścieżek POSIX od korzenia dysku MSYS (/c/Users/...); natywne nawyki basha — ~ dla katalogu domowego, /tmp, /dev/null, /usr — działają w każdym narzędziu dokładnie tak, jak rozwiązuje je sam bash, a host automatycznie tłumaczy pola ścieżek. Wyłączenie przywraca natywne zachowanie dsh (ścieżki Windows dla narzędzi plikowych). Bash jest zawsze Git Bash, dopóki wtyczka jest zainstalowana; ten przełącznik reguluje wyłącznie dialekt ścieżek między narzędziami.",
|
|
362
|
+
"sec.dialect": "Dialekt ścieżek",
|
|
363
|
+
"sec.terminal": "Terminal boczny",
|
|
364
|
+
"mnts.label": "Wirtualne montowanie ścieżek",
|
|
365
|
+
"mnts.hint": "Natywne nawyki basha — ~ home, /tmp, /usr — rozwiązują się przez tablicę montowań Git Bash w każdym narzędziu; wył. = tylko korzenie /c/.",
|
|
366
|
+
"errs.label": "Tłumaczenie ścieżek błędów",
|
|
367
|
+
"errs.hint": "Ścieżki Windows w błędach narzędzi plikowych wracają jako /c/; wył. zachowuje oryginalny tekst.",
|
|
368
|
+
"split.label": "Podział wzorców glob absolutnych",
|
|
369
|
+
"split.hint": "Absolutny wzorzec glob dzieli się na ścieżkę + wzorzec względny; wył. przekazuje bez zmian.",
|
|
370
|
+
"bash.label": "Ścieżka Git Bash",
|
|
371
|
+
"bash.hint": "Pełna ścieżka własnego bash.exe; puste = autodetekcja.",
|
|
372
|
+
"bash.save": "Zapisz",
|
|
373
|
+
"bash.saved": "Zapisano",
|
|
230
374
|
"adopt.label": "Przejmij terminal boczny",
|
|
231
375
|
"adopt.hint": "Włączony (domyślnie) zapisuje Git Bash jako shell terminala dsh-better-sidebar; wyłączony przywraca poprzednią wartość i nigdy nie narusza ręcznie wybranego ustawienia. Narzędzie bash po stronie modelu jest nietknięte — zapewnia je sama wtyczka.",
|
|
232
376
|
},
|
|
@@ -241,6 +385,18 @@ window.__ModuleLoader__.load({
|
|
|
241
385
|
"switch.off": "Desativar",
|
|
242
386
|
"error": "falha ao gravar",
|
|
243
387
|
"hint": "Ativada: todas as ferramentas (comandos bash e workdir, argumentos de caminho de read/write/edit/read_image/glob/grep e de present) usam caminhos POSIX a partir da raiz da unidade MSYS (/c/Users/...); os hábitos nativos do bash — ~ para a pasta pessoal, /tmp, /dev/null, /usr — funcionam em cada ferramenta exatamente como o próprio bash os resolve, e o host traduz os campos de caminho automaticamente. Desativada restaura o comportamento nativo do dsh (caminhos Windows para as ferramentas de arquivo). O bash é sempre Git Bash enquanto o plugin estiver instalado; este interruptor rege apenas o dialeto de caminhos entre ferramentas.",
|
|
388
|
+
"sec.dialect": "Dialeto de caminhos",
|
|
389
|
+
"sec.terminal": "Terminal lateral",
|
|
390
|
+
"mnts.label": "Montagens de caminhos virtuais",
|
|
391
|
+
"mnts.hint": "Hábitos nativos do bash — ~ home, /tmp, /usr — resolvem pela tabela de montagens do Git Bash em cada ferramenta; desligado = só raízes /c/.",
|
|
392
|
+
"errs.label": "Tradução de caminhos de erro",
|
|
393
|
+
"errs.hint": "Caminhos Windows nos erros das ferramentas voltam como /c/; desligado mantém o texto original.",
|
|
394
|
+
"split.label": "Divisão de padrão glob absoluto",
|
|
395
|
+
"split.hint": "Um padrão glob absoluto divide em caminho + padrão relativo; desligado passa-o inalterado.",
|
|
396
|
+
"bash.label": "Caminho do Git Bash",
|
|
397
|
+
"bash.hint": "Caminho completo de um bash.exe personalizado; vazio = detecção automática.",
|
|
398
|
+
"bash.save": "Salvar",
|
|
399
|
+
"bash.saved": "Salvo",
|
|
244
400
|
"adopt.label": "Adotar o terminal lateral",
|
|
245
401
|
"adopt.hint": "Ligado (padrão) grava o Git Bash como shell do terminal do dsh-better-sidebar; desligado restaura o valor anterior e nunca altera uma escolha manual. A ferramenta bash do modelo não é afetada — o próprio plug-in a fornece.",
|
|
246
402
|
},
|
|
@@ -255,6 +411,18 @@ window.__ModuleLoader__.load({
|
|
|
255
411
|
"switch.off": "Выключить",
|
|
256
412
|
"error": "не удалось записать",
|
|
257
413
|
"hint": "Включено: все инструменты (команды bash и workdir, аргументы путей read/write/edit/read_image/glob/grep и present) используют POSIX-пути от корня диска MSYS (/c/Users/...); собственные привычки bash — ~ для домашнего каталога, /tmp, /dev/null, /usr — работают в каждом инструменте ровно так, как их разрешает сам bash, а хост автоматически преобразует поля путей. Выключение возвращает исходное поведение dsh (пути Windows для файловых инструментов). Пока плагин установлен, bash всегда остаётся Git Bash; этот переключатель управляет только диалектом путей между инструментами.",
|
|
414
|
+
"sec.dialect": "Диалект путей",
|
|
415
|
+
"sec.terminal": "Терминал боковой панели",
|
|
416
|
+
"mnts.label": "Виртуальные монтирования путей",
|
|
417
|
+
"mnts.hint": "Собственные привычки bash — ~ домашний, /tmp, /usr — разрешаются через таблицу монтирований Git Bash в каждом инструменте; выкл = только корни /c/.",
|
|
418
|
+
"errs.label": "Перевод путей в ошибках",
|
|
419
|
+
"errs.hint": "Пути Windows в ошибках файловых инструментов возвращаются как /c/; выкл сохраняет исходный текст.",
|
|
420
|
+
"split.label": "Разбор абсолютного glob-шаблона",
|
|
421
|
+
"split.hint": "Абсолютный glob-шаблон разбивается на path + относительный шаблон; выкл передаёт как есть.",
|
|
422
|
+
"bash.label": "Путь Git Bash",
|
|
423
|
+
"bash.hint": "Полный путь кастомного bash.exe; пусто = автоопределение.",
|
|
424
|
+
"bash.save": "Сохранить",
|
|
425
|
+
"bash.saved": "Сохранено",
|
|
258
426
|
"adopt.label": "Перехватывать терминал боковой панели",
|
|
259
427
|
"adopt.hint": "Включено (по умолчанию): Git Bash записывается как shell терминала dsh-better-sidebar; выключено — восстанавливается прежнее значение, вручную выбранные настройки не трогаются. Инструмент bash у модели не затронут — его предоставляет сам плагин.",
|
|
260
428
|
},
|
|
@@ -269,6 +437,18 @@ window.__ModuleLoader__.load({
|
|
|
269
437
|
"switch.off": "Inaktivera",
|
|
270
438
|
"error": "skrivning misslyckades",
|
|
271
439
|
"hint": "Aktiverad: alla verktyg (bash-kommandon och workdir, sökvägsargument för read/write/edit/read_image/glob/grep och present) använder POSIX-sökvägar från MSYS-enhetsroten (/c/Users/...); bash egna vanor — ~ för hemkatalogen, /tmp, /dev/null, /usr — fungerar i varje verktyg exakt som bash själv löser dem, och värden översätter sökvägsfälten automatiskt. Inaktiverad återställer dsh:s ursprungliga beteende (Windows-sökvägar för filverktygen). Bash är alltid Git Bash så länge insticksprogrammet är installerat; den här växeln styr bara sökvägsdialekten mellan verktygen.",
|
|
440
|
+
"sec.dialect": "Sökvägsdialekt",
|
|
441
|
+
"sec.terminal": "Sidopanelsterminal",
|
|
442
|
+
"mnts.label": "Virtuella sökvägsmonteringar",
|
|
443
|
+
"mnts.hint": "Bash egna vanor — ~ hem, /tmp, /usr — löses via Git Bash monteringstabell i varje verktyg; av = endast /c/-enhetsrötter.",
|
|
444
|
+
"errs.label": "Felsökvägsöversättning",
|
|
445
|
+
"errs.hint": "Windows-sökvägar i filverktygens fel skrivs tillbaka som /c/; av behåller originaltexten.",
|
|
446
|
+
"split.label": "Glob absolut mönsterdelning",
|
|
447
|
+
"split.hint": "Ett absolut glob-mönster delas i sökväg + relativt mönster; av skickar det oförändrat.",
|
|
448
|
+
"bash.label": "Git Bash-sökväg",
|
|
449
|
+
"bash.hint": "Fullständig sökväg till egen bash.exe; tom = automatisk detektering.",
|
|
450
|
+
"bash.save": "Spara",
|
|
451
|
+
"bash.saved": "Sparat",
|
|
272
452
|
"adopt.label": "Överta sidolistterminal",
|
|
273
453
|
"adopt.hint": "På (standard) skriver Git Bash som terminal-shell i dsh-better-sidebar; av återställer det tidigare värdet och rör aldrig ett manuellt val. Modellens bash-verktyg påverkas inte — det tillhandahålls av pluginet självt.",
|
|
274
454
|
},
|
|
@@ -283,6 +463,18 @@ window.__ModuleLoader__.load({
|
|
|
283
463
|
"switch.off": "ปิดใช้งาน",
|
|
284
464
|
"error": "เขียนไม่สำเร็จ",
|
|
285
465
|
"hint": "เมื่อเปิดใช้งาน: เครื่องมือทั้งหมด (คำสั่ง bash และ workdir รวมถึงอาร์กิวเมนต์พาธของ read/write/edit/read_image/glob/grep และ present) ใช้พาธ POSIX จากรากไดรฟ์ของ MSYS (/c/Users/...); พฤติกรรมดั้งเดิมของ bash — ~ สำหรับโฮม, /tmp, /dev/null, /usr — ทำงานในทุกเครื่องมือเหมือนที่ bash แก้เองพอดี และโฮสต์แปลฟิลด์พาธให้อัตโนมัติ เมื่อปิดใช้งานจะกลับสู่พฤติกรรมดั้งเดิมของ dsh (เครื่องมือจัดการไฟล์ใช้พาธ Windows) bash เป็น Git Bash เสมอเมื่อติดตั้งปลั๊กอินนี้ สวิตช์นี้ควบคุมเฉพาะรูปแบบพาธระหว่างเครื่องมือเท่านั้น",
|
|
466
|
+
"sec.dialect": "ภาษาถิ่นเส้นทาง",
|
|
467
|
+
"sec.terminal": "เทอร์มินัลแถบข้าง",
|
|
468
|
+
"mnts.label": "จุดเมานต์เส้นทางเสมือน",
|
|
469
|
+
"mnts.hint": "พฤติกรรมดั้งเดิมของ bash — ~ โฮม, /tmp, /usr — แก้ผ่านตารางเมานต์ของ Git Bash ในทุกเครื่องมือ; ปิด = เฉพาะรากไดรฟ์ /c/",
|
|
470
|
+
"errs.label": "การแปลเส้นทางในข้อผิดพลาด",
|
|
471
|
+
"errs.hint": "เส้นทาง Windows ในข้อผิดพลาดของเครื่องมือไฟล์เขียนกลับเป็น /c/; ปิดคงข้อความต้นฉบับ",
|
|
472
|
+
"split.label": "การแยก pattern glob แบบสัมบูรณ์",
|
|
473
|
+
"split.hint": "pattern glob สัมบูรณ์แยกเป็น path + pattern สัมพัทธ์; ปิดส่งต่อตามเดิม",
|
|
474
|
+
"bash.label": "เส้นทาง Git Bash",
|
|
475
|
+
"bash.hint": "เส้นทางเต็มของ bash.exe แบบกำหนดเอง; ว่าง = ตรวจจับอัตโนมัติ",
|
|
476
|
+
"bash.save": "บันทึก",
|
|
477
|
+
"bash.saved": "บันทึกแล้ว",
|
|
286
478
|
"adopt.label": "รับช่วงเทอร์มินัลแถบข้าง",
|
|
287
479
|
"adopt.hint": "เปิด (ค่าเริ่มต้น) จะเขียน Git Bash เป็น shell ของเทอร์มินัล dsh-better-sidebar; ปิดแล้วคืนค่าเดิมและไม่แตะการตั้งค่าที่เลือกเอง เครื่องมือ bash ของโมเดลไม่กระทบ — ปลั๊กอินจัดหาเอง",
|
|
288
480
|
},
|
|
@@ -297,6 +489,18 @@ window.__ModuleLoader__.load({
|
|
|
297
489
|
"switch.off": "Devre dışı bırak",
|
|
298
490
|
"error": "yazma başarısız",
|
|
299
491
|
"hint": "Etkinleştirildiğinde: tüm araçlar (bash komutları ve workdir ile read/write/edit/read_image/glob/grep ve present yol bağımsız değişkenleri) MSYS sürücü kökünden POSIX yolları (/c/Users/...) kullanır; bash'e özgü alışkanlıklar — ev için ~, /tmp, /dev/null, /usr — her araçta tam bash'in kendisinin çözdüğü gibi çalışır ve ana süreç yol alanlarını otomatik olarak çevirir. Devre dışı bırakıldığında dsh yerel davranışına döner (dosya araçları için Windows yolları). Eklenti kurulu olduğu sürece bash her zaman Git Bash olarak kalır; bu anahtar yalnızca araçlar arası yol lehçesini yönetir.",
|
|
492
|
+
"sec.dialect": "Yol lehçesi",
|
|
493
|
+
"sec.terminal": "Kenar çubuğu terminali",
|
|
494
|
+
"mnts.label": "Sanal yol bağlamaları",
|
|
495
|
+
"mnts.hint": "Bash'e özgü alışkanlıklar — ~ ev, /tmp, /usr — her araçta Git Bash bağlama tablosuyla çözülür; kapalı = yalnızca /c/ sürücü kökleri.",
|
|
496
|
+
"errs.label": "Hata yolu çevirisi",
|
|
497
|
+
"errs.hint": "Dosya aracı hatalarındaki Windows yolları /c/ olarak geri yazılır; kapalı özgün metni korur.",
|
|
498
|
+
"split.label": "Glob mutlak örüntü ayrıştırma",
|
|
499
|
+
"split.hint": "Mutlak glob örüntüsü path + göreli örüntüye ayrılır; kapalı olduğu gibi geçirir.",
|
|
500
|
+
"bash.label": "Git Bash yolu",
|
|
501
|
+
"bash.hint": "Özel bash.exe tam yolu; boş = otomatik algılama.",
|
|
502
|
+
"bash.save": "Kaydet",
|
|
503
|
+
"bash.saved": "Kaydedildi",
|
|
300
504
|
"adopt.label": "Kenar çubuğu terminalini devral",
|
|
301
505
|
"adopt.hint": "Açık (varsayılan) Git Bashi dsh-better-sidebar terminalinin shelli olarak yazar; kapalı önceki değeri geri getirir ve elle seçilmiş bir ayara asla dokunmaz. Model tarafındaki bash aracı etkilenmez — onu eklentinin kendisi sağlar.",
|
|
302
506
|
},
|
|
@@ -311,6 +515,18 @@ window.__ModuleLoader__.load({
|
|
|
311
515
|
"switch.off": "Tắt",
|
|
312
516
|
"error": "ghi thất bại",
|
|
313
517
|
"hint": "Khi bật: mọi công cụ (lệnh bash và workdir, tham số đường dẫn của read/write/edit/read_image/glob/grep và present) dùng đường dẫn POSIX từ gốc ổ đĩa MSYS (/c/Users/...); thói quen gốc của bash — ~ cho thư mục home, /tmp, /dev/null, /usr — hoạt động trong mọi công cụ đúng như chính bash giải quyết chúng, và máy chủ tự động chuyển đổi trường đường dẫn. Khi tắt, hành vi gốc của dsh được khôi phục (công cụ tệp dùng đường dẫn Windows). bash luôn là Git Bash khi plugin được cài đặt; công tắc này chỉ điều khiển phương ngữ đường dẫn giữa các công cụ.",
|
|
518
|
+
"sec.dialect": "Phương ngữ đường dẫn",
|
|
519
|
+
"sec.terminal": "Terminal thanh bên",
|
|
520
|
+
"mnts.label": "Gán đường dẫn ảo",
|
|
521
|
+
"mnts.hint": "Thói quen gốc của bash — ~ home, /tmp, /usr — được giải qua bảng gán của Git Bash trong mọi công cụ; tắt = chỉ gốc ổ /c/.",
|
|
522
|
+
"errs.label": "Dịch đường dẫn lỗi",
|
|
523
|
+
"errs.hint": "Đường dẫn Windows trong lỗi công cụ tệp viết lại thành /c/; tắt giữ nguyên văn bản gốc.",
|
|
524
|
+
"split.label": "Tách pattern glob tuyệt đối",
|
|
525
|
+
"split.hint": "Pattern glob tuyệt đối tách thành path + pattern tương đối; tắt truyền nguyên văn.",
|
|
526
|
+
"bash.label": "Đường dẫn Git Bash",
|
|
527
|
+
"bash.hint": "Đường dẫn đầy đủ của bash.exe tùy chỉnh; để trống = tự dò tìm.",
|
|
528
|
+
"bash.save": "Lưu",
|
|
529
|
+
"bash.saved": "Đã lưu",
|
|
314
530
|
"adopt.label": "Tiếp nhận terminal thanh bên",
|
|
315
531
|
"adopt.hint": "Bật (mặc định) ghi Git Bash làm shell terminal của dsh-better-sidebar; tắt khôi phục giá trị trước đó và không bao giờ đụng tới lựa chọn thủ công. Công cụ bash phía mô hình không bị ảnh hưởng — chính plugin cung cấp nó.",
|
|
316
532
|
},
|
|
@@ -325,6 +541,18 @@ window.__ModuleLoader__.load({
|
|
|
325
541
|
"switch.off": "停用",
|
|
326
542
|
"error": "寫入失敗",
|
|
327
543
|
"hint": "啟用後:所有工具(bash 指令同 workdir、read/write/edit/read_image/glob/grep 同 present 嘅路徑參數)統一使用 MSYS 磁碟根 POSIX 路徑(/c/Users/...);bash 原生習慣——~ 家目錄、/tmp、/dev/null、/usr——喺所有工具一樣有效(同 Git Bash 掛載表一致),路徑參數由宿主自動翻譯,模型無感。停用後回復 dsh 原生行為(檔案工具用 Windows 路徑)。bash 永遠係 Git Bash,唔受呢個開關影響。",
|
|
544
|
+
"sec.dialect": "路徑方言",
|
|
545
|
+
"sec.terminal": "側欄終端",
|
|
546
|
+
"mnts.label": "虛擬路徑掛載",
|
|
547
|
+
"mnts.hint": "bash 原生習慣——~ 家目錄、/tmp、/usr——按 Git Bash 掛載表喺所有工具解析;關閉就只剩 /c/ 磁碟根。",
|
|
548
|
+
"errs.label": "報錯路徑翻譯",
|
|
549
|
+
"errs.hint": "檔案工具報錯入面嘅 Windows 路徑翻回 /c/ 形式;關閉就保留原文。",
|
|
550
|
+
"split.label": "glob 絕對路徑拆分",
|
|
551
|
+
"split.hint": "glob 嘅絕對 pattern 自動拆做 path + 相對 pattern;關閉就原樣傳遞。",
|
|
552
|
+
"bash.label": "Git Bash 路徑",
|
|
553
|
+
"bash.hint": "自訂 bash.exe 完整路徑;留空自動探測。",
|
|
554
|
+
"bash.save": "儲存",
|
|
555
|
+
"bash.saved": "已儲存",
|
|
328
556
|
"adopt.label": "接管側欄終端",
|
|
329
557
|
"adopt.hint": "開啟(預設)會把 dsh-better-sidebar 的終端 shell 寫成 Git Bash;關閉後還原接管前的值,手動改過的設定永不被碰。模型側的 bash 工具不受影響——由插件本身提供。",
|
|
330
558
|
},
|
|
@@ -339,6 +567,18 @@ window.__ModuleLoader__.load({
|
|
|
339
567
|
"switch.off": "停用",
|
|
340
568
|
"error": "寫入失敗",
|
|
341
569
|
"hint": "啟用後:所有工具(bash 指令同 workdir、read/write/edit/read_image/glob/grep 同 present 嘅路徑參數)統一使用 MSYS 磁碟根 POSIX 路徑(/c/Users/...);bash 原生習慣——~ 家目錄、/tmp、/dev/null、/usr——喺所有工具一樣有效(同 Git Bash 掛載表一致),路徑參數由宿主自動翻譯,模型無感。停用後回復 dsh 原生行為(檔案工具用 Windows 路徑)。bash 永遠係 Git Bash,唔受呢個開關影響。",
|
|
570
|
+
"sec.dialect": "路徑方言",
|
|
571
|
+
"sec.terminal": "側欄終端",
|
|
572
|
+
"mnts.label": "虛擬路徑掛載",
|
|
573
|
+
"mnts.hint": "bash 原生習慣——~ 家目錄、/tmp、/usr——按 Git Bash 掛載表喺所有工具解析;關閉就只剩 /c/ 磁碟根。",
|
|
574
|
+
"errs.label": "報錯路徑翻譯",
|
|
575
|
+
"errs.hint": "檔案工具報錯入面嘅 Windows 路徑翻回 /c/ 形式;關閉就保留原文。",
|
|
576
|
+
"split.label": "glob 絕對路徑拆分",
|
|
577
|
+
"split.hint": "glob 嘅絕對 pattern 自動拆做 path + 相對 pattern;關閉就原樣傳遞。",
|
|
578
|
+
"bash.label": "Git Bash 路徑",
|
|
579
|
+
"bash.hint": "自訂 bash.exe 完整路徑;留空自動探測。",
|
|
580
|
+
"bash.save": "儲存",
|
|
581
|
+
"bash.saved": "已儲存",
|
|
342
582
|
"adopt.label": "接管側欄終端",
|
|
343
583
|
"adopt.hint": "開啟(預設)會把 dsh-better-sidebar 的終端 shell 寫成 Git Bash;關閉後還原接管前的值,手動改過的設定永不被碰。模型側的 bash 工具不受影響——由插件本身提供。",
|
|
344
584
|
},
|
|
@@ -353,6 +593,18 @@ window.__ModuleLoader__.load({
|
|
|
353
593
|
"switch.off": "停用",
|
|
354
594
|
"error": "寫入失敗",
|
|
355
595
|
"hint": "啟用後:所有工具(bash 指令與 workdir,以及 read/write/edit/read_image/glob/grep 與 present 的路徑參數)統一使用 MSYS 磁碟根 POSIX 路徑(/c/Users/...);bash 原生習慣——~ 家目錄、/tmp、/dev/null、/usr——在所有工具同樣有效(與 Git Bash 掛載表一致),路徑參數由宿主自動轉譯,模型無感。停用後恢復 dsh 原生行為(檔案工具使用 Windows 路徑)。bash 一律是 Git Bash,不受此開關影響。",
|
|
596
|
+
"sec.dialect": "路徑方言",
|
|
597
|
+
"sec.terminal": "側欄終端機",
|
|
598
|
+
"mnts.label": "虛擬路徑掛載",
|
|
599
|
+
"mnts.hint": "bash 原生習慣——~ 家目錄、/tmp、/usr——按 Git Bash 掛載表在所有工具解析;關閉則僅 /c/ 磁碟根。",
|
|
600
|
+
"errs.label": "報錯路徑翻譯",
|
|
601
|
+
"errs.hint": "檔案工具報錯裡的 Windows 路徑翻回 /c/ 形式;關閉則保留原文。",
|
|
602
|
+
"split.label": "glob 絕對路徑拆分",
|
|
603
|
+
"split.hint": "glob 的絕對 pattern 自動拆為 path + 相對 pattern;關閉則原樣傳遞。",
|
|
604
|
+
"bash.label": "Git Bash 路徑",
|
|
605
|
+
"bash.hint": "自訂 bash.exe 完整路徑;留空自動探測。",
|
|
606
|
+
"bash.save": "儲存",
|
|
607
|
+
"bash.saved": "已儲存",
|
|
356
608
|
"adopt.label": "接管側欄終端機",
|
|
357
609
|
"adopt.hint": "開啟(預設)會把 dsh-better-sidebar 的終端機 shell 寫成 Git Bash;關閉後還原接管前的值,手動改過的設定永不被碰。模型側的 bash 工具不受影響——由插件本身提供。",
|
|
358
610
|
},
|
|
@@ -443,6 +695,16 @@ window.__ModuleLoader__.load({
|
|
|
443
695
|
".gb-segBtn.gb-segActive{border-color:var(--dsw-alias-brand-primary);color:var(--dsw-alias-label-primary)}",
|
|
444
696
|
".gb-hint{margin:0;font-size:12px;line-height:1.6;color:var(--dsw-alias-label-tertiary)}",
|
|
445
697
|
".gb-error{margin:0;font-size:12px;color:var(--dsw-alias-status-danger, #e5484d)}",
|
|
698
|
+
".gb-card{-webkit-backdrop-filter:var(--dsh-any-blur-card-panels,blur(12px) saturate(1.15));backdrop-filter:var(--dsh-any-blur-card-panels,blur(12px) saturate(1.15))}",
|
|
699
|
+
".gb-section+.gb-section{border-top:1px solid var(--dsw-alias-border-l2)}",
|
|
700
|
+
".gb-sectionTitle{font-size:12.5px;font-weight:600;letter-spacing:.02em;color:var(--dsw-alias-label-secondary)}",
|
|
701
|
+
".gb-input{flex:1;min-width:0;appearance:none;border:1px solid var(--dsw-alias-border-l2);border-radius:8px;background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-primary);font:inherit;font-size:13px;padding:6px 10px;outline:none}",
|
|
702
|
+
".gb-input:focus{border-color:var(--dsw-alias-brand-primary)}",
|
|
703
|
+
".gb-saveBtn{appearance:none;border:1px solid var(--dsw-alias-border-l2);border-radius:8px;background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-secondary);font:inherit;font-size:13px;padding:6px 12px;cursor:pointer;transition:border-color .16s,color .16s}",
|
|
704
|
+
".gb-saveBtn:hover{border-color:var(--dsw-alias-label-dimmed)}",
|
|
705
|
+
".gb-saveBtn:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:1px}",
|
|
706
|
+
".gb-saveBtn.gb-saved{border-color:var(--dsw-alias-state-success-primary,#3fb950);color:var(--dsw-alias-state-success-primary,#3fb950)}",
|
|
707
|
+
".gb-stack{display:flex;flex-direction:column;gap:8px}",
|
|
446
708
|
].join("\n");
|
|
447
709
|
|
|
448
710
|
function ensureStyles() {
|
|
@@ -540,6 +802,19 @@ window.__ModuleLoader__.load({
|
|
|
540
802
|
var bumpTick = tickState[1];
|
|
541
803
|
void tick;
|
|
542
804
|
|
|
805
|
+
var bashState = useState("");
|
|
806
|
+
var bashDraft = bashState[0];
|
|
807
|
+
var setBashDraft = bashState[1];
|
|
808
|
+
var bashSavedState = useState(false);
|
|
809
|
+
var bashSaved = bashSavedState[0];
|
|
810
|
+
var setBashSaved = bashSavedState[1];
|
|
811
|
+
useEffect(function () {
|
|
812
|
+
try {
|
|
813
|
+
var s0 = scope && typeof scope.getSnapshot === "function" ? scope.getSnapshot() : null;
|
|
814
|
+
if (s0 && s0.value && typeof s0.value.bashPath === "string") setBashDraft(s0.value.bashPath)
|
|
815
|
+
} catch (e) { /* keep empty draft */ }
|
|
816
|
+
}, []);
|
|
817
|
+
|
|
543
818
|
var scope = props.scope;
|
|
544
819
|
|
|
545
820
|
var snap = { status: "unavailable" };
|
|
@@ -570,41 +845,78 @@ window.__ModuleLoader__.load({
|
|
|
570
845
|
// title itself, so the collapsible shell is only for the legacy seat.
|
|
571
846
|
var pageView = props.view === "page";
|
|
572
847
|
|
|
573
|
-
var
|
|
848
|
+
var mounts = snap.value.virtualMounts !== false;
|
|
849
|
+
var errs = snap.value.errorDialect !== false;
|
|
850
|
+
var splits = snap.value.globSplit !== false;
|
|
851
|
+
|
|
852
|
+
var dialectSection = E("div", { className: "gb-section" },
|
|
853
|
+
E("div", { className: "gb-sectionTitle" }, t("sec.dialect")),
|
|
854
|
+
E("div", { className: "gb-stack" },
|
|
574
855
|
E("div", { className: "gb-row" },
|
|
575
856
|
E("span", { className: "gb-rowLabel" }, t("state.label") + ":"),
|
|
576
857
|
E("span", { className: "gb-rowValue" }, enabled ? t("state.on") : t("state.off")),
|
|
577
858
|
),
|
|
578
859
|
E("div", { className: "gb-seg" },
|
|
579
|
-
E("button", {
|
|
580
|
-
|
|
581
|
-
className: "gb-segBtn" + (enabled ? " gb-segActive" : ""),
|
|
582
|
-
onClick: function () { if (!enabled) writeField("posixPaths", true); },
|
|
583
|
-
}, t("switch.on")),
|
|
584
|
-
E("button", {
|
|
585
|
-
type: "button",
|
|
586
|
-
className: "gb-segBtn" + (!enabled ? " gb-segActive" : ""),
|
|
587
|
-
onClick: function () { if (enabled) writeField("posixPaths", false); },
|
|
588
|
-
}, t("switch.off")),
|
|
860
|
+
E("button", { type: "button", className: "gb-segBtn" + (enabled ? " gb-segActive" : ""), onClick: function () { if (!enabled) writeField("posixPaths", true); } }, t("switch.on")),
|
|
861
|
+
E("button", { type: "button", className: "gb-segBtn" + (!enabled ? " gb-segActive" : ""), onClick: function () { if (enabled) writeField("posixPaths", false); } }, t("switch.off")),
|
|
589
862
|
),
|
|
590
863
|
E("p", { className: "gb-hint" }, t("hint")),
|
|
864
|
+
E("div", { className: "gb-row" },
|
|
865
|
+
E("span", { className: "gb-rowLabel" }, t("mnts.label") + ":"),
|
|
866
|
+
E("span", { className: "gb-rowValue" }, mounts ? t("state.on") : t("state.off")),
|
|
867
|
+
),
|
|
868
|
+
E("div", { className: "gb-seg" },
|
|
869
|
+
E("button", { type: "button", className: "gb-segBtn" + (mounts ? " gb-segActive" : ""), onClick: function () { if (!mounts) writeField("virtualMounts", true); } }, t("switch.on")),
|
|
870
|
+
E("button", { type: "button", className: "gb-segBtn" + (!mounts ? " gb-segActive" : ""), onClick: function () { if (mounts) writeField("virtualMounts", false); } }, t("switch.off")),
|
|
871
|
+
),
|
|
872
|
+
E("p", { className: "gb-hint" }, t("mnts.hint")),
|
|
873
|
+
E("div", { className: "gb-row" },
|
|
874
|
+
E("span", { className: "gb-rowLabel" }, t("errs.label") + ":"),
|
|
875
|
+
E("span", { className: "gb-rowValue" }, errs ? t("state.on") : t("state.off")),
|
|
876
|
+
),
|
|
877
|
+
E("div", { className: "gb-seg" },
|
|
878
|
+
E("button", { type: "button", className: "gb-segBtn" + (errs ? " gb-segActive" : ""), onClick: function () { if (!errs) writeField("errorDialect", true); } }, t("switch.on")),
|
|
879
|
+
E("button", { type: "button", className: "gb-segBtn" + (!errs ? " gb-segActive" : ""), onClick: function () { if (errs) writeField("errorDialect", false); } }, t("switch.off")),
|
|
880
|
+
),
|
|
881
|
+
E("p", { className: "gb-hint" }, t("errs.hint")),
|
|
882
|
+
E("div", { className: "gb-row" },
|
|
883
|
+
E("span", { className: "gb-rowLabel" }, t("split.label") + ":"),
|
|
884
|
+
E("span", { className: "gb-rowValue" }, splits ? t("state.on") : t("state.off")),
|
|
885
|
+
),
|
|
886
|
+
E("div", { className: "gb-seg" },
|
|
887
|
+
E("button", { type: "button", className: "gb-segBtn" + (splits ? " gb-segActive" : ""), onClick: function () { if (!splits) writeField("globSplit", true); } }, t("switch.on")),
|
|
888
|
+
E("button", { type: "button", className: "gb-segBtn" + (!splits ? " gb-segActive" : ""), onClick: function () { if (splits) writeField("globSplit", false); } }, t("switch.off")),
|
|
889
|
+
),
|
|
890
|
+
E("p", { className: "gb-hint" }, t("split.hint")),
|
|
891
|
+
E("div", { className: "gb-row" },
|
|
892
|
+
E("span", { className: "gb-rowLabel" }, t("bash.label") + ":"),
|
|
893
|
+
),
|
|
894
|
+
E("div", { className: "gb-seg" },
|
|
895
|
+
E("input", { className: "gb-input", type: "text", spellCheck: false, placeholder: "C:/Program Files/Git/bin/bash.exe", value: bashDraft, onChange: function (e) { setBashDraft(e.target.value); setBashSaved(false); } }),
|
|
896
|
+
E("button", { type: "button", className: "gb-saveBtn" + (bashSaved ? " gb-saved" : ""), onClick: function () { writeField("bashPath", bashDraft.trim()); setBashSaved(true); } }, bashSaved ? t("bash.saved") : t("bash.save")),
|
|
897
|
+
),
|
|
898
|
+
E("p", { className: "gb-hint" }, t("bash.hint")),
|
|
899
|
+
),
|
|
900
|
+
);
|
|
901
|
+
|
|
902
|
+
var terminalSection = E("div", { className: "gb-section" },
|
|
903
|
+
E("div", { className: "gb-sectionTitle" }, t("sec.terminal")),
|
|
904
|
+
E("div", { className: "gb-stack" },
|
|
591
905
|
E("div", { className: "gb-row" },
|
|
592
906
|
E("span", { className: "gb-rowLabel" }, t("adopt.label") + ":"),
|
|
593
907
|
E("span", { className: "gb-rowValue" }, adopt ? t("state.on") : t("state.off")),
|
|
594
908
|
),
|
|
595
909
|
E("div", { className: "gb-seg" },
|
|
596
|
-
E("button", {
|
|
597
|
-
|
|
598
|
-
className: "gb-segBtn" + (adopt ? " gb-segActive" : ""),
|
|
599
|
-
onClick: function () { if (!adopt) writeField("adoptSidebar", true); },
|
|
600
|
-
}, t("switch.on")),
|
|
601
|
-
E("button", {
|
|
602
|
-
type: "button",
|
|
603
|
-
className: "gb-segBtn" + (!adopt ? " gb-segActive" : ""),
|
|
604
|
-
onClick: function () { if (adopt) writeField("adoptSidebar", false); },
|
|
605
|
-
}, t("switch.off")),
|
|
910
|
+
E("button", { type: "button", className: "gb-segBtn" + (adopt ? " gb-segActive" : ""), onClick: function () { if (!adopt) writeField("adoptSidebar", true); } }, t("switch.on")),
|
|
911
|
+
E("button", { type: "button", className: "gb-segBtn" + (!adopt ? " gb-segActive" : ""), onClick: function () { if (adopt) writeField("adoptSidebar", false); } }, t("switch.off")),
|
|
606
912
|
),
|
|
607
913
|
E("p", { className: "gb-hint" }, t("adopt.hint")),
|
|
914
|
+
),
|
|
915
|
+
);
|
|
916
|
+
|
|
917
|
+
var bodyContent = E("div", { className: pageView ? "gb-pageBody" : "gb-body" },
|
|
918
|
+
dialectSection,
|
|
919
|
+
terminalSection,
|
|
608
920
|
error ? E("p", { className: "gb-error" }, error) : null,
|
|
609
921
|
);
|
|
610
922
|
|
package/src/index.js
CHANGED
|
@@ -665,6 +665,9 @@ const SETTINGS_NAMESPACE = 'gitbash-shell'
|
|
|
665
665
|
/** The full directive text, injected only while posixPaths is on. */
|
|
666
666
|
const POSIX_DIRECTIVE_TEXT = 'The working shell is Git for Windows bash: paths use MSYS drive roots (/c/Users/...), and every tool accepts that form directly — including the bash-native habits (~ home shorthand, /tmp, /dev/null, /usr/bin/...), which resolve in every tool exactly as bash itself resolves them.'
|
|
667
667
|
|
|
668
|
+
/** Strict drive-root-only directive (v0.19.0): used while virtualMounts is off. */
|
|
669
|
+
const POSIX_DIRECTIVE_TEXT_STRICT = 'The working shell is Git for Windows bash: paths use MSYS drive roots (/c/Users/...), and every tool accepts that form directly.'
|
|
670
|
+
|
|
668
671
|
// Official runtime counterpart to the directive (v0.11.0): dsh-shell-env is
|
|
669
672
|
// the host-plane registry behind the model-visible $DSH_* facts, and the
|
|
670
673
|
// bash tool's schema tells the model to inspect them — so the dialect also
|
|
@@ -684,6 +687,32 @@ export function readPosixPaths(ctxLike) {
|
|
|
684
687
|
}
|
|
685
688
|
}
|
|
686
689
|
|
|
690
|
+
/**
|
|
691
|
+
* Read every dialect switch at once (v0.19.0): posixPaths gates the whole
|
|
692
|
+
* dialect; virtualMounts gates the bash virtual mounts + ~ + $VAR expansion
|
|
693
|
+
* (off = strict drive-root-only translation); globSplit gates the absolute
|
|
694
|
+
* glob-pattern rewrite; errorDialect gates error-message translation and the
|
|
695
|
+
* NUL guidance block; bashPath (optional) joins the Git-root probe candidates
|
|
696
|
+
* first. All default ON (schema defaults); never throws.
|
|
697
|
+
*/
|
|
698
|
+
export function readDialectSettings(ctxLike) {
|
|
699
|
+
const fallback = { posixPaths: false, virtualMounts: false, globSplit: false, errorDialect: false, bashPath: '' }
|
|
700
|
+
try {
|
|
701
|
+
const settings = ctxLike && typeof ctxLike.get === 'function' ? ctxLike.get('settings') : undefined
|
|
702
|
+
const value = settings && typeof settings.get === 'function' ? settings.get(SETTINGS_NAMESPACE) : undefined
|
|
703
|
+
const v = value && typeof value === 'object' ? value : {}
|
|
704
|
+
return {
|
|
705
|
+
posixPaths: v.posixPaths === true,
|
|
706
|
+
virtualMounts: v.virtualMounts === true,
|
|
707
|
+
globSplit: v.globSplit === true,
|
|
708
|
+
errorDialect: v.errorDialect === true,
|
|
709
|
+
bashPath: typeof v.bashPath === 'string' ? v.bashPath : '',
|
|
710
|
+
}
|
|
711
|
+
} catch {
|
|
712
|
+
return fallback
|
|
713
|
+
}
|
|
714
|
+
}
|
|
715
|
+
|
|
687
716
|
/**
|
|
688
717
|
* Read the adoptSidebar switch (v0.15.0, default ON). Unlike posixPaths the
|
|
689
718
|
* default is on, so only an explicit false disables the takeover.
|
|
@@ -876,17 +905,21 @@ const GIT_MOUNTS = new Map([
|
|
|
876
905
|
['/mnt', 'mnt'],
|
|
877
906
|
])
|
|
878
907
|
|
|
908
|
+
const translateEnvCache = new Map()
|
|
909
|
+
|
|
879
910
|
/**
|
|
880
911
|
* The runtime facts the virtual mounts resolve against (all optional — a
|
|
881
912
|
* missing fact simply leaves its paths untranslated). Probed once per
|
|
882
|
-
*
|
|
883
|
-
*
|
|
884
|
-
*
|
|
913
|
+
* distinct bashPath setting (v0.19.0: a settings-configured bash.exe joins
|
|
914
|
+
* the candidates FIRST, fixing /usr translation for custom installs);
|
|
915
|
+
* tmpdir/homedir are cheap; the Git root walks the candidate bash.exe list
|
|
916
|
+
* (the default install plus every PATH entry) and accepts a root only when
|
|
885
917
|
* <root>/usr/bin exists, which excludes the WSL bash shim in WindowsApps.
|
|
886
918
|
*/
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
919
|
+
export function buildTranslateEnv(configuredBashPath) {
|
|
920
|
+
const cacheKey = typeof configuredBashPath === 'string' && configuredBashPath !== '' ? configuredBashPath : ''
|
|
921
|
+
const cached = translateEnvCache.get(cacheKey)
|
|
922
|
+
if (cached) return cached
|
|
890
923
|
const env = { tmpDir: undefined, home: undefined, gitRoot: undefined }
|
|
891
924
|
try {
|
|
892
925
|
const t = tmpdir()
|
|
@@ -907,7 +940,9 @@ export function buildTranslateEnv() {
|
|
|
907
940
|
if (h && existsSync(h)) env.home = h.replace(/\\/g, '/')
|
|
908
941
|
} catch { /* keep undefined */ }
|
|
909
942
|
try {
|
|
910
|
-
const candidates = [
|
|
943
|
+
const candidates = []
|
|
944
|
+
if (cacheKey !== '') candidates.push(cacheKey.replace(/\\/g, '/'))
|
|
945
|
+
candidates.push(DEFAULT_GIT_BASH)
|
|
911
946
|
for (const dir of String(process.env.PATH ?? '').split(';')) {
|
|
912
947
|
const clean = dir && dir.trim()
|
|
913
948
|
if (clean) candidates.push(clean.replace(/\\/g, '/') + '/bash.exe')
|
|
@@ -923,7 +958,7 @@ export function buildTranslateEnv() {
|
|
|
923
958
|
} catch { /* try the next candidate */ }
|
|
924
959
|
}
|
|
925
960
|
} catch { /* keep undefined */ }
|
|
926
|
-
translateEnvCache
|
|
961
|
+
translateEnvCache.set(cacheKey, env)
|
|
927
962
|
return env
|
|
928
963
|
}
|
|
929
964
|
|
|
@@ -1334,6 +1369,10 @@ export async function apply(ctx, config = {}) {
|
|
|
1334
1369
|
: SETTINGS_NAMESPACE
|
|
1335
1370
|
const scope = settings.register(ns, Schema.object({
|
|
1336
1371
|
posixPaths: Schema.boolean().default(true),
|
|
1372
|
+
virtualMounts: Schema.boolean().default(true),
|
|
1373
|
+
globSplit: Schema.boolean().default(true),
|
|
1374
|
+
errorDialect: Schema.boolean().default(true),
|
|
1375
|
+
bashPath: Schema.string().default(''),
|
|
1337
1376
|
adoptSidebar: Schema.boolean().default(true),
|
|
1338
1377
|
}))
|
|
1339
1378
|
sidebarScope = scope
|
|
@@ -1440,10 +1479,11 @@ export async function apply(ctx, config = {}) {
|
|
|
1440
1479
|
try {
|
|
1441
1480
|
ctx.on('tools/execute', (exec, next) => {
|
|
1442
1481
|
try {
|
|
1443
|
-
|
|
1444
|
-
|
|
1482
|
+
const dialect = readDialectSettings(ctx)
|
|
1483
|
+
if (exec && exec.arguments && typeof exec.arguments === 'object' && dialect.posixPaths) {
|
|
1484
|
+
const env = dialect.virtualMounts ? buildTranslateEnv(dialect.bashPath) : null
|
|
1445
1485
|
let translated = translatePathArguments(exec.arguments, env)
|
|
1446
|
-
if (exec.name === 'glob') {
|
|
1486
|
+
if (exec.name === 'glob' && dialect.globSplit) {
|
|
1447
1487
|
const globTranslated = translateGlobArguments(translated, env)
|
|
1448
1488
|
if (globTranslated !== translated) translated = globTranslated
|
|
1449
1489
|
}
|
|
@@ -1471,11 +1511,12 @@ export async function apply(ctx, config = {}) {
|
|
|
1471
1511
|
let patch
|
|
1472
1512
|
let contentPatch
|
|
1473
1513
|
try {
|
|
1474
|
-
|
|
1514
|
+
const dialect = readDialectSettings(ctx)
|
|
1515
|
+
if (dialect.posixPaths && result && typeof result === 'object') {
|
|
1475
1516
|
if (result.isError === false && result.value && typeof result.value === 'object') {
|
|
1476
|
-
const value = rewriteResultPaths(exec && exec.name, result.value, buildTranslateEnv())
|
|
1517
|
+
const value = rewriteResultPaths(exec && exec.name, result.value, dialect.virtualMounts ? buildTranslateEnv(dialect.bashPath) : null)
|
|
1477
1518
|
if (value !== result.value) patch = value
|
|
1478
|
-
} else if (result.isError === true && exec && ERROR_CONTENT_TOOLS.has(exec.name) && Array.isArray(result.content)) {
|
|
1519
|
+
} else if (result.isError === true && dialect.errorDialect && exec && ERROR_CONTENT_TOOLS.has(exec.name) && Array.isArray(result.content)) {
|
|
1479
1520
|
const content = rewriteErrorContent(result.content)
|
|
1480
1521
|
if (content !== result.content) contentPatch = content
|
|
1481
1522
|
}
|
|
@@ -1519,7 +1560,8 @@ export async function apply(ctx, config = {}) {
|
|
|
1519
1560
|
try {
|
|
1520
1561
|
const settings = pctx.get('settings')
|
|
1521
1562
|
const value = settings && typeof settings.get === 'function' ? settings.get(SETTINGS_NAMESPACE) : undefined
|
|
1522
|
-
|
|
1563
|
+
if (!value || value.posixPaths !== true) return ''
|
|
1564
|
+
return value.virtualMounts === false ? POSIX_DIRECTIVE_TEXT_STRICT : POSIX_DIRECTIVE_TEXT
|
|
1523
1565
|
} catch {
|
|
1524
1566
|
return ''
|
|
1525
1567
|
}
|
|
@@ -1619,4 +1661,4 @@ export async function apply(ctx, config = {}) {
|
|
|
1619
1661
|
}
|
|
1620
1662
|
|
|
1621
1663
|
// Test surface: pure helpers, no Cordis context required.
|
|
1622
|
-
export const _internal = { PRESET_IDS, translateMsysPath, translatePathArguments, translateGlobArguments, buildTranslateEnv, rewriteErrorContent, ERROR_CONTENT_TOOLS, readPosixPaths, readAdoptSidebar, windowsToMsys, rewriteResultPaths, MARKER_FILE, classify, materialize, cleanupOnDispose, firstUserRoot, hashTree, skillsHashes, syncDecision, installRegisterShim, baseForRoster, detectBase, pickComposition, personaEraForText, detectPersonaEra, injectPresentRow, hostHasToolPresent, detectPresentSupport, injectPluginManagerRow, hostHasPluginManagerTools, rowFormOf, rowFormsOf, alignEngineRow, alignRalphRow, ROW_SOURCE }
|
|
1664
|
+
export const _internal = { PRESET_IDS, translateMsysPath, translatePathArguments, translateGlobArguments, buildTranslateEnv, rewriteErrorContent, ERROR_CONTENT_TOOLS, readPosixPaths, readAdoptSidebar, readDialectSettings, windowsToMsys, rewriteResultPaths, MARKER_FILE, classify, materialize, cleanupOnDispose, firstUserRoot, hashTree, skillsHashes, syncDecision, installRegisterShim, baseForRoster, detectBase, pickComposition, personaEraForText, detectPersonaEra, injectPresentRow, hostHasToolPresent, detectPresentSupport, injectPluginManagerRow, hostHasPluginManagerTools, rowFormOf, rowFormsOf, alignEngineRow, alignRalphRow, ROW_SOURCE }
|