-
-
Notifications
You must be signed in to change notification settings - Fork 93
Expand file tree
/
Copy pathreference.py
More file actions
89 lines (80 loc) · 1.95 KB
/
reference.py
File metadata and controls
89 lines (80 loc) · 1.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
from typing import Any
from talon import Context, Module
mod = Module()
mod.list(
"cursorless_reference_modifier",
desc="Cursorless reference modifiers with snippet outputs",
)
REFERENCE_MODIFIER_DATA: dict[str, dict[str, Any]] = {
"relative": [
{
"body": "$relative",
},
],
"absolute": [
{
"body": "$absolute",
},
],
"remote": [
{
"body": "$remote",
},
],
"remoteCanonical": [
{
"body": "$remoteCanonical",
},
],
"relativeText": [
{
"body": " $relative (`$content`) ",
"lineMode": "singleLine",
},
{
"body": "\n\n$relative:\n\n```$languageId\n$content\n```\n\n",
"lineMode": "multiLine",
},
],
"remoteText": [
{
"body": " $remote (`$content`) ",
"lineMode": "singleLine",
},
{
"body": "\n\n$remote:\n\n```$languageId\n$content\n```\n\n",
"lineMode": "multiLine",
},
],
"remoteLink": [
{
"body": "[`$name`]($remote)",
},
],
"relativeLink": [
{
"body": "[`$name`]($relative)",
},
],
}
REFERENCE_SPOKEN_FORMS: dict[str, str] = {
"local": "relative",
"absolute": "absolute",
"remote": "remote",
"canonical": "remoteCanonical",
"local text": "relativeText",
"remote text": "remoteText",
"local link": "relativeLink",
"remote link": "remoteLink",
}
ctx = Context()
ctx.lists["user.cursorless_reference_modifier"] = REFERENCE_SPOKEN_FORMS
@mod.capture(rule="{user.cursorless_reference_modifier}")
def cursorless_reference_modifier(m) -> dict[str, Any]:
"""Reference modifier snippets"""
modifier_id = m.cursorless_reference_modifier
data = REFERENCE_MODIFIER_DATA[modifier_id]
return {
"type": "reference",
"snippets": data,
}