-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add a VSCode DevContainer for the tutorial
- Loading branch information
Showing
7 changed files
with
227 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
# >>> reference: https://carlosneto.dev/blog/2024/2024-02-08-starship-zsh/ | ||
|
||
# list files with details | ||
alias ll="ls -larht" | ||
|
||
|
||
# set the locale of the shell | ||
export LANG="en_US.UTF-8" | ||
|
||
# define VSCode as the default text editor | ||
export EDITOR="code -w" | ||
|
||
# specify characters considered as word boundaries for command line navigation | ||
export WORDCHARS="" | ||
|
||
# set the location and filename of the history file | ||
export HISTFILE="$HOME/.zsh_history" | ||
|
||
# set the maximum number of lines to be saved in the history file | ||
export HISTSIZE="100000" | ||
export SAVEHIST="$HISTSIZE" | ||
|
||
# disable CTRL + S and CTRL + Q | ||
stty -ixon | ||
|
||
# enable comments "#" expressions in the prompt shell | ||
setopt INTERACTIVE_COMMENTS | ||
|
||
# append new history entries to the history file | ||
setopt APPEND_HISTORY | ||
|
||
# save each command to the history file as soon as it is executed | ||
setopt INC_APPEND_HISTORY | ||
|
||
# ignore recording duplicate consecutive commands in the history | ||
setopt HIST_IGNORE_DUPS | ||
|
||
# ignore commands that start with a space in the history | ||
setopt HIST_IGNORE_SPACE | ||
|
||
# >>> bindkey tip: to discovery the code of your keys, execute "$ cat -v" and press the key, the code will be printed in your shell. | ||
|
||
# use the ZLE (zsh line editor) in emacs mode. Useful to move the cursor in large commands | ||
bindkey -e | ||
|
||
# navigate words using Ctrl + arrow keys | ||
# >>> CRTL + right arrow | CRTL + left arrow | ||
bindkey "^[[1;5C" forward-word | ||
bindkey "^[[1;5D" backward-word | ||
|
||
# macosx override | ||
if [[ "$OSTYPE" == "darwin"* ]]; then | ||
# >>> OPT + right arrow | OPT + left arrow | ||
bindkey "^[^[[C" forward-word | ||
bindkey "^[^[[D" backward-word | ||
fi | ||
|
||
# search history using Up and Down keys | ||
# >>> up arrow | down arrow | ||
bindkey "^[[A" history-beginning-search-backward | ||
bindkey "^[[B" history-beginning-search-forward | ||
|
||
# jump to the start and end of the command line | ||
# >>> CTRL + A | CTRL + E | ||
bindkey "^A" beginning-of-line | ||
bindkey "^E" end-of-line | ||
# >>> Home | End | ||
bindkey "^[[H" beginning-of-line | ||
bindkey "^[[F" end-of-line | ||
|
||
# navigate menu for command output | ||
zstyle ':completion:*:*:*:*:*' menu select | ||
bindkey '^[[Z' reverse-menu-complete | ||
|
||
# delete characters using the "delete" key | ||
bindkey "^[[3~" delete-char | ||
|
||
|
||
# >>> load ZSH plugin | ||
|
||
# enable kubectl plugin autocompletion | ||
autoload -Uz compinit | ||
compinit | ||
|
||
|
||
# start Starship prompt | ||
eval "$(starship init zsh)" | ||
|
||
source /home/blinky/.motd |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
ARG VERSION=latest | ||
|
||
FROM ghcr.io/kit-mrt/arbitration_graphs_pacman_tutorial:$VERSION | ||
|
||
USER root | ||
|
||
# Install clangd for the VSCode extension to work out of the box | ||
# Install zsh and tig as modern dev tools | ||
RUN apt-get update && \ | ||
apt-get install -y --no-install-recommends \ | ||
clangd \ | ||
curl \ | ||
tig \ | ||
zsh && \ | ||
apt-get clean | ||
|
||
# Install and use starship terminal prompt | ||
RUN curl https://starship.rs/install.sh > /tmp/starship_install.sh && \ | ||
chmod +x /tmp/starship_install.sh && \ | ||
/tmp/starship_install.sh -y && \ | ||
rm /tmp/starship_install.sh | ||
|
||
COPY .devcontainer/.zshrc /home/blinky/.zshrc | ||
|
||
USER blinky |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
// For format details, see https://aka.ms/devcontainer.json. For config options, see the | ||
// README at: https://github.com/devcontainers/templates/tree/main/src/docker-existing-docker-compose | ||
{ | ||
"name": "Arbitration Graphs Tutorial", | ||
|
||
// Update the 'dockerComposeFile' list if you have more compose files or use different names. | ||
// The .devcontainer/docker-compose.yml file contains any overrides you need/want to make. | ||
"dockerComposeFile": [ | ||
"../docker-compose.tutorial.yaml", | ||
"docker-compose.yml" | ||
], | ||
|
||
// The 'service' property is the name of the service for the container that VS Code should | ||
// use. Update this value and .devcontainer/docker-compose.yml to the real service name. | ||
"service": "tutorial", | ||
|
||
// The optional 'workspaceFolder' property is the path VS Code should open by default when | ||
// connected. This is typically a file mount in .devcontainer/docker-compose.yml | ||
"workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}", | ||
"customizations": { | ||
"vscode": { | ||
// Install some useful VSCode C++ extensions | ||
"extensions": [ | ||
"llvm-vs-code-extensions.vscode-clangd", | ||
"vadimcn.vscode-lldb", | ||
"matepek.vscode-catch2-test-adapter", | ||
"twxs.cmake" | ||
], | ||
"settings": { | ||
// Use zsh as default terminal | ||
"terminal.integrated.profiles.linux": { | ||
"zsh": { | ||
"path": "/bin/zsh", | ||
"args": ["-l", "-i"] | ||
} | ||
}, | ||
"terminal.integrated.defaultProfile.linux": "zsh", | ||
|
||
// Use system installation of clangd | ||
"clangd.path": "clangd" | ||
} | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
version: '3.8' | ||
services: | ||
tutorial: | ||
build: | ||
context: . | ||
dockerfile: .devcontainer/Dockerfile | ||
|
||
volumes: | ||
- ..:/workspaces:cached | ||
|
||
# Overrides default command so things don't shut down after the process ends. | ||
command: sleep infinity | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
{ | ||
// Use IntelliSense to learn about possible attributes. | ||
// Hover to view descriptions of existing attributes. | ||
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 | ||
"version": "0.2.0", | ||
"configurations": [ | ||
{ | ||
"type": "lldb", | ||
"request": "launch", | ||
"name": "Debug Pacman Demo", | ||
"program": "${workspaceFolder}/build/arbitration_graphs_pacman_demo", | ||
"args": [], | ||
"cwd": "${workspaceFolder}" | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
{ | ||
// See https://go.microsoft.com/fwlink/?LinkId=733558 | ||
// for the documentation about the tasks.json format | ||
"version": "2.0.0", | ||
"tasks": [ | ||
{ | ||
"label": "Create build folder", | ||
"type": "shell", | ||
"command": "mkdir -p ${workspaceFolder}/build" | ||
}, | ||
{ | ||
"label": "CMake build for debug", | ||
"dependsOn": ["Create build folder"], | ||
"type": "shell", | ||
"command": "cmake -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTS=true -S ${workspaceFolder} -B ${workspaceFolder}/build", | ||
"group": { | ||
"kind": "build", | ||
"isDefault": true | ||
} | ||
}, | ||
{ | ||
"label": "CMake build for release", | ||
"dependsOn": ["Create build folder"], | ||
"type": "shell", | ||
"command": "cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=true -S ${workspaceFolder} -B ${workspaceFolder}/build" | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters