|
122 | 122 | "title": "Pythinker Code: Insert Current File", |
123 | 123 | "icon": "$(mention)" |
124 | 124 | }, |
| 125 | + { |
| 126 | + "command": "pythinker.addTerminalSelection", |
| 127 | + "title": "Pythinker Code: Add Terminal Selection to Pythinker", |
| 128 | + "icon": "$(terminal)" |
| 129 | + }, |
125 | 130 | { |
126 | 131 | "command": "pythinker.newConversation", |
127 | 132 | "title": "Pythinker Code: New Conversation", |
|
154 | 159 | "key": "alt+k", |
155 | 160 | "mac": "alt+k", |
156 | 161 | "when": "editorTextFocus" |
| 162 | + }, |
| 163 | + { |
| 164 | + "command": "pythinker.newConversation", |
| 165 | + "key": "ctrl+alt+n", |
| 166 | + "mac": "cmd+alt+n" |
| 167 | + } |
| 168 | + ], |
| 169 | + "walkthroughs": [ |
| 170 | + { |
| 171 | + "id": "pythinkerGettingStarted", |
| 172 | + "title": "Get started with Pythinker Code", |
| 173 | + "description": "Set up Pythinker Code and run your first conversation.", |
| 174 | + "steps": [ |
| 175 | + { |
| 176 | + "id": "openView", |
| 177 | + "title": "Open the Pythinker view", |
| 178 | + "description": "Select the Pythinker icon in the Activity Bar to open the chat view.\n[Open Pythinker](command:pythinker.webview.focus)", |
| 179 | + "media": { |
| 180 | + "markdown": "walkthrough/open-view.md" |
| 181 | + }, |
| 182 | + "completionEvents": [ |
| 183 | + "onView:pythinker.webview" |
| 184 | + ] |
| 185 | + }, |
| 186 | + { |
| 187 | + "id": "signIn", |
| 188 | + "title": "Sign in or add a provider", |
| 189 | + "description": "Sign in with your Pythinker account, or add a model provider with your own API key.", |
| 190 | + "media": { |
| 191 | + "markdown": "walkthrough/sign-in.md" |
| 192 | + }, |
| 193 | + "completionEvents": [ |
| 194 | + "onContext:pythinker.isLoggedIn" |
| 195 | + ] |
| 196 | + }, |
| 197 | + { |
| 198 | + "id": "firstConversation", |
| 199 | + "title": "Run your first conversation", |
| 200 | + "description": "Send a request and learn how the approval modes control what the agent can do.\n[New Conversation](command:pythinker.newConversation)", |
| 201 | + "media": { |
| 202 | + "markdown": "walkthrough/first-conversation.md" |
| 203 | + }, |
| 204 | + "completionEvents": [ |
| 205 | + "onCommand:pythinker.newConversation" |
| 206 | + ] |
| 207 | + }, |
| 208 | + { |
| 209 | + "id": "referenceCode", |
| 210 | + "title": "Reference your code", |
| 211 | + "description": "Use @ mentions and Alt+K to point Pythinker at the exact files and lines you mean.", |
| 212 | + "media": { |
| 213 | + "markdown": "walkthrough/reference-code.md" |
| 214 | + }, |
| 215 | + "completionEvents": [ |
| 216 | + "onCommand:pythinker.insertMention" |
| 217 | + ] |
| 218 | + } |
| 219 | + ] |
157 | 220 | } |
158 | 221 | ], |
159 | 222 | "viewsContainers": { |
|
208 | 271 | "command": "pythinker.insertMention", |
209 | 272 | "when": "true" |
210 | 273 | }, |
| 274 | + { |
| 275 | + "command": "pythinker.addTerminalSelection", |
| 276 | + "when": "false" |
| 277 | + }, |
211 | 278 | { |
212 | 279 | "command": "pythinker.newConversation", |
213 | 280 | "when": "true" |
|
228 | 295 | "editor/context": [ |
229 | 296 | { |
230 | 297 | "command": "pythinker.insertMention", |
231 | | - "group": "pythoughts", |
232 | | - "when": "editorTextFocus" |
| 298 | + "group": "pythinker@1", |
| 299 | + "when": "editorHasSelection" |
| 300 | + } |
| 301 | + ], |
| 302 | + "terminal/context": [ |
| 303 | + { |
| 304 | + "command": "pythinker.addTerminalSelection", |
| 305 | + "group": "pythinker@1" |
233 | 306 | } |
234 | 307 | ] |
235 | 308 | } |
|
259 | 332 | "@types/node": "^22.15.3", |
260 | 333 | "@types/react": "^19.1.2", |
261 | 334 | "@types/react-dom": "^19.1.2", |
262 | | - "@types/react-scroll-to-bottom": "^4.2.5", |
263 | 335 | "@types/react-syntax-highlighter": "^15.5.13", |
264 | 336 | "@types/vscode": "1.100.0", |
265 | 337 | "@vitejs/plugin-react": "^4.4.1", |
266 | 338 | "@vscode/test-cli": "^0.0.11", |
267 | | - "@vscode/test-electron": "^2.5.2", |
| 339 | + "@vscode/test-electron": "^3.1.0", |
268 | 340 | "@vscode/vsce": "3.9.2", |
269 | 341 | "acorn": "8.17.0", |
270 | 342 | "ovsx": "1.0.2", |
|
275 | 347 | }, |
276 | 348 | "dependencies": { |
277 | 349 | "@base-ui/react": "^1.0.0", |
278 | | - "@fontsource-variable/inter": "5.2.8", |
279 | 350 | "@pythoughts/pythinker-code-sdk": "workspace:^", |
280 | 351 | "@radix-ui/react-accordion": "^1.2.12", |
281 | 352 | "@tabler/icons-react": "^3.36.0", |
|
293 | 364 | "react": "^19.1.0", |
294 | 365 | "react-dom": "^19.1.0", |
295 | 366 | "react-markdown": "^10.1.0", |
296 | | - "react-scroll-to-bottom": "^4.2.0", |
297 | 367 | "react-syntax-highlighter": "^16.1.0", |
| 368 | + "react-virtuoso": "^4.18.11", |
298 | 369 | "rehype-katex": "^7.0.1", |
299 | 370 | "remark-gfm": "^4.0.1", |
300 | 371 | "remark-math": "^6.0.0", |
|
0 commit comments