riched 0.2.0__tar.gz → 0.2.2__tar.gz
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.
- riched-0.2.2/.python-version +1 -0
- {riched-0.2.0 → riched-0.2.2}/AGENTS.md +3 -3
- {riched-0.2.0 → riched-0.2.2}/PKG-INFO +6 -4
- {riched-0.2.0 → riched-0.2.2}/README.md +3 -1
- {riched-0.2.0 → riched-0.2.2}/pyproject.toml +3 -3
- {riched-0.2.0 → riched-0.2.2}/src/riched/bindings.yaml +8 -0
- {riched-0.2.0 → riched-0.2.2}/src/riched/cli.py +6 -0
- {riched-0.2.0 → riched-0.2.2}/src/riched/editor.py +3 -0
- {riched-0.2.0 → riched-0.2.2}/src/riched/keybindings.py +1 -0
- {riched-0.2.0 → riched-0.2.2}/tests/runner.py +14 -0
- riched-0.2.2/tests/test_cli.py +22 -0
- {riched-0.2.0 → riched-0.2.2}/tests/test_editor_shortcuts.py +48 -0
- {riched-0.2.0 → riched-0.2.2}/uv.lock +36 -2
- riched-0.2.0/.python-version +0 -1
- {riched-0.2.0 → riched-0.2.2}/.gitignore +0 -0
- {riched-0.2.0 → riched-0.2.2}/src/riched/__init__.py +0 -0
- {riched-0.2.0 → riched-0.2.2}/src/riched/app.py +0 -0
- {riched-0.2.0 → riched-0.2.2}/src/riched/quick_open.py +0 -0
- {riched-0.2.0 → riched-0.2.2}/src/riched/screens.py +0 -0
- {riched-0.2.0 → riched-0.2.2}/src/riched/settings.py +0 -0
- {riched-0.2.0 → riched-0.2.2}/src/riched/syntax.py +0 -0
- {riched-0.2.0 → riched-0.2.2}/tests/__init__.py +0 -0
- {riched-0.2.0 → riched-0.2.2}/tests/helpers.py +0 -0
- {riched-0.2.0 → riched-0.2.2}/tests/test_command_palette.py +0 -0
- {riched-0.2.0 → riched-0.2.2}/tests/test_dirty_buffers.py +0 -0
- {riched-0.2.0 → riched-0.2.2}/tests/test_file_io.py +0 -0
- {riched-0.2.0 → riched-0.2.2}/tests/test_file_tree.py +0 -0
- {riched-0.2.0 → riched-0.2.2}/tests/test_footer.py +0 -0
- {riched-0.2.0 → riched-0.2.2}/tests/test_quick_open.py +0 -0
- {riched-0.2.0 → riched-0.2.2}/tests/test_syntax.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.12
|
|
@@ -9,13 +9,13 @@ This repository is a uv-managed Python project for `riched`, a Textual TUI edito
|
|
|
9
9
|
- `uv sync`: install project dependencies from `pyproject.toml` and `uv.lock`.
|
|
10
10
|
- `uv run riched path/to/file.txt`: open or create a file in the editor.
|
|
11
11
|
- `uv run python -m tests.runner`: run the Textual Pilot end-to-end suite.
|
|
12
|
-
- `uv build`: build the source distribution and wheel in `dist/`.
|
|
13
|
-
- `uv publish`: publish built distributions for a release
|
|
12
|
+
- `rm -rf dist && uv build`: clear stale artifacts, then build the source distribution and wheel in `dist/`.
|
|
13
|
+
- `set -a; source .env; set +a; uv publish --token "$PYPI_API"`: publish built distributions for a release using the PyPI API key from `.env`.
|
|
14
14
|
- `uv add <package>`: add runtime dependencies; do not use `pip`.
|
|
15
15
|
|
|
16
16
|
## Coding Style & Naming Conventions
|
|
17
17
|
|
|
18
|
-
Use Python 3.
|
|
18
|
+
Use Python 3.12-compatible code with type hints, `from __future__ import annotations`, `Path`, and small focused helpers. Use 4-space indentation. Keep constants in `UPPER_SNAKE_CASE`, classes in `PascalCase`, functions and methods in `snake_case`, and private helpers prefixed with `_`. Prefer Textual widgets and events over manual terminal control. Keep comments brief and only for non-obvious behavior.
|
|
19
19
|
|
|
20
20
|
Keep key bindings in `src/riched/bindings.yaml`, not hardcoded in Python. The F1 hotkey popup is generated from this YAML and displays one user-facing key per binding, preferring `cmd` aliases over `super`.
|
|
21
21
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: riched
|
|
3
|
-
Version: 0.2.
|
|
4
|
-
Summary:
|
|
5
|
-
Requires-Python: >=3.
|
|
3
|
+
Version: 0.2.2
|
|
4
|
+
Summary: TUI editor with VSCode keybindigs
|
|
5
|
+
Requires-Python: >=3.12
|
|
6
6
|
Requires-Dist: pyyaml>=6.0.3
|
|
7
7
|
Requires-Dist: textual[syntax]>=8.2.4
|
|
8
8
|
Requires-Dist: tree-sitter-typescript>=0.23.2
|
|
@@ -10,7 +10,7 @@ Description-Content-Type: text/markdown
|
|
|
10
10
|
|
|
11
11
|
# Riched
|
|
12
12
|
|
|
13
|
-
> TUI editor
|
|
13
|
+
> TUI editor with VSCode keybindigs
|
|
14
14
|
|
|
15
15
|
`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.
|
|
16
16
|
|
|
@@ -32,6 +32,7 @@ Description-Content-Type: text/markdown
|
|
|
32
32
|
```sh
|
|
33
33
|
uv tool install riched
|
|
34
34
|
riched .
|
|
35
|
+
riched --version
|
|
35
36
|
```
|
|
36
37
|
|
|
37
38
|
## Dev
|
|
@@ -72,6 +73,7 @@ Editor shortcuts:
|
|
|
72
73
|
| `⌥⇧←` | Select word left |
|
|
73
74
|
| `⌥⇧→` | Select word right |
|
|
74
75
|
| `⌘L` | Select line |
|
|
76
|
+
| `⌘⇧K` | Delete line |
|
|
75
77
|
| `⌘⇧←` | Select to line start |
|
|
76
78
|
| `⌘⇧→` | Select to line end |
|
|
77
79
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Riched
|
|
2
2
|
|
|
3
|
-
> TUI editor
|
|
3
|
+
> TUI editor with VSCode keybindigs
|
|
4
4
|
|
|
5
5
|
`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.
|
|
6
6
|
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
```sh
|
|
23
23
|
uv tool install riched
|
|
24
24
|
riched .
|
|
25
|
+
riched --version
|
|
25
26
|
```
|
|
26
27
|
|
|
27
28
|
## Dev
|
|
@@ -62,6 +63,7 @@ Editor shortcuts:
|
|
|
62
63
|
| `⌥⇧←` | Select word left |
|
|
63
64
|
| `⌥⇧→` | Select word right |
|
|
64
65
|
| `⌘L` | Select line |
|
|
66
|
+
| `⌘⇧K` | Delete line |
|
|
65
67
|
| `⌘⇧←` | Select to line start |
|
|
66
68
|
| `⌘⇧→` | Select to line end |
|
|
67
69
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "riched"
|
|
3
|
-
version = "0.2.
|
|
4
|
-
description = "
|
|
3
|
+
version = "0.2.2"
|
|
4
|
+
description = "TUI editor with VSCode keybindigs"
|
|
5
5
|
readme = "README.md"
|
|
6
|
-
requires-python = ">=3.
|
|
6
|
+
requires-python = ">=3.12"
|
|
7
7
|
dependencies = [
|
|
8
8
|
"pyyaml>=6.0.3",
|
|
9
9
|
"textual[syntax]>=8.2.4",
|
|
@@ -52,6 +52,14 @@ editor:
|
|
|
52
52
|
action: select_line
|
|
53
53
|
description: Select line
|
|
54
54
|
show: false
|
|
55
|
+
- key: cmd+shift+k,shift+cmd+k,super+shift+k,shift+super+k
|
|
56
|
+
action: delete_line
|
|
57
|
+
description: Delete line
|
|
58
|
+
- key: ctrl+shift+k,shift+ctrl+k
|
|
59
|
+
action: ignore
|
|
60
|
+
description: Ignore inherited delete line
|
|
61
|
+
show: false
|
|
62
|
+
help: false
|
|
55
63
|
- key: shift+super+left,super+shift+left,shift+cmd+left,cmd+shift+left
|
|
56
64
|
action: cursor_line_start(True)
|
|
57
65
|
description: Select to line start
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
import argparse
|
|
4
|
+
from importlib.metadata import version
|
|
4
5
|
from pathlib import Path
|
|
5
6
|
|
|
6
7
|
from .app import RichedApp
|
|
@@ -11,6 +12,11 @@ def main() -> int:
|
|
|
11
12
|
parser = argparse.ArgumentParser(
|
|
12
13
|
prog="riched", description="A minimal Textual TUI text editor."
|
|
13
14
|
)
|
|
15
|
+
parser.add_argument(
|
|
16
|
+
"--version",
|
|
17
|
+
action="version",
|
|
18
|
+
version=f"%(prog)s {version('riched')}",
|
|
19
|
+
)
|
|
14
20
|
parser.add_argument("filename", help="File to open (created on save if missing)")
|
|
15
21
|
args = parser.parse_args()
|
|
16
22
|
|
|
@@ -76,6 +76,7 @@ def binding_help_groups() -> list[KeyBindingHelpGroup]:
|
|
|
76
76
|
editor_rows = tuple(
|
|
77
77
|
(_display_key(item["key"]), item.get("description") or item["action"])
|
|
78
78
|
for item in BINDING_SPEC["editor"]
|
|
79
|
+
if item.get("help", True)
|
|
79
80
|
)
|
|
80
81
|
groups.append(KeyBindingHelpGroup("Editor", editor_rows))
|
|
81
82
|
|
|
@@ -8,6 +8,7 @@ from .test_command_palette import (
|
|
|
8
8
|
test_command_palette_button_is_hidden,
|
|
9
9
|
test_command_palette_omits_maximize,
|
|
10
10
|
)
|
|
11
|
+
from .test_cli import test_version_flag_prints_current_version
|
|
11
12
|
from .test_dirty_buffers import (
|
|
12
13
|
test_close_buffer_clean_enters_no_buffer_state_via_ctrl_w,
|
|
13
14
|
test_close_buffer_dirty_shows_wide_modal_then_cancel,
|
|
@@ -23,8 +24,10 @@ from .test_editor_shortcuts import (
|
|
|
23
24
|
test_cmd_l_repeats_expand_line_selection,
|
|
24
25
|
test_cmd_l_selects_current_line_with_newline,
|
|
25
26
|
test_cmd_l_selects_final_line_without_newline,
|
|
27
|
+
test_cmd_shift_k_deletes_current_line,
|
|
26
28
|
test_cmd_shift_left_selects_to_line_start,
|
|
27
29
|
test_cmd_shift_right_selects_to_line_end,
|
|
30
|
+
test_ctrl_shift_k_does_not_delete_current_line,
|
|
28
31
|
test_copy_line_down,
|
|
29
32
|
test_copy_line_up,
|
|
30
33
|
test_move_line_at_boundaries_is_noop,
|
|
@@ -32,6 +35,7 @@ from .test_editor_shortcuts import (
|
|
|
32
35
|
test_move_line_up,
|
|
33
36
|
test_parser_order_super_shift_line_selection_aliases,
|
|
34
37
|
test_super_l_selects_current_line_alias,
|
|
38
|
+
test_super_shift_k_deletes_current_line_alias,
|
|
35
39
|
test_super_shift_line_selection_aliases,
|
|
36
40
|
test_undo_multiline_insert_that_removes_scrollbar,
|
|
37
41
|
)
|
|
@@ -69,6 +73,7 @@ TESTS: list[tuple[str, Callable[[], Awaitable[None]]]] = [
|
|
|
69
73
|
("open missing file", test_open_missing_file),
|
|
70
74
|
("open directory starts with no buffer", test_open_directory_starts_with_no_buffer),
|
|
71
75
|
("save writes file", test_save_writes_file),
|
|
76
|
+
("cli: version flag prints current version", test_version_flag_prints_current_version),
|
|
72
77
|
("command palette: button hidden", test_command_palette_button_is_hidden),
|
|
73
78
|
("command palette: omit maximize", test_command_palette_omits_maximize),
|
|
74
79
|
("quit clean exits", test_quit_clean_exits),
|
|
@@ -145,6 +150,15 @@ TESTS: list[tuple[str, Callable[[], Awaitable[None]]]] = [
|
|
|
145
150
|
"editor: cmd+l selects final line without newline",
|
|
146
151
|
test_cmd_l_selects_final_line_without_newline,
|
|
147
152
|
),
|
|
153
|
+
("editor: cmd+shift+k deletes current line", test_cmd_shift_k_deletes_current_line),
|
|
154
|
+
(
|
|
155
|
+
"editor: super+shift+k deletes current line alias",
|
|
156
|
+
test_super_shift_k_deletes_current_line_alias,
|
|
157
|
+
),
|
|
158
|
+
(
|
|
159
|
+
"editor: ctrl+shift+k does not delete current line",
|
|
160
|
+
test_ctrl_shift_k_does_not_delete_current_line,
|
|
161
|
+
),
|
|
148
162
|
("editor: cmd+shift+left selects line start", test_cmd_shift_left_selects_to_line_start),
|
|
149
163
|
("editor: cmd+shift+right selects line end", test_cmd_shift_right_selects_to_line_end),
|
|
150
164
|
("editor: super+shift line selection aliases", test_super_shift_line_selection_aliases),
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import subprocess
|
|
4
|
+
import sys
|
|
5
|
+
from importlib.metadata import version
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
async def test_version_flag_prints_current_version() -> None:
|
|
9
|
+
result = subprocess.run(
|
|
10
|
+
[
|
|
11
|
+
sys.executable,
|
|
12
|
+
"-c",
|
|
13
|
+
"from riched.cli import main; raise SystemExit(main())",
|
|
14
|
+
"--version",
|
|
15
|
+
],
|
|
16
|
+
check=False,
|
|
17
|
+
capture_output=True,
|
|
18
|
+
text=True,
|
|
19
|
+
)
|
|
20
|
+
assert result.returncode == 0, result.stderr
|
|
21
|
+
assert result.stdout == f"riched {version('riched')}\n", result.stdout
|
|
22
|
+
assert result.stderr == "", result.stderr
|
|
@@ -229,6 +229,54 @@ async def test_cmd_l_selects_final_line_without_newline() -> None:
|
|
|
229
229
|
assert editor.selected_text == "gamma", repr(editor.selected_text)
|
|
230
230
|
|
|
231
231
|
|
|
232
|
+
async def test_cmd_shift_k_deletes_current_line() -> None:
|
|
233
|
+
tmp, _ = _fresh_env()
|
|
234
|
+
f = tmp / "lines.txt"
|
|
235
|
+
f.write_text("alpha\nbeta\ngamma")
|
|
236
|
+
app = _make_app(f)
|
|
237
|
+
async with app.run_test() as pilot:
|
|
238
|
+
await pilot.pause()
|
|
239
|
+
editor = app.query_one("#editor", TextArea)
|
|
240
|
+
editor.move_cursor((1, 2))
|
|
241
|
+
await pilot.pause()
|
|
242
|
+
await pilot.press("cmd+shift+k")
|
|
243
|
+
await pilot.pause()
|
|
244
|
+
assert editor.text == "alpha\ngamma", repr(editor.text)
|
|
245
|
+
assert editor.cursor_location == (1, 2), editor.cursor_location
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
async def test_super_shift_k_deletes_current_line_alias() -> None:
|
|
249
|
+
tmp, _ = _fresh_env()
|
|
250
|
+
f = tmp / "lines.txt"
|
|
251
|
+
f.write_text("alpha\nbeta\ngamma")
|
|
252
|
+
app = _make_app(f)
|
|
253
|
+
async with app.run_test() as pilot:
|
|
254
|
+
await pilot.pause()
|
|
255
|
+
editor = app.query_one("#editor", TextArea)
|
|
256
|
+
editor.move_cursor((1, 2))
|
|
257
|
+
await pilot.pause()
|
|
258
|
+
await pilot.press("super+shift+k")
|
|
259
|
+
await pilot.pause()
|
|
260
|
+
assert editor.text == "alpha\ngamma", repr(editor.text)
|
|
261
|
+
assert editor.cursor_location == (1, 2), editor.cursor_location
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
async def test_ctrl_shift_k_does_not_delete_current_line() -> None:
|
|
265
|
+
tmp, _ = _fresh_env()
|
|
266
|
+
f = tmp / "lines.txt"
|
|
267
|
+
f.write_text("alpha\nbeta\ngamma")
|
|
268
|
+
app = _make_app(f)
|
|
269
|
+
async with app.run_test() as pilot:
|
|
270
|
+
await pilot.pause()
|
|
271
|
+
editor = app.query_one("#editor", TextArea)
|
|
272
|
+
editor.move_cursor((1, 2))
|
|
273
|
+
await pilot.pause()
|
|
274
|
+
await pilot.press("ctrl+shift+k")
|
|
275
|
+
await pilot.pause()
|
|
276
|
+
assert editor.text == "alpha\nbeta\ngamma", repr(editor.text)
|
|
277
|
+
assert editor.cursor_location == (1, 2), editor.cursor_location
|
|
278
|
+
|
|
279
|
+
|
|
232
280
|
async def test_cmd_shift_left_selects_to_line_start() -> None:
|
|
233
281
|
tmp, _ = _fresh_env()
|
|
234
282
|
f = tmp / "select.txt"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
version = 1
|
|
2
2
|
revision = 3
|
|
3
|
-
requires-python = ">=3.
|
|
3
|
+
requires-python = ">=3.12"
|
|
4
4
|
|
|
5
5
|
[[package]]
|
|
6
6
|
name = "linkify-it-py"
|
|
@@ -76,6 +76,26 @@ version = "6.0.3"
|
|
|
76
76
|
source = { registry = "https://pypi.org/simple" }
|
|
77
77
|
sdist = { url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", size = 130960, upload-time = "2025-09-25T21:33:16.546Z" }
|
|
78
78
|
wheels = [
|
|
79
|
+
{ url = "https://files.pythonhosted.org/packages/d1/33/422b98d2195232ca1826284a76852ad5a86fe23e31b009c9886b2d0fb8b2/pyyaml-6.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196", size = 182063, upload-time = "2025-09-25T21:32:11.445Z" },
|
|
80
|
+
{ url = "https://files.pythonhosted.org/packages/89/a0/6cf41a19a1f2f3feab0e9c0b74134aa2ce6849093d5517a0c550fe37a648/pyyaml-6.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0", size = 173973, upload-time = "2025-09-25T21:32:12.492Z" },
|
|
81
|
+
{ url = "https://files.pythonhosted.org/packages/ed/23/7a778b6bd0b9a8039df8b1b1d80e2e2ad78aa04171592c8a5c43a56a6af4/pyyaml-6.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28", size = 775116, upload-time = "2025-09-25T21:32:13.652Z" },
|
|
82
|
+
{ url = "https://files.pythonhosted.org/packages/65/30/d7353c338e12baef4ecc1b09e877c1970bd3382789c159b4f89d6a70dc09/pyyaml-6.0.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c", size = 844011, upload-time = "2025-09-25T21:32:15.21Z" },
|
|
83
|
+
{ url = "https://files.pythonhosted.org/packages/8b/9d/b3589d3877982d4f2329302ef98a8026e7f4443c765c46cfecc8858c6b4b/pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc", size = 807870, upload-time = "2025-09-25T21:32:16.431Z" },
|
|
84
|
+
{ url = "https://files.pythonhosted.org/packages/05/c0/b3be26a015601b822b97d9149ff8cb5ead58c66f981e04fedf4e762f4bd4/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e", size = 761089, upload-time = "2025-09-25T21:32:17.56Z" },
|
|
85
|
+
{ url = "https://files.pythonhosted.org/packages/be/8e/98435a21d1d4b46590d5459a22d88128103f8da4c2d4cb8f14f2a96504e1/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea", size = 790181, upload-time = "2025-09-25T21:32:18.834Z" },
|
|
86
|
+
{ url = "https://files.pythonhosted.org/packages/74/93/7baea19427dcfbe1e5a372d81473250b379f04b1bd3c4c5ff825e2327202/pyyaml-6.0.3-cp312-cp312-win32.whl", hash = "sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5", size = 137658, upload-time = "2025-09-25T21:32:20.209Z" },
|
|
87
|
+
{ url = "https://files.pythonhosted.org/packages/86/bf/899e81e4cce32febab4fb42bb97dcdf66bc135272882d1987881a4b519e9/pyyaml-6.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b", size = 154003, upload-time = "2025-09-25T21:32:21.167Z" },
|
|
88
|
+
{ url = "https://files.pythonhosted.org/packages/1a/08/67bd04656199bbb51dbed1439b7f27601dfb576fb864099c7ef0c3e55531/pyyaml-6.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd", size = 140344, upload-time = "2025-09-25T21:32:22.617Z" },
|
|
89
|
+
{ url = "https://files.pythonhosted.org/packages/d1/11/0fd08f8192109f7169db964b5707a2f1e8b745d4e239b784a5a1dd80d1db/pyyaml-6.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8", size = 181669, upload-time = "2025-09-25T21:32:23.673Z" },
|
|
90
|
+
{ url = "https://files.pythonhosted.org/packages/b1/16/95309993f1d3748cd644e02e38b75d50cbc0d9561d21f390a76242ce073f/pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1", size = 173252, upload-time = "2025-09-25T21:32:25.149Z" },
|
|
91
|
+
{ url = "https://files.pythonhosted.org/packages/50/31/b20f376d3f810b9b2371e72ef5adb33879b25edb7a6d072cb7ca0c486398/pyyaml-6.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c", size = 767081, upload-time = "2025-09-25T21:32:26.575Z" },
|
|
92
|
+
{ url = "https://files.pythonhosted.org/packages/49/1e/a55ca81e949270d5d4432fbbd19dfea5321eda7c41a849d443dc92fd1ff7/pyyaml-6.0.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5", size = 841159, upload-time = "2025-09-25T21:32:27.727Z" },
|
|
93
|
+
{ url = "https://files.pythonhosted.org/packages/74/27/e5b8f34d02d9995b80abcef563ea1f8b56d20134d8f4e5e81733b1feceb2/pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6", size = 801626, upload-time = "2025-09-25T21:32:28.878Z" },
|
|
94
|
+
{ url = "https://files.pythonhosted.org/packages/f9/11/ba845c23988798f40e52ba45f34849aa8a1f2d4af4b798588010792ebad6/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6", size = 753613, upload-time = "2025-09-25T21:32:30.178Z" },
|
|
95
|
+
{ url = "https://files.pythonhosted.org/packages/3d/e0/7966e1a7bfc0a45bf0a7fb6b98ea03fc9b8d84fa7f2229e9659680b69ee3/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be", size = 794115, upload-time = "2025-09-25T21:32:31.353Z" },
|
|
96
|
+
{ url = "https://files.pythonhosted.org/packages/de/94/980b50a6531b3019e45ddeada0626d45fa85cbe22300844a7983285bed3b/pyyaml-6.0.3-cp313-cp313-win32.whl", hash = "sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26", size = 137427, upload-time = "2025-09-25T21:32:32.58Z" },
|
|
97
|
+
{ url = "https://files.pythonhosted.org/packages/97/c9/39d5b874e8b28845e4ec2202b5da735d0199dbe5b8fb85f91398814a9a46/pyyaml-6.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c", size = 154090, upload-time = "2025-09-25T21:32:33.659Z" },
|
|
98
|
+
{ url = "https://files.pythonhosted.org/packages/73/e8/2bdf3ca2090f68bb3d75b44da7bbc71843b19c9f2b9cb9b0f4ab7a5a4329/pyyaml-6.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb", size = 140246, upload-time = "2025-09-25T21:32:34.663Z" },
|
|
79
99
|
{ url = "https://files.pythonhosted.org/packages/9d/8c/f4bd7f6465179953d3ac9bc44ac1a8a3e6122cf8ada906b4f96c60172d43/pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac", size = 181814, upload-time = "2025-09-25T21:32:35.712Z" },
|
|
80
100
|
{ url = "https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310", size = 173809, upload-time = "2025-09-25T21:32:36.789Z" },
|
|
81
101
|
{ url = "https://files.pythonhosted.org/packages/92/b5/47e807c2623074914e29dabd16cbbdd4bf5e9b2db9f8090fa64411fc5382/pyyaml-6.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7", size = 766454, upload-time = "2025-09-25T21:32:37.966Z" },
|
|
@@ -111,7 +131,7 @@ wheels = [
|
|
|
111
131
|
|
|
112
132
|
[[package]]
|
|
113
133
|
name = "riched"
|
|
114
|
-
version = "0.2.
|
|
134
|
+
version = "0.2.2"
|
|
115
135
|
source = { editable = "." }
|
|
116
136
|
dependencies = [
|
|
117
137
|
{ name = "pyyaml" },
|
|
@@ -169,6 +189,20 @@ version = "0.25.2"
|
|
|
169
189
|
source = { registry = "https://pypi.org/simple" }
|
|
170
190
|
sdist = { url = "https://files.pythonhosted.org/packages/66/7c/0350cfc47faadc0d3cf7d8237a4e34032b3014ddf4a12ded9933e1648b55/tree-sitter-0.25.2.tar.gz", hash = "sha256:fe43c158555da46723b28b52e058ad444195afd1db3ca7720c59a254544e9c20", size = 177961, upload-time = "2025-09-25T17:37:59.751Z" }
|
|
171
191
|
wheels = [
|
|
192
|
+
{ url = "https://files.pythonhosted.org/packages/3c/9e/20c2a00a862f1c2897a436b17edb774e831b22218083b459d0d081c9db33/tree_sitter-0.25.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ddabfff809ffc983fc9963455ba1cecc90295803e06e140a4c83e94c1fa3d960", size = 146941, upload-time = "2025-09-25T17:37:34.813Z" },
|
|
193
|
+
{ url = "https://files.pythonhosted.org/packages/ef/04/8512e2062e652a1016e840ce36ba1cc33258b0dcc4e500d8089b4054afec/tree_sitter-0.25.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c0c0ab5f94938a23fe81928a21cc0fac44143133ccc4eb7eeb1b92f84748331c", size = 137699, upload-time = "2025-09-25T17:37:36.349Z" },
|
|
194
|
+
{ url = "https://files.pythonhosted.org/packages/47/8a/d48c0414db19307b0fb3bb10d76a3a0cbe275bb293f145ee7fba2abd668e/tree_sitter-0.25.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:dd12d80d91d4114ca097626eb82714618dcdfacd6a5e0955216c6485c350ef99", size = 607125, upload-time = "2025-09-25T17:37:37.725Z" },
|
|
195
|
+
{ url = "https://files.pythonhosted.org/packages/39/d1/b95f545e9fc5001b8a78636ef942a4e4e536580caa6a99e73dd0a02e87aa/tree_sitter-0.25.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b43a9e4c89d4d0839de27cd4d6902d33396de700e9ff4c5ab7631f277a85ead9", size = 635418, upload-time = "2025-09-25T17:37:38.922Z" },
|
|
196
|
+
{ url = "https://files.pythonhosted.org/packages/de/4d/b734bde3fb6f3513a010fa91f1f2875442cdc0382d6a949005cd84563d8f/tree_sitter-0.25.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fbb1706407c0e451c4f8cc016fec27d72d4b211fdd3173320b1ada7a6c74c3ac", size = 631250, upload-time = "2025-09-25T17:37:40.039Z" },
|
|
197
|
+
{ url = "https://files.pythonhosted.org/packages/46/f2/5f654994f36d10c64d50a192239599fcae46677491c8dd53e7579c35a3e3/tree_sitter-0.25.2-cp312-cp312-win_amd64.whl", hash = "sha256:6d0302550bbe4620a5dc7649517c4409d74ef18558276ce758419cf09e578897", size = 127156, upload-time = "2025-09-25T17:37:41.132Z" },
|
|
198
|
+
{ url = "https://files.pythonhosted.org/packages/67/23/148c468d410efcf0a9535272d81c258d840c27b34781d625f1f627e2e27d/tree_sitter-0.25.2-cp312-cp312-win_arm64.whl", hash = "sha256:0c8b6682cac77e37cfe5cf7ec388844957f48b7bd8d6321d0ca2d852994e10d5", size = 113984, upload-time = "2025-09-25T17:37:42.074Z" },
|
|
199
|
+
{ url = "https://files.pythonhosted.org/packages/8c/67/67492014ce32729b63d7ef318a19f9cfedd855d677de5773476caf771e96/tree_sitter-0.25.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0628671f0de69bb279558ef6b640bcfc97864fe0026d840f872728a86cd6b6cd", size = 146926, upload-time = "2025-09-25T17:37:43.041Z" },
|
|
200
|
+
{ url = "https://files.pythonhosted.org/packages/4e/9c/a278b15e6b263e86c5e301c82a60923fa7c59d44f78d7a110a89a413e640/tree_sitter-0.25.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f5ddcd3e291a749b62521f71fc953f66f5fd9743973fd6dd962b092773569601", size = 137712, upload-time = "2025-09-25T17:37:44.039Z" },
|
|
201
|
+
{ url = "https://files.pythonhosted.org/packages/54/9a/423bba15d2bf6473ba67846ba5244b988cd97a4b1ea2b146822162256794/tree_sitter-0.25.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bd88fbb0f6c3a0f28f0a68d72df88e9755cf5215bae146f5a1bdc8362b772053", size = 607873, upload-time = "2025-09-25T17:37:45.477Z" },
|
|
202
|
+
{ url = "https://files.pythonhosted.org/packages/ed/4c/b430d2cb43f8badfb3a3fa9d6cd7c8247698187b5674008c9d67b2a90c8e/tree_sitter-0.25.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b878e296e63661c8e124177cc3084b041ba3f5936b43076d57c487822426f614", size = 636313, upload-time = "2025-09-25T17:37:46.68Z" },
|
|
203
|
+
{ url = "https://files.pythonhosted.org/packages/9d/27/5f97098dbba807331d666a0997662e82d066e84b17d92efab575d283822f/tree_sitter-0.25.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d77605e0d353ba3fe5627e5490f0fbfe44141bafa4478d88ef7954a61a848dae", size = 631370, upload-time = "2025-09-25T17:37:47.993Z" },
|
|
204
|
+
{ url = "https://files.pythonhosted.org/packages/d4/3c/87caaed663fabc35e18dc704cd0e9800a0ee2f22bd18b9cbe7c10799895d/tree_sitter-0.25.2-cp313-cp313-win_amd64.whl", hash = "sha256:463c032bd02052d934daa5f45d183e0521ceb783c2548501cf034b0beba92c9b", size = 127157, upload-time = "2025-09-25T17:37:48.967Z" },
|
|
205
|
+
{ url = "https://files.pythonhosted.org/packages/d5/23/f8467b408b7988aff4ea40946a4bd1a2c1a73d17156a9d039bbaff1e2ceb/tree_sitter-0.25.2-cp313-cp313-win_arm64.whl", hash = "sha256:b3f63a1796886249bd22c559a5944d64d05d43f2be72961624278eff0dcc5cb8", size = 113975, upload-time = "2025-09-25T17:37:49.922Z" },
|
|
172
206
|
{ url = "https://files.pythonhosted.org/packages/07/e3/d9526ba71dfbbe4eba5e51d89432b4b333a49a1e70712aa5590cd22fc74f/tree_sitter-0.25.2-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:65d3c931013ea798b502782acab986bbf47ba2c452610ab0776cf4a8ef150fc0", size = 146776, upload-time = "2025-09-25T17:37:50.898Z" },
|
|
173
207
|
{ url = "https://files.pythonhosted.org/packages/42/97/4bd4ad97f85a23011dd8a535534bb1035c4e0bac1234d58f438e15cff51f/tree_sitter-0.25.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:bda059af9d621918efb813b22fb06b3fe00c3e94079c6143fcb2c565eb44cb87", size = 137732, upload-time = "2025-09-25T17:37:51.877Z" },
|
|
174
208
|
{ url = "https://files.pythonhosted.org/packages/b6/19/1e968aa0b1b567988ed522f836498a6a9529a74aab15f09dd9ac1e41f505/tree_sitter-0.25.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eac4e8e4c7060c75f395feec46421eb61212cb73998dbe004b7384724f3682ab", size = 609456, upload-time = "2025-09-25T17:37:52.925Z" },
|
riched-0.2.0/.python-version
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
3.14
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|