@fresh-editor/fresh-editor 0.2.21 → 0.2.23

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/CHANGELOG.md CHANGED
@@ -1,5 +1,90 @@
1
1
  # Release Notes
2
2
 
3
+ ## 0.2.23
4
+
5
+ ### Improvements
6
+
7
+ * **Windows-1251 Encoding**: Added support for Windows-1251 (Cyrillic) encoding for loading and saving Cyrillic-script text files (#1453). Available in the encoding selector; auto-detected for text mixing uppercase and lowercase Cyrillic letters.
8
+
9
+ * **Theme Editor and Package Manager**: Multi-panel plugin UIs now behave like native splits — per-panel mouse-wheel scrolling and scrollbars, draggable panel dividers, and the theme editor's own colors now use the active theme.
10
+
11
+ * **File Finder in Command Palette (Ctrl+P)**: Much faster and more responsive on large local and remote trees — file enumeration runs in the background with results streaming in as they're found, typing a path like `etc/hosts` produces instant filesystem-confirmed matches, and ranking now reliably prefers contiguous matches (`results` finds `results.json` first) including multi-term queries that reconstruct a path or identifier (`etc hosts` → `/etc/hosts`, `save file` → `save_file.rs`).
12
+
13
+ * **Review Diff**: Brought back features that were dropped in the rewrite in version 0.2.22: stage, unstage, and discard individual hunks; jump between hunks with `n`/`p`; leave line comments (`c`) and overall session notes (`N`), edit or delete them with confirmation, see notes in the file list panel, and export your review notes to a markdown file. Redesigned toolbar of styled key hints that adapts to the focused panel.
14
+
15
+ * **Keybinding Editor**: Special keys like Esc, Tab, and Enter can now be bound — press Enter on the key field to enter capture mode, then the next keypress is recorded as-is (#1501). Fixed parent modal to be dimmed while a sub-dialog is open.
16
+
17
+ * **Customizable Status Bar**: The left and right sides of the status bar are now configurable via the Settings UI using a new DualList picker (transfer items between Available/Included columns, reorder with arrows). Includes a new `{clock}` element that displays HH:MM with a blinking colon. Thanks @1612elphi!
18
+
19
+ * **LSP Status Bar Indicator**: Simplified to a single color-coded "LSP" label — clicking LSP in the status bar now opens an interactive popup with per-server status and actions (restart, stop, view log).
20
+
21
+ * **Universal LSP Servers**: LSP servers configured for all languages are now spawned once per project instead of once per opened language, eliminating duplicate processes.
22
+
23
+ ### Bug Fixes
24
+
25
+ * **Regression** - Fixed multi-byte UTF-8 characters not being parsed correctly in the input handler, and IME-composed characters delivered as key-up events being ignored on Windows (#1538). Thanks @wellorbetter! Reported by @AugustusZane.
26
+
27
+ * Fixed blank panels appearing after terminal resize.
28
+
29
+ * Fixed terminal mode not being exited when the active buffer is switched to a non-terminal.
30
+
31
+ * Fixed Review Diff hunk navigation (`n`/`p`) not working in the diff panel, files panel not receiving focus on launch, hunk-level comments not displaying (#1503), and deleted-file drill-down crashing.
32
+
33
+ * Fixed Settings UI section headers being invisible in the high-contrast theme.
34
+
35
+ * Fixed word wrap producing single-character-per-line output on narrow terminals with deeply indented code — the hanging indent was being double-counted (#1502).
36
+
37
+ * Fixed LSP completion popup showing duplicate entries when reopened (#1514).
38
+
39
+ * Fixed LSP `auto_start` being ignored on a per-server basis when multiple servers are configured for one language — opening a file no longer drags in every enabled server, only those individually marked `auto_start`.
40
+
41
+ * Fixed mouse input issue - mouse state not being restored in the terminal - after leaving Fresh (Windows only, #1530).
42
+
43
+
44
+ ## 0.2.22
45
+
46
+ ### Features
47
+
48
+ * **Review Diff Rewrite**: The review diff view has been rewritten with a magit-style split-panel UI. The left panel lists files grouped by staged/unstaged/untracked sections (sorted by category), and the right panel shows the diff for the selected file. Navigate with arrow keys, switch focus between panels with Tab, and drill down into individual files. Hunk navigation jumps between changes with auto-centering. Untracked and newly added files are now shown correctly. Diff colors are now theme-aware with per-theme highlight overrides.
49
+
50
+ * **Remote Mode**: SSH connections now auto-reconnect in the background with a disconnected indicator in the status bar. Filesystem operations no longer block the event loop. File explorer roots at the provided remote path instead of the home directory. File finder (Ctrl+P) works on remote filesystems. Error messages are cleaner — hints about SSH installation, and a "Connecting via SSH to ..." message on startup.
51
+
52
+ ### Improvements
53
+
54
+ * **Create Directories on Save**: When saving a file to a path where the parent directory doesn't exist, Fresh now prompts to create the directory instead of failing (#1434).
55
+
56
+ * **Grammar Short Name Aliases**: Grammars can now be referenced by short names (e.g., `"bash"` instead of `"Bourne Again Shell (bash)"`) in config and the Set Language popup. Packages can declare a `shortName` in their grammar definition.
57
+
58
+ * **Default Language Setting**: The `default_language` setting replaces the previous `fallback` object. Set it to a language key (e.g., `"bash"`) so unrecognized file types use that language's full configuration (#1219).
59
+
60
+ * **AutoHotkey Syntax Highlighting**: Built-in grammar for `.ahk` and `.ahk2` files with v1/v2 command coverage.
61
+
62
+ * **Settings UI**: Added inherit/unset support for nullable settings with an Inherit button and inherited badge. The Delete key now unsets a setting override.
63
+
64
+ * **Theme Selector**: Installed theme packages now appear correctly even when multiple themes share the same name. The selector strips URL schemes and sizes the name column to content.
65
+
66
+ * **File Finder (Ctrl+P)**: Fixed showing no files on Windows when git isn't being used.
67
+
68
+ * **Selection Prompts**: Pre-filled text is now selected so typing immediately replaces it.
69
+
70
+ * **Theme Fixes**: Fixed low contrast in Nord, Solarized Dark, Light, and Dracula themes. Fixed command palette selected row using wrong foreground color. Syntax highlighting colors are now preserved in text selections.
71
+
72
+ ### Bug Fixes
73
+
74
+ * Fixed out-of-memory crash caused by an infinite loop in the line-wrapping transform when indentation exceeds half the available width (#1454).
75
+
76
+ * Fixed `didOpen` notification only being sent to the first LSP server when multiple are configured for a language.
77
+
78
+ * Fixed status bar line number not updating when stepping through search matches with F3.
79
+
80
+ * Fixed `.bash_profile` appearing read-only when symlinked to a macOS library path (#1469).
81
+
82
+ * Fixed session `open-file` command failing when a session exists but its name doesn't match the socket.
83
+
84
+ * Fixed scrollbar track hover highlighting more than the hovered cell.
85
+
86
+ * Fixed self-update URL pattern not matching all release URLs.
87
+
3
88
  ## 0.2.21
4
89
 
5
90
  ### Features
@@ -124,7 +209,7 @@ If you use the Vim plugin please drop a note at https://github.com/sinelaw/fresh
124
209
 
125
210
  * **Status Bar Language Info**: Shows "[syntax only]" when a language has no LSP config entry.
126
211
 
127
- * **Fallback Language Config**: Undetected file types now get a fallback language configuration (#1219).
212
+ * **Default Language**: Set `default_language` to a language key (e.g., `"bash"`) so undetected file types use that language's full configuration (#1219). Replaces the previous `fallback` object; the old key is still accepted for backwards compatibility.
128
213
 
129
214
  * **File Deletion Uses Trash**: `removePath` now uses the system trash instead of permanent deletion.
130
215
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fresh-editor/fresh-editor",
3
- "version": "0.2.21",
3
+ "version": "0.2.23",
4
4
  "description": "A modern terminal-based text editor with plugin support",
5
5
  "repository": {
6
6
  "type": "git",