From e87ebf499e90dc138929164613c83d2d39e4e18c Mon Sep 17 00:00:00 2001 From: Ambrose Chua Date: Tue, 19 Mar 2024 14:23:01 +0800 Subject: [PATCH] Use VSCode sync, fix startup completions and config --- .config/Code/User/keybindings.json | 7 --- .config/Code/User/settings.json | 97 ------------------------------ .config/sway/config | 1 + .config/sway/work | 2 +- .gitignore | 4 +- .zshrc | 68 +++++++++++++++------ 6 files changed, 55 insertions(+), 124 deletions(-) delete mode 100644 .config/Code/User/keybindings.json delete mode 100644 .config/Code/User/settings.json diff --git a/.config/Code/User/keybindings.json b/.config/Code/User/keybindings.json deleted file mode 100644 index 25fac06..0000000 --- a/.config/Code/User/keybindings.json +++ /dev/null @@ -1,7 +0,0 @@ -// Place your key bindings in this file to override the defaultsauto[] -[ - { - "key": "ctrl+[Backquote]", - "command": "workbench.action.focusFirstEditorGroup" - } -] diff --git a/.config/Code/User/settings.json b/.config/Code/User/settings.json deleted file mode 100644 index 76ba9ee..0000000 --- a/.config/Code/User/settings.json +++ /dev/null @@ -1,97 +0,0 @@ -{ - "window.autoDetectColorScheme": true, - "window.titleBarStyle": "custom", - "workbench.sideBar.location": "right", - "workbench.preferredDarkColorTheme": "Solarized Dark", - "workbench.preferredLightColorTheme": "Solarized Light", - "workbench.colorTheme": "Solarized Light", - "workbench.colorCustomizations": { - "editorInlayHint.background": "#88888811", - "editorInlayHint.foreground": "#88888899" - }, - "workbench.startupEditor": "none", - "terminal.integrated.scrollback": 10000, - "terminal.integrated.smoothScrolling": true, - "editor.fontFamily": "'Fira Code', 'Droid Sans Mono', 'monospace', monospace", - "editor.inlayHints.fontSize": 12, - "editor.lineHeight": 1.3, - "editor.minimap.showSlider": "always", - "editor.minimap.enabled": false, - "editor.rulers": [80], - "editor.smoothScrolling": true, - "editor.cursorSmoothCaretAnimation": "on", - "files.autoSaveDelay": 10000, - "files.exclude": { - "**/__pycache__": true, - "**/.pytest_cache": true - }, - "vim.normalModeKeyBindings": [ - { - "before": ["K"], - "commands": ["editor.action.showHover"] - }, - { - "before": ["", "r", "f"], - "commands": ["fileutils.renameFile"] - }, - { - "before": ["", "f"], - "commands": ["editor.action.formatDocument"] - }, - { - "before": ["", "b"], - "commands": [ - "workbench.action.toggleSidebarVisibility" - //"workbench.files.action.focusFilesExplorer", - ] - }, - { - "before": ["", "$"], - "commands": ["terminal.focus"] - } - ], - "redhat.telemetry.enabled": false, - "gitlens.statusBar.enabled": false, - "docker.containers.label": "ContainerName", - "docker.containers.description": ["Image", "Status"], - "[python]": { - "editor.formatOnType": true, - "editor.defaultFormatter": "ms-python.black-formatter" - }, - "python.analysis.typeCheckingMode": "strict", - "python.analysis.inlayHints.functionReturnTypes": true, - "python.analysis.inlayHints.variableTypes": true, - "python.analysis.inlayHints.pytestParameters": true, - "go.inlayHints.assignVariableTypes": true, - "go.inlayHints.compositeLiteralFields": true, - "go.inlayHints.compositeLiteralTypes": true, - "go.inlayHints.constantValues": true, - "go.inlayHints.rangeVariableTypes": true, - "go.coverageDecorator": { - "coveredHighlightColor": "rgba(64,128,64,0.1)", - "uncoveredHighlightColor": "rgba(128,64,64,0.1)", - "coveredBorderColor": "rgba(64,128,64,0.1)", - "uncoveredBorderColor": "rgba(128,64,64,0.1)", - "coveredGutterStyle": "slashgreen", - "uncoveredGutterStyle": "slashred" - }, - "go.coverOnSave": true, - "powermode.enabled": true, - "powermode.shake.enabled": false, - "powermode.explosions.customExplosions": [ - "/home/ambrose/Documents/sparkles.gif" - ], - "powermode.explosions.maxExplosions": 1, - "powermode.explosions.frequency": 1, - "powermode.explosions.backgroundMode": "mask", - "powermode.combo.location": "off", - "gitlens.plusFeatures.enabled": false, - "go.lintTool": "golangci-lint", - "[css]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[json]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "window.commandCenter": false -} diff --git a/.config/sway/config b/.config/sway/config index 3f3cee3..1f9d908 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -327,6 +327,7 @@ gaps outer 8 # Toggle large gaps bindsym $mod+g gaps inner current set 34, gaps outer current set 10 bindsym $mod+Shift+g gaps inner current set 4, gaps outer current set 8 +bindsym $mod+Shift+Ctrl+g gaps inner current set 0, gaps outer current set 0 # # Special sizes # diff --git a/.config/sway/work b/.config/sway/work index 9d0ab06..80f9932 100644 --- a/.config/sway/work +++ b/.config/sway/work @@ -24,8 +24,8 @@ output * max_render_time 5 # workspace 1 output $output_secondary workspace 2 output $output_primary -workspace 7 output $output_tv $output_laptop workspace 10 output $output_laptop +workspace 7 output $output_tv $output_laptop # # Windows diff --git a/.gitignore b/.gitignore index 5368026..18f7c03 100644 --- a/.gitignore +++ b/.gitignore @@ -26,8 +26,8 @@ .config/Code/* !.config/Code/User .config/Code/User/* -!.config/Code/User/keybindings.json -!.config/Code/User/settings.json +#!.config/Code/User/keybindings.json +#!.config/Code/User/settings.json !.config/Yubico/u2f_keys !.config/contain !.config/containers diff --git a/.zshrc b/.zshrc index bc43674..b21b997 100644 --- a/.zshrc +++ b/.zshrc @@ -1,4 +1,4 @@ -#zmodload zsh/zprof +# zmodload zsh/zprof # basic settings @@ -47,10 +47,10 @@ sup() { prompt_run_count=0 on_second_prompt() { if [[ "$prompt_run_count" == 1 ]] && [[ "$USER" != "root" ]]; then - #zmodload zsh/zprof + # zmodload zsh/zprof load_slower load_slowest - #zprof + # zprof fi (( prompt_run_count = prompt_run_count + 1 )) } @@ -59,26 +59,31 @@ precmd_functions+=( on_second_prompt ) # executables export PATH="$HOME/.local/bin:$HOME/.pwn/bin:$PATH" + setup_pulumi() { export PATH="$HOME/.pulumi/bin:$PATH" } [[ -d "$HOME/.pulumi/bin" ]] && setup_pulumi + setup_deno() { export PATH="$DENO_INSTALL/bin:$PATH" } export DENO_INSTALL="$HOME/.deno" [[ -d "$DENO_INSTALL" ]] && setup_deno + setup_pyenv() { - unfunction pyenv python3 pip python + unfunction -m pyenv python python3 pip pip3 command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)" + eval "$(pip completion --zsh)" } pyenv_loaded=0 setup_pyenv_on_demand() { setup_pyenv_once() { if [[ ! -d "$PYENV_ROOT" ]] && ! which pip >/dev/null 2>/dev/null; then git clone https://github.com/pyenv/pyenv.git "$PYENV_ROOT" + git clone https://github.com/pyenv/pyenv-virtualenv.git "$PYENV_ROOT/plugins/pyenv-virtualenv" fi if [[ "$pyenv_loaded" != 1 ]]; then echo "-- Loading pyenv --" @@ -92,15 +97,16 @@ setup_pyenv_on_demand() { } precmd_functions+=( setup_pyenv_when_python_version ) pyenv() { setup_pyenv_once && pyenv "$@" } + python() { setup_pyenv_once && python "$@" } python3() { setup_pyenv_once && python3 "$@" } pip() { setup_pyenv_once && pip "$@" } - python() { setup_pyenv_once && python "$@" } + pip3() { setup_pyenv_once && pip3 "$@" } } export PYENV_ROOT="$HOME/.pyenv" -#[[ -d "$PYENV_ROOT" ]] && setup_pyenv_on_demand setup_pyenv_on_demand + setup_nvm() { - unfunction nvm npm npx node + unfunction -m nvm npm npx node source "$NVM_DIR/nvm.sh" } nvm_loaded=0 @@ -119,29 +125,34 @@ setup_nvm_on_demand() { export NVM_DIR="$HOME/.nvm" [[ -d "$NVM_DIR" ]] && setup_nvm_on_demand [[ -f "$HOME/.nvm-setup-now" ]] && setup_nvm + setup_bun() { [ -s "/var/home/ambrose/.bun/_bun" ] && source "/var/home/ambrose/.bun/_bun" export PATH="$BUN_INSTALL/bin:$PATH" } export BUN_INSTALL="$HOME/.bun" [[ -d "$BUN_INSTALL" ]] && setup_bun + setup_ruby() { export PATH="$(ruby -e 'puts Gem.user_dir')/bin:$PATH" } which ruby >/dev/null 2>/dev/null && setup_ruby + setup_go() { export PATH="$(go env GOPATH)/bin:$PATH" } which go >/dev/null 2>/dev/null && setup_go + setup_g() { export PATH="$HOME/go/bin:$PATH" GOPATH="$HOME/go" GOROOT="$HOME/.go" # g-install: do NOT edit, see https://github.com/stefanmaric/g } -export PATH="$HOME/.rd/bin:$PATH" [[ -f "$HOME/go/bin/g" ]] && setup_g + setup_rancher_desktop() { export PATH="$HOME/.rd/bin:$PATH" } [[ -d "$HOME/.rd/bin" ]] && setup_rancher_desktop + setup_android_sdk() { # See ~/.local/bin/install_android_sdk export ANDROID_SDK_ROOT="$HOME/.android/sdk" @@ -152,6 +163,7 @@ setup_android_sdk() { fi } [[ -d "$HOME/.android/sdk" ]] && setup_android_sdk + setup_flutter() { # See ~/.local/bin/install_android_sdk export PATH="$HOME/flutter/bin:$HOME/.pub-cache/bin:$PATH" @@ -163,12 +175,14 @@ setup_flutter() { fi } [[ -d "$HOME/flutter/bin" ]] && setup_flutter + setup_cargo() { export PATH="$HOME/.cargo/bin:$PATH" } [[ -d "$HOME/.cargo" ]] && setup_cargo + setup_rbenv() { - unfunction rbenv ruby gem + unfunction -m rbenv ruby gem command -v rbenv >/dev/null || export PATH="$RBENV_ROOT/bin:$PATH" eval "$(rbenv init -)" } @@ -188,7 +202,6 @@ setup_rbenv_on_demand() { gem() { setup_rbenv_once && gem "$@" } } export RBENV_ROOT="$HOME/.rbenv" -#[[ -d "$RBENV_ROOT" ]] && setup_rbenv_on_demand setup_rbenv_on_demand # platform specific @@ -273,12 +286,33 @@ setup_completion_more() { # Depends: #setup_completion - if which kubectl >/dev/null 2>/dev/null; then - source <(kubectl completion zsh) - fi - if [[ -d "$NVM_DIR" ]]; then - [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" - fi + setup_completion_kubectl() { + if which kubectl >/dev/null 2>/dev/null; then + source <(kubectl completion zsh) + fi + } + setup_completion_kubectl + + setup_completion_pipenv() { + if which pipenv >/dev/null 2>/dev/null; then + eval "$(_PIPENV_COMPLETE=zsh_source pipenv)" + fi + } + setup_completion_pipenv + + setup_completion_nvm() { + if [[ -d "$NVM_DIR" ]]; then + [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" + fi + } + setup_completion_nvm + + setup_completion_docker() { + if which docker >/dev/null 2>/dev/null; then + eval "$(docker completion zsh)" + fi + } + setup_completion_docker } slowest_functions+=( setup_completion_more ) @@ -656,4 +690,4 @@ if which gpgconf >/dev/null 2>/dev/null; then } fi -#zprof +# zprof