@fresh-editor/fresh-editor 0.1.69 → 0.1.71

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.
@@ -36,46 +36,46 @@
36
36
  "panel.log_footer": "{count} commits | Up/Down/j/k: navigate | RET: show | y: yank hash | r: refresh | q: quit",
37
37
  "panel.detail_footer": "Up/Down/j/k: navigate | RET: open file at line | q: back to log"
38
38
  },
39
- "es": {
40
- "cmd.git_log": "Registro Git",
41
- "cmd.git_log_desc": "Mostrar registro git en interfaz estilo magit",
42
- "cmd.git_log_close": "Registro Git: Cerrar",
43
- "cmd.git_log_close_desc": "Cerrar el panel de registro git",
44
- "cmd.git_log_refresh": "Registro Git: Actualizar",
45
- "cmd.git_log_refresh_desc": "Actualizar el registro git",
39
+ "cs": {
40
+ "cmd.git_log": "Git Log",
41
+ "cmd.git_log_desc": "Zobrazit git log v rozhrani stylu magit",
42
+ "cmd.git_log_close": "Git Log: Zavrit",
43
+ "cmd.git_log_close_desc": "Zavrit panel git logu",
44
+ "cmd.git_log_refresh": "Git Log: Obnovit",
45
+ "cmd.git_log_refresh_desc": "Obnovit git log",
46
46
 
47
- "status.already_open": "El registro git ya esta abierto",
48
- "status.loading": "Cargando registro git...",
49
- "status.no_commits": "No se encontraron commits o no es un repositorio git",
50
- "status.closed": "Registro git cerrado",
51
- "status.failed_open": "Error al abrir el panel de registro git",
52
- "status.refreshing": "Actualizando registro git...",
53
- "status.refreshed": "Registro git actualizado: {count} commits",
54
- "status.log_ready": "Registro git: {count} commits | Arriba/Abajo: navegar | RET: mostrar | q: salir",
47
+ "status.already_open": "Git log je jiz otevren",
48
+ "status.loading": "Nacitam git log...",
49
+ "status.no_commits": "Zadne commity nenalezeny nebo to neni git repozitar",
50
+ "status.closed": "Git log zavren",
51
+ "status.failed_open": "Nepodarilo se otevrit panel git logu",
52
+ "status.refreshing": "Obnovuji git log...",
53
+ "status.refreshed": "Git log obnoven: {count} commitu",
54
+ "status.log_ready": "Git log: {count} commitu | Nahoru/Dolu: navigace | RET: zobrazit | q: ukoncit",
55
55
  "status.commit_position": "Commit {current}/{total}",
56
- "status.move_to_commit": "Mueve el cursor a una linea de commit",
57
- "status.loading_commit": "Cargando commit {hash}...",
58
- "status.commit_ready": "Commit {hash} | Arriba/Abajo: navegar | RET: abrir archivo | q: volver",
59
- "status.failed_open_details": "Error al abrir detalles del commit",
60
- "status.hash_copied": "Copiado: {short} ({full})",
56
+ "status.move_to_commit": "Presunte kurzor na radek commitu",
57
+ "status.loading_commit": "Nacitam commit {hash}...",
58
+ "status.commit_ready": "Commit {hash} | Nahoru/Dolu: navigace | RET: otevrit soubor | q: zpet",
59
+ "status.failed_open_details": "Nepodarilo se otevrit detaily commitu",
60
+ "status.hash_copied": "Zkopirovano: {short} ({full})",
61
61
  "status.hash_display": "Hash: {hash}",
62
- "status.git_error": "Error de registro git: {error}",
63
- "status.error_fetching_diff": "Error al obtener diff: {error}",
64
- "status.file_loading": "Cargando {file} en {hash}...",
65
- "status.file_not_found": "Archivo {file} no encontrado en commit {hash}",
66
- "status.file_view_ready": "{file} @ {hash} (solo lectura) | Objetivo: linea {line} | q: volver",
67
- "status.failed_open_file": "Error al abrir {file}",
68
- "status.move_to_diff_with_context": "Mueve el cursor a una linea de diff con contexto de archivo",
69
- "status.move_to_diff": "Mueve el cursor a una linea de diff",
62
+ "status.git_error": "Chyba git logu: {error}",
63
+ "status.error_fetching_diff": "Chyba pri ziskavani diffu: {error}",
64
+ "status.file_loading": "Nacitam {file} v {hash}...",
65
+ "status.file_not_found": "Soubor {file} nenalezen v commitu {hash}",
66
+ "status.file_view_ready": "{file} @ {hash} (pouze pro cteni) | Cil: radek {line} | q: zpet",
67
+ "status.failed_open_file": "Nepodarilo se otevrit {file}",
68
+ "status.move_to_diff_with_context": "Presunte kurzor na radek diffu s kontextem souboru",
69
+ "status.move_to_diff": "Presunte kurzor na radek diffu",
70
70
 
71
- "panel.commits_header": "Commits:",
72
- "panel.no_commits": " No se encontraron commits",
73
- "panel.log_footer": "{count} commits | Arriba/Abajo/j/k: navegar | RET: mostrar | y: copiar hash | r: actualizar | q: salir",
74
- "panel.detail_footer": "Arriba/Abajo/j/k: navegar | RET: abrir archivo en linea | q: volver al registro"
71
+ "panel.commits_header": "Commity:",
72
+ "panel.no_commits": " Zadne commity nenalezeny",
73
+ "panel.log_footer": "{count} commitu | Nahoru/Dolu/j/k: navigace | RET: zobrazit | y: kopirovat hash | r: obnovit | q: ukoncit",
74
+ "panel.detail_footer": "Nahoru/Dolu/j/k: navigace | RET: otevrit soubor na radku | q: zpet do logu"
75
75
  },
76
76
  "de": {
77
77
  "cmd.git_log": "Git-Protokoll",
78
- "cmd.git_log_desc": "Git-Protokoll in Magit-Stil-Oberflache anzeigen",
78
+ "cmd.git_log_desc": "Git-Protokoll in Magit-Stil-Oberflaeche anzeigen",
79
79
  "cmd.git_log_close": "Git-Protokoll: Schliessen",
80
80
  "cmd.git_log_close_desc": "Git-Protokoll-Panel schliessen",
81
81
  "cmd.git_log_refresh": "Git-Protokoll: Aktualisieren",
@@ -110,6 +110,43 @@
110
110
  "panel.log_footer": "{count} Commits | Auf/Ab/j/k: navigieren | RET: anzeigen | y: Hash kopieren | r: aktualisieren | q: beenden",
111
111
  "panel.detail_footer": "Auf/Ab/j/k: navigieren | RET: Datei bei Zeile oeffnen | q: zurueck zum Protokoll"
112
112
  },
113
+ "es": {
114
+ "cmd.git_log": "Registro Git",
115
+ "cmd.git_log_desc": "Mostrar registro git en interfaz estilo magit",
116
+ "cmd.git_log_close": "Registro Git: Cerrar",
117
+ "cmd.git_log_close_desc": "Cerrar el panel de registro git",
118
+ "cmd.git_log_refresh": "Registro Git: Actualizar",
119
+ "cmd.git_log_refresh_desc": "Actualizar el registro git",
120
+
121
+ "status.already_open": "El registro git ya esta abierto",
122
+ "status.loading": "Cargando registro git...",
123
+ "status.no_commits": "No se encontraron commits o no es un repositorio git",
124
+ "status.closed": "Registro git cerrado",
125
+ "status.failed_open": "Error al abrir el panel de registro git",
126
+ "status.refreshing": "Actualizando registro git...",
127
+ "status.refreshed": "Registro git actualizado: {count} commits",
128
+ "status.log_ready": "Registro git: {count} commits | Arriba/Abajo: navegar | RET: mostrar | q: salir",
129
+ "status.commit_position": "Commit {current}/{total}",
130
+ "status.move_to_commit": "Mueve el cursor a una linea de commit",
131
+ "status.loading_commit": "Cargando commit {hash}...",
132
+ "status.commit_ready": "Commit {hash} | Arriba/Abajo: navegar | RET: abrir archivo | q: volver",
133
+ "status.failed_open_details": "Error al abrir detalles del commit",
134
+ "status.hash_copied": "Copiado: {short} ({full})",
135
+ "status.hash_display": "Hash: {hash}",
136
+ "status.git_error": "Error de registro git: {error}",
137
+ "status.error_fetching_diff": "Error al obtener diff: {error}",
138
+ "status.file_loading": "Cargando {file} en {hash}...",
139
+ "status.file_not_found": "Archivo {file} no encontrado en commit {hash}",
140
+ "status.file_view_ready": "{file} @ {hash} (solo lectura) | Objetivo: linea {line} | q: volver",
141
+ "status.failed_open_file": "Error al abrir {file}",
142
+ "status.move_to_diff_with_context": "Mueve el cursor a una linea de diff con contexto de archivo",
143
+ "status.move_to_diff": "Mueve el cursor a una linea de diff",
144
+
145
+ "panel.commits_header": "Commits:",
146
+ "panel.no_commits": " No se encontraron commits",
147
+ "panel.log_footer": "{count} commits | Arriba/Abajo/j/k: navegar | RET: mostrar | y: copiar hash | r: actualizar | q: salir",
148
+ "panel.detail_footer": "Arriba/Abajo/j/k: navegar | RET: abrir archivo en linea | q: volver al registro"
149
+ },
113
150
  "fr": {
114
151
  "cmd.git_log": "Journal Git",
115
152
  "cmd.git_log_desc": "Afficher le journal git en interface style magit",
@@ -184,7 +221,192 @@
184
221
  "panel.log_footer": "{count}件のコミット | 上/下/j/k: 移動 | RET: 表示 | y: ハッシュをコピー | r: 更新 | q: 終了",
185
222
  "panel.detail_footer": "上/下/j/k: 移動 | RET: ファイルを行で開く | q: ログに戻る"
186
223
  },
187
- "zh": {
224
+ "ko": {
225
+ "cmd.git_log": "Git 로그",
226
+ "cmd.git_log_desc": "magit 스타일 인터페이스로 git 로그 표시",
227
+ "cmd.git_log_close": "Git 로그: 닫기",
228
+ "cmd.git_log_close_desc": "git 로그 패널 닫기",
229
+ "cmd.git_log_refresh": "Git 로그: 새로고침",
230
+ "cmd.git_log_refresh_desc": "git 로그 새로고침",
231
+
232
+ "status.already_open": "Git 로그가 이미 열려 있습니다",
233
+ "status.loading": "Git 로그 로딩 중...",
234
+ "status.no_commits": "커밋을 찾을 수 없거나 git 저장소가 아닙니다",
235
+ "status.closed": "Git 로그 닫힘",
236
+ "status.failed_open": "Git 로그 패널을 열지 못했습니다",
237
+ "status.refreshing": "Git 로그 새로고침 중...",
238
+ "status.refreshed": "Git 로그 새로고침됨: {count}개 커밋",
239
+ "status.log_ready": "Git 로그: {count}개 커밋 | 위/아래: 탐색 | RET: 표시 | q: 종료",
240
+ "status.commit_position": "커밋 {current}/{total}",
241
+ "status.move_to_commit": "커서를 커밋 줄로 이동하세요",
242
+ "status.loading_commit": "커밋 {hash} 로딩 중...",
243
+ "status.commit_ready": "커밋 {hash} | 위/아래: 탐색 | RET: 파일 열기 | q: 뒤로",
244
+ "status.failed_open_details": "커밋 세부 정보를 열지 못했습니다",
245
+ "status.hash_copied": "복사됨: {short} ({full})",
246
+ "status.hash_display": "해시: {hash}",
247
+ "status.git_error": "Git 로그 오류: {error}",
248
+ "status.error_fetching_diff": "diff 가져오기 오류: {error}",
249
+ "status.file_loading": "{hash}에서 {file} 로딩 중...",
250
+ "status.file_not_found": "커밋 {hash}에서 파일 {file}을 찾을 수 없습니다",
251
+ "status.file_view_ready": "{file} @ {hash} (읽기 전용) | 대상: {line}행 | q: 뒤로",
252
+ "status.failed_open_file": "{file}을 열지 못했습니다",
253
+ "status.move_to_diff_with_context": "파일 컨텍스트가 있는 diff 줄로 커서를 이동하세요",
254
+ "status.move_to_diff": "커서를 diff 줄로 이동하세요",
255
+
256
+ "panel.commits_header": "커밋:",
257
+ "panel.no_commits": " 커밋을 찾을 수 없습니다",
258
+ "panel.log_footer": "{count}개 커밋 | 위/아래/j/k: 탐색 | RET: 표시 | y: 해시 복사 | r: 새로고침 | q: 종료",
259
+ "panel.detail_footer": "위/아래/j/k: 탐색 | RET: 해당 줄에서 파일 열기 | q: 로그로 돌아가기"
260
+ },
261
+ "pt-BR": {
262
+ "cmd.git_log": "Git Log",
263
+ "cmd.git_log_desc": "Mostrar git log em interface estilo magit",
264
+ "cmd.git_log_close": "Git Log: Fechar",
265
+ "cmd.git_log_close_desc": "Fechar o painel git log",
266
+ "cmd.git_log_refresh": "Git Log: Atualizar",
267
+ "cmd.git_log_refresh_desc": "Atualizar o git log",
268
+
269
+ "status.already_open": "Git log ja esta aberto",
270
+ "status.loading": "Carregando git log...",
271
+ "status.no_commits": "Nenhum commit encontrado ou nao e um repositorio git",
272
+ "status.closed": "Git log fechado",
273
+ "status.failed_open": "Falha ao abrir o painel git log",
274
+ "status.refreshing": "Atualizando git log...",
275
+ "status.refreshed": "Git log atualizado: {count} commits",
276
+ "status.log_ready": "Git log: {count} commits | Cima/Baixo: navegar | RET: mostrar | q: sair",
277
+ "status.commit_position": "Commit {current}/{total}",
278
+ "status.move_to_commit": "Mova o cursor para uma linha de commit",
279
+ "status.loading_commit": "Carregando commit {hash}...",
280
+ "status.commit_ready": "Commit {hash} | Cima/Baixo: navegar | RET: abrir arquivo | q: voltar",
281
+ "status.failed_open_details": "Falha ao abrir detalhes do commit",
282
+ "status.hash_copied": "Copiado: {short} ({full})",
283
+ "status.hash_display": "Hash: {hash}",
284
+ "status.git_error": "Erro git log: {error}",
285
+ "status.error_fetching_diff": "Erro ao buscar diff: {error}",
286
+ "status.file_loading": "Carregando {file} em {hash}...",
287
+ "status.file_not_found": "Arquivo {file} nao encontrado no commit {hash}",
288
+ "status.file_view_ready": "{file} @ {hash} (somente leitura) | Destino: linha {line} | q: voltar",
289
+ "status.failed_open_file": "Falha ao abrir {file}",
290
+ "status.move_to_diff_with_context": "Mova o cursor para uma linha de diff com contexto de arquivo",
291
+ "status.move_to_diff": "Mova o cursor para uma linha de diff",
292
+
293
+ "panel.commits_header": "Commits:",
294
+ "panel.no_commits": " Nenhum commit encontrado",
295
+ "panel.log_footer": "{count} commits | Cima/Baixo/j/k: navegar | RET: mostrar | y: copiar hash | r: atualizar | q: sair",
296
+ "panel.detail_footer": "Cima/Baixo/j/k: navegar | RET: abrir arquivo na linha | q: voltar ao log"
297
+ },
298
+ "ru": {
299
+ "cmd.git_log": "Git Log",
300
+ "cmd.git_log_desc": "Pokazat' git log v interfeyse stilya magit",
301
+ "cmd.git_log_close": "Git Log: Zakryt'",
302
+ "cmd.git_log_close_desc": "Zakryt' panel' git log",
303
+ "cmd.git_log_refresh": "Git Log: Obnovit'",
304
+ "cmd.git_log_refresh_desc": "Obnovit' git log",
305
+
306
+ "status.already_open": "Git log uzhe otkryt",
307
+ "status.loading": "Zagruzka git log...",
308
+ "status.no_commits": "Kommity ne naydeny ili eto ne git repozitoriy",
309
+ "status.closed": "Git log zakryt",
310
+ "status.failed_open": "Ne udalos' otkryt' panel' git log",
311
+ "status.refreshing": "Obnovlenie git log...",
312
+ "status.refreshed": "Git log obnovlen: {count} kommitov",
313
+ "status.log_ready": "Git log: {count} kommitov | Vverkh/Vniz: navigatsiya | RET: pokazat' | q: vyyti",
314
+ "status.commit_position": "Kommit {current}/{total}",
315
+ "status.move_to_commit": "Peremesstite kursor na stroku kommita",
316
+ "status.loading_commit": "Zagruzka kommita {hash}...",
317
+ "status.commit_ready": "Kommit {hash} | Vverkh/Vniz: navigatsiya | RET: otkryt' fayl | q: nazad",
318
+ "status.failed_open_details": "Ne udalos' otkryt' detali kommita",
319
+ "status.hash_copied": "Skopirovano: {short} ({full})",
320
+ "status.hash_display": "Khesh: {hash}",
321
+ "status.git_error": "Oshibka git log: {error}",
322
+ "status.error_fetching_diff": "Oshibka polucheniya diff: {error}",
323
+ "status.file_loading": "Zagruzka {file} v {hash}...",
324
+ "status.file_not_found": "Fayl {file} ne nayden v kommite {hash}",
325
+ "status.file_view_ready": "{file} @ {hash} (tol'ko dlya chteniya) | Tsel': stroka {line} | q: nazad",
326
+ "status.failed_open_file": "Ne udalos' otkryt' {file}",
327
+ "status.move_to_diff_with_context": "Peremesstite kursor na stroku diff s kontekstom fayla",
328
+ "status.move_to_diff": "Peremesstite kursor na stroku diff",
329
+
330
+ "panel.commits_header": "Kommity:",
331
+ "panel.no_commits": " Kommity ne naydeny",
332
+ "panel.log_footer": "{count} kommitov | Vverkh/Vniz/j/k: navigatsiya | RET: pokazat' | y: kopirovat' khesh | r: obnovit' | q: vyyti",
333
+ "panel.detail_footer": "Vverkh/Vniz/j/k: navigatsiya | RET: otkryt' fayl na stroke | q: nazad k logu"
334
+ },
335
+ "th": {
336
+ "cmd.git_log": "Git Log",
337
+ "cmd.git_log_desc": "แสดง git log ในอินเทอร์เฟซสไตล์ magit",
338
+ "cmd.git_log_close": "Git Log: ปิด",
339
+ "cmd.git_log_close_desc": "ปิดแผง git log",
340
+ "cmd.git_log_refresh": "Git Log: รีเฟรช",
341
+ "cmd.git_log_refresh_desc": "รีเฟรช git log",
342
+
343
+ "status.already_open": "Git log เปิดอยู่แล้ว",
344
+ "status.loading": "กำลังโหลด git log...",
345
+ "status.no_commits": "ไม่พบคอมมิตหรือไม่ใช่ git repository",
346
+ "status.closed": "ปิด git log แล้ว",
347
+ "status.failed_open": "ไม่สามารถเปิดแผง git log ได้",
348
+ "status.refreshing": "กำลังรีเฟรช git log...",
349
+ "status.refreshed": "รีเฟรช git log แล้ว: {count} คอมมิต",
350
+ "status.log_ready": "Git log: {count} คอมมิต | ขึ้น/ลง: นำทาง | RET: แสดง | q: ออก",
351
+ "status.commit_position": "คอมมิต {current}/{total}",
352
+ "status.move_to_commit": "เลื่อนเคอร์เซอร์ไปที่บรรทัดคอมมิต",
353
+ "status.loading_commit": "กำลังโหลดคอมมิต {hash}...",
354
+ "status.commit_ready": "คอมมิต {hash} | ขึ้น/ลง: นำทาง | RET: เปิดไฟล์ | q: กลับ",
355
+ "status.failed_open_details": "ไม่สามารถเปิดรายละเอียดคอมมิตได้",
356
+ "status.hash_copied": "คัดลอกแล้ว: {short} ({full})",
357
+ "status.hash_display": "แฮช: {hash}",
358
+ "status.git_error": "ข้อผิดพลาด git log: {error}",
359
+ "status.error_fetching_diff": "ข้อผิดพลาดในการดึง diff: {error}",
360
+ "status.file_loading": "กำลังโหลด {file} ที่ {hash}...",
361
+ "status.file_not_found": "ไม่พบไฟล์ {file} ในคอมมิต {hash}",
362
+ "status.file_view_ready": "{file} @ {hash} (อ่านอย่างเดียว) | เป้าหมาย: บรรทัด {line} | q: กลับ",
363
+ "status.failed_open_file": "ไม่สามารถเปิด {file} ได้",
364
+ "status.move_to_diff_with_context": "เลื่อนเคอร์เซอร์ไปที่บรรทัด diff ที่มีบริบทไฟล์",
365
+ "status.move_to_diff": "เลื่อนเคอร์เซอร์ไปที่บรรทัด diff",
366
+
367
+ "panel.commits_header": "คอมมิต:",
368
+ "panel.no_commits": " ไม่พบคอมมิต",
369
+ "panel.log_footer": "{count} คอมมิต | ขึ้น/ลง/j/k: นำทาง | RET: แสดง | y: คัดลอกแฮช | r: รีเฟรช | q: ออก",
370
+ "panel.detail_footer": "ขึ้น/ลง/j/k: นำทาง | RET: เปิดไฟล์ที่บรรทัด | q: กลับไปที่ log"
371
+ },
372
+ "uk": {
373
+ "cmd.git_log": "Git Log",
374
+ "cmd.git_log_desc": "Pokazaty git log v interfeysi stylyu magit",
375
+ "cmd.git_log_close": "Git Log: Zakryty",
376
+ "cmd.git_log_close_desc": "Zakryty panel' git log",
377
+ "cmd.git_log_refresh": "Git Log: Onovyty",
378
+ "cmd.git_log_refresh_desc": "Onovyty git log",
379
+
380
+ "status.already_open": "Git log vzhe vidkryto",
381
+ "status.loading": "Zavantazhennya git log...",
382
+ "status.no_commits": "Komity ne znaydeno abo tse ne git repozytoriy",
383
+ "status.closed": "Git log zakryto",
384
+ "status.failed_open": "Ne vdalosya vidkryty panel' git log",
385
+ "status.refreshing": "Onovlennya git log...",
386
+ "status.refreshed": "Git log onovleno: {count} komitiv",
387
+ "status.log_ready": "Git log: {count} komitiv | Vhoru/Vnyz: navihatsiya | RET: pokazaty | q: vyyty",
388
+ "status.commit_position": "Komit {current}/{total}",
389
+ "status.move_to_commit": "Peremistit' kursor na ryadok komitu",
390
+ "status.loading_commit": "Zavantazhennya komitu {hash}...",
391
+ "status.commit_ready": "Komit {hash} | Vhoru/Vnyz: navihatsiya | RET: vidkryty fayl | q: nazad",
392
+ "status.failed_open_details": "Ne vdalosya vidkryty detali komitu",
393
+ "status.hash_copied": "Skopiyovano: {short} ({full})",
394
+ "status.hash_display": "Khesh: {hash}",
395
+ "status.git_error": "Pomylka git log: {error}",
396
+ "status.error_fetching_diff": "Pomylka otrymannya diff: {error}",
397
+ "status.file_loading": "Zavantazhennya {file} v {hash}...",
398
+ "status.file_not_found": "Fayl {file} ne znaydeno v komiti {hash}",
399
+ "status.file_view_ready": "{file} @ {hash} (til'ky dlya chytannya) | Tsil': ryadok {line} | q: nazad",
400
+ "status.failed_open_file": "Ne vdalosya vidkryty {file}",
401
+ "status.move_to_diff_with_context": "Peremistit' kursor na ryadok diff z kontekstom faylu",
402
+ "status.move_to_diff": "Peremistit' kursor na ryadok diff",
403
+
404
+ "panel.commits_header": "Komity:",
405
+ "panel.no_commits": " Komity ne znaydeno",
406
+ "panel.log_footer": "{count} komitiv | Vhoru/Vnyz/j/k: navihatsiya | RET: pokazaty | y: kopiyuvaty khesh | r: onovyty | q: vyyty",
407
+ "panel.detail_footer": "Vhoru/Vnyz/j/k: navihatsiya | RET: vidkryty fayl na ryadku | q: nazad do lohu"
408
+ },
409
+ "zh-CN": {
188
410
  "cmd.git_log": "Git日志",
189
411
  "cmd.git_log_desc": "以magit风格界面显示git日志",
190
412
  "cmd.git_log_close": "Git日志: 关闭",
@@ -296,6 +296,70 @@ interface CreateVirtualBufferInCurrentSplitOptions {
296
296
  show_cursors?: boolean | null;
297
297
  /** Whether editing is disabled for this buffer (default false) */
298
298
  editing_disabled?: boolean | null;
299
+ /** Whether this buffer should be hidden from tabs (for composite source buffers) */
300
+ hidden_from_tabs?: boolean | null;
301
+ }
302
+
303
+ /** Layout configuration for composite buffers */
304
+ interface TsCompositeLayoutConfig {
305
+ /** Layout type: "side-by-side", "stacked", or "unified" */
306
+ layout_type: string;
307
+ /** Relative widths for side-by-side layout (e.g., [0.5, 0.5]) */
308
+ ratios?: number[] | null;
309
+ /** Show separator between panes */
310
+ show_separator?: boolean | null;
311
+ /** Spacing between stacked panes */
312
+ spacing?: u16 | null;
313
+ }
314
+
315
+ /** Pane style configuration */
316
+ interface TsCompositePaneStyle {
317
+ /** Background color for added lines (RGB tuple) */
318
+ add_bg?: [number, number, number] | null;
319
+ /** Background color for removed lines (RGB tuple) */
320
+ remove_bg?: [number, number, number] | null;
321
+ /** Background color for modified lines (RGB tuple) */
322
+ modify_bg?: [number, number, number] | null;
323
+ /** Gutter style: "line-numbers", "diff-markers", "both", "none" */
324
+ gutter_style?: string | null;
325
+ }
326
+
327
+ /** Source pane configuration for composite buffers */
328
+ interface TsCompositeSourceConfig {
329
+ /** Buffer ID to display in this pane */
330
+ buffer_id: number;
331
+ /** Label for the pane (shown in header) */
332
+ label?: string | null;
333
+ /** Whether the pane is editable */
334
+ editable: boolean;
335
+ /** Pane styling options */
336
+ style?: TsCompositePaneStyle | null;
337
+ }
338
+
339
+ /** Diff hunk configuration */
340
+ interface TsCompositeHunk {
341
+ /** Start line in old file (0-indexed) */
342
+ old_start: number;
343
+ /** Number of lines in old file */
344
+ old_count: number;
345
+ /** Start line in new file (0-indexed) */
346
+ new_start: number;
347
+ /** Number of lines in new file */
348
+ new_count: number;
349
+ }
350
+
351
+ /** Options for creating a composite buffer */
352
+ interface CreateCompositeBufferOptions {
353
+ /** Display name for the composite buffer (shown in tab) */
354
+ name: string;
355
+ /** Mode for keybindings (e.g., "diff-view") */
356
+ mode: string;
357
+ /** Layout configuration */
358
+ layout: TsCompositeLayoutConfig;
359
+ /** Source panes to display */
360
+ sources: TsCompositeSourceConfig[];
361
+ /** Optional diff hunks for line alignment */
362
+ hunks?: TsCompositeHunk[] | null;
299
363
  }
300
364
 
301
365
  /** JavaScript representation of ActionSpec (with optional count) */
@@ -341,6 +405,15 @@ interface EditorAPI {
341
405
  debug(message: string): void;
342
406
 
343
407
  // === Buffer Queries ===
408
+ /**
409
+ * Get the theme JSON Schema for the theme editor
410
+ *
411
+ * Returns the raw JSON Schema generated by schemars for ThemeFile.
412
+ * The schema uses standard JSON Schema format with $ref for type references.
413
+ * Plugins are responsible for parsing the schema and resolving $ref references.
414
+ * @returns JSON Schema object
415
+ */
416
+ getThemeSchema(): unknown;
344
417
  /**
345
418
  * Get the current editor configuration
346
419
  *
@@ -732,6 +805,27 @@ interface EditorAPI {
732
805
  * @returns true if prompt was started successfully
733
806
  */
734
807
  startPromptWithInitial(label: string, prompt_type: string, initial_value: string): boolean;
808
+ /**
809
+ * Create a composite buffer that displays multiple source buffers
810
+ *
811
+ * Composite buffers allow displaying multiple underlying buffers in a single
812
+ * tab/view area with custom layouts (side-by-side, stacked, unified).
813
+ * This is useful for diff views, merge conflict resolution, etc.
814
+ * @param options - Configuration for the composite buffer
815
+ * @returns Promise resolving to the buffer ID of the created composite buffer
816
+ */
817
+ createCompositeBuffer(options: CreateCompositeBufferOptions): Promise<number>;
818
+ /**
819
+ * Update line alignment for a composite buffer
820
+ * @param buffer_id - The composite buffer ID
821
+ * @param hunks - New diff hunks for alignment
822
+ */
823
+ updateCompositeAlignment(buffer_id: number, hunks: TsCompositeHunk[]): boolean;
824
+ /**
825
+ * Close a composite buffer
826
+ * @param buffer_id - The composite buffer ID to close
827
+ */
828
+ closeCompositeBuffer(buffer_id: number): boolean;
735
829
  /**
736
830
  * Send an arbitrary LSP request and receive the raw JSON response
737
831
  * @param language - Language ID (e.g., "cpp")
@@ -12,18 +12,18 @@
12
12
  "status.cancelled": "Live grep cancelled",
13
13
  "prompt.live_grep": "Live grep: "
14
14
  },
15
- "es": {
16
- "cmd.live_grep": "Grep en Vivo (Buscar en Archivos)",
17
- "cmd.live_grep_desc": "Buscar texto en todo el proyecto con vista previa en vivo",
18
- "status.ready": "Grep en Vivo listo - usa la paleta de comandos o asigna 'start_live_grep'",
19
- "status.type_to_search": "Escribe para buscar (min 2 caracteres)...",
20
- "status.found_matches": "Se encontraron {count} coincidencias",
21
- "status.no_matches": "No se encontraron coincidencias",
22
- "status.search_error": "Error de búsqueda: {error}",
23
- "status.opened_file": "Abierto {file}:{line}",
24
- "status.no_file_selected": "Ningún archivo seleccionado",
25
- "status.cancelled": "Grep en vivo cancelado",
26
- "prompt.live_grep": "Grep en vivo: "
15
+ "cs": {
16
+ "cmd.live_grep": "Live Grep (Hledat v souborech)",
17
+ "cmd.live_grep_desc": "Vyhledavani textu v projektu s zivy nahledem",
18
+ "status.ready": "Live Grep pripraven - pouzijte paletu prikazu nebo nastavte 'start_live_grep'",
19
+ "status.type_to_search": "Piste pro vyhledavani (min 2 znaky)...",
20
+ "status.found_matches": "Nalezeno {count} shod",
21
+ "status.no_matches": "Zadne shody nenalezeny",
22
+ "status.search_error": "Chyba vyhledavani: {error}",
23
+ "status.opened_file": "Otevreno {file}:{line}",
24
+ "status.no_file_selected": "Zaden soubor nevybran",
25
+ "status.cancelled": "Live grep zrusen",
26
+ "prompt.live_grep": "Live grep: "
27
27
  },
28
28
  "de": {
29
29
  "cmd.live_grep": "Live Grep (Suche in Dateien)",
@@ -33,38 +33,116 @@
33
33
  "status.found_matches": "{count} Treffer gefunden",
34
34
  "status.no_matches": "Keine Treffer gefunden",
35
35
  "status.search_error": "Suchfehler: {error}",
36
- "status.opened_file": "{file}:{line} geöffnet",
37
- "status.no_file_selected": "Keine Datei ausgewählt",
36
+ "status.opened_file": "{file}:{line} geoffnet",
37
+ "status.no_file_selected": "Keine Datei ausgewahlt",
38
38
  "status.cancelled": "Live Grep abgebrochen",
39
39
  "prompt.live_grep": "Live Grep: "
40
40
  },
41
+ "es": {
42
+ "cmd.live_grep": "Grep en Vivo (Buscar en Archivos)",
43
+ "cmd.live_grep_desc": "Buscar texto en todo el proyecto con vista previa en vivo",
44
+ "status.ready": "Grep en Vivo listo - usa la paleta de comandos o asigna 'start_live_grep'",
45
+ "status.type_to_search": "Escribe para buscar (min 2 caracteres)...",
46
+ "status.found_matches": "Se encontraron {count} coincidencias",
47
+ "status.no_matches": "No se encontraron coincidencias",
48
+ "status.search_error": "Error de busqueda: {error}",
49
+ "status.opened_file": "Abierto {file}:{line}",
50
+ "status.no_file_selected": "Ningun archivo seleccionado",
51
+ "status.cancelled": "Grep en vivo cancelado",
52
+ "prompt.live_grep": "Grep en vivo: "
53
+ },
41
54
  "fr": {
42
55
  "cmd.live_grep": "Grep en Direct (Rechercher dans les Fichiers)",
43
- "cmd.live_grep_desc": "Rechercher du texte dans tout le projet avec aperçu en direct",
44
- "status.ready": "Grep en Direct prêt - utilisez la palette de commandes ou liez 'start_live_grep'",
45
- "status.type_to_search": "Tapez pour rechercher (min 2 caractères)...",
46
- "status.found_matches": "{count} correspondances trouvées",
47
- "status.no_matches": "Aucune correspondance trouvée",
56
+ "cmd.live_grep_desc": "Rechercher du texte dans tout le projet avec apercu en direct",
57
+ "status.ready": "Grep en Direct pret - utilisez la palette de commandes ou liez 'start_live_grep'",
58
+ "status.type_to_search": "Tapez pour rechercher (min 2 caracteres)...",
59
+ "status.found_matches": "{count} correspondances trouvees",
60
+ "status.no_matches": "Aucune correspondance trouvee",
48
61
  "status.search_error": "Erreur de recherche : {error}",
49
62
  "status.opened_file": "Ouvert {file}:{line}",
50
- "status.no_file_selected": "Aucun fichier sélectionné",
51
- "status.cancelled": "Grep en direct annulé",
63
+ "status.no_file_selected": "Aucun fichier selectionne",
64
+ "status.cancelled": "Grep en direct annule",
52
65
  "prompt.live_grep": "Grep en direct : "
53
66
  },
54
67
  "ja": {
55
- "cmd.live_grep": "ライブ Grep (ファイル内検索)",
68
+ "cmd.live_grep": "Live Grep (ファイル内検索)",
56
69
  "cmd.live_grep_desc": "プロジェクト全体をライブプレビュー付きで検索",
57
- "status.ready": "ライブ Grep 準備完了 - コマンドパレットを使用するか 'start_live_grep' をバインド",
70
+ "status.ready": "Live Grep 準備完了 - コマンドパレットを使用するか 'start_live_grep' をバインド",
58
71
  "status.type_to_search": "検索するには入力してください (最小2文字)...",
59
72
  "status.found_matches": "{count} 件の一致が見つかりました",
60
73
  "status.no_matches": "一致するものが見つかりません",
61
74
  "status.search_error": "検索エラー: {error}",
62
75
  "status.opened_file": "{file}:{line} を開きました",
63
76
  "status.no_file_selected": "ファイルが選択されていません",
64
- "status.cancelled": "ライブ grep がキャンセルされました",
65
- "prompt.live_grep": "ライブ grep: "
77
+ "status.cancelled": "Live grep がキャンセルされました",
78
+ "prompt.live_grep": "Live grep: "
79
+ },
80
+ "ko": {
81
+ "cmd.live_grep": "라이브 Grep (파일에서 찾기)",
82
+ "cmd.live_grep_desc": "실시간 미리보기로 프로젝트 전체에서 텍스트 검색",
83
+ "status.ready": "라이브 Grep 준비됨 - 명령 팔레트를 사용하거나 'start_live_grep' 바인딩",
84
+ "status.type_to_search": "검색하려면 입력하세요 (최소 2자)...",
85
+ "status.found_matches": "{count}개의 일치 항목 발견",
86
+ "status.no_matches": "일치 항목 없음",
87
+ "status.search_error": "검색 오류: {error}",
88
+ "status.opened_file": "{file}:{line} 열림",
89
+ "status.no_file_selected": "선택된 파일 없음",
90
+ "status.cancelled": "라이브 grep 취소됨",
91
+ "prompt.live_grep": "라이브 grep: "
92
+ },
93
+ "pt-BR": {
94
+ "cmd.live_grep": "Grep ao Vivo (Buscar em Arquivos)",
95
+ "cmd.live_grep_desc": "Pesquisar texto no projeto com visualizacao ao vivo",
96
+ "status.ready": "Grep ao Vivo pronto - use a paleta de comandos ou vincule 'start_live_grep'",
97
+ "status.type_to_search": "Digite para pesquisar (min 2 caracteres)...",
98
+ "status.found_matches": "{count} correspondencias encontradas",
99
+ "status.no_matches": "Nenhuma correspondencia encontrada",
100
+ "status.search_error": "Erro de pesquisa: {error}",
101
+ "status.opened_file": "Aberto {file}:{line}",
102
+ "status.no_file_selected": "Nenhum arquivo selecionado",
103
+ "status.cancelled": "Grep ao vivo cancelado",
104
+ "prompt.live_grep": "Grep ao vivo: "
105
+ },
106
+ "ru": {
107
+ "cmd.live_grep": "Live Grep (Поиск в файлах)",
108
+ "cmd.live_grep_desc": "Поиск текста по всему проекту с предпросмотром в реальном времени",
109
+ "status.ready": "Live Grep готов - используйте палитру команд или назначьте 'start_live_grep'",
110
+ "status.type_to_search": "Введите для поиска (мин. 2 символа)...",
111
+ "status.found_matches": "Найдено {count} совпадений",
112
+ "status.no_matches": "Совпадения не найдены",
113
+ "status.search_error": "Ошибка поиска: {error}",
114
+ "status.opened_file": "Открыт {file}:{line}",
115
+ "status.no_file_selected": "Файл не выбран",
116
+ "status.cancelled": "Live grep отменен",
117
+ "prompt.live_grep": "Live grep: "
118
+ },
119
+ "th": {
120
+ "cmd.live_grep": "Live Grep (ค้นหาในไฟล์)",
121
+ "cmd.live_grep_desc": "ค้นหาข้อความในโปรเจกต์พร้อมดูตัวอย่างสด",
122
+ "status.ready": "Live Grep พร้อมแล้ว - ใช้พาเลทคำสั่งหรือผูก 'start_live_grep'",
123
+ "status.type_to_search": "พิมพ์เพื่อค้นหา (อย่างน้อย 2 ตัวอักษร)...",
124
+ "status.found_matches": "พบ {count} รายการที่ตรงกัน",
125
+ "status.no_matches": "ไม่พบรายการที่ตรงกัน",
126
+ "status.search_error": "ข้อผิดพลาดการค้นหา: {error}",
127
+ "status.opened_file": "เปิดแล้ว {file}:{line}",
128
+ "status.no_file_selected": "ไม่ได้เลือกไฟล์",
129
+ "status.cancelled": "ยกเลิก Live grep แล้ว",
130
+ "prompt.live_grep": "Live grep: "
131
+ },
132
+ "uk": {
133
+ "cmd.live_grep": "Live Grep (Пошук у файлах)",
134
+ "cmd.live_grep_desc": "Пошук тексту по всьому проекту з попереднім переглядом у реальному часі",
135
+ "status.ready": "Live Grep готовий - використовуйте палітру команд або прив'яжіть 'start_live_grep'",
136
+ "status.type_to_search": "Введіть для пошуку (мін. 2 символи)...",
137
+ "status.found_matches": "Знайдено {count} збігів",
138
+ "status.no_matches": "Збігів не знайдено",
139
+ "status.search_error": "Помилка пошуку: {error}",
140
+ "status.opened_file": "Відкрито {file}:{line}",
141
+ "status.no_file_selected": "Файл не вибрано",
142
+ "status.cancelled": "Live grep скасовано",
143
+ "prompt.live_grep": "Live grep: "
66
144
  },
67
- "zh": {
145
+ "zh-CN": {
68
146
  "cmd.live_grep": "实时 Grep (文件内搜索)",
69
147
  "cmd.live_grep_desc": "在整个项目中搜索文本并实时预览",
70
148
  "status.ready": "实时 Grep 已就绪 - 使用命令面板或绑定 'start_live_grep'",