@fresh-editor/fresh-editor 0.2.20 → 0.2.22

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.
@@ -32,6 +32,7 @@
32
32
  "default": {
33
33
  "line_numbers": true,
34
34
  "relative_line_numbers": false,
35
+ "highlight_current_line": true,
35
36
  "line_wrap": true,
36
37
  "wrap_indent": true,
37
38
  "wrap_column": null,
@@ -66,10 +67,10 @@
66
67
  "ensure_final_newline_on_save": false,
67
68
  "highlight_matching_brackets": true,
68
69
  "rainbow_brackets": true,
70
+ "completion_popup_auto_show": false,
69
71
  "quick_suggestions": true,
70
72
  "quick_suggestions_delay_ms": 150,
71
73
  "suggest_on_trigger_characters": true,
72
- "accept_suggestion_on_enter": "on",
73
74
  "enable_inlay_hints": true,
74
75
  "enable_semantic_tokens_full": false,
75
76
  "diagnostics_inline_text": false,
@@ -157,17 +158,14 @@
157
158
  },
158
159
  "default": {}
159
160
  },
160
- "fallback": {
161
- "description": "Fallback configuration for files whose type cannot be detected.\nApplied when no extension, filename, glob, or built-in detection matches.\nUseful for setting a default grammar (e.g., \"bash\") and comment_prefix\nfor unrecognized .conf, .rc, .rules, etc. files.",
162
- "anyOf": [
163
- {
164
- "$ref": "#/$defs/LanguageConfig"
165
- },
166
- {
167
- "type": "null"
168
- }
161
+ "default_language": {
162
+ "description": "Default language for files whose type cannot be detected.\nMust reference a key in the `languages` map (e.g., \"bash\").\nApplied when no extension, filename, glob, or built-in detection matches.\nThe referenced language's full configuration (grammar, comment_prefix,\ntab_size, etc.) is used for unrecognized files.",
163
+ "type": [
164
+ "string",
165
+ "null"
169
166
  ],
170
- "default": null
167
+ "default": null,
168
+ "x-enum-from": "/languages"
171
169
  },
172
170
  "lsp": {
173
171
  "description": "LSP server configurations by language.\nEach language maps to one or more server configs (multi-LSP support).\nAccepts both single-object and array forms for backwards compatibility.",
@@ -177,6 +175,14 @@
177
175
  },
178
176
  "default": {}
179
177
  },
178
+ "universal_lsp": {
179
+ "description": "Universal LSP servers that apply to all languages.\nThese servers run alongside language-specific LSP servers defined in `lsp`.\nKeyed by a unique server name (e.g. \"quicklsp\").",
180
+ "type": "object",
181
+ "additionalProperties": {
182
+ "$ref": "#/$defs/LspLanguageConfig"
183
+ },
184
+ "default": {}
185
+ },
180
186
  "warnings": {
181
187
  "description": "Warning notification settings",
182
188
  "$ref": "#/$defs/WarningsConfig",
@@ -251,6 +257,12 @@
251
257
  "default": false,
252
258
  "x-section": "Display"
253
259
  },
260
+ "highlight_current_line": {
261
+ "description": "Highlight the line containing the cursor",
262
+ "type": "boolean",
263
+ "default": true,
264
+ "x-section": "Display"
265
+ },
254
266
  "line_wrap": {
255
267
  "description": "Wrap long lines to fit the window width (default for new views)",
256
268
  "type": "boolean",
@@ -474,8 +486,14 @@
474
486
  "default": true,
475
487
  "x-section": "Bracket Matching"
476
488
  },
489
+ "completion_popup_auto_show": {
490
+ "description": "Automatically show the completion popup while typing.\nWhen false (default), the popup only appears when explicitly invoked\n(e.g. via Ctrl+Space). When true, it appears automatically after a\nshort delay while typing.\nDefault: false",
491
+ "type": "boolean",
492
+ "default": false,
493
+ "x-section": "Completion"
494
+ },
477
495
  "quick_suggestions": {
478
- "description": "Enable quick suggestions (VS Code-like behavior).\nWhen enabled, completion suggestions appear automatically while typing,\nnot just on trigger characters (like `.` or `::`).\nDefault: true",
496
+ "description": "Enable quick suggestions (VS Code-like behavior).\nWhen enabled, completion suggestions appear automatically while typing,\nnot just on trigger characters (like `.` or `::`).\nOnly takes effect when completion_popup_auto_show is true.\nDefault: true",
479
497
  "type": "boolean",
480
498
  "default": true,
481
499
  "x-section": "Completion"
@@ -494,12 +512,6 @@
494
512
  "default": true,
495
513
  "x-section": "Completion"
496
514
  },
497
- "accept_suggestion_on_enter": {
498
- "description": "Controls whether pressing Enter accepts the selected completion.\n - \"on\": Enter always accepts the completion\n - \"off\": Enter inserts a newline (use Tab to accept)\n - \"smart\": Enter accepts only if the completion text differs from typed text\n\nDefault: \"on\"",
499
- "$ref": "#/$defs/AcceptSuggestionOnEnter",
500
- "default": "on",
501
- "x-section": "Completion"
502
- },
503
515
  "enable_inlay_hints": {
504
516
  "description": "Whether to enable LSP inlay hints (type hints, parameter hints, etc.)",
505
517
  "type": "boolean",
@@ -687,16 +699,6 @@
687
699
  ],
688
700
  "default": "lf"
689
701
  },
690
- "AcceptSuggestionOnEnter": {
691
- "description": "Controls whether Enter accepts a completion suggestion",
692
- "type": "string",
693
- "enum": [
694
- "on",
695
- "off",
696
- "smart"
697
- ],
698
- "default": "on"
699
- },
700
702
  "FileExplorerConfig": {
701
703
  "description": "File explorer configuration",
702
704
  "type": "object",
@@ -924,11 +926,6 @@
924
926
  ],
925
927
  "default": null
926
928
  },
927
- "highlighter": {
928
- "description": "Preferred highlighter backend (auto, tree-sitter, or textmate)",
929
- "$ref": "#/$defs/HighlighterPreference",
930
- "default": "auto"
931
- },
932
929
  "textmate_grammar": {
933
930
  "description": "Path to custom TextMate grammar file (optional)\nIf specified, this grammar will be used when highlighter is \"textmate\"",
934
931
  "type": [
@@ -1020,30 +1017,18 @@
1020
1017
  "$ref": "#/$defs/OnSaveAction"
1021
1018
  },
1022
1019
  "default": []
1020
+ },
1021
+ "word_characters": {
1022
+ "description": "Extra characters (beyond alphanumeric and `_`) considered part of\nidentifiers for this language. Used by dabbrev and buffer-word\ncompletion to correctly tokenise language-specific naming conventions.\n\nExamples:\n- Lisp/Clojure/CSS: `\"-\"` (kebab-case identifiers)\n- PHP/Bash: `\"$\"` (variable sigils)\n- Ruby: `\"?!\"` (predicate/bang methods)\n- Rust (default): `\"\"` (standard alphanumeric + underscore)",
1023
+ "type": [
1024
+ "string",
1025
+ "null"
1026
+ ],
1027
+ "default": null
1023
1028
  }
1024
1029
  },
1025
1030
  "x-display-field": "/grammar"
1026
1031
  },
1027
- "HighlighterPreference": {
1028
- "description": "Preference for which syntax highlighting backend to use",
1029
- "oneOf": [
1030
- {
1031
- "description": "Use tree-sitter if available, fall back to TextMate",
1032
- "type": "string",
1033
- "const": "auto"
1034
- },
1035
- {
1036
- "description": "Force tree-sitter only (no highlighting if unavailable)",
1037
- "type": "string",
1038
- "const": "tree-sitter"
1039
- },
1040
- {
1041
- "description": "Force TextMate grammar (skip tree-sitter even if available)",
1042
- "type": "string",
1043
- "const": "textmate"
1044
- }
1045
- ]
1046
- },
1047
1032
  "FormatterConfig": {
1048
1033
  "description": "Formatter configuration for a language",
1049
1034
  "type": "object",
@@ -156,8 +156,14 @@ function onGitExplorerEditorInitialized() {
156
156
  }
157
157
  registerHandler("onGitExplorerEditorInitialized", onGitExplorerEditorInitialized);
158
158
 
159
+ function onGitExplorerFocusGained() {
160
+ refreshGitExplorerDecorations();
161
+ }
162
+ registerHandler("onGitExplorerFocusGained", onGitExplorerFocusGained);
163
+
159
164
  editor.on("after_file_open", "onGitExplorerAfterFileOpen");
160
165
  editor.on("after_file_save", "onGitExplorerAfterFileSave");
161
166
  editor.on("editor_initialized", "onGitExplorerEditorInitialized");
167
+ editor.on("focus_gained", "onGitExplorerFocusGained");
162
168
 
163
169
  refreshGitExplorerDecorations();
@@ -156,6 +156,12 @@ type TsCreateCompositeBufferOptions = {
156
156
  * Diff hunks for alignment (optional)
157
157
  */
158
158
  hunks: Array<TsCompositeHunk> | null;
159
+ /**
160
+ * When set, the first render will scroll to center the Nth hunk (0-indexed).
161
+ * This avoids timing issues with imperative scroll commands that depend on
162
+ * render-created state (viewport dimensions, view state).
163
+ */
164
+ initialFocusHunk?: number;
159
165
  };
160
166
  type ViewportInfo = {
161
167
  /**
@@ -525,6 +531,24 @@ type InlineOverlay = {
525
531
  */
526
532
  properties?: Record<string, any>;
527
533
  };
534
+ type GrammarInfoSnapshot = {
535
+ /**
536
+ * The grammar name as used in config files (case-insensitive matching)
537
+ */
538
+ name: string;
539
+ /**
540
+ * Where this grammar was loaded from (e.g. "built-in", "plugin (myplugin)")
541
+ */
542
+ source: string;
543
+ /**
544
+ * File extensions associated with this grammar
545
+ */
546
+ file_extensions: Array<string>;
547
+ /**
548
+ * Optional short name alias (e.g., "bash" for "Bourne Again Shell (bash)")
549
+ */
550
+ short_name: string | null;
551
+ };
528
552
  type BackgroundProcessResult = {
529
553
  /**
530
554
  * Unique process ID for later reference
@@ -812,6 +836,10 @@ interface EditorAPI {
812
836
  * List all open buffers - returns array of BufferInfo objects
813
837
  */
814
838
  listBuffers(): BufferInfo[];
839
+ /**
840
+ * List all available grammars with source info - returns array of GrammarInfo objects
841
+ */
842
+ listGrammars(): GrammarInfoSnapshot[];
815
843
  debug(msg: string): void;
816
844
  info(msg: string): void;
817
845
  warn(msg: string): void;
@@ -1169,6 +1197,20 @@ interface EditorAPI {
1169
1197
  */
1170
1198
  closeCompositeBuffer(bufferId: number): boolean;
1171
1199
  /**
1200
+ * Force-materialize render-dependent state (like `layoutIfNeeded` in UIKit).
1201
+ * After calling this, commands that depend on view state created during
1202
+ * rendering (e.g., `compositeNextHunk`) will work correctly.
1203
+ */
1204
+ flushLayout(): boolean;
1205
+ /**
1206
+ * Navigate to the next hunk in a composite buffer
1207
+ */
1208
+ compositeNextHunk(bufferId: number): boolean;
1209
+ /**
1210
+ * Navigate to the previous hunk in a composite buffer
1211
+ */
1212
+ compositePrevHunk(bufferId: number): boolean;
1213
+ /**
1172
1214
  * Request syntax highlights for a buffer range (async)
1173
1215
  */
1174
1216
  getHighlights(bufferId: number, start: number, end: number): Promise<TsHighlightSpan[]>;
@@ -12,6 +12,8 @@ export interface VirtualBufferOptions {
12
12
  entries: TextPropertyEntry[];
13
13
  /** Whether to show line numbers (default false) */
14
14
  showLineNumbers?: boolean;
15
+ /** Whether to show cursors (default true) */
16
+ showCursors?: boolean;
15
17
  /** Whether editing is disabled (default true) */
16
18
  editingDisabled?: boolean;
17
19
  /** Whether buffer is read-only (default true) */
@@ -55,6 +57,7 @@ export function createVirtualBufferFactory(editor: EditorAPI) {
55
57
  mode,
56
58
  entries,
57
59
  showLineNumbers = false,
60
+ showCursors,
58
61
  editingDisabled = true,
59
62
  readOnly = true,
60
63
  } = options;
@@ -65,6 +68,7 @@ export function createVirtualBufferFactory(editor: EditorAPI) {
65
68
  readOnly,
66
69
  entries,
67
70
  showLineNumbers,
71
+ showCursors,
68
72
  editingDisabled,
69
73
  });
70
74
  return result.bufferId;
@@ -79,6 +83,7 @@ export function createVirtualBufferFactory(editor: EditorAPI) {
79
83
  mode,
80
84
  entries,
81
85
  showLineNumbers = false,
86
+ showCursors,
82
87
  editingDisabled = true,
83
88
  readOnly = true,
84
89
  } = options;
@@ -90,6 +95,7 @@ export function createVirtualBufferFactory(editor: EditorAPI) {
90
95
  entries,
91
96
  splitId,
92
97
  showLineNumbers,
98
+ showCursors,
93
99
  editingDisabled,
94
100
  });
95
101
  return result.bufferId;
@@ -106,6 +112,7 @@ export function createVirtualBufferFactory(editor: EditorAPI) {
106
112
  ratio = 0.3,
107
113
  panelId,
108
114
  showLineNumbers = false,
115
+ showCursors,
109
116
  editingDisabled = true,
110
117
  readOnly = true,
111
118
  } = options;
@@ -118,6 +125,7 @@ export function createVirtualBufferFactory(editor: EditorAPI) {
118
125
  ratio,
119
126
  panelId,
120
127
  showLineNumbers,
128
+ showCursors,
121
129
  editingDisabled,
122
130
  });
123
131
  return result.bufferId;
@@ -270,6 +270,14 @@
270
270
  "null"
271
271
  ],
272
272
  "default": null
273
+ },
274
+ "shortName": {
275
+ "description": "Optional short name alias for this grammar (e.g., \"hare\").\nMust be unique across all grammars; collisions are rejected with a warning.",
276
+ "type": [
277
+ "string",
278
+ "null"
279
+ ],
280
+ "default": null
273
281
  }
274
282
  },
275
283
  "required": [
@@ -300,7 +300,13 @@
300
300
  "field.punctuation_bracket": "závorka",
301
301
  "field.punctuation_bracket_desc": "závorkas ({, }, (, ), [, ])",
302
302
  "field.punctuation_delimiter": "oddělovač",
303
- "field.punctuation_delimiter_desc": "oddělovačs (;, ,, .)"
303
+ "field.punctuation_delimiter_desc": "oddělovačs (;, ,, .)",
304
+ "suggestion.current_builtin": "(aktuální · vestavěný · pouze pro čtení)",
305
+ "prompt.save_as_builtin_error": "Nelze přepsat vestavěný motiv, zvolte jiný název: ",
306
+ "field.diff_add_highlight_bg": "Zvýraznění přidaného diff",
307
+ "field.diff_add_highlight_bg_desc": "Zvýraznění na úrovni slov pro přidaný obsah",
308
+ "field.diff_remove_highlight_bg": "Zvýraznění odebraného diff",
309
+ "field.diff_remove_highlight_bg_desc": "Zvýraznění na úrovni slov pro odebraný obsah"
304
310
  },
305
311
  "de": {
306
312
  "cmd.edit_theme": "Theme bearbeiten",
@@ -570,6 +576,10 @@
570
576
  "field.diff_add_bg_desc": "Diff added line background",
571
577
  "field.diff_remove_bg": "Diff Removed Background",
572
578
  "field.diff_remove_bg_desc": "Diff removed line background",
579
+ "field.diff_add_highlight_bg": "Diff Hinzugefügt Hervorhebung",
580
+ "field.diff_add_highlight_bg_desc": "Wort-Hervorhebung für hinzugefügten Inhalt",
581
+ "field.diff_remove_highlight_bg": "Diff Entfernt Hervorhebung",
582
+ "field.diff_remove_highlight_bg_desc": "Wort-Hervorhebung für entfernten Inhalt",
573
583
  "field.diff_modify_bg": "Diff Modified Background",
574
584
  "field.diff_modify_bg_desc": "Diff modified line background",
575
585
  "field.status_warning_indicator_bg": "Warning Indicator Background",
@@ -603,7 +613,9 @@
603
613
  "field.punctuation_bracket": "Klammer",
604
614
  "field.punctuation_bracket_desc": "Klammern ({, }, (, ), [, ])",
605
615
  "field.punctuation_delimiter": "Trennzeichen",
606
- "field.punctuation_delimiter_desc": "Trennzeichen (;, ,, .)"
616
+ "field.punctuation_delimiter_desc": "Trennzeichen (;, ,, .)",
617
+ "suggestion.current_builtin": "(aktuell · eingebaut · schreibgeschützt)",
618
+ "prompt.save_as_builtin_error": "Eingebautes Theme kann nicht überschrieben werden, anderen Namen wählen: "
607
619
  },
608
620
  "en": {
609
621
  "cmd.edit_theme": "Edit Theme",
@@ -737,6 +749,10 @@
737
749
  "field.diff_add_bg_desc": "Diff added line background",
738
750
  "field.diff_remove_bg": "Diff Removed Background",
739
751
  "field.diff_remove_bg_desc": "Diff removed line background",
752
+ "field.diff_add_highlight_bg": "Diff Added Highlight",
753
+ "field.diff_add_highlight_bg_desc": "Word-level highlight for added content",
754
+ "field.diff_remove_highlight_bg": "Diff Removed Highlight",
755
+ "field.diff_remove_highlight_bg_desc": "Word-level highlight for removed content",
740
756
  "field.diff_modify_bg": "Diff Modified Background",
741
757
  "field.diff_modify_bg_desc": "Diff modified line background",
742
758
  "field.tab_active_fg": "Active Tab Foreground",
@@ -906,7 +922,9 @@
906
922
  "field.punctuation_bracket": "Punctuation Bracket",
907
923
  "field.punctuation_bracket_desc": "Brackets and parentheses ({, }, (, ), [, ])",
908
924
  "field.punctuation_delimiter": "Punctuation Delimiter",
909
- "field.punctuation_delimiter_desc": "Delimiters and separators (;, ,, .)"
925
+ "field.punctuation_delimiter_desc": "Delimiters and separators (;, ,, .)",
926
+ "suggestion.current_builtin": "(current · built-in · read-only)",
927
+ "prompt.save_as_builtin_error": "Can't override built-in theme, choose a different name: "
910
928
  },
911
929
  "es": {
912
930
  "cmd.edit_theme": "Editar tema",
@@ -1176,6 +1194,10 @@
1176
1194
  "field.diff_add_bg_desc": "Diff added line background",
1177
1195
  "field.diff_remove_bg": "Diff Removed Background",
1178
1196
  "field.diff_remove_bg_desc": "Diff removed line background",
1197
+ "field.diff_add_highlight_bg": "Resaltado Diff Añadido",
1198
+ "field.diff_add_highlight_bg_desc": "Resaltado a nivel de palabra para contenido añadido",
1199
+ "field.diff_remove_highlight_bg": "Resaltado Diff Eliminado",
1200
+ "field.diff_remove_highlight_bg_desc": "Resaltado a nivel de palabra para contenido eliminado",
1179
1201
  "field.diff_modify_bg": "Diff Modified Background",
1180
1202
  "field.diff_modify_bg_desc": "Diff modified line background",
1181
1203
  "field.status_warning_indicator_bg": "Warning Indicator Background",
@@ -1209,7 +1231,9 @@
1209
1231
  "field.punctuation_bracket": "Paréntesis",
1210
1232
  "field.punctuation_bracket_desc": "Paréntesis y corchetes ({, }, (, ), [, ])",
1211
1233
  "field.punctuation_delimiter": "Delimitador",
1212
- "field.punctuation_delimiter_desc": "Delimitadores y separadores (;, ,, .)"
1234
+ "field.punctuation_delimiter_desc": "Delimitadores y separadores (;, ,, .)",
1235
+ "suggestion.current_builtin": "(actual · predefinido · solo lectura)",
1236
+ "prompt.save_as_builtin_error": "No se puede sobrescribir un tema predefinido, elija otro nombre: "
1213
1237
  },
1214
1238
  "fr": {
1215
1239
  "cmd.edit_theme": "Modifier le theme",
@@ -1479,6 +1503,10 @@
1479
1503
  "field.diff_add_bg_desc": "Diff added line background",
1480
1504
  "field.diff_remove_bg": "Diff Removed Background",
1481
1505
  "field.diff_remove_bg_desc": "Diff removed line background",
1506
+ "field.diff_add_highlight_bg": "Surlignage Diff Ajouté",
1507
+ "field.diff_add_highlight_bg_desc": "Surlignage au niveau des mots pour le contenu ajouté",
1508
+ "field.diff_remove_highlight_bg": "Surlignage Diff Supprimé",
1509
+ "field.diff_remove_highlight_bg_desc": "Surlignage au niveau des mots pour le contenu supprimé",
1482
1510
  "field.diff_modify_bg": "Diff Modified Background",
1483
1511
  "field.diff_modify_bg_desc": "Diff modified line background",
1484
1512
  "field.status_warning_indicator_bg": "Warning Indicator Background",
@@ -1512,7 +1540,9 @@
1512
1540
  "field.punctuation_bracket": "Parenthese",
1513
1541
  "field.punctuation_bracket_desc": "Parentheses et crochets ({, }, (, ), [, ])",
1514
1542
  "field.punctuation_delimiter": "Delimiteur",
1515
- "field.punctuation_delimiter_desc": "Delimiteurs et separateurs (;, ,, .)"
1543
+ "field.punctuation_delimiter_desc": "Delimiteurs et separateurs (;, ,, .)",
1544
+ "suggestion.current_builtin": "(actuel · intégré · lecture seule)",
1545
+ "prompt.save_as_builtin_error": "Impossible de remplacer un thème intégré, choisissez un autre nom : "
1516
1546
  },
1517
1547
  "ja": {
1518
1548
  "cmd.edit_theme": "テーマを編集",
@@ -1782,6 +1812,10 @@
1782
1812
  "field.diff_add_bg_desc": "Diff added line background",
1783
1813
  "field.diff_remove_bg": "Diff Removed Background",
1784
1814
  "field.diff_remove_bg_desc": "Diff removed line background",
1815
+ "field.diff_add_highlight_bg": "Diff追加ハイライト",
1816
+ "field.diff_add_highlight_bg_desc": "追加コンテンツの単語レベルハイライト",
1817
+ "field.diff_remove_highlight_bg": "Diff削除ハイライト",
1818
+ "field.diff_remove_highlight_bg_desc": "削除コンテンツの単語レベルハイライト",
1785
1819
  "field.diff_modify_bg": "Diff Modified Background",
1786
1820
  "field.diff_modify_bg_desc": "Diff modified line background",
1787
1821
  "field.status_warning_indicator_bg": "Warning Indicator Background",
@@ -1815,7 +1849,9 @@
1815
1849
  "field.punctuation_bracket": "括弧",
1816
1850
  "field.punctuation_bracket_desc": "括弧 ({、}、(、)、[、])",
1817
1851
  "field.punctuation_delimiter": "区切り文字",
1818
- "field.punctuation_delimiter_desc": "区切り文字 (;、,、.)"
1852
+ "field.punctuation_delimiter_desc": "区切り文字 (;、,、.)",
1853
+ "suggestion.current_builtin": "(現在 · 組み込み · 読み取り専用)",
1854
+ "prompt.save_as_builtin_error": "組み込みテーマは上書きできません。別の名前を入力してください: "
1819
1855
  },
1820
1856
  "ko": {
1821
1857
  "cmd.edit_theme": "편집 Theme",
@@ -2118,7 +2154,13 @@
2118
2154
  "field.punctuation_bracket": "괄호",
2119
2155
  "field.punctuation_bracket_desc": "괄호s ({, }, (, ), [, ])",
2120
2156
  "field.punctuation_delimiter": "구분자",
2121
- "field.punctuation_delimiter_desc": "구분자s (;, ,, .)"
2157
+ "field.punctuation_delimiter_desc": "구분자s (;, ,, .)",
2158
+ "suggestion.current_builtin": "(현재 · 기본 제공 · 읽기 전용)",
2159
+ "prompt.save_as_builtin_error": "기본 제공 테마를 덮어쓸 수 없습니다. 다른 이름을 입력하세요: ",
2160
+ "field.diff_add_highlight_bg": "Diff 추가 하이라이트",
2161
+ "field.diff_add_highlight_bg_desc": "추가된 콘텐츠의 단어 수준 하이라이트",
2162
+ "field.diff_remove_highlight_bg": "Diff 삭제 하이라이트",
2163
+ "field.diff_remove_highlight_bg_desc": "삭제된 콘텐츠의 단어 수준 하이라이트"
2122
2164
  },
2123
2165
  "pt-BR": {
2124
2166
  "cmd.edit_theme": "editar Theme",
@@ -2421,7 +2463,13 @@
2421
2463
  "field.punctuation_bracket": "parêntese",
2422
2464
  "field.punctuation_bracket_desc": "parênteses ({, }, (, ), [, ])",
2423
2465
  "field.punctuation_delimiter": "delimitador",
2424
- "field.punctuation_delimiter_desc": "delimitadors (;, ,, .)"
2466
+ "field.punctuation_delimiter_desc": "delimitadors (;, ,, .)",
2467
+ "suggestion.current_builtin": "(atual · integrado · somente leitura)",
2468
+ "prompt.save_as_builtin_error": "Não é possível sobrescrever tema integrado, escolha outro nome: ",
2469
+ "field.diff_add_highlight_bg": "Destaque Diff Adicionado",
2470
+ "field.diff_add_highlight_bg_desc": "Destaque a nível de palavra para conteúdo adicionado",
2471
+ "field.diff_remove_highlight_bg": "Destaque Diff Removido",
2472
+ "field.diff_remove_highlight_bg_desc": "Destaque a nível de palavra para conteúdo removido"
2425
2473
  },
2426
2474
  "ru": {
2427
2475
  "cmd.edit_theme": "редактировать Theme",
@@ -2724,7 +2772,13 @@
2724
2772
  "field.punctuation_bracket": "скобка",
2725
2773
  "field.punctuation_bracket_desc": "скобкаs ({, }, (, ), [, ])",
2726
2774
  "field.punctuation_delimiter": "разделитель",
2727
- "field.punctuation_delimiter_desc": "разделительs (;, ,, .)"
2775
+ "field.punctuation_delimiter_desc": "разделительs (;, ,, .)",
2776
+ "suggestion.current_builtin": "(текущий · встроенная · только чтение)",
2777
+ "prompt.save_as_builtin_error": "Невозможно перезаписать встроенную тему, выберите другое имя: ",
2778
+ "field.diff_add_highlight_bg": "Подсветка добавленного Diff",
2779
+ "field.diff_add_highlight_bg_desc": "Пословная подсветка добавленного содержимого",
2780
+ "field.diff_remove_highlight_bg": "Подсветка удалённого Diff",
2781
+ "field.diff_remove_highlight_bg_desc": "Пословная подсветка удалённого содержимого"
2728
2782
  },
2729
2783
  "th": {
2730
2784
  "cmd.edit_theme": "แก้ไข Theme",
@@ -3027,7 +3081,13 @@
3027
3081
  "field.punctuation_bracket": "วงเล็บ",
3028
3082
  "field.punctuation_bracket_desc": "วงเล็บs ({, }, (, ), [, ])",
3029
3083
  "field.punctuation_delimiter": "ตัวคั่น",
3030
- "field.punctuation_delimiter_desc": "ตัวคั่นs (;, ,, .)"
3084
+ "field.punctuation_delimiter_desc": "ตัวคั่นs (;, ,, .)",
3085
+ "suggestion.current_builtin": "(ปัจจุบัน · ในตัว · อ่านอย่างเดียว)",
3086
+ "prompt.save_as_builtin_error": "ไม่สามารถเขียนทับธีมในตัวได้ กรุณาเลือกชื่ออื่น: ",
3087
+ "field.diff_add_highlight_bg": "ไฮไลท์ Diff เพิ่ม",
3088
+ "field.diff_add_highlight_bg_desc": "ไฮไลท์ระดับคำสำหรับเนื้อหาที่เพิ่ม",
3089
+ "field.diff_remove_highlight_bg": "ไฮไลท์ Diff ลบ",
3090
+ "field.diff_remove_highlight_bg_desc": "ไฮไลท์ระดับคำสำหรับเนื้อหาที่ลบ"
3031
3091
  },
3032
3092
  "uk": {
3033
3093
  "cmd.edit_theme": "редагувати Theme",
@@ -3330,7 +3390,13 @@
3330
3390
  "field.punctuation_bracket": "дужка",
3331
3391
  "field.punctuation_bracket_desc": "дужкаs ({, }, (, ), [, ])",
3332
3392
  "field.punctuation_delimiter": "роздільник",
3333
- "field.punctuation_delimiter_desc": "роздільникs (;, ,, .)"
3393
+ "field.punctuation_delimiter_desc": "роздільникs (;, ,, .)",
3394
+ "suggestion.current_builtin": "(поточний · вбудована · лише читання)",
3395
+ "prompt.save_as_builtin_error": "Неможливо перезаписати вбудовану тему, виберіть іншу назву: ",
3396
+ "field.diff_add_highlight_bg": "Підсвітка доданого Diff",
3397
+ "field.diff_add_highlight_bg_desc": "Пословна підсвітка доданого вмісту",
3398
+ "field.diff_remove_highlight_bg": "Підсвітка видаленого Diff",
3399
+ "field.diff_remove_highlight_bg_desc": "Пословна підсвітка видаленого вмісту"
3334
3400
  },
3335
3401
  "vi": {
3336
3402
  "cmd.edit_theme": "Chỉnh sửa giao diện",
@@ -3633,7 +3699,13 @@
3633
3699
  "field.punctuation_bracket": "Dấu ngoặc",
3634
3700
  "field.punctuation_bracket_desc": "Dấu ngoặc ({, }, (, ), [, ])",
3635
3701
  "field.punctuation_delimiter": "Dấu phân cách",
3636
- "field.punctuation_delimiter_desc": "Dấu phân cách (;, ,, .)"
3702
+ "field.punctuation_delimiter_desc": "Dấu phân cách (;, ,, .)",
3703
+ "suggestion.current_builtin": "(hiện tại · có sẵn · chỉ đọc)",
3704
+ "prompt.save_as_builtin_error": "Không thể ghi đè chủ đề có sẵn, chọn tên khác: ",
3705
+ "field.diff_add_highlight_bg": "Tô sáng Diff thêm",
3706
+ "field.diff_add_highlight_bg_desc": "Tô sáng mức từ cho nội dung được thêm",
3707
+ "field.diff_remove_highlight_bg": "Tô sáng Diff xóa",
3708
+ "field.diff_remove_highlight_bg_desc": "Tô sáng mức từ cho nội dung bị xóa"
3637
3709
  },
3638
3710
  "zh-CN": {
3639
3711
  "cmd.edit_theme": "编辑主题",
@@ -3903,6 +3975,10 @@
3903
3975
  "field.diff_add_bg_desc": "Diff added line background",
3904
3976
  "field.diff_remove_bg": "Diff Removed Background",
3905
3977
  "field.diff_remove_bg_desc": "Diff removed line background",
3978
+ "field.diff_add_highlight_bg": "Diff添加高亮",
3979
+ "field.diff_add_highlight_bg_desc": "添加内容的词级高亮",
3980
+ "field.diff_remove_highlight_bg": "Diff删除高亮",
3981
+ "field.diff_remove_highlight_bg_desc": "删除内容的词级高亮",
3906
3982
  "field.diff_modify_bg": "Diff Modified Background",
3907
3983
  "field.diff_modify_bg_desc": "Diff modified line background",
3908
3984
  "field.status_warning_indicator_bg": "Warning Indicator Background",
@@ -3936,7 +4012,9 @@
3936
4012
  "field.punctuation_bracket": "括号",
3937
4013
  "field.punctuation_bracket_desc": "括号 ({、}、(、)、[、])",
3938
4014
  "field.punctuation_delimiter": "分隔符",
3939
- "field.punctuation_delimiter_desc": "分隔符 (;、,、.)"
4015
+ "field.punctuation_delimiter_desc": "分隔符 (;、,、.)",
4016
+ "suggestion.current_builtin": "(当前 · 内置 · 只读)",
4017
+ "prompt.save_as_builtin_error": "无法覆盖内置主题,请选择其他名称: "
3940
4018
  },
3941
4019
  "it": {
3942
4020
  "cmd.edit_theme": "Modifica tema",
@@ -4239,6 +4317,12 @@
4239
4317
  "field.punctuation_bracket": "Parentesi",
4240
4318
  "field.punctuation_bracket_desc": "Parentesi e parentesi quadre ({, }, (, ), [, ])",
4241
4319
  "field.punctuation_delimiter": "Delimitatore",
4242
- "field.punctuation_delimiter_desc": "Delimitatori e separatori (;, ,, .)"
4320
+ "field.punctuation_delimiter_desc": "Delimitatori e separatori (;, ,, .)",
4321
+ "suggestion.current_builtin": "(corrente · integrato · sola lettura)",
4322
+ "prompt.save_as_builtin_error": "Impossibile sovrascrivere il tema integrato, scegli un altro nome: ",
4323
+ "field.diff_add_highlight_bg": "Evidenziazione Diff Aggiunta",
4324
+ "field.diff_add_highlight_bg_desc": "Evidenziazione a livello di parola per contenuto aggiunto",
4325
+ "field.diff_remove_highlight_bg": "Evidenziazione Diff Rimossa",
4326
+ "field.diff_remove_highlight_bg_desc": "Evidenziazione a livello di parola per contenuto rimosso"
4243
4327
  }
4244
4328
  }