You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: schema/rename_execute.request.json
-108Lines changed: 0 additions & 108 deletions
Original file line number
Diff line number
Diff line change
@@ -1,112 +1,6 @@
1
1
{
2
-
"$defs": {
3
-
"LineScope": {
4
-
"description": "Scope by line range",
5
-
"properties": {
6
-
"line": {
7
-
"anyOf": [
8
-
{
9
-
"type": "integer"
10
-
},
11
-
{
12
-
"maxItems": 2,
13
-
"minItems": 2,
14
-
"prefixItems": [
15
-
{
16
-
"type": "integer"
17
-
},
18
-
{
19
-
"type": "integer"
20
-
}
21
-
],
22
-
"type": "array"
23
-
}
24
-
],
25
-
"title": "Line"
26
-
}
27
-
},
28
-
"required": [
29
-
"line"
30
-
],
31
-
"title": "LineScope",
32
-
"type": "object"
33
-
},
34
-
"Locate": {
35
-
"description": "Two-stage location: scope \u2192 find.\n\nResolution rules:\n 1. SymbolScope without find: symbol declaration position (for references, rename)\n 2. With find containing marker: marker position\n 3. With find only: start of matched text\n 4. No scope + find: search entire file\n\nMarker Detection:\n The marker is automatically detected using nested bracket notation:\n - <|> (single level)\n - <<|>> (double level) if <|> appears more than once\n ... and so on\n\n The marker with the deepest nesting level that appears exactly once\n is chosen as the position marker.\n\nExamples:\n # Symbol declaration\n Locate(file_path=\"foo.py\", scope=SymbolScope(symbol_path=[\"MyClass\"]))\n\n # Completion trigger point - basic marker\n Locate(file_path=\"foo.py\", find=\"self.<|>\")\n\n # When <|> exists in source, use deeper nesting\n Locate(file_path=\"foo.py\", find=\"x = <|> + y <<|>> z\")\n # Will use <<|>> as the position marker\n\n # Specific location in function\n Locate(\n file_path=\"foo.py\",\n scope=SymbolScope(symbol_path=[\"process\"]),\n find=\"return <|>result\"\n )",
36
-
"properties": {
37
-
"file_path": {
38
-
"format": "path",
39
-
"title": "File Path",
40
-
"type": "string"
41
-
},
42
-
"scope": {
43
-
"anyOf": [
44
-
{
45
-
"$ref": "#/$defs/LineScope"
46
-
},
47
-
{
48
-
"$ref": "#/$defs/SymbolScope"
49
-
},
50
-
{
51
-
"type": "null"
52
-
}
53
-
],
54
-
"default": null,
55
-
"title": "Scope"
56
-
},
57
-
"find": {
58
-
"anyOf": [
59
-
{
60
-
"type": "string"
61
-
},
62
-
{
63
-
"type": "null"
64
-
}
65
-
],
66
-
"default": null,
67
-
"title": "Find"
68
-
}
69
-
},
70
-
"required": [
71
-
"file_path"
72
-
],
73
-
"title": "Locate",
74
-
"type": "object"
75
-
},
76
-
"SymbolScope": {
77
-
"description": "Scope by symbol, also serves as declaration locator when find is omitted",
78
-
"properties": {
79
-
"symbol_path": {
80
-
"items": {
81
-
"type": "string"
82
-
},
83
-
"title": "Symbol Path",
84
-
"type": "array"
85
-
}
86
-
},
87
-
"required": [
88
-
"symbol_path"
89
-
],
90
-
"title": "SymbolScope",
91
-
"type": "object"
92
-
}
93
-
},
94
2
"description": "Executes a rename operation, applying changes to the workspace.\n\nMust use a rename_id from a previous preview to ensure\nthe same changes are applied. Supports excluding specific files.",
95
3
"properties": {
96
-
"locate": {
97
-
"$ref": "#/$defs/Locate"
98
-
},
99
-
"new_name": {
100
-
"description": "The new name for the symbol",
101
-
"title": "New Name",
102
-
"type": "string"
103
-
},
104
-
"mode": {
105
-
"const": "execute",
106
-
"default": "execute",
107
-
"title": "Mode",
108
-
"type": "string"
109
-
},
110
4
"rename_id": {
111
5
"description": "Required ID from a previous preview to apply",
Copy file name to clipboardExpand all lines: schema/rename_execute.response.json
+1-107Lines changed: 1 addition & 107 deletions
Original file line number
Diff line number
Diff line change
@@ -1,78 +1,5 @@
1
1
{
2
2
"$defs": {
3
-
"LineScope": {
4
-
"description": "Scope by line range",
5
-
"properties": {
6
-
"line": {
7
-
"anyOf": [
8
-
{
9
-
"type": "integer"
10
-
},
11
-
{
12
-
"maxItems": 2,
13
-
"minItems": 2,
14
-
"prefixItems": [
15
-
{
16
-
"type": "integer"
17
-
},
18
-
{
19
-
"type": "integer"
20
-
}
21
-
],
22
-
"type": "array"
23
-
}
24
-
],
25
-
"title": "Line"
26
-
}
27
-
},
28
-
"required": [
29
-
"line"
30
-
],
31
-
"title": "LineScope",
32
-
"type": "object"
33
-
},
34
-
"Locate": {
35
-
"description": "Two-stage location: scope \u2192 find.\n\nResolution rules:\n 1. SymbolScope without find: symbol declaration position (for references, rename)\n 2. With find containing marker: marker position\n 3. With find only: start of matched text\n 4. No scope + find: search entire file\n\nMarker Detection:\n The marker is automatically detected using nested bracket notation:\n - <|> (single level)\n - <<|>> (double level) if <|> appears more than once\n ... and so on\n\n The marker with the deepest nesting level that appears exactly once\n is chosen as the position marker.\n\nExamples:\n # Symbol declaration\n Locate(file_path=\"foo.py\", scope=SymbolScope(symbol_path=[\"MyClass\"]))\n\n # Completion trigger point - basic marker\n Locate(file_path=\"foo.py\", find=\"self.<|>\")\n\n # When <|> exists in source, use deeper nesting\n Locate(file_path=\"foo.py\", find=\"x = <|> + y <<|>> z\")\n # Will use <<|>> as the position marker\n\n # Specific location in function\n Locate(\n file_path=\"foo.py\",\n scope=SymbolScope(symbol_path=[\"process\"]),\n find=\"return <|>result\"\n )",
36
-
"properties": {
37
-
"file_path": {
38
-
"format": "path",
39
-
"title": "File Path",
40
-
"type": "string"
41
-
},
42
-
"scope": {
43
-
"anyOf": [
44
-
{
45
-
"$ref": "#/$defs/LineScope"
46
-
},
47
-
{
48
-
"$ref": "#/$defs/SymbolScope"
49
-
},
50
-
{
51
-
"type": "null"
52
-
}
53
-
],
54
-
"default": null,
55
-
"title": "Scope"
56
-
},
57
-
"find": {
58
-
"anyOf": [
59
-
{
60
-
"type": "string"
61
-
},
62
-
{
63
-
"type": "null"
64
-
}
65
-
],
66
-
"default": null,
67
-
"title": "Find"
68
-
}
69
-
},
70
-
"required": [
71
-
"file_path"
72
-
],
73
-
"title": "Locate",
74
-
"type": "object"
75
-
},
76
3
"RenameDiff": {
77
4
"description": "Line-level change showing before and after rename.",
78
5
"properties": {
@@ -104,20 +31,6 @@
104
31
"RenameExecuteRequest": {
105
32
"description": "Executes a rename operation, applying changes to the workspace.\n\nMust use a rename_id from a previous preview to ensure\nthe same changes are applied. Supports excluding specific files.",
106
33
"properties": {
107
-
"locate": {
108
-
"$ref": "#/$defs/Locate"
109
-
},
110
-
"new_name": {
111
-
"description": "The new name for the symbol",
112
-
"title": "New Name",
113
-
"type": "string"
114
-
},
115
-
"mode": {
116
-
"const": "execute",
117
-
"default": "execute",
118
-
"title": "Mode",
119
-
"type": "string"
120
-
},
121
34
"rename_id": {
122
35
"description": "Required ID from a previous preview to apply",
123
36
"title": "Rename Id",
@@ -134,8 +47,6 @@
134
47
}
135
48
},
136
49
"required": [
137
-
"locate",
138
-
"new_name",
139
50
"rename_id"
140
51
],
141
52
"title": "RenameExecuteRequest",
@@ -163,26 +74,9 @@
163
74
],
164
75
"title": "RenameFileChange",
165
76
"type": "object"
166
-
},
167
-
"SymbolScope": {
168
-
"description": "Scope by symbol, also serves as declaration locator when find is omitted",
169
-
"properties": {
170
-
"symbol_path": {
171
-
"items": {
172
-
"type": "string"
173
-
},
174
-
"title": "Symbol Path",
175
-
"type": "array"
176
-
}
177
-
},
178
-
"required": [
179
-
"symbol_path"
180
-
],
181
-
"title": "SymbolScope",
182
-
"type": "object"
183
77
}
184
78
},
185
-
"markdown": "\n# Rename Applied: `{{ old_name }}` \u2192 `{{ new_name }}`\n\nSummary: Modified {{ total_files }} files with {{ total_occurrences }} occurrences.\n\n{% assign num_changes = changes | size -%}\n{% if num_changes == 0 -%}\nNo changes applied.\n{%- else -%}\n{%- for file in changes %}\n## `{{ file.file_path }}`\n{% for diff in file.diffs %}\nLine {{ diff.line }}:\n```diff\n- {{ diff.original }}\n+ {{ diff.modified }}\n```\n{% endfor %}\n{% endfor -%}\n---\n> [!NOTE]\n> Rename completed successfully.{% assign num_excluded = request.exclude_files | size %}{% if num_excluded > 0 %} Excluded files: {% for f in request.exclude_files %}`{{ f }}`{% unless forloop.last %}, {% endunless %}{% endfor %}{% endif %}\n{%- endif %}\n",
79
+
"markdown": "\n# Rename Applied: `{{ old_name }}` \u2192 `{{ new_name }}`\n\nSummary: Modified {{ total_files }} files with {{ total_occurrences }} occurrences.\n\n{% assign num_changes = changes | size -%}\n{% if num_changes > 0 -%}\n{%- for file in changes %}\n- `{{ file.file_path }}`: {{ file.diffs | size }} occurrences\n{%- endfor %}\n{%- endif %}\n---\n> [!NOTE]\n> Rename completed successfully.{% assign num_excluded = request.exclude_files | size %}{% if num_excluded > 0 %} Excluded files: {% for f in request.exclude_files %}`{{ f }}`{% unless forloop.last %}, {% endunless %}{% endfor %}.\n> [!IMPORTANT]\n> You must manually rename the symbol in the excluded files to maintain consistency.{% endif %}\n",
0 commit comments