@fresh-editor/fresh-editor 0.1.94 → 0.1.96

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,31 @@
1
1
  # Release Notes
2
2
 
3
+ ## 0.1.96
4
+
5
+ ### Features
6
+
7
+ * **Visual Line Movement**: Up/Down arrows now move by visual lines when line wrap is enabled, matching expected behavior in wrapped text.
8
+
9
+ ### Bug Fixes
10
+
11
+ * Fixed excessive filesystem polling during render, especially on remote filesystems like rclone mounts (#886).
12
+
13
+ ### Packaging
14
+
15
+ * **FreeBSD Release**: FreeBSD x86_64 binaries now included in releases (#887).
16
+
17
+ ---
18
+
19
+ ## 0.1.95
20
+
21
+ ### Bug Fixes
22
+
23
+ * Fixed data corruption issue when saving a large file multiple times (#882)
24
+
25
+ * Fixed hidden menus showing up when using left/right arrow keys to move between menus
26
+
27
+ * Fixed language pack plugins not being loaded properly in some cases
28
+
3
29
  ## 0.1.94
4
30
 
5
31
  ### Documentation
package/README.md CHANGED
@@ -40,10 +40,10 @@ Fresh is engineered for speed. It delivers a low-latency experience, with text a
40
40
  - **Plugins & Extensibility**: TypeScript plugins, color highlighter, TODO highlighter, merge conflicts, path complete, keymaps
41
41
  - **Internationalization**: Multiple language support (see [`locales/`](locales/) for available languages), plugin translation system
42
42
 
43
- ![Fresh Demo](docs/public/assets/fresh-demo2.gif)
44
- ![Fresh Screenshot](docs/public/assets/screenshot1.png)
45
- ![Fresh Screenshot](docs/public/assets/screenshot2.png)
46
- ![Fresh Screenshot](docs/public/assets/screenshot3.png)
43
+ ![Fresh Demo](docs/fresh-demo2.gif)
44
+ ![Fresh Screenshot](docs/public/images/screenshot1.png)
45
+ ![Fresh Screenshot](docs/public/images/screenshot2.png)
46
+ ![Fresh Screenshot](docs/public/images/screenshot3.png)
47
47
 
48
48
  ## Installation
49
49
 
@@ -72,7 +72,7 @@ Or, pick your preferred method:
72
72
 
73
73
  On macOS and some linux distros (Bazzite/Bluefin/Aurora):
74
74
 
75
- > **Note:** On macOS, see [macOS Terminal Tips](docs/USER_GUIDE.md#macos-terminal-tips) for recommended terminal configuration.
75
+ > **Note:** On macOS, see [macOS Terminal Tips](https://getfresh.dev/docs/configuration/keyboard#macos-terminal-tips) for recommended terminal configuration.
76
76
 
77
77
  ```bash
78
78
  brew tap sinelaw/fresh
@@ -219,10 +219,9 @@ cargo build --release
219
219
 
220
220
  ## Documentation
221
221
 
222
- - [User Guide](https://sinelaw.github.io/fresh/docs/guide/)
223
- - [macOS Tips](https://sinelaw.github.io/fresh/docs/guide/keyboard#macos-terminal-configuration) - Terminal configuration, keyboard shortcuts, and troubleshooting for Mac users
224
- - [Plugin Development](https://sinelaw.github.io/fresh/docs/development/plugin-development)
225
- - [Architecture](https://sinelaw.github.io/fresh/docs/development/architecture)
222
+ - [User Guide](https://getfresh.dev/docs)
223
+ - [macOS Tips](https://getfresh.dev/docs/configuration/keyboard#macos-terminal-tips) - Terminal configuration, keyboard shortcuts, and troubleshooting for Mac users
224
+ - [Plugin Development](https://getfresh.dev/docs/plugins/development)
226
225
 
227
226
  ## Contributing
228
227
 
@@ -242,7 +241,10 @@ Thanks for contributing!
242
241
 
243
242
  7. **LSP**: Ensure LSP interactions follow the correct lifecycle (e.g., `didOpen` must always precede other requests to avoid server-side errors). Use the appropriate existing helpers for this pattern.
244
243
 
245
- 8. **Regenerate plugin types**: After modifying the plugin API, run `cargo test -p fresh-plugin-runtime write_fresh_dts_file -- --ignored`
244
+ 8. **Regenerate plugin types and schemas**: After modifying the plugin API or config types:
245
+ - **TypeScript definitions** (`plugins/lib/fresh.d.ts`): Auto-generated from Rust types with `#[derive(TS)]`. Run: `cargo test -p fresh-plugin-runtime write_fresh_dts_file -- --ignored`
246
+ - **JSON schemas** (`plugins/config-schema.json`, `plugins/schemas/theme.schema.json`): Auto-generated from Rust types with `#[derive(JsonSchema)]`. Run: `./scripts/gen_schema.sh`
247
+ - **Package schema** (`plugins/schemas/package.schema.json`): Manually maintained - edit directly when adding new language pack fields
246
248
 
247
249
  9. **Type check plugins**: Run `crates/fresh-editor/plugins/check-types.sh` (requires `tsc`)
248
250
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fresh-editor/fresh-editor",
3
- "version": "0.1.94",
3
+ "version": "0.1.96",
4
4
  "description": "A modern terminal-based text editor with plugin support",
5
5
  "repository": {
6
6
  "type": "git",
@@ -559,6 +559,11 @@ type LanguagePackConfig = {
559
559
  */
560
560
  autoIndent: boolean | null;
561
561
  /**
562
+ * Whether to show whitespace tab indicators (→) for this language
563
+ * Defaults to true. Set to false for languages like Go/Hare that use tabs for indentation.
564
+ */
565
+ showWhitespaceTabs: boolean | null;
566
+ /**
562
567
  * Formatter configuration
563
568
  */
564
569
  formatter: FormatterPackConfig | null;
package/plugins/pkg.ts CHANGED
@@ -92,6 +92,7 @@ interface PackageManifest {
92
92
  useTabs?: boolean;
93
93
  tabSize?: number;
94
94
  autoIndent?: boolean;
95
+ showWhitespaceTabs?: boolean;
95
96
  formatter?: {
96
97
  command: string;
97
98
  args?: string[];
@@ -828,6 +829,7 @@ async function loadLanguagePack(packageDir: string, manifest: PackageManifest):
828
829
  useTabs: lang.useTabs ?? null,
829
830
  tabSize: lang.tabSize ?? null,
830
831
  autoIndent: lang.autoIndent ?? null,
832
+ showWhitespaceTabs: lang.showWhitespaceTabs ?? null,
831
833
  formatter: lang.formatter ? {
832
834
  command: lang.formatter.command,
833
835
  args: lang.formatter.args ?? [],
@@ -98,7 +98,7 @@
98
98
  "properties": {
99
99
  "file": {
100
100
  "type": "string",
101
- "description": "Path to TextMate grammar file (.tmLanguage.json)"
101
+ "description": "Path to grammar file (.sublime-syntax recommended, or .tmLanguage)"
102
102
  },
103
103
  "extensions": {
104
104
  "type": "array",
@@ -140,6 +140,10 @@
140
140
  "type": "boolean",
141
141
  "description": "Enable automatic indentation"
142
142
  },
143
+ "showWhitespaceTabs": {
144
+ "type": "boolean",
145
+ "description": "Whether to show whitespace tab indicators (→). Defaults to true. Set to false for languages like Go/Hare that use tabs for indentation."
146
+ },
143
147
  "formatter": {
144
148
  "type": "object",
145
149
  "required": ["command"],