Skip to content

Commit c083891

Browse files
committed
feat: add autocomplete for development
1 parent 1208aba commit c083891

File tree

7 files changed

+434
-0
lines changed

7 files changed

+434
-0
lines changed

docs/book/src/cronjob-tutorial/testdata/project/.devcontainer/post-install.sh

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,81 @@
11
#!/bin/bash
22
set -x
33

4+
BASHRC_FILE="$HOME/.bashrc"
5+
46
curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-linux-$(go env GOARCH)
57
chmod +x ./kind
68
mv ./kind /usr/local/bin/kind
79

10+
BEGIN_MARKER="# BEGIN kind autocompletion"
11+
END_MARKER="# END kind autocompletion"
12+
if ! grep -q "$BEGIN_MARKER" "$BASHRC_FILE"; then
13+
echo ""
14+
echo "" >> "$BASHRC_FILE"
15+
echo "$BEGIN_MARKER" >> "$BASHRC_FILE"
16+
echo "# kind autocompletion" >> "$BASHRC_FILE"
17+
echo "if [ -f /usr/local/share/bash-completion/bash_completion ]; then" >> "$BASHRC_FILE"
18+
echo ". /usr/local/share/bash-completion/bash_completion" >> "$BASHRC_FILE"
19+
echo "fi" >> "$BASHRC_FILE"
20+
echo ". <(kind completion bash)" >> "$BASHRC_FILE"
21+
echo "$END_MARKER" >> "$BASHRC_FILE"
22+
echo ""
23+
fi
24+
825
curl -L -o kubebuilder https://go.kubebuilder.io/dl/latest/linux/$(go env GOARCH)
926
chmod +x kubebuilder
1027
mv kubebuilder /usr/local/bin/
1128

29+
BEGIN_MARKER="# BEGIN kubebuilder autocompletion"
30+
END_MARKER="# END kubebuilder autocompletion"
31+
if ! grep -q "$BEGIN_MARKER" "$BASHRC_FILE"; then
32+
echo ""
33+
echo "" >> "$BASHRC_FILE"
34+
echo "$BEGIN_MARKER" >> "$BASHRC_FILE"
35+
echo "# kubebuilder autocompletion" >> "$BASHRC_FILE"
36+
echo "if [ -f /usr/local/share/bash-completion/bash_completion ]; then" >> "$BASHRC_FILE"
37+
echo ". /usr/local/share/bash-completion/bash_completion" >> "$BASHRC_FILE"
38+
echo "fi" >> "$BASHRC_FILE"
39+
echo ". <(kubebuilder completion bash)" >> "$BASHRC_FILE"
40+
echo "$END_MARKER" >> "$BASHRC_FILE"
41+
echo ""
42+
fi
43+
1244
KUBECTL_VERSION=$(curl -L -s https://dl.k8s.io/release/stable.txt)
1345
curl -LO "https://dl.k8s.io/release/$KUBECTL_VERSION/bin/linux/$(go env GOARCH)/kubectl"
1446
chmod +x kubectl
1547
mv kubectl /usr/local/bin/kubectl
1648

49+
BEGIN_MARKER="# BEGIN kubectl autocompletion"
50+
END_MARKER="# END kubectl autocompletion"
51+
if ! grep -q "$BEGIN_MARKER" "$BASHRC_FILE"; then
52+
echo ""
53+
echo "" >> "$BASHRC_FILE"
54+
echo "$BEGIN_MARKER" >> "$BASHRC_FILE"
55+
echo "# kubectl autocompletion" >> "$BASHRC_FILE"
56+
echo "if [ -f /usr/local/share/bash-completion/bash_completion ]; then" >> "$BASHRC_FILE"
57+
echo ". /usr/local/share/bash-completion/bash_completion" >> "$BASHRC_FILE"
58+
echo "fi" >> "$BASHRC_FILE"
59+
echo ". <(kubectl completion bash)" >> "$BASHRC_FILE"
60+
echo "$END_MARKER" >> "$BASHRC_FILE"
61+
echo ""
62+
fi
63+
64+
BEGIN_MARKER="# BEGIN docker autocompletion"
65+
END_MARKER="# END docker autocompletion"
66+
if ! grep -q "$BEGIN_MARKER" "$BASHRC_FILE"; then
67+
echo ""
68+
echo "" >> "$BASHRC_FILE"
69+
echo "$BEGIN_MARKER" >> "$BASHRC_FILE"
70+
echo "# docker autocompletion" >> "$BASHRC_FILE"
71+
echo "if [ -f /usr/local/share/bash-completion/bash_completion ]; then" >> "$BASHRC_FILE"
72+
echo ". /usr/local/share/bash-completion/bash_completion" >> "$BASHRC_FILE"
73+
echo "fi" >> "$BASHRC_FILE"
74+
echo ". <(docker completion bash)" >> "$BASHRC_FILE"
75+
echo "$END_MARKER" >> "$BASHRC_FILE"
76+
echo ""
77+
fi
78+
1779
docker network create -d=bridge --subnet=172.19.0.0/24 kind
1880

1981
kind version

docs/book/src/getting-started/testdata/project/.devcontainer/post-install.sh

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,81 @@
11
#!/bin/bash
22
set -x
33

4+
BASHRC_FILE="$HOME/.bashrc"
5+
46
curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-linux-$(go env GOARCH)
57
chmod +x ./kind
68
mv ./kind /usr/local/bin/kind
79

10+
BEGIN_MARKER="# BEGIN kind autocompletion"
11+
END_MARKER="# END kind autocompletion"
12+
if ! grep -q "$BEGIN_MARKER" "$BASHRC_FILE"; then
13+
echo ""
14+
echo "" >> "$BASHRC_FILE"
15+
echo "$BEGIN_MARKER" >> "$BASHRC_FILE"
16+
echo "# kind autocompletion" >> "$BASHRC_FILE"
17+
echo "if [ -f /usr/local/share/bash-completion/bash_completion ]; then" >> "$BASHRC_FILE"
18+
echo ". /usr/local/share/bash-completion/bash_completion" >> "$BASHRC_FILE"
19+
echo "fi" >> "$BASHRC_FILE"
20+
echo ". <(kind completion bash)" >> "$BASHRC_FILE"
21+
echo "$END_MARKER" >> "$BASHRC_FILE"
22+
echo ""
23+
fi
24+
825
curl -L -o kubebuilder https://go.kubebuilder.io/dl/latest/linux/$(go env GOARCH)
926
chmod +x kubebuilder
1027
mv kubebuilder /usr/local/bin/
1128

29+
BEGIN_MARKER="# BEGIN kubebuilder autocompletion"
30+
END_MARKER="# END kubebuilder autocompletion"
31+
if ! grep -q "$BEGIN_MARKER" "$BASHRC_FILE"; then
32+
echo ""
33+
echo "" >> "$BASHRC_FILE"
34+
echo "$BEGIN_MARKER" >> "$BASHRC_FILE"
35+
echo "# kubebuilder autocompletion" >> "$BASHRC_FILE"
36+
echo "if [ -f /usr/local/share/bash-completion/bash_completion ]; then" >> "$BASHRC_FILE"
37+
echo ". /usr/local/share/bash-completion/bash_completion" >> "$BASHRC_FILE"
38+
echo "fi" >> "$BASHRC_FILE"
39+
echo ". <(kubebuilder completion bash)" >> "$BASHRC_FILE"
40+
echo "$END_MARKER" >> "$BASHRC_FILE"
41+
echo ""
42+
fi
43+
1244
KUBECTL_VERSION=$(curl -L -s https://dl.k8s.io/release/stable.txt)
1345
curl -LO "https://dl.k8s.io/release/$KUBECTL_VERSION/bin/linux/$(go env GOARCH)/kubectl"
1446
chmod +x kubectl
1547
mv kubectl /usr/local/bin/kubectl
1648

49+
BEGIN_MARKER="# BEGIN kubectl autocompletion"
50+
END_MARKER="# END kubectl autocompletion"
51+
if ! grep -q "$BEGIN_MARKER" "$BASHRC_FILE"; then
52+
echo ""
53+
echo "" >> "$BASHRC_FILE"
54+
echo "$BEGIN_MARKER" >> "$BASHRC_FILE"
55+
echo "# kubectl autocompletion" >> "$BASHRC_FILE"
56+
echo "if [ -f /usr/local/share/bash-completion/bash_completion ]; then" >> "$BASHRC_FILE"
57+
echo ". /usr/local/share/bash-completion/bash_completion" >> "$BASHRC_FILE"
58+
echo "fi" >> "$BASHRC_FILE"
59+
echo ". <(kubectl completion bash)" >> "$BASHRC_FILE"
60+
echo "$END_MARKER" >> "$BASHRC_FILE"
61+
echo ""
62+
fi
63+
64+
BEGIN_MARKER="# BEGIN docker autocompletion"
65+
END_MARKER="# END docker autocompletion"
66+
if ! grep -q "$BEGIN_MARKER" "$BASHRC_FILE"; then
67+
echo ""
68+
echo "" >> "$BASHRC_FILE"
69+
echo "$BEGIN_MARKER" >> "$BASHRC_FILE"
70+
echo "# docker autocompletion" >> "$BASHRC_FILE"
71+
echo "if [ -f /usr/local/share/bash-completion/bash_completion ]; then" >> "$BASHRC_FILE"
72+
echo ". /usr/local/share/bash-completion/bash_completion" >> "$BASHRC_FILE"
73+
echo "fi" >> "$BASHRC_FILE"
74+
echo ". <(docker completion bash)" >> "$BASHRC_FILE"
75+
echo "$END_MARKER" >> "$BASHRC_FILE"
76+
echo ""
77+
fi
78+
1779
docker network create -d=bridge --subnet=172.19.0.0/24 kind
1880

1981
kind version

docs/book/src/multiversion-tutorial/testdata/project/.devcontainer/post-install.sh

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,81 @@
11
#!/bin/bash
22
set -x
33

4+
BASHRC_FILE="$HOME/.bashrc"
5+
46
curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-linux-$(go env GOARCH)
57
chmod +x ./kind
68
mv ./kind /usr/local/bin/kind
79

10+
BEGIN_MARKER="# BEGIN kind autocompletion"
11+
END_MARKER="# END kind autocompletion"
12+
if ! grep -q "$BEGIN_MARKER" "$BASHRC_FILE"; then
13+
echo ""
14+
echo "" >> "$BASHRC_FILE"
15+
echo "$BEGIN_MARKER" >> "$BASHRC_FILE"
16+
echo "# kind autocompletion" >> "$BASHRC_FILE"
17+
echo "if [ -f /usr/local/share/bash-completion/bash_completion ]; then" >> "$BASHRC_FILE"
18+
echo ". /usr/local/share/bash-completion/bash_completion" >> "$BASHRC_FILE"
19+
echo "fi" >> "$BASHRC_FILE"
20+
echo ". <(kind completion bash)" >> "$BASHRC_FILE"
21+
echo "$END_MARKER" >> "$BASHRC_FILE"
22+
echo ""
23+
fi
24+
825
curl -L -o kubebuilder https://go.kubebuilder.io/dl/latest/linux/$(go env GOARCH)
926
chmod +x kubebuilder
1027
mv kubebuilder /usr/local/bin/
1128

29+
BEGIN_MARKER="# BEGIN kubebuilder autocompletion"
30+
END_MARKER="# END kubebuilder autocompletion"
31+
if ! grep -q "$BEGIN_MARKER" "$BASHRC_FILE"; then
32+
echo ""
33+
echo "" >> "$BASHRC_FILE"
34+
echo "$BEGIN_MARKER" >> "$BASHRC_FILE"
35+
echo "# kubebuilder autocompletion" >> "$BASHRC_FILE"
36+
echo "if [ -f /usr/local/share/bash-completion/bash_completion ]; then" >> "$BASHRC_FILE"
37+
echo ". /usr/local/share/bash-completion/bash_completion" >> "$BASHRC_FILE"
38+
echo "fi" >> "$BASHRC_FILE"
39+
echo ". <(kubebuilder completion bash)" >> "$BASHRC_FILE"
40+
echo "$END_MARKER" >> "$BASHRC_FILE"
41+
echo ""
42+
fi
43+
1244
KUBECTL_VERSION=$(curl -L -s https://dl.k8s.io/release/stable.txt)
1345
curl -LO "https://dl.k8s.io/release/$KUBECTL_VERSION/bin/linux/$(go env GOARCH)/kubectl"
1446
chmod +x kubectl
1547
mv kubectl /usr/local/bin/kubectl
1648

49+
BEGIN_MARKER="# BEGIN kubectl autocompletion"
50+
END_MARKER="# END kubectl autocompletion"
51+
if ! grep -q "$BEGIN_MARKER" "$BASHRC_FILE"; then
52+
echo ""
53+
echo "" >> "$BASHRC_FILE"
54+
echo "$BEGIN_MARKER" >> "$BASHRC_FILE"
55+
echo "# kubectl autocompletion" >> "$BASHRC_FILE"
56+
echo "if [ -f /usr/local/share/bash-completion/bash_completion ]; then" >> "$BASHRC_FILE"
57+
echo ". /usr/local/share/bash-completion/bash_completion" >> "$BASHRC_FILE"
58+
echo "fi" >> "$BASHRC_FILE"
59+
echo ". <(kubectl completion bash)" >> "$BASHRC_FILE"
60+
echo "$END_MARKER" >> "$BASHRC_FILE"
61+
echo ""
62+
fi
63+
64+
BEGIN_MARKER="# BEGIN docker autocompletion"
65+
END_MARKER="# END docker autocompletion"
66+
if ! grep -q "$BEGIN_MARKER" "$BASHRC_FILE"; then
67+
echo ""
68+
echo "" >> "$BASHRC_FILE"
69+
echo "$BEGIN_MARKER" >> "$BASHRC_FILE"
70+
echo "# docker autocompletion" >> "$BASHRC_FILE"
71+
echo "if [ -f /usr/local/share/bash-completion/bash_completion ]; then" >> "$BASHRC_FILE"
72+
echo ". /usr/local/share/bash-completion/bash_completion" >> "$BASHRC_FILE"
73+
echo "fi" >> "$BASHRC_FILE"
74+
echo ". <(docker completion bash)" >> "$BASHRC_FILE"
75+
echo "$END_MARKER" >> "$BASHRC_FILE"
76+
echo ""
77+
fi
78+
1779
docker network create -d=bridge --subnet=172.19.0.0/24 kind
1880

1981
kind version

pkg/plugins/golang/v4/scaffolds/internal/templates/devcontainer.go

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,19 +50,81 @@ const devContainerTemplate = `{
5050
const postInstallScript = `#!/bin/bash
5151
set -x
5252
53+
BASHRC_FILE="$HOME/.bashrc"
54+
5355
curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-linux-$(go env GOARCH)
5456
chmod +x ./kind
5557
mv ./kind /usr/local/bin/kind
5658
59+
BEGIN_MARKER="# BEGIN kind autocompletion"
60+
END_MARKER="# END kind autocompletion"
61+
if ! grep -q "$BEGIN_MARKER" "$BASHRC_FILE"; then
62+
echo ""
63+
echo "" >> "$BASHRC_FILE"
64+
echo "$BEGIN_MARKER" >> "$BASHRC_FILE"
65+
echo "# kind autocompletion" >> "$BASHRC_FILE"
66+
echo "if [ -f /usr/local/share/bash-completion/bash_completion ]; then" >> "$BASHRC_FILE"
67+
echo ". /usr/local/share/bash-completion/bash_completion" >> "$BASHRC_FILE"
68+
echo "fi" >> "$BASHRC_FILE"
69+
echo ". <(kind completion bash)" >> "$BASHRC_FILE"
70+
echo "$END_MARKER" >> "$BASHRC_FILE"
71+
echo ""
72+
fi
73+
5774
curl -L -o kubebuilder https://go.kubebuilder.io/dl/latest/linux/$(go env GOARCH)
5875
chmod +x kubebuilder
5976
mv kubebuilder /usr/local/bin/
6077
78+
BEGIN_MARKER="# BEGIN kubebuilder autocompletion"
79+
END_MARKER="# END kubebuilder autocompletion"
80+
if ! grep -q "$BEGIN_MARKER" "$BASHRC_FILE"; then
81+
echo ""
82+
echo "" >> "$BASHRC_FILE"
83+
echo "$BEGIN_MARKER" >> "$BASHRC_FILE"
84+
echo "# kubebuilder autocompletion" >> "$BASHRC_FILE"
85+
echo "if [ -f /usr/local/share/bash-completion/bash_completion ]; then" >> "$BASHRC_FILE"
86+
echo ". /usr/local/share/bash-completion/bash_completion" >> "$BASHRC_FILE"
87+
echo "fi" >> "$BASHRC_FILE"
88+
echo ". <(kubebuilder completion bash)" >> "$BASHRC_FILE"
89+
echo "$END_MARKER" >> "$BASHRC_FILE"
90+
echo ""
91+
fi
92+
6193
KUBECTL_VERSION=$(curl -L -s https://dl.k8s.io/release/stable.txt)
6294
curl -LO "https://dl.k8s.io/release/$KUBECTL_VERSION/bin/linux/$(go env GOARCH)/kubectl"
6395
chmod +x kubectl
6496
mv kubectl /usr/local/bin/kubectl
6597
98+
BEGIN_MARKER="# BEGIN kubectl autocompletion"
99+
END_MARKER="# END kubectl autocompletion"
100+
if ! grep -q "$BEGIN_MARKER" "$BASHRC_FILE"; then
101+
echo ""
102+
echo "" >> "$BASHRC_FILE"
103+
echo "$BEGIN_MARKER" >> "$BASHRC_FILE"
104+
echo "# kubectl autocompletion" >> "$BASHRC_FILE"
105+
echo "if [ -f /usr/local/share/bash-completion/bash_completion ]; then" >> "$BASHRC_FILE"
106+
echo ". /usr/local/share/bash-completion/bash_completion" >> "$BASHRC_FILE"
107+
echo "fi" >> "$BASHRC_FILE"
108+
echo ". <(kubectl completion bash)" >> "$BASHRC_FILE"
109+
echo "$END_MARKER" >> "$BASHRC_FILE"
110+
echo ""
111+
fi
112+
113+
BEGIN_MARKER="# BEGIN docker autocompletion"
114+
END_MARKER="# END docker autocompletion"
115+
if ! grep -q "$BEGIN_MARKER" "$BASHRC_FILE"; then
116+
echo ""
117+
echo "" >> "$BASHRC_FILE"
118+
echo "$BEGIN_MARKER" >> "$BASHRC_FILE"
119+
echo "# docker autocompletion" >> "$BASHRC_FILE"
120+
echo "if [ -f /usr/local/share/bash-completion/bash_completion ]; then" >> "$BASHRC_FILE"
121+
echo ". /usr/local/share/bash-completion/bash_completion" >> "$BASHRC_FILE"
122+
echo "fi" >> "$BASHRC_FILE"
123+
echo ". <(docker completion bash)" >> "$BASHRC_FILE"
124+
echo "$END_MARKER" >> "$BASHRC_FILE"
125+
echo ""
126+
fi
127+
66128
docker network create -d=bridge --subnet=172.19.0.0/24 kind
67129
68130
kind version

0 commit comments

Comments
 (0)