This repository was archived by the owner on Jan 12, 2025. It is now read-only.
File tree Expand file tree Collapse file tree 6 files changed +137
-0
lines changed Expand file tree Collapse file tree 6 files changed +137
-0
lines changed Original file line number Diff line number Diff line change
1
+
2
+ # zoxide
3
+
4
+ Install [ zoxide] ( https://github.com/ajeetdsouza/zoxide )
5
+
6
+ ## Example Usage
7
+
8
+ ``` json
9
+ "features" : {
10
+ "ghcr.io/devcontainers-contrib/features/zoxide:0" : {}
11
+ }
12
+ ```
13
+
14
+ ## Options
15
+
16
+ | Options Id | Description | Type | Default Value |
17
+ | -----| -----| -----| -----|
18
+ | replaceCd | Use zoxide when calling cd (see ZOXIDE_CMD_OVERRIDE) | bool | true |
19
+ | username | For which user to setup zoxide, by default uses 'remoteUser' or 'containerUser' from config | string | - |
Original file line number Diff line number Diff line change
1
+ {
2
+ "name" : " zoxide" ,
3
+ "id" : " zoxide" ,
4
+ "version" : " 0.1.0" ,
5
+ "description" : " Install zoxide" ,
6
+ "documentationURL" : " http://github.com/devcontainers-contrib/features/tree/main/src/zoxide" ,
7
+ "installsAfter" : [],
8
+ "options" : {
9
+ "replaceCd" : {
10
+ "type" : " bool" ,
11
+ "default" : " true" ,
12
+ "proposals" : [],
13
+ "description" : " Use zoxide when calling cd (see ZOXIDE_CMD_OVERRIDE)"
14
+ },
15
+ "username" : {
16
+ "type" : " string" ,
17
+ "default" : " " ,
18
+ "proposals" : [
19
+ " root" ,
20
+ " node" ,
21
+ " vscode"
22
+ ],
23
+ "description" : " For which user to setup zoxide, by default uses 'remoteUser' or 'containerUser' from config"
24
+ }
25
+ }
26
+ }
Original file line number Diff line number Diff line change
1
+ #! /usr/bin/env bash
2
+ set -x
3
+ REPLACE_CD=${REPLACECD:- " " }
4
+ USERNAME=${USERNAME:- $_REMOTE_USER }
5
+
6
+ prefix=/usr/local
7
+ shells=" bash zsh"
8
+
9
+ install_zoxide () {
10
+ curl -sSfL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | sh -s -- --bin-dir ${prefix} /bin --man-dir ${prefix} /share/man
11
+ }
12
+
13
+ # Install zoxide
14
+ install_zoxide
15
+
16
+ if [ " $USERNAME " = " root" ]; then
17
+ USER_LOCATION=" /root"
18
+ else
19
+ USER_LOCATION=" /home/$USERNAME "
20
+ fi
21
+
22
+ # Check available shells
23
+ for s in $shells ; do
24
+ if ! command -v " $s " > /dev/null; then
25
+ shells=${shells/ $s / }
26
+ fi
27
+ done
28
+
29
+ # Configure available shells
30
+ for shell in $shells ; do
31
+ [ $shell = zsh ] && dest=${ZDOTDIR:- $USER_LOCATION } /.zshrc || dest=$USER_LOCATION /.bashrc
32
+ # Set ZOXIDE_CMD_OVERRIDE
33
+ if [ " ${REPLACE_CD} " = " true" ]; then
34
+ echo -e ' \n# Replace cd with zoxide\nexport ZOXIDE_CMD_OVERRIDE="cd"' >> $dest
35
+ fi
36
+
37
+ echo -e " \n# Enable zoxide\neval \"\$ (zoxide init $shell )\" " >> $dest
38
+ done
Original file line number Diff line number Diff line change
1
+ {
2
+ "test" : {
3
+ "image" : " mcr.microsoft.com/devcontainers/base:debian" ,
4
+ "features" : {
5
+ "zoxide" : {
6
+ "replaceCd" : true
7
+ }
8
+ }
9
+ },
10
+ "test_no_cd" : {
11
+ "image" : " mcr.microsoft.com/devcontainers/base:debian" ,
12
+ "features" : {
13
+ "zoxide" : {
14
+ "replaceCd" : false
15
+ }
16
+ }
17
+ }
18
+ }
Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+
3
+ set -e
4
+
5
+ source dev-container-features-test-lib
6
+
7
+ # Test zoxide installed
8
+ check " zoxide installed" command -v zoxide & > /dev/null
9
+
10
+ # Test zsh shell configured
11
+ check " ZOXIDE_CMD_OVERRIDE is set" zsh -i -c " [[ -n \"\$ {ZOXIDE_CMD_OVERRIDE+1}\" ]]"
12
+ check " zoxide is enabled" zsh -i -c " command -v z &>/dev/null"
13
+
14
+ # Test bash shell configured
15
+ check " ZOXIDE_CMD_OVERRIDE is set" bash -i -c " [[ -n \"\$ {ZOXIDE_CMD_OVERRIDE+1}\" ]]"
16
+ check " zoxide is enabled" bash -i -c " command -v z &>/dev/null"
17
+
18
+ reportResults
Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+
3
+ set -e
4
+
5
+ source dev-container-features-test-lib
6
+
7
+ # Test zoxide installed
8
+ check " zoxide installed" command -v zoxide
9
+
10
+ # Test zsh shell configured
11
+ check " ZOXIDE_CMD_OVERRIDE is set" zsh -i -c " [[ -z \"\$ {ZOXIDE_CMD_OVERRIDE+1}\" ]]"
12
+ check " zoxide is enabled" zsh -i -c " command -v z &>/dev/null"
13
+
14
+ # Test bash shell configured
15
+ check " ZOXIDE_CMD_OVERRIDE is set" bash -i -c " [[ -z \"\$ {ZOXIDE_CMD_OVERRIDE+1}\" ]]"
16
+ check " zoxide is enabled" bash -i -c " command -v z &>/dev/null"
17
+
18
+ reportResults
You can’t perform that action at this time.
0 commit comments