Upload 59 files
Browse files- ActionItem.module.css +70 -0
- App.module.css +33 -19
- Chat.module.css +7 -0
- ChatMessageContent.module.css +219 -0
- ContextCell.module.css +23 -0
- ErrorItem.module.css +143 -0
- FeedbackButtons.module.css +18 -0
- FileContextItem.module.css +42 -0
- FileLink.module.css +30 -0
- FileMatchChildren.module.css +5 -0
- HumanMessageEditor.module.css +55 -0
- InfoMessage.module.css +6 -0
- LoadingDots.module.css +42 -0
- LoadingPage.module.css +44 -0
- Main.java +9 -0
- ModelSelectField.module.css +52 -0
- PromptList.module.css +46 -0
- README.md +25 -387
- WelcomeFooter.module.css +37 -0
- WelcomeMessage.module.css +4 -0
- autocomplete.md +10 -0
- chat-assistant-response-code-buttons-1.txt +60 -0
- chat.md +7 -0
- commands.md +12 -0
- documentable-node.java +148 -0
- documentable-node.py +80 -0
- documentable-node.snap.c +192 -0
- documentable-node.snap.cpp +234 -0
- documentable-node.snap.java +252 -0
- documentable-node.snap.py +173 -0
- edit-fixup-task-1.txt +72 -0
- edit.md +14 -0
- enclosing-function.java +86 -0
- enclosing-function.py +40 -0
- enclosing-function.snap.java +139 -0
- enclosing-function.snap.py +73 -0
- explain.md +18 -0
- fix.md +9 -0
- graph-identifiers.py +83 -0
- ignoredByCody.css +6 -0
- index.html +2 -13
- ollama.md +43 -0
- style.css +6 -0
- testable-node.py +34 -0
- testable-node.snap.py +75 -0
ActionItem.module.css
ADDED
@@ -0,0 +1,70 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
.item {
|
3 |
+
display: flex;
|
4 |
+
gap: 0.5rem;
|
5 |
+
|
6 |
+
&--indicator {
|
7 |
+
display: none !important;
|
8 |
+
margin-left: auto;
|
9 |
+
align-self: flex-start;
|
10 |
+
}
|
11 |
+
|
12 |
+
&[data-selected="true"] {
|
13 |
+
.item--indicator {
|
14 |
+
display: block !important;
|
15 |
+
color: inherit;
|
16 |
+
}
|
17 |
+
|
18 |
+
.prompt--avatar, .prompt--description, .prompt--icon {
|
19 |
+
color: inherit;
|
20 |
+
}
|
21 |
+
}
|
22 |
+
}
|
23 |
+
|
24 |
+
.prompt {
|
25 |
+
display: flex;
|
26 |
+
gap: 0.5rem;
|
27 |
+
align-items: center;
|
28 |
+
min-width: 0;
|
29 |
+
|
30 |
+
&--avatar {
|
31 |
+
flex-shrink: 0;
|
32 |
+
width: 22px;
|
33 |
+
height: 22px;
|
34 |
+
display: flex;
|
35 |
+
align-items: center;
|
36 |
+
justify-content: center;
|
37 |
+
}
|
38 |
+
|
39 |
+
&--icon {
|
40 |
+
color: var(--vscode-input-placeholderForeground);
|
41 |
+
}
|
42 |
+
|
43 |
+
&--content {
|
44 |
+
min-width: 0;
|
45 |
+
display: flex;
|
46 |
+
flex-direction: column;
|
47 |
+
}
|
48 |
+
|
49 |
+
&--title {
|
50 |
+
min-width: 0;
|
51 |
+
display: flex;
|
52 |
+
gap: 0.25rem;
|
53 |
+
align-items: center;
|
54 |
+
}
|
55 |
+
|
56 |
+
&--name {
|
57 |
+
white-space: nowrap;
|
58 |
+
overflow: hidden;
|
59 |
+
text-overflow: ellipsis;
|
60 |
+
font-weight: 500;
|
61 |
+
}
|
62 |
+
|
63 |
+
&--description {
|
64 |
+
color: var(--vscode-input-placeholderForeground);
|
65 |
+
white-space: nowrap;
|
66 |
+
overflow: hidden;
|
67 |
+
text-overflow: ellipsis;
|
68 |
+
}
|
69 |
+
}
|
70 |
+
|
App.module.css
CHANGED
@@ -1,27 +1,41 @@
|
|
1 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
3 |
-
|
4 |
-
:
|
5 |
-
|
6 |
-
|
7 |
-
text-size-adjust: 100%;
|
8 |
-
font-family: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji';
|
9 |
-
font-feature-settings: normal;
|
10 |
-
font-variation-settings: normal;
|
11 |
-
-webkit-tap-highlight-color: transparent;
|
12 |
}
|
13 |
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
}
|
19 |
|
20 |
-
|
21 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
}
|
23 |
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
}
|
|
|
1 |
+
.outer-container {
|
2 |
+
background-color: var(--vscode-sideBar-background);
|
3 |
+
display: flex;
|
4 |
+
flex-direction: column;
|
5 |
+
box-sizing: border-box;
|
6 |
+
height: 100%;
|
7 |
+
overflow: hidden;
|
8 |
+
}
|
9 |
|
10 |
+
.error-container {
|
11 |
+
display: flex;
|
12 |
+
flex-direction: column-reverse;
|
13 |
+
gap: 0.5rem;
|
|
|
|
|
|
|
|
|
|
|
14 |
}
|
15 |
|
16 |
+
.error {
|
17 |
+
flex-direction: row;
|
18 |
+
display: flex;
|
19 |
+
padding: 1rem;
|
20 |
+
color: var(--vscode-input-foreground);
|
21 |
+
background-color: var(--vscode-inputValidation-errorBackground);
|
22 |
+
min-height: 2rem;
|
23 |
+
position: relative;
|
24 |
+
overflow: auto;
|
25 |
+
align-items: baseline;
|
26 |
}
|
27 |
|
28 |
+
.close-btn {
|
29 |
+
position: absolute;
|
30 |
+
top: 0.65rem;
|
31 |
+
right: 0.65rem;
|
32 |
+
background: none;
|
33 |
+
border: none;
|
34 |
+
color: var(--vscode-input-foreground);
|
35 |
+
cursor: pointer;
|
36 |
}
|
37 |
|
38 |
+
/* Undo the UA stylesheet set by vscode */
|
39 |
+
kbd {
|
40 |
+
all: unset;
|
41 |
}
|
Chat.module.css
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.chat-disabled {
|
2 |
+
text-align: center;
|
3 |
+
padding: 0.5rem 0.25rem;
|
4 |
+
background-color: var(--vscode-inputValidation-errorBackground);
|
5 |
+
border-bottom: solid 1px var(--vscode-inputValidation-errorBorder);
|
6 |
+
color: var(--vscode-foreground);
|
7 |
+
}
|
ChatMessageContent.module.css
ADDED
@@ -0,0 +1,219 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.buttons-container {
|
2 |
+
display: flex;
|
3 |
+
flex-wrap: wrap;
|
4 |
+
align-items: center;
|
5 |
+
border-style: solid;
|
6 |
+
border-width: 1px;
|
7 |
+
border-color: var(--vscode-sideBarSectionHeader-border);
|
8 |
+
border-bottom-left-radius: 2px;
|
9 |
+
border-bottom-right-radius: 2px;
|
10 |
+
padding: 4px;
|
11 |
+
}
|
12 |
+
|
13 |
+
.buttons {
|
14 |
+
display: flex;
|
15 |
+
}
|
16 |
+
.button {
|
17 |
+
display: flex;
|
18 |
+
align-items: center;
|
19 |
+
padding: 3px;
|
20 |
+
height: 20px;
|
21 |
+
background-color: transparent;
|
22 |
+
cursor: pointer;
|
23 |
+
background: var(--button-icon-background);
|
24 |
+
border-radius: var(--button-icon-corner-radius);
|
25 |
+
color: var(--foreground);
|
26 |
+
}
|
27 |
+
.button:hover {
|
28 |
+
background: var(--button-icon-hover-background);
|
29 |
+
outline: 1px dotted var(--contrast-active-border);
|
30 |
+
outline-offset: -1px;
|
31 |
+
}
|
32 |
+
.button:not(:first-child) {
|
33 |
+
margin-left: 0.25rem;
|
34 |
+
}
|
35 |
+
|
36 |
+
.button .icon-container {
|
37 |
+
margin-right: 0.25rem
|
38 |
+
}
|
39 |
+
|
40 |
+
.copy-button,
|
41 |
+
.insert-button,
|
42 |
+
.attribution-icon,
|
43 |
+
.status {
|
44 |
+
all: unset;
|
45 |
+
padding: 3px;
|
46 |
+
min-width: 16px; /* Status element needs to be able to expand. */
|
47 |
+
height: 16px;
|
48 |
+
background-color: transparent;
|
49 |
+
}
|
50 |
+
|
51 |
+
.copy-button,
|
52 |
+
.insert-button {
|
53 |
+
cursor: pointer;
|
54 |
+
background: var(--button-icon-background);
|
55 |
+
border-radius: var(--button-icon-corner-radius);
|
56 |
+
color: var(--foreground);
|
57 |
+
}
|
58 |
+
.copy-button:hover,
|
59 |
+
.insert-button:hover {
|
60 |
+
background: var(--button-icon-hover-background);
|
61 |
+
outline: 1px dotted var(--contrast-active-border);
|
62 |
+
outline-offset: -1px;
|
63 |
+
}
|
64 |
+
|
65 |
+
.status {
|
66 |
+
font-size: 12px;
|
67 |
+
line-height: 1;
|
68 |
+
}
|
69 |
+
|
70 |
+
.metadata-container {
|
71 |
+
display: flex;
|
72 |
+
align-items: center;
|
73 |
+
margin-left: auto;
|
74 |
+
}
|
75 |
+
|
76 |
+
.metadata-container > :not(:last-child) {
|
77 |
+
margin-right: 0.25rem;
|
78 |
+
}
|
79 |
+
|
80 |
+
.attribution-container {
|
81 |
+
all: unset;
|
82 |
+
display: flex;
|
83 |
+
margin-left: auto;
|
84 |
+
}
|
85 |
+
|
86 |
+
|
87 |
+
.attribution-icon-unavailable {
|
88 |
+
color: var(--hl-orange);
|
89 |
+
}
|
90 |
+
|
91 |
+
.attribution-icon-found {
|
92 |
+
color: var(--hl-dark-red);
|
93 |
+
}
|
94 |
+
|
95 |
+
.status {
|
96 |
+
display: flex;
|
97 |
+
align-items: center;
|
98 |
+
}
|
99 |
+
|
100 |
+
.codicon-loading {
|
101 |
+
animation: spin 1s linear infinite;
|
102 |
+
}
|
103 |
+
|
104 |
+
@keyframes spin {
|
105 |
+
from { transform: rotate(0deg); }
|
106 |
+
to { transform: rotate(360deg); }
|
107 |
+
}
|
108 |
+
|
109 |
+
/*
|
110 |
+
* Content
|
111 |
+
*/
|
112 |
+
:root {
|
113 |
+
--spacing: 1rem;
|
114 |
+
}
|
115 |
+
|
116 |
+
.content {
|
117 |
+
word-break: break-word;
|
118 |
+
text-wrap: wrap;
|
119 |
+
}
|
120 |
+
|
121 |
+
/* Style @-file tokens to match TranscriptAction context files */
|
122 |
+
.content a[href^="vscode://file"] em,
|
123 |
+
.content a[href^="vscode-insiders://file"] em,
|
124 |
+
.content a[href^="vscodium://file"] em,
|
125 |
+
.content a[href^="cursor://file"] em
|
126 |
+
{
|
127 |
+
padding: 1px 2px;
|
128 |
+
box-sizing: border-box;
|
129 |
+
background-color: color-mix(in srgb, var(--vscode-textLink-foreground) 15%, transparent);
|
130 |
+
border-radius: 2px;
|
131 |
+
font-style: normal;
|
132 |
+
word-break: break-all;
|
133 |
+
}
|
134 |
+
|
135 |
+
.content p {
|
136 |
+
word-break: break-word;
|
137 |
+
margin-block: 1rem;
|
138 |
+
}
|
139 |
+
|
140 |
+
.content pre {
|
141 |
+
padding: calc(var(--spacing) * 0.5);
|
142 |
+
overflow-x: auto;
|
143 |
+
border-style: solid;
|
144 |
+
border-width: 1px;
|
145 |
+
border-color: var(--vscode-sideBarSectionHeader-border);
|
146 |
+
border-bottom: none;
|
147 |
+
margin: 1rem 0;
|
148 |
+
}
|
149 |
+
|
150 |
+
.content code,
|
151 |
+
.content pre {
|
152 |
+
font-family: var(--vscode-editor-font-family);
|
153 |
+
font-size: var(--vscode-editor-font-size);
|
154 |
+
overflow: auto;
|
155 |
+
}
|
156 |
+
|
157 |
+
.content pre,
|
158 |
+
.content pre > code {
|
159 |
+
/* Our syntax highlighter emits colors intended for dark backgrounds only. */
|
160 |
+
background-color: var(--code-background);
|
161 |
+
color: var(--code-foreground);
|
162 |
+
margin-bottom: 0;
|
163 |
+
}
|
164 |
+
body[data-vscode-theme-kind='vscode-light'] .content pre,
|
165 |
+
body[data-vscode-theme-kind='vscode-light'] .content pre > code {
|
166 |
+
/* Our syntax highlighter emits colors intended for dark backgrounds only. */
|
167 |
+
background-color: var(--code-background);
|
168 |
+
color: var(--code-foreground);
|
169 |
+
}
|
170 |
+
|
171 |
+
.content h1,
|
172 |
+
.content h2,
|
173 |
+
.content h3,
|
174 |
+
.content h4,
|
175 |
+
.content h5,
|
176 |
+
.content h6 {
|
177 |
+
margin: 1.2em 0;
|
178 |
+
}
|
179 |
+
|
180 |
+
.content h1 {
|
181 |
+
font-size: 1.15em;
|
182 |
+
font-weight: 700;
|
183 |
+
}
|
184 |
+
|
185 |
+
.content h2 {
|
186 |
+
font-size: 1.1em;
|
187 |
+
font-weight: 700;
|
188 |
+
}
|
189 |
+
|
190 |
+
.content h3 {
|
191 |
+
font-size: inherit;
|
192 |
+
font-weight: 700;
|
193 |
+
}
|
194 |
+
|
195 |
+
.content h4,
|
196 |
+
.content h5,
|
197 |
+
.content h6 {
|
198 |
+
font-size: inherit;
|
199 |
+
font-weight: 600;
|
200 |
+
}
|
201 |
+
|
202 |
+
.content > *:first-child {
|
203 |
+
margin-top: 0;
|
204 |
+
}
|
205 |
+
|
206 |
+
.content > *:last-child {
|
207 |
+
margin-bottom: 0;
|
208 |
+
}
|
209 |
+
|
210 |
+
.content ul, .content ol {
|
211 |
+
margin-block: 1rem;
|
212 |
+
padding-inline-start: 2rem;
|
213 |
+
list-style: revert;
|
214 |
+
}
|
215 |
+
|
216 |
+
.file-name-container {
|
217 |
+
color: var(--vscode-descriptionForeground);
|
218 |
+
margin-left: auto;
|
219 |
+
}
|
ContextCell.module.css
ADDED
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.context-item {
|
2 |
+
display: inline-flex;
|
3 |
+
padding: 2px 4px 2px 2px;
|
4 |
+
}
|
5 |
+
|
6 |
+
.context-item-metadata {
|
7 |
+
color: var(--vscode-disabledForeground);
|
8 |
+
padding-left: 0.1rem;
|
9 |
+
text-wrap: nowrap;
|
10 |
+
}
|
11 |
+
|
12 |
+
.context-item-edit-button {
|
13 |
+
display: flex;
|
14 |
+
align-items: center;
|
15 |
+
|
16 |
+
flex-wrap: nowrap;
|
17 |
+
|
18 |
+
}
|
19 |
+
|
20 |
+
.context-item-edit-button-icon {
|
21 |
+
height: 20%;
|
22 |
+
margin-right: 0.5rem;
|
23 |
+
}
|
ErrorItem.module.css
ADDED
@@ -0,0 +1,143 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.error-item {
|
2 |
+
display: flex;
|
3 |
+
flex-direction: row;
|
4 |
+
gap: 0.5rem;
|
5 |
+
}
|
6 |
+
|
7 |
+
.error-item .icon {
|
8 |
+
font-size: 24px;
|
9 |
+
}
|
10 |
+
|
11 |
+
.error-item .body {
|
12 |
+
display: flex;
|
13 |
+
flex-direction: column;
|
14 |
+
gap: 0.7rem;
|
15 |
+
}
|
16 |
+
|
17 |
+
.error-item vscode-button {
|
18 |
+
margin: 0;
|
19 |
+
}
|
20 |
+
|
21 |
+
.error-item h1,
|
22 |
+
.error-item p {
|
23 |
+
margin: 0;
|
24 |
+
}
|
25 |
+
|
26 |
+
.error-item header {
|
27 |
+
display: flex;
|
28 |
+
flex-direction: column;
|
29 |
+
gap: 0.3rem;
|
30 |
+
margin-right: 30px;
|
31 |
+
}
|
32 |
+
|
33 |
+
.error-item header h1 {
|
34 |
+
text-transform: uppercase;
|
35 |
+
font-size: 11px;
|
36 |
+
margin: 0;
|
37 |
+
}
|
38 |
+
|
39 |
+
.error-item header p {
|
40 |
+
max-width: 40em;
|
41 |
+
opacity: 0.9;
|
42 |
+
}
|
43 |
+
|
44 |
+
.error-item .actions {
|
45 |
+
display: flex;
|
46 |
+
flex-direction: row;
|
47 |
+
gap: 8px;
|
48 |
+
}
|
49 |
+
|
50 |
+
.error-item .retry-message {
|
51 |
+
font-size: 11px;
|
52 |
+
opacity: 0.7;
|
53 |
+
}
|
54 |
+
|
55 |
+
.error-item .banner-container {
|
56 |
+
position: absolute;
|
57 |
+
top: 0;
|
58 |
+
right: 0;
|
59 |
+
overflow: hidden;
|
60 |
+
height: 100px;
|
61 |
+
}
|
62 |
+
|
63 |
+
@property --error-item-reflection-position {
|
64 |
+
syntax: '<percentage>';
|
65 |
+
inherits: false;
|
66 |
+
initial-value: 0%;
|
67 |
+
}
|
68 |
+
|
69 |
+
.error-item .banner {
|
70 |
+
--error-item-reflection-position: -100%;
|
71 |
+
|
72 |
+
padding: 6px 30px;
|
73 |
+
transform: translateY(50%) translateX(25%) rotate(45deg);
|
74 |
+
border: 1px solid rgba(0 0 0 / 16%);
|
75 |
+
background: linear-gradient(
|
76 |
+
45deg,
|
77 |
+
rgb(255 220 220 / 0%) calc(var(--error-item-reflection-position) + 35%),
|
78 |
+
rgb(255 220 220 / 50%) calc(var(--error-item-reflection-position) + 50%),
|
79 |
+
rgb(255 220 220 / 0%) calc(var(--error-item-reflection-position) + 65%)
|
80 |
+
),
|
81 |
+
linear-gradient(rgb(255 255 255 / 55%), rgb(255 255 255 / 55%)),
|
82 |
+
repeating-conic-gradient(#4ac1e8, #7048e8, #ff5543, #7048e8, #4ac1e8);
|
83 |
+
box-shadow: 0 4px 8px 0 rgb(0 0 0 / 15%);
|
84 |
+
transition: box-shadow 650ms ease-in-out;
|
85 |
+
color: #080808;
|
86 |
+
text-shadow: 1px 1px 0 rgb(255 255 255 / 75%);
|
87 |
+
font-size: 9px;
|
88 |
+
line-height: 9px;
|
89 |
+
font-weight: 900;
|
90 |
+
text-transform: uppercase;
|
91 |
+
overflow: hidden;
|
92 |
+
cursor: pointer;
|
93 |
+
}
|
94 |
+
|
95 |
+
.error-item .banner:hover {
|
96 |
+
--error-item-reflection-position: 100%;
|
97 |
+
|
98 |
+
transition:
|
99 |
+
--error-item-reflection-position 1.5s cubic-bezier(0.455, 0.03, 0.515, 0.955),
|
100 |
+
box-shadow 750ms ease-in-out;
|
101 |
+
box-shadow:
|
102 |
+
0 4px 8px 0 rgb(0 0 0 / 15%),
|
103 |
+
0 0 10px 0 rgb(255 255 255 / 35%);
|
104 |
+
}
|
105 |
+
|
106 |
+
.error-item .banner::before {
|
107 |
+
content: ' ';
|
108 |
+
position: absolute;
|
109 |
+
top: 0;
|
110 |
+
left: 0;
|
111 |
+
width: 100px;
|
112 |
+
height: 5px;
|
113 |
+
transform: translateX(-22px) rotate(135deg);
|
114 |
+
background: linear-gradient(rgb(255 255 255 / 0%), rgb(255 255 255 / 80%));
|
115 |
+
}
|
116 |
+
|
117 |
+
.error-item .banner::after {
|
118 |
+
content: ' ';
|
119 |
+
position: absolute;
|
120 |
+
bottom: 0;
|
121 |
+
left: 10px;
|
122 |
+
width: 100px;
|
123 |
+
height: 5px;
|
124 |
+
transform: translateY(-27px) rotate(225deg);
|
125 |
+
background: linear-gradient(rgb(255 255 255 / 0%), rgb(255 255 255 / 80%));
|
126 |
+
}
|
127 |
+
|
128 |
+
.request-error {
|
129 |
+
background-color: #f7bcbc;
|
130 |
+
color: #de3400;
|
131 |
+
|
132 |
+
padding: 0.5rem;
|
133 |
+
|
134 |
+
word-break: break-word;
|
135 |
+
text-wrap: wrap;
|
136 |
+
line-height: 150%;
|
137 |
+
|
138 |
+
border-left: 0.5rem solid #d8000c;
|
139 |
+
}
|
140 |
+
|
141 |
+
.request-error-title {
|
142 |
+
font-weight: bold;
|
143 |
+
}
|
FeedbackButtons.module.css
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.feedback-buttons {
|
2 |
+
display: flex;
|
3 |
+
flex-direction: row;
|
4 |
+
}
|
5 |
+
|
6 |
+
.feedback-button[disabled] {
|
7 |
+
/* VSCodeButton's default cursor is not-allowed, but that's different to
|
8 |
+
native VS Code and feels off, especially when it quickly changes to
|
9 |
+
not-allowed after you submit feedback. So we reset it back to the
|
10 |
+
default cursor to fit in nicer with standard VS Code native behaviour */
|
11 |
+
cursor: default;
|
12 |
+
}
|
13 |
+
|
14 |
+
.thumbs-down-feedback-container {
|
15 |
+
display: flex;
|
16 |
+
align-items: center;
|
17 |
+
gap: calc(var(--spacing) / 4);
|
18 |
+
}
|
FileContextItem.module.css
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.root {
|
2 |
+
display: flex;
|
3 |
+
flex-direction: column;
|
4 |
+
gap: 0.25rem;
|
5 |
+
}
|
6 |
+
|
7 |
+
.link-container {
|
8 |
+
display: inline-flex;
|
9 |
+
padding: 2px 4px 2px 2px;
|
10 |
+
min-width: 0;
|
11 |
+
}
|
12 |
+
|
13 |
+
.header {
|
14 |
+
display: flex;
|
15 |
+
gap: 0.25rem;
|
16 |
+
align-items: center;
|
17 |
+
}
|
18 |
+
|
19 |
+
.context-item-link {
|
20 |
+
background: none;
|
21 |
+
border: none;
|
22 |
+
color: var(--vscode-textLink-foreground);
|
23 |
+
font-size: inherit;
|
24 |
+
padding: 0;
|
25 |
+
margin: 0;
|
26 |
+
text-align: left;
|
27 |
+
font-weight: normal;
|
28 |
+
display: flex;
|
29 |
+
align-items: center;
|
30 |
+
gap: 0.125rem;
|
31 |
+
overflow: hidden;
|
32 |
+
}
|
33 |
+
|
34 |
+
/* In light high contrast, --vscode-textLink-foreground provides little
|
35 |
+
contrast; instead inherit the --code-foreground color from the container. */
|
36 |
+
body[data-vscode-theme-kind='vscode-high-contrast-light'] .context-item-link {
|
37 |
+
color: inherit;
|
38 |
+
}
|
39 |
+
|
40 |
+
.code-block {
|
41 |
+
margin-bottom: 0.25rem;
|
42 |
+
}
|
FileLink.module.css
ADDED
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.path {
|
2 |
+
white-space: nowrap;
|
3 |
+
text-overflow: ellipsis;
|
4 |
+
overflow: hidden;
|
5 |
+
|
6 |
+
/* Makes ellipsis show in default text color, we show the basename in link color below */
|
7 |
+
color: var(--vscode-disabledForeground);
|
8 |
+
}
|
9 |
+
|
10 |
+
.excluded {
|
11 |
+
text-decoration: line-through !important;
|
12 |
+
}
|
13 |
+
|
14 |
+
.basename {
|
15 |
+
color: var(--vscode-textLink-foreground);
|
16 |
+
}
|
17 |
+
|
18 |
+
.repoShortName {
|
19 |
+
color: var(--vscode-disabledForeground);
|
20 |
+
font-size: smaller;
|
21 |
+
}
|
22 |
+
|
23 |
+
.dirname {
|
24 |
+
color: var(--vscode-disabledForeground);
|
25 |
+
font-size: smaller;
|
26 |
+
}
|
27 |
+
|
28 |
+
.range {
|
29 |
+
color: var(--vscode-disabledForeground);
|
30 |
+
}
|
FileMatchChildren.module.css
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.chunk {
|
2 |
+
position: relative;
|
3 |
+
overflow-x: auto;
|
4 |
+
background-color: var(--code-background);
|
5 |
+
}
|
HumanMessageEditor.module.css
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
:root {
|
2 |
+
--human-message-editor-gap: 0;
|
3 |
+
--human-message-editor-cell-spacing-bottom: 6px;
|
4 |
+
}
|
5 |
+
|
6 |
+
.container {
|
7 |
+
display: flex;
|
8 |
+
flex-direction: column;
|
9 |
+
gap: var(--human-message-editor-gap);
|
10 |
+
border-radius: 4px;
|
11 |
+
background-color: color-mix(in srgb, var(--vscode-input-background) 50%, transparent);
|
12 |
+
color: var(--vscode-input-foreground);
|
13 |
+
outline: solid 1px var(--vscode-input-border);
|
14 |
+
outline-offset: -1px;
|
15 |
+
cursor: text;
|
16 |
+
|
17 |
+
.editor {
|
18 |
+
scrollbar-gutter: stable;
|
19 |
+
padding: var(--prompt-editor-padding-y) var(--prompt-editor-padding-x);
|
20 |
+
}
|
21 |
+
}
|
22 |
+
|
23 |
+
.toolbar {
|
24 |
+
padding: calc(0.75*var(--prompt-editor-padding-y)) var(--prompt-editor-padding-x);
|
25 |
+
overflow: hidden;
|
26 |
+
}
|
27 |
+
|
28 |
+
.container:not(.focused, [data-keep-toolbar-open]) {
|
29 |
+
|
30 |
+
.editor-content-editable {
|
31 |
+
min-height: 1lh;
|
32 |
+
}
|
33 |
+
|
34 |
+
.toolbar {
|
35 |
+
height: 0;
|
36 |
+
opacity: 0;
|
37 |
+
margin-top: 0;
|
38 |
+
pointer-events: none;
|
39 |
+
padding: 0;
|
40 |
+
}
|
41 |
+
}
|
42 |
+
|
43 |
+
.container:hover, .container:has(:focus-within, menu>button:focus) {
|
44 |
+
background-color: var(--vscode-input-background);
|
45 |
+
}
|
46 |
+
|
47 |
+
/* Show focus ring when the input is focused or a toolbar button within the input container is
|
48 |
+
focused, but NOT if something in a toolbar button's popover is focused. */
|
49 |
+
.container:has([data-lexical-editor='true']:focus-within, menu>button:focus) {
|
50 |
+
outline-color: var(--vscode-focusBorder);
|
51 |
+
}
|
52 |
+
|
53 |
+
.editor-content-editable {
|
54 |
+
min-height: 3lh;
|
55 |
+
}
|
InfoMessage.module.css
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.info-message {
|
2 |
+
--mention-color-opacity: 70%;
|
3 |
+
|
4 |
+
border: 1px solid color-mix(in lch, var(--vscode-inputOption-activeBackground) calc(1.2* var(--mention-color-opacity)), transparent);
|
5 |
+
background-color: color-mix(in lch, var(--vscode-inputOption-activeBackground) var(--mention-color-opacity), transparent);
|
6 |
+
}
|
LoadingDots.module.css
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.dots-holder {
|
2 |
+
display: flex;
|
3 |
+
gap: 0.2rem;
|
4 |
+
margin: 0.5rem 0;
|
5 |
+
margin-left: 0.25rem;
|
6 |
+
}
|
7 |
+
|
8 |
+
.dot {
|
9 |
+
animation: 1s flash 0.5s infinite;
|
10 |
+
width: 0.25rem !important;
|
11 |
+
height: 0.25rem !important;
|
12 |
+
border-radius: 100%;
|
13 |
+
background-color: var(--vscode-input-foreground);
|
14 |
+
opacity: 0.25;
|
15 |
+
}
|
16 |
+
|
17 |
+
body[data-vscode-theme-kind='vscode-light'] .dot,
|
18 |
+
body[data-vscode-theme-kind='vscode-high-contrast-light'] .dot {
|
19 |
+
background-color: black;
|
20 |
+
}
|
21 |
+
|
22 |
+
.dot:nth-child(2) {
|
23 |
+
animation-delay: 0.6s;
|
24 |
+
}
|
25 |
+
|
26 |
+
.dot:nth-child(3) {
|
27 |
+
animation-delay: 0.7s;
|
28 |
+
}
|
29 |
+
|
30 |
+
@keyframes flash {
|
31 |
+
from {
|
32 |
+
opacity: 1;
|
33 |
+
}
|
34 |
+
|
35 |
+
50% {
|
36 |
+
opacity: 1;
|
37 |
+
}
|
38 |
+
|
39 |
+
to {
|
40 |
+
opacity: 0.25;
|
41 |
+
}
|
42 |
+
}
|
LoadingPage.module.css
ADDED
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.container {
|
2 |
+
display: flex;
|
3 |
+
align-items: center;
|
4 |
+
justify-content: center;
|
5 |
+
height: 100vh;
|
6 |
+
}
|
7 |
+
|
8 |
+
.dots-holder {
|
9 |
+
display: flex;
|
10 |
+
gap: 0.2rem;
|
11 |
+
}
|
12 |
+
|
13 |
+
.dot {
|
14 |
+
animation: 1s flash 0.5s infinite;
|
15 |
+
width: calc(var(--vscode-editor-font-size) / 2) !important;
|
16 |
+
height: calc(var(--vscode-editor-font-size) / 2) !important;
|
17 |
+
border-radius: 100%;
|
18 |
+
background-color: #b200f8;
|
19 |
+
opacity: 0.25;
|
20 |
+
}
|
21 |
+
|
22 |
+
.dot:nth-child(2) {
|
23 |
+
animation-delay: 0.6s;
|
24 |
+
background-color: #ff5543;
|
25 |
+
}
|
26 |
+
|
27 |
+
.dot:nth-child(3) {
|
28 |
+
animation-delay: 0.7s;
|
29 |
+
background-color: #00cbec;
|
30 |
+
}
|
31 |
+
|
32 |
+
@keyframes flash {
|
33 |
+
from {
|
34 |
+
opacity: 1;
|
35 |
+
}
|
36 |
+
|
37 |
+
50% {
|
38 |
+
opacity: 1;
|
39 |
+
}
|
40 |
+
|
41 |
+
to {
|
42 |
+
opacity: 0.25;
|
43 |
+
}
|
44 |
+
}
|
Main.java
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
// This is a sample file used in extension integration tests.
|
2 |
+
|
3 |
+
public class Main {
|
4 |
+
private Main() {}
|
5 |
+
|
6 |
+
public static void main(String[] args) {
|
7 |
+
System.out.println("Hello, world");
|
8 |
+
}
|
9 |
+
}
|
ModelSelectField.module.css
ADDED
@@ -0,0 +1,52 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.model-title-with-icon {
|
2 |
+
flex: 1;
|
3 |
+
display: flex;
|
4 |
+
align-items: center;
|
5 |
+
gap: 0.375rem;
|
6 |
+
line-height: 16px;
|
7 |
+
}
|
8 |
+
|
9 |
+
.model-title-with-icon:is(a) {
|
10 |
+
outline: none !important;
|
11 |
+
}
|
12 |
+
|
13 |
+
.model-title-with-icon .model-name {
|
14 |
+
font-weight: 500;
|
15 |
+
}
|
16 |
+
|
17 |
+
.model-title-with-icon .model-provider {
|
18 |
+
margin-left: 0.25rem;
|
19 |
+
opacity: 0.65;
|
20 |
+
font-size: 85%;
|
21 |
+
}
|
22 |
+
|
23 |
+
.model-title-with-icon.disabled {
|
24 |
+
opacity: 0.5;
|
25 |
+
}
|
26 |
+
|
27 |
+
.model-title-with-icon .model-icon {
|
28 |
+
opacity: 0.5;
|
29 |
+
}
|
30 |
+
|
31 |
+
.right-icon {
|
32 |
+
margin-left: auto;
|
33 |
+
}
|
34 |
+
|
35 |
+
.badge {
|
36 |
+
margin-left: auto;
|
37 |
+
line-height: 16px;
|
38 |
+
font-size: 11px;
|
39 |
+
border-radius: 2px;
|
40 |
+
padding: 0 5px;
|
41 |
+
border: 1px solid var(--vscode-contrastBorder);
|
42 |
+
}
|
43 |
+
|
44 |
+
button > .model-title-with-icon .model-name {
|
45 |
+
font-weight: normal;
|
46 |
+
}
|
47 |
+
|
48 |
+
button > .model-title-with-icon .model-icon,
|
49 |
+
button > .model-title-with-icon .model-provider,
|
50 |
+
button > .model-title-with-icon .badge {
|
51 |
+
display: none;
|
52 |
+
}
|
PromptList.module.css
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
.list {
|
3 |
+
outline: none;
|
4 |
+
max-height: unset !important;
|
5 |
+
background-color: transparent !important;
|
6 |
+
|
7 |
+
&--input-container {
|
8 |
+
top: 0;
|
9 |
+
position: sticky;
|
10 |
+
z-index: 1;
|
11 |
+
}
|
12 |
+
|
13 |
+
&--input {
|
14 |
+
margin: 0.5rem;
|
15 |
+
padding: 0.5rem;
|
16 |
+
border-radius: 3px;
|
17 |
+
background-color: var(--vscode-input-background);
|
18 |
+
color: var(--vscode-input-foreground);
|
19 |
+
|
20 |
+
&:focus {
|
21 |
+
box-shadow: 0 0 0 0.125rem var(--vscode-focusBorder)
|
22 |
+
}
|
23 |
+
}
|
24 |
+
|
25 |
+
&-chips {
|
26 |
+
[cmdk-list-sizer] {
|
27 |
+
display: flex;
|
28 |
+
flex-direction: column;
|
29 |
+
gap: 0.5rem
|
30 |
+
}
|
31 |
+
|
32 |
+
.list--item {
|
33 |
+
border-radius: 3px;
|
34 |
+
border: 1px solid var(--vscode-dropdown-border, transparent);
|
35 |
+
padding: 0.25rem 0.5rem;
|
36 |
+
|
37 |
+
&[aria-selected="true"] {
|
38 |
+
border-color: var(--vscode-list-activeSelectionBackground);
|
39 |
+
}
|
40 |
+
|
41 |
+
&:not([aria-selected="true"]) {
|
42 |
+
background-color: var(--vscode-dropdown-background);
|
43 |
+
}
|
44 |
+
}
|
45 |
+
}
|
46 |
+
}
|
README.md
CHANGED
@@ -1,400 +1,38 @@
|
|
1 |
-
|
2 |
-
license: deepfloyd-if-license
|
3 |
-
datasets:
|
4 |
-
- microsoft/orca-agentinstruct-1M-v1
|
5 |
-
- OpenCoder-LLM/opc-sft-stage1
|
6 |
-
- fka/awesome-chatgpt-prompts
|
7 |
-
- HuggingFaceTB/smoltalk
|
8 |
-
- alpindale/two-million-bluesky-posts
|
9 |
-
- bluesky-community/one-million-bluesky-posts
|
10 |
-
- dijihax/Dataset
|
11 |
-
- internlm/Lean-Workbook
|
12 |
-
- PleIAs/common_corpus
|
13 |
-
- O1-OPEN/OpenO1-SFT
|
14 |
-
- allenai/tulu-3-sft-mixture
|
15 |
-
- OpenCoder-LLM/RefineCode-code-corpus-meta
|
16 |
-
- OpenCoder-LLM/opc-fineweb-code-corpus
|
17 |
-
- iamtarun/python_code_instructions_18k_alpaca
|
18 |
-
- codeparrot/github-code
|
19 |
-
- nenad1002/quantum_science_research_dataset
|
20 |
-
- quantumiracle-git/robotinder-data
|
21 |
-
- open-llm-leaderboard-old/details_quantumaikr__KoreanLM-hf
|
22 |
-
- chemora/EntanglementDetectionDataSet
|
23 |
-
- glaiveai/glaive-function-calling-v2
|
24 |
-
- Salesforce/xlam-function-calling-60k
|
25 |
-
- NousResearch/hermes-function-calling-v1
|
26 |
-
- >-
|
27 |
-
Younes-Abdeahad-Software-Requirements/FNFC-Functional_Non-Functional_Classification
|
28 |
-
- cgoosen/prompt_injection_password_or_secret
|
29 |
-
- google/frames-benchmark
|
30 |
-
- Kaeyze/computer-science-synthetic-dataset
|
31 |
-
- gretelai/gretel-text-to-python-fintech-en-v1
|
32 |
-
- Vezora/Tested-143k-Python-Alpaca
|
33 |
-
- Nan-Do/instructional_code-search-net-python
|
34 |
-
- hackaprompt/hackaprompt-dataset
|
35 |
-
- hackercupai/hackercup
|
36 |
-
- OpenPipe/hacker-news
|
37 |
-
- open-phi/programming_books_llama
|
38 |
-
- kanhatakeyama/wizardlm8x22b-logical-math-coding-sft
|
39 |
-
- datatune/LogiCoT
|
40 |
-
- kanhatakeyama/LogicalDatasetsByMixtral8x22b
|
41 |
-
- dongyu0205/working-memory-capacity-of-ChatGPT
|
42 |
-
- memorylost731/linux_man_pages_library
|
43 |
-
- mmathys/openai-moderation-api-evaluation
|
44 |
-
- BAAI/IndustryCorpus2_current_affairs_government_administration
|
45 |
-
- bigcode/admin
|
46 |
-
- HuggingFaceFW/admin
|
47 |
-
- HuggingFaceFW/fineweb-edu
|
48 |
-
- HuggingFaceFV/finevideo
|
49 |
-
- lmms-lab/LLaVA-Video-178K
|
50 |
-
- Wild-Heart/Disney-VideoGeneration-Dataset
|
51 |
-
- DL3DV/DL3DV-ALL-video
|
52 |
-
- laion/laion-high-resolution
|
53 |
-
- joey234/mmlu-high_school_computer_science-neg
|
54 |
-
- sentence-transformers/embedding-training-data
|
55 |
-
- Cohere/wikipedia-22-12-en-embeddings
|
56 |
-
- philschmid/finanical-rag-embedding-dataset
|
57 |
-
- jwaters8978/web_scraper_dataset
|
58 |
-
- jwaters8978/web_scraper_dataset_2
|
59 |
-
- ammarnasr/the-stack-java-clean
|
60 |
-
- angie-chen55/javascript-github-code
|
61 |
-
- anjandash/java-8m-methods-v2
|
62 |
-
- Vikhrmodels/physics_big
|
63 |
-
- k-mktr/improved-flux-prompts-photoreal-portrait
|
64 |
-
- jacobcd52/physics-papers
|
65 |
-
- zeroshot/arxiv-biology
|
66 |
-
- joey234/mmlu-college_biology-neg
|
67 |
-
- cmcmaster/rheumatology-biologics-dataset
|
68 |
-
- HAERAE-HUB/QARV-KOEN-10M-Entangled
|
69 |
-
- Qutiba/LinuxCommands_Virsh_KVM_Docker_2
|
70 |
-
- MattCoddity/docker_ps
|
71 |
-
- adeocybersecurity/DockerCommand
|
72 |
-
- JetBrains-Research/lca-codegen-huge
|
73 |
-
- chaofengc/IQA-PyTorch-Datasets
|
74 |
-
- open-source-metrics/pytorch-image-models-dependents
|
75 |
-
- nodchip/tanuki-.nnue-pytorch-2024-07-30.1
|
76 |
-
- karpathy/fineweb-edu-100B-gpt2-token-shards
|
77 |
-
- google/code_x_glue_cc_code_completion_token
|
78 |
-
- edbeeching/gia-dataset-tokenized-2024-2
|
79 |
-
- OpenDILabCommunity/MasterMind
|
80 |
-
- LinkSoul/Chinese-LLaVA-Vision-Instructions
|
81 |
-
- hoang-quoc-trung/fusion-image-to-latex-datasets
|
82 |
-
- OpenCoder-LLM/opc-fineweb-math-corpus
|
83 |
-
- xinlai/Math-Step-DPO-10K
|
84 |
-
- hendrycks/competition_math
|
85 |
-
- meta-math/MetaMathQA
|
86 |
-
- microsoft/BiomedParseData
|
87 |
-
- Twenty1/aws-lambda-developer-guide-docs
|
88 |
-
- developer0hye/korocr
|
89 |
-
- DeveloperOats/DBPedia_Classes
|
90 |
-
- developerZoyal/full_drugs_data
|
91 |
-
- LangChainHub-Prompts/LLM_Bash
|
92 |
-
- OS-Copilot/OS-Atlas-data
|
93 |
-
- nvidia/OpenMathInstruct-2
|
94 |
-
- nvidia/HelpSteer2
|
95 |
-
language:
|
96 |
-
- en
|
97 |
-
- es
|
98 |
-
- it
|
99 |
-
- ar
|
100 |
-
- id
|
101 |
-
- zh
|
102 |
-
- ja
|
103 |
-
base_model:
|
104 |
-
- Dijitaal/DijiHax.Spooky.Pi
|
105 |
-
- Qwen/Qwen2.5-Coder-32B-Instruct
|
106 |
-
- ayjays132/Quantum-NeuralAdaptiveLearningSystem
|
107 |
-
- neuralmagic/Sparse-Llama-3.1-8B-2of4
|
108 |
-
- bigscience/bloom
|
109 |
-
- bigcode/starcoder
|
110 |
-
- bigcode/starcoder2-3b
|
111 |
-
- wolfram/Athene-V2-Chat-4.65bpw-h6-exl2
|
112 |
-
- wolfram/Mistral-Large-Instruct-2411-2.75bpw-h6-exl2
|
113 |
-
- stabilityai/stable-diffusion-3.5-large
|
114 |
-
- openai/whisper-large-v3-turbo
|
115 |
-
- black-forest-labs/FLUX.1-dev
|
116 |
-
- black-forest-labs/FLUX.1-Fill-dev
|
117 |
-
- black-forest-labs/FLUX.1-Redux-dev
|
118 |
-
- si-pbc/hertz-dev
|
119 |
-
- InstantX/FLUX.1-dev-IP-Adapter
|
120 |
-
- unsloth/Qwen2.5-Coder-32B-Instruct-128K-GGUF
|
121 |
-
- Qwen/Qwen2.5-Coder-32B-Instruct-GGUF
|
122 |
-
- Qwen/QwQ-32B-Preview
|
123 |
-
- tencent/HunyuanVideo
|
124 |
-
- tencent/HunyuanVideo-PromptRewrite
|
125 |
-
- AIDC-AI/Marco-o1
|
126 |
-
- DevQuasar/AIDC-AI.Marco-o1-GGUF
|
127 |
-
- Lightricks/LTX-Video
|
128 |
-
- NexaAIDev/OmniVLM-968M
|
129 |
-
- ali-vilab/In-Context-LoRA
|
130 |
-
- udev4096/docker-commands
|
131 |
-
- philomath-1209/programming-language-identification
|
132 |
-
- vivecccccc/phi-2_kqa-program
|
133 |
-
- Qwen/Qwen2.5-Coder-7B-Instruct
|
134 |
-
- featherless-ai-quants/Qwen-Qwen2.5-Coder-32B-Instruct-GGUF
|
135 |
-
- aws-neuron/optimum-neuron-cache
|
136 |
-
- nm-testing/TinyLlama-1.1B-compressed-tensors-kv-cache-scheme
|
137 |
-
- vuiseng9/ov-gpt2-fp32-no-cache
|
138 |
-
- RichardErkhov/vuiseng9_-_ov-gpt2-fp32-no-cache-gguf
|
139 |
-
- ntc-ai/SDXL-LoRA-slider.eye-catching
|
140 |
-
- stabilityai/stable-diffusion-3.5-large-turbo
|
141 |
-
- nvidia/NV-Embed-v2
|
142 |
-
- jinaai/jina-embeddings-v3
|
143 |
-
- nvidia/MM-Embed
|
144 |
-
- nomic-ai/nomic-embed-text-v1.5
|
145 |
-
- nomic-ai/nomic-embed-text-v1.5-GGUF
|
146 |
-
- stabilityai/stablecode-completion-alpha-3b-4k
|
147 |
-
- stabilityai/stablecode-completion-alpha-3b
|
148 |
-
- tensorblock/stablecode-completion-alpha-3b-4k-GGUF
|
149 |
-
- RaniAimlTest/multi-user-chat-open-llama-7b-v2-open-instruct-completions-only
|
150 |
-
- Iker/Llama-3-Instruct-Neurona-8b
|
151 |
-
- NeuroWhAI/ko-gemma-2-9b-it-fn
|
152 |
-
- Nexusflow/Athene-V2-Chat
|
153 |
-
- comfyanonymous/flux_text_encoders
|
154 |
-
- city96/t5-v1_1-xxl-encoder-gguf
|
155 |
-
- mlabonne/NeuralDaredevil-8B-abliterated
|
156 |
-
- Sao10K/I_am_alive_yay
|
157 |
-
metrics:
|
158 |
-
- code_eval
|
159 |
-
- competition_math
|
160 |
-
- confusion_matrix
|
161 |
-
- codeparrot/apps_metric
|
162 |
-
- bertscore
|
163 |
-
- BucketHeadP65/confusion_matrix
|
164 |
-
- precision
|
165 |
-
- perplexity
|
166 |
-
- phonemetransformers/segmentation_scores
|
167 |
-
- Aledade/extraction_evaluation
|
168 |
-
- wiki_split
|
169 |
-
- berkatil/map
|
170 |
-
- spearmanr
|
171 |
-
- ter
|
172 |
-
- chrf
|
173 |
-
- He-Xingwei/sari_metric
|
174 |
-
- KaliSurfKukt/brier_score
|
175 |
-
- LottieW/accents_unplugged_eval
|
176 |
-
- DaliaCaRo/accents_unplugged_eval
|
177 |
-
- ecody726/bertscore
|
178 |
-
- Yeshwant123/mcc
|
179 |
-
- ola13/precision_at_k
|
180 |
-
- Ikala-allen/relation_extraction
|
181 |
-
- charcut_mt
|
182 |
-
- pearsonr
|
183 |
-
- poseval
|
184 |
-
- Pipatpong/perplexity
|
185 |
-
- NCSOFT/harim_plus
|
186 |
-
- gorkaartola/metric_for_tp_fp_samples
|
187 |
-
- giulio98/code_eval_outputs
|
188 |
-
- f1
|
189 |
-
new_version: Dijitaal/DijiHax.Spooky.Pi
|
190 |
-
library_name: adapter-transformers
|
191 |
-
tags:
|
192 |
-
- chemistry
|
193 |
-
- biology
|
194 |
-
- code
|
195 |
-
- merge
|
196 |
-
- climate
|
197 |
-
- medical
|
198 |
-
- text-generation-inference
|
199 |
-
- legal
|
200 |
-
- music
|
201 |
-
- art
|
202 |
-
- moe
|
203 |
-
- finance
|
204 |
-
- not-for-all-audiences
|
205 |
-
pipeline_tag: video-text-to-text
|
206 |
-
---
|
207 |
-
# Model Card for Model ID
|
208 |
|
209 |
-
|
210 |
|
211 |
-
|
212 |
|
213 |
-
|
214 |
|
215 |
-
|
|
|
|
|
216 |
|
217 |
-
|
218 |
|
|
|
|
|
|
|
219 |
|
|
|
220 |
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
- **Model type:** [More Information Needed]
|
225 |
-
- **Language(s) (NLP):** [More Information Needed]
|
226 |
-
- **License:** [More Information Needed]
|
227 |
-
- **Finetuned from model [optional]:** [More Information Needed]
|
228 |
|
229 |
-
|
|
|
|
|
230 |
|
231 |
-
|
232 |
|
233 |
-
|
234 |
-
- **Paper [optional]:** [More Information Needed]
|
235 |
-
- **Demo [optional]:** [More Information Needed]
|
236 |
|
237 |
-
|
238 |
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
<!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->
|
244 |
-
|
245 |
-
[More Information Needed]
|
246 |
-
|
247 |
-
### Downstream Use [optional]
|
248 |
-
|
249 |
-
<!-- This section is for the model use when fine-tuned for a task, or when plugged into a larger ecosystem/app -->
|
250 |
-
|
251 |
-
[More Information Needed]
|
252 |
-
|
253 |
-
### Out-of-Scope Use
|
254 |
-
|
255 |
-
<!-- This section addresses misuse, malicious use, and uses that the model will not work well for. -->
|
256 |
-
|
257 |
-
[More Information Needed]
|
258 |
-
|
259 |
-
## Bias, Risks, and Limitations
|
260 |
-
|
261 |
-
<!-- This section is meant to convey both technical and sociotechnical limitations. -->
|
262 |
-
|
263 |
-
[More Information Needed]
|
264 |
-
|
265 |
-
### Recommendations
|
266 |
-
|
267 |
-
<!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. -->
|
268 |
-
|
269 |
-
Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.
|
270 |
-
|
271 |
-
## How to Get Started with the Model
|
272 |
-
|
273 |
-
Use the code below to get started with the model.
|
274 |
-
|
275 |
-
[More Information Needed]
|
276 |
-
|
277 |
-
## Training Details
|
278 |
-
|
279 |
-
### Training Data
|
280 |
-
|
281 |
-
<!-- This should link to a Dataset Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->
|
282 |
-
|
283 |
-
[More Information Needed]
|
284 |
-
|
285 |
-
### Training Procedure
|
286 |
-
|
287 |
-
<!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->
|
288 |
-
|
289 |
-
#### Preprocessing [optional]
|
290 |
-
|
291 |
-
[More Information Needed]
|
292 |
-
|
293 |
-
|
294 |
-
#### Training Hyperparameters
|
295 |
-
|
296 |
-
- **Training regime:** [More Information Needed] <!--fp32, fp16 mixed precision, bf16 mixed precision, bf16 non-mixed precision, fp16 non-mixed precision, fp8 mixed precision -->
|
297 |
-
|
298 |
-
#### Speeds, Sizes, Times [optional]
|
299 |
-
|
300 |
-
<!-- This section provides information about throughput, start/end time, checkpoint size if relevant, etc. -->
|
301 |
-
|
302 |
-
[More Information Needed]
|
303 |
-
|
304 |
-
## Evaluation
|
305 |
-
|
306 |
-
<!-- This section describes the evaluation protocols and provides the results. -->
|
307 |
-
|
308 |
-
### Testing Data, Factors & Metrics
|
309 |
-
|
310 |
-
#### Testing Data
|
311 |
-
|
312 |
-
<!-- This should link to a Dataset Card if possible. -->
|
313 |
-
|
314 |
-
[More Information Needed]
|
315 |
-
|
316 |
-
#### Factors
|
317 |
-
|
318 |
-
<!-- These are the things the evaluation is disaggregating by, e.g., subpopulations or domains. -->
|
319 |
-
|
320 |
-
[More Information Needed]
|
321 |
-
|
322 |
-
#### Metrics
|
323 |
-
|
324 |
-
<!-- These are the evaluation metrics being used, ideally with a description of why. -->
|
325 |
-
|
326 |
-
[More Information Needed]
|
327 |
-
|
328 |
-
### Results
|
329 |
-
|
330 |
-
[More Information Needed]
|
331 |
-
|
332 |
-
#### Summary
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
## Model Examination [optional]
|
337 |
-
|
338 |
-
<!-- Relevant interpretability work for the model goes here -->
|
339 |
-
|
340 |
-
[More Information Needed]
|
341 |
-
|
342 |
-
## Environmental Impact
|
343 |
-
|
344 |
-
<!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly -->
|
345 |
-
|
346 |
-
Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700).
|
347 |
-
|
348 |
-
- **Hardware Type:** [More Information Needed]
|
349 |
-
- **Hours used:** [More Information Needed]
|
350 |
-
- **Cloud Provider:** [More Information Needed]
|
351 |
-
- **Compute Region:** [More Information Needed]
|
352 |
-
- **Carbon Emitted:** [More Information Needed]
|
353 |
-
|
354 |
-
## Technical Specifications [optional]
|
355 |
-
|
356 |
-
### Model Architecture and Objective
|
357 |
-
|
358 |
-
[More Information Needed]
|
359 |
-
|
360 |
-
### Compute Infrastructure
|
361 |
-
|
362 |
-
[More Information Needed]
|
363 |
-
|
364 |
-
#### Hardware
|
365 |
-
|
366 |
-
[More Information Needed]
|
367 |
-
|
368 |
-
#### Software
|
369 |
-
|
370 |
-
[More Information Needed]
|
371 |
-
|
372 |
-
## Citation [optional]
|
373 |
-
|
374 |
-
<!-- If there is a paper or blog post introducing the model, the APA and Bibtex information for that should go in this section. -->
|
375 |
-
|
376 |
-
**BibTeX:**
|
377 |
-
|
378 |
-
[More Information Needed]
|
379 |
-
|
380 |
-
**APA:**
|
381 |
-
|
382 |
-
[More Information Needed]
|
383 |
-
|
384 |
-
## Glossary [optional]
|
385 |
-
|
386 |
-
<!-- If relevant, include terms and calculations in this section that can help readers understand the model or model card. -->
|
387 |
-
|
388 |
-
[More Information Needed]
|
389 |
-
|
390 |
-
## More Information [optional]
|
391 |
-
|
392 |
-
[More Information Needed]
|
393 |
-
|
394 |
-
## Model Card Authors [optional]
|
395 |
-
|
396 |
-
[More Information Needed]
|
397 |
-
|
398 |
-
## Model Card Contact
|
399 |
-
|
400 |
-
[More Information Needed]
|
|
|
1 |
+
# Cody E2E Testing
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
3 |
+
These tests interact with the VScode user interface and test Cody from a mock server through to VScode UI.
|
4 |
|
5 |
+
## Commands
|
6 |
|
7 |
+
### All Tests
|
8 |
|
9 |
+
```sh
|
10 |
+
pnpm test:e2e
|
11 |
+
```
|
12 |
|
13 |
+
### Individual Test
|
14 |
|
15 |
+
```sh
|
16 |
+
pnpm test:e2e $TEST_FILE_NAME
|
17 |
+
```
|
18 |
|
19 |
+
### Debug Test
|
20 |
|
21 |
+
```sh
|
22 |
+
# Run all tests in debug mode
|
23 |
+
pnpm test:e2e --debug
|
|
|
|
|
|
|
|
|
24 |
|
25 |
+
# Run a specific test in debug mode
|
26 |
+
pnpm test:e2e $TEST_FILE_NAME --debug
|
27 |
+
```
|
28 |
|
29 |
+
## Notes
|
30 |
|
31 |
+
1. Flakiness in tests can often be attributed to timing issues, such as asynchronous actions taking longer than expected to complete. By performing a hover action before a click action, you give the application a bit more time to react and stabilize before attempting the subsequent click. This can help mitigate timing-related flakiness.
|
|
|
|
|
32 |
|
33 |
+
Example:
|
34 |
|
35 |
+
```
|
36 |
+
await page.getByLabel('.vscode', { exact: true }).hover()
|
37 |
+
await page.getByLabel('.vscode', { exact: true }).click()
|
38 |
+
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WelcomeFooter.module.css
ADDED
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.welcome-footer {
|
2 |
+
padding: 1rem 1rem;
|
3 |
+
display: flex;
|
4 |
+
flex-flow: column nowrap;
|
5 |
+
max-width: 100%;
|
6 |
+
color: var(--vscode-input-placeholderForeground)
|
7 |
+
}
|
8 |
+
|
9 |
+
.tips {
|
10 |
+
display: flex;
|
11 |
+
flex-flow: column nowrap;
|
12 |
+
width: 100%;
|
13 |
+
gap: 0.5rem;
|
14 |
+
padding: 1rem 0;
|
15 |
+
border-bottom: 0.25px solid var(--vscode-dropdown-border);
|
16 |
+
}
|
17 |
+
|
18 |
+
.links {
|
19 |
+
display: flex;
|
20 |
+
flex-flow: row wrap;
|
21 |
+
padding: 0.75rem 0;
|
22 |
+
gap: 0.5rem;
|
23 |
+
}
|
24 |
+
|
25 |
+
.item {
|
26 |
+
display: flex;
|
27 |
+
flex-flow: row nowrap;
|
28 |
+
flex-shrink: 0;
|
29 |
+
padding: 0 0.5rem;
|
30 |
+
gap: 0.5rem;
|
31 |
+
align-items: center;
|
32 |
+
}
|
33 |
+
|
34 |
+
.link {
|
35 |
+
color: inherit;
|
36 |
+
text-decoration: none;
|
37 |
+
}
|
WelcomeMessage.module.css
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
.actions {
|
3 |
+
--vscode-keybindingLabel-foreground: currentColor;
|
4 |
+
}
|
autocomplete.md
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
## Code Autocomplete
|
2 |
+
|
3 |
+
<img src="https://storage.googleapis.com/sourcegraph-assets/blog/vs-code-onboarding-walkthrough-dec-2023-cody-autocomplete-tsx.gif">
|
4 |
+
|
5 |
+
Start writing code and Cody will complete the line (or the entire function) for you. Hit tab to accept the suggestion.
|
6 |
+
|
7 |
+
**β¨ Pro-tips for using Cody autocomplete**
|
8 |
+
<br>β’ Autocomplete uses the surrounding code and context to inform the suggestions, so if you need to guide it you can add a comment above the line you're editing.
|
9 |
+
<br>β’ You can hover over the grey suggestion to see a toolbar of alternative suggestions, as well as other options such as accepting a single word at a time.
|
10 |
+
<br>β’ You can use the "Trigger Autocomplete at Cursor" command to trigger a code suggestion at any time, using the default keyboard shortcut of `Option` `\` on macOS and `Alt` `\` on Windows & Linux.
|
chat-assistant-response-code-buttons-1.txt
ADDED
@@ -0,0 +1,60 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"copyClickedEvent": {
|
3 |
+
"version": 0,
|
4 |
+
"metadata": [
|
5 |
+
{
|
6 |
+
"key": "source",
|
7 |
+
"value": 1
|
8 |
+
},
|
9 |
+
{
|
10 |
+
"key": "lineCount",
|
11 |
+
"value": 5
|
12 |
+
},
|
13 |
+
{
|
14 |
+
"key": "charCount",
|
15 |
+
"value": 75
|
16 |
+
},
|
17 |
+
{
|
18 |
+
"key": "tier",
|
19 |
+
"value": 2
|
20 |
+
}
|
21 |
+
],
|
22 |
+
"privateMetadata": {
|
23 |
+
"source": "chat",
|
24 |
+
"op": "copy"
|
25 |
+
},
|
26 |
+
"billingMetadata": {
|
27 |
+
"product": "cody",
|
28 |
+
"category": "core"
|
29 |
+
}
|
30 |
+
},
|
31 |
+
"insertClickedEvent": {
|
32 |
+
"version": 0,
|
33 |
+
"metadata": [
|
34 |
+
{
|
35 |
+
"key": "source",
|
36 |
+
"value": 1
|
37 |
+
},
|
38 |
+
{
|
39 |
+
"key": "lineCount",
|
40 |
+
"value": 1
|
41 |
+
},
|
42 |
+
{
|
43 |
+
"key": "charCount",
|
44 |
+
"value": 44
|
45 |
+
},
|
46 |
+
{
|
47 |
+
"key": "tier",
|
48 |
+
"value": 2
|
49 |
+
}
|
50 |
+
],
|
51 |
+
"privateMetadata": {
|
52 |
+
"source": "chat",
|
53 |
+
"op": "insert"
|
54 |
+
},
|
55 |
+
"billingMetadata": {
|
56 |
+
"product": "cody",
|
57 |
+
"category": "core"
|
58 |
+
}
|
59 |
+
}
|
60 |
+
}
|
chat.md
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
## Chat
|
2 |
+
|
3 |
+
<img src="https://storage.googleapis.com/sourcegraph-assets/blog/blog-vscode-v018-release/blog-v018-context-controls-002.gif">
|
4 |
+
|
5 |
+
Answer questions about general programming topics, or specific to your codebase, with Cody chat. You can choose your preferred model and @-mention repositories, files, and symbols.
|
6 |
+
|
7 |
+
You can start a chat at any time using the default keyboard shortcut of `Option` `L` on macOS and `Alt` `L` on Windows & Linux.
|
commands.md
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
## Cody Commands
|
2 |
+
|
3 |
+
<img src="https://storage.googleapis.com/sourcegraph-assets/blog/vs-code-onboarding-walkthrough-dec-2023-explain.gif">
|
4 |
+
|
5 |
+
Cody has a range of commands for explaining code, generating unit tests, adding documentation, and more.
|
6 |
+
|
7 |
+
To get started: select code in your editor, right click, and choose a command from the "Cody" menu.
|
8 |
+
|
9 |
+
You can also use the [Cody: Commands Menu](command:cody.menu.commands) which has the default keyboard shortcut of `Option` `C` on macOS and `Alt` `C` on Windows & Linux.
|
10 |
+
|
11 |
+
**β¨ Pro-tips for using Cody commands**
|
12 |
+
<br>β’ You can build your own [Custom Commands (Beta)](https://sourcegraph.com/docs/cody/custom-commands) with custom prompts, output into chat or perform code edits, and more.
|
documentable-node.java
ADDED
@@ -0,0 +1,148 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
class Test {
|
2 |
+
// |
|
3 |
+
}
|
4 |
+
|
5 |
+
// ------------------------------------
|
6 |
+
|
7 |
+
class Test {
|
8 |
+
public int age;
|
9 |
+
// |
|
10 |
+
}
|
11 |
+
|
12 |
+
// ------------------------------------
|
13 |
+
|
14 |
+
class Test {
|
15 |
+
public Hello() {
|
16 |
+
// |
|
17 |
+
}
|
18 |
+
}
|
19 |
+
|
20 |
+
// ------------------------------------
|
21 |
+
|
22 |
+
class Test {
|
23 |
+
public Hello() {
|
24 |
+
// |
|
25 |
+
}
|
26 |
+
}
|
27 |
+
|
28 |
+
// ------------------------------------
|
29 |
+
|
30 |
+
class Test {
|
31 |
+
public Hello() {
|
32 |
+
System.out.println("Hi!");
|
33 |
+
// |
|
34 |
+
}
|
35 |
+
}
|
36 |
+
|
37 |
+
// ------------------------------------
|
38 |
+
|
39 |
+
class Test {
|
40 |
+
public Test() {
|
41 |
+
// |
|
42 |
+
}
|
43 |
+
}
|
44 |
+
|
45 |
+
// ------------------------------------
|
46 |
+
|
47 |
+
public record Point(int x, int y) {
|
48 |
+
// |
|
49 |
+
}
|
50 |
+
|
51 |
+
// ------------------------------------
|
52 |
+
|
53 |
+
public interface Shape {
|
54 |
+
// |
|
55 |
+
double calculateArea();
|
56 |
+
}
|
57 |
+
|
58 |
+
// ------------------------------------
|
59 |
+
|
60 |
+
public interface Shape {
|
61 |
+
double calculateArea();
|
62 |
+
// |
|
63 |
+
}
|
64 |
+
|
65 |
+
// ------------------------------------
|
66 |
+
|
67 |
+
public enum Day {
|
68 |
+
// |
|
69 |
+
SUNDAY,
|
70 |
+
MONDAY,
|
71 |
+
TUESDAY,
|
72 |
+
WEDNESDAY,
|
73 |
+
THURSDAY,
|
74 |
+
FRIDAY,
|
75 |
+
SATURDAY
|
76 |
+
}
|
77 |
+
|
78 |
+
// ------------------------------------
|
79 |
+
|
80 |
+
public enum Month {
|
81 |
+
JANUARY,
|
82 |
+
// |
|
83 |
+
FEBRUARY,
|
84 |
+
MARCH,
|
85 |
+
APRIL,
|
86 |
+
MAY,
|
87 |
+
JUNE,
|
88 |
+
JULY,
|
89 |
+
AUGUST,
|
90 |
+
SEPTEMBER,
|
91 |
+
OCTOBER,
|
92 |
+
NOVEMBER,
|
93 |
+
DECEMBER
|
94 |
+
}
|
95 |
+
|
96 |
+
// ------------------------------------
|
97 |
+
|
98 |
+
public enum Planet {
|
99 |
+
EARTH(5.976e+24, 6.37814e6);
|
100 |
+
// |
|
101 |
+
private final double mass;
|
102 |
+
private final double radius;
|
103 |
+
}
|
104 |
+
|
105 |
+
// ------------------------------------
|
106 |
+
|
107 |
+
public enum Planet {
|
108 |
+
EARTH(5.976e+24, 6.37814e6);
|
109 |
+
private final double mass;
|
110 |
+
// |
|
111 |
+
private final double radius;
|
112 |
+
}
|
113 |
+
|
114 |
+
// ------------------------------------
|
115 |
+
|
116 |
+
public enum Planet {
|
117 |
+
EARTH(5.976e+24, 6.37814e6);
|
118 |
+
private final double mass;
|
119 |
+
private final double radius;
|
120 |
+
|
121 |
+
Planet(double mass, double radius) {
|
122 |
+
// |
|
123 |
+
this.mass = mass;
|
124 |
+
this.radius = radius;
|
125 |
+
}
|
126 |
+
}
|
127 |
+
|
128 |
+
// ------------------------------------
|
129 |
+
|
130 |
+
public enum Planet {
|
131 |
+
EARTH(5.976e+24, 6.37814e6);
|
132 |
+
private final double mass;
|
133 |
+
private final double radius;
|
134 |
+
|
135 |
+
public double surfaceGravity() {
|
136 |
+
// |
|
137 |
+
return 6.67300E-11 * mass / (radius * radius);
|
138 |
+
}
|
139 |
+
}
|
140 |
+
|
141 |
+
// ------------------------------------
|
142 |
+
|
143 |
+
public enum Planet {
|
144 |
+
EARTH(5.976e+24, 6.37814e6);
|
145 |
+
public static class InnerClass {
|
146 |
+
// |
|
147 |
+
}
|
148 |
+
}
|
documentable-node.py
ADDED
@@ -0,0 +1,80 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
def wrapper():
|
2 |
+
print('wrapper')
|
3 |
+
def test():
|
4 |
+
# |
|
5 |
+
pass
|
6 |
+
|
7 |
+
# ------------------------------------
|
8 |
+
|
9 |
+
def test():
|
10 |
+
# |
|
11 |
+
pass
|
12 |
+
|
13 |
+
# ------------------------------------
|
14 |
+
|
15 |
+
def test_multiline_func_declaration(
|
16 |
+
# |
|
17 |
+
val,
|
18 |
+
val2
|
19 |
+
):
|
20 |
+
wrapper()
|
21 |
+
|
22 |
+
# ------------------------------------
|
23 |
+
|
24 |
+
def test_parameter(val):
|
25 |
+
# |
|
26 |
+
wrapper()
|
27 |
+
|
28 |
+
# ------------------------------------
|
29 |
+
|
30 |
+
class Agent:
|
31 |
+
# |
|
32 |
+
pass
|
33 |
+
|
34 |
+
# ------------------------------------
|
35 |
+
|
36 |
+
|
37 |
+
class AgentMultiLine(
|
38 |
+
BaseClass1,
|
39 |
+
BaseClass2):
|
40 |
+
# |
|
41 |
+
def __init__(self, name):
|
42 |
+
self.name = name
|
43 |
+
|
44 |
+
# ------------------------------------
|
45 |
+
|
46 |
+
class Agent:
|
47 |
+
def __init__(self, name):
|
48 |
+
# |
|
49 |
+
self.name = name
|
50 |
+
|
51 |
+
# ------------------------------------
|
52 |
+
|
53 |
+
class Agent:
|
54 |
+
def __init__(self, name):
|
55 |
+
self.name = name
|
56 |
+
|
57 |
+
def test(self):
|
58 |
+
# |
|
59 |
+
pass
|
60 |
+
|
61 |
+
# ------------------------------------
|
62 |
+
|
63 |
+
def return_statement():
|
64 |
+
return
|
65 |
+
# |
|
66 |
+
|
67 |
+
# ------------------------------------
|
68 |
+
|
69 |
+
return_statement('value')
|
70 |
+
# |
|
71 |
+
|
72 |
+
# ------------------------------------
|
73 |
+
|
74 |
+
user_name = 'Tom'
|
75 |
+
# |
|
76 |
+
|
77 |
+
# ------------------------------------
|
78 |
+
|
79 |
+
user_name = 'Tom'
|
80 |
+
# |
|
documentable-node.snap.c
ADDED
@@ -0,0 +1,192 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
//
|
2 |
+
// | - query start position in the source file.
|
3 |
+
// β β query start position in the annotated file.
|
4 |
+
// ^ β characters matching the last query result.
|
5 |
+
//
|
6 |
+
// ------------------------------------
|
7 |
+
|
8 |
+
/* wrapper */
|
9 |
+
void wrapper() {
|
10 |
+
printf("wrapper\n");
|
11 |
+
void test() {
|
12 |
+
// ^ start range.function[1]
|
13 |
+
// β
|
14 |
+
}
|
15 |
+
// ^ end range.function[1]
|
16 |
+
}
|
17 |
+
|
18 |
+
// Nodes types:
|
19 |
+
// range.function[1]: function_definition
|
20 |
+
|
21 |
+
// ------------------------------------
|
22 |
+
|
23 |
+
void test() {
|
24 |
+
//^ start range.function[1]
|
25 |
+
// β
|
26 |
+
}
|
27 |
+
//^ end range.function[1]
|
28 |
+
|
29 |
+
// Nodes types:
|
30 |
+
// range.function[1]: function_definition
|
31 |
+
|
32 |
+
// ------------------------------------
|
33 |
+
|
34 |
+
static void twoSum(int* nums, int numsSize, int target, int* returnSize) {
|
35 |
+
//^ start range.function[1]
|
36 |
+
if (numsSize < 2) {
|
37 |
+
return;
|
38 |
+
} else {
|
39 |
+
for (int i = 0; i < numsSize; i++) {
|
40 |
+
for (int j = i + 1; j < numsSize; j++) {
|
41 |
+
if (nums[i] + nums[j] == target) {
|
42 |
+
// β
|
43 |
+
returnSize[0] = i;
|
44 |
+
returnSize[1] = j;
|
45 |
+
return;
|
46 |
+
}
|
47 |
+
}
|
48 |
+
}
|
49 |
+
}
|
50 |
+
}
|
51 |
+
//^ end range.function[1]
|
52 |
+
|
53 |
+
// Nodes types:
|
54 |
+
// range.function[1]: function_definition
|
55 |
+
|
56 |
+
// ------------------------------------
|
57 |
+
|
58 |
+
void test_multiline_func_declaration(
|
59 |
+
//^ start range.function[1]
|
60 |
+
// β
|
61 |
+
int val,
|
62 |
+
int val2
|
63 |
+
) {
|
64 |
+
wrapper();
|
65 |
+
}
|
66 |
+
//^ end range.function[1]
|
67 |
+
|
68 |
+
|
69 |
+
// Nodes types:
|
70 |
+
// range.function[1]: function_definition
|
71 |
+
|
72 |
+
// ------------------------------------
|
73 |
+
|
74 |
+
void test_parameter(int val) {
|
75 |
+
//^ start range.function[1]
|
76 |
+
// β
|
77 |
+
wrapper();
|
78 |
+
}
|
79 |
+
//^ end range.function[1]
|
80 |
+
|
81 |
+
|
82 |
+
// Nodes types:
|
83 |
+
// range.function[1]: function_definition
|
84 |
+
|
85 |
+
// ------------------------------------
|
86 |
+
|
87 |
+
typedef struct Agent {
|
88 |
+
// ^ start range.function[1]
|
89 |
+
// β
|
90 |
+
} Agent;
|
91 |
+
//^ end range.function[1]
|
92 |
+
|
93 |
+
|
94 |
+
// Nodes types:
|
95 |
+
// range.function[1]: struct_specifier
|
96 |
+
|
97 |
+
// ------------------------------------
|
98 |
+
|
99 |
+
typedef struct AgentMultiLine {
|
100 |
+
// ^ start range.function[1]
|
101 |
+
// β
|
102 |
+
void (*__init__)(struct AgentMultiLine* self, char* name);
|
103 |
+
} AgentMultiLine;
|
104 |
+
//^ end range.function[1]
|
105 |
+
|
106 |
+
|
107 |
+
// Nodes types:
|
108 |
+
// range.function[1]: struct_specifier
|
109 |
+
|
110 |
+
// ------------------------------------
|
111 |
+
|
112 |
+
void AgentMultiLine__init__(struct AgentMultiLine* self, char* name) {
|
113 |
+
//^ start range.function[1]
|
114 |
+
// β
|
115 |
+
self->name = name;
|
116 |
+
}
|
117 |
+
//^ end range.function[1]
|
118 |
+
|
119 |
+
|
120 |
+
// Nodes types:
|
121 |
+
// range.function[1]: function_definition
|
122 |
+
|
123 |
+
// ------------------------------------
|
124 |
+
|
125 |
+
typedef struct Agent {
|
126 |
+
// ^ start range.function[1]
|
127 |
+
char* name;
|
128 |
+
// β
|
129 |
+
} Agent;
|
130 |
+
//^ end range.function[1]
|
131 |
+
|
132 |
+
|
133 |
+
// Nodes types:
|
134 |
+
// range.function[1]: struct_specifier
|
135 |
+
|
136 |
+
// ------------------------------------
|
137 |
+
|
138 |
+
void Agent_test(struct Agent* self) {
|
139 |
+
//^ start range.function[1]
|
140 |
+
// β
|
141 |
+
}
|
142 |
+
//^ end range.function[1]
|
143 |
+
|
144 |
+
|
145 |
+
// Nodes types:
|
146 |
+
// range.function[1]: function_definition
|
147 |
+
|
148 |
+
// ------------------------------------
|
149 |
+
|
150 |
+
void return_statement() {
|
151 |
+
//^ start range.function[1]
|
152 |
+
return;
|
153 |
+
// β
|
154 |
+
}
|
155 |
+
//^ end range.function[1]
|
156 |
+
|
157 |
+
|
158 |
+
// Nodes types:
|
159 |
+
// range.function[1]: function_definition
|
160 |
+
|
161 |
+
// ------------------------------------
|
162 |
+
|
163 |
+
return_statement('value');
|
164 |
+
// |
|
165 |
+
|
166 |
+
|
167 |
+
// ------------------------------------
|
168 |
+
|
169 |
+
char* user_name = "Tom";
|
170 |
+
//^^^^^^^^^^^^^^^^^^^^^^^^ symbol.identifier[1], range.identifier[1]
|
171 |
+
// β
|
172 |
+
|
173 |
+
// Nodes types:
|
174 |
+
// symbol.identifier[1]: declaration
|
175 |
+
// range.identifier[1]: declaration
|
176 |
+
|
177 |
+
// ------------------------------------
|
178 |
+
|
179 |
+
enum Level {
|
180 |
+
//^ start range.identifier[1]
|
181 |
+
// ^^^^^ symbol.identifier[1]
|
182 |
+
// β
|
183 |
+
LOW,
|
184 |
+
MEDIUM,
|
185 |
+
HIGH
|
186 |
+
};
|
187 |
+
//^ end range.identifier[1]
|
188 |
+
|
189 |
+
// Nodes types:
|
190 |
+
// symbol.identifier[1]: type_identifier
|
191 |
+
// range.identifier[1]: enum_specifier
|
192 |
+
|
documentable-node.snap.cpp
ADDED
@@ -0,0 +1,234 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
//
|
2 |
+
// | - query start position in the source file.
|
3 |
+
// β β query start position in the annotated file.
|
4 |
+
// ^ β characters matching the last query result.
|
5 |
+
//
|
6 |
+
// ------------------------------------
|
7 |
+
|
8 |
+
/* wrapper */
|
9 |
+
void wrapper()
|
10 |
+
{
|
11 |
+
void test()
|
12 |
+
// ^ start range.function[1]
|
13 |
+
{
|
14 |
+
// ^ start symbol.function[1]
|
15 |
+
// β
|
16 |
+
}
|
17 |
+
// ^ end symbol.function[1], range.function[1]
|
18 |
+
}
|
19 |
+
|
20 |
+
// Nodes types:
|
21 |
+
// symbol.function[1]: compound_statement
|
22 |
+
// range.function[1]: function_definition
|
23 |
+
|
24 |
+
// ------------------------------------
|
25 |
+
|
26 |
+
void test()
|
27 |
+
//^ start range.function[1]
|
28 |
+
{
|
29 |
+
//^ start symbol.function[1]
|
30 |
+
// β
|
31 |
+
}
|
32 |
+
//^ end symbol.function[1], range.function[1]
|
33 |
+
|
34 |
+
// Nodes types:
|
35 |
+
// symbol.function[1]: compound_statement
|
36 |
+
// range.function[1]: function_definition
|
37 |
+
|
38 |
+
// ------------------------------------
|
39 |
+
|
40 |
+
static void twoSum(int *nums, int numsSize, int target, int *returnSize)
|
41 |
+
//^ start range.function[1]
|
42 |
+
{
|
43 |
+
if (numsSize < 2)
|
44 |
+
{
|
45 |
+
return;
|
46 |
+
}
|
47 |
+
else
|
48 |
+
{
|
49 |
+
for (int i = 0; i < numsSize; i++)
|
50 |
+
{
|
51 |
+
for (int j = i + 1; j < numsSize; j++)
|
52 |
+
{
|
53 |
+
if (nums[i] + nums[j] == target)
|
54 |
+
{
|
55 |
+
// β
|
56 |
+
returnSize[0] = i;
|
57 |
+
returnSize[1] = j;
|
58 |
+
return;
|
59 |
+
}
|
60 |
+
}
|
61 |
+
}
|
62 |
+
}
|
63 |
+
}
|
64 |
+
//^ end range.function[1]
|
65 |
+
|
66 |
+
// Nodes types:
|
67 |
+
// range.function[1]: function_definition
|
68 |
+
|
69 |
+
// ------------------------------------
|
70 |
+
|
71 |
+
void test_multiline_func_declaration(
|
72 |
+
//^ start range.function[1]
|
73 |
+
// β
|
74 |
+
int val,
|
75 |
+
int val2)
|
76 |
+
{
|
77 |
+
wrapper();
|
78 |
+
}
|
79 |
+
//^ end range.function[1]
|
80 |
+
|
81 |
+
// Nodes types:
|
82 |
+
// range.function[1]: function_definition
|
83 |
+
|
84 |
+
// ------------------------------------
|
85 |
+
|
86 |
+
void test_parameter(int val)
|
87 |
+
//^ start range.function[1]
|
88 |
+
{
|
89 |
+
//^ start symbol.function[1]
|
90 |
+
// β
|
91 |
+
wrapper();
|
92 |
+
}
|
93 |
+
//^ end symbol.function[1], range.function[1]
|
94 |
+
|
95 |
+
// Nodes types:
|
96 |
+
// symbol.function[1]: compound_statement
|
97 |
+
// range.function[1]: function_definition
|
98 |
+
|
99 |
+
// ------------------------------------
|
100 |
+
|
101 |
+
typedef struct
|
102 |
+
//^ start range.identifier[1]
|
103 |
+
{
|
104 |
+
// β
|
105 |
+
} Agent;
|
106 |
+
// ^ end range.identifier[1]
|
107 |
+
|
108 |
+
// Nodes types:
|
109 |
+
// range.identifier[1]: type_definition
|
110 |
+
|
111 |
+
// ------------------------------------
|
112 |
+
|
113 |
+
typedef struct
|
114 |
+
//^ start range.identifier[1]
|
115 |
+
{
|
116 |
+
// β
|
117 |
+
void (*__init__)(struct AgentMultiLine *self, char *name);
|
118 |
+
} AgentMultiLine;
|
119 |
+
// ^ end range.identifier[1]
|
120 |
+
|
121 |
+
// Nodes types:
|
122 |
+
// range.identifier[1]: type_definition
|
123 |
+
|
124 |
+
// ------------------------------------
|
125 |
+
|
126 |
+
void AgentMultiLine__init__(AgentMultiLine *self, char *name)
|
127 |
+
//^ start range.function[1]
|
128 |
+
{
|
129 |
+
//^ start symbol.function[1]
|
130 |
+
// β
|
131 |
+
self->name = name;
|
132 |
+
}
|
133 |
+
//^ end symbol.function[1], range.function[1]
|
134 |
+
|
135 |
+
// Nodes types:
|
136 |
+
// symbol.function[1]: compound_statement
|
137 |
+
// range.function[1]: function_definition
|
138 |
+
|
139 |
+
// ------------------------------------
|
140 |
+
|
141 |
+
typedef struct
|
142 |
+
//^ start range.identifier[1]
|
143 |
+
{
|
144 |
+
char *name;
|
145 |
+
// β
|
146 |
+
} Agent;
|
147 |
+
// ^ end range.identifier[1]
|
148 |
+
|
149 |
+
// Nodes types:
|
150 |
+
// range.identifier[1]: type_definition
|
151 |
+
|
152 |
+
// ------------------------------------
|
153 |
+
|
154 |
+
void Agent_test(Agent *self)
|
155 |
+
//^ start range.function[1]
|
156 |
+
{
|
157 |
+
//^ start symbol.function[1]
|
158 |
+
// β
|
159 |
+
}
|
160 |
+
//^ end symbol.function[1], range.function[1]
|
161 |
+
|
162 |
+
// Nodes types:
|
163 |
+
// symbol.function[1]: compound_statement
|
164 |
+
// range.function[1]: function_definition
|
165 |
+
|
166 |
+
// ------------------------------------
|
167 |
+
|
168 |
+
void return_statement()
|
169 |
+
//^ start range.function[1]
|
170 |
+
{
|
171 |
+
return;
|
172 |
+
// β
|
173 |
+
}
|
174 |
+
//^ end range.function[1]
|
175 |
+
|
176 |
+
// Nodes types:
|
177 |
+
// range.function[1]: function_definition
|
178 |
+
|
179 |
+
// ------------------------------------
|
180 |
+
|
181 |
+
enum Level
|
182 |
+
//^ start range.identifier[1]
|
183 |
+
{
|
184 |
+
// β
|
185 |
+
LOW,
|
186 |
+
MEDIUM,
|
187 |
+
HIGH
|
188 |
+
};
|
189 |
+
//^ end range.identifier[1]
|
190 |
+
|
191 |
+
// Nodes types:
|
192 |
+
// range.identifier[1]: enum_specifier
|
193 |
+
|
194 |
+
// ------------------------------------
|
195 |
+
|
196 |
+
template <typename T> struct SampleStruct {
|
197 |
+
// ^ start range.identifier[1]
|
198 |
+
template <typename ParseContext>
|
199 |
+
auto parse(ParseContext &ctx) {
|
200 |
+
// β
|
201 |
+
return ctx.begin();
|
202 |
+
}
|
203 |
+
|
204 |
+
void foo() {
|
205 |
+
}
|
206 |
+
};
|
207 |
+
//^ end range.identifier[1]
|
208 |
+
|
209 |
+
// Nodes types:
|
210 |
+
// range.identifier[1]: struct_specifier
|
211 |
+
|
212 |
+
// ------------------------------------
|
213 |
+
|
214 |
+
#define TEST(name) void test_##name()
|
215 |
+
|
216 |
+
TEST(twoSum)
|
217 |
+
{
|
218 |
+
int target = 9;
|
219 |
+
int returnSize[2];
|
220 |
+
int expected[] = {0, 1};
|
221 |
+
// |
|
222 |
+
};
|
223 |
+
|
224 |
+
// ------------------------------------
|
225 |
+
|
226 |
+
// Variable should not be detected as documentable.
|
227 |
+
int nums[] = {2, 7, 11, 15};
|
228 |
+
// |
|
229 |
+
|
230 |
+
// ------------------------------------
|
231 |
+
|
232 |
+
// Variable should not be detected as documentable.
|
233 |
+
char *user_name = "Tom";
|
234 |
+
// |
|
documentable-node.snap.java
ADDED
@@ -0,0 +1,252 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
//
|
2 |
+
// | - query start position in the source file.
|
3 |
+
// β β query start position in the annotated file.
|
4 |
+
// ^ β characters matching the last query result.
|
5 |
+
//
|
6 |
+
// ------------------------------------
|
7 |
+
|
8 |
+
class Test {
|
9 |
+
//^ start range.identifier[1]
|
10 |
+
// ^^^^ symbol.identifier[1]
|
11 |
+
// β
|
12 |
+
}
|
13 |
+
//^ end range.identifier[1]
|
14 |
+
|
15 |
+
// Nodes types:
|
16 |
+
// symbol.identifier[1]: identifier
|
17 |
+
// range.identifier[1]: class_declaration
|
18 |
+
|
19 |
+
// ------------------------------------
|
20 |
+
|
21 |
+
class Test {
|
22 |
+
//^ start range.identifier[1]
|
23 |
+
public int age;
|
24 |
+
// β
|
25 |
+
}
|
26 |
+
//^ end range.identifier[1]
|
27 |
+
|
28 |
+
// Nodes types:
|
29 |
+
// range.identifier[1]: class_declaration
|
30 |
+
|
31 |
+
// ------------------------------------
|
32 |
+
|
33 |
+
class Test {
|
34 |
+
public Hello() {
|
35 |
+
// ^ start range.function[1]
|
36 |
+
// ^^^^^ symbol.function[1]
|
37 |
+
// β
|
38 |
+
}
|
39 |
+
// ^ end range.function[1]
|
40 |
+
}
|
41 |
+
|
42 |
+
// Nodes types:
|
43 |
+
// symbol.function[1]: identifier
|
44 |
+
// range.function[1]: constructor_declaration
|
45 |
+
|
46 |
+
// ------------------------------------
|
47 |
+
|
48 |
+
class Test {
|
49 |
+
public Hello() {
|
50 |
+
// ^ start range.function[1]
|
51 |
+
// β
|
52 |
+
}
|
53 |
+
// ^ end range.function[1]
|
54 |
+
}
|
55 |
+
|
56 |
+
// Nodes types:
|
57 |
+
// range.function[1]: constructor_declaration
|
58 |
+
|
59 |
+
// ------------------------------------
|
60 |
+
|
61 |
+
class Test {
|
62 |
+
public Hello() {
|
63 |
+
// ^ start range.function[1]
|
64 |
+
System.out.println("Hi!");
|
65 |
+
// β
|
66 |
+
}
|
67 |
+
// ^ end range.function[1]
|
68 |
+
}
|
69 |
+
|
70 |
+
// Nodes types:
|
71 |
+
// range.function[1]: constructor_declaration
|
72 |
+
|
73 |
+
// ------------------------------------
|
74 |
+
|
75 |
+
class Test {
|
76 |
+
public Test() {
|
77 |
+
// ^ start range.function[1]
|
78 |
+
// ^^^^ symbol.function[1]
|
79 |
+
// β
|
80 |
+
}
|
81 |
+
// ^ end range.function[1]
|
82 |
+
}
|
83 |
+
|
84 |
+
// Nodes types:
|
85 |
+
// symbol.function[1]: identifier
|
86 |
+
// range.function[1]: constructor_declaration
|
87 |
+
|
88 |
+
// ------------------------------------
|
89 |
+
|
90 |
+
public record Point(int x, int y) {
|
91 |
+
//^ start range.function[1]
|
92 |
+
// ^^^^^ symbol.function[1]
|
93 |
+
// β
|
94 |
+
}
|
95 |
+
//^ end range.function[1]
|
96 |
+
|
97 |
+
// Nodes types:
|
98 |
+
// symbol.function[1]: identifier
|
99 |
+
// range.function[1]: record_declaration
|
100 |
+
|
101 |
+
// ------------------------------------
|
102 |
+
|
103 |
+
public interface Shape {
|
104 |
+
//^ start range.identifier[1]
|
105 |
+
// ^^^^^ symbol.identifier[1]
|
106 |
+
// β
|
107 |
+
double calculateArea();
|
108 |
+
}
|
109 |
+
//^ end range.identifier[1]
|
110 |
+
|
111 |
+
// Nodes types:
|
112 |
+
// symbol.identifier[1]: identifier
|
113 |
+
// range.identifier[1]: interface_declaration
|
114 |
+
|
115 |
+
// ------------------------------------
|
116 |
+
|
117 |
+
public interface Shape {
|
118 |
+
double calculateArea();
|
119 |
+
// ^^^^^^^^^^^^^^^^^^^^^^^ range.function[1]
|
120 |
+
// ^^^^^^^^^^^^^ symbol.function[1]
|
121 |
+
// β
|
122 |
+
}
|
123 |
+
|
124 |
+
// Nodes types:
|
125 |
+
// symbol.function[1]: identifier
|
126 |
+
// range.function[1]: method_declaration
|
127 |
+
|
128 |
+
// ------------------------------------
|
129 |
+
|
130 |
+
public enum Day {
|
131 |
+
//^ start range.identifier[1]
|
132 |
+
// ^^^ symbol.identifier[1]
|
133 |
+
// β
|
134 |
+
SUNDAY,
|
135 |
+
MONDAY,
|
136 |
+
TUESDAY,
|
137 |
+
WEDNESDAY,
|
138 |
+
THURSDAY,
|
139 |
+
FRIDAY,
|
140 |
+
SATURDAY
|
141 |
+
}
|
142 |
+
//^ end range.identifier[1]
|
143 |
+
|
144 |
+
// Nodes types:
|
145 |
+
// symbol.identifier[1]: identifier
|
146 |
+
// range.identifier[1]: enum_declaration
|
147 |
+
|
148 |
+
// ------------------------------------
|
149 |
+
|
150 |
+
public enum Month {
|
151 |
+
JANUARY,
|
152 |
+
// ^^^^^^^ symbol.identifier[1], range.identifier[1]
|
153 |
+
// β
|
154 |
+
FEBRUARY,
|
155 |
+
MARCH,
|
156 |
+
APRIL,
|
157 |
+
MAY,
|
158 |
+
JUNE,
|
159 |
+
JULY,
|
160 |
+
AUGUST,
|
161 |
+
SEPTEMBER,
|
162 |
+
OCTOBER,
|
163 |
+
NOVEMBER,
|
164 |
+
DECEMBER
|
165 |
+
}
|
166 |
+
|
167 |
+
// Nodes types:
|
168 |
+
// symbol.identifier[1]: identifier
|
169 |
+
// range.identifier[1]: enum_constant
|
170 |
+
|
171 |
+
// ------------------------------------
|
172 |
+
|
173 |
+
public enum Planet {
|
174 |
+
EARTH(5.976e+24, 6.37814e6);
|
175 |
+
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^ range.identifier[1]
|
176 |
+
// β
|
177 |
+
private final double mass;
|
178 |
+
private final double radius;
|
179 |
+
}
|
180 |
+
|
181 |
+
// Nodes types:
|
182 |
+
// range.identifier[1]: enum_constant
|
183 |
+
|
184 |
+
// ------------------------------------
|
185 |
+
|
186 |
+
public enum Planet {
|
187 |
+
//^ start range.identifier[1]
|
188 |
+
EARTH(5.976e+24, 6.37814e6);
|
189 |
+
private final double mass;
|
190 |
+
// β
|
191 |
+
private final double radius;
|
192 |
+
}
|
193 |
+
//^ end range.identifier[1]
|
194 |
+
|
195 |
+
// Nodes types:
|
196 |
+
// range.identifier[1]: enum_declaration
|
197 |
+
|
198 |
+
// ------------------------------------
|
199 |
+
|
200 |
+
public enum Planet {
|
201 |
+
EARTH(5.976e+24, 6.37814e6);
|
202 |
+
private final double mass;
|
203 |
+
private final double radius;
|
204 |
+
|
205 |
+
Planet(double mass, double radius) {
|
206 |
+
// ^ start range.function[1]
|
207 |
+
// β
|
208 |
+
this.mass = mass;
|
209 |
+
this.radius = radius;
|
210 |
+
}
|
211 |
+
// ^ end range.function[1]
|
212 |
+
}
|
213 |
+
|
214 |
+
// Nodes types:
|
215 |
+
// range.function[1]: constructor_declaration
|
216 |
+
|
217 |
+
// ------------------------------------
|
218 |
+
|
219 |
+
public enum Planet {
|
220 |
+
EARTH(5.976e+24, 6.37814e6);
|
221 |
+
private final double mass;
|
222 |
+
private final double radius;
|
223 |
+
|
224 |
+
public double surfaceGravity() {
|
225 |
+
// ^ start range.function[1]
|
226 |
+
// ^^^^^^^^^^^^^^ symbol.function[1]
|
227 |
+
// β
|
228 |
+
return 6.67300E-11 * mass / (radius * radius);
|
229 |
+
}
|
230 |
+
// ^ end range.function[1]
|
231 |
+
}
|
232 |
+
|
233 |
+
// Nodes types:
|
234 |
+
// symbol.function[1]: identifier
|
235 |
+
// range.function[1]: method_declaration
|
236 |
+
|
237 |
+
// ------------------------------------
|
238 |
+
|
239 |
+
public enum Planet {
|
240 |
+
EARTH(5.976e+24, 6.37814e6);
|
241 |
+
public static class InnerClass {
|
242 |
+
// ^ start range.identifier[1]
|
243 |
+
// ^^^^^^^^^^ symbol.identifier[1]
|
244 |
+
// β
|
245 |
+
}
|
246 |
+
// ^ end range.identifier[1]
|
247 |
+
}
|
248 |
+
|
249 |
+
// Nodes types:
|
250 |
+
// symbol.identifier[1]: identifier
|
251 |
+
// range.identifier[1]: class_declaration
|
252 |
+
|
documentable-node.snap.py
ADDED
@@ -0,0 +1,173 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#
|
2 |
+
# | - query start position in the source file.
|
3 |
+
# β β query start position in the annotated file.
|
4 |
+
# ^ β characters matching the last query result.
|
5 |
+
#
|
6 |
+
# ------------------------------------
|
7 |
+
|
8 |
+
def wrapper():
|
9 |
+
print('wrapper')
|
10 |
+
def test():
|
11 |
+
# ^ start range.function[1]
|
12 |
+
# ^^^^ symbol.function[1]
|
13 |
+
# ^ insertion.point[1]
|
14 |
+
# β
|
15 |
+
pass
|
16 |
+
# ^ end range.function[1]
|
17 |
+
|
18 |
+
# Nodes types:
|
19 |
+
# symbol.function[1]: identifier
|
20 |
+
# range.function[1]: function_definition
|
21 |
+
# insertion.point[1]: :
|
22 |
+
|
23 |
+
# ------------------------------------
|
24 |
+
|
25 |
+
def test():
|
26 |
+
#^ start range.function[1]
|
27 |
+
# ^^^^ symbol.function[1]
|
28 |
+
# ^ insertion.point[1]
|
29 |
+
# β
|
30 |
+
pass
|
31 |
+
# ^ end range.function[1]
|
32 |
+
|
33 |
+
# Nodes types:
|
34 |
+
# symbol.function[1]: identifier
|
35 |
+
# range.function[1]: function_definition
|
36 |
+
# insertion.point[1]: :
|
37 |
+
|
38 |
+
# ------------------------------------
|
39 |
+
|
40 |
+
def test_multiline_func_declaration(
|
41 |
+
#^ start range.function[1]
|
42 |
+
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ symbol.function[1]
|
43 |
+
# β
|
44 |
+
val,
|
45 |
+
val2
|
46 |
+
):
|
47 |
+
# ^ insertion.point[1]
|
48 |
+
wrapper()
|
49 |
+
# ^ end range.function[1]
|
50 |
+
|
51 |
+
# Nodes types:
|
52 |
+
# symbol.function[1]: identifier
|
53 |
+
# range.function[1]: function_definition
|
54 |
+
# insertion.point[1]: :
|
55 |
+
|
56 |
+
# ------------------------------------
|
57 |
+
|
58 |
+
def test_parameter(val):
|
59 |
+
#^ start range.function[1]
|
60 |
+
# ^ insertion.point[1]
|
61 |
+
# β
|
62 |
+
wrapper()
|
63 |
+
# ^ end range.function[1]
|
64 |
+
|
65 |
+
# Nodes types:
|
66 |
+
# range.function[1]: function_definition
|
67 |
+
# insertion.point[1]: :
|
68 |
+
|
69 |
+
# ------------------------------------
|
70 |
+
|
71 |
+
class Agent:
|
72 |
+
#^ start range.class[1]
|
73 |
+
# ^^^^^ symbol.class[1]
|
74 |
+
# ^ insertion.point[1]
|
75 |
+
# β
|
76 |
+
pass
|
77 |
+
# ^ end range.class[1]
|
78 |
+
|
79 |
+
# Nodes types:
|
80 |
+
# symbol.class[1]: identifier
|
81 |
+
# range.class[1]: class_definition
|
82 |
+
# insertion.point[1]: :
|
83 |
+
|
84 |
+
# ------------------------------------
|
85 |
+
|
86 |
+
|
87 |
+
class AgentMultiLine(
|
88 |
+
#^ start range.class[1]
|
89 |
+
BaseClass1,
|
90 |
+
BaseClass2):
|
91 |
+
# ^ insertion.point[1]
|
92 |
+
# β
|
93 |
+
def __init__(self, name):
|
94 |
+
self.name = name
|
95 |
+
# ^ end range.class[1]
|
96 |
+
|
97 |
+
# Nodes types:
|
98 |
+
# range.class[1]: class_definition
|
99 |
+
# insertion.point[1]: :
|
100 |
+
|
101 |
+
# ------------------------------------
|
102 |
+
|
103 |
+
class Agent:
|
104 |
+
def __init__(self, name):
|
105 |
+
# ^ start range.function[1]
|
106 |
+
# ^^^^^^^^ symbol.function[1]
|
107 |
+
# ^ insertion.point[1]
|
108 |
+
# β
|
109 |
+
self.name = name
|
110 |
+
# ^ end range.function[1]
|
111 |
+
|
112 |
+
# Nodes types:
|
113 |
+
# symbol.function[1]: identifier
|
114 |
+
# range.function[1]: function_definition
|
115 |
+
# insertion.point[1]: :
|
116 |
+
|
117 |
+
# ------------------------------------
|
118 |
+
|
119 |
+
class Agent:
|
120 |
+
def __init__(self, name):
|
121 |
+
self.name = name
|
122 |
+
|
123 |
+
def test(self):
|
124 |
+
# ^ start range.function[1]
|
125 |
+
# ^^^^ symbol.function[1]
|
126 |
+
# ^ insertion.point[1]
|
127 |
+
# β
|
128 |
+
pass
|
129 |
+
# ^ end range.function[1]
|
130 |
+
|
131 |
+
# Nodes types:
|
132 |
+
# symbol.function[1]: identifier
|
133 |
+
# range.function[1]: function_definition
|
134 |
+
# insertion.point[1]: :
|
135 |
+
|
136 |
+
# ------------------------------------
|
137 |
+
|
138 |
+
def return_statement():
|
139 |
+
#^ start range.function[1]
|
140 |
+
# ^ insertion.point[1]
|
141 |
+
return
|
142 |
+
# ^ end range.function[1]
|
143 |
+
# β
|
144 |
+
|
145 |
+
# Nodes types:
|
146 |
+
# range.function[1]: function_definition
|
147 |
+
# insertion.point[1]: :
|
148 |
+
|
149 |
+
# ------------------------------------
|
150 |
+
|
151 |
+
return_statement('value')
|
152 |
+
# |
|
153 |
+
|
154 |
+
# ------------------------------------
|
155 |
+
|
156 |
+
user_name = 'Tom'
|
157 |
+
#^^^^^^^^^ symbol.identifier[1]
|
158 |
+
#^^^^^^^^^^^^^^^^^ range.identifier[1]
|
159 |
+
# β
|
160 |
+
|
161 |
+
# Nodes types:
|
162 |
+
# symbol.identifier[1]: identifier
|
163 |
+
# range.identifier[1]: assignment
|
164 |
+
|
165 |
+
# ------------------------------------
|
166 |
+
|
167 |
+
user_name = 'Tom'
|
168 |
+
#^^^^^^^^^^^^^^^^^ range.identifier[1]
|
169 |
+
# β
|
170 |
+
|
171 |
+
# Nodes types:
|
172 |
+
# range.identifier[1]: assignment
|
173 |
+
|
edit-fixup-task-1.txt
ADDED
@@ -0,0 +1,72 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"version": 0,
|
3 |
+
"metadata": [
|
4 |
+
{
|
5 |
+
"key": "intent",
|
6 |
+
"value": 2
|
7 |
+
},
|
8 |
+
{
|
9 |
+
"key": "mode",
|
10 |
+
"value": 2
|
11 |
+
},
|
12 |
+
{
|
13 |
+
"key": "source",
|
14 |
+
"value": 2
|
15 |
+
},
|
16 |
+
{
|
17 |
+
"key": "lineCount",
|
18 |
+
"value": 4
|
19 |
+
},
|
20 |
+
{
|
21 |
+
"key": "charCount",
|
22 |
+
"value": 46
|
23 |
+
},
|
24 |
+
{
|
25 |
+
"key": "isSelectionStale",
|
26 |
+
"value": 0
|
27 |
+
},
|
28 |
+
{
|
29 |
+
"key": "isDisjoint",
|
30 |
+
"value": 0
|
31 |
+
},
|
32 |
+
{
|
33 |
+
"key": "isPartiallyOutsideOfVisibleRanges",
|
34 |
+
"value": 0
|
35 |
+
},
|
36 |
+
{
|
37 |
+
"key": "isFullyOutsideOfVisibleRanges",
|
38 |
+
"value": 0
|
39 |
+
},
|
40 |
+
{
|
41 |
+
"key": "windowNotFocused",
|
42 |
+
"value": 0
|
43 |
+
},
|
44 |
+
{
|
45 |
+
"key": "noActiveTextEditor",
|
46 |
+
"value": 0
|
47 |
+
},
|
48 |
+
{
|
49 |
+
"key": "outsideOfActiveEditor",
|
50 |
+
"value": 0
|
51 |
+
},
|
52 |
+
{
|
53 |
+
"key": "charsInserted",
|
54 |
+
"value": 46
|
55 |
+
},
|
56 |
+
{
|
57 |
+
"key": "charsDeleted",
|
58 |
+
"value": 44
|
59 |
+
},
|
60 |
+
{
|
61 |
+
"key": "tier",
|
62 |
+
"value": 0
|
63 |
+
}
|
64 |
+
],
|
65 |
+
"privateMetadata": {
|
66 |
+
"model": "anthropic::2023-06-01::claude-3.5-sonnet"
|
67 |
+
},
|
68 |
+
"billingMetadata": {
|
69 |
+
"category": "core",
|
70 |
+
"product": "cody"
|
71 |
+
}
|
72 |
+
}
|
edit.md
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
## Edit Code
|
2 |
+
|
3 |
+
<!-- todo -->
|
4 |
+
|
5 |
+
You can ask Cody to perform code edits using the Edit Code command. This will edit code according to your instructions, giving you the chance to retry the edit with a new prompt, undo, accept, or reject the change(s).
|
6 |
+
|
7 |
+
To get started: select code in your editor, right click, and choose "Cody β Edit Code".
|
8 |
+
|
9 |
+
You can also use the default keyboard shortcut of `Opt+K`/`Alt+K`.
|
10 |
+
|
11 |
+
**β¨ Pro-tips for code editing with Cody**
|
12 |
+
<br>β’ You can open the π‘ menu, with an "Cody: Edit Code" option, by selecting any line of code and using the keyboard shortcut `Cmd+.`/`Ctrl+.`.
|
13 |
+
<br>β’ If you start an empty line and open the π‘ menu (using the keyboard shortcut `Cmd+.`/`Ctrl+.`) you can use "Cody: Generate Code" to generate new lines of code based on instructions.
|
14 |
+
<br>β’ You define your own custom code editing commands using [Custom Commands (Beta)](https://sourcegraph.com/docs/cody/custom-commands), by setting the [`commands.<id>.mode` property](https://sourcegraph.com/docs/cody/capabilities/commands#commands-id-mode).
|
enclosing-function.java
ADDED
@@ -0,0 +1,86 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
class Test {
|
2 |
+
public Hello() {
|
3 |
+
// |
|
4 |
+
}
|
5 |
+
}
|
6 |
+
|
7 |
+
// ------------------------------------
|
8 |
+
|
9 |
+
class Test {
|
10 |
+
public Hello() {
|
11 |
+
// |
|
12 |
+
}
|
13 |
+
}
|
14 |
+
|
15 |
+
// ------------------------------------
|
16 |
+
|
17 |
+
class Test {
|
18 |
+
public Hello() {
|
19 |
+
System.out.println("Hi!");
|
20 |
+
// |
|
21 |
+
}
|
22 |
+
}
|
23 |
+
|
24 |
+
// ------------------------------------
|
25 |
+
|
26 |
+
class Test {
|
27 |
+
public Test() {
|
28 |
+
// |
|
29 |
+
}
|
30 |
+
}
|
31 |
+
|
32 |
+
// ------------------------------------
|
33 |
+
|
34 |
+
public record Point(int x, int y) {
|
35 |
+
// |
|
36 |
+
}
|
37 |
+
|
38 |
+
// ------------------------------------
|
39 |
+
|
40 |
+
public interface MyFunctionalInterface {
|
41 |
+
void myMethod();
|
42 |
+
}
|
43 |
+
|
44 |
+
public class MyClass {
|
45 |
+
public void main(String[] args) {
|
46 |
+
MyFunctionalInterface func = () -> {
|
47 |
+
System.out.println("Hello, world!");
|
48 |
+
// |
|
49 |
+
};
|
50 |
+
}
|
51 |
+
}
|
52 |
+
|
53 |
+
// ------------------------------------
|
54 |
+
|
55 |
+
public enum Planet {
|
56 |
+
EARTH(5.976e+24, 6.37814e6);
|
57 |
+
private final double mass;
|
58 |
+
private final double radius;
|
59 |
+
|
60 |
+
Planet(double mass, double radius) {
|
61 |
+
// |
|
62 |
+
this.mass = mass;
|
63 |
+
this.radius = radius;
|
64 |
+
}
|
65 |
+
}
|
66 |
+
|
67 |
+
// ------------------------------------
|
68 |
+
|
69 |
+
public enum Planet {
|
70 |
+
EARTH(5.976e+24, 6.37814e6);
|
71 |
+
private final double mass;
|
72 |
+
private final double radius;
|
73 |
+
|
74 |
+
public double surfaceGravity() {
|
75 |
+
// |
|
76 |
+
return 6.67300E-11 * mass / (radius * radius);
|
77 |
+
}
|
78 |
+
}
|
79 |
+
|
80 |
+
// ------------------------------------
|
81 |
+
|
82 |
+
public enum Planet {
|
83 |
+
CONSTANT1(() -> {
|
84 |
+
// |
|
85 |
+
});
|
86 |
+
}
|
enclosing-function.py
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
def wrapper():
|
2 |
+
print('wrapper')
|
3 |
+
def test():
|
4 |
+
pass
|
5 |
+
# |
|
6 |
+
|
7 |
+
# ------------------------------------
|
8 |
+
|
9 |
+
def test():
|
10 |
+
pass
|
11 |
+
# |
|
12 |
+
|
13 |
+
# ------------------------------------
|
14 |
+
|
15 |
+
def test_parameter(val):
|
16 |
+
# |
|
17 |
+
wrapper()
|
18 |
+
|
19 |
+
# ------------------------------------
|
20 |
+
|
21 |
+
class Agent:
|
22 |
+
pass
|
23 |
+
# |
|
24 |
+
|
25 |
+
# ------------------------------------
|
26 |
+
|
27 |
+
class Agent:
|
28 |
+
def __init__(self, name):
|
29 |
+
self.name = name
|
30 |
+
# |
|
31 |
+
|
32 |
+
# ------------------------------------
|
33 |
+
|
34 |
+
class Agent:
|
35 |
+
def __init__(self, name):
|
36 |
+
self.name = name
|
37 |
+
|
38 |
+
def test(self):
|
39 |
+
pass
|
40 |
+
# |
|
enclosing-function.snap.java
ADDED
@@ -0,0 +1,139 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
//
|
2 |
+
// | - query start position in the source file.
|
3 |
+
// β β query start position in the annotated file.
|
4 |
+
// ^ β characters matching the last query result.
|
5 |
+
//
|
6 |
+
// ------------------------------------
|
7 |
+
|
8 |
+
class Test {
|
9 |
+
public Hello() {
|
10 |
+
// ^ start range.function[1]
|
11 |
+
// β
|
12 |
+
}
|
13 |
+
// ^ end range.function[1]
|
14 |
+
}
|
15 |
+
|
16 |
+
// Nodes types:
|
17 |
+
// range.function[1]: constructor_declaration
|
18 |
+
|
19 |
+
// ------------------------------------
|
20 |
+
|
21 |
+
class Test {
|
22 |
+
public Hello() {
|
23 |
+
// ^ start range.function[1]
|
24 |
+
// β
|
25 |
+
}
|
26 |
+
// ^ end range.function[1]
|
27 |
+
}
|
28 |
+
|
29 |
+
// Nodes types:
|
30 |
+
// range.function[1]: constructor_declaration
|
31 |
+
|
32 |
+
// ------------------------------------
|
33 |
+
|
34 |
+
class Test {
|
35 |
+
public Hello() {
|
36 |
+
// ^ start range.function[1]
|
37 |
+
System.out.println("Hi!");
|
38 |
+
// β
|
39 |
+
}
|
40 |
+
// ^ end range.function[1]
|
41 |
+
}
|
42 |
+
|
43 |
+
// Nodes types:
|
44 |
+
// range.function[1]: constructor_declaration
|
45 |
+
|
46 |
+
// ------------------------------------
|
47 |
+
|
48 |
+
class Test {
|
49 |
+
public Test() {
|
50 |
+
// ^ start range.function[1]
|
51 |
+
// β
|
52 |
+
}
|
53 |
+
// ^ end range.function[1]
|
54 |
+
}
|
55 |
+
|
56 |
+
// Nodes types:
|
57 |
+
// range.function[1]: constructor_declaration
|
58 |
+
|
59 |
+
// ------------------------------------
|
60 |
+
|
61 |
+
public record Point(int x, int y) {
|
62 |
+
//^ start range.function[1]
|
63 |
+
// β
|
64 |
+
}
|
65 |
+
//^ end range.function[1]
|
66 |
+
|
67 |
+
// Nodes types:
|
68 |
+
// range.function[1]: record_declaration
|
69 |
+
|
70 |
+
// ------------------------------------
|
71 |
+
|
72 |
+
public interface MyFunctionalInterface {
|
73 |
+
void myMethod();
|
74 |
+
}
|
75 |
+
|
76 |
+
public class MyClass {
|
77 |
+
public void main(String[] args) {
|
78 |
+
MyFunctionalInterface func = () -> {
|
79 |
+
// ^ start range.function[1]
|
80 |
+
System.out.println("Hello, world!");
|
81 |
+
// β
|
82 |
+
};
|
83 |
+
// ^ end range.function[1]
|
84 |
+
}
|
85 |
+
}
|
86 |
+
|
87 |
+
// Nodes types:
|
88 |
+
// range.function[1]: lambda_expression
|
89 |
+
|
90 |
+
// ------------------------------------
|
91 |
+
|
92 |
+
public enum Planet {
|
93 |
+
EARTH(5.976e+24, 6.37814e6);
|
94 |
+
private final double mass;
|
95 |
+
private final double radius;
|
96 |
+
|
97 |
+
Planet(double mass, double radius) {
|
98 |
+
// ^ start range.function[1]
|
99 |
+
// β
|
100 |
+
this.mass = mass;
|
101 |
+
this.radius = radius;
|
102 |
+
}
|
103 |
+
// ^ end range.function[1]
|
104 |
+
}
|
105 |
+
|
106 |
+
// Nodes types:
|
107 |
+
// range.function[1]: constructor_declaration
|
108 |
+
|
109 |
+
// ------------------------------------
|
110 |
+
|
111 |
+
public enum Planet {
|
112 |
+
EARTH(5.976e+24, 6.37814e6);
|
113 |
+
private final double mass;
|
114 |
+
private final double radius;
|
115 |
+
|
116 |
+
public double surfaceGravity() {
|
117 |
+
// ^ start range.function[1]
|
118 |
+
// β
|
119 |
+
return 6.67300E-11 * mass / (radius * radius);
|
120 |
+
}
|
121 |
+
// ^ end range.function[1]
|
122 |
+
}
|
123 |
+
|
124 |
+
// Nodes types:
|
125 |
+
// range.function[1]: method_declaration
|
126 |
+
|
127 |
+
// ------------------------------------
|
128 |
+
|
129 |
+
public enum Planet {
|
130 |
+
CONSTANT1(() -> {
|
131 |
+
// ^ start range.function[1]
|
132 |
+
// β
|
133 |
+
});
|
134 |
+
//^ end range.function[1]
|
135 |
+
}
|
136 |
+
|
137 |
+
// Nodes types:
|
138 |
+
// range.function[1]: lambda_expression
|
139 |
+
|
enclosing-function.snap.py
ADDED
@@ -0,0 +1,73 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#
|
2 |
+
# | - query start position in the source file.
|
3 |
+
# β β query start position in the annotated file.
|
4 |
+
# ^ β characters matching the last query result.
|
5 |
+
#
|
6 |
+
# ------------------------------------
|
7 |
+
|
8 |
+
def wrapper():
|
9 |
+
print('wrapper')
|
10 |
+
def test():
|
11 |
+
# ^ start range.function[1]
|
12 |
+
pass
|
13 |
+
# ^ end range.function[1]
|
14 |
+
# β
|
15 |
+
|
16 |
+
# Nodes types:
|
17 |
+
# range.function[1]: function_definition
|
18 |
+
|
19 |
+
# ------------------------------------
|
20 |
+
|
21 |
+
def test():
|
22 |
+
#^ start range.function[1]
|
23 |
+
pass
|
24 |
+
# ^ end range.function[1]
|
25 |
+
# β
|
26 |
+
|
27 |
+
# Nodes types:
|
28 |
+
# range.function[1]: function_definition
|
29 |
+
|
30 |
+
# ------------------------------------
|
31 |
+
|
32 |
+
def test_parameter(val):
|
33 |
+
#^ start range.function[1]
|
34 |
+
# β
|
35 |
+
wrapper()
|
36 |
+
# ^ end range.function[1]
|
37 |
+
|
38 |
+
# Nodes types:
|
39 |
+
# range.function[1]: function_definition
|
40 |
+
|
41 |
+
# ------------------------------------
|
42 |
+
|
43 |
+
class Agent:
|
44 |
+
pass
|
45 |
+
# |
|
46 |
+
|
47 |
+
# ------------------------------------
|
48 |
+
|
49 |
+
class Agent:
|
50 |
+
def __init__(self, name):
|
51 |
+
# ^ start range.function[1]
|
52 |
+
self.name = name
|
53 |
+
# ^ end range.function[1]
|
54 |
+
# β
|
55 |
+
|
56 |
+
# Nodes types:
|
57 |
+
# range.function[1]: function_definition
|
58 |
+
|
59 |
+
# ------------------------------------
|
60 |
+
|
61 |
+
class Agent:
|
62 |
+
def __init__(self, name):
|
63 |
+
self.name = name
|
64 |
+
|
65 |
+
def test(self):
|
66 |
+
# ^ start range.function[1]
|
67 |
+
pass
|
68 |
+
# ^ end range.function[1]
|
69 |
+
# β
|
70 |
+
|
71 |
+
# Nodes types:
|
72 |
+
# range.function[1]: function_definition
|
73 |
+
|
explain.md
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
## Explain Code
|
2 |
+
|
3 |
+
<video autoPlay muted loop playsInline>
|
4 |
+
<source
|
5 |
+
type="video/mp4"
|
6 |
+
src="https://storage.googleapis.com/sourcegraph-assets/website/Product%20Animations/cody-explain-code-aug2023.mp4"
|
7 |
+
/>
|
8 |
+
</video>
|
9 |
+
|
10 |
+
Use Cody to get an in-depth explanation of any piece of code in any programming language.
|
11 |
+
|
12 |
+
To get started: select code in your editor, right click, and choose "Cody β Explain Code".
|
13 |
+
|
14 |
+
You can also run this command from the [Cody: Commands Menu](command:cody.menu.commands), which has the default keyboard shortcut of `Option` `C` on macOS and `Alt` `C` on Windows & Linux.
|
15 |
+
|
16 |
+
**β¨ Pro-tips for understanding code with Cody**
|
17 |
+
<br>β’ Cody can also explain errors too, with the "Ask Cody to Explain" option in the π‘ menus, or by right clicking on any items in the "Problems" tab of VS Code.
|
18 |
+
<br>β’ You can define your own custom code explain commands to suit, such as prompt that requests an explanation focused on potential security issues, using [Custom Commands (Beta)](https://sourcegraph.com/docs/cody/custom-commands).
|
fix.md
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
## Fix Code
|
2 |
+
|
3 |
+
<img src="https://storage.googleapis.com/sourcegraph-assets/blog/vs-code-onboarding-walkthrough-dec-2023-ask-to-fix.gif">
|
4 |
+
|
5 |
+
Something wrong with your code? Use Codyβs "Ask Cody to Fix" command to fix it, or explain the problem.
|
6 |
+
|
7 |
+
**β¨ Pro-tips for fixing code with Cody**
|
8 |
+
<br>β’ You can open the π‘ menu, with an "Ask Cody to Fix" option, by moving the cursor over any line of code with an error and using the keyboard shortcut `Cmd+.`/`Ctrl+.`.
|
9 |
+
<br>β’ You can also right click on any items in the "Problems" tab of VS Code and select "Ask Cody to Fix".
|
graph-identifiers.py
ADDED
@@ -0,0 +1,83 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
def wrapper():
|
2 |
+
print('wrapper')
|
3 |
+
def test():
|
4 |
+
# |
|
5 |
+
pass
|
6 |
+
|
7 |
+
# ------------------------------------
|
8 |
+
|
9 |
+
def test_params():
|
10 |
+
# |
|
11 |
+
wrapper()
|
12 |
+
|
13 |
+
# ------------------------------------
|
14 |
+
|
15 |
+
def test_parameter(val):
|
16 |
+
# |
|
17 |
+
wrapper()
|
18 |
+
|
19 |
+
# ------------------------------------
|
20 |
+
|
21 |
+
def arrow_wrapper():
|
22 |
+
arrow = lambda value: None
|
23 |
+
# |
|
24 |
+
|
25 |
+
# ------------------------------------
|
26 |
+
|
27 |
+
class Agent:
|
28 |
+
# |
|
29 |
+
pass
|
30 |
+
|
31 |
+
# ------------------------------------
|
32 |
+
|
33 |
+
def signature():
|
34 |
+
# |
|
35 |
+
pass
|
36 |
+
|
37 |
+
# ------------------------------------
|
38 |
+
|
39 |
+
# comment
|
40 |
+
# |
|
41 |
+
|
42 |
+
# ------------------------------------
|
43 |
+
|
44 |
+
def function_name():
|
45 |
+
# |
|
46 |
+
pass
|
47 |
+
|
48 |
+
# ------------------------------------
|
49 |
+
|
50 |
+
def return_statement():
|
51 |
+
return
|
52 |
+
# |
|
53 |
+
|
54 |
+
# ------------------------------------
|
55 |
+
|
56 |
+
def return_statement_value(value: str, flag: bool = False):
|
57 |
+
return 'asd'
|
58 |
+
# |
|
59 |
+
|
60 |
+
# ------------------------------------
|
61 |
+
|
62 |
+
return_statement_value('value')
|
63 |
+
# |
|
64 |
+
|
65 |
+
# ------------------------------------
|
66 |
+
|
67 |
+
return_statement_value('value', False)
|
68 |
+
# |
|
69 |
+
|
70 |
+
# ------------------------------------
|
71 |
+
|
72 |
+
return_statement_value()
|
73 |
+
# |
|
74 |
+
|
75 |
+
# ------------------------------------
|
76 |
+
|
77 |
+
from math import cos
|
78 |
+
# |
|
79 |
+
|
80 |
+
# ------------------------------------
|
81 |
+
|
82 |
+
from math import comb
|
83 |
+
# |
|
ignoredByCody.css
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* NOTE: This is used for testing .cody/ignore */
|
2 |
+
/* All .css files in the fixtures workspace are ignored by Cody */
|
3 |
+
.ignore-me-cody {
|
4 |
+
color: red;
|
5 |
+
cursor: not-allowed;
|
6 |
+
}
|
index.html
CHANGED
@@ -1,22 +1,11 @@
|
|
1 |
<!DOCTYPE html>
|
2 |
<html lang="en">
|
3 |
<head>
|
4 |
-
<script>/*injectedScript*/</script>
|
5 |
-
<style>/*injectedStyle*/</style>
|
6 |
<meta charset="UTF-8" />
|
|
|
7 |
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
8 |
-
|
9 |
-
<!-- This content security policy also implicitly disables inline scripts and styles. -->
|
10 |
-
<meta
|
11 |
-
http-equiv="Content-Security-Policy"
|
12 |
-
content="default-src 'none'; img-src 'self' https: data:; script-src 'self'; style-src 'self'; font-src data: 'self'; connect-src 'self'; object-src 'self'; frame-src 'self'; media-src blob:;"
|
13 |
-
/>
|
14 |
-
<!-- DO NOT REMOVE: THIS FILE IS THE ENTRY FILE FOR CODY WEBVIEW -->
|
15 |
-
<!-- END CSP -->
|
16 |
-
<title>Cody</title>
|
17 |
</head>
|
18 |
<body>
|
19 |
-
<div id="root"></div>
|
20 |
-
<script type="module" src="index.tsx"></script>
|
21 |
</body>
|
22 |
</html>
|
|
|
1 |
<!DOCTYPE html>
|
2 |
<html lang="en">
|
3 |
<head>
|
|
|
|
|
4 |
<meta charset="UTF-8" />
|
5 |
+
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
6 |
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
7 |
+
<title>Hello Cody</title>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
</head>
|
9 |
<body>
|
|
|
|
|
10 |
</body>
|
11 |
</html>
|
ollama.md
ADDED
@@ -0,0 +1,43 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
## Code Autocomplete with Ollama in Cody
|
2 |
+
|
3 |
+
Follow the steps below to set up experimental autocomplete support with Ollama running locally:
|
4 |
+
|
5 |
+
1. Install and run [Ollama](https://ollama.com/download).
|
6 |
+
2. Download one of the supported models:
|
7 |
+
|
8 |
+
- `ollama pull deepseek-coder:6.7b-base-q4_K_M` for [deepseek-coder](https://ollama.ai/library/deepseek-coder)
|
9 |
+
- `ollama pull codellama:7b-code` for [codellama](https://ollama.ai/library/codellama)
|
10 |
+
- `ollama pull codegemma:2b` for [codegemma](https://ollama.ai/library/codegemma)
|
11 |
+
|
12 |
+
3. Update Cody's VS Code settings to use the `experimental-ollama` autocomplete provider and configure the correct model:
|
13 |
+
|
14 |
+
```json
|
15 |
+
{
|
16 |
+
"cody.autocomplete.advanced.provider": "experimental-ollama",
|
17 |
+
"cody.autocomplete.experimental.ollamaOptions": {
|
18 |
+
"url": "http://localhost:11434",
|
19 |
+
"model": "deepseek-coder:6.7b-base-q4_K_M"
|
20 |
+
}
|
21 |
+
}
|
22 |
+
```
|
23 |
+
|
24 |
+
4. Confirm that Cody is using Ollama by checking the Cody output channel or the autocomplete trace view (in the command palette).
|
25 |
+
|
26 |
+
Learn more about [Local code completion with Ollama and Cody](https://sourcegraph.com/blog/local-code-completion-with-ollama-and-cody).
|
27 |
+
|
28 |
+
## Chat & Commands with Ollama in Cody
|
29 |
+
|
30 |
+
Experience experimental chat and commands support with Ollama running locally:
|
31 |
+
|
32 |
+
1. Install and run [Ollama](https://ollama.com/download).
|
33 |
+
2. Select a chat model (model that includes `instruct` or `chat`, e.g. [codegemma:instruct](https://ollama.com/library/codegemma:instruct), [llama3:instruct](https://ollama.com/library/llama3:instruct)) from the [Ollama Library](https://ollama.com/library).
|
34 |
+
3. Pull the chat model locally (Example: `ollama pull codegemma:instruct`).
|
35 |
+
4. Once the chat model is downloaded successfully, open Cody in VS Code.
|
36 |
+
5. Open a new Cody chat.
|
37 |
+
6. In the new chat panel, you should see the chat model you've pulled in the dropdown list at the top
|
38 |
+
|
39 |
+
Note: You can run `ollama list` in your terminal to see what Ollama models are currently available on your machine.
|
40 |
+
|
41 |
+
Learn more about [Local chat with Ollama and Cody](https://sourcegraph.com/blog/local-chat-with-ollama-and-cody).
|
42 |
+
|
43 |
+
> NOTE: Non-Enterprise users only.
|
style.css
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* NOTE: This is used for testing .cody/ignore */
|
2 |
+
/* All .css files in the fixtures workspace are ignored by Cody */
|
3 |
+
.ignore-me-cody {
|
4 |
+
color: red;
|
5 |
+
cursor: not-allowed;
|
6 |
+
}
|
testable-node.py
ADDED
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
def wrapper():
|
2 |
+
print('wrapper')
|
3 |
+
def test():
|
4 |
+
# |
|
5 |
+
pass
|
6 |
+
|
7 |
+
# ------------------------------------
|
8 |
+
|
9 |
+
def test():
|
10 |
+
# |
|
11 |
+
pass
|
12 |
+
|
13 |
+
# ------------------------------------
|
14 |
+
|
15 |
+
def test_parameter(val):
|
16 |
+
# |
|
17 |
+
wrapper()
|
18 |
+
|
19 |
+
# ------------------------------------
|
20 |
+
|
21 |
+
class Agent:
|
22 |
+
def __init__(self, name):
|
23 |
+
# |
|
24 |
+
self.name = name
|
25 |
+
|
26 |
+
# ------------------------------------
|
27 |
+
|
28 |
+
class Agent:
|
29 |
+
def __init__(self, name):
|
30 |
+
self.name = name
|
31 |
+
|
32 |
+
def test(self):
|
33 |
+
# |
|
34 |
+
pass
|
testable-node.snap.py
ADDED
@@ -0,0 +1,75 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#
|
2 |
+
# | - query start position in the source file.
|
3 |
+
# β β query start position in the annotated file.
|
4 |
+
# ^ β characters matching the last query result.
|
5 |
+
#
|
6 |
+
# ------------------------------------
|
7 |
+
|
8 |
+
def wrapper():
|
9 |
+
print('wrapper')
|
10 |
+
def test():
|
11 |
+
# ^ start range.function[1]
|
12 |
+
# ^^^^ symbol.function[1]
|
13 |
+
# β
|
14 |
+
pass
|
15 |
+
# ^ end range.function[1]
|
16 |
+
|
17 |
+
# Nodes types:
|
18 |
+
# symbol.function[1]: identifier
|
19 |
+
# range.function[1]: function_definition
|
20 |
+
|
21 |
+
# ------------------------------------
|
22 |
+
|
23 |
+
def test():
|
24 |
+
#^ start range.function[1]
|
25 |
+
# ^^^^ symbol.function[1]
|
26 |
+
# β
|
27 |
+
pass
|
28 |
+
# ^ end range.function[1]
|
29 |
+
|
30 |
+
# Nodes types:
|
31 |
+
# symbol.function[1]: identifier
|
32 |
+
# range.function[1]: function_definition
|
33 |
+
|
34 |
+
# ------------------------------------
|
35 |
+
|
36 |
+
def test_parameter(val):
|
37 |
+
#^ start range.function[1]
|
38 |
+
# β
|
39 |
+
wrapper()
|
40 |
+
# ^ end range.function[1]
|
41 |
+
|
42 |
+
# Nodes types:
|
43 |
+
# range.function[1]: function_definition
|
44 |
+
|
45 |
+
# ------------------------------------
|
46 |
+
|
47 |
+
class Agent:
|
48 |
+
def __init__(self, name):
|
49 |
+
# ^ start range.function[1]
|
50 |
+
# ^^^^^^^^ symbol.function[1]
|
51 |
+
# β
|
52 |
+
self.name = name
|
53 |
+
# ^ end range.function[1]
|
54 |
+
|
55 |
+
# Nodes types:
|
56 |
+
# symbol.function[1]: identifier
|
57 |
+
# range.function[1]: function_definition
|
58 |
+
|
59 |
+
# ------------------------------------
|
60 |
+
|
61 |
+
class Agent:
|
62 |
+
def __init__(self, name):
|
63 |
+
self.name = name
|
64 |
+
|
65 |
+
def test(self):
|
66 |
+
# ^ start range.function[1]
|
67 |
+
# ^^^^ symbol.function[1]
|
68 |
+
# β
|
69 |
+
pass
|
70 |
+
# ^ end range.function[1]
|
71 |
+
|
72 |
+
# Nodes types:
|
73 |
+
# symbol.function[1]: identifier
|
74 |
+
# range.function[1]: function_definition
|
75 |
+
|