smallcloudai/refact-vs-classic

[bounty] Version 0.1

olegklimov opened this issue ยท 22 comments

The 0.1 version should be just grey text (inline completion), settings, rust LSP server. No chat, toolbox.

Settings: similar to VS Code,

image

(xDebug is not strictly necessary, if it's convenient for debugging then why not)

Rust backend is easy to build and run like this:

cargo build && target/debug/code-scratchpads --address-url Refact --api-key REFACT_API_KEY --http-port 8001 --lsp-port 8002 --logs-stderr

Also try --help.

Completions are available via HTTP and LSP (preferred). Later we plan to implement LSP 3.18 that has standardized inline completions.

Cache, telemetry is already implemented in the rust layer.

Grey text should generally behave similar to VS Code (all plugins behave almost the same in VS Code, because it's implemented in the IDE).

A lot of attention needed to polish interaction between gray text and standard VS popups.

@olegklimov is there a list of programming languages this should support?

/bounty 4000

๐Ÿ’Ž $4,000 bounty created by olegklimov
๐Ÿ™‹ If you'd like to work on this issue, comment below to get assigned
๐Ÿ‘‰ To claim this bounty, submit a pull request that includes the text /claim #1 somewhere in its body
๐Ÿ“ Before proceeding, please make sure you can receive payouts in your country
๐Ÿ’ต Payment arrives in your account 2-5 days after the bounty is rewarded
๐Ÿ’ฏ You keep 100% of the bounty award
๐Ÿ™ Thank you for contributing to smallcloudai/refact-vs-classic!

/attempt #1

@digital-phoenix: The Refact.ai team prefers to assign a single contributor to the issue rather than let anyone attempt it right away. We recommend waiting for a confirmation from a member before getting started.

there a list of programming languages this should support?

All of them :D

This bounty is to generate settings screen for refact? or build vscode extension for refact? I'm a bit confused if you could explain it a bit more that would be helpful :)

build vscode extension for refact

This. Version 0.1 of the plugin. No one on our team even has windows, but our clients ask for VS plugin.

/attempt #1

@VitthalGupta: Another person is already attempting this issue. Please don't start working on this issue unless you were explicitly asked to do so.

@olegklimov Could you give a brief description describing what each setting does?

Can you please point towards the rust backend?

Progress update: The extension now supports the code scratchpad as an LSP and popups are not interfering with the grey text.

Could you give a brief description describing what each setting does

Address URL -- goes into --address-url.

Code completion model -- should go into model field when asking for code completion.

Works like model -- should also go to parameters, but that one doesn't exist yet. The idea is to use scratchpad from another model, without recompiling the binary.

Code Scratchpad -- explicitly specify the scratchpad. "Works like model" might work better, because there is also adaptation patch in caps, that can change special tokens among other things. Scratchpad changed here only means the default one without an adaptation patch.

Pause Completion -- in the status bar, in menu there should be a command pause completions, because sometimes they are annoying. It's better to save this in settings, if IDE allows.

Telemetry Basic, Code Snippets -- flags in rust command line.

X Debug -- don't run rust binary, connect via 8001, 8002 ports instead. "X" for it to sort downwards in the settings list.

@olegklimov should 1 of the lsp repositories be packaged with this extension?

@digital-phoenix Sure, the plugin needs to include the rust binary for distribution, that part shouldn't be that hard.

@olegklimov which binary should be used for that?

๐Ÿ’ก @digital-phoenix submitted a pull request that claims the bounty. You can visit your org dashboard to reward.

plz close this issue

๐ŸŽ‰๐ŸŽˆ @digital-phoenix has been awarded $4,000! ๐ŸŽˆ๐ŸŽŠ