tensorchord / envd

🏕️ Reproducible development environment
https://envd.tensorchord.ai/
Apache License 2.0
1.93k stars 156 forks source link

feat: support `shell("fish")` #663

Open kemingy opened 1 year ago

kemingy commented 1 year ago

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 commented 1 year ago

Requirements:

kemingy commented 1 year ago

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

Belyenochi commented 1 year ago

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

kemingy commented 1 year ago

/assign @Belyenochi

gaocegege commented 1 year ago

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

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

Belyenochi commented 1 year ago

@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?)

kemingy commented 1 year ago

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 commented 1 year ago

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 :-).

kemingy commented 1 year ago

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

Feel free to ask for help.

Belyenochi commented 1 year ago

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

kemingy commented 1 year ago

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 commented 1 year ago

Hi @Belyenochi any update?

Belyenochi commented 1 year ago

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

kemingy commented 10 months ago

Hi @Belyenochi any progress?