You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have some concerns about how the autocomplete spec is being built out. After contributing my first completion spec arduino-cli I've noticed that it’s quite time-consuming to build completion specs as it's mindless copy and pasting with the occasional generator function you need to build.
All tools in the completion spec appear to completely rely on updates by the community to ensure that they don't go out of date, which is less than ideal. This seems like a complete waste of human capital, and I know it’s open source, so contribute if you want, but surely there is a better way to approach completions. If a bunch of CodeWhisperers commands go out of date and no one wants to maintain them, then CW dies. I think we can do better than hard coding everything and the occasional generators.
I've been playing with the idea of somehow leveraging builtin shell tab completion. NPM, Brew and many other package managers offer tab completion for packages downloaded. Which is pretty much CW but with no pretty GUI. The only complexity with this would be parsing data from the tab completion because some commands display information in a slightly different manner.
As you can see below, the command eza was installed via Homebrew and has built-in tab completion support. Whereas in CW, there is no support for eza as it’s a new tool that was a fork of its parent exa, which is now unmaintained. But since autocomplete is just a bunch of hardcoded documentation, it relies on a community member to update the spec and add support for eza.
Hopefully, this message will spark some meaningful conversations for whoever reads it.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
I have some concerns about how the autocomplete spec is being built out. After contributing my first completion spec arduino-cli I've noticed that it’s quite time-consuming to build completion specs as it's mindless copy and pasting with the occasional generator function you need to build.
All tools in the completion spec appear to completely rely on updates by the community to ensure that they don't go out of date, which is less than ideal. This seems like a complete waste of human capital, and I know it’s open source, so contribute if you want, but surely there is a better way to approach completions. If a bunch of CodeWhisperers commands go out of date and no one wants to maintain them, then CW dies. I think we can do better than hard coding everything and the occasional generators.
I've been playing with the idea of somehow leveraging builtin shell tab completion. NPM, Brew and many other package managers offer tab completion for packages downloaded. Which is pretty much CW but with no pretty GUI. The only complexity with this would be parsing data from the tab completion because some commands display information in a slightly different manner.
As you can see below, the command
eza
was installed via Homebrew and has built-in tab completion support. Whereas in CW, there is no support foreza
as it’s a new tool that was a fork of its parentexa
, which is now unmaintained. But since autocomplete is just a bunch of hardcoded documentation, it relies on a community member to update the spec and add support foreza
.Hopefully, this message will spark some meaningful conversations for whoever reads it.
Have a good day and happy coding ☕ !
Beta Was this translation helpful? Give feedback.
All reactions