envd icon indicating copy to clipboard operation
envd copied to clipboard

feat: support `shell("fish")`

Open kemingy opened this issue 3 years ago • 14 comments

Description

fish is another modern shell that works out of the box. It would be good to support the following command in envd.

def build():
    base(os="ubuntu20.04")
    shell("fish")

Message from the maintainers:

Love this enhancement proposal? Give it a 👍. We prioritise the proposals with the most 👍.

kemingy avatar Jul 26 '22 08:07 kemingy

Requirements:

  • apt install fish
  • starship init fish
  • fish config (conda init if it's required)

kemingy avatar Sep 11 '22 06:09 kemingy

Also, it will be good if can support fish shell autocomplete.

kemingy avatar Sep 16 '22 07:09 kemingy

If no one else, please assign it to me :-).

Belyenochi avatar Oct 09 '22 06:10 Belyenochi

/assign @Belyenochi

kemingy avatar Oct 09 '22 07:10 kemingy

It may be not easy. Feel free to ask here if you encountered any problem!

Thanks for your contribution! :tada: :+1:

gaocegege avatar Oct 09 '22 08:10 gaocegege

@gaocegege @kemingy I'm trying to re-understand the problem, from what I've tried, if I run something like the following,

// build.envd
def build():
    base(os="ubuntu20.04", language="python3")
    shell("fish")
    config.jupyter()

envd will install fish in the build ubuntu image, and I understand what we need to do is modify /pkg/lang/ir /custom.go or similar file to support installed in the default image and initializes fish related configuration (including autocompletion plugins?)

Belyenochi avatar Oct 10 '22 07:10 Belyenochi

envd will install fish in the build ubuntu image, and I understand what we need to do is modify /pkg/lang/ir /custom.go or similar file to support installed in the default image and initializes fish related configuration (including autocompletion plugins?)

  • Yes, we will use shell("fish")
  • Need to modify several files, I think you can search "zsh" in the codebase as a reference (no need to install oh-my-fish or something similar)
  • envd fish autocomplete should be placed in pkg/autocomplete/fish.go

kemingy avatar Oct 10 '22 07:10 kemingy

envd will install fish in the build ubuntu image, and I understand what we need to do is modify /pkg/lang/ir /custom.go or similar file to support installed in the default image and initializes fish related configuration (including autocompletion plugins?)

  • Yes, we will use shell("fish")
  • Need to modify several files, I think you can search "zsh" in the codebase as a reference (no need to install oh-my-fish or something similar)
  • envd fish autocomplete should be placed in pkg/autocomplete/fish.go

Thanks for your patience :-).

Belyenochi avatar Oct 10 '22 07:10 Belyenochi

Hi @Belyenochi, it has been a while. May I know if you're still working on this issue?

Feel free to ask for help.

kemingy avatar Nov 10 '22 09:11 kemingy

Hi @Belyenochi, it has been a while. May I know if you're still working on this issue?

Feel free to ask for help.

Hi @kemingy , I'm working on it, maybe a PR in two weeks

Belyenochi avatar Nov 11 '22 04:11 Belyenochi

Hi @Belyenochi, it has been a while. May I know if you're still working on this issue? Feel free to ask for help.

Hi @kemingy , I'm working on it, maybe a PR in two weeks

Thanks

kemingy avatar Nov 11 '22 06:11 kemingy

Hi @Belyenochi any update?

kemingy avatar May 29 '23 06:05 kemingy

@kemingy Sorry for not updating yet, if the priority is not high, I will continue to take time to complete it.

Belyenochi avatar May 29 '23 07:05 Belyenochi

Hi @Belyenochi any progress?

kemingy avatar Sep 06 '23 12:09 kemingy