In #7156, I allowed KCL to set specific snippet completions for each arg of each function. They're optional -- if you don't set one, it'll fall back to the type-driven defaults.
That PR only worked for KCL stdlib functions defined in Rust. This PR enables the same feature, but for functions defined in KCL.
Before, the LSP snippet for `startProfile` was
```
startProfile(%, at = [3.14, 3.14])
```
Now it's
```
startProfile(%, at = [0, 0])
```
This is configured by adding a `snippet_value=` field to the stdlib macro. For example:
```diff
#[stdlib {
name = "startProfile",
keywords = true,
unlabeled_first = true,
args = {
sketch_surface = { docs = "What to start the profile on" },
- at = { docs = "Where to start the profile. An absolute point." },
+ at = { docs = "Where to start the profile. An absolute point.", snippet_value = "[0, 0]" }, tag = { docs = "Tag this first starting point" },
},
tags = ["sketch"]
}]
```
## Work for follow-up PRs
- Make this work for KCL functions defined in KCL, e.g. [`fn circle`](36c8ad439d/rust/kcl-lib/std/sketch.kcl (L31-L32)) -- something like `@(snippet_value = "[0, 0]")` perhaps
- Go through the stdlib and change defaults where appropriate
* Update telemetry antenna entity names
Changed the generic sketch and profile entity names to more specific names
* Update kcl-samples simulation test output
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Pass the query parameters through to sign-in flow
So users can return to their invoked command after signing in
* Don't run query param commands if not logged in
* Turn sketch exit execute into actor, no more racey exits
* Turn sketch exit execute into actor, no more racey exits
* Fix types
---------
Co-authored-by: Frank Noirot <frank@zoo.dev>
* fix: saving off code
* fix: saving off progress
* chore: implemented kcl sample assembly unique sub dir creation
* fix: removing testing console logs
* fix: cleaning up old comment
* fix: add to file always does subdir/main.kcl now for single files
* fix: auto fmt
* fix: delete project and folder from ttc
* fix: fixed deleting projects and subdirs
* fix: if statement logic fixed for deleting project or subdir
* fix: TTC isProjectNew makes main.kcl not a subdir.
* fix: fixing e2e test
* fix: this should pass now
* pierremtb/make-insert-take-over-the-import-world
* Add test that doesn't work locally yet :(
* Fix test 🤦
* Change splice for push
* Fix up windows path
---------
Co-authored-by: Kevin Nadro <kevin@zoo.dev>
Co-authored-by: Kevin Nadro <nadr0@users.noreply.github.com>
* fix: saving off code
* fix: saving off progress
* chore: implemented kcl sample assembly unique sub dir creation
* fix: removing testing console logs
* fix: cleaning up old comment
* fix: add to file always does subdir/main.kcl now for single files
* fix: auto fmt
* fix: delete project and folder from ttc
* fix: fixed deleting projects and subdirs
* fix: if statement logic fixed for deleting project or subdir
* fix: TTC isProjectNew makes main.kcl not a subdir.
* fix: fixing e2e test
* fix: this should pass now
* Revert "Update failing E2E tests with new behavior, which allows skip with preselection"
This reverts commit d72bee8637.
* Fix: Can't go back to Profiles step in sweep commands
Fixes#7080
* Make it better but still not quite there
* I think I got it: this was likely the real bug making submit fire twice
* Bring timemouts back
Paul's been requesting this for a long time. Now that we're fully using keyword args, this is easy to do.
We should probably add a similar `diameter` arg to `arc`, `tangentialArc`, `polygon` etc. And _maybe_ to `fillet`, but that might not be as helpful.
* Remove old ZMA logos, rip out JS theme state from open-in-desktop view
Make this page dumber so that it doesn't break
* Lint and remove kcma refs
---------
Co-authored-by: Pierre Jacquier <pierre@zoo.dev>
* successfully transition to sketch idle
* get constraint to mod code
* clean up
* remove .only
* Fixed tsc
---------
Co-authored-by: lee-at-zoo-corp <lee@zoo.dev>
* use effect for focus of command palette submit button, not autoFocus
autoFocus is being overridden by the Headless UI Dialog component's
focus management here
https://headlessui.com/v1/react/dialog#focus-management (we do not have
access to pass back initialFocus in this case). So we can use an effect
to imperatively focus the button when this component is mounted.
* Update sweep tests to submit the command with Enter
* Style the experimental badge to match the website
* Match the styling of the rest of the app
We don't use all apps monospace fonts anywhere.
* Bring back all caps
We have a hook to auto-grow the textarea input but it wasn't running
once initially. This is noticable on the onboarding, where we show the
user a long Text-to-CAD Edit prompt that overflows.