1
1
from collections .abc import Callable
2
2
from dataclasses import dataclass
3
- from typing import Any
4
3
5
4
from talon import Module
6
5
7
6
from ..targets .range_target import RangeConnective
7
+ from .mark_types import LineNumber , LineNumberMark , LineNumberType
8
8
9
9
mod = Module ()
10
10
14
14
@dataclass
15
15
class CustomizableTerm :
16
16
cursorlessIdentifier : str
17
- type : str
18
- formatter : Callable
17
+ type : LineNumberType
18
+ formatter : Callable [[ int ], int ]
19
19
20
20
21
21
# NOTE: Please do not change these dicts. Use the CSVs for customization.
@@ -35,15 +35,13 @@ class CustomizableTerm:
35
35
"[<user.cursorless_range_connective> <user.private_cursorless_number_small>]"
36
36
)
37
37
)
38
- def cursorless_line_number (m ) -> dict [ str , Any ] :
38
+ def cursorless_line_number (m ) -> LineNumber :
39
39
direction = directions_map [m .cursorless_line_direction ]
40
- anchor = create_line_number_mark (
41
- direction .type , direction .formatter (m .private_cursorless_number_small_list [0 ])
42
- )
43
- if len (m .private_cursorless_number_small_list ) > 1 :
40
+ numbers : list [int ] = m .private_cursorless_number_small_list
41
+ anchor = create_line_number_mark (direction .type , direction .formatter (numbers [0 ]))
42
+ if len (numbers ) > 1 :
44
43
active = create_line_number_mark (
45
- direction .type ,
46
- direction .formatter (m .private_cursorless_number_small_list [1 ]),
44
+ direction .type , direction .formatter (numbers [1 ])
47
45
)
48
46
range_connective : RangeConnective = m .cursorless_range_connective
49
47
return {
@@ -56,9 +54,9 @@ def cursorless_line_number(m) -> dict[str, Any]:
56
54
return anchor
57
55
58
56
59
- def create_line_number_mark (line_number_type : str , line_number : int ) -> dict [ str , Any ] :
57
+ def create_line_number_mark (type : LineNumberType , line_number : int ) -> LineNumberMark :
60
58
return {
61
59
"type" : "lineNumber" ,
62
- "lineNumberType" : line_number_type ,
60
+ "lineNumberType" : type ,
63
61
"lineNumber" : line_number ,
64
62
}
0 commit comments