@fresh-editor/fresh-editor 0.1.55 → 0.1.56

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,26 @@
1
1
  # Release Notes
2
2
 
3
+ ## 0.1.56
4
+
5
+ ### Features
6
+
7
+ * **Per-Language Tab Settings**: Added `use_tabs` and `show_whitespace_tabs` config options per language. Go and Makefile default to tabs (#364).
8
+ * **AppImage Packaging**: AppImage bundles now included in GitHub releases (#365).
9
+ * **Terminal Color Detection**: Auto-detection of terminal color capabilities with fallback to 256 colors. Override via `FRESH_COLOR_MODE`.
10
+ * **TOML Syntax Highlighting**: Added embedded TextMate grammar for TOML files.
11
+ * **Language Detection by Filename**: Detect languages by filename (`.bashrc`, `Makefile`, `Dockerfile`, etc.) (#383).
12
+ * **Minimal Config Saves**: Config file only saves non-default fields.
13
+ * **Settings UI**: Mouse click/double-click support, hover effects, improved scrolling.
14
+
15
+ ### Bug Fixes
16
+
17
+ * **LSP**: Improved error messages when server not found (#363). Fixed didOpen ordering (#399). Check diagnosticProvider capability before pull diagnostics (#399).
18
+ * **Terminal Mode Reset**: Fixed terminal_mode not being reset when closing a terminal buffer.
19
+ * **cargo-binstall**: Fixed missing binaries warning (#388).
20
+ * **macOS Keybinding Display**: Fixed showing ⌘ instead of Ctrl (#356).
21
+ * **tmux Truecolor**: Fixed detection when `COLORTERM=truecolor` is set.
22
+ * **RPM Upgrade**: Fixed upgrade failing when older version installed (#387).
23
+
3
24
  ## 0.1.54
4
25
 
5
26
  ### Features
package/README.md CHANGED
@@ -1,11 +1,9 @@
1
1
  # Fresh
2
2
 
3
- [Visit the official Fresh website](https://sinelaw.github.io/fresh/)
3
+ A terminal-based text editor. [Official Website →](https://sinelaw.github.io/fresh/)
4
4
 
5
5
  **[📦 Installation Instructions](#installation)**
6
6
 
7
- A terminal-based text editor.
8
-
9
7
  ## Why?
10
8
 
11
9
  Why another text editor? Fresh brings the intuitive, conventional UX of editors like VS Code and Sublime Text to the terminal.
@@ -45,13 +43,20 @@ Fresh is engineered for speed. It delivers a low-latency experience, with text a
45
43
 
46
44
  ## Installation
47
45
 
46
+ Quick install (autodetect best method):
47
+
48
+ `curl https://raw.githubusercontent.com/sinelaw/fresh/refs/heads/master/scripts/install.sh | sh`
49
+
50
+ Or, pick your preferred method:
51
+
48
52
  | Platform | Method |
49
53
  |----------|--------|
50
- | macOS | [Homebrew](#macos-homebrew) |
54
+ | macOS | [brew](#brew) |
55
+ | Bazzite/Bluefin/Aurora Linux | [brew](#brew) |
51
56
  | Arch Linux | [AUR](#arch-linux-aur) |
52
57
  | Debian/Ubuntu | [.deb](#debianubuntu-deb) |
53
58
  | Fedora/RHEL | [.rpm](#fedorarhelopensuse-rpm) |
54
- | Linux (any distro) | [Flatpak](#flatpak) |
59
+ | Linux (any distro) | [AppImage](#appimage), [Flatpak](#flatpak) |
55
60
  | All platforms | [Pre-built binaries](#pre-built-binaries) |
56
61
  | npm | [npm / npx](#npm) |
57
62
  | Rust users (Fast) | [cargo-binstall](#using-cargo-binstall) |
@@ -59,7 +64,9 @@ Fresh is engineered for speed. It delivers a low-latency experience, with text a
59
64
  | Nix | [Nix flakes](#nix-flakes) |
60
65
  | Developers | [From source](#from-source) |
61
66
 
62
- ### macOS (Homebrew)
67
+ ### Brew
68
+
69
+ On macOS and some linux distros (Bazzite/Bluefin/Aurora):
63
70
 
64
71
  ```bash
65
72
  brew tap sinelaw/fresh
@@ -109,11 +116,31 @@ Or download the `.deb` file manually from the [releases page](https://github.com
109
116
  Download and install the latest release:
110
117
 
111
118
  ```bash
112
- curl -sL $(curl -s https://api.github.com/repos/sinelaw/fresh/releases/latest | grep "browser_download_url.*\.$(uname -m)\.rpm" | cut -d '"' -f 4) -o fresh-editor.rpm && sudo rpm -i fresh-editor.rpm
119
+ curl -sL $(curl -s https://api.github.com/repos/sinelaw/fresh/releases/latest | grep "browser_download_url.*\.$(uname -m)\.rpm" | cut -d '"' -f 4) -o fresh-editor.rpm && sudo rpm -U fresh-editor.rpm
113
120
  ```
114
121
 
115
122
  Or download the `.rpm` file manually from the [releases page](https://github.com/sinelaw/fresh/releases).
116
123
 
124
+ ### AppImage
125
+
126
+ Download the `.AppImage` file from the [releases page](https://github.com/sinelaw/fresh/releases) and run:
127
+
128
+ ```bash
129
+ chmod +x fresh-editor-VERSION-x86_64.AppImage
130
+ ./fresh-editor-VERSION-x86_64.AppImage
131
+ ```
132
+
133
+ **For faster startup** (recommended): Extract the AppImage instead of running it directly. This avoids the FUSE mount overhead on each launch (~10x faster):
134
+
135
+ ```bash
136
+ ./fresh-editor-VERSION-x86_64.AppImage --appimage-extract
137
+ mkdir -p ~/.local/share/fresh-editor ~/.local/bin
138
+ mv squashfs-root/* ~/.local/share/fresh-editor/
139
+ ln -sf ~/.local/share/fresh-editor/usr/bin/fresh ~/.local/bin/fresh
140
+ ```
141
+
142
+ Ensure `~/.local/bin` is in your PATH. Available for x86_64 and aarch64 architectures.
143
+
117
144
  ### Flatpak
118
145
 
119
146
  Download the `.flatpak` bundle from the [releases page](https://github.com/sinelaw/fresh/releases) and install:
@@ -183,16 +210,6 @@ cd fresh
183
210
  cargo build --release
184
211
  ./target/release/fresh [file]
185
212
  ```
186
- #### For immutable distros (Bazzite, ublue, aurora, etc.)
187
- Install Rust via HomeBrew first
188
- ```bash
189
- brew install rust
190
- ```
191
- Follow the `From source` instructions above, then copy the binary your home local bin folder.
192
- ```bash
193
- cp ./target/release/fresh ~/.local/bin
194
- fresh
195
- ```
196
213
 
197
214
  ## Documentation
198
215
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fresh-editor/fresh-editor",
3
- "version": "0.1.55",
3
+ "version": "0.1.56",
4
4
  "description": "A modern terminal-based text editor with plugin support",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1049,7 +1049,15 @@
1049
1049
  "type": "object",
1050
1050
  "properties": {
1051
1051
  "extensions": {
1052
- "description": "File extensions for this language",
1052
+ "description": "File extensions for this language (e.g., [\"rs\"] for Rust)",
1053
+ "type": "array",
1054
+ "items": {
1055
+ "type": "string"
1056
+ },
1057
+ "default": []
1058
+ },
1059
+ "filenames": {
1060
+ "description": "Exact filenames for this language (e.g., [\"Makefile\", \"GNUmakefile\"])",
1053
1061
  "type": "array",
1054
1062
  "items": {
1055
1063
  "type": "string"
@@ -1086,6 +1094,16 @@
1086
1094
  "null"
1087
1095
  ],
1088
1096
  "default": null
1097
+ },
1098
+ "show_whitespace_tabs": {
1099
+ "description": "Whether to show whitespace tab indicators (→) for this language\nDefaults to true. Set to false for languages like Go that use tabs for indentation.",
1100
+ "type": "boolean",
1101
+ "default": true
1102
+ },
1103
+ "use_tabs": {
1104
+ "description": "Whether pressing Tab should insert a tab character instead of spaces.\nDefaults to false (insert spaces based on tab_size).\nSet to true for languages like Go and Makefile that require tabs.",
1105
+ "type": "boolean",
1106
+ "default": false
1089
1107
  }
1090
1108
  }
1091
1109
  },
@@ -1288,6 +1306,18 @@
1288
1306
  "label",
1289
1307
  "items"
1290
1308
  ]
1309
+ },
1310
+ {
1311
+ "description": "A disabled info label (no action)",
1312
+ "type": "object",
1313
+ "properties": {
1314
+ "info": {
1315
+ "type": "string"
1316
+ }
1317
+ },
1318
+ "required": [
1319
+ "info"
1320
+ ]
1291
1321
  }
1292
1322
  ]
1293
1323
  }