riched 0.1.0__py3-none-any.whl

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.
@@ -0,0 +1,72 @@
1
+ Metadata-Version: 2.4
2
+ Name: riched
3
+ Version: 0.1.0
4
+ Summary: A Textual TUI editor
5
+ Requires-Python: >=3.14
6
+ Requires-Dist: pyyaml>=6.0.3
7
+ Requires-Dist: textual[syntax]>=8.2.4
8
+ Requires-Dist: tree-sitter-typescript>=0.23.2
9
+ Description-Content-Type: text/markdown
10
+
11
+ # Riched
12
+
13
+ `riched` is a TUI editor powered by the [Rich](https://github.com/Textualize/rich) package and the [Textual](https://github.com/Textualize/textual) framework, the name is a nod to Rich.
14
+
15
+ > [!NOTE]
16
+ > `riched` targets Ghostty on macOS. Some key bindings, especially shortcuts
17
+ > that use the Command key, may not work in other terminals or on other
18
+ > operating systems.
19
+
20
+ ## Key Features
21
+
22
+ - Syntax highlighting
23
+ - Resizable project file tree
24
+ - VS Code-style text editing key bindings
25
+
26
+ ## Usage
27
+
28
+ ```sh
29
+ uv sync
30
+ uv run riched .
31
+ uv run python -m tests.runner
32
+ ```
33
+
34
+ ## Key Bindings
35
+
36
+ Key bindings are generated from the YAML in `src/riched/bindings.yaml`.
37
+
38
+ App shortcuts:
39
+
40
+ | Shortcut | Action |
41
+ | --- | --- |
42
+ | `Ctrl+S` | Save |
43
+ | `Ctrl+Q` | Quit |
44
+ | `Ctrl+W` | Close buffer |
45
+ | `F1` | Key bindings |
46
+ | `Cmd+B` / `Super+B` | Toggle file tree |
47
+ | `Cmd+P` / `Super+P` | Quick open |
48
+
49
+ Editor shortcuts:
50
+
51
+ | Shortcut | Action |
52
+ | --- | --- |
53
+ | `Alt+Up` | Move line up |
54
+ | `Alt+Down` | Move line down |
55
+ | `Alt+Shift+Up` / `Shift+Alt+Up` | Copy line up |
56
+ | `Alt+Shift+Down` / `Shift+Alt+Down` | Copy line down |
57
+ | `Alt+Backspace` | Delete word left |
58
+ | `Alt+Shift+Left` / `Shift+Alt+Left` | Select word left |
59
+ | `Alt+Shift+Right` / `Shift+Alt+Right` | Select word right |
60
+ | `Super+L` / `Cmd+L` | Select line |
61
+ | `Shift+Super+Left` / `Super+Shift+Left` / `Shift+Cmd+Left` / `Cmd+Shift+Left` | Select to line start |
62
+ | `Shift+Super+Right` / `Super+Shift+Right` / `Shift+Cmd+Right` / `Cmd+Shift+Right` | Select to line end |
63
+
64
+ ## Settings
65
+
66
+ `riched` persists the selected Textual theme in `settings.yaml` under the user
67
+ config directory: `~/Library/Application Support/riched/settings.yaml`
68
+
69
+ ## Won't Implemented
70
+
71
+ `riched` will not implement key bindings that require users to modify the Ghostty terminal configuration, since terminal-specific configuration makes shortcuts harder to document, test, and support consistently across environments.
72
+
@@ -0,0 +1,13 @@
1
+ riched/__init__.py,sha256=jk3fTx0GnO-2rGEPy12S0_WheBEPY1RDmHZaZVMam14,23
2
+ riched/app.py,sha256=eTVejPG37qCYdxQ_lSWdhj2oDU-d1EzkjvZ4WDutGfg,13621
3
+ riched/bindings.yaml,sha256=6FwHfOhD6vNgorhjwXwwR29mh4D6EEZJex09JL1vQC8,1886
4
+ riched/cli.py,sha256=GaEvloGl-bTqiQtSCDAlE3ZxpKsZiD4JibE2DvDy2oQ,628
5
+ riched/editor.py,sha256=l3WPakgB-gvsRKAicLG6RXR60_vujL00axwJKHtp39M,3370
6
+ riched/keybindings.py,sha256=E8Vq2fO7GvlVr9BzZdbL1ggcsxp9czx5oDYdBkihTwI,3466
7
+ riched/screens.py,sha256=gYHkg_yKXFcmHtWf9fymsq4x6IKEr5W_BJGAjsCc0Og,8666
8
+ riched/settings.py,sha256=pdKSwNM27Sf6lqIbcQuZoKDwtvm0DrStwCqsS7mOXpQ,1166
9
+ riched/syntax.py,sha256=2C0rjEPC_IyBw672UqF3qvPkPT-7CBsSpovM-r7-qso,5624
10
+ riched-0.1.0.dist-info/METADATA,sha256=PrWc8y6_658cVKWZGh8sy4kpOTBoUWpoNfaR8R7LRCE,2192
11
+ riched-0.1.0.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
12
+ riched-0.1.0.dist-info/entry_points.txt,sha256=KxZC9FjAJp4BZJZSXRo34LvpIWEKzcyTY3d5u3qm2uc,43
13
+ riched-0.1.0.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.29.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ riched = riched.cli:main