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 |
+
|