|
1 | 1 | """ |
2 | | -This file allows us to use a custom `number_small` capture. See #1021 for more |
3 | | -info. |
| 2 | +DEPRECATED @ 2024-12-21 |
| 3 | +This file allows us to use a custom `number_small` capture. See #1021 for more info. |
4 | 4 | """ |
5 | 5 |
|
6 | | -from talon import Context, Module |
| 6 | +from talon import Module, app, registry |
7 | 7 |
|
8 | 8 | mod = Module() |
9 | | -mod.tag( |
10 | | - "cursorless_custom_number_small", |
11 | | - "This tag causes Cursorless to use the global <number_small> capture", |
12 | | -) |
13 | 9 |
|
14 | | -ctx = Context() |
15 | | -ctx.matches = """ |
16 | | -not tag: user.cursorless_custom_number_small |
17 | | -""" |
18 | | - |
19 | | - |
20 | | -@mod.capture(rule="<number_small>") |
21 | | -def private_cursorless_number_small(m) -> int: |
22 | | - return m.number_small |
23 | | - |
24 | | - |
25 | | -digit_list = "zero one two three four five six seven eight nine".split() |
26 | | -teens = "ten eleven twelve thirteen fourteen fifteen sixteen seventeen eighteen nineteen".split() |
27 | | -tens = "twenty thirty forty fifty sixty seventy eighty ninety".split() |
| 10 | +mod.tag("cursorless_custom_number_small", "DEPRECATED!") |
28 | 11 |
|
29 | | -number_small_list = [*digit_list, *teens] |
30 | | -for ten in tens: |
31 | | - number_small_list.append(ten) |
32 | | - number_small_list.extend(f"{ten} {digit}" for digit in digit_list[1:]) |
33 | | -number_small_map = {n: i for i, n in enumerate(number_small_list)} |
34 | 12 |
|
35 | | -mod.list("private_cursorless_number_small", desc="List of small numbers") |
36 | | -# FIXME: Remove type ignore once Talon supports list types |
37 | | -# See https://github.com/talonvoice/talon/issues/654 |
38 | | -ctx.lists["self.private_cursorless_number_small"] = number_small_map.keys() # pyright: ignore [reportArgumentType] |
| 13 | +def on_ready(): |
| 14 | + if "user.cursorless_custom_number_small" in registry.tags: |
| 15 | + print( |
| 16 | + "WARNING tag: 'user.cursorless_custom_number_small' is deprecated and should not be used anymore, as Cursorless now uses community number_small" |
| 17 | + ) |
39 | 18 |
|
40 | 19 |
|
41 | | -@ctx.capture( |
42 | | - "user.private_cursorless_number_small", |
43 | | - rule="{user.private_cursorless_number_small}", |
44 | | -) |
45 | | -def override_private_cursorless_number_small(m) -> int: |
46 | | - return number_small_map[m.private_cursorless_number_small] |
| 20 | +app.register("ready", on_ready) |
0 commit comments