diff --git a/.Xresources b/.Xresources deleted file mode 100644 index 8b106b5e..00000000 --- a/.Xresources +++ /dev/null @@ -1,38 +0,0 @@ - -! general -*background: rgb:16/19/25 -*foreground: rgb:aa/ae/b8 - -! blacks -*color0: rgb:47/4b/56 -*color8: rgb:60/64/6f - -! reds -*color1: rgb:ed/25/4e -*color9: rgb:e5/45/68 - -! greens -*color2: rgb:71/f7/9f -*color10: rgb:81/ed/a9 - -! yellows -*color3: rgb:f9/dc/5c -*color11: rgb:ee/d8/73 - -! blues -*color4: rgb:7c/b7/ff -*color12: rgb:8a/ba/f6 - -! magentas -*color5: rgb:c7/4d/89 -*color13: rgb:c6/65/97 - -! cyans -*color6: rgb:0/c1/e4 -*color14: rgb:27/c2/e0 - -! whites -*color7: rgb:aa/ae/b8 -*color15: rgb:c3/c7/d1 - -xterm*faceName: Hack Nerd Font diff --git a/.bashrc b/.bashrc deleted file mode 100644 index 0a8f01be..00000000 --- a/.bashrc +++ /dev/null @@ -1,96 +0,0 @@ -#!/usr/bin/env bash -# shellcheck disable=SC1090,SC1091 - -# Prefer US English -export LANG="en_US" - -# Detect support for advanced terminal features -if [ "$0" = 'bash' ] || [ "$0" = '/bin/bash' ]; then - export BASH_SUPPORT=true -fi - -### Fig / LC_ALL -if [ "$BASH_SUPPORT" = 'true' ]; then - if [[ "$(hostname)" != *'-minimal' ]]; then - export LC_ALL="en_US.UTF-8" - fi - if [ -f "$HOME/.fig/shell/bashrc.pre.bash" ]; then - . "$HOME/.fig/shell/bashrc.pre.bash" - fi -fi - -### Import Common Settings -if [ -f "$HOME/.config/shell/profile" ]; then - . "$HOME/.config/shell/profile" -fi - -### Settings -if command -v shopt > /dev/null; then - shopt -s globstar - shopt -s histappend - shopt -s checkwinsize -fi - -### History -export HISTFILE="$XDG_STATE_HOME/bash/history" - -### /etc/bashrc -if [ -f /etc/bashrc ]; then - . /etc/bashrc -fi - -# Prompt (on bash only) -if [ "$BASH_SUPPORT" = 'true' ]; then - if [[ "$(hostname)" != *'-minimal' ]]; then - ### Styled Terminal - if command -v oh-my-posh > /dev/null; then - # Oh My Posh (See: https://ohmyposh.dev/) - eval "$(oh-my-posh init bash --config "$XDG_CONFIG_HOME/oh-my-posh/Betelgeuse.omp.json")" - else - # Basic styled terminal - case "$TERM" in - xterm* | rxvt* | Eterm | aterm | kterm | gnome* | alacritty) - PS1="\n \[\033[0;34m\]╭─\[\033[0;31m\]\[\033[0;37m\]\[\033[41m\] $OS_ICON \u \[\033[0m\]\[\033[0;31m\]\[\033[44m\]\[\033[0;34m\]\[\033[44m\]\[\033[0;30m\]\[\033[44m\] \w \[\033[0m\]\[\033[0;34m\] \n \[\033[0;34m\]╰ \[\033[1;36m\]\$ \[\033[0m\]" - ;; - esac - fi - else - # Minimal session - if command -v oh-my-posh > /dev/null; then - eval "$(oh-my-posh init bash --config "$XDG_CONFIG_HOME/oh-my-posh/Betelgeuse-minimal.omp.json")" - fi - fi -fi - -### Bash Initialization Hooks -if [ "$BASH_SUPPORT" = 'true' ]; then - ### Bash Completion - if [ -f "/usr/local/etc/profile.d/bash_completion.sh" ]; then - . "/usr/local/etc/profile.d/bash_completion.sh" - fi - - ### direnv - if command -v direnv > /dev/null; then - eval "$(direnv hook bash)" - fi - - ### Java (asdf) - if [ -f "$ASDF_DATA_DIR/plugins/java/set-java-home.bash" ]; then - . "$ASDF_DATA_DIR/plugins/java/set-java-home.bash" - fi - - ### zoxide - if command -v zoxide > /dev/null; then - eval "$(zoxide init --cmd cd bash)" - fi - - ### Fig - if [ -f "$HOME/.fig/shell/bashrc.post.bash" ]; then - . "$HOME/.fig/shell/bashrc.post.bash" - fi - - ### Vault - if command -v vault > /dev/null; then - complete -C vault vault - fi -fi diff --git a/.local/share/chezmoi/.chezmoiignore b/.chezmoiignore similarity index 100% rename from .local/share/chezmoi/.chezmoiignore rename to .chezmoiignore diff --git a/.chezmoiroot b/.chezmoiroot index 60a78f2b..5e72f75c 100644 --- a/.chezmoiroot +++ b/.chezmoiroot @@ -1 +1 @@ -.local/share/chezmoi/home +home diff --git a/.config/age/expect b/.config/age/expect deleted file mode 100644 index 5ea2b90c..00000000 --- a/.config/age/expect +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/expect -# TODO: https://github.com/hyperupcall/dots/tree/8e62ad19f4fa870bd70b1816d383bc32e9b6d149/dotmgr -# https://www.chezmoi.io/user-guide/frequently-asked-questions/encryption/#how-do-i-configure-chezmoi-to-encrypt-files-but-only-request-a-passphrase-the-first-time-chezmoi-init-is-run -# Figure out way of not writing AGE_PASSPHRASE to disk - keep in mem - -spawn ./test.bash -expect "Enter passphrase*" -send -- "{{ .Env.AGE_PASSPHRASE }}\r" -expect "Confirm passphrase*" -send -- "{{ .Env.AGE_PASSPHRASE }}\r" -expect eof diff --git a/.config/age/run_once_before_decrypt-private-key.sh.tmpl b/.config/age/run_once_before_decrypt-private-key.sh.tmpl deleted file mode 100644 index 321e6f0d..00000000 --- a/.config/age/run_once_before_decrypt-private-key.sh.tmpl +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -if [ ! -f "$HOME/.config/age/headless.txt" ]; then - logg 'Generating age public key under `~/.config/age/key.txt`' - age-keygen > "$HOME/.config/age/headless.txt" -fi - -if [ -f "{{ .chezmoi.sourceDir }}/key.txt.age" ]; then - # TODO - logg 'Decrypting age key' - age --decrypt --output "$HOME/.config/age/key.txt" "{{ .chezmoi.sourceDir }}/key.txt.age" - chmod 600 "$HOME/.config/age/key.txt" -fi diff --git a/.config/asdf/asdfrc b/.config/asdf/asdfrc deleted file mode 100644 index d851842c..00000000 --- a/.config/asdf/asdfrc +++ /dev/null @@ -1,8 +0,0 @@ -# See the docs for explanations: https://asdf-vm.com/manage/configuration.html - -legacy_version_file = no -use_release_candidates = no -always_keep_download = no -plugin_repository_last_check_duration = 60 -disable_plugin_short_name_repository = no -java_macos_integration_enable = yes diff --git a/.config/asdf/default-cargo-pkgs b/.config/asdf/default-cargo-pkgs deleted file mode 100644 index 8b137891..00000000 --- a/.config/asdf/default-cargo-pkgs +++ /dev/null @@ -1 +0,0 @@ - diff --git a/.config/asdf/default-golang-pkgs b/.config/asdf/default-golang-pkgs deleted file mode 100644 index 149ad0ba..00000000 --- a/.config/asdf/default-golang-pkgs +++ /dev/null @@ -1,8 +0,0 @@ -github.com/uudashr/gopkgs/v2/cmd/gopkgs@latest -github.com/ramya-rao-a/go-outline@latest -github.com/cweill/gotests/...@latest -github.com/fatih/gomodifytags@latest -github.com/josharian/impl@latest -github.com/go-delve/delve/cmd/dlv@latest -golang.org/x/tools/gopls@latest -honnef.co/go/tools/cmd/staticcheck@latest diff --git a/.config/asdf/default-npm-packages b/.config/asdf/default-npm-packages deleted file mode 100644 index 8b137891..00000000 --- a/.config/asdf/default-npm-packages +++ /dev/null @@ -1 +0,0 @@ - diff --git a/.config/asdf/default-python-pkgs b/.config/asdf/default-python-pkgs deleted file mode 100644 index e079f8a6..00000000 --- a/.config/asdf/default-python-pkgs +++ /dev/null @@ -1 +0,0 @@ -pytest diff --git a/.config/asdf/default-ruby-pkgs b/.config/asdf/default-ruby-pkgs deleted file mode 100644 index b841526f..00000000 --- a/.config/asdf/default-ruby-pkgs +++ /dev/null @@ -1 +0,0 @@ -bundler diff --git a/.config/batrc b/.config/batrc deleted file mode 100644 index ce7d6687..00000000 --- a/.config/batrc +++ /dev/null @@ -1,11 +0,0 @@ -# Set the theme to "TwoDark" ---theme="TwoDark" - -# Show line numbers, Git modifications and file header (but no grid) ---style="numbers,changes,header" - -# Use italic text on the terminal (not supported on all terminals) ---italic-text=always - -# Use C++ syntax for Arduino .ino files ---map-syntax "*.ino:C++" diff --git a/.config/dircolors b/.config/dircolors deleted file mode 100644 index 056be48b..00000000 --- a/.config/dircolors +++ /dev/null @@ -1,849 +0,0 @@ - -# LS_COLORS -# Maintainers: Magnus Woldrich , -# Ryan Delaney -# URL: https://github.com/trapd00r/LS_COLORS -# -# This is a collection of extension:color mappings, suitable to use as your -# LS_COLORS environment variable. Most of them use the extended color map, -# described in the ECMA-48 document; in other words, you'll need a terminal -# with capabilities of displaying 256 colors. -# -# As of this writing, over 500 different filetypes/extensions are supported. -# That's indeed a lot of extensions, but there's a lot more! Therefore I need -# your help. -# -# Fork this project on github, add the extensions you are missing, and send me -# a pull request. -# -# For files that usually end up next to each other, like html, css and js, -# try to pick colors that fit nicely together. Filetypes with multiple -# possible extensions, like htm and html, should have the same color. - -# This program is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. See the Perl Artistic License for more details. -# -# This program is free software: you can redistribute it and/or modify it under -# the terms of the Perl Artistic License as published by the Perl Foundation, -# either version 1.0 of the License, or (at your option) any later version. -# -# You should have received a copy of the Perl Artistic License along -# with this program. If not, see . - -# core {{{1 -BLK 38;5;68 -CAPABILITY 38;5;17 -CHR 38;5;113;1 -DIR 38;5;30 -DOOR 38;5;127 -EXEC 38;5;208;1 -FIFO 38;5;126 -FILE 0 -LINK target -MULTIHARDLINK 38;5;222;1 -# "NORMAL don't reset the bold attribute - -# https://github.com/trapd00r/LS_COLORS/issues/11 -#NORMAL 38;5;254 -NORMAL 0 -ORPHAN 48;5;196;38;5;232;1 -OTHER_WRITABLE 38;5;220;1 -SETGID 48;5;3;38;5;0 -SETUID 38;5;220;1;3;100;1 -SOCK 38;5;197 -STICKY 38;5;86;48;5;234 -STICKY_OTHER_WRITABLE 48;5;235;38;5;139;3 - -*LS_COLORS 48;5;89;38;5;197;1;3;4;7 # :-) -# }}} -# documents {{{1 -*README 38;5;220;1 -*README.rst 38;5;220;1 -*README.md 38;5;220;1 -*LICENSE 38;5;220;1 -*COPYING 38;5;220;1 -*INSTALL 38;5;220;1 -*COPYRIGHT 38;5;220;1 -*AUTHORS 38;5;220;1 -*HISTORY 38;5;220;1 -*CONTRIBUTORS 38;5;220;1 -*PATENTS 38;5;220;1 -*VERSION 38;5;220;1 -*NOTICE 38;5;220;1 -*CHANGES 38;5;220;1 -.log 38;5;190 -# plain-text {{{2 -.txt 38;5;253 -# markup {{{2 -.etx 38;5;184 -.info 38;5;184 -.markdown 38;5;184 -.md 38;5;184 -.mkd 38;5;184 -.nfo 38;5;184 -.pod 38;5;184 -.rst 38;5;184 -.tex 38;5;184 -.textile 38;5;184 -# key-value, non-relational data {{{2 -.bib 38;5;178 -.json 38;5;178 -.jsonl 38;5;178 -.jsonnet 38;5;178 -.libsonnet 38;5;142 -.ndjson 38;5;178 -.msg 38;5;178 -.pgn 38;5;178 -.rss 38;5;178 -.xml 38;5;178 -.fxml 38;5;178 -.toml 38;5;178 -.yaml 38;5;178 -.yml 38;5;178 -.RData 38;5;178 -.rdata 38;5;178 -.xsd 38;5;178 -.dtd 38;5;178 -.sgml 38;5;178 -.rng 38;5;178 -.rnc 38;5;178 -# }}} -# binary {{{2 -.cbr 38;5;141 -.cbz 38;5;141 -.chm 38;5;141 -.djvu 38;5;141 -.pdf 38;5;141 -.PDF 38;5;141 -.mobi 38;5;141 -.epub 38;5;141 -# words {{{3 -.docm 38;5;111;4 -.doc 38;5;111 -.docx 38;5;111 -.odb 38;5;111 -.odt 38;5;111 -.rtf 38;5;111 -# presentation {{{3 -.odp 38;5;166 -.pps 38;5;166 -.ppt 38;5;166 -.pptx 38;5;166 -# Powerpoint show -.ppts 38;5;166 -# Powerpoint with enabled macros -.pptxm 38;5;166;4 -# Powerpoint show with enabled macros -.pptsm 38;5;166;4 -# spreadsheet {{{3 -.csv 38;5;78 -.tsv 38;5;78 -# Open document spreadsheet -.ods 38;5;112 -.xla 38;5;76 -# Excel spreadsheet -.xls 38;5;112 -.xlsx 38;5;112 -# Excel spreadsheet with macros -.xlsxm 38;5;112;4 -# Excel module -.xltm 38;5;73;4 -.xltx 38;5;73 -# macOS office suite {{{3 -.pages 38;5;111 -.numbers 38;5;112 -.key 38;5;166 -# }}} -# }}} -# configs {{{2 -*config 1 -*cfg 1 -*conf 1 -*rc 1 -*authorized_keys 1 -*known_hosts 1 -.ini 1 -.plist 1 -# vim -.viminfo 1 -# cisco VPN client configuration -.pcf 1 -# adobe photoshop proof settings file -.psf 1 -# Sublime Text config -.hidden-color-scheme 1 -.hidden-tmTheme 1 -.last-run 1 -.merged-ca-bundle 1 -.sublime-build 1 -.sublime-commands 1 -.sublime-keymap 1 -.sublime-settings 1 -.sublime-snippet 1 -.sublime-project 1 -.sublime-workspace 1 -.tmTheme 1 -.user-ca-bundle 1 -# eclipse -.epf 1 -# }}} -# }}} -# code {{{1 -# version control {{{2 -.git 38;5;197 -.gitignore 38;5;240 -.gitattributes 38;5;240 -.gitmodules 38;5;240 - -# shell {{{2 -.awk 38;5;172 -.bash 38;5;172 -.bat 38;5;172 -.BAT 38;5;172 -.sed 38;5;172 -.sh 38;5;172 -.zsh 38;5;172 -.vim 38;5;172 -.kak 38;5;172 - -# interpreted {{{2 -.ahk 38;5;41 -# python -.py 38;5;41 -.ipynb 38;5;41 -# ruby -.rb 38;5;41 -.gemspec 38;5;41 -# perl -.pl 38;5;208 -.PL 38;5;160 -.t 38;5;114 -# sql -.msql 38;5;222 -.mysql 38;5;222 -.pgsql 38;5;222 -.sql 38;5;222 -# Tool Command Language -.tcl 38;5;64;1 -# R language -.r 38;5;49 -.R 38;5;49 -# GrADS script -.gs 38;5;81 -# Clojure -.clj 38;5;41 -.cljs 38;5;41 -.cljc 38;5;41 -# Clojure gorilla REPL worksheet -.cljw 38;5;41 -# Scala -.scala 38;5;41 -# Dart -.dart 38;5;51 - -# compiled {{{2 -# -# assembly language -.asm 38;5;81 -# LISP -.cl 38;5;81 -.lisp 38;5;81 -.rkt 38;5;81 -# lua -.lua 38;5;81 -# Moonscript -.moon 38;5;81 -# C -.c 38;5;81 -.C 38;5;81 -.h 38;5;110 -.H 38;5;110 -.tcc 38;5;110 -# C++ -.c++ 38;5;81 -.h++ 38;5;110 -.hpp 38;5;110 -.hxx 38;5;110 -.ii 38;5;110 -# method file for Objective C -.M 38;5;110 -.m 38;5;110 -# Csharp -.cc 38;5;81 -.cs 38;5;81 -.cp 38;5;81 -.cpp 38;5;81 -.cxx 38;5;81 -# Crystal -.cr 38;5;81 -# Google golang -.go 38;5;81 -# fortran -.f 38;5;81 -.F 38;5;81 -.for 38;5;81 -.ftn 38;5;81 -.f90 38;5;81 -.F90 38;5;81 -.f95 38;5;81 -.F95 38;5;81 -.f03 38;5;81 -.F03 38;5;81 -.f08 38;5;81 -.F08 38;5;81 -# Nim -.nim 38;5;81 -.nimble 38;5;81 -# pascal -.s 38;5;110 -.S 38;5;110 -# Rust -.rs 38;5;81 -# AppleScript -.scpt 38;5;219 -# Swift -.swift 38;5;219 -# ? -.sx 38;5;81 -# Vala -.vala 38;5;81 -.vapi 38;5;81 -# interface file in GHC - https://github.com/trapd00r/LS_COLORS/pull/9 -.hi 38;5;110 -# haskell -.hs 38;5;81 -.lhs 38;5;81 -# agda -.agda 38;5;81 -.lagda 38;5;81 -.lagda.tex 38;5;81 -.lagda.rst 38;5;81 -.lagda.md 38;5;81 -.agdai 38;5;110 -# Zig -.zig 38;5;81 -# V -.v 38;5;81 - -# binaries {{{2 -# compiled apps for interpreted languages -.pyc 38;5;240 -# }}} -# orchestration {{{2 -.tf 38;5;168 -.tfstate 38;5;168 -.tfvars 38;5;168 -# orchestration 2}}} -# html {{{2 -.css 38;5;125;1 -.less 38;5;125;1 -.sass 38;5;125;1 -.scss 38;5;125;1 -.htm 38;5;125;1 -.html 38;5;125;1 -.jhtm 38;5;125;1 -.mht 38;5;125;1 -.eml 38;5;125;1 -.mustache 38;5;125;1 -# }}} -# java {{{2 -.coffee 38;5;074;1 -.java 38;5;074;1 -.js 38;5;074;1 -.mjs 38;5;074;1 -.jsm 38;5;074;1 -.jsp 38;5;074;1 -# }}} -# php {{{2 -.php 38;5;81 -# CakePHP view scripts and helpers -.ctp 38;5;81 -# Twig template engine -.twig 38;5;81 -# }}} -# vb/a {{{2 -.vb 38;5;81 -.vba 38;5;81 -.vbs 38;5;81 -# 2}}} -# Build stuff {{{2 -*Dockerfile 38;5;155 -.dockerignore 38;5;240 -*Makefile 38;5;155 -*MANIFEST 38;5;243 -*pm_to_blib 38;5;240 -# Functional Configuration -.nix 38;5;155 -.dhall 38;5;178 -# ruby rake -.rake 38;5;155 -# automake -.am 38;5;242 -.in 38;5;242 -.hin 38;5;242 -.scan 38;5;242 -.m4 38;5;242 -.old 38;5;242 -.out 38;5;242 -.SKIP 38;5;244 -# }}} -# patch files {{{2 -.diff 48;5;197;38;5;232 -.patch 48;5;197;38;5;232;1 -#}}} -# graphics {{{1 -.bmp 38;5;97 -.dicom 38;5;97 -.tiff 38;5;97 -.tif 38;5;97 -.TIFF 38;5;97 -.cdr 38;5;97 -.flif 38;5;97 -.gif 38;5;97 -.icns 38;5;97 -.ico 38;5;97 -.jpeg 38;5;97 -.JPG 38;5;97 -.jpg 38;5;97 -.nth 38;5;97 -.png 38;5;97 -.psd 38;5;97 -.pxd 38;5;97 -.pxm 38;5;97 -.xpm 38;5;97 -.webp 38;5;97 -# }}} -# vector {{{1 -.ai 38;5;99 -.eps 38;5;99 -.epsf 38;5;99 -.drw 38;5;99 -.ps 38;5;99 -.svg 38;5;99 -# }}} -# video {{{1 -.avi 38;5;114 -.divx 38;5;114 -.IFO 38;5;114 -.m2v 38;5;114 -.m4v 38;5;114 -.mkv 38;5;114 -.MOV 38;5;114 -.mov 38;5;114 -.mp4 38;5;114 -.mpeg 38;5;114 -.mpg 38;5;114 -.ogm 38;5;114 -.rmvb 38;5;114 -.sample 38;5;114 -.wmv 38;5;114 - # mobile/streaming {{{2 -.3g2 38;5;115 -.3gp 38;5;115 -.gp3 38;5;115 -.webm 38;5;115 -.gp4 38;5;115 -.asf 38;5;115 -.flv 38;5;115 -.ts 38;5;115 -.ogv 38;5;115 -.f4v 38;5;115 - # }}} - # lossless {{{2 -.VOB 38;5;115;1 -.vob 38;5;115;1 -# }}} -# subtitles {{{1 -.ass 38;5;117 -.srt 38;5;117 -.ssa 38;5;117 -.sub 38;5;117 -.sup 38;5;117 # bitmap image track -.vtt 38;5;117 -#}}} -# audio {{{1 -.3ga 38;5;137;1 -.S3M 38;5;137;1 -.aac 38;5;137;1 -.amr 38;5;137;1 -.au 38;5;137;1 -.caf 38;5;137;1 -.dat 38;5;137;1 -.dts 38;5;137;1 -.fcm 38;5;137;1 -.m4a 38;5;137;1 -.mod 38;5;137;1 -.mp3 38;5;137;1 -.mp4a 38;5;137;1 -.oga 38;5;137;1 -.ogg 38;5;137;1 -.opus 38;5;137;1 -.s3m 38;5;137;1 -.sid 38;5;137;1 -.wma 38;5;137;1 -# lossless -.ape 38;5;136;1 -.aiff 38;5;136;1 -.cda 38;5;136;1 -.flac 38;5;136;1 -.alac 38;5;136;1 -.mid 38;5;136;1 -.midi 38;5;136;1 -.pcm 38;5;136;1 -.wav 38;5;136;1 -.wv 38;5;136;1 -.wvc 38;5;136;1 - -# }}} -# fonts {{{1 -.afm 38;5;66 -.fon 38;5;66 -.fnt 38;5;66 -.pfb 38;5;66 -.pfm 38;5;66 -.ttf 38;5;66 -.otf 38;5;66 -# Web Open Font Format -.woff 38;5;66 -.woff2 38;5;66 -# postscript fonts -.PFA 38;5;66 -.pfa 38;5;66 -# }}} -# archives {{{1 -.7z 38;5;40 -.a 38;5;40 -.arj 38;5;40 -.bz2 38;5;40 -.cpio 38;5;40 -.gz 38;5;40 -.lrz 38;5;40 -.lz 38;5;40 -.lzma 38;5;40 -.lzo 38;5;40 -.rar 38;5;40 -.s7z 38;5;40 -.sz 38;5;40 -.tar 38;5;40 -.tgz 38;5;40 -.warc 38;5;40 -.WARC 38;5;40 -.xz 38;5;40 -.z 38;5;40 -.zip 38;5;40 -.zipx 38;5;40 -.zoo 38;5;40 -.zpaq 38;5;40 -.zst 38;5;40 -.zstd 38;5;40 -.zz 38;5;40 - # packaged apps {{{2 -.apk 38;5;215 -.ipa 38;5;215 -.deb 38;5;215 -.rpm 38;5;215 -.jad 38;5;215 -.jar 38;5;215 -.cab 38;5;215 -.pak 38;5;215 -.pk3 38;5;215 -.vdf 38;5;215 -.vpk 38;5;215 -.bsp 38;5;215 -.dmg 38;5;215 - # }}} - # segments from 0 to three digits after first extension letter {{{2 -.r[0-9]{0,2} 38;5;239 -.zx[0-9]{0,2} 38;5;239 -.z[0-9]{0,2} 38;5;239 -# partial files -.part 38;5;239 - # }}} -# partition images {{{2 -.iso 38;5;124 -.bin 38;5;124 -.nrg 38;5;124 -.qcow 38;5;124 -.sparseimage 38;5;124 -.toast 38;5;124 -.vcd 38;5;124 -.vmdk 38;5;124 -# }}} -# databases {{{2 -.accdb 38;5;60 -.accde 38;5;60 -.accdr 38;5;60 -.accdt 38;5;60 -.db 38;5;60 -.fmp12 38;5;60 -.fp7 38;5;60 -.localstorage 38;5;60 -.mdb 38;5;60 -.mde 38;5;60 -.sqlite 38;5;60 -.typelib 38;5;60 -# NetCDF database -.nc 38;5;60 -# }}} -# tempfiles {{{1 -# undo files -.pacnew 38;5;33 -.un~ 38;5;241 -.orig 38;5;241 -# backups -.BUP 38;5;241 -.bak 38;5;241 -.o 38;5;241 # *nix Object file (shared libraries, core dumps etc) -*core 38;5;241 # Linux user core dump file (from /proc/sys/kernel/core_pattern) -.mdump 38;5;241 # Mini DuMP crash report -.rlib 38;5;241 # Static rust library -.dll 38;5;241 # dynamic linked library -# temporary files -.swp 38;5;244 -.swo 38;5;244 -.tmp 38;5;244 -.sassc 38;5;244 -# state files -.pid 38;5;248 -.state 38;5;248 -*lockfile 38;5;248 -*lock 38;5;248 -# error logs -.err 38;5;160;1 -.error 38;5;160;1 -.stderr 38;5;160;1 -# state dumps -.aria2 38;5;241 -.dump 38;5;241 -.stackdump 38;5;241 -.zcompdump 38;5;241 -.zwc 38;5;241 -# tcpdump, network traffic capture -.pcap 38;5;29 -.cap 38;5;29 -.dmp 38;5;29 -# macOS -.DS_Store 38;5;239 -.localized 38;5;239 -.CFUserTextEncoding 38;5;239 -# }}} -# hosts {{{1 -# /etc/hosts.{deny,allow} -.allow 38;5;112 -.deny 38;5;196 -# }}} -# systemd {{{1 -# http://www.freedesktop.org/software/systemd/man/systemd.unit.html -.service 38;5;45 -*@.service 38;5;45 -.socket 38;5;45 -.swap 38;5;45 -.device 38;5;45 -.mount 38;5;45 -.automount 38;5;45 -.target 38;5;45 -.path 38;5;45 -.timer 38;5;45 -.snapshot 38;5;45 -# }}} -# metadata {{{1 -.application 38;5;116 -.cue 38;5;116 -.description 38;5;116 -.directory 38;5;116 -.m3u 38;5;116 -.m3u8 38;5;116 -.md5 38;5;116 -.properties 38;5;116 -.sfv 38;5;116 -.theme 38;5;116 -.torrent 38;5;116 -.urlview 38;5;116 -.webloc 38;5;116 -.lnk 38;5;39 -# }}} -# macOS files {{{1 -*CodeResources 38;5;239 # code signing apps -*PkgInfo 38;5;239 # app bundle id -.nib 38;5;57 # UI -.car 38;5;57 # asset catalog -.dylib 38;5;241 # shared lib -# Xcode files {{{2 -.entitlements 1 -.pbxproj 1 -.strings 1 -.storyboard 38;5;196 -.xcconfig 1 -.xcsettings 1 -.xcuserstate 1 -.xcworkspacedata 1 -.xib 38;5;208 -# }}} -# }}} -# encrypted data {{{1 -.asc 38;5;192;3 -.bfe 38;5;192;3 -.enc 38;5;192;3 -.gpg 38;5;192;3 -.signature 38;5;192;3 -.sig 38;5;192;3 -.p12 38;5;192;3 -.pem 38;5;192;3 -.pgp 38;5;192;3 -.p7s 38;5;192;3 -*id_dsa 38;5;192;3 -*id_rsa 38;5;192;3 -*id_ecdsa 38;5;192;3 -*id_ed25519 38;5;192;3 -# 1}}} -# emulators {{{1 -.32x 38;5;213 -.cdi 38;5;213 -.fm2 38;5;213 -.rom 38;5;213 -.sav 38;5;213 -.st 38;5;213 - # atari -.a00 38;5;213 -.a52 38;5;213 -.A64 38;5;213 -.a64 38;5;213 -.a78 38;5;213 -.adf 38;5;213 -.atr 38;5;213 - # nintendo -.gb 38;5;213 -.gba 38;5;213 -.gbc 38;5;213 -.gel 38;5;213 -.gg 38;5;213 -.ggl 38;5;213 -.ipk 38;5;213 # Nintendo (DS Packed Images) -.j64 38;5;213 -.nds 38;5;213 -.nes 38;5;213 - # Sega -.sms 38;5;213 -# }}} -# Texas Instruments Calculator files {{{1 -# for more see http://tibasicdev.wikidot.com/file-extensions -.8xp 38;5;121 -.8eu 38;5;121 -.82p 38;5;121 -.83p 38;5;121 -.8xe 38;5;121 -# }}} -# 3D printing {{{1 -.stl 38;5;216 -.dwg 38;5;216 -.ply 38;5;216 -.wrl 38;5;216 -# }}} -# unsorted {{{1 -# -# Portable Object Translation for GNU Gettext -.pot 38;5;7 -# CAD files for printed circuit boards -.pcb 38;5;7 -# groff (rendering app for texinfo) -.mm 38;5;7 -# GIMP files -.gbr 38;5;7 -.scm 38;5;7 -.xcf 38;5;7 -# printer spool file -.spl 38;5;7 -# RStudio project file -.Rproj 38;5;11 -# Nokia Symbian OS files -.sis 38;5;7 - -.1p 38;5;7 -.3p 38;5;7 -.cnc 38;5;7 -.def 38;5;7 -.ex 38;5;7 -.example 38;5;7 -.feature 38;5;7 -.ger 38;5;7 -.ics 38;5;7 # calendar information -.map 38;5;7 -.mf 38;5;7 -.mfasl 38;5;7 -.mi 38;5;7 -.mtx 38;5;7 -.pc 38;5;7 -.pi 38;5;7 -.plt 38;5;7 -.pm 38;5;7 -.rdf 38;5;7 -.ru 38;5;7 -.sch 38;5;7 -.sty 38;5;7 -.sug 38;5;7 -.tdy 38;5;7 -.tfm 38;5;7 -.tfnt 38;5;7 -.tg 38;5;7 -.vcard 38;5;7 -.vcf 38;5;7 #contact information -.xln 38;5;7 -# AppCode files -.iml 38;5;166 -# }}} -# termcap {{{1 -TERM ansi -TERM color-xterm -TERM con132x25 -TERM con132x30 -TERM con132x43 -TERM con132x60 -TERM con80x25 -TERM con80x28 -TERM con80x30 -TERM con80x43 -TERM con80x50 -TERM con80x60 -TERM cons25 -TERM console -TERM cygwin -TERM dtterm -TERM Eterm -TERM eterm-color -TERM gnome -TERM gnome-256color -TERM jfbterm -TERM konsole -TERM kterm -TERM linux -TERM linux-c -TERM mach-color -TERM mlterm -TERM putty -TERM rxvt -TERM rxvt-256color -TERM rxvt-cygwin -TERM rxvt-cygwin-native -TERM rxvt-unicode -TERM rxvt-unicode-256color -TERM rxvt-unicode256 -TERM screen -TERM screen-256color -TERM screen-256color-bce -TERM screen-bce -TERM screen-w -TERM screen.linux -TERM screen.rxvt -TERM terminator -TERM vt100 -TERM xterm -TERM xterm-16color -TERM xterm-256color -TERM xterm-88color -TERM xterm-color -TERM xterm-debian -TERM xterm-kitty -# }}} - - -# vim: ft=dircolors:fdm=marker:et:sw=2: diff --git a/.config/ghorg/conf.yaml b/.config/ghorg/conf.yaml deleted file mode 100644 index 39c0456e..00000000 --- a/.config/ghorg/conf.yaml +++ /dev/null @@ -1,219 +0,0 @@ ---- -# +-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+ -# |G|E|N|E|R|A|L| |C|O|N|F|I|G|U|R|A|T|I|O|N| -# +-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+ - -# Which provider to clone from (github, gitlab, gitea or bitbucket) -# default: github -# flag (--scm, -s) eg: --scm=gitlab -GHORG_SCM_TYPE: github - -# How you'd like to clone the repos (https or ssh) -# default: https -# flag (--protocol) eg: --protocol=https -GHORG_CLONE_PROTOCOL: https - -# This is where your ghorg directory will be created, use absolute pathing, shell expansions will not work. -# The ghorg directory is the home for all ghorg clones -# See https://github.com/gabrie30/ghorg#changing-clone-directories for example -# default: YOUR_HOME_DIR/ghorg -# flag (--path, -p) eg: --path=/tmp/ghorg -GHORG_ABSOLUTE_PATH_TO_CLONE_TO: - -# Folder ghorg will clone all repos into. Cloning will result in: GHORG_ABSOLUTE_PATH_TO_CLONE_TO/GHORG_OUTPUT_DIR/repo -# See https://github.com/gabrie30/ghorg#changing-clone-directories for example -# default: org/user you are cloning, e.g. 'ghorg clone kubernetes' would create a kubernetes directory inside your ghorg directory -# flag (--output-dir) eg: --output-dir=testing -GHORG_OUTPUT_DIR: - -# Type of entity to clone (user or org) -# flag (--clone-type, -c) eg: --clone-type=user -GHORG_CLONE_TYPE: org - -# Change SCM api base url, this is for on self hosted scm instances only -# For http gitlab instances see GHORG_INSECURE_GITLAB_CLIENT -# default: github/gitlab/bitbucket public apis -# flag (--base-url) eg: --base-url=https://my.self.hosted.scm.instance.com -GHORG_SCM_BASE_URL: - -# Include submodules in all clone and pull operations. -# flag (--include-submodules) -GHORG_INCLUDE_SUBMODULES: false - -# Allows you to pass arguments to git's filter flag e.g. git clone --filter= this requires git version 2.19 or greater. -# Useful for filtering out binary objects from repos -# Few caveats, only works on inital clones, however if done on inital clone all subsequent clones will also honor the settings. -# More info at https://stackoverflow.com/questions/49917616/what-is-the-git-clone-filter-options-syntax -# flag (--git-filter) eg: --git-filter=blob:none -GHORG_GIT_FILTER: - -# Deletes all files/directories found in your local clone directory that are not found on the remote (e.g., after remote deletion). With GHORG_SKIP_ARCHIVED set, archived repositories will also be pruned from your local clone. -# Will prompt before deleting any files unless used in combination with --prune-no-confirm -# flag (--prune) -GHORG_PRUNE: false - -# Skip interactive y/n prompt when pruning clones (can only be used in combination with --prune). -# flag (--prune-no-confirm) -GHORG_PRUNE_NO_CONFIRM: false - -# Color output (enabled, disabled) -# flag (--color) eg: --color=disabled -GHORG_COLOR: disabled - -# Skip archived repos, currently github/gitlab/gitea only -# flag (--skip-archived) -GHORG_SKIP_ARCHIVED: false - -# Skip repos that are forks, currently github/gitlab/gitea only -# flag (--skip-forks) -GHORG_SKIP_FORKS: false - -# Backup mode, clone as mirror, no working copy (ignores branch parameter) -# flag (--backup) -GHORG_BACKUP: false - -# Max goroutines created while cloning -# flag (--concurrency) -GHORG_CONCURRENCY: 25 - -# A comma separated list of topics to filter by, currently github/gitlab/gitea only -# flag (--topics) eg: --topics=frontend -# If any topics exist here, ghorg will only clone repos that match at least one of these topics -GHORG_TOPICS: - -# Only clone repos with matching prefix, can be a comma separated list -# flag (--match-prefix) eg: --match-prefix=backend -GHORG_MATCH_PREFIX: - -# Exclude cloning repos with matching prefix, can be a comma separated list -# flag (--exclude-match-prefix) eg: --exclude-match-prefix=backend -GHORG_EXCLUDE_MATCH_PREFIX: - -# Only clone repos that match name to regex provided -# flag (--match-regex) eg: --match-regex=^foo -GHORG_MATCH_REGEX: - -# Exclude cloning repos that match name to regex provided -# flag (--exclude-match-regex) eg: --exclude-match-regex=^foo -GHORG_EXCLUDE_MATCH_REGEX: - -# Only clones new repos and does not perform a git clean on existing repos. Useful if you don't want to lose changes made to repos in the org/user directory. -# flag (--no-clean) -GHORG_NO_CLEAN: false - -# Additionally clone the wiki page for repo -# flag (--clone-wiki) -GHORG_CLONE_WIKI: false - -# Fetches all remote branches for each repo by running a git fetch --all -# flag (--fetch-all) -GHORG_FETCH_ALL: false - -# If you want to set a path other than $HOME/.config/ghorg/ghorgignore for your ghorgignore -# flag (--ghorgignore-path) -GHORG_IGNORE_PATH: - -# Only emit critical output. -# flag (--quiet) -GHORG_QUIET: false - -# Perform a dry run of the clone; fetches repos but does not clone them. -# flag (--dry-run) -GHORG_DRY_RUN: false - -# Branch ghorg resets and leaves checked out -# default: default branch -# NOTE: if no default branch is found on the repo, will fallback to using master -# flag (--branch, -b) eg: --branch=develop -GHORG_BRANCH: - -# Allows you to control the exit code when ghorg runs into a problem (info level message) cloning a repo from the remote. -# Info messages will appear after a clone is complete, similar to success messages -# flag (--exit-code-on-clone-infos) -GHORG_EXIT_CODE_ON_CLONE_INFOS: 0 - -# Allows you to control the exit code when ghorg runs into a problem (issue level message) cloning a repo from the remote. -# Issue messages will appear after a clone is complete, similar to success messages. -# flag (--exit-code-on-clone-issues) -GHORG_EXIT_CODE_ON_CLONE_ISSUES: 1 - -# Specifies the location of your ghorg conf.yaml, allowing you to have many configuration files, or none at all -# default: ghorg looks in $HOME/.config/ghorg/conf.yaml, if not set in that location nor as a commandline flag, ghorg will use all default values -# NOTE: this cannot be set in the configuration file. Its supported through CLI flag and ENV var only. -# flag (--config) -# GHORG_CONFIG: - -# +-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ -# |G|I|T|H|U|B| |S|P|E|C|I|F|I|C| -# +-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ - -# Add your GitHub token -# flag (--token, -t) eg: --token=bGVhdmUgYSBjb21tZW50IG9uIGlzc3VlIDY2 -GHORG_GITHUB_TOKEN: - -# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -# |G|I|T|L|A|B| |S|P|E|C|I|F|I|C| -# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - -# Add your GitLab token -# flag (--token, -t) eg: --token=bGVhdmUgYSBjb21tZW50IG9uIGlzc3VlIDY2 -GHORG_GITLAB_TOKEN: - -# clones repos in a directory structure that matches gitlab namespaces eg company/unit/subunit/app would clone into ghorg/org/unit/subunit/app -# flag (--preserve-dir) -GHORG_PRESERVE_DIRECTORY_STRUCTURE: false - -# Skip TLS certificate verification for hosted gitlab instances -# flag (--insecure-gitlab-client) -GHORG_INSECURE_GITLAB_CLIENT: - -# Exclude gitlab groups by regex -# flag (--gitlab-group-exclude-match-regex) -GHORG_GITLAB_GROUP_EXCLUDE_MATCH_REGEX: - -# +-+-+-+-+-+ +-+-+-+-+-+-+-+-+ -# |G|I|T|E|A| |S|P|E|C|I|F|I|C| -# +-+-+-+-+-+ +-+-+-+-+-+-+-+-+ - -# Add your Gitea token -# Settings -> Applications -> Generate Token -# flag (--token, -t) eg: --token=bGVhdmUgYSBjb21tZW50IG9uIGlzc3VlIDY2 -GHORG_GITEA_TOKEN: - -# +-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ -# |B|I|T|B|U|C|K|E|T| |S|P|E|C|I|F|I|C| -# +-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ - -# When using this OAuth/PAT token, do not set the bitbucket username flag. Do not set both this value and the GHORG_BITBUCKET_APP_PASSWORD -# https://confluence.atlassian.com/bitbucketserver/personal-access-tokens-939515499.html -# flag (--token, -t) eg: --token=bGVhdmUgYSBjb21tZW50IG9uIGlzc3VlIDY2 -GHORG_BITBUCKET_OAUTH_TOKEN: - -# Add your Bitbucket app password. Do not set both this value and the GHORG_BITBUCKET_OAUTH_TOKEN -# https://confluence.atlassian.com/bitbucket/app-passwords-828781300.html -# flag (--token, -t) eg: --token=bGVhdmUgYSBjb21tZW50IG9uIGlzc3VlIDY2 -GHORG_BITBUCKET_APP_PASSWORD: - -# Used with GHORG_BITBUCKET_APP_PASSWORD. Should not be set when using GHORG_BITBUCKET_OAUTH_TOKEN -# flag (--bitbucket-username) eg: --bitbucket-username=user123 -GHORG_BITBUCKET_USERNAME: - -# +-+-+-+-+-+ +-+-+-+-+-+-+-+ -# |G|H|O|R|G| |R|E|C|L|O|N|E| -# +-+-+-+-+-+ +-+-+-+-+-+-+-+ - -# Configuration for ghorg reclone command -# See https://github.com/gabrie30/ghorg#reclone-command for more information on how to setup and use - -# If set allows you to specify the location of your reclone.yaml -# Defaults to $HOME/.config/ghorg/reclone.yaml -# flag (--reclone-path) -GHORG_RECLONE_PATH: - -# Get more verbose logging with reclone command -# flag (--verbose) -GHORG_RECLONE_VERBOSE: false - -# Quiet logging output with reclone command -# flag (--quiet) -GHORG_RECLONE_QUIET: false diff --git a/.config/git/attributes b/.config/git/attributes deleted file mode 100644 index e69de29b..00000000 diff --git a/.config/himalaya/config.toml b/.config/himalaya/config.toml deleted file mode 100644 index 556dab61..00000000 --- a/.config/himalaya/config.toml +++ /dev/null @@ -1,60 +0,0 @@ -display-name = "Paul DURANT" -downloads-dir = "~/Downloads" -signature = "Cordialement,\nPaul DURANT" -email-listing-page-size = 50 - -[gmail] -default = true -email = "p.durant@gmail.com" - -backend = "imap" -imap-host = "imap.gmail.com" -imap-port = 993 -imap-login = "p.durant@gmail.com" -imap-passwd-cmd = "pass show gmail" - -sender = "smtp" -smtp-host = "smtp.gmail.com" -smtp-port = 465 -smtp-login = "p.durant@gmail.com" -smtp-passwd-cmd = "pass show gmail" - -[gmail.folder-aliases] -sent = "[Gmail]/Sent Mail" -drafts = "[Gmail]/Drafts" - -[outlook] -email = "pdurant@outlook.com" -email-listing-page-size = 25 -signature = """ -Regards, -Paul DURANT -Sent from Outlook -""" - -sender = "sendmail" -sendmail-cmd = "/usr/bin/msmtp" - -backend = "imap" -imap-host = "outlook.office365.com" -imap-port = 993 -imap-login = "pdurant@outlook.com" -imap-passwd-cmd = "security find-internet-password -gs outlook -w" - -[posteo-local] -email = "paul.durant@localhost" -display-name = "Paul D." -downloads-dir = "~/Downloads/posteo" - -backend = "maildir" -maildir-root-dir = "~/Maildir" - -sender = "smtp" -smtp-host = "posteo.de" -smtp-port = 465 -smtp-login = "paul.durant@posteo.com" -smtp-passwd-cmd = "security find-internet-password -gs posteo -w" - -[posteo-local.mailboxes] -sent = "Sent" # points to ~/Maildir/.Sent -drafts = "~/Maildir/custom/drafts" \ No newline at end of file diff --git a/.config/kactivitymanagerdrc b/.config/kactivitymanagerdrc deleted file mode 100644 index 2468d7d7..00000000 --- a/.config/kactivitymanagerdrc +++ /dev/null @@ -1,29 +0,0 @@ -[activities] -04d7cd19-ecc3-44be-a8fc-798b7de54897=Fedora -18e6a400-7ecc-4f72-9e6a-4e438c771dc5=Ubuntu -50b1ad0b-bf48-42be-9204-b01493c35d8b=Windows -5b446b3b-9b08-4b3d-9afe-dc753f3a710e=Qubes -8bf397ae-a194-4deb-97b9-e937c3ddc0a9=Debian -8f1051f7-65fb-4f46-80bb-f1c672949c61=Archlinux -f7333f42-4e75-4952-8802-c68f6c266a7d=macOS - -[activities-descriptions] -04d7cd19-ecc3-44be-a8fc-798b7de54897=Fedora 37 desktop -18e6a400-7ecc-4f72-9e6a-4e438c771dc5=Ubuntu 22.04 desktop -50b1ad0b-bf48-42be-9204-b01493c35d8b=Windows 11 desktop -5b446b3b-9b08-4b3d-9afe-dc753f3a710e=Qubes 4.1 desktop -8bf397ae-a194-4deb-97b9-e937c3ddc0a9=Debian 11 desktop -8f1051f7-65fb-4f46-80bb-f1c672949c61=Archlinux desktop -f7333f42-4e75-4952-8802-c68f6c266a7d=macOS Monterey desktop - -[activities-icons] -04d7cd19-ecc3-44be-a8fc-798b7de54897=distributor-logo-fedora -18e6a400-7ecc-4f72-9e6a-4e438c771dc5=distributor-logo-ubuntu -50b1ad0b-bf48-42be-9204-b01493c35d8b=windows-logo -5b446b3b-9b08-4b3d-9afe-dc753f3a710e=qubes-logo-icon -8bf397ae-a194-4deb-97b9-e937c3ddc0a9=distributor-logo-debian -8f1051f7-65fb-4f46-80bb-f1c672949c61=distributor-logo-archlinux -f7333f42-4e75-4952-8802-c68f6c266a7d=macos-logo - -[main] -currentActivity=5b446b3b-9b08-4b3d-9afe-dc753f3a710e diff --git a/.config/misc/.tmux.themer b/.config/misc/.tmux.themer deleted file mode 100644 index edbd2271..00000000 --- a/.config/misc/.tmux.themer +++ /dev/null @@ -1,76 +0,0 @@ -# -# Powerline Themer Block - Tmux Theme -# Originally created by Jim Myhrberg . -# Modified for use by Themer by Tom Selvi . -# -# Inspired by vim-powerline: https://github.com/Lokaltog/powerline -# -# Requires terminal to be using a powerline compatible font, find one here: -# https://github.com/Lokaltog/powerline-fonts -# - -# Status update interval -set -g status-interval 1 - -# Basic status bar colors -set -g status-fg "#60646f" -set -g status-bg "#2f323e" - -# Left side of status bar -set -g status-left-bg "#2f323e" -set -g status-left-fg "#9295a0" -set -g status-left-length 40 -set -g status-left "#[fg=#161925,bg=#ed254e,bold] #S #[fg=#ed254e,bg=#797c87,nobold]#[fg=#2f323e,bg=#797c87] #(whoami) #[fg=#797c87,bg=#474b56]#[fg=#797c87,bg=#474b56] #I:#P #[fg=#474b56,bg=#2f323e,nobold]" - -# Right side of status bar -set -g status-right-bg "#2f323e" -set -g status-right-fg "#9295a0" -set -g status-right-length 150 -set -g status-right "#[fg=#474b56,bg=#2f323e]#[fg=#797c87,bg=#474b56] %H:%M:%S #[fg=#797c87,bg=#474b56]#[fg=#2f323e,bg=#797c87] %d-%b-%y #[fg=#aaaeb8,bg=#797c87]#[fg=#161925,bg=#aaaeb8,bold] #H " - -# Window status -set -g window-status-format "#[fg=#c3c7d1]#[bg=#2f323e] #I:#W#F " -set -g window-status-current-format "#[fg=#dcdfe4,bg=black] #I:#W#F " - -# Current window status -set -g window-status-current-bg "#ed254e" -set -g window-status-current-fg "#161925" - -# Window with activity status -set -g window-status-activity-bg "#dcdfe4" # fg and bg are flipped here due to -set -g window-status-activity-fg "#2f323e" # a bug in tmux - -# Window separator -set -g window-status-separator "" - -# Window status alignment -set -g status-justify centre - -# Pane border -set -g pane-border-bg default -set -g pane-border-fg "#60646f" - -# Active pane border -set -g pane-active-border-bg default -set -g pane-active-border-fg "#ed254e" - -# Pane number indicator -set -g display-panes-colour "#2f323e" -set -g display-panes-active-colour "#aaaeb8" - -# Clock mode -set -g clock-mode-colour "#ed254e" -set -g clock-mode-style 24 - -# Message -set -g message-bg "#ed254e" -set -g message-fg black - -# Command message -set -g message-command-bg "#2f323e" -set -g message-command-fg black - -# Mode -set -g mode-bg "#ed254e" -set -g mode-fg "#c3c7d1" - diff --git a/.config/misc/.warp/themes/betelgeuse_dark.yaml b/.config/misc/.warp/themes/betelgeuse_dark.yaml deleted file mode 100644 index e4ccce22..00000000 --- a/.config/misc/.warp/themes/betelgeuse_dark.yaml +++ /dev/null @@ -1,23 +0,0 @@ -accent: "#c3c7d1" -background: "#161925" -foreground: "#c3c7d1" -details: "darker" -terminal_colors: - normal: - black: "#161925" - red: "#ed254e" - green: "#71f79f" - yellow: "#f9dc5c" - blue: "#7cb7ff" - magenta: "#c74d89" - cyan: "#00c1e4" - white: "#aaaeb8" - bright: - black: "#2f323e" - red: "#dcdfe4" - green: "#00c1e4" - yellow: "#f9dc5c" - blue: "#7cb7ff" - magenta: "#c74d89" - cyan: "#00c1e4" - white: "#c3c7d1" diff --git a/.config/misc/.warp/themes/betelgeuse_light.yaml b/.config/misc/.warp/themes/betelgeuse_light.yaml deleted file mode 100644 index 762a868d..00000000 --- a/.config/misc/.warp/themes/betelgeuse_light.yaml +++ /dev/null @@ -1,23 +0,0 @@ -accent: "#4c5058" -background: "#ffffff" -foreground: "#4c5058" -details: "lighter" -terminal_colors: - normal: - black: "#4c5058" - red: "#ff4972" - green: "#95ffc3" - yellow: "#ffff80" - blue: "#a0dbff" - magenta: "#eb71ad" - cyan: "#24e5ff" - white: "#e5e6e7" - bright: - black: "#666970" - red: "#dcdfe4" - green: "#24e5ff" - yellow: "#ffff80" - blue: "#a0dbff" - magenta: "#eb71ad" - cyan: "#24e5ff" - white: "#ffffff" diff --git a/.config/ngrok/ngrok.yml b/.config/ngrok/ngrok.yml deleted file mode 100644 index 63816db3..00000000 --- a/.config/ngrok/ngrok.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -# TODO -#authtoken: '{{ .Env.NGROK_AUTH_TOKEN }}' diff --git a/.config/powershell/takuya.omp.json b/.config/powershell/takuya.omp.json deleted file mode 100644 index 61011e48..00000000 --- a/.config/powershell/takuya.omp.json +++ /dev/null @@ -1,127 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json", - "final_space": false, - "osc99": true, - "blocks": [ - { - "type": "prompt", - "alignment": "left", - "segments": [ - { - "type": "shell", - "style": "diamond", - "leading_diamond": "╭─", - "trailing_diamond": "", - "foreground": "#ffffff", - "background": "#0077c2", - "properties": { - } - }, - { - "type": "root", - "style": "diamond", - "leading_diamond": "", - "trailing_diamond": "", - "foreground": "#FFFB38", - "background": "#ef5350", - "properties": { - "root_icon": "\uf292", - "prefix": "\uE0B0 " - } - }, - { - "type": "path", - "style": "powerline", - "powerline_symbol": "\uE0B0", - "foreground": "#E4E4E4", - "background": "#444444", - "properties": { - "style": "full", - "enable_hyperlink": true - } - }, - { - "type": "git", - "style": "powerline", - "powerline_symbol": "\uE0B0", - "foreground": "#011627", - "background": "#FFFB38", - "background_templates": [ - "{{ if or (.Working.Changed) (.Staging.Changed) }}#ffeb95{{ end }}", - "{{ if and (gt .Ahead 0) (gt .Behind 0) }}#c5e478{{ end }}", - "{{ if gt .Ahead 0 }}#C792EA{{ end }}", - "{{ if gt .Behind 0 }}#C792EA{{ end }}" - ], - "properties": { - "branch_icon": "\ue725 ", - "fetch_status": true, - "fetch_upstream_icon": true, - "template": "{{ .HEAD }} {{ if .Working.Changed }}{{ .Working.String }}{{ end }}{{ if and (.Working.Changed) (.Staging.Changed) }} |{{ end }}{{ if .Staging.Changed }}<#ef5350> \uF046 {{ .Staging.String }}{{ end }}" - } - } - ] - }, - { - "type": "prompt", - "alignment": "right", - "segments": [ - { - "type": "node", - "style": "diamond", - "leading_diamond": " \uE0B6", - "trailing_diamond": "\uE0B4", - "foreground": "#3C873A", - "background": "#303030", - "properties": { - "prefix": "\uE718 ", - "postfix": "", - "display_package_manager": true, - "yarn_icon": " <#348cba>", - "npm_icon": " <#cc3a3a> " - } - }, - { - "type": "time", - "style": "diamond", - "invert_powerline": true, - "leading_diamond": " \uE0B6", - "trailing_diamond": "\uE0B4", - "background": "#40c4ff", - "foreground": "#ffffff", - "properties": { - "prefix": " \uf5ef ", - "postfix": " " - } - } - ] - }, - { - "type": "prompt", - "alignment": "left", - "newline": true, - "segments": [ - { - "type": "text", - "style": "plain", - "foreground": "#21c7c7", - "properties": { - "prefix": "", - "postfix": "", - "text": "╰─" - } - }, - { - "type": "exit", - "style": "plain", - "foreground": "#e0f8ff", - "properties": { - "prefix": "\u276F", - "display_exit_code": false, - "always_enabled": true, - "error_color": "#ef5350" - } - } - ] - } - ] -} diff --git a/.config/powershell/user_profile.ps1 b/.config/powershell/user_profile.ps1 deleted file mode 100644 index bb241d11..00000000 --- a/.config/powershell/user_profile.ps1 +++ /dev/null @@ -1,43 +0,0 @@ -# set PowerShell to UTF-8 -[console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding - -Install-Module posh-git -Scope CurrentUser -Install-Module oh-my-posh -Scope CurrentUser -Install-Module -Name PSReadLine -AllowPrerelease -Scope CurrentUser -Force -SkipPublisherCheck -Set-Prompt - -Import-Module posh-git -Import-Module oh-my-posh -$omp_config = Join-Path $PSScriptRoot ".\takuya.omp.json" -oh-my-posh --init --shell pwsh --config $omp_config | Invoke-Expression -Set-Theme Paradox - -Import-Module -Name Terminal-Icons - -# PSReadLine -Set-PSReadLineOption -EditMode Vim -Set-PSReadLineOption -BellStyle None -Set-PSReadLineKeyHandler -Chord 'Ctrl+d' -Function DeleteChar -Set-PSReadLineOption -PredictionSource History - -# Fzf -Import-Module PSFzf -Set-PsFzfOption -PSReadlineChordProvider 'Ctrl+f' -PSReadlineChordReverseHistory 'Ctrl+r' - -### zoxide -Invoke-Expression (& { - $hook = if ($PSVersionTable.PSVersion.Major -lt 6) { 'prompt' } else { 'pwd' } - (zoxide init --hook $hook powershell | Out-String) -}) - -# Env -$env:GIT_SSH = "C:\Windows\system32\OpenSSH\ssh.exe" - -### Aliases -Set-Alias grep findstr - -### Utilities -function which ($command) { - Get-Command -Name $command -ErrorAction SilentlyContinue | - Select-Object -ExpandProperty Path -ErrorAction SilentlyContinue -} diff --git a/.config/ripgreprc b/.config/ripgreprc deleted file mode 100644 index b8f77d54..00000000 --- a/.config/ripgreprc +++ /dev/null @@ -1,21 +0,0 @@ -# Don't let ripgrep vomit really long lines to my terminal, and show a preview. ---max-columns=150 ---max-columns-preview - -# Add my 'web' type. ---type-add -web:*.{html,css,js}* - -# Using glob patterns to include/exclude files or folders ---glob=!git/* - -# or ---glob -!git/* - -# Set the colors. ---colors=line:none ---colors=line:style:bold - -# Because who cares about case!? ---smart-case diff --git a/.config/shell/.private b/.config/shell/.private deleted file mode 100644 index 3e87255b..00000000 --- a/.config/shell/.private +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env bash - -export LEXICON_CLOUDFLARE_USERNAME={{ .user.CLOUDFLARE_USERNAME }} - -export ANSIBLE_GALAXY_TOKEN="" -export ANSIBLE_VAULT_PASSWORD="" -export CLOUDSDK_CORE_PROJECT={{ .user.CLOUDSDK_CORE_PROJECT }} -export GCE_SERVICE_ACCOUNT_EMAIL={{ .user.GCE_SERVICE_ACCOUNT_EMAIL }} -export GCE_CREDENTIALS_FILE={{ .user.GCE_CREDENTIALS_FILE }} -export DOCKERHUB_TOKEN="" -export DOCKERHUB_REGISTRY_PASSWORD="$DOCKERHUB_TOKEN" -export GH_TOKEN="" -export GITHUB_TOKEN="$GH_TOKEN" -export GL_TOKEN="" -export GITLAB_TOKEN="$GL_TOKEN" -export HEROKU_API_KEY="" -export LEXICON_CLOUDFLARE_TOKEN="" -export NPM_TOKEN="" -export PYPI_TOKEN="" -export SNAPCRAFT_EMAIL={{ .user.SNAPCRAFT_EMAIL }} -export SNAPCRAFT_MACAROON="" -export SNAPCRAFT_UNBOUND_DISCHARGE="" -export VAGRANT_CLOUD_TOKEN="" - -export FULLY_AUTOMATED_TASKS=true diff --git a/.config/shell/functions b/.config/shell/functions deleted file mode 100644 index cbcd3f24..00000000 --- a/.config/shell/functions +++ /dev/null @@ -1,138 +0,0 @@ -# Install WebDriverAgent on iOS device -appiumwebdriver() { - # read -r "Enter the UDID of the device you wish to install WebDriverAgent on: " UDID_INPUT - mkdir -p Resources/WebDriverAgent.bundle - bash ./Scripts/bootstrap.sh -d - cd /Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-webdriveragent || return - xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination "id=${UDID_INPUT}" test -} - -asdf-update () { - asdf update > /dev/null 2>&1 - asdf plugin update --all > /dev/null 2>&1 - diff <(cat ~/.tool-versions | awk '{print $1}' | xargs -I {} bash -c 'echo {} $(asdf latest {})') <(cat ~/.tool-versions) -} - -# Change directories and view contents at the same time -cl() { - DIR="$*" - # if no DIR given, go home - if [ $# -lt 1 ]; then - DIR=$HOME - fi - builtin cd "${DIR}" && - # use your preferred ls command - ls -F --color=auto -} - -# Safer cp with progress bar and backup to /tmp -cpv() { - rsync -pogbr -hhh --backup-dir="/tmp/rsync-${USERNAME}" -e /dev/null --progress "$@" -} - -# Checks status of a website on downforeveryoneorjustme.com -down4me() { - curl -s "http://www.downforeveryoneorjustme.com/$1" | sed '/just you/!d;s/<[^>]*>//g' -} - -# Easier version of find command -find() { - if [ $# = 1 ]; then - # shellcheck disable=SC2145 - command find . -iname "*$@*" - else - command find "$@" - fi -} - -# Opens current repository in browser -gitopen() { - git remote -v | head -n 1 | awk -F "@" '{print $2}' | awk -F " " '{print $1}' | sed 's/:/\//g' | sed 's/.git//g' | awk '{print "http://"$1}' | xargs open -} - -# Open Mac OS X desktop on a Linux machine -macosx() { - docker run -it --device /dev/kvm -p 50922:10022 -v /tmp/.X11-unix:/tmp/.X11-unix -e "DISPLAY=${DISPLAY:-:0.0}" sickcodes/docker-osx:big-sur -} - -# Generate a random string of X length -randomstring() { - if [ -z "$1" ]; then - head /dev/urandom | tr -dc A-Za-z0-9 | head -c "$1" - else - echo "Pass the number of characters you would like the string to be. Example: randomstring 14" - fi -} - -# Reset Docker to factory settings -resetdocker() { - set +e - CONTAINER_COUNT="$(docker ps -a -q | wc -l)" - if [ "$CONTAINER_COUNT" -gt 0 ]; then - docker stop "$(docker ps -a -q)" - docker rm "$(docker ps -a -q)" - fi - VOLUME_COUNT="$(docker volume ls -q | wc -l)" - if [ "$VOLUME_COUNT" -gt 0 ]; then - docker volume rm "$(docker volume ls -q)" - fi - NETWORK_COUNT="$(docker network ls -q | wc -l)" - if [ "$NETWORK_COUNT" -gt 0 ]; then - docker network rm "$(docker network ls -q)" - fi - docker system prune -a --force -} - -# ripgrep-all -rgafzf() { - RG_PREFIX="rga --files-with-matches" - local file - file="$( - FZF_DEFAULT_COMMAND="$RG_PREFIX '$1'" \ - fzf --sort --preview="[[ ! -z {} ]] && rga --pretty --context 5 {q} {}" \ - --phony -q "$1" \ - --bind "change:reload:$RG_PREFIX {q}" \ - --preview-window="70%:wrap" - )" && - echo "opening $file" && - xdg-open "$file" -} - -# Easy file sharing from the command line, using transfer.sh -transfer() { - if [ $# -eq 0 ]; then - echo -e "No arguments specified.\nUsage:\n transfer \n ... | transfer " >&2 - return 1 - fi - if tty -s; then - file="$1" - file_name=$(basename "$file") - if [ ! -e "$file" ]; then - echo "$file: No such file or directory" >&2 - return 1 - fi - if [ -d "$file" ]; then - file_name="$file_name.zip" - (cd "$file" && zip -r -q - .) | curl --progress-bar --upload-file "-" "https://transfer.sh/$file_name" | tee /dev/null, - else - curl --progress-bar --upload-file "-" "https://transfer.sh/$file_name" <"$file" | tee /dev/null - fi - else - file_name=$1 - curl --progress-bar --upload-file "-" "https://transfer.sh/$file_name" | tee /dev/null - fi -} - -update-all() { - brew update - brew upgrade - brew upgrade --cask --greedy - brew cleanup --prune=1 - asdf update || true - asdf plugin-update --all - rustup self update || true - rustup update || true - npm update -g || true - chezmoi upgrade - z4h update -} diff --git a/.config/shell/motd b/.config/shell/motd deleted file mode 100644 index 5f45edcc..00000000 --- a/.config/shell/motd +++ /dev/null @@ -1,25 +0,0 @@ -### MOTD -# Add file named .hushlogin in the user's home directory to disable the MOTD -if [ "$BASH_SUPPORT" = 'true' ] && [ ! -f ~/.hushlogin ] && [ "$SHLVL" -eq 1 ]; then - if [ -f "$HOME/.local/scripts/motd.bash" ] && { [ -n "$SSH_CONNECTION" ] && [[ $- == *i* ]]; } || command -v qubes-vmexec > /dev/null || command -v qubes-dom0-update > /dev/null || { [ -d /Applications ] && [ -d /System ]; }; then - if { [ -z "$MOTD" ] || [ "$MOTD" -ne 0 ]; } && [[ "$(hostname)" != *'-minimal' ]]; then - . "$HOME/.local/scripts/motd.bash" - # TODO - -- services - if [ -n "$SSH_CONNECTION" ]; then - # SSH - bash_motd --banner --processor --memory --diskspace --docker --updates --letsencrypt --login - elif command -v qubes-vmexec > /dev/null; then - # Qubes AppVM - bash_motd --banner --memory --diskspace --docker --updates - elif command -v qubes-dom0-update > /dev/null; then - # Qubes dom0 - bash_motd --banner --updates - elif [ -d /Applications ] && [ -d /System ]; then - # macOS - bash_motd --banner - else - bash_motd --banner --processor --memory --diskspace --docker --updates --letsencrypt --login - fi - fi - fi -fi diff --git a/.config/shell/profile b/.config/shell/profile deleted file mode 100644 index 08073a94..00000000 --- a/.config/shell/profile +++ /dev/null @@ -1,149 +0,0 @@ -# shellcheck disable=SC1090,SC1091 - -# Aliases / Functions / Exports -export XDG_CONFIG_HOME="$HOME/.config" -if [ -f "$XDG_CONFIG_HOME/shell/exports" ]; then - . "$XDG_CONFIG_HOME/shell/exports" -fi -if [ -f "$XDG_CONFIG_HOME/shell/aliases" ]; then - . "$XDG_CONFIG_HOME/shell/aliases" -fi -if [ -f "$XDG_CONFIG_HOME/shell/functions" ]; then - . "$XDG_CONFIG_HOME/shell/functions" -fi - -### Colorize -alias grep='grep --color=auto' -alias fgrep='fgrep --color=auto' -alias egrep='egrep --color=auto' -alias diff='diff --color=auto' -alias ip='ip --color=auto' -alias pacman='pacman --color=auto' - -### Aliases (better defaults for simple commands) -alias cp='cp -v' -alias rm='rm -I' -alias mv='mv -iv' -alias ln='ln -sriv' -alias xclip='xclip -selection c' -command -v vim > /dev/null && alias vi='vim' - -### TOP - order based on preference of "top" application (last item will always be chosen if installed, e.g. glances) -command -v htop > /dev/null && alias top='htop' -command -v gotop > /dev/null && alias top='gotop -p $([ "$COLOR_SCHEME" = "light" ] && echo "-c default-dark")' -command -v ytop > /dev/null && alias top='ytop -p $([ "$COLOR_SCHEME" = "light" ] && echo "-c default-dark")' -command -v btm > /dev/null && alias top='btm $([ "$COLOR_SCHEME" = "light" ] && echo "--color default-light")' -# themes for light/dark color-schemes inside ~/.config/bashtop; Press ESC to open the menu and change the theme -command -v bashtop > /dev/null && alias top='bashtop' -command -v bpytop > /dev/null && alias top='bpytop' -command -v glances > /dev/null && alias top='glances' - -### Bash / ZSH -if [ "$BASH_SUPPORT" = 'true' ]; then - ### OS Detection - if [ -f /etc/os-release ]; then - . /etc/os-release - if [ "$ID" = 'alpine' ]; then - OS_ICON="" - elif [ "$ID" = 'arch' ]; then - OS_ICON="" - elif [ "$ID" = 'centos' ]; then - OS_ICON="" - elif [ "$ID" = 'coreos' ]; then - OS_ICON="" - elif [ "$ID" = 'debian' ]; then - OS_ICON="" - elif [ "$ID" = 'deepin' ]; then - OS_ICON="" - elif [ "$ID" = 'elementary' ]; then - OS_ICON="" - elif [ "$ID" = 'endeavour' ]; then - OS_ICON="" - elif [ "$ID" = 'freebsd' ]; then - OS_ICON="" - elif [ "$ID" = 'gentoo' ]; then - OS_ICON="" - elif [ "$ID" = 'kali' ]; then - OS_ICON="" - elif [ "$ID" = 'linuxmint' ]; then - OS_ICON="" - elif [ "$ID" = 'manjaro' ]; then - OS_ICON="" - elif [ "$ID" = 'nixos' ]; then - OS_ICON="" - elif [ "$ID" = 'openbsd' ]; then - OS_ICON="" - elif [ "$ID" = 'opensuse' ]; then - OS_ICON="" - elif [ "$ID" = 'parrot' ]; then - OS_ICON="" - elif [ "$ID" = 'pop_os' ]; then - OS_ICON="" - elif [ "$ID" = 'raspberry_pi' ]; then - OS_ICON="" - elif [ "$ID" = 'redhat' ]; then - OS_ICON="" - elif [ "$ID" = 'fedora' ]; then - OS_ICON="" - elif [ "$ID" = 'ubuntu' ]; then - OS_ICON="" - else - OS_ICON="" - fi - else - if [ -d /Applications ] && [ -d /Library ] && [ -d /System ]; then - # macOS - OS_ICON="" - else - OS_ICON="" - fi - fi - - ### ASDF - if [ -f "$ASDF_DIR/asdf.sh" ]; then - . "$ASDF_DIR/asdf.sh" - fi - - ### Directory Colors - if [ -f "$XDG_CONFIG_HOME/shell/lscolors.sh" ]; then - . "$XDG_CONFIG_HOME/shell/lscolors.sh" - fi - - ### fzf-git - #if [ -f "$HOME/.local/scripts/fzf-git.bash" ]; then - # . "$HOME/.local/scripts/fzf-git.bash" - #fi - - ### MOTD - if [ -f "$XDG_CONFIG_HOME/shell/motd" ]; then - . "$XDG_CONFIG_HOME/shell/motd" - fi -fi - -### Cargo -if [ -f "$CARGO_HOME/env" ]; then - . "$CARGO_HOME/env" -fi - -### Docker Functions / Aliases -if [ -f "$HOME/.local/scripts/docker-functions.bash" ]; then - . "$HOME/.local/scripts/docker-functions.bash" -fi - -### fzf-tmux -#if [ -f "$HOME/.local/scripts/fzf-tmux.bash" ]; then -# . "$HOME/.local/scripts/fzf-tmux.bash" -#fi - -### SDKMan -if command -v brew > /dev/null && command -v sdkman-cli > /dev/null; then - export SDKMAN_DIR="$(brew --prefix sdkman-cli)/libexec" - . "$SDKMAN_DIR/bin/sdkman-init.sh" -elif [ -f "$SDKMAN_DIR/bin/sdkman-init.sh" ]; then - export SDKMAN_DIR="$XDG_DATA_HOME/sdkman" - . "$SDKMAN_DIR/bin/sdkman-init.sh" -fi - -### VIM -export GVIMINIT='let $MYGVIMRC="$XDG_CONFIG_HOME/vim/gvimrc" | source $MYGVIMRC' -export VIMINIT='let $MYVIMRC="$XDG_CONFIG_HOME/vim/vimrc" | source $MYVIMRC' diff --git a/.config/slack-term/config b/.config/slack-term/config deleted file mode 100644 index 6ed88e87..00000000 --- a/.config/slack-term/config +++ /dev/null @@ -1,88 +0,0 @@ -{ - "slack_token": "yourslacktokenhere", - - // OPTIONAL: set the width of the sidebar (between 1 and 11), default is 1 - "sidebar_width": 1, - - // OPTIONAL: turn on desktop notifications for all incoming messages, set - // the value as: "all". For only mentions and im messages set the - // value as: "mention", default is turned off: "" - "notify": "", - - // OPTIONAL: turn on emoji's, default is false - "emoji": false, - - // OPTIONAL: define custom key mappings, defaults are: - "key_map": { - "command": { - "i": "mode-insert", - "/": "mode-search", - "k": "channel-up", - "j": "channel-down", - "g": "channel-top", - "G": "channel-bottom", - "K": "thread-up", - "J": "thread-down", - "": "chat-up", - "C-b": "chat-up", - "C-u": "chat-up", - "": "chat-down", - "C-f": "chat-down", - "C-d": "chat-down", - "n": "channel-search-next", - "N": "channel-search-previous", - "'": "channel-jump", - "q": "quit", - "": "help" - }, - "insert": { - "": "cursor-left", - "": "cursor-right", - "": "send", - "": "mode-command", - "": "backspace", - "C-8": "backspace", - "": "delete", - "": "space" - }, - "search": { - "": "cursor-left", - "": "cursor-right", - "": "clear-input", - "": "clear-input", - "": "backspace", - "C-8": "backspace", - "": "delete", - "": "space" - } - }, - - // OPTIONAL: override the default theme, defaults are: - "theme": { - "view": { - "fg": "white", - "bg": "default", - "border_fg": "white", - "border_bg": "", - "label_fg": "white", - "label_bg": "" - }, - "channel": { - "prefix": "", - "icon": "", - "text": "" - }, - "message": { - // This uses golang time formatting: - // - https://yourbasic.org/golang/format-parse-string-time-date-example/ - // - https://golang.org/pkg/time/#Time.Format - "time_format": "15:04", - - // You can use 'colorize' to give every name an individual color - "name": "", - - "time": "", - "text": "" - } - } -} diff --git a/.config/tabby/config.yaml b/.config/tabby/config.yaml deleted file mode 100644 index 912dedf6..00000000 --- a/.config/tabby/config.yaml +++ /dev/null @@ -1,199 +0,0 @@ ---- -version: 3 -hotkeys: - toggle-window: - - Ctrl-Space - copy: - - ⌘-C - paste: - - ⌘-V - home: - - ⌘-Left - - Home - end: - - ⌘-Right - - End - previous-word: - - ⌥-Left - next-word: - - ⌥-Right - delete-previous-word: - - ⌥-Backspace - delete-next-word: - - ⌥-Delete - clear: - - ⌘-K - zoom-in: - - ⌘-= - - ⌘-Shift-= - zoom-out: - - ⌘-- - - ⌘-Shift-- - reset-zoom: - - ⌘-0 - ctrl-c: - - Ctrl-C - copy-current-path: [] - search: - - ⌘-F - pane-focus-all: - - ⌘-Shift-I - scroll-to-bottom: [] - restart-telnet-session: [] - restart-ssh-session: [] - launch-winscp: [] - settings: - - ⌘-, - settings-tab: {} - serial: - - Alt-K - restart-serial-session: [] - new-window: - - ⌘-N - new-tab: - - ⌘-T - workspace-profile-1: [] - workspace-profile-2: [] - workspace-profile-3: [] - workspace-profile-4: [] - workspace-profile-5: [] - profile-selector: - - ⌘-E - toggle-fullscreen: - - Ctrl+⌘+F - rename-tab: - - ⌘-R - close-tab: - - ⌘-W - reopen-tab: - - ⌘-Shift-T - toggle-last-tab: [] - next-tab: - - Ctrl-Tab - previous-tab: - - Ctrl-Shift-Tab - move-tab-left: - - ⌘-Shift-Left - move-tab-right: - - ⌘-Shift-Right - rearrange-panes: - - ⌘-Shift - duplicate-tab: [] - explode-tab: - - ⌘-Shift-. - combine-tabs: - - ⌘-Shift-, - tab-1: - - ⌘-1 - tab-2: - - ⌘-2 - tab-3: - - ⌘-3 - tab-4: - - ⌘-4 - tab-5: - - ⌘-5 - tab-6: - - ⌘-6 - tab-7: - - ⌘-7 - tab-8: - - ⌘-8 - tab-9: - - ⌘-9 - tab-10: - - ⌘-0 - tab-11: [] - tab-12: [] - tab-13: [] - tab-14: [] - tab-15: [] - tab-16: [] - tab-17: [] - tab-18: [] - tab-19: [] - tab-20: [] - split-right: - - ⌘-Shift-D - split-bottom: - - ⌘-D - split-left: [] - split-top: [] - pane-maximize: - - ⌘-⌥-Enter - pane-nav-up: - - ⌘-⌥-Up - pane-nav-down: - - ⌘-⌥-Down - pane-nav-left: - - ⌘-⌥-Left - pane-nav-right: - - ⌘-⌥-Right - pane-nav-previous: - - ⌘-⌥-[ - pane-nav-next: - - ⌘-⌥-] - switch-profile: - - ⌘-Shift-E - close-pane: - - ⌘-Shift-W - pane-increase-vertical: [] - pane-decrease-vertical: [] - pane-increase-horizontal: [] - pane-decrease-horizontal: [] - profile: {} - profile-selectors: {} - select-all: - - ⌘-A -terminal: - searchOptions: {} - colorScheme: - name: Betelgeuse - foreground: '#eceff1' - background: '#161925' - selection: null - cursor: '#FFCC00' - cursorAccent: null - colors: - - '#000000' - - '#D62341' - - '#9ECE58' - - '#FAED70' - - '#396FE2' - - '#BB80B3' - - '#2DDAFD' - - '#d0d0d0' - - rgba(255, 255, 255, 0.2) - - '#FF5370' - - '#C3E88D' - - '#FFCB6B' - - '#82AAFF' - - '#C792EA' - - '#89DDFF' - - '#ffffff' - customColorSchemes: [] - autoOpen: true - scrollbackLines: 100000 - frontend: xterm-webgl - font: Hack Nerd Font - ligatures: true - background: colorScheme - showTabProfileIcon: true -ssh: - warnOnClose: true -configSync: - parts: {} - token: XXX -clickableLinks: - modifier: metaKey -workspaceManager: {} -accessibility: {} -appearance: - flexTabs: true - frame: full -hacks: {} -pluginBlacklist: [] -profileDefaults: {} -profiles: [] -enableAnalytics: false -enableWelcomeTab: false diff --git a/.config/wgetrc b/.config/wgetrc deleted file mode 100644 index eb531a17..00000000 --- a/.config/wgetrc +++ /dev/null @@ -1,38 +0,0 @@ -# Use the server-provided last modification date, if available -timestamping = on - -# Do not go up in the directory structure when downloading recursively -no_parent = on - -# Wait 60 seconds before timing out. This applies to all timeouts: DNS, connect and read. (The default read timeout is 15 minutes!) -timeout = 60 - -# Retry a few times when a download fails, but don’t overdo it. (The default is 20!) -tries = 3 - -# Retry even when the connection was refused -retry_connrefused = on - -# Use the last component of a redirection URL for the local file name -trust_server_names = on - -# Follow FTP links from HTML documents by default -follow_ftp = on - -# Add a `.html` extension to `text/html` or `application/xhtml+xml` files that lack one, or a `.css` extension to `text/css` files that lack one -adjust_extension = on - -# Use UTF-8 as the default system encoding -# Disabled as it makes `wget` builds that don’t support this feature unusable. -# Does anyone know how to conditionally configure a wget setting? -# http://unix.stackexchange.com/q/34730/6040 -#local_encoding = UTF-8 - -# Ignore `robots.txt` and `` -robots = off - -# Print the HTTP and FTP server responses -server_response = on - -# Disguise as IE 9 on Windows 7 -user_agent = Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0) diff --git a/.config/whalebrew b/.config/whalebrew deleted file mode 100644 index e69de29b..00000000 diff --git a/.gnupg/public/unman.sig b/.gnupg/public/unman.sig deleted file mode 100644 index 3a30c78d..00000000 --- a/.gnupg/public/unman.sig +++ /dev/null @@ -1,85 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- - -mQINBFdt07cBEADGBsfWMKLODNkW8ro4ltREGK7KVgI1ETvgc1inGa79lW33F5/z -cP8vwVTwn1ntb6hFvQPDkrU2ewy0pYyXahSRPKsGn8ldKzjA5O/iACkpLdEgl8// -3xw5XUKF16KO16w/OdcfR+6bxveMN4tr5yxEFSkpoviLzJdCcOfduaLlKijGsDhW -Ay36UWrbNiV5HsplM3hQy6CTjYe1/1psvf0B1QM7OXJMKgGtY6BSDoZ8etnhVYHy -/yGSDuof2cx9WTX3hnkX9db1YucSwUHq2BVqpjv5osUilEjMNPcMybpxv4UHZ25k -kh73QEqrwMhodFvwBW6M3h5nG7YbgBFPMMftVJExpbvwoKxFVclY0u+oGCxvxE2f -X5vA418ehF8ILN8NJA5DVv38bVN7SG1w7PUcpXuG1GL3SP7gDqdEJ2MOqIqSokAw -uMtDo3pRBkrVjbIxiJ1z37fVcl17ZI6s/Fg3IEd61VAgwObD5mOEmkJt1m8tsqGx -iVdr16yR7LfdBXZplCDBYzRcWlslSbSwG7878bLJoc05eXxgr8jq3nlRYbCjXgHM -FnfDVLbeyyfyGNqA5AMlQB9o5Iv12iHFuN9z15Ie6d2ds59Cw5d5SOyya9vLUIfD -W+V5ypCW/4sf1w8KQhPUu49OLwgcyeXPismEpSj3XIPF0LUFFrfAbPHlMQARAQAB -tDl1bm1hbiAoUXViZXMgT1Mgc2lnbmluZyBrZXkpIDx1bm1hbkB0aGlyZGV5ZXNl -Y3VyaXR5Lm9yZz6JAjcEEwEIACECGwMFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AF -Ald0ZXgACgkQiz8w+cjAwu/cmw/+LLkkSf0QfiSiKhqWQiXFRYngKxAAaiLZV3kc -LCQsZeg7eS8GZYJx19vplBhpGarPGw0REZrvPMfZBcK1YKM7Dt7VfUv49Cd3jPb0 -7W6pMfOOcuQO1UV1mqskziWvW1ooikc/HUJA2kIoTzxr0McFySPdoKtH8MsoEecK -fMqYIjNp31w6JEsQRVzNVmaVrEj8+w1e6miVNpKvokMSNF/x44tpt/Y2C4g1Gxw6 -lPZYunJsTJK69taJbVDVCRvwwhJwHwbIqJWNIpoVDOpZjOvQlz0GPjTiBrA15AtG -eU6NmMJ5qc9Sw/l3gTfh5SCANo5Q/7s+CX5xFpeGwJx6YDpjZCvR78SGi5cjetmT -iWC1coGxjSSoqJb4T1Kbv/ErJellN1MO6+zmioCgx84qJjU3SuqNKdmc3hWRlbCS -CrwKcVZnjLRmlI7XygndpPB9hM/GB9Wn5+/5j0IFmeCECUtzEmod2l+vTUeutReb -uR+/1FD/p7NL8VfA/tq4d6GTSr6vYSYIL89PpO8Sh5G5PsahjATkv/yUJDmtT+14 -nkV+HmQfvT9xrV9tvKbLWcv1RTQf+j3Lk2fXyjxbLsDXIBB2/FfZEFE9E/2uA+Zm -y/o5wkG+xe4Vlx4eRoEM7SLJoXUxkVVAi26sAmYYAh+LkvcAy1IzYaTkS2hU+3Rm -iemoD4e5Ag0EV23TtwEQAMNa9zUDTt9bT2nja+isou+9DJZZQVl46Lx2My780FVo -WWyFjd6vX04TlybLhlD3njg4PQAo7xQ909BRSqKxCkdbwoJfHYNC1FIfOdV+9caw -yaIl5xBc/B7D0+2NdzRc73W0stikNdnkS1lL4rD1TjsUMh/8roiUzNwcU8tIuluw -2U+jiqbPJ2QLL3Sp4uIcsGb4j7Kf9zUtPVw9JuUscBFkRNFr4U8EWjM4zXBm1jFR -CGZ/EI6b2I8W5TjK2RmJXR1gwr8f6gSJqiirjKAqxq4kc7puOFlkRXAknu597aT1 -eNBpQPqMX0K9S/vnPSUqjWYLZQ4+YjXYZTpg18tkoxGyDn3jGuFlv+NncL2v3SKM -ejmN4Tyb+184GqcDZ5T91XWXjV2Fz7UgFtoqLPtRG5EQPAMlEottKHNaOgEsdxy8 -Cf8G1E58BVpVtPGY1qdYD55AjOaBGrdYDzW2iWWcaRr8nMJp6ur9hzrIubYSwRvJ -KHH5k7/e+MLJooZkJF7IQwvbzQk7Jgp3DcK4ALXHJdprNHl1BOB+L5vzCXAL+544 -wwMgptCjEurLC1q4K3Cg3u36EVRTqkmUATdyhl24coHvC8kwHUQMQOUTQEi06TZO -bLeg2QMPkMG5Ub3Bu+7Aly7UQApYK7SLmamzw9foG4hKrQ3N4YG53oUKORgxyt9l -ABEBAAGJAh8EGAEIAAkFAldt07cCGwwACgkQiz8w+cjAwu8FOw/+LHybBicGuQlv -kRIIABa9Yz/GoL3w7GzExzbndWWw9wgY40ZwlfCugODHeRZEvSi/Yq+PV3UTJWJm -vxh3N4YpcQE1W6aBaT3ILT06HNQgufc3CFs9ePQZzRTIo4C13FphV+4AhgTnyAKc -uRNwdb/QGwf1sUELg92PuBEtb9tq1XnRdsnpncHQuj6+zOvNceXPxqHtw4DcNzZ3 -Cz2rnsAjKUd4Se/h53MZChwkp14897XIbATbTGuN6i9Dftezw3kuYvpm3h1QnXAN -KHQzr8YW5p2SHTnxHYu8hX+BqKyBoldhVWcCKVrhDQH6SrZi4B22/mzOsQKFfCfp -dJUAhPvFvq0mEajf+Rxo9/wcq3vEGPnnJzV8exERCfjW9cDi/+7BvbnpIdikZJhL -XGq8/NXi8K+2VwLUW5HzuSVXSe73quWV9OXMpNnh0GiGsR5DT8BQgV8LTO59CXfY -4ZYWIdP5ClH1fYehc/I/8ZCM/QV8Gtot/EWxTy3dxCBSP2Z4IdaZqH5aCUip906L -Wtjodp9YCt/f9pyKjuA1hoKaHIaf8L8M2qDFE5OoLDcrAh9m+QrVQRmtFHaMFcej -85SLnQw83PUsMBH0mdDUYiNaRnWiQs1/I1iJKOt6p0/2jNHx7CaxoEoXqznu9o/X -bcr+2Sg6D6+XamPTmG687Ow7101hdp25Ag0EV3BtIwEQAL3DM3RBLdxEe3PK8sK0 -PjZPrCeB/aflFoQxAKMOweYcP72ipuCfuKa3Zxxd6o2OfiuO5w9JPn5s92vCbL8f -ZpBJ7SAF5TNOGESBUI18lGVBIb/PCz2kN1qkTPDIKnxoDKW0AEna12LgzhTQBPTh -XX37bx3UlH5uMRZUYF+wl/wfD1UaFaY7EwObNQL9WQzMV7AkhIoA8XKyK2cNsOL5 -S87eLpWwffjaE8oZKcYNIPq0x6DuiOuAPLnc7eUDqogjo0suN10uGnvaOvlWIwly -8/8XRwKPHOVlDHU4kEtMnbfbPXNaFrABrF/ApeaOxg1JSSHOPdzqI5ifscAYYXr5 -xREn5Hh+Se7o1I8zXyHXPd/RTulFykbdmat9w0kVLgor4ahfQeoCj0PwbANlrk1t -burh2r16CzeR30sNAcuJqKLKwmjfdjPPBwCqLZbIQIDtpJ/4tSx8l1TWJ04JSQeQ -qJZkUpqnOMJup8Baktzbznpy9ac30aHpWL95VXI7hCGa0kbhi7yeDFbLJuMhIli8 -z5aDRKbT18M3bgoOMWgkFKxi2JMDRbchdsu5bS4GjUnovkq5HxqFI6SRh1TEflqB -GiGaBPmCT3d9OTZeyK1y/j7N2dh/3d9Z6dmYs+ppG3749kg0rYpdl3kqHUxlNABu -JKcaPQdNJuDnnPMc+6b0Z8pjABEBAAGJBFsEGAEIACYCGwIWIQRLH0AN8lZRtTxB -QbOLPzD5yMDC7wUCYrCMvAUJDxEHGQIpwV0gBBkBCAAGBQJXcG0jAAoJEP3RuCRH -MbNs6CwP/AnUBcsrvYLskStJ7c75vsM1IUQ60gYd8HR2kLAlaG5kkdMVrH7J2lkD -ZYMoT0ZBV2jpMTe6DpSl6+51t0VCrxYjRAt0xCkchNtFrWmbFlbzX8SjdLxuQboH -171vYboVS580mK2SNnExif57mga0sfMc9nPOpzwzqlt2h0q4wbOANPUv7Hz0Vb8I -awWoppR8ztif2zj4NxzFAbw4LloxFlllinbqtTatFn962naz86owCalopxqqJt+f -Gw4aFFwL7Q0vAJoBO94WooEQ4a5YfiICF02RszOm/LkI/uMGlekhRXek97BKWD5f -v7KjCLYexFF2Vnzjr2nzi7gWvO0bVlFeVGY6NfT+2Pv+NFapeDLOJe1488eeXpF5 -T0iBERh42f3PwGPMaLCvmgCps6u4h5YBiohpsjuYv5mYok9CwEquOPKG86iBfPtL -kcXf4I3rkjwYteed2WyCTnpQRuHMzeI19WOs/bFuNPCXiRVVAn1KB/mHQKIxZKut -cEZMgAtD//ruhTTvsUBSloDSb/3efm2cZHrix6TjrePbji5nFq7FMClP2Ro1u0wA -ZURkhzDKEkXC94RhUXO0HukUQwFzNRXyVVV8jmTGGiuqO8Q3cijmFO054tDxiLD6 -V5BRnxyQOeQdyxNI8rFEIF4HQn/I28HAl/KDXWcRSMUG2jD5jIGNCRCLPzD5yMDC -7x0DD/9Umr0Rc9Un9koCQgmhj97WOjZhuKOVPxyGzwyjMYs0ii3pSNYYxUQ7mO6X -sycDs0YwstUZ0GtanF6ebOHZF1vQwp3RY9zGuBV3gLGo5A6FWcCbWjh6409hKe3J -tSiIEOOeEV/wcc2BiGfj2DWOi/063gzBfrwRmbCao5/Saw+yhfe7BmTneoYjzHbN -Ttd+xhDT0ybTMvvMHkR7Aazy7zfl1OdQhfi+T2NWRZdsKWV12pQo8DTeTIUQUKp6 -pmbMazYx5uV6HlCo4Mx+A0z3IBodln/QoE2Glphqn1vGkJWmEA0g2gcMRafzZ5xE -Y5WHiB4fhJ2kM/xjj/XBUpBSX2R13kvc6aYBTXKCny6CUmFyLpgpPh8udQLazbAs -uwTdSNVkqgJsV/Mf9onMvMvAuBZME9EyzTK85O0HUZVj1NYNINsdYiFh1qHrdAN0 -RGJkkOKfrYtl/3ER+MI6PeHuaj8akQEmmyvs65tq38VBBnYjIpCbmqVJAJ/fKwuI -aBoCTnTKDuMumLVTxZOlnUXJ/uBvd/SEXd5TuOdDiw/zbtR0XaLLMhmlQwX7XFiW -PRmrTsEr8wluewET8fekxMosM8cMwn43agCc1IjfB6pGP1CyCoN6T3EnNcu8UxoY -CjpmiHZg3mKwE2cDs5WvAt+3Oxww1IiIAKUm2/siNZeshUpBmw== -=qJcP ------END PGP PUBLIC KEY BLOCK----- diff --git a/.gnupg/public/wazuh.sig b/.gnupg/public/wazuh.sig deleted file mode 100644 index b424ccfa..00000000 --- a/.gnupg/public/wazuh.sig +++ /dev/null @@ -1,52 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v2.0.22 (GNU/Linux) - -mQINBFeeyYwBEACyf4VwV8c2++J5BmCl6ofLCtSIW3UoVrF4F+P19k/0ngnSfjWb -8pSWB11HjZ3Mr4YQeiD7yY06UZkrCXk+KXDlUjMK3VOY7oNPkqzNaP6+8bDwj4UA -hADMkaXBvWooGizhCoBtDb1bSbHKcAnQ3PTdiuaqF5bcyKk8hv939CHulL2xH+BP -mmTBi+PM83pwvR+VRTOT7QSzf29lW1jD79v4rtXHJs4KCz/amT/nUm/tBpv3q0sT -9M9rH7MTQPdqvzMl122JcZST75GzFJFl0XdSHd5PAh2mV8qYak5NYNnwA41UQVIa -+xqhSu44liSeZWUfRdhrQ/Nb01KV8lLAs11Sz787xkdF4ad25V/Rtg/s4UXt35K3 -klGOBwDnzPgHK/OK2PescI5Ve1z4x1C2bkGze+gk/3IcfGJwKZDfKzTtqkZ0MgpN -7RGghjkH4wpFmuswFFZRyV+s7jXYpxAesElDSmPJ0O07O4lQXQMROE+a2OCcm0eF -3+Cr6qxGtOp1oYMOVH0vOLYTpwOkAM12/qm7/fYuVPBQtVpTojjV5GDl2uGq7p0o -h9hyWnLeNRbAha0px6rXcF9wLwU5n7mH75mq5clps3sP1q1/VtP/Fr84Lm7OGke4 -9eD+tPNCdRx78RNWzhkdQxHk/b22LCn1v6p1Q0qBco9vw6eawEkz1qwAjQARAQAB -tDFXYXp1aC5jb20gKFdhenVoIFNpZ25pbmcgS2V5KSA8c3VwcG9ydEB3YXp1aC5j -b20+iQI9BBMBCAAnAhsDBQsJCAcDBRUKCQgLBRYCAwEAAh4BAheABQJZHNOBBQkU -SgzvAAoJEJaz7l8pERFF6xUP/3SbcmrI/u7a2EqZ0GxwQ/LRkPzWkJRnozCtNYHD -ZjiZgSB/+77hkPS0tsBK/GXFLKfJAuf13XFrCvEuI4Q/pLOCCKIGumKXItUIwJBD -HiEmVt/XxIijmlF7O1jcWqE/5CQXofjr03WMx+qzNabIwU/6dTKZN4FrR1jDk7yS -6FYBsbhVcSoqSpGYx7EcuK3c3sKKtnbacK2Sw3K9n8Wdj+EK83cbpMg8D/efVRqv -xypeCeojtY10y4bmugEwMYPgFkrSbicuiZc8NA8qhvFp6JFRq/uL0PGACyg05wB3 -S9U4wvSkmlo2/G74awna22UlaoYmSSz3UZdpWd2zBxflx17948QfTqyhO6bM8qLz -dSyR6/6olAcR1N+PBup8PoMdBte4ul/hJp8WIviW0AxJUTZSbVj5v/t43QAKEpCE -IMHvkK8PRHz/9kMd/2xN7LgMtihCrGZOnzErkjhlZvmiJ6kcJoD7ywzFnfJrntOU -DjNb3eqUFSEwmhD60Hd2OCkfmiV7NEE/YTd9B72NSwzj4Za/JUdlF64LMeIiHbYp -Lh7P+mR+lMJf/SWsQmlyuiQ2u8SY2aDFvzBS9WtpwiznuUdrbRN87+TYLSVqDifj -Ea3zOnzLaLYbOr6LHz1xbhAvInv7KLobgiw1E4WnBNWN8xVwVJLKNE7wV88k43XV -3L/RuQINBFeeyYwBEADD1Y3zW5OrnYZ6ghTd5PXDAMB8Z1ienmnb2IUzLM+i0yE2 -TpKSP/XYCTBhFa390rYgFO2lbLDVsiz7Txd94nHrdWXGEQfwrbxsvdlLLWk7iN8l -Fb4B60OfRi3yoR96a/kIPNa0x26+n79LtDuWZ/DTq5JSHztdd9F1sr3h8i5zYmtv -luj99ZorpwYejbBVUm0+gP0ioaXM37uO56UFVQk3po9GaS+GtLnlgoE5volgNYyO -rkeIua4uZVsifREkHCKoLJip6P7S3kTyfrpiSLhouEZ7kV1lbMbFgvHXyjm+/AIx -HIBy+H+e+HNt5gZzTKUJsuBjx44+4jYsOR67EjOdtPOpgiuJXhedzShEO6rbu/O4 -wM1rX45ZXDYa2FGblHCQ/VaS0ttFtztk91xwlWvjTR8vGvp5tIfCi+1GixPRQpbN -Y/oq8Kv4A7vB3JlJscJCljvRgaX0gTBzlaF6Gq0FdcWEl5F1zvsWCSc/Fv5WrUPY -5mG0m69YUTeVO6cZS1aiu9Qh3QAT/7NbUuGXIaAxKnu+kkjLSz+nTTlOyvbG7BVF -a6sDmv48Wqicebkc/rCtO4g8lO7KoA2xC/K/6PAxDrLkVyw8WPsAendmezNfHU+V -32pvWoQoQqu8ysoaEYc/j9fN4H3mEBCN3QUJYCugmHP0pu7VtpWwwMUqcGeUVwAR -AQABiQIlBBgBCAAPAhsMBQJZHNOaBQkUSg0HAAoJEJaz7l8pERFFhpkQAJ09mjjp -n9f18JGSMzP41fVucPuLBZ5XJL/hy2boII1FvgfmOETzNxLPblHdkJVjZS5iMrhL -EJ1jv+GQDtf68/0jO+HXuQIBmUJ53YwbuuQlLWH7CI2AxlSAKAn2kOApWMKsjnAv -JwS3eNGukOKWRfEKTqz2Vwi1H7M7ppypZ9keoyAoSIWb61gm7rXbfT+tVBetHfrU -EM5vz3AS3pJk6Yfqn10IZfiexXmsBD+SpJBNzMBsznCcWO2y4qZNLjFferBoizvV -34UnZyd1bkSN0T/MKp8sgJwqDJBS72tH6ZIM8NNoy29aPDkeaa8XlhkWiBdRizqL -BcxrV/1n3xdzfY9FX6s4KGudo+gYsVpY0mrpZU8jG8YUNLDXQTXnRo4CQOtRJJbA -RFDoZfsDqToZftuEhIsk+MaKlyXoA0eIYqGe6lXa/jEwvViqLYubCNLu0+kgNQ3v -hKF8Pf7eXFDAePw7guuvDvBOMQqBCaKCxsz1HoKRNYBEdUYrEQBJnX235Q4IsdI/ -GcQ/dvERJXaDCG8EPhnwc517EMUJDiJ1CxT4+VMHphmFbiVqmctz0upIj+D037Xk -CcgxNte6LZorGRZ/l1MYINliGJKtCCFK7XGVPKiJ8zyGSyPj1FfwtBy5hUX3aQtm -bvP0H2BRCKoelsbRENu58BkU6YhiUry7pVul -=SJij ------END PGP PUBLIC KEY BLOCK----- diff --git a/.local/Taskfile-local.yml b/.local/Taskfile-local.yml deleted file mode 100644 index 519beaa0..00000000 --- a/.local/Taskfile-local.yml +++ /dev/null @@ -1,104 +0,0 @@ ---- -version: '3' - -# This is your local Taskfile.yml file. You can define tasks and scripts while leveraging some of the nifty -# features of https://taskfile.dev. You can safely place your scripts here and they will be combined with -# a veteran stack of Taskfile.yml files. You can access the tasks defined here by running -# `run local:default` for example. You must keep all the tasks in this file without including other files -# because the main Taskfile.yml is a symlinked one. Anyway, try `run local:default`. -tasks: - default: echo "Get started on https://taskfile.dev" - browser:profile:save:brave: - vars: - BrowserProfile: > - {{if eq OS "darwin"}}~/Library/Application\ Support/BraveSoftware/Brave-Browser/Default{{end}} - {{if eq OS "linux"}}{{end}} - {{if eq OS "windows"}}{{end}} - cmds: - - tar -czpf ~/brave-profile.tar.gz {{.BrowserProfile}} - - browser:profile:save:chrome: - vars: - BrowserProfile: > - {{if eq OS "darwin"}}~/Library/Application\ Support/BraveSoftware/Brave-Browser/Default{{end}} - {{if eq OS "linux"}}{{end}} - {{if eq OS "windows"}}{{end}} - cmds: - - tar -czpf ~/brave-profile.tar.gz {{.BrowserProfile}} - - browser:profile:save:edge: - vars: - BrowserProfile: > - {{if eq OS "darwin"}}~/Library/Application\ Support/BraveSoftware/Brave-Browser/Default{{end}} - {{if eq OS "linux"}}{{end}} - {{if eq OS "windows"}}{{end}} - cmds: - - tar -czpf ~/brave-profile.tar.gz {{.BrowserProfile}} - - browser:profile:save:firefox: - vars: - BrowserProfile: > - {{if eq OS "darwin"}}~/Library/Application\ Support/BraveSoftware/Brave-Browser/Default{{end}} - {{if eq OS "linux"}}{{end}} - {{if eq OS "windows"}}{{end}} - cmds: - - tar -czpf ~/brave-profile.tar.gz {{.BrowserProfile}} - - provision: - desc: Provision the environment - summary: | - # Provision the Environment - - This task will provision the current environment using a variety of tools. - It will prompt you for details like what type of environment you are provisioning. - Optionally, you can skip the prompt by passing a CLI argument like so: - - **Example:** - `run localhost:provision -- terminal` - - The above example will run the `localhost:provision:terminal` task. - cmds: - - | - if [ "{{.CLI_ARGS}}" != "" ]; then - run localhost:provision:{{.CLI_ARGS}} - else - run localhost:provision:prompt - fi - - provision:prompt: - deps: - - :install:software:gum - cmds: - - logg prompt 'Select the type of environment you would like to provision' - - logg prompt '`Terminal` - Installs standard CLI tools that augment the terminal experience' - - logg prompt '`Development` - Provisions Terminal and also installs useful tools for development' - - logg prompt '`Full` - Provisions with both Terminal and Development and then it installs all the Brewfile-supported software from the Gas Station project (e.g. https://gitlab.com/megabyte-labs/gas-station).' - - | - CHOICE="$(logg choose "Terminal" "Development" "Full")" - if [ "$CHOICE" = 'Development' ]; then - run localhost:provision:dev - elif [ "$CHOICE" = 'Terminal' ]; then - run localhost:provision:terminal - elif [ "$CHOICE" = 'Full' ]; then - run localhost:provision:full - fi - - provision:dev: - deps: - - :install:software:bundle - - provision:terminal - cmds: - - brew bundle --file "$HOME/.local/Brewfile.dev" - - provision:full: - deps: - - :install:software:bundle - - provision:dev - cmds: - - brew bundle --file "$HOME/.local/Brewfile.full" - - provision:terminal: - deps: - - :install:software:bundle - cmds: - - brew bundle --file "$HOME/.local/Brewfile.terminal" diff --git a/.local/aliases b/.local/aliases deleted file mode 100644 index ace8c0b8..00000000 --- a/.local/aliases +++ /dev/null @@ -1,127 +0,0 @@ -# Fix for auto expansion (source: https://wiki.archlinux.org/title/Sudo#Passing_aliases) -alias sudo='sudo ' - -# Reload current shell -alias reload="exec ${SHELL} -l" - -# Create an Authelia password hash -alias autheliapassword='docker run authelia/authelia:latest authelia hash-password' - -# Shows IP addresses that are currently banned by fail2ban -alias banned='sudo zgrep "Ban" /var/log/fail2ban.log*' - -alias connections='nm-connection-editor' - -# Make copy command verbose -alias cp='cp -v' - -# Command-line DNS utility -alias dog="docker run -it --rm dog" - -# Download a file -alias download='curl --continue-at - --location --progress-bar --remote-name --remote-time' - -# Download a website -alias downloadsite='wget --mirror -p --convert-links -P' - -# Flush DNS -alias flushdns='sudo systemd-resolve --flush-caches && sudo systemd-resolve --statistics' - -# FontBook for macOS -alias fontbook="open -b com.apple.FontBook" - -# Get the possible GRUB resolutions -alias grubresolutions='sudo hwinfo --framebuffer' - -# Execute git command with sudo priviledges while retaining .gitconfig -alias gsudo='sudo git -c "include.path="${XDG_CONFIG_DIR:-$HOME/.config}/git/config\" -c \"include.path=$HOME/.gitconfig\"' - -# Create hashed password for Ansible user creation -alias hashpassword='mkpasswd --method=sha-512' - -# Show full output when using ls -alias ls='ls -AlhF --color=auto' - -# Create parent directories automatically -alias mkdir='mkdir -pv' - -# Make mount command output readable -alias mount='mount | column -t' - -# Make mv command verbose -alias mv='mv -v' - -# Show IP address -alias myip='curl http://ipecho.net/plain; echo' - -# Shows local IP addresses -alias mylocalip="ifconfig | grep -Eo 'inet (addr:|adr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1'" - -# Link pip to pip3 -alias pip='pip3' - -# Show open ports -alias ports='sudo netstat -tulanp' - -# Shuts down the computer, skipping the shutdown scripts -alias poweroff='sudo /sbin/poweroff' - -# Open the Rclone web GUI -alias rclonegui='rclone rcd --rc-web-gui --rc-user=admin --rc-pass=pass --rc-serve' - -# Reboot the computer -alias reboot='sudo /sbin/reboot' - -# Make rm command verbose -alias rm='rm -vi' - -# Launch the Python Simple HTTP Server -alias serve='python -m SimpleHTTPServer' - -# Generate a SHA1 digest -alias sha1='openssl sha1' - -# Shutdown the computer -alias shutdown='sudo /sbin/shutdown' - -# Speed test -alias speedtest='wget -O /dev/null http://speedtest.wdc01.softlayer.com/downloads/test10.zip' - -# Shortcut for config file -alias sshconfig='${EDITOR:code} ~/.ssh/config' - -# Pastebin -alias sprunge='curl -F "sprunge=<-" http://sprunge.us' - -# Disable Tor for current shell -alias toroff='source torsocks off' - -# Enable Tor for current shell -alias toron='source torsocks on' - -# Test Tor connection -alias tortest='curl --socks5-hostname 127.0.0.1:9050 --silent https://check.torproject.org/ | head -25' - -# Unban IP address (e.g. unban 10.14.24.14) -alias unban='sudo fail2ban-client set sshd unbanip' - -# Recursively encrypts files using Ansible Vault -alias unvaultdir='find . -type f -printf "%h/\"%f\" " | xargs ansible-vault decrypt' - -# Alias for updating software -alias update='sudo apt-get update && sudo apt-get upgrade' - -# Sets v as an alias for vim -alias v='vim' - -# Recursively encrypts files using Ansible Vault -alias vaultdir='find . -type f -printf "%h/\"%f\" " | xargs ansible-vault encrypt' - -# Shows nice looking report of weather -alias weather='curl -A curl wttr.in' - -# Change .wget-hsts file location -alias wget="wget --hsts-file ~/.config/.wget-hsts" - -# Running this will update GPG to point to the current YubiKey -alias yubikey-gpg-stub='gpg-connect-agent "scd serialno" "learn --force" /bye' diff --git a/.local/antigen.zsh b/.local/antigen.zsh deleted file mode 100644 index b39c8dd7..00000000 --- a/.local/antigen.zsh +++ /dev/null @@ -1,2057 +0,0 @@ -###################################################################### -# This file was autogenerated by `make`. Do not edit it directly! -###################################################################### -# Antigen: A simple plugin manager for zsh - # Authors: Shrikant Sharat Kandula - # and Contributors - # Homepage: http://antigen.sharats.me - # License: MIT License -zmodload zsh/parameter -autoload -U is-at-least - -# While boot.zsh is part of the ext/cache functionallity it may be disabled -# with ANTIGEN_CACHE flag, and it's always compiled with antigen.zsh -if [[ $ANTIGEN_CACHE != false ]]; then - ANTIGEN_CACHE="${ANTIGEN_CACHE:-${ADOTDIR:-$HOME/.antigen}/init.zsh}" - ANTIGEN_RSRC="${ANTIGEN_RSRC:-${ADOTDIR:-$HOME/.antigen}/.resources}" - - # It may not be necessary to check ANTIGEN_AUTO_CONFIG. - if [[ $ANTIGEN_AUTO_CONFIG != false && -f $ANTIGEN_RSRC ]]; then - # Check the list of files for configuration changes (uses -nt comp) - ANTIGEN_CHECK_FILES=$(cat $ANTIGEN_RSRC 2> /dev/null) - ANTIGEN_CHECK_FILES=(${(@f)ANTIGEN_CHECK_FILES}) - - for config in $ANTIGEN_CHECK_FILES; do - if [[ "$config" -nt "$config.zwc" ]]; then - # Flag configuration file as newer - { zcompile "$config" } &! - # Kill cache file in order to force full loading (see a few lines below) - [[ -f "$ANTIGEN_CACHE" ]] && rm -f "$ANTIGEN_CACHE" - fi - done - fi - - # If there is a cache file do load from it - if [[ -f $ANTIGEN_CACHE && ! $_ANTIGEN_CACHE_LOADED == true ]]; then - # Wrap antigen in order to defer cache source until `antigen-apply` - antigen() { - if [[ $1 == "apply" ]]; then - source "$ANTIGEN_CACHE" - # Handle `antigen-init` command properly - elif [[ $1 == "init" ]]; then - source "$2" - fi - } - # Do not continue loading antigen as cache bundle takes care of it. - return 0 - fi -fi -[[ -z "$_ANTIGEN_INSTALL_DIR" ]] && _ANTIGEN_INSTALL_DIR=${0:A:h} - -# Each line in this string has the following entries separated by a space -# character. -# , , , -[[ $_ANTIGEN_CACHE_LOADED != true ]] && typeset -aU _ANTIGEN_BUNDLE_RECORD - -# Do not load anything if git is not available. -if (( ! $+commands[git] )); then - echo 'Antigen: Please install git to use Antigen.' >&2 - return 1 -fi - -# Used to defer compinit/compdef -typeset -a __deferred_compdefs -compdef () { __deferred_compdefs=($__deferred_compdefs "$*") } - -# A syntax sugar to avoid the `-` when calling antigen commands. With this -# function, you can write `antigen-bundle` as `antigen bundle` and so on. -antigen () { - local cmd="$1" - if [[ -z "$cmd" ]]; then - echo 'Antigen: Please give a command to run.' >&2 - return 1 - fi - shift - - if (( $+functions[antigen-$cmd] )); then - "antigen-$cmd" "$@" - return $? - else - echo "Antigen: Unknown command: $cmd" >&2 - return 1 - fi -} -# Returns the bundle's git revision -# -# Usage -# -antigen-bundle-rev bundle-name [is_local_clone] -# -# Returns -# Bundle rev-parse output (branch name or short ref name) --antigen-bundle-rev () { - local bundle=$1 - local is_local_clone=$2 - - local bundle_path=$bundle - # Get bunde path inside $ADOTDIR if bundle was effectively cloned - if [[ "$is_local_clone" == "true" ]]; then - bundle_path=$(-antigen-get-clone-dir $bundle) - fi - - local ref - ref=$(git --git-dir="$bundle_path/.git" rev-parse --abbrev-ref '@' 2>/dev/null) - - # Avoid 'HEAD' when in detached mode - if [[ $ref == "HEAD" ]]; then - ref=$(git --git-dir="$bundle_path/.git" describe --tags --exact-match 2>/dev/null \ - || git --git-dir="$bundle_path/.git" rev-parse --short '@' 2>/dev/null || "-") - fi - echo $ref -} -# Usage: -# -antigen-bundle-short-name "https://github.com/user/repo.git[|*]" "[branch/name]" -# Returns: -# user/repo@branch/name --antigen-bundle-short-name () { - local bundle_name="${1%|*}" - local bundle_branch="$2" - local match mbegin mend MATCH MBEGIN MEND - - [[ "$bundle_name" =~ '.*/(.*/.*).*$' ]] && bundle_name=$match[1] - bundle_name="${bundle_name%.git*}" - - if [[ -n $bundle_branch ]]; then - bundle_name="$bundle_name@$bundle_branch" - fi - - echo $bundle_name -} -# Echo the bundle specs as in the record. The first line is not echoed since it -# is a blank line. --antigen-echo-record () { - echo ${(j:\n:)_ANTIGEN_BUNDLE_RECORD} -} -# Filters _ANTIGEN_BUNDLE_RECORD for $1 -# -# Usage -# -antigen-find-bundle example/bundle -# -# Returns -# String if bundle is found --antigen-find-bundle () { - echo $(-antigen-find-record $1 | cut -d' ' -f1) -} - -# Filters _ANTIGEN_BUNDLE_RECORD for $1 -# -# Usage -# -antigen-find-record example/bundle -# -# Returns -# String if record is found --antigen-find-record () { - local bundle=$1 - - if [[ $# -eq 0 ]]; then - return 1 - fi - - local record=${bundle/\|/\\\|} - echo "${_ANTIGEN_BUNDLE_RECORD[(r)*$record*]}" -} -# Returns bundle names from _ANTIGEN_BUNDLE_RECORD -# -# Usage -# -antigen-get-bundles [--short|--simple|--long] -# -# Returns -# List of bundles installed --antigen-get-bundles () { - local mode revision url bundle_name bundle_entry loc no_local_clone - local record bundle make_local_clone - mode=${1:-"--short"} - - for record in $_ANTIGEN_BUNDLE_RECORD; do - bundle=(${(@s/ /)record}) - url=$bundle[1] - loc=$bundle[2] - make_local_clone=$bundle[4] - - bundle_name=$(-antigen-bundle-short-name $url) - - case "$mode" in - --short) - # Only check revision for bundle with a requested branch - if [[ $url == *\|* ]]; then - revision=$(-antigen-bundle-rev $url $make_local_clone) - else - revision="master" - fi - - if [[ $loc != '/' ]]; then - bundle_name="$bundle_name ~ $loc" - fi - echo "$bundle_name @ $revision" - ;; - --simple) - echo "$bundle_name" - ;; - --long) - echo "$record" - ;; - esac - done -} -# Usage: -# -antigen-get-clone-dir "https://github.com/zsh-users/zsh-syntax-highlighting.git[|feature/branch]" -# Returns: -# $ANTIGEN_BUNDLES/zsh-users/zsh-syntax-highlighting[-feature-branch] --antigen-get-clone-dir () { - local bundle="$1" - local url="${bundle%|*}" - local branch match mbegin mend MATCH MBEGIN MEND - [[ "$bundle" =~ "\|" ]] && branch="${bundle#*|}" - - # Takes a repo url and mangles it, giving the path that this url will be - # cloned to. Doesn't actually clone anything. - local clone_dir="$ANTIGEN_BUNDLES" - - url=$(-antigen-bundle-short-name $url) - - # Suffix with branch/tag name - [[ -n "$branch" ]] && url="$url-${branch//\//-}" - url=${url//\*/x} - - echo "$clone_dir/$url" -} -# Returns bundles flagged as make_local_clone -# -# Usage -# -antigen-cloned-bundles -# -# Returns -# Bundle metadata --antigen-get-cloned-bundles() { - -antigen-echo-record | - awk '$4 == "true" {print $1}' | - sort -u -} -# Returns a list of themes from a default library (omz) -# -# Usage -# -antigen-get-themes -# -# Returns -# List of themes by name --antigen-get-themes () { - local library='robbyrussell/oh-my-zsh' - local bundle=$(-antigen-find-bundle $library) - - if [[ -n "$bundle" ]]; then - local dir=$(-antigen-get-clone-dir $ANTIGEN_DEFAULT_REPO_URL) - echo $(ls $dir/themes/ | grep '.zsh-theme$' | sed 's/.zsh-theme//') - fi - - return 0 -} - -# This function check ZSH_EVAL_CONTEXT to determine if running in interactive shell. -# -# Usage -# -antigen-interactive-mode -# -# Returns -# Either true or false depending if we are running in interactive mode --antigen-interactive-mode () { - WARN "-antigen-interactive-mode: $ZSH_EVAL_CONTEXT \$_ANTIGEN_INTERACTIVE = $_ANTIGEN_INTERACTIVE" - if [[ $_ANTIGEN_INTERACTIVE != "" ]]; then - [[ $_ANTIGEN_INTERACTIVE == true ]]; - return - fi - - [[ "$ZSH_EVAL_CONTEXT" == toplevel* || "$ZSH_EVAL_CONTEXT" == cmdarg* ]]; -} -# Parses and retrieves a remote branch given a branch name. -# -# If the branch name contains '*' it will retrieve remote branches -# and try to match against tags and heads, returning the latest matching. -# -# Usage -# -antigen-parse-branch https://github.com/user/repo.git x.y.z -# -# Returns -# Branch name --antigen-parse-branch () { - local url="$1" branch="$2" branches - - local match mbegin mend MATCH MBEGIN MEND - - if [[ "$branch" =~ '\*' ]]; then - branches=$(git ls-remote --tags -q "$url" "$branch"|cut -d'/' -f3|sort -n|tail -1) - # There is no --refs flag in git 1.8 and below, this way we - # emulate this flag -- also git 1.8 ref order is undefined. - branch=${${branches#*/*/}%^*} # Why you are like this? - fi - - echo $branch -} --antigen-update-repos () { - local repo bundle url target - local log=/tmp/antigen-v2-migrate.log - - echo "It seems you have bundles cloned with Antigen v1.x." - echo "We'll try to convert directory structure to v2." - echo - - echo -n "Moving bundles to '\$ADOTDIR/bundles'... " - - # Migrate old repos -> bundles - local errors=0 - for repo in $ADOTDIR/repos/*; do - bundle=${repo/$ADOTDIR\/repos\//} - bundle=${bundle//-SLASH-/\/} - bundle=${bundle//-COLON-/\:} - bundle=${bundle//-STAR-/\*} - url=${bundle//-PIPE-/\|} - target=$(-antigen-get-clone-dir $url) - mkdir -p "${target:A:h}" - echo " ---> ${repo/$ADOTDIR\/} -> ${target/$ADOTDIR\/}" | tee > $log - mv "$repo" "$target" &> $log - if [[ $? != 0 ]]; then - echo "Failed to migrate '$repo'!." - errors+=1 - fi - done - - if [[ $errors == 0 ]]; then - echo "Done." - else - echo "An error ocurred!" - fi - echo - - if [[ "$(ls -A $ADOTDIR/repos | wc -l | xargs)" == 0 ]]; then - echo "You can safely remove \$ADOTDIR/repos." - else - echo "Some bundles couldn't be migrated. See \$ADOTDIR/repos." - fi - - echo - if [[ $errors == 0 ]]; then - echo "Bundles migrated successfuly." - rm $log - else - echo "Some errors occured. Review migration log in '$log'." - fi - antigen-reset -} -# Ensure that a clone exists for the given repo url and branch. If the first -# argument is `update` and if a clone already exists for the given repo -# and branch, it is pull-ed, i.e., updated. -# -# This function expects three arguments in order: -# - 'url=' -# - 'update=true|false' -# - 'verbose=true|false' -# -# Returns true|false Whether cloning/pulling was succesful --antigen-ensure-repo () { - # Argument defaults. Previously using ${1:?"missing url argument"} format - # but it seems to mess up with cram - if (( $# < 1 )); then - echo "Antigen: Missing url argument." - return 1 - fi - - # The url. No sane default for this, so just empty. - local url=$1 - # Check if we have to update. - local update=${2:-false} - # Verbose output. - local verbose=${3:-false} - - shift $# - - # Get the clone's directory as per the given repo url and branch. - local clone_dir=$(-antigen-get-clone-dir $url) - if [[ -d "$clone_dir" && $update == false ]]; then - return true - fi - - # A temporary function wrapping the `git` command with repeated arguments. - --plugin-git () { - (\cd -q "$clone_dir" && eval ${ANTIGEN_CLONE_ENV} git --git-dir="$clone_dir/.git" --no-pager "$@" &>>! $ANTIGEN_LOG) - } - - local success=false - - # If its a specific branch that we want, checkout that branch. - local branch="master" # TODO FIX THIS - if [[ $url == *\|* ]]; then - branch="$(-antigen-parse-branch ${url%|*} ${url#*|})" - fi - - if [[ ! -d $clone_dir ]]; then - eval ${ANTIGEN_CLONE_ENV} git clone ${=ANTIGEN_CLONE_OPTS} --branch "$branch" -- "${url%|*}" "$clone_dir" &>> $ANTIGEN_LOG - success=$? - elif $update; then - # Save current revision. - local old_rev="$(--plugin-git rev-parse HEAD)" - # Pull changes if update requested. - --plugin-git checkout "$branch" - --plugin-git pull origin "$branch" - success=$? - - # Update submodules. - --plugin-git submodule update ${=ANTIGEN_SUBMODULE_OPTS} - # Get the new revision. - local new_rev="$(--plugin-git rev-parse HEAD)" - fi - - if [[ -n $old_rev && $old_rev != $new_rev ]]; then - echo Updated from $old_rev[0,7] to $new_rev[0,7]. - if $verbose; then - --plugin-git log --oneline --reverse --no-merges --stat '@{1}..' - fi - fi - - # Remove the temporary git wrapper function. - unfunction -- --plugin-git - - return $success -} -# Helper function: Same as `$1=$2`, but will only happen if the name -# specified by `$1` is not already set. --antigen-set-default () { - local arg_name="$1" - local arg_value="$2" - eval "test -z \"\$$arg_name\" && typeset -g $arg_name='$arg_value'" -} - --antigen-env-setup () { - typeset -gU fpath path - - # Pre-startup initializations. - -antigen-set-default ANTIGEN_OMZ_REPO_URL \ - https://github.com/robbyrussell/oh-my-zsh.git - -antigen-set-default ANTIGEN_PREZTO_REPO_URL \ - https://github.com/sorin-ionescu/prezto.git - -antigen-set-default ANTIGEN_DEFAULT_REPO_URL $ANTIGEN_OMZ_REPO_URL - - # Default Antigen directory. - -antigen-set-default ADOTDIR $HOME/.antigen - [[ ! -d $ADOTDIR ]] && mkdir -p $ADOTDIR - - # Defaults bundles directory. - -antigen-set-default ANTIGEN_BUNDLES $ADOTDIR/bundles - - # If there is no bundles directory, create it. - if [[ ! -d $ANTIGEN_BUNDLES ]]; then - mkdir -p $ANTIGEN_BUNDLES - # Check for v1 repos directory, transform it to v2 format. - [[ -d $ADOTDIR/repos ]] && -antigen-update-repos - fi - - -antigen-set-default ANTIGEN_COMPDUMP "${ADOTDIR:-$HOME}/.zcompdump" - -antigen-set-default ANTIGEN_LOG /dev/null - - # CLONE_OPTS uses ${=CLONE_OPTS} expansion so don't use spaces - # for arguments that can be passed as `--key=value`. - -antigen-set-default ANTIGEN_CLONE_ENV "GIT_TERMINAL_PROMPT=0" - -antigen-set-default ANTIGEN_CLONE_OPTS "--single-branch --recursive --depth=1" - -antigen-set-default ANTIGEN_SUBMODULE_OPTS "--recursive --depth=1" - - # Complain when a bundle is already installed. - -antigen-set-default _ANTIGEN_WARN_DUPLICATES true - - # Compatibility with oh-my-zsh themes. - -antigen-set-default _ANTIGEN_THEME_COMPAT true - - # Add default built-in extensions to load at start up - -antigen-set-default _ANTIGEN_BUILTIN_EXTENSIONS 'lock parallel defer cache' - - # Setup antigen's own completion. - if -antigen-interactive-mode; then - TRACE "Gonna create compdump file @ env-setup" COMPDUMP - autoload -Uz compinit - compinit -d "$ANTIGEN_COMPDUMP" - compdef _antigen antigen - else - (( $+functions[antigen-ext-init] )) && antigen-ext-init - fi -} -# Load a given bundle by sourcing it. -# -# The function also modifies fpath to add the bundle path. -# -# Usage -# -antigen-load "bundle-url" ["location"] ["make_local_clone"] ["btype"] -# -# Returns -# Integer. 0 if success 1 if an error ocurred. --antigen-load () { - local bundle list - typeset -A bundle; bundle=($@) - - typeset -Ua list; list=() - local location="${bundle[dir]}/${bundle[loc]}" - - # Prioritize location when given. - if [[ -f "${location}" ]]; then - list=(${location}) - else - # Directory locations must be suffixed with slash - location="$location/" - - # Prioritize theme with antigen-theme - if [[ ${bundle[btype]} == "theme" ]]; then - list=(${location}*.zsh-theme(N[1])) - fi - - # Common frameworks - if [[ $#list == 0 ]]; then - # dot-plugin, init and functions support (omz, prezto) - # Support prezto function loading. See https://github.com/zsh-users/antigen/pull/428 - list=(${location}*.plugin.zsh(N[1]) ${location}init.zsh(N[1]) ${location}/functions(N[1])) - fi - - # Default to zsh and sh - if [[ $#list == 0 ]]; then - list=(${location}*.zsh(N) ${location}*.sh(N)) - fi - fi - - -antigen-load-env ${(kv)bundle} - - # If there is any sourceable try to load it - if ! -antigen-load-source "${list[@]}" && [[ ! -d ${location} ]]; then - return 1 - fi - - return 0 -} - --antigen-load-env () { - typeset -A bundle; bundle=($@) - local location=${bundle[dir]}/${bundle[loc]} - - # Load to path if there is no sourceable - if [[ -d ${location} ]]; then - PATH="$PATH:${location:A}" - fpath+=("${location:A}") - return - fi - - PATH="$PATH:${location:A:h}" - fpath+=("${location:A:h}") -} - --antigen-load-source () { - typeset -a list - list=($@) - local src match mbegin mend MATCH MBEGIN MEND - - # Return error when we're given an empty list - if [[ $#list == 0 ]]; then - return 1 - fi - - # Using a for rather than `source $list` as we need to check for zsh-themes - # In order to create antigen-compat file. This is only needed for interactive-mode - # theme switching, for static loading (cache) there is no need. - for src in $list; do - if [[ $_ANTIGEN_THEME_COMPAT == true && -f "$src" && "$src" == *.zsh-theme* ]]; then - local compat="${src:A}.antigen-compat" - echo "# Generated by Antigen. Do not edit!" >! "$compat" - cat $src | sed -Ee '/\{$/,/^\}/!{ - s/^local // - }' >>! "$compat" - src="$compat" - fi - - if ! source "$src" 2>/dev/null; then - return 1 - fi - done -} -# Usage: -# -antigen-parse-args output_assoc_arr --antigen-parse-args () { - local argkey key value index=0 args - local match mbegin mend MATCH MBEGIN MEND - - local var=$1 - shift - - # Bundle spec arguments' default values. - #setopt XTRACE VERBOSE - builtin typeset -A args - args[url]="$ANTIGEN_DEFAULT_REPO_URL" - #unsetopt XTRACE VERBOSE - args[loc]=/ - args[make_local_clone]=true - args[btype]=plugin - #args[branch]= # commented out as it may cause assoc array kv mismatch - - while [[ $# -gt 0 ]]; do - argkey="${1%\=*}" - key="${argkey//--/}" - value="${1#*=}" - - case "$argkey" in - --url|--loc|--branch|--btype) - if [[ "$value" == "$argkey" ]]; then - printf "Required argument for '%s' not provided.\n" $key >&2 - else - args[$key]="$value" - fi - ;; - --no-local-clone) - args[make_local_clone]=false - ;; - --*) - printf "Unknown argument '%s'.\n" $key >&2 - ;; - *) - value=$key - case $index in - 0) - key=url - local domain="" - local url_path=$value - # Full url with protocol or ssh github url (github.com:org/repo) - if [[ "$value" =~ "://" || "$value" =~ ":" ]]; then - if [[ "$value" =~ [@.][^/:]+[:]?[0-9]*[:/]?(.*)@?$ ]]; then - url_path=$match[1] - domain=${value/$url_path/} - fi - fi - - if [[ "$url_path" =~ '@' ]]; then - args[branch]="${url_path#*@}" - value="$domain${url_path%@*}" - else - value="$domain$url_path" - fi - ;; - 1) key=loc ;; - esac - let index+=1 - args[$key]="$value" - ;; - esac - - shift - done - - # Check if url is just the plugin name. Super short syntax. - if [[ "${args[url]}" != */* ]]; then - case "$ANTIGEN_DEFAULT_REPO_URL" in - "$ANTIGEN_OMZ_REPO_URL") - args[loc]="plugins/${args[url]}" - ;; - "$ANTIGEN_PREZTO_REPO_URL") - args[loc]="modules/${args[url]}" - ;; - *) - args[loc]="${args[url]}" - ;; - esac - args[url]="$ANTIGEN_DEFAULT_REPO_URL" - fi - - # Resolve the url. - # Expand short github url syntax: `username/reponame`. - local url="${args[url]}" - if [[ $url != git://* && - $url != https://* && - $url != http://* && - $url != ssh://* && - $url != /* && - $url != *github.com:*/* - ]]; then - url="https://github.com/${url%.git}.git" - fi - args[url]="$url" - - # Ignore local clone if url given is not a git directory - if [[ ${args[url]} == /* && ! -d ${args[url]}/.git ]]; then - args[make_local_clone]=false - fi - - # Add the branch information to the url if we need to create a local clone. - # Format url in bundle-metadata format: url[|branch] - if [[ ! -z "${args[branch]}" && ${args[make_local_clone]} == true ]]; then - args[url]="${args[url]}|${args[branch]}" - fi - - # Add the theme extension to `loc`, if this is a theme, but only - # if it's especified, ie, --loc=theme-name, in case when it's not - # specified antige-load-list will look for *.zsh-theme files - if [[ ${args[btype]} == "theme" && - ${args[loc]} != "/" && ${args[loc]} != *.zsh-theme ]]; then - args[loc]="${args[loc]}.zsh-theme" - fi - - local name="${args[url]%|*}" - local branch="${args[branch]}" - - # Extract bundle name. - if [[ "$name" =~ '.*/(.*/.*).*$' ]]; then - name="${match[1]}" - fi - name="${name%.git*}" - - # Format bundle name with optional branch. - if [[ -n "${branch}" ]]; then - args[name]="${name}@${branch}" - else - args[name]="${name}" - fi - - # Format bundle path. - if [[ ${args[make_local_clone]} == true ]]; then - local bpath="$name" - # Suffix with branch/tag name - if [[ -n "$branch" ]]; then - # bpath is in the form of repo/name@version => repo/name-version - # Replace / with - in bundle branch. - local bbranch=${branch//\//-} - # If branch/tag is semver-like do replace * by x. - bbranch=${bbranch//\*/x} - bpath="${name}-${bbranch}" - fi - - bpath="$ANTIGEN_BUNDLES/$bpath" - args[dir]="${(qq)bpath}" - else - # if it's local then path is just the "url" argument, loc remains the same - args[dir]=${args[url]} - fi - - # Escape url and branch (may contain semver-like and pipe characters) - args[url]="${(qq)args[url]}" - if [[ -n "${args[branch]}" ]]; then - args[branch]="${(qq)args[branch]}" - fi - - # Escape bundle name (may contain semver-like characters) - args[name]="${(qq)args[name]}" - - eval "${var}=(${(kv)args})" - - return 0 -} -# Updates revert-info data with git hash. -# -# This does process only cloned bundles. -# -# Usage -# -antigen-revert-info -# -# Returns -# Nothing. Generates/updates $ADOTDIR/revert-info. --antigen-revert-info() { - local url - # Update your bundles, i.e., `git pull` in all the plugin repos. - date >! $ADOTDIR/revert-info - - -antigen-get-cloned-bundles | while read url; do - local clone_dir="$(-antigen-get-clone-dir "$url")" - if [[ -d "$clone_dir" ]]; then - (echo -n "$clone_dir:" - \cd -q "$clone_dir" - git rev-parse HEAD) >> $ADOTDIR/revert-info - fi - done -} --antigen-use-oh-my-zsh () { - typeset -g ZSH ZSH_CACHE_DIR - ANTIGEN_DEFAULT_REPO_URL=$ANTIGEN_OMZ_REPO_URL - if [[ -z "$ZSH" ]]; then - ZSH="$(-antigen-get-clone-dir "$ANTIGEN_DEFAULT_REPO_URL")" - fi - if [[ -z "$ZSH_CACHE_DIR" ]]; then - ZSH_CACHE_DIR="$ZSH/cache/" - fi - antigen-bundle --loc=lib -} --antigen-use-prezto () { - ANTIGEN_DEFAULT_REPO_URL=$ANTIGEN_PREZTO_REPO_URL - antigen-bundle "$ANTIGEN_PREZTO_REPO_URL" -} -# Initialize completion -antigen-apply () { - LOG "Called antigen-apply" - - # Load the compinit module. This will readefine the `compdef` function to - # the one that actually initializes completions. - TRACE "Gonna create compdump file @ apply" COMPDUMP - autoload -Uz compinit - compinit -d "$ANTIGEN_COMPDUMP" - - # Apply all `compinit`s that have been deferred. - local cdef - for cdef in "${__deferred_compdefs[@]}"; do - compdef "$cdef" - done - - { zcompile "$ANTIGEN_COMPDUMP" } &! - - unset __deferred_compdefs -} -# Syntaxes -# antigen-bundle [=/] -# Keyword only arguments: -# branch - The branch of the repo to use for this bundle. -antigen-bundle () { - TRACE "Called antigen-bundle with $@" BUNDLE - if [[ -z "$1" ]]; then - printf "Antigen: Must provide a bundle url or name.\n" >&2 - return 1 - fi - - builtin typeset -A bundle; -antigen-parse-args 'bundle' ${=@} - if [[ -z ${bundle[btype]} ]]; then - bundle[btype]=bundle - fi - - local record="${bundle[url]} ${bundle[loc]} ${bundle[btype]} ${bundle[make_local_clone]}" - if [[ $_ANTIGEN_WARN_DUPLICATES == true && ! ${_ANTIGEN_BUNDLE_RECORD[(I)$record]} == 0 ]]; then - printf "Seems %s is already installed!\n" ${bundle[name]} - return 1 - fi - - # Clone bundle if we haven't done do already. - if [[ ! -d "${bundle[dir]}" ]]; then - if ! -antigen-bundle-install ${(kv)bundle}; then - return 1 - fi - fi - - # Load the plugin. - if ! -antigen-load ${(kv)bundle}; then - TRACE "-antigen-load failed to load ${bundle[name]}" BUNDLE - printf "Antigen: Failed to load %s.\n" ${bundle[btype]} >&2 - return 1 - fi - - # Only add it to the record if it could be installed and loaded. - _ANTIGEN_BUNDLE_RECORD+=("$record") -} - -# -# Usage: -# -antigen-bundle-install -# Returns: -# 1 if it fails to install bundle --antigen-bundle-install () { - typeset -A bundle; bundle=($@) - - # Ensure a clone exists for this repo, if needed. - # Get the clone's directory as per the given repo url and branch. - local bpath="${bundle[dir]}" - # Clone if it doesn't already exist. - local start=$(date +'%s') - - printf "Installing %s... " "${bundle[name]}" - - if ! -antigen-ensure-repo "${bundle[url]}"; then - # Return immediately if there is an error cloning - TRACE "-antigen-bundle-instal failed to clone ${bundle[url]}" BUNDLE - printf "Error! Activate logging and try again.\n" >&2 - return 1 - fi - - local took=$(( $(date +'%s') - $start )) - printf "Done. Took %ds.\n" $took -} -antigen-bundles () { - # Bulk add many bundles at one go. Empty lines and lines starting with a `#` - # are ignored. Everything else is given to `antigen-bundle` as is, no - # quoting rules applied. - local line - setopt localoptions no_extended_glob # See https://github.com/zsh-users/antigen/issues/456 - grep '^[[:space:]]*[^[:space:]#]' | while read line; do - antigen-bundle ${=line%#*} - done -} -# Cleanup unused repositories. -antigen-cleanup () { - local force=false - if [[ $1 == --force ]]; then - force=true - fi - - if [[ ! -d "$ANTIGEN_BUNDLES" || -z "$(\ls -A "$ANTIGEN_BUNDLES")" ]]; then - echo "You don't have any bundles." - return 0 - fi - - # Find directores in ANTIGEN_BUNDLES, that are not in the bundles record. - typeset -a unused_clones clones - - local url record clone - for record in $(-antigen-get-cloned-bundles); do - url=${record% /*} - clones+=("$(-antigen-get-clone-dir $url)") - done - - for clone in $ANTIGEN_BUNDLES/*/*(/); do - if [[ $clones[(I)$clone] == 0 ]]; then - unused_clones+=($clone) - fi - done - - if [[ -z $unused_clones ]]; then - echo "You don't have any unidentified bundles." - return 0 - fi - - echo 'You have clones for the following repos, but are not used.' - echo "\n${(j:\n:)unused_clones}" - - if $force || (echo -n '\nDelete them all? [y/N] '; read -q); then - echo - echo - for clone in $unused_clones; do - echo -n "Deleting clone \"$clone\"..." - \rm -rf "$clone" - - echo ' done.' - done - else - echo - echo "Nothing deleted." - fi -} -antigen-help () { - antigen-version - - cat < [args] - -Commands: - apply Must be called in the zshrc after all calls to 'antigen bundle'. - bundle Install and load a plugin. - cache-gen Generate Antigen's cache with currently loaded bundles. - cleanup Remove clones of repos not used by any loaded plugins. - init Use caching to quickly load bundles. - list List currently loaded plugins. - purge Remove a bundle from the filesystem. - reset Clean the generated cache. - restore Restore plugin state from a snapshot file. - revert Revert plugins to their state prior to the last time 'antigen - update' was run. - selfupdate Update antigen. - snapshot Create a snapshot of all active plugin repos and save it to a - snapshot file. - update Update plugins. - use Load a supported zsh pre-packaged framework. - -For further details and complete documentation, visit the project's page at -'http://antigen.sharats.me'. -EOF -} -# Antigen command to load antigen configuration -# -# This method is slighlty more performing than using various antigen-* methods. -# -# Usage -# Referencing an antigen configuration file: -# -# antigen-init "/path/to/antigenrc" -# -# or using HEREDOCS: -# -# antigen-init <&2 - return 1 - fi - fi - - # Otherwise we expect it to be a heredoc - grep '^[[:space:]]*[^[:space:]#]' | while read -r line; do - eval $line - done -} -# List instaled bundles either in long (record), short or simple format. -# -# Usage -# antigen-list [--short|--long|--simple] -# -# Returns -# List of bundles -antigen-list () { - local format=$1 - - # List all currently installed bundles. - if [[ -z $_ANTIGEN_BUNDLE_RECORD ]]; then - echo "You don't have any bundles." >&2 - return 1 - fi - - -antigen-get-bundles $format -} -# Remove a bundle from filesystem -# -# Usage -# antigen-purge example/bundle [--force] -# -# Returns -# Nothing. Removes bundle from filesystem. -antigen-purge () { - local bundle=$1 - local force=$2 - - if [[ $# -eq 0 ]]; then - echo "Antigen: Missing argument." >&2 - return 1 - fi - - if -antigen-purge-bundle $bundle $force; then - antigen-reset - else - return $? - fi - - return 0 -} - -# Remove a bundle from filesystem -# -# Usage -# antigen-purge example/bundle [--force] -# -# Returns -# Nothing. Removes bundle from filesystem. --antigen-purge-bundle () { - local bundle=$1 - local force=$2 - local clone_dir="" - - local record="" - local url="" - local make_local_clone="" - - if [[ $# -eq 0 ]]; then - echo "Antigen: Missing argument." >&2 - return 1 - fi - - # local keyword doesn't work on zsh <= 5.0.0 - record=$(-antigen-find-record $bundle) - - if [[ ! -n "$record" ]]; then - echo "Bundle not found in record. Try 'antigen bundle $bundle' first." >&2 - return 1 - fi - - url="$(echo "$record" | cut -d' ' -f1)" - make_local_clone=$(echo "$record" | cut -d' ' -f4) - - if [[ $make_local_clone == "false" ]]; then - echo "Bundle has no local clone. Will not be removed." >&2 - return 1 - fi - - clone_dir=$(-antigen-get-clone-dir "$url") - if [[ $force == "--force" ]] || read -q "?Remove '$clone_dir'? (y/n) "; then - # Need empty line after read -q - [[ ! -n $force ]] && echo "" || echo "Removing '$clone_dir'."; - rm -rf "$clone_dir" - return $? - fi - - return 1 -} -# Removes cache payload and metadata if available -# -# Usage -# antigen-reset -# -# Returns -# Nothing -antigen-reset () { - [[ -f "$ANTIGEN_CACHE" ]] && rm -f "$ANTIGEN_CACHE" "$ANTIGEN_CACHE.zwc" 1> /dev/null - [[ -f "$ANTIGEN_RSRC" ]] && rm -f "$ANTIGEN_RSRC" 1> /dev/null - [[ -f "$ANTIGEN_COMPDUMP" ]] && rm -f "$ANTIGEN_COMPDUMP" "$ANTIGEN_COMPDUMP.zwc" 1> /dev/null - [[ -f "$ANTIGEN_LOCK" ]] && rm -f "$ANTIGEN_LOCK" 1> /dev/null - echo 'Done. Please open a new shell to see the changes.' -} -antigen-restore () { - local line - if [[ $# == 0 ]]; then - echo 'Please provide a snapshot file to restore from.' >&2 - return 1 - fi - - local snapshot_file="$1" - - # TODO: Before doing anything with the snapshot file, verify its checksum. - # If it fails, notify this to the user and confirm if restore should - # proceed. - - echo -n "Restoring from $snapshot_file..." - - sed -n '1!p' "$snapshot_file" | - while read line; do - local version_hash="${line%% *}" - local url="${line##* }" - local clone_dir="$(-antigen-get-clone-dir "$url")" - - if [[ ! -d $clone_dir ]]; then - git clone "$url" "$clone_dir" &> /dev/null - fi - - (\cd -q "$clone_dir" && git checkout $version_hash) &> /dev/null - done - - echo ' done.' - echo 'Please open a new shell to get the restored changes.' -} -# Reads $ADORDIR/revert-info and restores bundles' revision -antigen-revert () { - local line - if [[ -f $ADOTDIR/revert-info ]]; then - cat $ADOTDIR/revert-info | sed -n '1!p' | while read line; do - local dir="$(echo "$line" | cut -d: -f1)" - git --git-dir="$dir/.git" --work-tree="$dir" \ - checkout "$(echo "$line" | cut -d: -f2)" 2> /dev/null - done - - echo "Reverted to state before running -update on $( - cat $ADOTDIR/revert-info | sed -n '1p')." - - else - echo 'No revert information available. Cannot revert.' >&2 - return 1 - fi -} -# Update (with `git pull`) antigen itself. -# TODO: Once update is finished, show a summary of the new commits, as a kind of -# "what's new" message. -antigen-selfupdate () { - (\cd -q $_ANTIGEN_INSTALL_DIR - if [[ ! ( -d .git || -f .git ) ]]; then - echo "Your copy of antigen doesn't appear to be a git clone. " \ - "The 'selfupdate' command cannot work in this case." - return 1 - fi - local head="$(git rev-parse --abbrev-ref HEAD)" - if [[ $head == "HEAD" ]]; then - # If current head is detached HEAD, checkout to master branch. - git checkout master - fi - git pull - - # TODO Should be transparently hooked by zcache - antigen-reset &>> /dev/null - ) -} -antigen-snapshot () { - local snapshot_file="${1:-antigen-shapshot}" - local urls url dir version_hash snapshot_content - local -a bundles - - # The snapshot content lines are pairs of repo-url and git version hash, in - # the form: - # - urls=$(-antigen-echo-record | awk '$4 == "true" {print $1}' | sort -u) - for url in ${(f)urls}; do - dir="$(-antigen-get-clone-dir "$url")" - version_hash="$(\cd -q "$dir" && git rev-parse HEAD)" - bundles+=("$version_hash $url"); - done - snapshot_content=${(j:\n:)bundles} - - { - # The first line in the snapshot file is for metadata, in the form: - # key='value'; key='value'; key='value'; - # Where `key`s are valid shell variable names. - - # Snapshot version. Has no relation to antigen version. If the snapshot - # file format changes, this number can be incremented. - echo -n "version='1';" - - # Snapshot creation date+time. - echo -n " created_on='$(date)';" - - # Add a checksum with the md5 checksum of all the snapshot lines. - chksum() { (md5sum; test $? = 127 && md5) 2>/dev/null | cut -d' ' -f1 } - local checksum="$(echo "$snapshot_content" | chksum)" - unset -f chksum; - echo -n " checksum='${checksum%% *}';" - - # A newline after the metadata and then the snapshot lines. - echo "\n$snapshot_content" - - } > "$snapshot_file" -} -# Loads a given theme. -# -# Shares the same syntax as antigen-bundle command. -# -# Usage -# antigen-theme zsh/theme[.zsh-theme] -# -# Returns -# 0 if everything was succesfully -antigen-theme () { - local name=$1 result=0 record - local match mbegin mend MATCH MBEGIN MEND - - if [[ -z "$1" ]]; then - printf "Antigen: Must provide a theme url or name.\n" >&2 - return 1 - fi - - -antigen-theme-reset-hooks - - record=$(-antigen-find-record "theme") - if [[ "$1" != */* && "$1" != --* ]]; then - # The first argument is just a name of the plugin, to be picked up from - # the default repo. - antigen-bundle --loc=themes/$name --btype=theme - - else - antigen-bundle "$@" --btype=theme - - fi - result=$? - - # Remove a theme from the record if the following conditions apply: - # - there was no error in bundling the given theme - # - there is a theme registered - # - registered theme is not the same as the current one - if [[ $result == 0 && -n $record ]]; then - # http://zsh-workers.zsh.narkive.com/QwfCWpW8/what-s-wrong-with-this-expression - if [[ "$record" =~ "$@" ]]; then - return $result - else - _ANTIGEN_BUNDLE_RECORD[$_ANTIGEN_BUNDLE_RECORD[(I)$record]]=() - fi - fi - - return $result -} - --antigen-theme-reset-hooks () { - # This is only needed on interactive mode - autoload -U add-zsh-hook is-at-least - local hook - - # Clear out prompts - PROMPT="" - if [[ -n $RPROMPT ]]; then - RPROMPT="" - fi - - for hook in chpwd precmd preexec periodic; do - add-zsh-hook -D "${hook}" "prompt_*" - # common in omz themes - add-zsh-hook -D "${hook}" "*_${hook}" - add-zsh-hook -d "${hook}" "vcs_info" - done -} -# Updates the bundles or a single bundle. -# -# Usage -# antigen-update [example/bundle] -# -# Returns -# Nothing. Performs a `git pull`. -antigen-update () { - local bundle=$1 url - - # Clear log - :> $ANTIGEN_LOG - - # Update revert-info data - -antigen-revert-info - - # If no argument is given we update all bundles - if [[ $# -eq 0 ]]; then - # Here we're ignoring all non cloned bundles (ie, --no-local-clone) - -antigen-get-cloned-bundles | while read url; do - -antigen-update-bundle $url - done - # TODO next minor version - # antigen-reset - else - if -antigen-update-bundle $bundle; then - # TODO next minor version - # antigen-reset - else - return $? - fi - fi -} - -# Updates a bundle performing a `git pull`. -# -# Usage -# -antigen-update-bundle example/bundle -# -# Returns -# Nothing. Performs a `git pull`. --antigen-update-bundle () { - local bundle="$1" - local record="" - local url="" - local make_local_clone="" - local start=$(date +'%s') - - if [[ $# -eq 0 ]]; then - printf "Antigen: Missing argument.\n" >&2 - return 1 - fi - - record=$(-antigen-find-record $bundle) - if [[ ! -n "$record" ]]; then - printf "Bundle not found in record. Try 'antigen bundle %s' first.\n" $bundle >&2 - return 1 - fi - - url="$(echo "$record" | cut -d' ' -f1)" - make_local_clone=$(echo "$record" | cut -d' ' -f4) - - local branch="master" - if [[ $url == *\|* ]]; then - branch="$(-antigen-parse-branch ${url%|*} ${url#*|})" - fi - - printf "Updating %s... " $(-antigen-bundle-short-name "$url" "$branch") - - if [[ $make_local_clone == "false" ]]; then - printf "Bundle has no local clone. Will not be updated.\n" >&2 - return 1 - fi - - # update=true verbose=false - if ! -antigen-ensure-repo "$url" true false; then - printf "Error! Activate logging and try again.\n" >&2 - return 1 - fi - - local took=$(( $(date +'%s') - $start )) - printf "Done. Took %ds.\n" $took -} -antigen-use () { - if [[ $1 == oh-my-zsh ]]; then - -antigen-use-oh-my-zsh - elif [[ $1 == prezto ]]; then - -antigen-use-prezto - elif [[ $1 != "" ]]; then - ANTIGEN_DEFAULT_REPO_URL=$1 - antigen-bundle $@ - else - echo 'Usage: antigen-use ' >&2 - echo 'Where is any one of the following:' >&2 - echo ' * oh-my-zsh' >&2 - echo ' * prezto' >&2 - echo ' is the full url.' >&2 - return 1 - fi -} -antigen-version () { - local version="v2.2.2" - local extensions revision="" - if [[ -d $_ANTIGEN_INSTALL_DIR/.git ]]; then - revision=" ($(git --git-dir=$_ANTIGEN_INSTALL_DIR/.git rev-parse --short '@'))" - fi - - printf "Antigen %s%s\n" $version $revision - if (( $+functions[antigen-ext] )); then - typeset -a extensions; extensions=($(antigen-ext-list)) - if [[ $#extensions -gt 0 ]]; then - printf "Extensions loaded: %s\n" ${(j:, :)extensions} - fi - fi -} -typeset -Ag _ANTIGEN_HOOKS; _ANTIGEN_HOOKS=() -typeset -Ag _ANTIGEN_HOOKS_META; _ANTIGEN_HOOKS_META=() -typeset -g _ANTIGEN_HOOK_PREFIX="-antigen-hook-" -typeset -g _ANTIGEN_EXTENSIONS; _ANTIGEN_EXTENSIONS=() - -# -antigen-add-hook antigen-apply antigen-apply-hook replace -# - Replaces hooked function with hook, do not call hooked function -# - Return -1 to stop calling further hooks -# -antigen-add-hook antigen-apply antigen-apply-hook pre (pre-call) -# - By default it will call hooked function -# -antigen-add-hook antigen-pply antigen-apply-hook post (post-call) -# - Calls antigen-apply and then calls hook function -# Usage: -# -antigen-add-hook antigen-apply antigen-apply-hook ["replace"|"pre"|"post"] ["once"|"repeat"] -antigen-add-hook () { - local target="$1" hook="$2" type="$3" mode="${4:-repeat}" - - if (( ! $+functions[$target] )); then - printf "Antigen: Function %s doesn't exist.\n" $target - return 1 - fi - - if (( ! $+functions[$hook] )); then - printf "Antigen: Function %s doesn't exist.\n" $hook - return 1 - fi - - if [[ "${_ANTIGEN_HOOKS[$target]}" == "" ]]; then - _ANTIGEN_HOOKS[$target]="${hook}" - else - _ANTIGEN_HOOKS[$target]="${_ANTIGEN_HOOKS[$target]}:${hook}" - fi - - _ANTIGEN_HOOKS_META[$hook]="target $target type $type mode $mode called 0" - - # Do shadow for this function if there is none already - local hook_function="${_ANTIGEN_HOOK_PREFIX}$target" - if (( ! $+functions[$hook_function] )); then - # Preserve hooked function - eval "function ${_ANTIGEN_HOOK_PREFIX}$(functions -- $target)" - - # Create hook, call hook-handler to further process hook functions - eval "function $target () { - noglob -antigen-hook-handler $target \$@ - return \$? - }" - fi - - return 0 -} - -# Private function to handle multiple hooks in a central point. --antigen-hook-handler () { - local target="$1" args hook called - local hooks meta - shift - typeset -a args; args=(${@}) - - typeset -a pre_hooks replace_hooks post_hooks; - typeset -a hooks; hooks=(${(s|:|)_ANTIGEN_HOOKS[$target]}) - - typeset -A meta; - for hook in $hooks; do - meta=(${(s: :)_ANTIGEN_HOOKS_META[$hook]}) - if [[ ${meta[mode]} == "once" && ${meta[called]} == 1 ]]; then - WARN "Ignoring hook due to mode ${meta[mode]}: $hook" - continue - fi - - let called=${meta[called]}+1 - meta[called]=$called - _ANTIGEN_HOOKS_META[$hook]="${(kv)meta}" - WARN "Updated meta: "${(kv)meta} - - case "${meta[type]}" in - "pre") - pre_hooks+=($hook) - ;; - "replace") - replace_hooks+=($hook) - ;; - "post") - post_hooks+=($hook) - ;; - esac - done - - WARN "Processing hooks: ${hooks}" - - for hook in $pre_hooks; do - WARN "Pre hook:" $hook $args - noglob $hook $args - [[ $? == -1 ]] && WARN "$hook shortcircuited" && return $ret - done - - # A replace hook will return inmediately - local replace_hook=0 ret=0 - for hook in $replace_hooks; do - replace_hook=1 - # Should not be needed if `antigen-remove-hook` removed unneeded hooks. - if (( $+functions[$hook] )); then - WARN "Replace hook:" $hook $args - noglob $hook $args - [[ $? == -1 ]] && WARN "$hook shortcircuited" && return $ret - fi - done - - if [[ $replace_hook == 0 ]]; then - WARN "${_ANTIGEN_HOOK_PREFIX}$target $args" - noglob ${_ANTIGEN_HOOK_PREFIX}$target $args - ret=$? - else - WARN "Replaced hooked function." - fi - - for hook in $post_hooks; do - WARN "Post hook:" $hook $args - noglob $hook $args - [[ $? == -1 ]] && WARN "$hook shortcircuited" && return $ret - done - - LOG "Return from hook ${target} with ${ret}" - - return $ret -} - -# Usage: -# -antigen-remove-hook antigen-apply-hook -antigen-remove-hook () { - local hook="$1" - typeset -A meta; meta=(${(s: :)_ANTIGEN_HOOKS_META[$hook]}) - local target="${meta[target]}" - local -a hooks; hooks=(${(s|:|)_ANTIGEN_HOOKS[$target]}) - - # Remove registered hook - if [[ $#hooks > 0 ]]; then - hooks[$hooks[(I)$hook]]=() - fi - _ANTIGEN_HOOKS[${target}]="${(j|:|)hooks}" - - if [[ $#hooks == 0 ]]; then - # Destroy base hook - eval "function $(functions -- ${_ANTIGEN_HOOK_PREFIX}$target | sed s/${_ANTIGEN_HOOK_PREFIX}//)" - if (( $+functions[${_ANTIGEN_HOOK_PREFIX}$target] )); then - unfunction -- "${_ANTIGEN_HOOK_PREFIX}$target" - fi - fi - - unfunction -- $hook 2> /dev/null -} - -# Remove all defined hooks. --antigen-reset-hooks () { - local target - - for target in ${(k)_ANTIGEN_HOOKS}; do - # Release all hooked functions - eval "function $(functions -- ${_ANTIGEN_HOOK_PREFIX}$target | sed s/${_ANTIGEN_HOOK_PREFIX}//)" - unfunction -- "${_ANTIGEN_HOOK_PREFIX}$target" 2> /dev/null - done - - _ANTIGEN_HOOKS=() - _ANTIGEN_HOOKS_META=() - _ANTIGEN_EXTENSIONS=() -} - -# Initializes an extension -# Usage: -# antigen-ext ext-name -antigen-ext () { - local ext=$1 - local func="-antigen-$ext-init" - if (( $+functions[$func] && $_ANTIGEN_EXTENSIONS[(I)$ext] == 0 )); then - eval $func - local ret=$? - WARN "$func return code was $ret" - if (( $ret == 0 )); then - LOG "LOADED EXTENSION $ext" EXT - -antigen-$ext-execute && _ANTIGEN_EXTENSIONS+=($ext) - else - WARN "IGNORING EXTENSION $func" EXT - return 1 - fi - - else - printf "Antigen: No extension defined or already loaded: %s\n" $func >&2 - return 1 - fi -} - -# List installed extensions -# Usage: -# antigen ext-list -antigen-ext-list () { - echo $_ANTIGEN_EXTENSIONS -} - -# Initializes built-in extensions -# Usage: -# antigen-ext-init -antigen-ext-init () { - # Initialize extensions. unless in interactive mode. - local ext - for ext in ${(s/ /)_ANTIGEN_BUILTIN_EXTENSIONS}; do - # Check if extension is loaded before intializing it - (( $+functions[-antigen-$ext-init] )) && antigen-ext $ext - done -} -# Initialize defer lib --antigen-defer-init () { - typeset -ga _DEFERRED_BUNDLE; _DEFERRED_BUNDLE=() - if -antigen-interactive-mode; then - return 1 - fi -} - --antigen-defer-execute () { - # Hooks antigen-bundle in order to defer its execution. - antigen-bundle-defer () { - _DEFERRED_BUNDLE+=("${(j: :)${@}}") - return -1 # Stop right there - } - antigen-add-hook antigen-bundle antigen-bundle-defer replace - - # Hooks antigen-apply in order to release hooked functions - antigen-apply-defer () { - WARN "Defer pre-apply" DEFER PRE-APPLY - antigen-remove-hook antigen-bundle-defer - - # Process all deferred bundles. - local bundle - for bundle in ${_DEFERRED_BUNDLE[@]}; do - LOG "Processing deferred bundle: ${bundle}" DEFER - antigen-bundle $bundle - done - - unset _DEFERRED_BUNDLE - } - antigen-add-hook antigen-apply antigen-apply-defer pre once -} -# Initialize lock lib --antigen-lock-init () { - # Default lock path. - -antigen-set-default ANTIGEN_LOCK $ADOTDIR/.lock - typeset -g _ANTIGEN_LOCK_PROCESS=false - - # Use env variable to determine if we should load this extension - -antigen-set-default ANTIGEN_MUTEX true - # Set ANTIGEN_MUTEX to false to avoid loading this extension - if [[ $ANTIGEN_MUTEX == true ]]; then - return 0; - fi - - # Do not use mutex - return 1; -} - --antigen-lock-execute () { - # Hook antigen command in order to check/create a lock file. - # This hook is only run once then releases itself. - antigen-lock () { - LOG "antigen-lock called" - # If there is a lock set up then we won't process anything. - if [[ -f $ANTIGEN_LOCK ]]; then - # Set up flag do the message is not repeated for each antigen-* command - [[ $_ANTIGEN_LOCK_PROCESS == false ]] && printf "Antigen: Another process in running.\n" - _ANTIGEN_LOCK_PROCESS=true - # Do not further process hooks. For this hook to properly work it - # should be registered first. - return -1 - fi - - WARN "Creating antigen-lock file at $ANTIGEN_LOCK" - touch $ANTIGEN_LOCK - } - antigen-add-hook antigen antigen-lock pre once - - # Hook antigen-apply in order to release .lock file. - antigen-apply-lock () { - WARN "Freeing antigen-lock file at $ANTIGEN_LOCK" - unset _ANTIGEN_LOCK_PROCESS - rm -f $ANTIGEN_LOCK &> /dev/null - } - antigen-add-hook antigen-apply antigen-apply-lock post once -} -# Initialize parallel lib --antigen-parallel-init () { - WARN "Init parallel extension" PARALLEL - typeset -ga _PARALLEL_BUNDLE; _PARALLEL_BUNDLE=() - if -antigen-interactive-mode; then - return 1 - fi -} - --antigen-parallel-execute() { - WARN "Exec parallel extension" PARALLEL - # Install bundles in parallel - antigen-bundle-parallel-execute () { - WARN "Parallel antigen-bundle-parallel-execute" PARALLEL - typeset -a pids; pids=() - local args pid - - WARN "Gonna install in parallel ${#_PARALLEL_BUNDLE} bundles." PARALLEL - # Do ensure-repo in parallel - WARN "${_PARALLEL_BUNDLE}" PARALLEL - typeset -Ua repositories # Used to keep track of cloned repositories to avoid - # trying to clone it multiple times. - for args in ${_PARALLEL_BUNDLE}; do - typeset -A bundle; -antigen-parse-args 'bundle' ${=args} - - if [[ ! -d ${bundle[dir]} && $repositories[(I)${bundle[url]}] == 0 ]]; then - WARN "Install in parallel ${bundle[name]}." PARALLEL - echo "Installing ${bundle[name]}!..." - # $bundle[url]'s format is "url|branch" as to create "$ANTIGEN_BUNDLES/bundle/name-branch", - # this way you may require multiple branches from the same repository. - -antigen-ensure-repo "${bundle[url]}" > /dev/null &! - pids+=($!) - else - WARN "Bundle ${bundle[name]} already cloned locally." PARALLEL - fi - - repositories+=(${bundle[url]}) - done - - # Wait for all background processes to end - while [[ $#pids > 0 ]]; do - for pid in $pids; do - # `ps` may diplay an error message such "Signal 18 (CONT) caught by ps - # (procps-ng version 3.3.9).", see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=732410 - if [[ $(ps -o pid= -p $pid 2>/dev/null) == "" ]]; then - pids[$pids[(I)$pid]]=() - fi - done - sleep .5 - done - - builtin local bundle &> /dev/null - for bundle in ${_PARALLEL_BUNDLE[@]}; do - antigen-bundle $bundle - done - - - WARN "Parallel install done" PARALLEL - } - - # Hooks antigen-apply in order to release hooked functions - antigen-apply-parallel () { - WARN "Parallel pre-apply" PARALLEL PRE-APPLY - #antigen-remove-hook antigen-pre-apply-parallel - # Hooks antigen-bundle in order to parallel its execution. - antigen-bundle-parallel () { - TRACE "antigen-bundle-parallel: $@" PARALLEL - _PARALLEL_BUNDLE+=("${(j: :)${@}}") - } - antigen-add-hook antigen-bundle antigen-bundle-parallel replace - } - antigen-add-hook antigen-apply antigen-apply-parallel pre once - - antigen-apply-parallel-execute () { - WARN "Parallel replace-apply" PARALLEL REPLACE-APPLY - antigen-remove-hook antigen-bundle-parallel - # Process all parallel bundles. - antigen-bundle-parallel-execute - - unset _PARALLEL_BUNDLE - antigen-remove-hook antigen-apply-parallel-execute - antigen-apply - } - antigen-add-hook antigen-apply antigen-apply-parallel-execute replace once -} -typeset -ga _ZCACHE_BUNDLE_SOURCE _ZCACHE_CAPTURE_BUNDLE -typeset -g _ZCACHE_CAPTURE_PREFIX - -# Generates cache from listed bundles. -# -# Iterates over _ANTIGEN_BUNDLE_RECORD and join all needed sources into one, -# if this is done through -antigen-load-list. -# Result is stored in ANTIGEN_CACHE. -# -# _ANTIGEN_BUNDLE_RECORD and fpath is stored in cache. -# -# Usage -# -zcache-generate-cache -# -# Returns -# Nothing. Generates ANTIGEN_CACHE --antigen-cache-generate () { - local -aU _fpath _PATH _sources - local record - - LOG "Gonna generate cache for $_ZCACHE_BUNDLE_SOURCE" - for record in $_ZCACHE_BUNDLE_SOURCE; do - record=${record:A} - # LOG "Caching $record" - if [[ -f $record ]]; then - # Adding $'\n' as a suffix as j:\n: doesn't work inside a heredoc. - if [[ $_ANTIGEN_THEME_COMPAT == true && "$record" == *.zsh-theme* ]]; then - local compat="${record:A}.antigen-compat" - echo "# Generated by Antigen. Do not edit!" >! "$compat" - cat $record | sed -Ee '/\{$/,/^\}/!{ - s/^local // - }' >>! "$compat" - record="$compat" - fi - _sources+=("source '${record}';"$'\n') - elif [[ -d $record ]]; then - _PATH+=("${record}") - _fpath+=("${record}") - fi - done - -cat > $ANTIGEN_CACHE <! "$ANTIGEN_RSRC" - for rsrc in $ANTIGEN_CHECK_FILES; do - zcompile $rsrc - done - } &! - - return true -} - -# Initializes caching mechanism. -# -# Hooks `antigen-bundle` and `antigen-apply` in order to defer bundle install -# and load. All bundles are loaded from generated cache rather than dynamically -# as these are bundled. -# -# Usage -# -antigen-cache-init -# Returns -# Nothing --antigen-cache-init () { - if -antigen-interactive-mode; then - return 1 - fi - - _ZCACHE_CAPTURE_PREFIX=${_ZCACHE_CAPTURE_PREFIX:-"--zcache-"} - _ZCACHE_BUNDLE_SOURCE=(); _ZCACHE_CAPTURE_BUNDLE=() - - # Cache auto config files to check for changes (.zshrc, .antigenrc etc) - -antigen-set-default ANTIGEN_AUTO_CONFIG true - - # Default cache path. - -antigen-set-default ANTIGEN_CACHE $ADOTDIR/init.zsh - -antigen-set-default ANTIGEN_RSRC $ADOTDIR/.resources - if [[ $ANTIGEN_CACHE == false ]]; then - return 1 - fi - - return 0 -} - --antigen-cache-execute () { - # Main function. Deferred antigen-apply. - antigen-apply-cached () { - # TRACE "APPLYING CACHE" EXT - # Auto determine check_files - # There always should be 5 steps from original source as the correct way is to use - # `antigen` wrapper not `antigen-apply` directly and it's called by an extension. - LOG "TRACE: ${funcfiletrace}" - if [[ $ANTIGEN_AUTO_CONFIG == true && $#ANTIGEN_CHECK_FILES -eq 0 ]]; then - ANTIGEN_CHECK_FILES+=(~/.zshrc) - if [[ $#funcfiletrace -ge 6 ]]; then - ANTIGEN_CHECK_FILES+=("${${funcfiletrace[6]%:*}##* }") - fi - fi - - # Generate and compile cache - -antigen-cache-generate - [[ -f "$ANTIGEN_CACHE" ]] && source "$ANTIGEN_CACHE"; - - # Commented out in order to have a working `cache-gen` command - #unset _ZCACHE_BUNDLE_SOURCE - unset _ZCACHE_CAPTURE_BUNDLE _ZCACHE_CAPTURE_FUNCTIONS - - # Release all hooked functions - antigen-remove-hook -antigen-load-env-cached - antigen-remove-hook -antigen-load-source-cached - antigen-remove-hook antigen-bundle-cached - } - - antigen-add-hook antigen-apply antigen-apply-cached post once - - # Defer antigen-bundle. - antigen-bundle-cached () { - _ZCACHE_CAPTURE_BUNDLE+=("${(j: :)${@}}") - } - antigen-add-hook antigen-bundle antigen-bundle-cached pre - - # Defer loading. - -antigen-load-env-cached () { - local bundle - typeset -A bundle; bundle=($@) - local location=${bundle[dir]}/${bundle[loc]} - - # Load to path if there is no sourceable - if [[ ${bundle[loc]} == "/" ]]; then - _ZCACHE_BUNDLE_SOURCE+=("${location}") - return - fi - - _ZCACHE_BUNDLE_SOURCE+=("${location}") - } - antigen-add-hook -antigen-load-env -antigen-load-env-cached replace - - # Defer sourcing. - -antigen-load-source-cached () { - _ZCACHE_BUNDLE_SOURCE+=($@) - } - antigen-add-hook -antigen-load-source -antigen-load-source-cached replace - - return 0 -} - -# Generate static-cache file at $ANTIGEN_CACHE using currently loaded -# bundles from $_ANTIGEN_BUNDLE_RECORD -# -# Usage -# antigen-cache-gen -# -# Returns -# Nothing -antigen-cache-gen () { - -antigen-cache-generate -} -#compdef _antigen -# Setup antigen's autocompletion -_antigen () { - local -a _1st_arguments - _1st_arguments=( - 'apply:Load all bundle completions' - 'bundle:Install and load the given plugin' - 'bundles:Bulk define bundles' - 'cleanup:Clean up the clones of repos which are not used by any bundles currently loaded' - 'cache-gen:Generate cache' - 'init:Load Antigen configuration from file' - 'list:List out the currently loaded bundles' - 'purge:Remove a cloned bundle from filesystem' - 'reset:Clears cache' - 'restore:Restore the bundles state as specified in the snapshot' - 'revert:Revert the state of all bundles to how they were before the last antigen update' - 'selfupdate:Update antigen itself' - 'snapshot:Create a snapshot of all the active clones' - 'theme:Switch the prompt theme' - 'update:Update all bundles' - 'use:Load any (supported) zsh pre-packaged framework' - ); - - _1st_arguments+=( - 'help:Show this message' - 'version:Display Antigen version' - ) - - __bundle() { - _arguments \ - '--loc[Path to the location ]' \ - '--url[Path to the repository ]' \ - '--branch[Git branch name]' \ - '--no-local-clone[Do not create a clone]' - } - __list() { - _arguments \ - '--simple[Show only bundle name]' \ - '--short[Show only bundle name and branch]' \ - '--long[Show bundle records]' - } - - - __cleanup() { - _arguments \ - '--force[Do not ask for confirmation]' - } - - _arguments '*:: :->command' - - if (( CURRENT == 1 )); then - _describe -t commands "antigen command" _1st_arguments - return - fi - - local -a _command_args - case "$words[1]" in - bundle) - __bundle - ;; - use) - compadd "$@" "oh-my-zsh" "prezto" - ;; - cleanup) - __cleanup - ;; - (update|purge) - compadd $(type -f \-antigen-get-bundles &> /dev/null || antigen &> /dev/null; -antigen-get-bundles --simple 2> /dev/null) - ;; - theme) - compadd $(type -f \-antigen-get-themes &> /dev/null || antigen &> /dev/null; -antigen-get-themes 2> /dev/null) - ;; - list) - __list - ;; - esac -} -zmodload zsh/datetime -ANTIGEN_DEBUG_LOG=${ANTIGEN_DEBUG_LOG:-${ADOTDIR:-$HOME/.antigen}/debug.log} -LOG () { - local PREFIX="[LOG][${EPOCHREALTIME}]" - echo "${PREFIX} ${funcfiletrace[1]}\n${PREFIX} $@" >> $ANTIGEN_DEBUG_LOG -} - -ERR () { - local PREFIX="[ERR][${EPOCHREALTIME}]" - echo "${PREFIX} ${funcfiletrace[1]}\n${PREFIX} $@" >> $ANTIGEN_DEBUG_LOG -} - -WARN () { - local PREFIX="[WRN][${EPOCHREALTIME}]" - echo "${PREFIX} ${funcfiletrace[1]}\n${PREFIX} $@" >> $ANTIGEN_DEBUG_LOG -} - -TRACE () { - local PREFIX="[TRA][${EPOCHREALTIME}]" - echo "${PREFIX} ${funcfiletrace[1]}\n${PREFIX} $@\n${PREFIX} ${(j:\n:)funcstack}" >> $ANTIGEN_DEBUG_LOG -} --antigen-env-setup diff --git a/.local/bin/bwc b/.local/bin/bwc deleted file mode 100644 index 0918160c..00000000 --- a/.local/bin/bwc +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh - -# Exit on error -set -e - -# Command to copy to clipboard -COPY="wl-copy" - -# Get list of all logins as json -logins="$(bw list items)" -# Grab the name of every login and pip them into fzf -name="$(echo "$logins" | jq -r '.[].name' | fzf)" -# Find the login with the selected name (as a json) -selected="$(echo "$logins" | jq -r ".[] | select(.name == \"$name\")")" -# Print the name of the selected login -echo "Name: $(echo "$selected" | jq -r '.name')" -echo "> Copying Username" -# Copy the username to the clipboard -printf '%s' "$(echo "$selected" | jq -r '.login.username')" | $COPY -echo "Press any key to copy password..." -# Wait for user input before coping the password -read -r -echo "> Copying Password" -# Copy the password to the clipboard -printf '%s' "$(echo "$selected" | jq -r '.login.password')" | $COPY diff --git a/.local/bin/fonttest b/.local/bin/fonttest deleted file mode 100644 index 39dd841c..00000000 --- a/.local/bin/fonttest +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -# FONTTEST SCRIPT -# ----------------- -# Print all avaliable variants of chosen terminal font - -echo -en "regular " -echo -en "\e[3m italic \e[0m" -echo -en "\e[1m bold \e[0m" -echo -en "\e[3m\e[1m bold-italic \e[0m" -echo -en " \e[4munderline\e[0m " -echo -e " \e[9mstrikethrough\e[0m" diff --git a/.local/bin/install-dotfiles b/.local/bin/install-dotfiles deleted file mode 100644 index ba233498..00000000 --- a/.local/bin/install-dotfiles +++ /dev/null @@ -1,133 +0,0 @@ -#!/usr/bin/env bash - -# Alias logg function to true if it is not available -if ! command -v logg > /dev/null; then - alias logg='true' -fi - -# Clear ZSH cached stuff -if [ -f "$HOME/.zshrc.zwc" ]; then - rm -f "$HOME/.zshrc.zwc" -fi -if [ -d "$HOME/.local/antigen" ]; then - rm -rf "$HOME/.local/antigen" -fi -if [ -d "$HOME/.zsh_sessions" ]; then - rm -rf "$HOME/.zsh_sessions" -fi - -if [ -f '/etc/qubes-release' ]; then - # Qubes dom0 - logg info 'Ensuring provision VM is present' - qvm-create --label red --template debian-11 provision &> /dev/null || EXIT_CODE=$? - logg info 'Downloading dotfile assets with provision VM' - qvm-run --pass-io provision 'if [ -d ~/Downloads/professor-dotfiles ]; then cd ~/Downloads/professor-dotfiles && git config pull.rebase false && rm -rf dotfiles/.local/asdf && rm -rf dotfiles/.local/common/shared && git pull origin master && git clone https://github.com/asdf-vm/asdf.git dotfiles/.local/asdf --branch v0.10.2 && mkdir -p dotfiles/.local/common/shared && git clone https://gitlab.com/megabyte-labs/common/shared.git dotfiles/.local/common/shared; else git clone https://gitlab.com/megabyte-labs/dotfiles.git ~/Downloads/professor-dotfiles; cd ~/Downloads/professor-dotfiles/dotfiles/.local && git clone https://github.com/asdf-vm/asdf.git asdf --branch v0.10.2 && mkdir common && git clone https://gitlab.com/megabyte-labs/common/shared.git common/shared; fi; cd ~/Downloads; tar -zcvf /tmp/professor-dotfiles.tar.gz professor-dotfiles' - logg info 'Transferring dotfiles to dom0 from provision VM' - qvm-run --pass-io provision "cat /tmp/professor-dotfiles.tar.gz" > "/tmp/dotfiles.tar.gz" - logg info 'Unpacking dotfile assets to /usr/local/src/professor-dotfiles' - tar -xzf "/tmp/dotfiles.tar.gz" -C "$HOME" - rm -f "/tmp/dotfiles.tar.gz" - sudo rm -rf /usr/local/src/professor-dotfiles - sudo mv "$HOME/professor-dotfiles" /usr/local/src/professor-dotfiles -else - if [ ! -w /usr/local/src/professor-dotfiles ]; then - logg info 'Using sudo because /usr/local/src/professor-dotfiles is not writable' - SUDO_PREFIX="sudo" - fi - if [ -d /usr/local/src/professor-dotfiles/.git ]; then - logg info 'Updating dotfiles already present in /usr/local/src/professor-dotfiles' - cd /usr/local/src/professor-dotfiles - ${SUDO_PREFIX} git config pull.rebase false - ${SUDO_PREFIX} rm -rf dotfiles/.local/asdf - ${SUDO_PREFIX} rm -rf dotfiles/.local/common/shared - ${SUDO_PREFIX} git pull origin master - ${SUDO_PREFIX} git clone https://github.com/asdf-vm/asdf.git dotfiles/.local/asdf --branch v0.10.2 - ${SUDO_PREFIX} git clone https://gitlab.com/megabyte-labs/common/shared.git dotfiles/.local/common/shared - ${SUDO_PREFIX} chown -Rf "$USER":"$(id -g -n)" /usr/local/src/professor-dotfiles - cd ~/ - else - logg info 'Cloning new dotfiles to /usr/local/src/professor-dotfiles' - ${SUDO_PREFIX} rm -rf /usr/local/src/professor-dotfiles - ${SUDO_PREFIX} git clone https://gitlab.com/megabyte-labs/dotfiles.git /usr/local/src/professor-dotfiles - ${SUDO_PREFIX} git clone https://github.com/asdf-vm/asdf.git /usr/local/src/professor-dotfiles/dotfiles/.local/asdf --branch v0.10.2 - ${SUDO_PREFIX} mkdir -p /usr/local/src/professor-dotfiles/dotfiles/.local/common/shared - ${SUDO_PREFIX} git clone https://gitlab.com/megabyte-labs/common/shared.git /usr/local/src/professor-dotfiles/dotfiles/.local/common/shared - ${SUDO_PREFIX} chown -Rf "$USER":"$(id -g -n)" /usr/local/src/professor-dotfiles - fi - if [ -n "$CREATE_PACKAGE" ]; then - logg info 'Creating /tmp/professor-dotfiles.tar.gz' - cd /usr/local/src - ${SUDO_PREFIX} tar -zcvf /tmp/professor-dotfiles.tar.gz professor-dotfiles - cd ~/ - fi -fi - -# Copy dotfile folders -logg info 'Copying dotfiles folders to user $HOME directory' -while read DOTFILE_FOLDER; do - BASENAME_FOLDER="$(basename "$DOTFILE_FOLDER")" - if [ ! -d "$HOME/$BASENAME_FOLDER" ]; then - mkdir -p "$HOME/$BASENAME_FOLDER" - fi - cp -rf "$DOTFILE_FOLDER/"* "$HOME/$BASENAME_FOLDER" -done < <(find /usr/local/src/professor-dotfiles/dotfiles -maxdepth 1 -mindepth 1 -type d) - -# Copy dotfile files -logg info 'Copying dotfiles files to user $HOME directory' -while read DOTFILE_FILE; do - BASENAME_FILE="$(basename "$DOTFILE_FILE")" - cp "$DOTFILE_FILE" "$HOME/$BASENAME_FILE" - chmod 600 "$HOME/$BASENAME_FILE" -done < <(find /usr/local/src/professor-dotfiles/dotfiles -maxdepth 1 -mindepth 1 -type f) - -# Ensure .local/bin contents are executable -logg info 'Ensuring programs in ~/.local/bin are executable' -while read LOCAL_BIN; do - chmod +x "${LOCAL_BIN}" -done < <(find "$HOME/.local/bin" -maxdepth 1 -mindepth 1 -type f) - -if [ -d /Applications ] && [ -d /System ]; then - logg info 'Adding Hack font to ~/Library/Fonts' - mkdir -p "$HOME/Library/Fonts" - cp "$HOME/.local/share/fonts/Hack Bold Nerd Font Complete.ttf" "$HOME/Library/Fonts/Hack Bold Nerd Font Complete.ttf" - logg info 'Configuring the Terminal.app' - theme=$(<$HOME/.local/theme/Betelgeuse.macOS.terminal) - plutil -replace Window\ Settings.Betelgeuse -xml "$theme" ~/Library/Preferences/com.apple.Terminal.plist - defaults write com.apple.Terminal "Default Window Settings" -string "Betelgeuse" - defaults write com.apple.Terminal "Startup Window Settings" -string "Betelgeuse" - /usr/libexec/PlistBuddy -c "Add :Window\ Settings:Betelgeuse:columnCount integer 124" ~/Library/Preferences/com.apple.Terminal.plist - /usr/libexec/PlistBuddy -c "Add :Window\ Settings:Betelgeuse:rowCount integer 35" ~/Library/Preferences/com.apple.Terminal.plist - /usr/libexec/PlistBuddy -c "Add :Window\ Settings:Betel-Bash:columnCount integer 124" ~/Library/Preferences/com.apple.Terminal.plist - /usr/libexec/PlistBuddy -c "Add :Window\ Settings:Betel-Bash:rowCount integer 35" ~/Library/Preferences/com.apple.Terminal.plist - - # macOS desktop background - if command -v m > /dev/null; then - logg info 'Updating desktop wallpaper' - m wallpaper "/Users/$(whoami)/.local/theme/background.jpg" - fi -fi - -# Update local Betelgeuse theme files (if not on macOS system) -if [ ! -d /Applications ] && [ ! -d /Library ]; then - logg info 'Updating Betelgeuse theme files' - if [ -f '/etc/qubes-release' ]; then - # Qubes dom0 - qvm-create --label red --template debian-11 provision &> /dev/null || EXIT_CODE=$? - qvm-run --pass-io provision 'rm -f ~/Downloads/betelgeuse-master.tar.gz && curl -sSL https://gitlab.com/megabyte-labs/misc/betelgeuse/-/archive/master/betelgeuse-master.tar.gz > /tmp/betelgeuse-master.tar.gz' - qvm-run --pass-io provision "cat /tmp/betelgeuse-master.tar.gz" > "/tmp/betelgeuse-master.tar.gz" - cd /tmp - tar -xvf betelgeuse-master.tar.gz > /dev/null - rm betelgeuse-master.tar.gz - cp -rf betelgeuse-master/share/ "$HOME/.local/share" - rm -rf betelgeuse-master - else - curl -sSL https://gitlab.com/megabyte-labs/misc/betelgeuse/-/archive/master/betelgeuse-master.tar.gz > betelgeuse-master.tar.gz - tar -xzf betelgeuse-master.tar.gz > /dev/null - rm betelgeuse-master.tar.gz - cp -rf betelgeuse-master/share/ "$HOME/.local/share" - rm -rf betelgeuse-master - fi -fi - -# grep -q QT_QPA_PLATFORMTHEME=qt5ct /etc/environment || echo QT_QPA_PLATFORMTHEME=qt5ct | sudo tee -a /etc/environment -# sudo cp -rv "$HOME/.local/share/qt5ct" /usr/share diff --git a/.local/bin/install-gnome-extensions b/.local/bin/install-gnome-extensions deleted file mode 100644 index 03defce6..00000000 --- a/.local/bin/install-gnome-extensions +++ /dev/null @@ -1,314 +0,0 @@ -#!/bin/bash - -################################################################# -# # -# GNOME Shell Extension Installer v1.2.1 # -# # -# A simple (scriptable) way to install GNOME Shell Extensions! # -# # -# Author: Cyrus Frost # -# License: MIT # -# # -# https://github.com/cyfrost/install-gnome-extensions # -# # -################################################################# - -#vars -script_revision="v1.2.1" -args_count="$#" -dependencies=(wget curl jq unzip tput sed egrep sed awk gnome-shell cut basename) -deps_install_apt="sudo apt install -y wget curl jq unzip sed" -deps_install_dnf="sudo dnf install -y wget curl jq unzip sed" -EXTENSIONS_TO_INSTALL=() -OVERWRITE_EXISTING=false -ENABLE_ALL=false -INSTALLED_EXT_COUNT='' -INSTALLED_EXTs='' - -# message colors. -info_text_blue=$(tput setaf 7) -normal_text=$(tput sgr0) -error_text=$(tput setaf 1) -status_text_yellow=$(tput setaf 3) - -# Bail immediately if running as root. -function CheckIfRunningAsRoot() { - if [ "$(id -u)" = 0 ]; then - printf " -%s Running this script as root is discouraged and won't work since it needs user directories to operate. Retry as normal user. -Note: If you're trying to install extensions for another user on this computer, try 'su ' and proceed. -Abort. -%s" "$error_text" "$normal_text" - - exit 1 - fi -} - -# Bail immediately if running as root. -CheckIfRunningAsRoot - -# Trap SIGINT and SIGTERM. -function _term() { - printf "\n\n%s" "$normal_text" - trap - INT TERM # clear the trap - kill -- -$$ -} - -# Trap SIGINT and SIGTERM for cleanup. -trap _term INT TERM - -# This function can check for binaries/commands to be available in Env PATH and report otherwise. -function CheckDependencies() { - - # echo -en "\n${info_text_blue}Checking dependencies...${normal_text}"; - dependencies=("$@") - for name in "${dependencies[@]}"; do - command -v "$name" >/dev/null 2>&1 || { - echo -en "${error_text}\n[Error] Command not found: \"$name\"${normal_text}" - deps=1 - } - done - [[ $deps -ne 1 ]] || { - echo -en "${error_text}\n\nOne or more dependencies is unavailable. Please make sure the above commands are available and re-run this script.\n\n${status_text_yellow}For Ubuntu and similar distros, try: $deps_install_apt\n\nFor Fedora and similar distros, try: $deps_install_dnf\n\n${normal_text}" - exit 1 - } -} - -# Fail if dependencies unmet. -CheckDependencies "${dependencies[@]}" - -function confirm_action() { - while true; do - printf "\n%s" "$normal_text" - read -r -p "$1" -n 1 yn - case $yn in - [Yy]*) return 0 ;; - [Nn]*) return 1 ;; - *) printf "\nPlease answer with 'y' or 'n'." ;; - esac - done -} - -# check if current (active) desktop instance is GNOME. -function IsEnvGNOME() { - - if [ "$XDG_CURRENT_DESKTOP" = "" ]; then - desktop=$(echo "$XDG_DATA_DIRS" | grep -Po '(xfce|kde|gnome)' | tail -n 1) - #sed 's/.*\(xfce\|kde\|gnome\).*/\1/') - else - desktop=$XDG_CURRENT_DESKTOP - fi - - desktop=${desktop,,} - - if [[ $desktop == *"gnome"* ]]; then - return 0 - else - return 1 - fi -} - -function enable_extension() { - ext_uuid="$1" - gnome-extensions enable "$ext_uuid" >/dev/null 2>&1 -} - -function disable_extension() { - ext_uuid="$1" - gnome-extensions disable "$ext_uuid" >/dev/null 2>&1 -} - -function get_installed_extensions_list() { - user_extensions_path="/home/$USER/.local/share/gnome-shell/extensions" - array=() - while IFS="" read -r line; do array+=("$line"); done < <(find "$user_extensions_path" -maxdepth 1 -mindepth 1 -type d -not -path '*/\.*' -printf "%f\n") - ext_list=$(printf "'%s'," "${array[@]}") - ext_list=${ext_list%,} - INSTALLED_EXT_COUNT="${#array[@]}" - INSTALLED_EXTs=$(printf '%s\n' "${array[@]}") - # echo $ext_list -} - -function install_shell_extensions() { - - for ext_id in "${EXTENSIONS_TO_INSTALL[@]}"; do - - request_url="https://extensions.gnome.org/extension-info/?pk=$ext_id&shell_version=$GNOME_SHELL_VERSION" - http_response="$(curl -s -o /dev/null -I -w "%{http_code}" "$request_url")" - - if [ "$http_response" = 404 ]; then - printf "\n%sError: No extension exists matching the ID: %s and GNOME Shell version %s (Skipping this).\n" "$error_text" "$ext_id" "$GNOME_SHELL_VERSION" - continue - fi - - printf "%s\n" "$normal_text" - ext_info="$(curl -s "$request_url")" - extension_name="$(echo "$ext_info" | jq -r '.name')" - direct_dload_url="$(echo "$ext_info" | jq -r '.download_url')" - ext_uuid="$(echo "$ext_info" | jq -r '.uuid')" - ext_version="$(echo "$ext_info" | jq -r '.version')" - ext_homepage="$(echo "$ext_info" | jq -r '.link')" - ext_description="$(echo "$ext_info" | jq -r '.description')" - download_url="https://extensions.gnome.org"$direct_dload_url - target_installation_dir="/home/$USER/.local/share/gnome-shell/extensions/$ext_uuid" - printf "%s\nDownloading and installing extension \"%s\"%s" "$status_text_yellow" "$extension_name" "$normal_text" - printf "%s" "$info_text_blue" - printf "\nDescription: %s" "$ext_description" - printf "\nExtension ID: %s" "$ext_id" - printf "\nExtension Version: v%s" "$ext_version" - printf "\nHomepage: https://extensions.gnome.org%s" "$ext_homepage" - printf "\nUUID: \"%s\"" "$ext_uuid" - printf "\nInstalling to: \"%s\"" "$target_installation_dir" - - if [ -d "$target_installation_dir" ] && [ "$OVERWRITE_EXISTING" = "false" ]; then - confirm_action "${normal_text}This extension is already installed. Do you want to overwrite it? (y/n): " || continue - fi - - printf "\n%sPlease wait...\n" "$info_text_blue" - filename="$(basename "$download_url")" - wget -q "$download_url" \ - && mkdir -p "$target_installation_dir" \ - && unzip -o -q "$filename" -d "$target_installation_dir" \ - && sleep 1 \ - && rm "$filename" - schemas_dir="$target_installation_dir/schemas" - - if [ -d "$schemas_dir" ]; then - printf "%sInstall GLib Schemas for dconf storage, this step will require sudo access...\n" "$info_text_blue" - cd "$schemas_dir" || { - echo "$0: Directory do not exist" - exit 1 - } - sudo cp ./*.xml "/usr/share/glib-2.0/schemas/" - sudo glib-compile-schemas /usr/share/glib-2.0/schemas/ >/dev/null 2>&1 - fi - - if [ ! "$ENABLE_ALL" = "false" ]; then - enable_extension "$ext_uuid" - fi - - printf "%sDone!\n%s" "$info_text_blue" "$normal_text" - done - printf "\n" -} - -# Check if arg is number. -function IsNumber() { - re='^[0-9]+$' - if [[ "$1" =~ $re ]]; then - return 0 - fi - return 1 -} - -function print_usage() { - print_banner - - # -u, --update Updates existing extensions to latest available versions. - printf " -Usage: ./install-gnome-extensions.sh [options] | [links_file] -Options: - -e, --enable Enable extension after installing it. - -o, --overwrite Overwrites existing extensions. - -l. --list Lists the UUIDs of installed extensions. - -f, --file Specify a file containing extension links to install. - -h, --help Display this help message. -Example usages: ---------------- -1) ./install-gnome-extensions.sh 6 8 19 --enable - - Installs and enables extensions with IDs 6, 8, and 19. -2) ./install-gnome-extensions.sh -e --file links.txt - Installs and enables the extensions from the URLs specified in \"links.txt\" file. -" -} - -function print_banner() { - printf "%s -=========================================================== - GNOME Shell Extensions Installer %s -A simple (scriptable) way to install GNOME Shell extensions. -https://github.com/cyfrost/install-gnome-extensions -===========================================================\n" "$normal_text" "$script_revision" -} - -function trim_file() { - file="$1" - sed -i '/^[[:blank:]]*$/ d' "$file" && awk '{$1=$1};1' "$file" >tmp && mv tmp "$file" -} - -function install_exts_from_links_file() { - - file="$1" - if [ ! -f "$file" ] || [ ! -s "$file" ]; then - printf "\n%sError: Supplied argument (\"%s\") is either not a valid file or is empty. %s\n\nPlease gather all extension links in a text file (line-by-line) and try again.\n\nSample usage: ./install-gnome-extensions --file links.txt\n\n" "$error_text" "$1" "$normal_text" - exit 1 - fi - - trim_file "$file" - - printf "\nParsing file \"%s\" for extension links...\n" "$file" - - while IFS="" read -r p || [ -n "$p" ]; do - url="$(echo "$p" | sed '/^[[:space:]]*$/d')" - ext_id="$(echo "$url" | tr '\n' ' ' | sed -e 's/[^0-9]/ /g' -e 's/^ *//g' -e 's/ *$//g' | tr -s ' ' | awk '{print $1;}')" - IsNumber "$ext_id" && EXTENSIONS_TO_INSTALL+=("$ext_id") || printf "\n%sError: Invalid URL: %s (Skipping this).%s" "$error_text" "$url" "$normal_text" - done <"$file" - printf "\n" -} - -function begin_install() { - - exts_list="$(printf '%s, ' "${EXTENSIONS_TO_INSTALL[@]}")" - exts_list=${exts_list%, } - - print_banner - printf "\n%s[Info] Detected GNOME Shell version: %s\n\nInstalling %s extensions (%s)...\n%s" "$info_text_blue" "$GNOME_SHELL_VERSION" "$extensions_count" "$exts_list" "$normal_text" - install_shell_extensions - printf "\n%sComplete!\n\n" "$normal_text" - IsEnvGNOME || printf "%sPlease login to GNOME desktop to see the installed/enabled extensions.\n\n" "$normal_text" -} - -# Obtain GNOME Shell version. -GNOME_SHELL_VERSION="$(gnome-shell --version | cut --delimiter=' ' --fields=3 | cut --delimiter='.' --fields=1,2)" - -while test $# -gt 0; do - case "$1" in - -e | --enable) - ENABLE_ALL=true - ;; - # -u|--update) - # UPDATE=true - # ;; - -o | --overwrite) - OVERWRITE_EXISTING=true - ;; - -h | --help) - print_usage - exit 0 - ;; - -l | --list) - get_installed_extensions_list - printf "\n============================\nInstalled extensions (UUIDs)\n============================\n\n%s\n\n%s extensions are installed.\n\nDone!\n\n" "$INSTALLED_EXTs" "$INSTALLED_EXT_COUNT" - exit 0 - ;; - -f | --file) - install_exts_from_links_file "$2" - ;; - esac - IsNumber "$1" && EXTENSIONS_TO_INSTALL+=("$1") - shift -done - -extensions_count="${#EXTENSIONS_TO_INSTALL[@]}" - -if [ "$args_count" -eq 0 ]; then - printf "\n%sInvalid usage.\n%s" "$error_text" "$normal_text" - print_usage - -elif [ "$extensions_count" -eq 0 ]; then - printf "\n%sError: Could not find any valid extension IDs or URLs for installation.\n%s\n" "$error_text" "$normal_text" - exit 1 -else - begin_install -fi diff --git a/.local/bin/install-program b/.local/bin/install-program deleted file mode 100644 index 35fd2325..00000000 --- a/.local/bin/install-program +++ /dev/null @@ -1,685 +0,0 @@ -#!/usr/bin/env zx - -const execSync = require('child_process').execSync - -$.log = (entry) => { - if (entry.kind === 'cmd' && entry.cmd.substring(0, 4) === 'logg') { - //execSync(entry.cmd, {stdio: 'inherit', shell: true}) - } else { - log(entry) - } -} - -let installData -const installOrders = {}; -const installOrdersPre = []; -const installOrdersPost = []; -const osType = await OSType(); -let osID = osType -if(osType === 'linux') { - osID = await realeaseID() -} - -// Download the installation map -async function downloadInstallData() { - const response = await fetch( - "https://gitlab.com/megabyte-labs/misc/dotfiles/-/raw/master/.local/share/chezmoi/software.yml" - ); - if (response.ok) { - const text = await response.text() - return YAML.parse(text) - } else { - await $`logg error 'Failed to download the installation map'` - } -} - -// Creates the installOrders object which maps package managers to arrays of packages to install -async function generateInstallOrders() { - const packagesToInstall = process.argv.slice(3); - const installerPreference = await OSTypeInstallerKey() - await $`logg info 'Installer preference category detected as ${installerPreference}'` - const preferenceOrder = installData.installerPreference[installerPreference]; - await $`logg info 'Preference order acquired:'` - console.log(preferenceOrder) - const softwarePackages = installData.softwarePackages; - for (let pkg of packagesToInstall) { - let packageKey; - if (softwarePackages[pkg + ":" + osID]) { - packageKey = pkg + ":" + osID; - } else if (softwarePackages[pkg + ":" + osType]) { - packageKey = pkg + ":" + osType; - } else if (softwarePackages[pkg]) { - packageKey = pkg - } else { - await $`logg warn 'The package \`${pkg}\` was not found in the installation map'` - continue; - } - for (let preference of preferenceOrder) { - if (softwarePackages[packageKey][preference + ":" + osID]) { - await updateInstallMaps( - preference, - softwarePackages[packageKey], - preference + ":" + osID, - pkg, - packageKey - ); - break - } else if (softwarePackages[packageKey][preference + ":" + osType]) { - await updateInstallMaps( - preference, - softwarePackages[packageKey], - preference + ":" + osType, - pkg, - packageKey - ); - break - } else if (softwarePackages[packageKey][preference]) { - await updateInstallMaps(preference, softwarePackages[packageKey], preference, pkg, packageKey); - break - } - } - } - return installOrders; -} - -// Update install, pre-hook, and post-hook objects -async function updateInstallMaps(preference, packages, scopedPreference, pkg, packageKey) { - const preHook = getHook(packages, "pre", scopedPreference, preference); - if (preHook) { - installOrdersPre.concat(typeof preHook === "string" ? [preHook] : preHook); - } - const postHook = getHook(packages, "post", scopedPreference, preference); - if (postHook) { - installOrdersPost.concat( - typeof postHook === "string" ? [postHook] : postHook - ); - } - if (!installOrders[preference]) { - installOrders[preference] = []; - } - await $`logg info 'Found a match for the package \`${pkg}\` (${packageKey} via ${scopedPreference})'` - const newPackages = packages[scopedPreference]; - installOrders[preference] = installOrders[preference].concat( - typeof newPackages === "string" ? [newPackages] : newPackages - ); -} - -// Get pre / post install hooks -function getHook(packages, hook, scopedPreference, preference) { - const hookLabel = "_" + hook + ":"; - if (packages[hookLabel + scopedPreference]) { - return packages[hookLabel + scopedPreference]; - } else if (packages[hookLabel + preference]) { - return packages[hookLabel + preference]; - } else if (packages[hookLabel + osID]) { - return packages; - } else if (packages[hookLabel + osType]) { - return packages[hookLabel + osType]; - } else if (packages["_" + hook]) { - return packages["_" + hook]; - } -} - -// Acquire OS type installer key (for the installerPreference data key) -async function OSTypeInstallerKey() { - const apt = which.sync('apt-get', { nothrow: true }) - const dnf = which.sync('dnf', { nothrow: true }) - const freebsd = which.sync('pkg', { nothrow: true }) - const pacman = which.sync('pacman', { nothrow: true }) - const yum = which.sync('yum', { nothrow: true }) - const zypper = which.sync('zypper', { nothrow: true }) - if (apt) { - return 'apt' - } else if (dnf || yum) { - return 'dnf' - } else if(pacman) { - return 'pacman' - } else if(zypper) { - return 'zypper' - } else if (freebsd) { - return 'freebsd' - } else { - try { - await $`test -d /Applications && test -d /Library` - return 'darwin' - } catch (e) { - return 'windows' - } - } -} - -// Acquire OS type -async function OSType() { - try { - await $`test -d /Applications && test -d /Library` - return 'darwin' - } catch(e) { - try { - await $`test -f /etc/os-release` - return 'linux' - } catch (e) { - return 'windows' - } - } -} - -// Acquire release ID (for Linux) -async function releaseID() { - const ID = await $` - if [ -f /etc/os-release ]; then - . /etc/os-release - echo -n $ID - fi - `; - return ID.stdout; -} - -// Post-install hook -async function afterInstall(packageManager) { - if (packageManager === 'appimage') { - } else if (packageManager === 'ansible') { - await $`logg info 'Ensuring temporary passwordless sudo privileges used by Ansible are removed'` - await $`sudo sed -i '/# TEMPORARY FOR ANSIBLE INSTALL/d' /etc/sudoers` - } else if (packageManager === 'apk') { - } else if (packageManager === 'apt') { - } else if (packageManager === 'basher') { - } else if (packageManager === 'binary') { - } else if (packageManager === 'brew' || packageManager === 'cask') { - } else if (packageManager === 'cargo') { - } else if (packageManager === 'choco') { - } else if (packageManager === 'crew') { - } else if (packageManager === 'dnf') { - } else if (packageManager === 'flatpak') { - } else if (packageManager === 'gem') { - } else if (packageManager === 'go') { - } else if (packageManager === 'nix') { - } else if (packageManager === 'npm') { - } else if (packageManager === 'pacman') { - } else if (packageManager === 'pipx') { - } else if (packageManager === 'pkg') { - } else if (packageManager === 'port') { - } else if (packageManager === 'scoop') { - } else if (packageManager === 'crew') { - } else if (packageManager === 'dnf') { - } else if (packageManager === 'flatpak') { - } else if (packageManager === 'snap') { - } else if (packageManager === 'whalebrew') { - } else if (packageManager === 'winget') { - } else if (packageManager === 'yay') { - } else if (packageManager === 'zypper') { - } -} - -// Pre-install hook -async function beforeInstall(packageManager) { - if (packageManager === 'appimage') { - } else if (packageManager === 'ansible') { - await $`logg info 'Temporarily enabling passwordless sudo for Ansible role installations'` - await $`sudo echo "$(whoami) ALL=(ALL:ALL) NOPASSWD: ALL # TEMPORARY FOR ANSIBLE INSTALL" > /etc/sudoers` - } else if (packageManager === 'apk') { - } else if (packageManager === 'apt') { - await $`sudo apt-get update` - } else if (packageManager === 'basher') { - } else if (packageManager === 'binary') { - } else if (packageManager === 'brew' || packageManager === 'cask') { - } else if (packageManager === 'cargo') { - } else if (packageManager === 'choco') { - } else if (packageManager === 'crew') { - } else if (packageManager === 'dnf') { - } else if (packageManager === 'flatpak') { - } else if (packageManager === 'gem') { - } else if (packageManager === 'go') { - } else if (packageManager === 'nix') { - } else if (packageManager === 'npm') { - } else if (packageManager === 'pacman') { - await $`sudo pacman -Syu` - } else if (packageManager === 'pipx') { - } else if (packageManager === 'pkg') { - } else if (packageManager === 'port') { - } else if (packageManager === 'scoop') { - } else if (packageManager === 'crew') { - } else if (packageManager === 'dnf') { - } else if (packageManager === 'flatpak') { - } else if (packageManager === 'snap') { - } else if (packageManager === 'whalebrew') { - if (osType === 'darwin') { - const docker = which.sync('docker', { nothrow: true }) - if (!docker) { - await $`brew install --cask docker` - } - try { - await $`docker run --rm hello-world` - } catch (e) { - await $`logg warn 'The command \`docker run --rm hello-world\` failed'` - try { - const promises = [$`test -d /Applications/Docker.app`, $`logg info 'Attempting to open \`/Applications/Docker.app\` (Docker Desktop for macOS). This should take about 30 seconds.'`, $`open /Applications/Docker.app`] - await Promise.all(promises) - const gum = which.sync('gum', { nothrow: true }) - if (gum) { - execSync('gum spin --spinner dot --title "Waiting for Docker Desktop to start up.." -- sleep 30', {stdio: 'inherit', shell: true}) - } else { - await $`sleep 30` - } - } catch (e) { - await $`logg warn 'Docker Desktop appears to not be installed!'` - } - } - } - } else if (packageManager === 'winget') { - } else if (packageManager === 'yay') { - } else if (packageManager === 'zypper') { - } -} - -async function ensureInstalled(bin, callback) { - const installed = which.sync(bin, { nothrow: true }) - if (installed) { - await $`logg info '\`${bin}\` is available'` - } else { - await $`logg warn '\`${bin}\` is not installed!'` - if (callback) { - await callback - } else { - await $`logg error 'There does not appear to be an installation method available for \`${bin}\`'` - } - } -} - -async function ensurePackageManagerAnsible() { - await $`pipx install ansible` - await $`pipx inject ansible PyObjC PyObjC-core docker lxml netaddr pexpect python-vagrant pywinrm requests-credssp watchdog` - await $`touch "$HOME/.cache/megabytelabs/ansible-installed"` - await $`logg info 'Ansible and its supporting packages are now installed via pipx'` -} - -// Ensure the package manager is available -let packageManagerInstalled = {}; -async function ensurePackageManager(packageManager) { - await $`logg info 'Ensuring \`${packageManager}\` is set up'` - if (packageManagerInstalled[packageManager]) { - return; - } else { - packageManagerInstalled[packageManager] = true; - } - if (packageManager === "ansible") { - await ensurePackageManager("pipx"); - } - if ( - packageManager === "gem" || - packageManager === "go" || - packageManager === "npm" || - packageManager === "pipx" || - packageManager === "whalebrew" - ) { - await ensurePackageManager("brew"); - } - if (packageManager === 'appimage') { - } else if (packageManager === 'ansible') { - try { - await $`test -f "$HOME/.cache/megabytelabs/ansible-installed"` - const ansible = which.sync('ansible', { nothrow: true }) - if (ansible) { - await $`logg info '\`ansible\` and its supporting packages appear to be installed'` - } else { - await ensurePackageManagerAnsible() - } - } catch (e) { - await ensurePackageManagerAnsible() - } - } else if (packageManager === 'apk') { - await ensureInstalled('apk', false) - } else if (packageManager === 'apt') { - await ensureInstalled('apt', false) - } else if (packageManager === 'basher') { - await ensureInstalled('basher', $` - # TODO - echo "Bash script that installs basher here" - `) - } else if (packageManager === 'binary') { - } else if (packageManager === 'bpkg') { - await ensureInstalled('bpkg', $` - # TODO - echo "Bash script that installs bpkg here" - `) - } else if (packageManager === 'brew' || packageManager === 'cask') { - const brew = which.sync('brew', { nothrow: true }) - if (!brew) { - await ensureInstalled('brew', $` - if command -v sudo > /dev/null && sudo -n true; then - echo | bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - else - logg info 'Homebrew is not installed. Password may be required.' - bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" || BREW_EXIT_CODE="$?" - if [ -n "$BREW_EXIT_CODE" ]; then - if command -v brew > /dev/null; then - logg warn 'Homebrew was installed but part of the installation failed. Attempting to fix..' - BREW_DIRS="share/man share/doc share/zsh/site-functions etc/bash_completion.d" - for BREW_DIR in $BREW_DIRS; do - if [ -d "$(brew --prefix)/$BREW_DIR" ]; then - sudo chown -R "$(whoami)" "$(brew --prefix)/$BREW_DIR" - fi - done - brew update --force --quiet - fi - fi - fi - `) - } - } else if (packageManager === 'cargo') { - await ensureInstalled('cargo', $` - # TODO Bash script that installs cargo - `) - } else if (packageManager === 'choco') { - await ensureInstalled('choco', $` - powershell "Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))" - `) - } else if (packageManager === 'crew') { - await ensureInstalled('crew', $` - # TODO Bash script that installs crew here - # Source: https://github.com/chromebrew/chromebrew - curl -Ls git.io/vddgY | bash - `) - } else if (packageManager === 'dnf') { - const dnf = which.sync('dnf', { nothrow: true }) - const yum = which.sync('yum', { nothrow: true }) - if (dnf) { - await $`logg info '\`dnf\` is available'` - } else if (yum) { - await $`logg info '\`yum\` is available'` - } else { - await $`logg error 'Both \`dnf\` and \`yum\` are not available'` - } - } else if (packageManager === 'flatpak') { - const flatpak = which.sync('flatpak', { nothrow: true }) - if (flatpak) { - await $`logg info '\`flatpak\` is available'` - } else { - const apk = which.sync('apk', { nothrow: true }) - const apt = which.sync('apt', { nothrow: true }) - const dnf = which.sync('dnf', { nothrow: true }) - const yum = which.sync('yum', { nothrow: true }) - const pacman = which.sync('pacman', { nothrow: true }) - const zypper = which.sync('zypper', { nothrow: true }) - if (apk) { - $`sudo apk add flatpak` - } else if(apt) { - $` - sudo apt install -y flatpak - if [ -f /usr/bin/gnome-shell ]; then - sudo apt install -y gnome-software-plugin-flatpak - fi - if [ -f /usr/bin/plasmashell ]; then - sudo apt install -y plasmashell - fi - ` - } else if(dnf) { - await $`sudo dnf install -y flatpak` - } else if(yum) { - await $`sudo yum install -y flatpak` - } else if (pacman) { - await $`sudo pacman -Sy flatpak` - } else if (zypper) { - await $`sudo zypper install -y flatpak` - } - const flatpakPost = which.sync('flatpak', { nothrow: true }) - if (flatpakPost) { - await $`flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo` - } else { - await $`logg error '\`flatpak\` failed to install!'` - } - await $`logg info '\`flatpak\` was installed. It may require a reboot to function correctly.'` - } - } else if (packageManager === 'gem') { - await ensureInstalled('gem', $`brew install ruby`) - } else if (packageManager === 'go') { - await ensureInstalled('gem', $`brew install go`) - } else if (packageManager === 'nix') { - await ensureInstalled('nix', $` - if [ -d /Applications ] && [ -d /Library ]; then - sh <(curl -L https://nixos.org/nix/install) - else - sh <(curl -L https://nixos.org/nix/install) --daemon - fi - `) - } else if (packageManager === 'npm') { - const npm = which('npm', { nothrow: true }) - const node = which('node', { nothrow: true }) - const volta = which('volta', { nothrow: true }) - if (npm && node && volta) { - await $`logg info '\`npm\`, \`node\`, and \`volta\` are available'` - } else { - if (!volta) { - await $`brew install volta` - } - await $` - if [ -z "$VOLTA_HOME" ]; then - volta setup - fi - export PATH="$VOLTA_HOME/bin:$PATH" - volta install node - ` - } - } else if (packageManager === 'pacman') { - await ensureInstalled('pacman', false) - } else if (packageManager === 'pipx') { - await ensureInstalled('pipx', $`brew install pipx && pipx ensurepath`) - } else if (packageManager === 'pkg') { - await ensureInstalled('pkg', false) - } else if (packageManager === 'port') { - await ensureInstalled('port', $` - echo -n "TODO - script that installs port on macOS here" - `) - } else if (packageManager === 'scoop') { - await ensureInstalled('scoop', $` - powershell 'Set-ExecutionPolicy RemoteSigned -Scope CurrentUser' - powershell 'irm get.scoop.sh | iex - `) - } else if (packageManager === 'snap') { - const apk = which.sync('apk', { nothrow: true }) - const apt = which.sync('apt-get', { nothrow: true }) - const dnf = which.sync('dnf', { nothrow: true }) - const yum = which.sync('yum', { nothrow: true }) - const pacman = which.sync('pacman', { nothrow: true }) - const zypper = which.sync('zypper', { nothrow: true }) - if (apt) { - await $` - if [ -f /etc/apt/preferences.d/nosnap.pref ]; then - sudo mv /etc/apt/preferences.d/nosnap.pref /etc/apt/nosnap.pref.bak - fi - sudo apt install -y snapd - ` - // TODO Following may be required on Kali -> https://snapcraft.io/docs/installing-snap-on-kali - // systemctl enable --now snapd apparmor - } else if (dnf) { - await $` - sudo dnf install -y snapd - if [ ! -d /snap ]; then - sudo ln -s /var/lib/snapd/snap /snap - fi - ` - } else if (yum) { - await $` - sudo yum install -y snapd - sudo systemctl enable --now snapd.socket - if [ ! -d /snap ]; then - sudo ln -s /var/lib/snapd/snap /snap - fi - ` - } else if (pacman) { - await $` - if [ -f /etc/arch-release ]; then - sudo git clone https://aur.archlinux.org/snapd.git /usr/local/src/snapd - cd /usr/local/src/snapd - sudo makepkg -si - else - sudo pacman -S snapd - sudo systemctl enable --now snapd.socket - if [ ! -d /snap ]; then - sudo ln -s /var/lib/snapd/snap /snap - fi - fi - ` - } else if (zypper) { - // TODO See https://snapcraft.io/docs/installing-snap-on-opensuse - await $` - echo "TODO - Bash script that installs snap w/ zypper" - ` - } - const snap = which.sync('snap', { nothrow: true }) - if (snap) { - $`sudo snap install core` - } - } else if (packageManager === 'whalebrew') { - await ensureInstalled('whalebrew', $`brew install whalebrew`) - } else if (packageManager === 'winget') { - await ensureInstalled('winget', $` - echo "TODO - Script that installs winget here" - `) - } else if (packageManager === 'yay') { - const yay = which.sync('yay', { nothrow: true }) - await $`sudo pacman -S --needed base-devel git` - await $` - if [ -d /usr/local/src ]; then - git clone https://aur.archlinux.org/yay.git /usr/local/src/yay - cd /usr/local/src/yay - makepkg -si - fi - ` - } else if (packageManager === 'zypper') { - await ensureInstalled('zypper', false) - } -} - -// Installs a list of packages via the specified package manager -async function installPackageList(packageManager, packages) { - let pkg = packages - try { - if (packageManager === 'appimage') { - } else if (packageManager === 'ansible') { - for (const role of packages) { - await $`ansible localhost -m include_role -a name=${role}` - } - } else if (packageManager === 'apk') { - await $`sudo apk add ${packages}` - } else if (packageManager === 'apt') { - await $`sudo apt-get install -y ${packages}` - } else if (packageManager === 'basher') { - } else if (packageManager === 'binary') { - } else if (packageManager === 'brew') { - await $`brew install ${packages}` - } else if (packageManager === 'cask') { - await $`brew install --cask ${packages}` - } else if (packageManager === 'cargo') { - for (const pkg of packages) { - await $`cargo install ${pkg}` - } - } else if (packageManager === 'choco') { - await $`choco install -y ${packages}` - } else if (packageManager === 'crew') { - } else if (packageManager === 'dnf') { - const dnf = which.sync('dnf', { nothrow: true }) - const yum = which.sync('yum', { nothrow: true }) - if (dnf) { - await $`dnf install -y ${packages}` - } else if (yum) { - await $`yum install -y ${packages}` - } - } else if (packageManager === 'flatpak') { - for (let pkg of packages) { - await $`sudo flatpak install flathub ${pkg}` - } - } else if (packageManager === 'gem') { - for (let pkg of packages) { - await $`gem install ${pkg}` - } - } else if (packageManager === 'go') { - for (let pkg of packages) { - await $`go install ${pkg}` - } - } else if (packageManager === 'nix') { - } else if (packageManager === 'npm') { - for (let pkg of packages) { - await $`volta install ${pkg}` - } - } else if (packageManager === 'pacman') { - await $`sudo pacman -Sy --noconfirm --needed ${packages}` - } else if (packageManager === 'pipx') { - for (let pkg of packages) { - await $`pipx install ${pkg}` - } - } else if (packageManager === 'pkg') { - } else if (packageManager === 'port') { - for (let pkg of packages) { - await $`sudo port install ${pkg}` - } - } else if (packageManager === 'scoop') { - for (let pkg of packages) { - await $`scoop install ${pkg}` - } - } else if (packageManager === 'snap') { - for (let pkg of packages) { - await $`sudo snap install -y ${pkg}` - } - } else if (packageManager === 'whalebrew') { - for (let pkg of packages) { - await $`whalebrew install ${pkg}` - } - } else if (packageManager === 'winget') { - } else if (packageManager === 'yay') { - for (let pkg of packages) { - await $`yay -Sy --noconfirm --needed ${pkg}` - } - } else if (packageManager === 'zypper') { - await $`sudo zypper install -y ${packages}` - } - } catch (e) { - await $`logg error 'Possibly encountered an error while installing via \`${packageManager}\`'` - await $`logg info 'Error was encountered while installing: ${pkg}'` - await $`logg info 'Proceeding with the installation..'` - } -} - -// main process -async function main() { - await $`logg info 'Fetching the latest version of the installation map'` - installData = await downloadInstallData(); - await $`logg info 'Calculating the install orders'` - await generateInstallOrders(); - await $`logg info 'Ensuring any package managers that will be used are installed / configured'` - const packageManagers = Object.keys(installOrders); - for (const packageManager of packageManagers) { - await ensurePackageManager(packageManager); - } - await $`logg info 'The install orders were generated:'` - console.log(installOrders) - await $`logg info 'Running package manager pre-installation steps'` - for (const packageManager of packageManagers) { - await beforeInstall(packageManager); - } - await $`logg info 'Running package-specific pre-installation steps'` - for (const script of installOrdersPre) { - await $`${script}`; - } - await $`logg info 'Installing the packages'` - for (const packageManager of packageManagers) { - const asyncOrders = []; - asyncOrders.push( - Promise.resolve( - installPackageList(packageManager, installOrders[packageManager]) - ) - ); - await Promise.all(asyncOrders); - } - await $`logg info 'Running package-specific post-installation steps'` - for (const script of installOrdersPost) { - await $`${script}`; - } - await $`logg info 'Running package manager post-installation steps'` - for (const packageManager of packageManagers) { - await afterInstall(packageManager); - } - await $`logg success 'Done!'` -} - -// Start the main process -await main(); diff --git a/.local/bin/install-terminal-theme b/.local/bin/install-terminal-theme deleted file mode 100644 index 3e5e6dd3..00000000 --- a/.local/bin/install-terminal-theme +++ /dev/null @@ -1,1065 +0,0 @@ -#!/usr/bin/env bash -# @file ~/.local/bin/install-terminal-theme -# @brief Applies the Sweet KDE (Betelgeuse) theme [found here](https://store.kde.org/p/1297008/) -# @description -# This script will create the necessary color profile for the Betelgeuse theme -# to any terminal. Before applying the theme, it will display the color palette -# in the terminal and prompt for whether or not it should be applied. It might -# also be necessary to apply the terminal theme which should be available in the -# terminals settings after it is generated. - -# Themer.dev: https://themer.dev/?calculateIntermediaryShades.dark=true&colors.dark.shade0=%23161925&colors.dark.shade7=%23C3C7D1&colors.dark.accent0=%23ED254E&colors.dark.accent3=%2371F79F&colors.dark.accent2=%23F9DC5C&colors.dark.accent4=%2300C1E4&colors.dark.accent5=%237CB7FF&colors.dark.accent7=%23C74D89&colors.dark.accent6=%23C3C7D1&colors.dark.accent1=%23DCDFE4&colors.light.accent0=%23FF4972&colors.light.accent3=%2395FFC3&colors.light.accent2=%23FFFF80&colors.light.accent5=%23A0DBFF&colors.light.accent7=%23EB71AD&colors.light.accent6=%234C5058&colors.light.shade7=%234C5058&colors.light.shade0=%23FFFFFF&colors.light.accent4=%2324E5FF&colors.light.accent1=%23DCDFE4&activeColorSet=dark - -# Required for styled logging -{{- includeTemplate "universal/logg-compat" }} - -export COLOR_01="#282C34" # Black -export COLOR_02="#ED254E" # Red -export COLOR_03="#71F79F" # Green -export COLOR_04="#F9DC5C" # Yellow -export COLOR_05="#7CB7FF" # Blue -export COLOR_06="#C74D89" # Magenta -export COLOR_07="#00C1E4" # Cyan -export COLOR_08="#DCDFE4" # Light gray - -export COLOR_09="#4C5058" # Dark gray -export COLOR_10="#FF4972" # Light Red -export COLOR_11="#95FFC3" # Light Green -export COLOR_12="#FFFF80" # Light Yellow -export COLOR_13="#A0DBFF" # Light Blue -export COLOR_14="#EB71AD" # Light Magenta -export COLOR_15="#24E5FF" # Light Cyan -export COLOR_16="#FFFFFF" # White - -export BACKGROUND_COLOR="#161925" # Background Color -export FOREGROUND_COLOR="#C3C7D1" # Foreground Color (text) -export CURSOR_COLOR="$FOREGROUND_COLOR" # Cursor color -export PROFILE_NAME="Betelgeuse" - -if [ ! -e gconftool-2 ] && [ -f /etc/debian_version ]; then - logg 'Running `sudo apt-get update`' - sudo apt-get update - logg 'Running `sudo apt-get install -y gconf2`' - sudo apt-get install -y gconf2 -fi - -# | -# | Early pre-requisites check -# | =========================================== -UUIDGEN="${UUIDGEN:-$(command -v uuidgen | xargs echo)}" -DCONF="${DCONF:-$(command -v dconf | xargs echo)}" -GCONF="${GCONF:-$(command -v gconftool-2 | xargs echo)}" -GS="${GS:-$(command -v gsettings | xargs echo)}" -# Note: xargs echo is to make the command sucessful even if it was not -# otherwise the script will exit if the command does not exist (elementary os) - -# | -# | Make sure all exported variables get unset no matter what -# | Defining this in this script because it gets called even if -# | gogh.sh was not called. Exported variables in gogh.sh gets -# | handled there in case there was en error before this script was called -# | ============================================ -GLOBAL_VAR_CLEANUP() { - unset PROFILE_NAME - unset PROFILE_SLUG - unset scratchdir - unset TILIX_RES - unset TERMINAL - unset LOOP - unset OPTLENGTH - - for c in $(seq -s " " -w 16); do - unset DEMO_COLOR_${c} - unset COLOR_${c} - done - - unset BACKGROUND_COLOR - unset FOREGROUND_COLOR - unset CURSOR_COLOR - unset HIGHLIGHT_FG_COLOR - unset HIGHLIGHT_BG_COLOR - unset USE_SYS_TRANSPARENCY - unset PROFILE_NAME -} - -# Note: Since all scripts gets invoked in a subshell the traps from the parent shell -# will not get inherited. Hence traps defined in gogh.sh and print-themes.sh will still trigger -trap 'GLOBAL_VAR_CLEANUP; trap - EXIT' EXIT HUP INT QUIT PIPE TERM - -# | -# | Second test for TERMINAL in case user ran -# | theme script directly instead of gogh.sh -# | ============================================ -if [[ -z "${TERMINAL:-}" ]]; then - - # | - # | Check for the terminal name (depening on os) - # | =========================================== - OS="$(uname)" - if [[ "$TERM" = "xterm-kitty" ]]; then - TERMINAL="kitty" - elif [[ "$OS" = "Darwin" ]]; then - TERMINAL=$TERM_PROGRAM - elif [[ "${OS#CYGWIN}" != "${OS}" ]]; then - TERMINAL="mintty" - else - # | - # | Depending on how the script was invoked, we need - # | to loop until pid is no longer a subshell - # | =========================================== - pid="$$" - TERMINAL="$(ps -h -o comm -p $pid)" - while [[ "${TERMINAL:(-2)}" == "sh" ]]; do - pid="$(ps -h -o ppid -p $pid)" - TERMINAL="$(ps -h -o comm -p $pid)" - done - fi -fi - - -case "${TERMINAL}" in - pantheon-terminal|io.elementary.t* ) - if [[ -z "${GS}" ]]; then - printf '\n%s\n' "Error gsettings not found" - printf '%s\n' "sudo apt install dconf?" - printf '%s\n\n' "or export GS=/path/to/gsettings" - exit 1 - fi - ;; - - mintty ) - CFGFILE="${HOME}/.minttyrc" - if [[ ! -f "${CFGFILE}" ]]; then - printf '\n%s\n' "Warning: Couldn't find an existing configuration file, so one will be created for you." - printf '%s\n\n' "Warning: Are you really running Cygwin's mintty?" - touch "${CFGFILE}" - fi - ;; - - guake|tilix|mate-terminal|gnome-terminal* ) - case "${TERMINAL}" in - guake|gnome-terminal* ) - if [[ -z "${DCONF}" ]] && [[ -z "${GCONF}" ]]; then - printf '\n%s\n' "Error gconftool not found!" - printf '%s\n' "sudo apt install gconftool?" - printf '%s\n\n' "or export GCONF=/path/to/gconftool-2/" - exit 1 - fi - ;; - esac - if [[ -z "${DCONF}" ]]; then - printf '\n%s\n' "Error dconf not found" - printf '%s\n' "sudo apt install dconf?" - printf '%s\n\n' "or export DCONF=/path/to/dconf" - exit 1 - fi - ;; - - foot ) - CFGFILE="${HOME}/.config/foot/foot.ini" - if [[ ! -f "${CFGFILE}" ]]; then - printf '\n%s\n' "Error: Couldn't find an existing configuration file." - exit 1 - fi - ;; - - kitty ) - if [[ -z "${KITTY_CONFIG_DIRECTORY:-}" ]]; then - KITTY_CONFIG_DIRECTORY="${HOME}/.config/kitty" - fi - CFGFILE="${KITTY_CONFIG_DIRECTORY}/kitty.conf" - if [[ ! -f "${CFGFILE}" ]]; then - printf '\n%s\n' "Error: Couldn't find an existing configuration file for Kitty." - exit 1 - fi - ;; - - konsole ) - CFGFILE="${HOME}/.config/konsolerc" - if [[ ! -f "${CFGFILE}" ]]; then - printf '\n%s\n' "Error: Couldn't find an existing configuration file for Konsole." - exit 1 - fi - ;; -esac - - -# | -# | Convert RGB to gnome colors -# | =========================================== -gnome_color () { - - AA=${1:1:2} - BB=${1:3:2} - CC=${1:5:2} - - if [[ -n "${AA:-}" ]]; then - echo "#${AA}${AA}${BB}${BB}${CC}${CC}" - fi -} - -hexToDec () { - echo "$((16#${1}))" -} - -hexRGBtoDecRGB () { - R="$(hexToDec "${1:1:2}")" - G="$(hexToDec "${1:3:2}")" - B="$(hexToDec "${1:5:2}")" - - echo "${R}" "${G}" "${B}" -} - -convertRGBtoMac () { - local color="${1}" - set -- - set -- $(hexRGBtoDecRGB "${color}") - R=${1}; shift; G=${1}; shift; B=${1}; shift - - R=$(echo "${R} / 255" | bc -l) - G=$(echo "${G} / 255" | bc -l) - B=$(echo "${B} / 255" | bc -l) - - echo "${R}" "${G}" "${B}" -} - -createMinttyEntry () { - local name="${1}" - local color="${2}" - set -- - set -- $(hexRGBtoDecRGB "${color}") - R=${1}; shift; G=${1}; shift; B=${1}; shift - - echo "${name}=${R},${G},${B}" -} - -updateMinttyConfig () { - local config="${1}" - local color="${2}" - local name="${3}" - - sed -i -r -e "s/^${name}=.+/$(createMinttyEntry "${name}" "${color}")/g" "${config}" -} - -updateFootConfig () { - local config="${1}" - local color="${2}" - local name="${3}" - - sed -i -r -e "s/^${name}=.+/${name}=${color/\#/}/g" "${config}" -} - -createKonsoleEntry () { - local name="${1}" - local color="${2}" - set -- - set -- $(hexRGBtoDecRGB "${color}") - R=${1}; shift; G=${1}; shift; B=${1}; shift - - echo -e "[$name]\nColor=${R},${G},${B}\n" -} - -createKonsoleTriple () { - local name="${1}" - local colorn="${2}" # normal and faint - local colori="${3}" # intense - - createKonsoleEntry "${name}" "${colorn}" - createKonsoleEntry "${name}Faint" "${colorn}" - createKonsoleEntry "${name}Intense" "${colori}" -} - -convertNameAndRGBtoITerm() { - local name="${1}" - local color="${2}" - set -- - set -- $(convertRGBtoMac "${color}") - R=${1}; shift; G=${1}; shift; B=${1}; shift - - echo "${name}Blue Component${B}Green Component${G}Red Component${R}" -} - -dset() { - local key="${1}"; shift - local val="${1}" - - "${DCONF}" write "${PROFILE_KEY}/${key}" "${val}" -} - -# Because dconf still doesn't have "append" -dlist_append() { - local key="${1}"; shift - local val="${1}"; shift - local entries - - entries="$( - { - "${DCONF}" read "${key}" | tr -d "[]" | tr , "\n" | grep -F -v "${val}" - echo "'${val}'" - } | head -c-1 | tr "\n" , - )" - - "${DCONF}" write "${key}" "[${entries}]" -} - -gcset() { - local type="${1}"; shift - local key="${1}"; shift - local val="${1}" - - "${GCONF}" --set --type "${type}" "${PROFILE_KEY}/${key}" -- "${val}" -} - -# Because gconftool doesn't have "append" -glist_append() { - local type="${1}"; shift - local key="${1}"; shift - local val="${1}"; shift - local entries - - entries="$( - { - "${GCONF}" --get "${key}" | tr -d "[]" | tr , "\n" | grep -F -v "${val}" - echo "${val}" - } | head -c-1 | tr "\n" , - )" - - "${GCONF}" --set --type list --list-type "${type}" "${key}" "[${entries}]" -} - -gset() { - local key="${1}"; shift - local val="${1}" - - "${GS}" set "${PROFILE_KEY}" "${key}" "${val}" -} - -set_theme() { - dset visible-name "'${PROFILE_NAME}'" - dset background-color "'${BACKGROUND_COLOR}'" - dset foreground-color "'${FOREGROUND_COLOR}'" - dset cursor-colors-set "true" - dset cursor-background-color "'${CURSOR_COLOR}'" - dset cursor-foreground-color "'${BACKGROUND_COLOR}'" - - if [[ -n "${HIGHLIGHT_BG_COLOR:-}" ]]; then - dset highlight-colors-set "true" - dset highlight-background-color "'${HIGHLIGHT_BG_COLOR}'" - if [[ -n "${HIGHLIGHT_FG_COLOR:-}" ]]; then - dset highlight-foreground-color "'${HIGHLIGHT_FG_COLOR}'" - fi - fi - - if [[ -n "${BOLD_COLOR:-}" ]]; then - dset bold-color "'${BOLD_COLOR}'" - dset bold-color-same-as-fg "false" - else - dset bold-color "'${FOREGROUND_COLOR}'" - dset bold-color-same-as-fg "true" - fi - dset use-theme-colors "false" - dset use-theme-background "false" - dset use-theme-transparency "${USE_SYS_TRANSPARENCY:-false}" -} - -legacy_set_theme() { - gcset string visible_name "${PROFILE_NAME}" - gcset string background_color "${BACKGROUND_COLOR}" - gcset string foreground_color "${FOREGROUND_COLOR}" - - if [[ -n "${BOLD_COLOR:-}" ]]; then - gcset string bold_color "${BOLD_COLOR}" - gcset bool bold_color_same_as_fg "false" - else - gcset string bold_color "${FOREGROUND_COLOR}" - gcset bool bold_color_same_as_fg "true" - fi - gcset bool use_theme_colors "false" - gcset bool use_theme_background "false" -} - - - -# | -# | If terminal supports truecolor then we can show theme colors without applying the theme -# | =========================================== -if [[ "${COLORTERM:-}" == "truecolor" ]] || [[ "${COLORTERM:-}" == "24bit" ]]; then - # gogh_colors have been moved here to avoid multiple definitions - function gogh_colors () { - # Build up the color string to avoid visual rendering - local color_str - # Note: {01..16} does not work on OSX - for c in $(seq -s " " -w 16); do - local color="COLOR_$c" - set -- $(hexRGBtoDecRGB "${!color}") - color_str+="\033[38;2;${1};${2};${3}m█████$(tput sgr0)" - [[ ${GOGH_DRY_RUN:-0} -eq 1 ]] && export "DEMO_COLOR_$c=\033[38;2;${1};${2};${3}m" - [[ "$c" == "08" ]] && color_str+="\n" # new line - done - printf '\n%b\n\n\n' "${color_str}" - unset color_str - } -else - function gogh_colors () { - # Build up the color string to avoid visual rendering - local color_str - for c in {0..15}; do - color_str+="$(tput setaf $c)█████$(tput sgr0)" - [[ $c == 7 ]] && color_str+="\n" # new line - done - printf '\n%b\n\n' "${color_str}" - unset color_str - } -fi - - -# | -# | Print theme colors -# | =========================================== -gogh_colors -if [[ ${GOGH_DRY_RUN:-0} -eq 1 ]]; then - color - # End here if dry run was initiated - exit 0 -fi - - -apply_elementary() { - # | - # | Applying values on elementary/pantheon terminal - # | =========================================== - - local BG_COLOR="${BACKGROUND_COLOR}" - - # If the background color is in the format #rrggbb, convert it to rgba(r,g,b,0.95). - # This makes it 5% transparent, which is the default in elementary OS. - if [[ ${BACKGROUND_COLOR} =~ ^#[[:xdigit:]]{6}$ ]]; then - local R="$((16#${BACKGROUND_COLOR:1:2}))" - local G="$((16#${BACKGROUND_COLOR:3:2}))" - local B="$((16#${BACKGROUND_COLOR:5:2}))" - BG_COLOR="rgba($R,$G,$B,0.95)" - fi - - gset background "${BG_COLOR}" - gset foreground "${FOREGROUND_COLOR}" - gset cursor-color "${CURSOR_COLOR}" - gset palette "${COLOR_01}:${COLOR_02}:${COLOR_03}:${COLOR_04}:${COLOR_05}:${COLOR_06}:${COLOR_07}:${COLOR_08}:${COLOR_09}:${COLOR_10}:${COLOR_11}:${COLOR_12}:${COLOR_13}:${COLOR_14}:${COLOR_15}:${COLOR_16}" -} - -apply_cygwin() { - # | - # | Applying values on mintty (cygwin) - # | =========================================== - - echo "Patching mintty configuration file (${CFGFILE}) with new colors..." - - updateMinttyConfig "$CFGFILE" "$COLOR_01" "Black" - updateMinttyConfig "$CFGFILE" "$COLOR_02" "Red" - updateMinttyConfig "$CFGFILE" "$COLOR_03" "Green" - updateMinttyConfig "$CFGFILE" "$COLOR_04" "Yellow" - updateMinttyConfig "$CFGFILE" "$COLOR_05" "Blue" - updateMinttyConfig "$CFGFILE" "$COLOR_06" "Magenta" - updateMinttyConfig "$CFGFILE" "$COLOR_07" "Cyan" - updateMinttyConfig "$CFGFILE" "$COLOR_08" "White" - - updateMinttyConfig "$CFGFILE" "$COLOR_09" "BoldBlack" - updateMinttyConfig "$CFGFILE" "$COLOR_10" "BoldRed" - updateMinttyConfig "$CFGFILE" "$COLOR_11" "BoldGreen" - updateMinttyConfig "$CFGFILE" "$COLOR_12" "BoldYellow" - updateMinttyConfig "$CFGFILE" "$COLOR_13" "BoldBlue" - updateMinttyConfig "$CFGFILE" "$COLOR_14" "BoldMagenta" - updateMinttyConfig "$CFGFILE" "$COLOR_15" "BoldCyan" - updateMinttyConfig "$CFGFILE" "$COLOR_16" "BoldWhite" - - updateMinttyConfig "$CFGFILE" "$BACKGROUND_COLOR" "Backgroundcolor" - updateMinttyConfig "$CFGFILE" "$FOREGROUND_COLOR" "Foregroundcolor" - updateMinttyConfig "$CFGFILE" "$CURSOR_COLOR" "Cursorcolor" - - echo "Done - please reopen your Cygwin terminal to see the changes" -} - -apply_alacritty() { - # | - # | Applying values on Alacritty - # | =========================================== - - json_str="\ - { \ - \"colors\": \ - {\ - \"primary\":\ - {\ - \"background\": \"$BACKGROUND_COLOR\",\ - \"foreground\": \"$FOREGROUND_COLOR\"\ - },\ - \"normal\":\ - {\ - \"black\": \"$COLOR_01\",\ - \"red\": \"$COLOR_02\",\ - \"green\": \"$COLOR_03\",\ - \"yellow\":\"$COLOR_04\",\ - \"blue\":\"$COLOR_05\",\ - \"magenta\": \"$COLOR_06\",\ - \"cyan\":\"$COLOR_07\",\ - \"white\": \"$COLOR_08\"\ - },\ - \"bright\":\ - {\ - \"black\":\"$COLOR_09\",\ - \"red\":\"$COLOR_10\",\ - \"green\":\"$COLOR_11\",\ - \"yellow\": \"$COLOR_12\",\ - \"blue\": \"$COLOR_13\",\ - \"magenta\":\"$COLOR_14\",\ - \"cyan\": \"$COLOR_15\",\ - \"white\":\"$COLOR_16\"\ - } \ - }\ - }" - - SCRIPT_PATH="${SCRIPT_PATH:-$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)}" - PARENT_PATH="$(dirname "${SCRIPT_PATH}")" - - # Allow developer to change url to forked url for easier testing - # IMPORTANT: Make sure you export this variable if your main shell is not bash - BASE_URL=${BASE_URL:-"https://raw.githubusercontent.com/Gogh-Co/Gogh/master"} - - - if [[ -e "${SCRIPT_PATH}/apply-alacritty.py" ]]; then - python3 "${SCRIPT_PATH}/apply-alacritty.py" "$json_str" - else - if [[ "$(uname)" = "Darwin" ]]; then - # OSX ships with curl and ancient bash - python3 -c "$(curl -so- "${BASE_URL}/apply-alacritty.py")" "$json_str" - else - # Linux ships with wget - python3 -c "$(wget -qO- "${BASE_URL}/apply-alacritty.py")" "$json_str" - fi - fi - -} - -apply_foot() { - # | - # | Applying values on foot - # | =========================================== - - echo "Patching foot configuration file (${CFGFILE}) with new colors..." - - updateFootConfig "$CFGFILE" "$COLOR_01" "regular0" - updateFootConfig "$CFGFILE" "$COLOR_02" "regular1" - updateFootConfig "$CFGFILE" "$COLOR_03" "regular2" - updateFootConfig "$CFGFILE" "$COLOR_04" "regular3" - updateFootConfig "$CFGFILE" "$COLOR_05" "regular4" - updateFootConfig "$CFGFILE" "$COLOR_06" "regular5" - updateFootConfig "$CFGFILE" "$COLOR_07" "regular6" - updateFootConfig "$CFGFILE" "$COLOR_08" "regular7" - - updateFootConfig "$CFGFILE" "$COLOR_09" "bright0" - updateFootConfig "$CFGFILE" "$COLOR_10" "bright1" - updateFootConfig "$CFGFILE" "$COLOR_11" "bright2" - updateFootConfig "$CFGFILE" "$COLOR_12" "bright3" - updateFootConfig "$CFGFILE" "$COLOR_13" "bright4" - updateFootConfig "$CFGFILE" "$COLOR_14" "bright5" - updateFootConfig "$CFGFILE" "$COLOR_15" "bright6" - updateFootConfig "$CFGFILE" "$COLOR_16" "bright7" - - updateFootConfig "$CFGFILE" "$BACKGROUND_COLOR" "background" - updateFootConfig "$CFGFILE" "$FOREGROUND_COLOR" "foreground" - - echo "Done - please reopen your foot terminal to see the changes" - -} - -apply_kitty() { - # | - # | Applying values on Kitty - # | =========================================== - - echo "Patching kitty configuration file ($CFGFILE) with include of color theme file..." - - COLOR_FILE="colors.conf" - - if ! grep -q "^include $COLOR_FILE$" "$CFGFILE" ; then - echo "" >> "$CFGFILE" - echo "# Added by Gogh" >> "$CFGFILE" - echo "include $COLOR_FILE" >> "$CFGFILE" - fi - - CFGFILE="${KITTY_CONFIG_DIRECTORY}/$COLOR_FILE" - - echo "Updating color theme file ($CFGFILE) with theme..." - - rm -f "$CFGFILE" - - echo "# Color theme: $PROFILE_NAME" >> "$CFGFILE" - echo "# Auto-generated by Gogh (https://Gogh-Co.github.io/Gogh/)" >> "$CFGFILE" - echo "" >> "$CFGFILE" - echo "color0 $COLOR_01" >> "$CFGFILE" - echo "color1 $COLOR_02" >> "$CFGFILE" - echo "color2 $COLOR_03" >> "$CFGFILE" - echo "color3 $COLOR_04" >> "$CFGFILE" - echo "color4 $COLOR_05" >> "$CFGFILE" - echo "color5 $COLOR_06" >> "$CFGFILE" - echo "color6 $COLOR_07" >> "$CFGFILE" - echo "color7 $COLOR_08" >> "$CFGFILE" - echo "color8 $COLOR_09" >> "$CFGFILE" - echo "color9 $COLOR_10" >> "$CFGFILE" - echo "color10 $COLOR_11" >> "$CFGFILE" - echo "color11 $COLOR_12" >> "$CFGFILE" - echo "color12 $COLOR_13" >> "$CFGFILE" - echo "color13 $COLOR_14" >> "$CFGFILE" - echo "color14 $COLOR_15" >> "$CFGFILE" - echo "color15 $COLOR_16" >> "$CFGFILE" - - echo "background $BACKGROUND_COLOR" >> "$CFGFILE" - echo "foreground $FOREGROUND_COLOR" >> "$CFGFILE" - - [ -n "$HIGHLIGHT_FG_COLOR" ] && echo "selection_foreground $HIGHLIGHT_FG_COLOR" >> "$CFGFILE" - [ -n "$HIGHLIGHT_BG_COLOR" ] && echo "selection_background $HIGHLIGHT_BG_COLOR" >> "$CFGFILE" - - echo "cursor $CURSOR_COLOR" >> "$CFGFILE" - - echo "Done - please reopen your kitty terminal to see the changes" -} - -apply_konsole() { - # | - # | Applying values on Konsole - # | =========================================== - - PARENT=$(grep -o "^DefaultProfile=.*$" ${CFGFILE} | cut -d '=' -f 2) - if [[ -z "${PARENT}" ]]; then - PARENT="FALLBACK/" - fi - - if [[ -z "${XDG_DATA_HOME:-}" ]]; then - KDIR="${HOME}/.local/share/konsole" - else - KDIR="${XDG_DATA_HOME}/konsole" - fi - - KPROFILE="${KDIR}/${PROFILE_NAME}.profile" - if [[ -f "${KPROFILE}" ]]; then - echo "Profile ${PROFILE_NAME} already exists in Konsole confiuration (${KONSOLE_DIR}); Skipping ..." - exit 0 - fi - - touch "${KPROFILE}" - echo -e "[Appearance]\nColorScheme=${PROFILE_NAME}\n" >> "${KPROFILE}" - echo -e "[General]\nName=${PROFILE_NAME}\nParent=$PARENT" >> "${KPROFILE}" - - KCOLORSCHEME="${KDIR}/${PROFILE_NAME}.colorscheme" - if [[ -f "${KCOLORSCHEME}" ]]; then - echo "Color Scheme ${PROFILE_NAME} already exists in Konsole confiuration (${KONSOLE_DIR}); Skipping ..." - exit 0 - fi - - touch "${KCOLORSCHEME}" - createKonsoleTriple "Background" "${BACKGROUND_COLOR}" "${BACKGROUND_COLOR}" >> "${KCOLORSCHEME}" - createKonsoleTriple "Color0" "${COLOR_01}" "${COLOR_09}" >> "${KCOLORSCHEME}" - createKonsoleTriple "Color1" "${COLOR_02}" "${COLOR_10}" >> "${KCOLORSCHEME}" - createKonsoleTriple "Color2" "${COLOR_03}" "${COLOR_11}" >> "${KCOLORSCHEME}" - createKonsoleTriple "Color3" "${COLOR_04}" "${COLOR_12}" >> "${KCOLORSCHEME}" - createKonsoleTriple "Color4" "${COLOR_05}" "${COLOR_13}" >> "${KCOLORSCHEME}" - createKonsoleTriple "Color5" "${COLOR_06}" "${COLOR_14}" >> "${KCOLORSCHEME}" - createKonsoleTriple "Color6" "${COLOR_07}" "${COLOR_15}" >> "${KCOLORSCHEME}" - createKonsoleTriple "Color7" "${COLOR_08}" "${COLOR_16}" >> "${KCOLORSCHEME}" - createKonsoleTriple "Foreground" "${FOREGROUND_COLOR}" "${FOREGROUND_COLOR}" >> "${KCOLORSCHEME}" - echo "[General]" >> "${KCOLORSCHEME}" - echo "Blur=false" >> "${KCOLORSCHEME}" - echo "ColorRandomization=false" >> "${KCOLORSCHEME}" - echo "Description=${PROFILE_NAME}" >> "${KCOLORSCHEME}" - echo "Opacity=1" >> "${KCOLORSCHEME}" - echo "Wallpaper=" >> "${KCOLORSCHEME}" -} - -apply_darwin() { - # | - # | Applying values on iTerm2 - # | =========================================== - - BACKGROUND_COLOR=$(convertNameAndRGBtoITerm "Background Color" "$BACKGROUND_COLOR") - FOREGROUND_COLOR=$(convertNameAndRGBtoITerm "Foreground Color" "$FOREGROUND_COLOR") - COLOR_01=$(convertNameAndRGBtoITerm "Ansi 0 Color" "$COLOR_01") - COLOR_02=$(convertNameAndRGBtoITerm "Ansi 1 Color" "$COLOR_02") - COLOR_03=$(convertNameAndRGBtoITerm "Ansi 2 Color" "$COLOR_03") - COLOR_04=$(convertNameAndRGBtoITerm "Ansi 3 Color" "$COLOR_04") - COLOR_05=$(convertNameAndRGBtoITerm "Ansi 4 Color" "$COLOR_05") - COLOR_06=$(convertNameAndRGBtoITerm "Ansi 5 Color" "$COLOR_06") - COLOR_07=$(convertNameAndRGBtoITerm "Ansi 6 Color" "$COLOR_07") - COLOR_08=$(convertNameAndRGBtoITerm "Ansi 7 Color" "$COLOR_08") - COLOR_09=$(convertNameAndRGBtoITerm "Ansi 8 Color" "$COLOR_09") - COLOR_10=$(convertNameAndRGBtoITerm "Ansi 9 Color" "$COLOR_10") - COLOR_11=$(convertNameAndRGBtoITerm "Ansi 10 Color" "$COLOR_11") - COLOR_12=$(convertNameAndRGBtoITerm "Ansi 11 Color" "$COLOR_12") - COLOR_13=$(convertNameAndRGBtoITerm "Ansi 12 Color" "$COLOR_13") - COLOR_14=$(convertNameAndRGBtoITerm "Ansi 13 Color" "$COLOR_14") - COLOR_15=$(convertNameAndRGBtoITerm "Ansi 14 Color" "$COLOR_15") - COLOR_16=$(convertNameAndRGBtoITerm "Ansi 15 Color" "$COLOR_16") - - # Assemble color scheme file contents - ITERMCOLORS=''${BACKGROUND_COLOR}${FOREGROUND_COLOR}${COLOR_01}${COLOR_02}${COLOR_03}${COLOR_04}${COLOR_05}${COLOR_06}${COLOR_07}${COLOR_08}${COLOR_09}${COLOR_10}${COLOR_11}${COLOR_12}${COLOR_13}${COLOR_14}${COLOR_15}'' - - # Dump iTerm color scheme to file and import it by opening it - echo "${ITERMCOLORS}" > "${PROFILE_NAME}.itermcolors" - open "${PROFILE_NAME}.itermcolors" - rm "${PROFILE_NAME}.itermcolors" -} - -apply_gtk() { - # | - # | Applying values to gnome/mate/tilix - # | =========================================== - - local legacy="${1:-}" - - # This is to avoid doing the profile loop definition twice - if [[ -z "${legacy}" ]]; then - CONFTOOL="${DCONF} read" - VISIBLE_NAME="visible-name" - else - CONFTOOL="${GCONF} --get" - VISIBLE_NAME="visible_name" - fi - - # Check first wether profile already exists - profile_hashes=($(${CONFTOOL} "${PROFILE_LIST_KEY}" | tr "[]'," " ")) - for profile in "${profile_hashes[@]}"; do - if [[ "$(${CONFTOOL} "${BASE_DIR}${profile}/${VISIBLE_NAME}" | tr -d "'")" == "${PROFILE_NAME}" ]]; then - printf '%s\n' "Profile already exists" "Skipping..." - exit 0 - fi - done - - # Fallback if there is no default profile - set -- $(${CONFTOOL} ${PROFILE_LIST_KEY} | tr "[]'," " ") - : ${DEFAULT_SLUG:="$1"} - - : ${PROFILE_NAME:="Default"} - : ${PROFILE_SLUG:="Default"} - - DEFAULT_KEY="${BASE_DIR}${DEFAULT_SLUG:-}" - PROFILE_KEY="${BASE_DIR}${PROFILE_SLUG:-}" - - if [[ -z "${legacy}" ]]; then - if [[ -z "$(${DCONF} list ${BASE_DIR%:})" ]]; then - # Provide a user friendly error text if no saved profile exists, otherwise it will display "Error gconftool not found!" - # it could happen on a newly installed system. (happened on CentOS 7) - printf '%s\n' \ - "Error, no saved profiles found!" \ - "Possible fix, new a profile (Terminal > Edit > Preferences > Profiles > New, then Close) and try again." \ - "You can safely delete the created profile after the installation." - exit 1 - fi - - BACKGROUND_COLOR=$(gnome_color "$BACKGROUND_COLOR") - FOREGROUND_COLOR=$(gnome_color "$FOREGROUND_COLOR") - CURSOR_COLOR=$(gnome_color "$CURSOR_COLOR") - HIGHLIGHT_BG_COLOR=$(gnome_color "$HIGHLIGHT_BG_COLOR") - HIGHLIGHT_FG_COLOR=$(gnome_color "$HIGHLIGHT_FG_COLOR") - COLOR_01=$(gnome_color "$COLOR_01") - COLOR_02=$(gnome_color "$COLOR_02") - COLOR_03=$(gnome_color "$COLOR_03") - COLOR_04=$(gnome_color "$COLOR_04") - COLOR_05=$(gnome_color "$COLOR_05") - COLOR_06=$(gnome_color "$COLOR_06") - COLOR_07=$(gnome_color "$COLOR_07") - COLOR_08=$(gnome_color "$COLOR_08") - COLOR_09=$(gnome_color "$COLOR_09") - COLOR_10=$(gnome_color "$COLOR_10") - COLOR_11=$(gnome_color "$COLOR_11") - COLOR_12=$(gnome_color "$COLOR_12") - COLOR_13=$(gnome_color "$COLOR_13") - COLOR_14=$(gnome_color "$COLOR_14") - COLOR_15=$(gnome_color "$COLOR_15") - COLOR_16=$(gnome_color "$COLOR_16") - - # copy existing settings from default profile - $DCONF dump "${DEFAULT_KEY}/" | $DCONF load "${PROFILE_KEY}/" - - # add new copy to global list of profiles - dlist_append "${PROFILE_LIST_KEY}" "${PROFILE_SLUG#:}" - - set_theme - dset palette "${LEFT_WRAPPER:-}'${COLOR_01}${PALETTE_DELIM}${COLOR_02}${PALETTE_DELIM}${COLOR_03}${PALETTE_DELIM}${COLOR_04}${PALETTE_DELIM}${COLOR_05}${PALETTE_DELIM}${COLOR_06}${PALETTE_DELIM}${COLOR_07}${PALETTE_DELIM}${COLOR_08}${PALETTE_DELIM}${COLOR_09}${PALETTE_DELIM}${COLOR_10}${PALETTE_DELIM}${COLOR_11}${PALETTE_DELIM}${COLOR_12}${PALETTE_DELIM}${COLOR_13}${PALETTE_DELIM}${COLOR_14}${PALETTE_DELIM}${COLOR_15}${PALETTE_DELIM}${COLOR_16}'${RIGHT_WRAPPER:-}" - ${LEGACY_BOLD:-} && dset allow-bold "true" # mate - else - # Append the Base16 profile to the profile list - glist_append string "${PROFILE_LIST_KEY}" "${PROFILE_SLUG}" - - legacy_set_theme - gcset string palette "${COLOR_01}:${COLOR_02}:${COLOR_03}:${COLOR_04}:${COLOR_05}:${COLOR_06}:${COLOR_07}:${COLOR_08}:${COLOR_09}:${COLOR_10}:${COLOR_11}:${COLOR_12}:${COLOR_13}:${COLOR_14}:${COLOR_15}:${COLOR_16}" - ${LEGACY_BOLD:-} && gcset bool allow-bold "true" - fi -} - -apply_guake() { - # | - # | Applying values to guake - # | =========================================== - - local legacy="${1:-}" - PROFILE_KEY="/apps/guake/style/font" - - if [[ -z "${legacy}" ]]; then - dset palette "'${COLOR_01}:${COLOR_02}:${COLOR_03}:${COLOR_04}:${COLOR_05}:${COLOR_06}:${COLOR_07}:${COLOR_08}:${COLOR_09}:${COLOR_10}:${COLOR_11}:${COLOR_12}:${COLOR_13}:${COLOR_14}:${COLOR_15}:${COLOR_16}:${FOREGROUND_COLOR}:${BACKGROUND_COLOR}'" - dset palette-name "'${PROFILE_NAME}'" - dset allow-bold 'true' - else - gcset string color "${FOREGROUND_COLOR}" - gcset string palette "${COLOR_01}:${COLOR_02}:${COLOR_03}:${COLOR_04}:${COLOR_05}:${COLOR_06}:${COLOR_07}:${COLOR_08}:${COLOR_09}:${COLOR_10}:${COLOR_11}:${COLOR_12}:${COLOR_13}:${COLOR_14}:${COLOR_15}:${COLOR_16}" - gcset string palette-name "${PROFILE_NAME}" - PROFILE_KEY="/apps/guake/style/background" - gcset string color "${BACKGROUND_COLOR}" - - fi -} - -appy_tilixschemes() { - # | - # | Applying values to tilix colorschemes - # | =========================================== - - if [[ ${TILIX_RES::1} =~ ^(y|Y)$ ]]; then - [[ -d "${HOME}/.config/tilix/schemes" ]] || mkdir -p "${HOME}/.config/tilix/schemes" - - TILIXCOLORS='{\n\t"name": "'${PROFILE_NAME}'",\n\t"comment": "Generated by Gogh",\n\t"foreground-color": "'${FOREGROUND_COLOR}'",\n\t"background-color":"'${BACKGROUND_COLOR}'",\n\t"cursor-background-color": "'${CURSOR_COLOR}'",\n\t"palette": [\n\t\t"'${COLOR_01}'",\n\t\t"'${COLOR_02}'",\n\t\t"'${COLOR_03}'",\n\t\t"'${COLOR_04}'",\n\t\t"'${COLOR_05}'",\n\t\t"'${COLOR_06}'",\n\t\t"'${COLOR_07}'",\n\t\t"'${COLOR_08}'",\n\t\t"'${COLOR_09}'",\n\t\t"'${COLOR_10}'",\n\t\t"'${COLOR_11}'",\n\t\t"'${COLOR_12}'",\n\t\t"'${COLOR_13}'",\n\t\t"'${COLOR_14}'",\n\t\t"'${COLOR_15}'",\n\t\t"'${COLOR_16}'"\n\t],\n\t"use-badge-color": false,\n\t"use-bold-color": false,\n\t"use-cursor-color": false,\n\t"use-highlight-color": false,\n\t"use-theme-colors": false\n}' - echo -e "${TILIXCOLORS}" > "${scratchdir}/${PROFILE_NAME}.json" - - # Note: Tilix does not store color scheme name in dconf - # so we have to update color palette for the current profile in order to switch to the new theme - # but only set the palette on the last loop to avoid a flashing terminal - if ((LOOP == OPTLENGTH)); then - cp -f ${scratchdir}/* "$HOME/.config/tilix/schemes/" - rm -rf "${scratchdir}" - read -r -p "All done - apply new theme? [y/N] " -n 1 TILIX_RES - if [[ ${TILIX_RES::1} =~ ^(y|Y)$ ]]; then - PROFILE_KEY="${BASE_DIR}${DEFAULT_SLUG}" - PROFILE_NAME="$(${DCONF} read ${PROFILE_KEY}/visible-name | tr -d \')" - set_theme - dset palette "['${COLOR_01}', '${COLOR_02}', '${COLOR_03}', '${COLOR_04}', '${COLOR_05}', '${COLOR_06}', '${COLOR_07}', '${COLOR_08}', '${COLOR_09}', '${COLOR_10}', '${COLOR_11}', '${COLOR_12}', '${COLOR_13}', '${COLOR_14}', '${COLOR_15}', '${COLOR_16}']" - fi - fi - - unset PROFILE_NAME - unset PROFILE_SLUG - unset TILIXCOLORS - exit 0 - fi -} - -apply_xfce4-terminal() { - # XFCE4 terminal has no profiles, instead it uses color presets - SCHEMEDIR="${HOME}/.local/share/xfce4/terminal/colorschemes" - CONFFILE="${HOME}/.config/xfce4/terminal/terminalrc" - - if [[ ! (-w "${CONFFILE}") ]]; then - if [[ -r "${XDG_CONFIG_DIRS%%:*}/Terminal/terminalrc" ]]; then - cp "${XDG_CONFIG_DIRS%%:*}/Terminal/terminalrc" ${CONFFILE} - else - echo "ERROR: config file not present or not writable!" - exit 1 - fi - fi - - [[ -d "${SCHEMEDIR}" ]] || mkdir -p "${SCHEMEDIR}" - - F_NAME=${PROFILE_NAME// /-} - F_NAME=$(echo ${F_NAME} | tr -d ":()") - F_NAME=$(echo "${F_NAME}" | awk '{print tolower($0)}') - - FF_NAME="${SCHEMEDIR}/${F_NAME}.theme" - - touch "${FF_NAME}" - - L_COLORCURSOR="ColorCursor=${CURSOR_COLOR}" - L_COLORPALETTE="ColorPalette=${COLOR_01};${COLOR_02};${COLOR_03};${COLOR_04};${COLOR_05};${COLOR_06};${COLOR_07};${COLOR_08};${COLOR_09};${COLOR_10};${COLOR_11};${COLOR_12};${COLOR_13};${COLOR_14};${COLOR_15};${COLOR_16}" - - printf '%s\n' \ - "; Generated by Gogh" \ - "; https://Gogh-Co.github.io/Gogh" \ - "[Scheme]" \ - "Name=${PROFILE_NAME}" \ - "ColorForeground=${FOREGROUND_COLOR}" \ - "ColorBackground=${BACKGROUND_COLOR}" \ - "${L_COLORCURSOR}" \ - "${L_COLORPALETTE}" \ - "ColorCursorUseDefault=FALSE" > ${FF_NAME} - - # apply last theme in queue - # xfce4-terminal monitors its rc file and doesn't reference - # any of the themes in there. The color settings need to - # be written there directly. - if ((LOOP == OPTLENGTH)); then - read -r -p "All done - apply new theme? [y/N] " -n 1 XFCE4_APPLY_CURR_THEME - if [[ ${XFCE4_APPLY_CURR_THEME::1} =~ ^(y|Y)$ ]]; then - if grep -q "^ColorPalette=" "${CONFFILE}"; then - sed -i -r -e "s/^ColorPalette=.*/${L_COLORPALETTE}/" "${CONFFILE}" - else - echo "${L_COLORPALETTE}" >> "${CONFFILE}" - fi - - if grep -q "^ColorCursor=" "${CONFFILE}"; then - sed -i -r -e "s/^ColorCursor=.*/${L_COLORCURSOR}/" "${CONFFILE}" - else - echo "${L_COLORCURSOR}" >> "${CONFFILE}" - fi - - if grep -q "^ColorForeground=" "${CONFFILE}"; then - sed -i -r -e "s/^ColorForeground=.*/ColorForeground=${FOREGROUND_COLOR}/" "${CONFFILE}" - else - echo "ColorForeground=${FOREGROUND_COLOR}" >> "${CONFFILE}" - fi - - if grep -q "^ColorBackground=" "${CONFFILE}"; then - sed -i -r -e "s/^ColorBackground=.*/ColorBackground=${BACKGROUND_COLOR}/" "${CONFFILE}" - else - echo "ColorBackground=${BACKGROUND_COLOR}" >> "${CONFFILE}" - fi - - if grep -q "^ColorCursorUseDefault=FALSE" "${CONFFILE}"; then - true - else - echo "ColorCursorUseDefault=FALSE" >> "${CONFFILE}" - fi - fi - fi - - unset SCHEMEDIR - unset CONFFILE - unset PROFILE_NAME - unset F_NAME - unset FF_NAME - unset L_COLORCURSOR - unset L_COLORPALETTE - exit 0 -} - -[[ -n "${UUIDGEN}" ]] && PROFILE_SLUG="$(uuidgen)" - -case "${TERMINAL}" in - pantheon-terminal|io.elementary.t* ) - if [[ "${TERMINAL}" == "pantheon-terminal" ]]; then - PROFILE_KEY="org.pantheon.terminal.settings" - else - PROFILE_KEY="io.elementary.terminal.settings" - fi - apply_elementary - ;; - - iTerm.app ) - apply_darwin - ;; - - mintty ) - apply_cygwin - ;; - - guake ) - if [[ -n "$(${DCONF} list /apps/guake/style/)" ]]; then - apply_guake - else - apply_guake legacy - fi - ;; - - gnome-terminal* ) - if [[ -n "$(${DCONF} list /org/gnome/terminal/)" ]]; then - BASE_DIR="/org/gnome/terminal/legacy/profiles:/:" - PROFILE_LIST_KEY="${BASE_DIR%:}list" - PROFILE_SLUG="${PROFILE_SLUG}" - - # Note -- ${BASE_DIR%s} is a workaround to avoid doing additional conditional testing for existing profiles - # if terminal is set to gnome-terminal - : ${DEFAULT_SLUG:="$(${DCONF} read ${BASE_DIR%:}default | tr -d \')"} - - LEFT_WRAPPER="[" - RIGHT_WRAPPER="]" - PALETTE_DELIM="', '" - - apply_gtk - else - BASE_DIR="/apps/gnome-terminal/profiles/" - PROFILE_LIST_KEY="${BASE_DIR/profiles/global}profile_list" - LEGACY_BOLD=true - - : ${DEFAULT_SLUG:="$(${GCONF} read ${BASE_DIR}default_profile)"} - - apply_gtk legacy - fi - ;; - - mate-terminal ) - BASE_DIR="/org/mate/terminal/profiles/" - PROFILE_LIST_KEY="${BASE_DIR/profiles/global}profile-list" - LEGACY_BOLD=true - - : ${DEFAULT_SLUG:="$(${DCONF} read ${BASE_DIR/profiles/global}default-profile | tr -d \')"} - - PALETTE_DELIM=":" - - apply_gtk - ;; - - tilix ) - BASE_DIR="/com/gexperts/Tilix/profiles/" - PROFILE_LIST_KEY="${BASE_DIR}list" - - : ${DEFAULT_SLUG:="$(${DCONF} read ${BASE_DIR}default | tr -d \')"} - - LEFT_WRAPPER="[" - RIGHT_WRAPPER="]" - PALETTE_DELIM="', '" - - appy_tilixschemes - apply_gtk - ;; - - xfce4-terminal ) - apply_xfce4-terminal - ;; - - alacritty ) - apply_alacritty - ;; - - foot ) - apply_foot - ;; - - kitty ) - apply_kitty - ;; - - konsole ) - apply_konsole - ;; - - * ) - printf '%s\n' \ - "Unsupported terminal!" \ - "" \ - "Supported terminals:" \ - " mintty and deriviates" \ - " guake" \ - " iTerm2" \ - " elementary terminal (pantheon/elementary)" \ - " mate-terminal" \ - " gnome-terminal" \ - " tilix" \ - " xfce4-terminal" \ - " foot" \ - " kitty" \ - " konsole" \ - "" \ - "If you believe you have received this message in error," \ - "try manually setting \`TERMINAL', hint: ps -h -o comm -p \$PPID" - exit 1 - ;; - -esac - -unset PROFILE_NAME -unset PROFILE_SLUG -unset DEFAULT_SLUG diff --git a/.local/bin/ksetwallpaper b/.local/bin/ksetwallpaper deleted file mode 100644 index c52d8e66..00000000 --- a/.local/bin/ksetwallpaper +++ /dev/null @@ -1,107 +0,0 @@ -#!/usr/bin/env python3 -import time -import dbus -import argparse -import glob -import random -import os -import subprocess -from pathlib import Path -HOME = str(Path.home()) -SCREEN_LOCK_CONFIG = HOME+"/.config/kscreenlockerrc" -def setwallpaper(filepath, plugin='org.kde.image'): - jscript = """ - var allDesktops = desktops(); - print (allDesktops); - for (i=0;i 0: - wallpaper_count = len(wallapapers) - delta_s = timer - s = int(delta_s % 60) - m = int((delta_s / 60) % 60) - h = int((delta_s / 3600) % 3600) - if h > 0: - timer_show = f"{h}h {m}m {s}s" - elif m > 0: - timer_show = f"{m}m {s}s" - elif s > 0: - timer_show = f"{s}s" - print( - f"Looping through {wallpaper_count} wallpapers every {timer_show}") - while True: - if is_locked() != True: - random_int = random.randint(0, wallpaper_count-1) - wallpaper_now = wallapapers[random_int] - setwallpaper(wallpaper_now, plugin) - if lock_screen == True: - set_lockscreen_wallpaper(wallpaper_now, plugin) - time.sleep(timer) - else: - raise ValueError('Invalid --timer value') - - -if __name__ == '__main__': - parser = argparse.ArgumentParser(description='KDE Wallpaper setter') - parser.add_argument('--file','-f', help='Wallpaper file name', default=None) - parser.add_argument( - '--plugin', '-p', help='Wallpaper plugin (default is org.kde.image)', default='org.kde.image') - parser.add_argument('--dir', '-d', type=str, - help='Absolute path of folder containging your wallpapers for slideshow', default=None) - parser.add_argument('--timer', '-t', type=int, - help='Time in seconds between wallpapers', default=900) - parser.add_argument('--lock-screen', '-l', action="store_true", - help="Set lock screen wallpaper") - args = parser.parse_args() - - if args.file != None: - setwallpaper(filepath=args.file, plugin=args.plugin) - if args.lock_screen == True: - set_lockscreen_wallpaper(filepath=args.file, plugin=args.plugin) - - elif args.dir != None: - wallpapers = get_walls_from_folder(args.dir) - - wallpaper_slideshow(wallapapers=wallpapers, - plugin=args.plugin, timer=args.timer,lock_screen=args.lock_screen) - else: - print("Need help? use -h or --help") diff --git a/.local/bin/load-secrets b/.local/bin/load-secrets deleted file mode 100644 index 13128300..00000000 --- a/.local/bin/load-secrets +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -logg \ No newline at end of file diff --git a/.local/bin/logg b/.local/bin/logg deleted file mode 100644 index b85db6c4..00000000 --- a/.local/bin/logg +++ /dev/null @@ -1,413 +0,0 @@ -#!/usr/bin/env bash - -# @file .config/log -# @brief Logger / prompt library that logs pretty console messages and provides several prompt methods -# @description -# This file contains several functions that log content in different formats. It also provides an -# interface for [Gum](https://github.com/charmbracelet/gum) based prompts. The available methods include: -# -# * `choose` - Prompt user with choices -# * `confirm` - Fancy Yes/No confirmation prompt -# * `error` - Logs an error message -# * `filter` - Filterable list of choices (with choices passed in as a line-return seperated file) -# * `info` - Logs a regular message -# * `input` - Prompt for a text input -# * `md` - Render a markdown file with [Glow](https://github.com/charmbracelet/glow) -# * `password` - Prompt for text that is masked by the prompt -# * `prompt` - Log a description for a prompt that follows -# * `spin` - Show a spinner while background job completes -# * `star` - Logs a message with a star icon at the beginning -# * `start` - Log a job start message -# * `success` - Logs a success message -# * `warn` - Logs a warning message -# * `write` - Multi-line input prompt -# -# If the `docker` environment variable is not set, the script / library will ensure both Gum and Glow are installed. - -# @description Installs glow (a markdown renderer) from GitHub releases -# @example installGlow -installGlow() { - # TODO: Add support for other architecture types - if [ -d '/Applications' ] && [ -d '/Library' ] && [ -d '/Users' ]; then - GLOW_DOWNLOAD_URL="https://github.com/charmbracelet/glow/releases/download/v1.4.1/glow_1.4.1_Darwin_x86_64.tar.gz" - elif [ -f '/etc/ubuntu-release' ] || [ -f '/etc/debian_version' ] || [ -f '/etc/redhat-release' ] || [ -f '/etc/SuSE-release' ] || [ -f '/etc/arch-release' ] || [ -f '/etc/alpine-release' ]; then - GLOW_DOWNLOAD_URL="https://github.com/charmbracelet/glow/releases/download/v1.4.1/glow_1.4.1_linux_x86_64.tar.gz" - fi - if type curl &> /dev/null; then - if { [ -d '/Applications' ] && [ -d '/Library' ] && [ -d '/Users' ]; } || [ -f '/etc/ubuntu-release' ] || [ -f '/etc/debian_version' ] || [ -f '/etc/redhat-release' ] || [ -f '/etc/SuSE-release' ] || [ -f '/etc/arch-release' ] || [ -f '/etc/alpine-release' ]; then - TMP="$(mktemp)" - TMP_DIR="$(dirname "$TMP")" - curl -sSL "$GLOW_DOWNLOAD_URL" > "$TMP" - tar -xzf "$TMP" -C "$TMP_DIR" - if [ -n "$HOME" ]; then - if mkdir -p "$HOME/.local/bin" && mv "$TMP_DIR/glow" "$HOME/.local/bin/glow"; then - GLOW_PATH="$HOME/.local/bin/glow" - else - GLOW_PATH="$(dirname "${BASH_SOURCE[0]}")/glow" - mv "$TMP_DIR/gum" "$GLOW_PATH" - fi - chmod +x "$GLOW_PATH" - else - echo "WARNING: The HOME environment variable is not set! (Glow)" - fi - else - echo "WARNING: Unable to detect system type. (Glow)" - fi - fi -} - -# @description Installs gum (a logging CLI) from GitHub releases -# @example installGum -installGum() { - # TODO: Add support for other architecture types - if [ -d '/Applications' ] && [ -d '/Library' ] && [ -d '/Users' ]; then - GUM_DOWNLOAD_URL="https://github.com/charmbracelet/gum/releases/download/v0.4.0/gum_0.4.0_Darwin_x86_64.tar.gz" - elif [ -f '/etc/ubuntu-release' ] || [ -f '/etc/debian_version' ] || [ -f '/etc/redhat-release' ] || [ -f '/etc/SuSE-release' ] || [ -f '/etc/arch-release' ] || [ -f '/etc/alpine-release' ]; then - GUM_DOWNLOAD_URL="https://github.com/charmbracelet/gum/releases/download/v0.4.0/gum_0.4.0_linux_x86_64.tar.gz" - fi - if type curl &> /dev/null; then - if { [ -d '/Applications' ] && [ -d '/Library' ] && [ -d '/Users' ]; } || [ -f '/etc/ubuntu-release' ] || [ -f '/etc/debian_version' ] || [ -f '/etc/redhat-release' ] || [ -f '/etc/SuSE-release' ] || [ -f '/etc/arch-release' ] || [ -f '/etc/alpine-release' ]; then - TMP="$(mktemp)" - TMP_DIR="$(dirname "$TMP")" - curl -sSL "$GUM_DOWNLOAD_URL" > "$TMP" - tar -xzf "$TMP" -C "$TMP_DIR" - if [ -n "$HOME" ]; then - if mkdir -p "$HOME/.local/bin" && mv "$TMP_DIR/gum" "$HOME/.local/bin/gum"; then - GUM_PATH="$HOME/.local/bin/gum" - else - GUM_PATH="$(dirname "${BASH_SOURCE[0]}")/gum" - mv "$TMP_DIR/gum" "$GLOW_PATH" - fi - chmod +x "$GUM_PATH" - else - echo "WARNING: The HOME environment variable is not set! (Gum)" - fi - else - echo "WARNING: Unable to detect system type. (Gum)" - fi - fi -} - -# @description Configure the logger to use echo or gum -if [ "${container:=}" != 'docker' ]; then - # Acquire gum's path or attempt to install it - if type gum &> /dev/null; then - GUM_PATH="$(which gum)" - elif [ -f "$HOME/.local/bin/gum" ]; then - GUM_PATH="$HOME/.local/bin/gum" - elif [ -f "$(dirname "${BASH_SOURCE[0]}")/gum" ]; then - GUM_PATH="$(dirname "${BASH_SOURCE[0]}")/gum" - elif type brew &> /dev/null; then - brew install gum - GUM_PATH="$(which gum)" - else - installGum - fi - - # If gum's path was set, then turn on enhanced logging - if [ -n "$GUM_PATH" ]; then - chmod +x "$GUM_PATH" - ENHANCED_LOGGING=true - fi -fi - -# @description Disable logging for Semantic Release because it tries to parse it as JSON -if [ -n "$SEMANTIC_RELEASE" ]; then - NO_LOGGING=true -fi - -# @description Logs using Node.js -# @example logger info "An informative log" -logger() { - if [ "$1" == 'error' ]; then - "$GUM_PATH" style --border="thick" "$("$GUM_PATH" style --foreground="#ff0000" "✖") $("$GUM_PATH" style --bold --background="#ff0000" --foreground="#ffffff" " ERROR ") $("$GUM_PATH" style --bold "$(format "$2")")" - elif [ "$1" == 'info' ]; then - "$GUM_PATH" style " $("$GUM_PATH" style --foreground="#00ffff" "○") $("$GUM_PATH" style --faint "$(formatFaint "$2")")" - elif [ "$1" == 'md' ]; then - # @description Ensure glow is installed - if [ "${container:=}" != 'docker' ]; then - if type glow &> /dev/null; then - GLOW_PATH="$(which glow)" - elif [ -f "$HOME/.local/bin/glow" ]; then - GLOW_PATH="$HOME/.local/bin/glow" - elif [ -f "$(dirname "${BASH_SOURCE[0]}")/glow" ]; then - GLOW_PATH="$(dirname "${BASH_SOURCE[0]}")/glow" - elif type brew &> /dev/null; then - brew install glow - GLOW_PATH="$(which glow)" - else - installGlow - fi - - if [ -n "$GLOW_PATH" ]; then - chmod +x "$GLOW_PATH" - ENHANCED_LOGGING=true - fi - fi - "$GLOW_PATH" "$2" - elif [ "$1" == 'prompt' ]; then - "$GUM_PATH" style " $("$GUM_PATH" style --foreground="#00008b" "▶") $("$GUM_PATH" style --bold "$(format "$2")")" - elif [ "$1" == 'star' ]; then - "$GUM_PATH" style " $("$GUM_PATH" style --foreground="#d1d100" "◆") $("$GUM_PATH" style --bold "$(format "$2")")" - elif [ "$1" == 'start' ]; then - "$GUM_PATH" style " $("$GUM_PATH" style --foreground="#00ff00" "▶") $("$GUM_PATH" style --bold "$(format "$2")")" - elif [ "$1" == 'success' ]; then - "$GUM_PATH" style "$("$GUM_PATH" style --foreground="#00ff00" "✔") $("$GUM_PATH" style --bold "$(format "$2")")" - elif [ "$1" == 'warn' ]; then - "$GUM_PATH" style " $("$GUM_PATH" style --foreground="#d1d100" "◆") $("$GUM_PATH" style --bold --background="#ffff00" --foreground="#000000" " WARNING ") $("$GUM_PATH" style --bold "$(format "$2")")" - else - "$GUM_PATH" style " $("$GUM_PATH" style --foreground="#00ff00" "▶") $("$GUM_PATH" style --bold "$(format "$2")")" - fi -} - -format() { - # shellcheck disable=SC2001,SC2016 - ANSI_STR_FORMATTED="$(echo "$1" | sed 's/^\([^`]*\)`\([^`]*\)`.*/\1\\u001b[47;30m \2 \\e[49;m/')" - ANSI_STR="$(echo "$1" | sed 's/^\([^`]*\)`\([^`]*\)`\(.*\)$/\3/')" - if [ "$ANSI_STR_FORMATTED" != "$ANSI_STR" ]; then - if [[ $ANSI_STR == *'`'*'`'* ]]; then - ANSI_STR_FORMATTED="$ANSI_STR_FORMATTED$(format "$("$GUM_PATH" style --bold "$ANSI_STR")")" - else - ANSI_STR_FORMATTED="$ANSI_STR_FORMATTED$("$GUM_PATH" style --bold "$ANSI_STR")" - fi - fi - echo -e "$ANSI_STR_FORMATTED" -} - -formatFaint() { - # shellcheck disable=SC2001,SC2016 - ANSI_STR_FORMATTED="$(echo "$1" | sed 's/^\([^`]*\)`\([^`]*\)`.*/\1\\u001b[47;30m \2 \\e[49;m/')" - ANSI_STR="$(echo "$1" | sed 's/^\([^`]*\)`\([^`]*\)`\(.*\)$/\3/')" - if [ "$ANSI_STR_FORMATTED" != "$ANSI_STR" ]; then - if [[ $ANSI_STR == *'`'*'`'* ]]; then - ANSI_STR_FORMATTED="$ANSI_STR_FORMATTED$(formatFaint "$("$GUM_PATH" style --faint "$ANSI_STR")")" - else - ANSI_STR_FORMATTED="$ANSI_STR_FORMATTED$("$GUM_PATH" style --faint "$ANSI_STR")" - fi - fi - echo -e "$ANSI_STR_FORMATTED" -} - -# @description Display prompt that allows you to choose between options -# @example RESPONSE="$(.config/log choose "file.png" "another-file.jpg")" -choose() { - if type gum &> /dev/null; then - CHOOSE_ARGS="gum choose" - for CURRENT_VAR in "$@"; do - CHOOSE_ARGS="$CHOOSE_ARGS \"$CURRENT_VAR\"" - done - eval $CHOOSE_ARGS - else - echo "ERROR: gum is not installed!" - fi -} - -# @description Display a confirmation prompt that returns an exit code if "No" is selected -# @example RESPONSE="$(.config/log confirm "Are you sure?" "Yeah" "Naa")" -confirm() { - if type gum &> /dev/null; then - GUM_OPTS="" - if [ -n "$2" ]; then - # shellcheck disable=SC089 - GUM_OPTS="$GUM_OPTS --affirmative=""'$2'" - fi - if [ -n "$3" ]; then - GUM_OPTS="$GUM_OPTS --negative=""'$3'" - fi - if [ -n "$1" ]; then - if [ -n "$GUM_OPTS" ]; then - gum confirm "$1" "$GUM_OPTS" - else - gum confirm "$1" - fi - else - gum confirm - fi - else - echo "ERROR: gum is not installed!" - fi -} - -# @description Logs an error message -# @example .config/log error "Something happened!" -error() { - if [ -z "$NO_LOGGING" ]; then - if [ -n "$ENHANCED_LOGGING" ]; then - logger error "$1" - else - echo -e "\e[1;41m ERROR \e[0m $(format "$1")\e[0;39m" - fi - fi -} - -# @description Display a filterable prompt that is populated with options from a text file -# @example echo Strawberry >> flavors.text && echo Banana >> flavors.text && RESPONSE="$(.config/log filter flavors.txt)" -filter() { - if type gum &> /dev/null; then - TMP="$(mktemp)" - gum filter < "$1" - else - echo "ERROR: gum is not installed!" - fi -} - -# @description Logs an info message -# @example .config/log info "Here is some information" -info() { - if [ -z "$NO_LOGGING" ]; then - if [ -n "$ENHANCED_LOGGING" ]; then - logger info "$1" - else - echo -e "\e[1;46m INFO \e[0m $(format "$1")\e[0;39m" - fi - fi -} - -# @description Displays an input with masked characters -# @example INPUT="$(.config/log input 'Enter the value..')" -input() { - if type gum &> /dev/null; then - if [ -n "$1" ]; then - gum input --placeholder="$1" - else - gum input - fi - else - echo "ERROR: gum is not installed!" - fi -} - -# @description Logs a message written in markdown -# @example .config/log md "[styled_link](https://google.com)" -# @example .config/log md mymarkdown/file.md -md() { - if [ ! -f "$1" ]; then - echo "ERROR: A markdown file must be passed in as the parameter" && exit 1 - fi - if [ -n "$ENHANCED_LOGGING" ]; then - logger md "$1" - fi -} - -# @description Displays an input with masked characters -# @example PASSWORD="$(.config/log password 'Enter the Ansible vault password')" -password() { - if type gum &> /dev/null; then - if [ -n "$1" ]; then - gum input --password --placeholder="$1" - else - gum input --password - fi - else - echo "ERROR: gum is not installed!" - fi -} - -# @description Logs a message that describes a prompt -# @example .config/log prompt "Enter text into the following prompt" -prompt() { - if [ -z "$NO_LOGGING" ]; then - if [ -n "$ENHANCED_LOGGING" ]; then - logger prompt "$1" - else - echo -e "\e[1;104m PROMPT \e[0m $(format "$1")\e[0;39m" - fi - fi -} - -# @description Display a spinner that stays until a command is completed -# @example .config/log spin "brew install yq" "Installing yq..")" -spin() { - if type gum &> /dev/null; then - if [ -n "$1" ] && [ -n "$2" ]; then - gum spin --title="$2" "$1" - elif [ -n "$1" ]; then - gum spin "$1" - else - gum input - fi - else - echo "ERROR: gum is not installed!" - fi -} - -# @description Logs a message that starts with a star emoji -# @example .config/log star "Congratulations" -star() { - if [ -z "$NO_LOGGING" ]; then - if [ -n "$ENHANCED_LOGGING" ]; then - logger star "$1" - else - echo -e "\e[1;104m LINK \e[0m $(format "$1")\e[0;39m" - fi - fi -} - -# @description Logs a message at the beginning of a task -# @example .config/log start "Starting the process.." -start() { - if [ -z "$NO_LOGGING" ]; then - if [ -n "$ENHANCED_LOGGING" ]; then - logger start "$1" - else - echo -e "\e[1;46m START \e[0m $(format "$1")\e[0;39m" - fi - fi -} - -# @description Logs a success message -# @example .config/log success "Yay!" -success() { - if [ -z "$NO_LOGGING" ]; then - if [ -n "$ENHANCED_LOGGING" ]; then - logger success "$1" - else - echo -e "\e[1;42m SUCCESS \e[0m $(format "$1")\e[0;39m" - fi - fi -} - -# @description Logs a warning message -# @example .config/log warn "Just so you know.." -warn() { - if [ -z "$NO_LOGGING" ]; then - if [ -n "$ENHANCED_LOGGING" ]; then - logger warn "$1" - else - echo -e "\e[1;43m WARNING \e[0m $(format "$1")\e[0;39m" - fi - fi -} - -# @description Displays a multi-line prompt for text input -# @example .config/log write "Write something..")" -write() { - if type gum &> /dev/null; then - if [ -n "$1" ]; then - gum write --placeholder="$1" - else - gum write - fi - else - echo "ERROR: gum is not installed!" - fi -} - -if [ -n "$1" ] && [ -n "$2" ]; then - # Public functions that require at least two parameters to be used - if [ "$1" == 'warn' ] || [ "$1" == 'success' ] || [ "$1" == 'star' ] || [ "$1" == 'info' ] \ - || [ "$1" == 'error' ] || [ "$1" == 'md' ] || [ "$1" == 'write' ] || [ "$1" == 'start' ] \ - || [ "$1" == 'spin' ] || [ "$1" == 'prompt' ] || [ "$1" == 'filter' ] || [ "$1" == 'input' ] \ - || [ "$1" == 'confirm' ] || [ "$1" == 'password' ]; then - "$1" "$2" - elif [[ "$1" == 'choose' ]]; then - "$@" - fi -elif [ -n "$1" ]; then - # Public functions that can run with only one argument passed to .config/log (i.e. `.config/log password`) - if [ "$1" == 'write' ] || [ "$1" == 'password' ] || [ "$1" == 'confirm' ] || [ "$1" == 'input' ]; then - "$1" - else - info "$1" - fi -fi diff --git a/.local/bin/open b/.local/bin/open deleted file mode 100644 index 6ab86f88..00000000 --- a/.local/bin/open +++ /dev/null @@ -1,264 +0,0 @@ -#!/usr/bin/env bash - -# @file /usr/bin/opener -# @brief Opens a file type with the appropriate program based on the mime-type -# @description -# This script heavily borrows from [opener](https://github.com/Docbroke/shell_tools/blob/main/opener). -# It makes some minor tweaks including linting fixes. It is configured -# to properly work with [Gas Station](https://github.com/megabyte-labs/Gas-Station). -# It is used to handle cross-VM links when Gas Station is used to provision [Qubes](https://www.qubes-os.org/). -# When called with -d, the default program is used. - -# Default to system open executable on macOS -if [ -d /Applications ] && [ -d /Library ]; then - \open $@ -fi - -# shellcheck disable=SC2124 -getopts d: name -case $name in - d) file=$OPTARG - default=true ;; - *) file="$@" ;; -esac - -[[ -z $file || ! -e $file ]] && - exit 1 - -## mimetype from perl-file-mimeinfo gives better results compared to file -type mimetype &> /dev/null && mime_type="$(mimetype -b "$file")" || \ - mime_type="$(file -b --mime-type "$file")" - -## create some lists -XBROWSERS=("firefox" "chromium" "vimb" "qutebrowser" "weaver" "vivaldi") -TBROWSERS=("w3m" "links" "lynx" "elinks") -XEDITORS=("gvim" "geany" "leafpad" "mousepad") -TEDITORS=("cat" "less" "vim" "vis" "nano" "micro") -XFMS=("pcmanfm" "nautilus" "rof" "thunar") -TFMS=("ncdu" "du -h" "vifm" "ranger" "mc" "fff" "nnn" "clifm") -PDFVIEWERS=("llpp" "xournalpp" "mupdf" "qpdfview") -DOCVIEWERS=("llpp" "foliate" "mupdf" "qpdfview") -CHMVIEWERS=("kchmviewer" "xchm" "chmopen") -BOOKVIEWERS=("$TERMINAL --geometry=1920x1050 -p Large -x epy.py" "foliate" "llpp" "mupdf") -ARCHIVERS=("als" "lsar" "unar" "aunpack -D") -VIEWERS=("feh" "sxiv" "gifview -a" "display" "mtpaint" "gimp" "viewnoir" "fbi" "lp") -VPLAYERS=("mpv --player-operation-mode=pseudo-gui" "vlc" "cvlc" "ffplay" "ffprobe" "mediainfo") -APLAYERS=("mpv --player-operation-mode=pseudo-gui" "vlc" "cvlc" "ffplay" "ffprobe" "mediainfo" "soxi" "mpg123") - -## some defaults -if [[ -n "$DISPLAY" ]]; then - PLAYER="mpv --player-operation-mode=pseudo-gui" -else - PLAYER="mpv --vo=drm" -fi -if [[ -n "$DISPLAY" ]]; then - VIEWER="sxiv -fbq $file $PWD" -else - VIEWER=fbi -fi -TERMINAL=terminator -EDITOR=vis -BROWSER=weaver -PDFVIEWER=llpp -DOCVIEWER=llpp -CHMVIEWER=kchmviewer -BOOKVIEWER="$TERMINAL --geometry=1920x1050 -p Large -x epy.py" - -case "$mime_type" in - text/html|text/xml|application/x-mimearchive|message/rfc822) - if [[ $default == true ]]; then - $BROWSER "$file" && exit - elif [[ $TERM = linux && -n $DISPLAY ]]; then - select ops in exit "${XBROWSERS[@]}" "${TBROWSERS[@]}" $EDITOR; do - [[ $ops = exit ]] && exit - [[ $ops = w3m || $ops = links || $ops = elinks || $EDITOR ]] && $TERMINAL -x "$ops" "$file" & - "$ops" "$file" &> /dev/null & - done - elif [[ $TERM != linux && -n $DISPLAY ]]; then - select ops in exit "${XBROWSERS[@]}" "${TBROWSERS[@]}" $EDITOR; do - [[ $ops = exit ]] && exit - "$ops" "$file" - done - else - select ops in exit "${TBROWSERS[@]}" $EDITOR; do - [[ $ops = exit ]] && exit - "$ops" "$file" - done - fi - ;; - - text/*|*/xml|application/x-httpd-php3|application/x-httpd-php4|application/x-httpd-php5|application/x-shellscript) - [[ $default == true ]] && \ - if [[ $TERM = linux && -n $DISPLAY ]]; then - $TERMINAL -x "${VISUAL:-${EDITOR:-vis}}" "$file" - else - "${VISUAL:-${EDITOR:-vis}}" "$file" - fi && exit - select ops in exit "${XEDITORS[@]}" "${TEDITORS[@]}"; do - [[ $ops = exit ]] && exit - "$ops" "$file" - done - ;; - - image/*) - [[ $default == true ]] && $VIEWER "$file" && exit - select ops in exit "${VIEWERS[@]}"; do - [[ $ops = exit ]] && break - $ops "$file" &> /dev/null & - done - ;; - - video/*|application/x-matroska) - [[ $default == true ]] && $PLAYER "$file" && exit - if [[ -n $DISPLAY ]]; then - select ops in exit "${VPLAYERS[@]}"; do - [[ $ops = exit ]] && break - $ops "$file" & - done - else - mpv --vo=drm -- "$file" - fi - ;; - - audio/*| application/ogg|application/x-ogg|application/mxf|application/sdp|application/smil|application/x-smil|application/streamingmedia|application/x-streamingmedia|application/vnd.rn-realmedia|application/vnd.rn-realmedia-vbr) - [[ $default == true ]] && $PLAYER "$file" && exit - select ops in exit "${APLAYERS[@]}"; do - [[ $ops = exit ]] && break - $ops "$file" & - done - ;; - - application/pdf|application/x-pdf) - [[ $default == true ]] && $PDFVIEWER "$file" && exit - if [[ -n $DISPLAY ]]; then - select ops in exit "${PDFVIEWERS[@]}"; do - [[ $ops = exit ]] && break - $ops "$file" &> /dev/null & - done - else - fbgs "$file" - fi - ;; - - application/x-cbz|applilcation/oxps|application/vnd.ms-xpsdocument) - [[ $default == true ]] && $DOCVIEWER "$file" && exit - select ops in exit "${DOCVIEWERS[@]}"; do - [[ $ops = exit ]] && break - $ops "$file" &> /dev/null & - done - ;; - application/octet-stream) - case "$file" in - *.chm|*.CHM) - [[ $default == true ]] && $CHMVIEWER "$file" && exit - select ops in exit "${CHMVIEWERS[@]}"; do - [[ $ops = exit ]] && break - $ops "$file" & - done - ;; - *.gpg) - gpg -d "$file" - ;; - *.mobi) - [[ $default == true ]] && $BOOKVIEWER "$file" && exit - select ops in exit "${BOOKVIEWERS[@]}"; do - [[ $ops = exit ]] && break - $ops "$file" &> /dev/null & - done - ;; - *) - echo "unknow filetype, probably binary" - ;; - esac - ;; - application/vnd.ms-htmlhelp) - [[ $default == true ]] && $CHMVIEWER "$file" && exit - select ops in exit "${CHMVIEWERS[@]}"; do - [[ $ops = exit ]] && break - $ops "$file" & - done - ;; - - application/vnd.comicbook*) - select ops in exit llpp mupdf foliate; do - [[ $ops = exit ]] && break - $ops "$file" & - done - ;; - - application/epub+zip|application/x-mobipocket-ebook) - [[ $default == true ]] && $BOOKVIEWER "$file" && exit - select ops in exit "${BOOKVIEWERS[@]}"; do - [[ $ops = exit ]] && break - $ops "$file" &> /dev/null & - done - ;; - - application/pgp-encrypted) - gpg -d "$file" - ;; - - application/*zip*|application/x-?ar|application/x-?z*|application/x-compressed*|application/vnd.rar|application/x-*-image|application/x-msi) - case "$file" in - *.xoj|*.xopp) xournalpp "$file" &> /dev/null ;; - *.cb?) - select ops in exit llpp mupdf foliate als unar; do - [[ $ops = exit ]] && break - [[ $ops = als || $ops = unar ]] && "$ops" "$file" - "$ops" "$file" &> /dev/null & - done - ;; - *) - if [[ $default == true ]]; then - mkdir "$file.tmp" - archivemount "$file" "$file.tmp" - echo -e "$file mounted at $file.tmp directory\n remove with fusermount -u $file.tmp" - else - select ops in exit "${ARCHIVERS[@]}" ; do - [[ $ops = exit ]] && break - # [[ $ops = aunpack ]] && aunpack -D "$file" - $ops "$file" - done - fi - ;; - esac - ;; - - *opendocument*|*openxmlformats*|*msword|*ms-excel|*ms-powerpoint|*abiword|*write*) - [[ -n $DISPLAY ]] && libreoffice "$file" --norestore &> /dev/null - [[ -z $DISPLAY ]] && \ - case "$file" in - *.odt|*.odp|*.ods|*.sxw) odt2txt "$file" ;; - *.doc) antiword "$file" ;; - *.docx) docx2txt "$file" - | $PAGER ;; - *) echo "unable to open" ;; - esac - ;; - - inode/directory) - select ops in exit "${TFMS[@]}" "${XFMS[@]}"; do - [[ $ops = exit ]] && break - $ops "$file" - done - ;; - - inode/x-empty) - echo "empty file" - rm -i "$file" - ;; - - inode/mount-point) - ## unmount by default - # select ops in exit unmount; do - # [[ $ops = exit ]] && break - # [[ $ops = unmount ]] && fusermount -zu "$file" && rmdir "$file" - fusermount -zu "$file" && rmdir "$file" && echo "$file unmounted and removed" - # done - ;; - - *) - case "$file" in - *) echo "no filetype association for $file" ;; - esac - ;; -esac diff --git a/.local/bin/provision b/.local/bin/provision deleted file mode 100644 index 17f01ff4..00000000 --- a/.local/bin/provision +++ /dev/null @@ -1,410 +0,0 @@ -#!/usr/bin/env bash - -# @description Installs glow (a markdown renderer) from GitHub releases -# @example installGlow -installGlow() { - # TODO: Add support for other architecture types - if [ -d '/Applications' ] && [ -d '/Library' ] && [ -d '/Users' ]; then - GLOW_DOWNLOAD_URL="https://github.com/charmbracelet/glow/releases/download/v1.4.1/glow_1.4.1_Darwin_x86_64.tar.gz" - elif [ -f '/etc/ubuntu-release' ] || [ -f '/etc/debian_version' ] || [ -f '/etc/redhat-release' ] || [ -f '/etc/SuSE-release' ] || [ -f '/etc/arch-release' ] || [ -f '/etc/alpine-release' ]; then - GLOW_DOWNLOAD_URL="https://github.com/charmbracelet/glow/releases/download/v1.4.1/glow_1.4.1_linux_x86_64.tar.gz" - fi - if type curl &> /dev/null; then - if { [ -d '/Applications' ] && [ -d '/Library' ] && [ -d '/Users' ]; } || [ -f '/etc/ubuntu-release' ] || [ -f '/etc/debian_version' ] || [ -f '/etc/redhat-release' ] || [ -f '/etc/SuSE-release' ] || [ -f '/etc/arch-release' ] || [ -f '/etc/alpine-release' ]; then - TMP="$(mktemp)" - TMP_DIR="$(dirname "$TMP")" - curl -sSL "$GLOW_DOWNLOAD_URL" > "$TMP" - tar -xzf "$TMP" -C "$TMP_DIR" - if [ -n "$HOME" ]; then - if mkdir -p "$HOME/.local/bin" && mv "$TMP_DIR/glow" "$HOME/.local/bin/glow"; then - GLOW_PATH="$HOME/.local/bin/glow" - else - GLOW_PATH="$(dirname "${BASH_SOURCE[0]}")/glow" - mv "$TMP_DIR/gum" "$GLOW_PATH" - fi - chmod +x "$GLOW_PATH" - else - echo "WARNING: The HOME environment variable is not set! (Glow)" - fi - else - echo "WARNING: Unable to detect system type. (Glow)" - fi - fi -} - -# @description Installs gum (a logging CLI) from GitHub releases -# @example installGum -installGum() { - # TODO: Add support for other architecture types - if [ -d '/Applications' ] && [ -d '/Library' ] && [ -d '/Users' ]; then - GUM_DOWNLOAD_URL="https://github.com/charmbracelet/gum/releases/download/v0.4.0/gum_0.4.0_Darwin_x86_64.tar.gz" - elif [ -f '/etc/ubuntu-release' ] || [ -f '/etc/debian_version' ] || [ -f '/etc/redhat-release' ] || [ -f '/etc/SuSE-release' ] || [ -f '/etc/arch-release' ] || [ -f '/etc/alpine-release' ]; then - GUM_DOWNLOAD_URL="https://github.com/charmbracelet/gum/releases/download/v0.4.0/gum_0.4.0_linux_x86_64.tar.gz" - fi - if type curl &> /dev/null; then - if { [ -d '/Applications' ] && [ -d '/Library' ] && [ -d '/Users' ]; } || [ -f '/etc/ubuntu-release' ] || [ -f '/etc/debian_version' ] || [ -f '/etc/redhat-release' ] || [ -f '/etc/SuSE-release' ] || [ -f '/etc/arch-release' ] || [ -f '/etc/alpine-release' ]; then - TMP="$(mktemp)" - TMP_DIR="$(dirname "$TMP")" - curl -sSL "$GUM_DOWNLOAD_URL" > "$TMP" - tar -xzf "$TMP" -C "$TMP_DIR" - if [ -n "$HOME" ]; then - if mkdir -p "$HOME/.local/bin" && mv "$TMP_DIR/gum" "$HOME/.local/bin/gum"; then - GUM_PATH="$HOME/.local/bin/gum" - else - GUM_PATH="$(dirname "${BASH_SOURCE[0]}")/gum" - mv "$TMP_DIR/gum" "$GLOW_PATH" - fi - chmod +x "$GUM_PATH" - else - echo "WARNING: The HOME environment variable is not set! (Gum)" - fi - else - echo "WARNING: Unable to detect system type. (Gum)" - fi - fi -} - -# @description Configure the logger to use echo or gum -if [ "${container:=}" != 'docker' ]; then - # Acquire gum's path or attempt to install it - if type gum &> /dev/null; then - GUM_PATH="$(which gum)" - elif [ -f "$HOME/.local/bin/gum" ]; then - GUM_PATH="$HOME/.local/bin/gum" - elif [ -f "$(dirname "${BASH_SOURCE[0]}")/gum" ]; then - GUM_PATH="$(dirname "${BASH_SOURCE[0]}")/gum" - elif type brew &> /dev/null; then - brew install gum - GUM_PATH="$(which gum)" - else - if ! command -v qubesctl > /dev/null; then - # Qubes dom0 - installGum - fi - fi - - # If gum's path was set, then turn on enhanced logging - if [ -n "$GUM_PATH" ]; then - chmod +x "$GUM_PATH" - ENHANCED_LOGGING=true - fi -fi - -format() { - # shellcheck disable=SC2001,SC2016 - ANSI_STR_FORMATTED="$(echo "$1" | sed 's/^\([^`]*\)`\([^`]*\)`.*/\1\\u001b[47;30m \2 \\e[49;m/')" - ANSI_STR="$(echo "$1" | sed 's/^\([^`]*\)`\([^`]*\)`\(.*\)$/\3/')" - if [ "$ANSI_STR_FORMATTED" != "$ANSI_STR" ]; then - if [[ $ANSI_STR == *'`'*'`'* ]]; then - ANSI_STR_FORMATTED="$ANSI_STR_FORMATTED$(format "$("$GUM_PATH" style --bold "$ANSI_STR")")" - else - ANSI_STR_FORMATTED="$ANSI_STR_FORMATTED$("$GUM_PATH" style --bold "$ANSI_STR")" - fi - fi - echo -e "$ANSI_STR_FORMATTED" -} - -formatFaint() { - # shellcheck disable=SC2001,SC2016 - ANSI_STR_FORMATTED="$(echo "$1" | sed 's/^\([^`]*\)`\([^`]*\)`.*/\1\\u001b[47;30m \2 \\e[49;m/')" - ANSI_STR="$(echo "$1" | sed 's/^\([^`]*\)`\([^`]*\)`\(.*\)$/\3/')" - if [ "$ANSI_STR_FORMATTED" != "$ANSI_STR" ]; then - if [[ $ANSI_STR == *'`'*'`'* ]]; then - ANSI_STR_FORMATTED="$ANSI_STR_FORMATTED$(formatFaint "$("$GUM_PATH" style --faint "$ANSI_STR")")" - else - ANSI_STR_FORMATTED="$ANSI_STR_FORMATTED$("$GUM_PATH" style --faint "$ANSI_STR")" - fi - fi - echo -e "$ANSI_STR_FORMATTED" -} - -# @description Logs using Node.js -# @example logger info "An informative log" -logg() { - TYPE="$1" - MSG="$2" - if [ "$TYPE" == 'error' ]; then - "$GUM_PATH" style --border="thick" "$("$GUM_PATH" style --foreground="#ff0000" "✖") $("$GUM_PATH" style --bold --background="#ff0000" --foreground="#ffffff" " ERROR ") $("$GUM_PATH" style --bold "$(format "$MSG")")" - elif [ "$TYPE" == 'info' ]; then - "$GUM_PATH" style " $("$GUM_PATH" style --foreground="#00ffff" "○") $("$GUM_PATH" style --faint "$(formatFaint "$MSG")")" - elif [ "$TYPE" == 'md' ]; then - # @description Ensure glow is installed - if [ "${container:=}" != 'docker' ]; then - if type glow &> /dev/null; then - GLOW_PATH="$(which glow)" - elif [ -f "$HOME/.local/bin/glow" ]; then - GLOW_PATH="$HOME/.local/bin/glow" - elif [ -f "$(dirname "${BASH_SOURCE[0]}")/glow" ]; then - GLOW_PATH="$(dirname "${BASH_SOURCE[0]}")/glow" - elif type brew &> /dev/null; then - brew install glow - GLOW_PATH="$(which glow)" - else - if ! command -v qubesctl > /dev/null; then - # Qubes dom0 - installGlow - fi - fi - - if [ -n "$GLOW_PATH" ]; then - chmod +x "$GLOW_PATH" - ENHANCED_LOGGING=true - fi - fi - "$GLOW_PATH" "$MSG" - elif [ "$TYPE" == 'prompt' ]; then - "$GUM_PATH" style " $("$GUM_PATH" style --foreground="#00008b" "▶") $("$GUM_PATH" style --bold "$(format "$MSG")")" - elif [ "$TYPE" == 'star' ]; then - "$GUM_PATH" style " $("$GUM_PATH" style --foreground="#d1d100" "◆") $("$GUM_PATH" style --bold "$(format "$MSG")")" - elif [ "$TYPE" == 'start' ]; then - "$GUM_PATH" style " $("$GUM_PATH" style --foreground="#00ff00" "▶") $("$GUM_PATH" style --bold "$(format "$MSG")")" - elif [ "$TYPE" == 'success' ]; then - "$GUM_PATH" style "$("$GUM_PATH" style --foreground="#00ff00" "✔") $("$GUM_PATH" style --bold "$(format "$MSG")")" - elif [ "$TYPE" == 'warn' ]; then - "$GUM_PATH" style " $("$GUM_PATH" style --foreground="#d1d100" "◆") $("$GUM_PATH" style --bold --background="#ffff00" --foreground="#000000" " WARNING ") $("$GUM_PATH" style --bold "$(format "$MSG")")" - else - "$GUM_PATH" style " $("$GUM_PATH" style --foreground="#00ff00" "▶") $("$GUM_PATH" style --bold "$(format "$TYPE")")" - fi -} - - -### Qubes dom0 -if command -v qubesctl > /dev/null; then - # The VM name that will manage the Ansible provisioning (for Qubes dom0) - ANSIBLE_PROVISION_VM="provision" - - # Ensure sys-whonix is configured (for Qubes dom0) - CONFIG_WIZARD_COUNT=0 - ENABLE_OBFSC='false' - function configureWizard() { - if xwininfo -root -tree | grep "Anon Connection Wizard"; then - WINDOW_ID="$(xwininfo -root -tree | grep "Anon Connection Wizard" | sed 's/^ *\([^ ]*\) .*/\1/')" - xdotool windowactivate "$WINDOW_ID" && sleep 1 && xdotool key 'Enter' && sleep 1 && xdotool key 'Tab Tab Enter' && sleep 24 && xdotool windowactivate "$WINDOW_ID" && sleep 1 && xdotool key 'Enter' && sleep 300 - qvm-shutdown --wait sys-whonix - sleep 3 - qvm-start sys-whonix - if xwininfo -root -tree | grep "systemcheck | Whonix" > /dev/null; then - WINDOW_ID_SYSCHECK="$(xwininfo -root -tree | grep "systemcheck | Whonix" | sed 's/^ *\([^ ]*\) .*/\1/')" - if xdotool windowactivate "$WINDOW_ID_SYS_CHECK"; then - sleep 1 - xdotool key 'Enter' - fi - fi - else - sleep 3 - CONFIG_WIZARD_COUNT=$((CONFIG_WIZARD_COUNT + 1)) - if [[ "$CONFIG_WIZARD_COUNT" == '4' ]]; then - echo "The sys-whonix anon-connection-wizard utility did not open." - else - echo "Checking for anon-connection-wizard again.." - configureWizard - fi - fi - } - - ### Ensure dom0 is updated - if [ ! -f /root/dom0-updated ]; then - sudo qubesctl --show-output state.sls update.qubes-dom0 - sudo qubes-dom0-update --clean -y - touch /root/dom0-updated - fi - - ### Ensure sys-whonix is running - if ! qvm-check --running sys-whonix; then - qvm-start sys-whonix --skip-if-running - configureWizard > /dev/null - fi - - ### Ensure TemplateVMs are updated - if [ ! -f /root/templatevms-updated ]; then - # timeout of 10 minutes is added here because the whonix-gw VM does not like to get updated - # with this method. Anyone know how to fix this? - sudo timeout 600 qubesctl --show-output --skip-dom0 --templates state.sls update.qubes-vm &> /dev/null || EXIT_CODE=$? - while read RESTART_VM; do - qvm-shutdown --wait "$RESTART_VM" - done< <(qvm-ls --all --no-spinner --fields=name,state | grep Running | grep -v sys-net | grep -v sys-firewall | grep -v sys-whonix | grep -v dom0 | awk '{print $1}') - sudo touch /root/templatevms-updated - fi - - ### Ensure provisioning VM can run commands on any VM - echo "/bin/bash" | sudo tee /etc/qubes-rpc/qubes.VMShell - sudo chmod 755 /etc/qubes-rpc/qubes.VMShell - echo "$ANSIBLE_PROVISION_VM"' dom0 allow' | sudo tee /etc/qubes-rpc/policy/qubes.VMShell - echo "$ANSIBLE_PROVISION_VM"' $anyvm allow' | sudo tee -a /etc/qubes-rpc/policy/qubes.VMShell - sudo chown "$(whoami):$(whoami)" /etc/qubes-rpc/policy/qubes.VMShell - sudo chmod 644 /etc/qubes-rpc/policy/qubes.VMShell - - - ### Create provisioning VM and initialize the provisioning process from there - qvm-create --label red --template debian-11 "$ANSIBLE_PROVISION_VM" &> /dev/null || EXIT_CODE=$? - qvm-volume extend "$ANSIBLE_PROVISION_VM:private" "40G" - if [ -f ~/.vaultpass ]; then - qvm-run "$ANSIBLE_PROVISION_VM" 'rm -f ~/QubesIncoming/dom0/.vaultpass' - qvm-copy-to-vm "$ANSIBLE_PROVISION_VM" ~/.vaultpass - qvm-run "$ANSIBLE_PROVISION_VM" 'cp ~/QubesIncoming/dom0/.vaultpass ~/.vaultpass' - fi - qvm-run --pass-io "$ANSIBLE_PROVISION_VM" 'curl -sSL https://install.doctor/start > ~/start.sh && bash ~/start.sh' - exit 0 -fi - -### System package manager update / Homebrew dependencies -if ! command -v curl > /dev/null || ! command -v git > /dev/null; then - logg info 'Ensuring `curl` and `git` are installed via the system package manager' - if command -v apt-get > /dev/null; then - # Debian / Ubuntu - sudo apt-get update - sudo apt-get install -y curl git - elif command -v dnf > /dev/null; then - # Fedora - sudo dnf install -y curl git - elif command -v yum > /dev/null; then - # CentOS - sudo yum install -y curl git - elif command -v pacman > /dev/null; then - # Archlinux - sudo pacman update - sudo pacman -Sy curl git - elif command -v zypper > /dev/null; then - # OpenSUSE - sudo zypper install -y curl git nodejs - elif command -v apk > /dev/null; then - # Alpine - apk add curl git - elif [ -d /Applications ] && [ -d /Library ]; then - # macOS - sudo xcode-select -p >/dev/null 2>&1 || xcode-select --install - elif command -v nix-env > /dev/null; then - # NixOS - echo "TODO - Add support for NixOS" - elif [[ "$OSTYPE" == 'freebsd'* ]]; then - # FreeBSD - echo "TODO - Add support for FreeBSD" - elif command -v pkg > /dev/null; then - # Termux - echo "TODO - Add support for Termux" - elif command -v xbps-install > /dev/null; then - # Void - echo "TODO - Add support for Void" - elif [[ "$OSTYPE" == 'cygwin' ]] || [[ "$OSTYPE" == 'msys' ]] || [[ "$OSTYPE" == 'win32' ]]; then - # Windows - choco install -y curl git node - fi -fi - -### Install Homebrew -ensurePackageManagerHomebrew() { - if ! command -v brew > /dev/null; then - logg info 'Installing Homebrew' - if command -v sudo > /dev/null && sudo -n true; then - echo | bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - else - logg info 'Looks like the user does not have passwordless sudo privileges. A sudo password may be required.' - bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" || BREW_EXIT_CODE="$?" - if [ -n "$BREW_EXIT_CODE" ]; then - if command -v brew > /dev/null; then - logg warn 'Homebrew was installed but part of the installation failed. Attempting to fix..' - BREW_DIRS="share/man share/doc share/zsh/site-functions etc/bash_completion.d" - for BREW_DIR in $BREW_DIRS; do - if [ -d "$(brew --prefix)/$BREW_DIR" ]; then - sudo chown -R "$(whoami)" "$(brew --prefix)/$BREW_DIR" - fi - done - brew update --force --quiet - fi - fi - fi - fi -} -ensurePackageManagerHomebrew - -### Install installer dependencies via Homebrew -installBrewPackage() { - if ! command -v "$1" > /dev/null; then - logg 'Installing `'"$1"'`' - brew install "$1" - fi -} -if command -v brew > /dev/null; then - installBrewPackage chezmoi - installBrewPackage glow - installBrewPackage gum - installBrewPackage node - installBrewPackage zx -fi - -### Ensure source files are present -logg 'Ensuring /usr/local/src/hiawatha is owned by the user' -if [ -d /usr/local/src/hiawatha ] && [ ! -w /usr/local/src/hiawatha ]; then - sudo chown -Rf "$USER":"$(id -g -n)" /usr/local/src/hiawatha -fi -if [ -d /usr/local/src/hiawatha/.git ]; then - logg info 'Pulling the latest changes from https://gitlab.com/megabyte-labs/dotfiles.git to /usr/local/src/hiawatha' - cd /usr/local/src/hiawatha - git config pull.rebase false - git reset --hard HEAD - git clean -fxd - git pull origin master -else - logg info 'Cloning https://gitlab.com/megabyte-labs/dotfiles.git to /usr/local/src/hiawatha' - rm -rf /usr/local/src/hiawatha - sudo git clone https://gitlab.com/megabyte-labs/dotfiles.git /usr/local/src/hiawatha - chown -Rf "$USER":"$(id -g -n)" /usr/local/src/hiawatha -fi - -### Copy folders -logg info 'Copying folders from /usr/local/src/hiawatha to the HOME directory' -find /usr/local/src/hiawatha -maxdepth 1 -mindepth 1 -type d | while read FOLDER; do - BASENAME="$(basename "$FOLDER")" - # Prevent initial-scaffolding of OS-specific files since Chezmoi will handle them - if [ "$BASENAME" != 'AppData' ] && [ "$BASENAME" != 'Library' ] && [ "$BASENAME" != '.git' ]; then - if [ ! -d "$HOME/$BASENAME" ]; then - mkdir -p "$HOME/$BASENAME" - fi - cp -rf "$FOLDER/"* "$HOME/$BASENAME" - fi -done - -### Copy files -logg info 'Copying files from /usr/local/src/hiawatha to the HOME directory' -find /usr/local/src/hiawatha -maxdepth 1 -mindepth 1 -type f | while read FILE; do - BASENAME="$(basename "$FILE")" - # Prevent repository-specific files from being copied over to user's HOME - if [[ "$BASENAME" != *'.md' ]] && [[ "$BASENAME" != *'.sh' ]] && [ "$BASENAME" != '.chezmoiroot' ] && [ "$BASENAME" != 'logo.png' ] && [ "$BASENAME" != '.gitlab-ci.yml' ]; then - cp "$FILE" "$HOME/$BASENAME" - chmod 600 "$HOME/$BASENAME" - fi -done - -### Ensure ~/.local/bin files are executable -logg info 'Ensuring scripts in ~/.local/bin are executable' -find "$HOME/.local/bin" -maxdepth 1 -mindepth 1 -type f | while read BINFILE; do - chmod +x "$BINFILE" -done - -### Run chezmoi init -if [ ! -f "$HOME/.config/chezmoi/chezmoi.yaml" ]; then - ### Show README.md snippet - if command -v glow > /dev/null; then - glow "$HOME/.local/share/chezmoi/docs/CHEZMOI-INTRO.md" - fi - - ### Prompt for variables - if command -v gum > /dev/null; then - if [ -z "$SOFTWARE_GROUP" ]; then - logg prompt 'Select the software group you would like to install. If your environment is a macOS, Windows, or environment with the DISPLAY environment variable then desktop software will be installed too. The software groups are in the ~/.local/share/chezmoi/home/.chezmoidata.yaml file.' - SOFTWARE_GROUP="$(gum choose "Basic" "Standard" "Full")" - export SOFTWARE_GROUP - fi - fi - - logg info 'Running `chezmoi init` since the ~/.config/chezmoi/chezmoi.yaml is not present' - chezmoi init -fi - -### Run chezmoi apply -logg info 'Running `chezmoi apply`' -if [ -n "$FORCE_CHEZMOI" ]; then - chezmoi apply --force -else - chezmoi apply -fi diff --git a/.local/bin/ramqube b/.local/bin/ramqube deleted file mode 100644 index b48af8c2..00000000 --- a/.local/bin/ramqube +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/env bash - -# Creates a Qube on RAM disk and opens Firefox if the Qube does not already exist. -# If the Qube already exists, then running this will delete it. -# Source: https://github.com/unman/stuff/blob/main/ramqube.sh -# Source: https://github.com/unman/stuff/blob/main/rmram.sh - -if [ -f '/home/user/RQube' ]; then - mkdir /home/user/RQube - sudo mount -t tmpfs -o size=2G rqube /home/user/RQube/ - qvm-pool --add rqubepool file -o revisions_to_keep=1,dir_path=/home/user/RQube/ - qvm-create rqube -P rqubepool -t debian-11 -l purple --property netvm=tor - qvm-run rqube firefox-esr -else - read -p "RAM Qube alredy exists. Press ENTER to delete." - qvm-kill rqube - qvm-remove -f rqube - qvm-pool -r rqubepool - sudo umount rqube - rm -rf /home/user/RQube - sudo rm -rf /var/log/libvirt/libxl/new.log - sudo rm -rf /var/log/libvirt/libxl/new.log - sudo rm -rf /var/log/qubes/vm-new.log - sudo rm -rf /var/log/guid/new.log - sudo rm -rf /var/log/qrexec.new.log - sudo rm -rf /var/log/pacat.new.log - sudo rm -rf /var/log/qubesdb.new.log -fi diff --git a/.local/bin/run b/.local/bin/run deleted file mode 100644 index 4303285f..00000000 --- a/.local/bin/run +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -task --taskfile $HOME/.local/src/shared-common/Taskfile.yml $@ diff --git a/.local/bin/slack b/.local/bin/slack deleted file mode 100644 index a9e3aec4..00000000 --- a/.local/bin/slack +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -exec firejail /usr/bin/slack --enable-features=UseOzonePlatform,WebRTCPipeWireCapturer --ozone-platform=wayland &> /dev/null & diff --git a/.local/bin/squash-symlink b/.local/bin/squash-symlink deleted file mode 100644 index b301d26d..00000000 --- a/.local/bin/squash-symlink +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env bash - -# Example: find . -type l -exec /path/tos/script {} + - -set -e - -for link; do - test -h "$link" || continue - - dir=$(dirname "$link") - reltarget=$(readlink "$link") - case $reltarget in - /*) abstarget=$reltarget;; - *) abstarget=$dir/$reltarget;; - esac - - rm -fv "$link" - cp -afv "$abstarget" "$link" || { - # on failure, restore the symlink - rm -rfv "$link" - ln -sfv "$reltarget" "$link" - } -done diff --git a/.local/delta/themes.gitconfig b/.local/delta/themes.gitconfig deleted file mode 100644 index 2cfb606a..00000000 --- a/.local/delta/themes.gitconfig +++ /dev/null @@ -1,309 +0,0 @@ -[delta "collared-trogon"] - # author: https://github.com/clnoll - commit-decoration-style = bold box ul - dark = true - file-decoration-style = none - file-style = omit - hunk-header-decoration-style = "#022b45" box ul - hunk-header-file-style = "#999999" - hunk-header-line-number-style = bold "#003300" - hunk-header-style = file line-number syntax - line-numbers = true - line-numbers-left-style = "#022b45" - line-numbers-minus-style = "#80002a" - line-numbers-plus-style = "#003300" - line-numbers-right-style = "#022b45" - line-numbers-zero-style = "#999999" - minus-emph-style = normal "#80002a" - minus-style = normal "#330011" - plus-emph-style = syntax "#003300" - plus-style = syntax "#001a00" - syntax-theme = Nord - -[delta "coracias-caudatus"] - # author: https://github.com/clnoll - commit-decoration-style = ol "#7536ff" - commit-style = "#200078" - file-decoration-style = none - file-style = omit - hunk-header-decoration-style = "#cfd6ff" ul - hunk-header-file-style = "#858dff" - hunk-header-line-number-style = "#7536ff" - hunk-header-style = file line-number syntax - light = true - line-numbers = true - line-numbers-left-format = "{nm:>4} ." - line-numbers-left-style = "#e3ab02" - line-numbers-minus-style = "#ff38b6" - line-numbers-plus-style = "#00e0c2" - line-numbers-right-format = "{np:>4} " - line-numbers-right-style = white - line-numbers-zero-style = "#cccccc" - minus-emph-style = bold "#ff3838" "#ffe3f7" - minus-style = "#ff0080" - plus-emph-style = "#008a81" bold "#00ffbf" - plus-style = syntax "#cffff3" - syntax-theme = Github - -[delta "hoopoe"] - # author: https://github.com/dandavison - light = true - pink = "#ffe0e0" - dark-pink = "#ffc0c0" - green = "#d0ffd0" - dark-green = "#a0efa0" - dark-green-2 = "#067a00" - minus-style = normal hoopoe.pink - minus-emph-style = normal hoopoe.dark-pink - minus-non-emph-style = minus-style - plus-style = syntax hoopoe.green - plus-emph-style = syntax hoopoe.dark-green - plus-non-emph-style = plus-style - minus-empty-line-marker-style = minus-style - plus-empty-line-marker-style = plus-style - commit-decoration-style = blue ol - commit-style = raw - file-style = omit - hunk-header-decoration-style = blue box - hunk-header-file-style = red - hunk-header-line-number-style = hoopoe.dark-green-2 - hunk-header-style = file line-number syntax - syntax-theme = GitHub - zero-style = syntax - -[delta "tangara-chilensis"] - # author: https://github.com/clnoll - commit-decoration-style = bold box ul "#34fd50" - dark = true - file-decoration-style = none - file-style = omit - hunk-header-decoration-style = "#00b494" box ul - hunk-header-file-style = "#999999" - hunk-header-line-number-style = bold "#03a4ff" - hunk-header-style = file line-number syntax - line-numbers = true - line-numbers-left-style = black - line-numbers-minus-style = "#B10036" - line-numbers-plus-style = "#03a4ff" - line-numbers-right-style = black - line-numbers-zero-style = "#999999" - minus-emph-style = normal "#de004e" - minus-style = normal "#990017" - plus-emph-style = syntax "#03a4ff" - plus-style = syntax "#450eff" - side-by-side = true - syntax-theme = Vibrant Sunburst - -[delta "villsau"] - # author: https://github.com/torarnv - dark = true - file-style = omit - hunk-header-decoration-style = omit - hunk-header-file-style = magenta - hunk-header-line-number-style = dim magenta - hunk-header-style = file line-number syntax - line-numbers = false - minus-emph-style = bold red 52 - minus-empty-line-marker-style = normal "#3f0001" - minus-non-emph-style = dim red - minus-style = bold red - plus-emph-style = bold green 22 - plus-empty-line-marker-style = normal "#002800" - plus-non-emph-style = dim green - plus-style = bold green - syntax-theme = OneHalfDark - whitespace-error-style = reverse red - zero-style = dim syntax - -[delta "woolly-mammoth"] - # author: https://github.com/Kr1ss-XD - commit-decoration-style = 232 130 box - commit-style = 232 bold italic 130 - dark = true - file-added-label = [+] - file-copied-label = [C] - file-decoration-style = "#606018" overline - file-modified-label = [M] - file-removed-label = [-] - file-renamed-label = [R] - file-style = 232 bold 184 - hunk-header-decoration-style = none - hunk-header-style = syntax bold italic 237 - line-numbers = true - line-numbers-left-format = "{nm:>1}┊" - line-numbers-left-style = red - line-numbers-minus-style = red italic black - line-numbers-plus-style = green italic black - line-numbers-right-format = "{np:>1}┊" - line-numbers-right-style = green - line-numbers-zero-style = "#545474" italic - minus-emph-style = syntax bold "#780000" - minus-style = syntax "#400000" - plus-emph-style = syntax bold "#007800" - plus-style = syntax "#004000" - syntax-theme = Vibrant Sunburst - whitespace-error-style = "#280050" reverse - zero-style = syntax - blame-format = "{author:<18} ({commit:>7}) ┊{timestamp:^16}┊ " - blame-palette = "#101010 #200020 #002800 #000028 #202000 #280000 #002020 #002800 #202020" - -[delta "calochortus-lyallii"] - # author: https://github.com/manojkarthick - commit-decoration-style = none - dark = true - file-added-label = [+] - file-copied-label = [C] - file-decoration-style = none - file-modified-label = [M] - file-removed-label = [-] - file-renamed-label = [R] - file-style = 232 bold 184 - hunk-header-decoration-style = none - hunk-header-file-style = "#999999" - hunk-header-line-number-style = bold "#03a4ff" - hunk-header-style = file line-number syntax - line-numbers = true - line-numbers-left-style = black - line-numbers-minus-style = "#B10036" - line-numbers-plus-style = "#03a4ff" - line-numbers-right-style = black - line-numbers-zero-style = "#999999" - minus-emph-style = syntax bold "#780000" - minus-style = syntax "#400000" - plus-emph-style = syntax bold "#007800" - plus-style = syntax "#004000" - whitespace-error-style = "#280050" reverse - zero-style = syntax - syntax-theme = Nord - -[delta "mantis-shrimp"] - #author: https://github.com/2kabhishek - dark = true - side-by-side = true - navigate = true - keep-plus-minus-markers = true - hyperlinks = true - file-added-label = [+] - file-copied-label = [==] - file-modified-label = [*] - file-removed-label = [-] - file-renamed-label = [->] - file-style = omit - zero-style = syntax - syntax-theme = Monokai Extended - commit-decoration-style ="#11ce16" box - commit-style = "#ffd21a" bold italic - hunk-header-decoration-style = "#1688f0" box ul - hunk-header-file-style = "#c63bee" ul bold - hunk-header-line-number-style = "#ffd21a" box bold - hunk-header-style = file line-number syntax bold italic - line-numbers = true - line-numbers-left-format = "{nm:>1}|" - line-numbers-left-style = "#1688f0" - line-numbers-minus-style = "#ff0051" bold - line-numbers-plus-style = "#03e57f" bold - line-numbers-right-format = "{np:>1}|" - line-numbers-right-style = "#1688f0" - line-numbers-zero-style = "#aaaaaa" italic - minus-emph-style = syntax bold "#b80000" - minus-style = syntax "#5d001e" - plus-emph-style = syntax bold "#007800" - plus-style = syntax "#004433" - whitespace-error-style = "#280050" - -[delta "mantis-shrimp-lite"] - #author: https://github.com/2kabhishek - dark = true - side-by-side = true - navigate = true - keep-plus-minus-markers = true - file-added-label = [+] - file-copied-label = [==] - file-modified-label = [*] - file-removed-label = [-] - file-renamed-label = [->] - file-style = omit - zero-style = syntax - syntax-theme = Monokai Extended - commit-decoration-style = green box - commit-style = yellow bold italic - hunk-header-decoration-style = blue box ul - hunk-header-file-style = purple ul bold - hunk-header-line-number-style = yellow box bold - hunk-header-style = file line-number syntax bold italic - line-numbers = true - line-numbers-left-format = "{nm:>1}|" - line-numbers-left-style = blue - line-numbers-minus-style = red bold - line-numbers-plus-style = green bold - line-numbers-right-format = "{np:>1}|" - line-numbers-right-style = blue - line-numbers-zero-style = white italic - minus-emph-style = syntax bold red - plus-emph-style = syntax bold green - whitespace-error-style = purple bold - -[delta "zebra-dark"] - minus-style = syntax "#330f0f" - minus-emph-style = syntax "#4f1917" - plus-style = syntax "#0e2f19" - plus-emph-style = syntax "#174525" - map-styles = \ - bold purple => syntax "#330f29", \ - bold blue => syntax "#271344", \ - bold cyan => syntax "#0d3531", \ - bold yellow => syntax "#222f14" - zero-style = syntax - whitespace-error-style = "#aaaaaa" - -[delta "zebra-light"] - minus-style = syntax "#fbdada" - minus-emph-style = syntax "#f6b6b6" - plus-style = syntax "#d6ffd6" - plus-emph-style = syntax "#adffad" - map-styles = \ - bold purple => syntax "#feecf7", \ - bold blue => syntax "#e5dff6", \ - bold cyan => syntax "#d8fdf6", \ - bold yellow => syntax "#f4ffe0" - zero-style = syntax - whitespace-error-style = "#aaaaaa" - -[delta "chameleon"] - #author: https://github.com/AirOnSkin - dark = true - line-numbers = true - side-by-side = true - keep-plus-minus-markers = false - syntax-theme = Nord - file-style = "#434C5E" bold - file-decoration-style = "#434C5E" ul - file-added-label = [+] - file-copied-label = [==] - file-modified-label = [*] - file-removed-label = [-] - file-renamed-label = [->] - hunk-header-style = omit - line-numbers-left-format = " {nm:>3} │" - line-numbers-left-style = red - line-numbers-right-format = " {np:>3} │" - line-numbers-right-style = green - line-numbers-minus-style = red italic black - line-numbers-plus-style = green italic black - line-numbers-zero-style = "#434C5E" italic - minus-style = bold red - minus-emph-style = bold "#202020" "#FF5555" - minus-non-emph-style = bold - plus-style = bold green - plus-emph-style = bold "#202020" "#50FA7B" - plus-non-emph-style = bold - zero-style = syntax - blame-code-style = syntax - blame-format = "{author:<18} ({commit:>9}) {timestamp:^16}" - blame-palette = "#2E3440" "#3B4252" "#434C5E" "#4C566A" - merge-conflict-begin-symbol = ~ - merge-conflict-end-symbol = ~ - merge-conflict-ours-diff-header-style = "#F1FA8C" bold - merge-conflict-ours-diff-header-decoration-style = "#434C5E" box - merge-conflict-theirs-diff-header-style = "#F1FA8C" bold - merge-conflict-theirs-diff-header-decoration-style = "#434C5E" box diff --git a/.local/dockerfunc.sh b/.local/dockerfunc.sh deleted file mode 100644 index cbe5fb5d..00000000 --- a/.local/dockerfunc.sh +++ /dev/null @@ -1,1313 +0,0 @@ - -#!/usr/bin/env bash -# Bash wrappers for docker run commands -# Source: https://github.com/jessfraz/dotfiles/blob/master/.dockerfunc - -export DOCKER_REPO_PREFIX=jess - -# -# Helper Functions -# -dcleanup(){ - local containers - mapfile -t containers < <(docker ps -aq 2>/dev/null) - docker rm "${containers[@]}" 2>/dev/null - local volumes - mapfile -t volumes < <(docker ps --filter status=exited -q 2>/dev/null) - docker rm -v "${volumes[@]}" 2>/dev/null - local images - mapfile -t images < <(docker images --filter dangling=true -q 2>/dev/null) - docker rmi "${images[@]}" 2>/dev/null -} -del_stopped(){ - local name=$1 - local state - state=$(docker inspect --format "{{.State.Running}}" "$name" 2>/dev/null) - - if [[ "$state" == "false" ]]; then - docker rm "$name" - fi -} -rmctr(){ - # shellcheck disable=SC2068 - docker rm -f $@ 2>/dev/null || true -} -relies_on(){ - for container in "$@"; do - local state - state=$(docker inspect --format "{{.State.Running}}" "$container" 2>/dev/null) - - if [[ "$state" == "false" ]] || [[ "$state" == "" ]]; then - echo "$container is not running, starting it for you." - $container - fi - done -} -# creates an nginx config for a local route -nginx_config(){ - server=$1 - route=$2 - - cat >"${HOME}/.nginx/conf.d/${server}.conf" <<-EOF - upstream ${server} { server ${route}; } - server { - server_name ${server}; - location / { - proxy_pass http://${server}; - proxy_http_version 1.1; - proxy_set_header Upgrade \$http_upgrade; - proxy_set_header Connection "upgrade"; - proxy_set_header Host \$http_host; - proxy_set_header X-Forwarded-Proto \$scheme; - proxy_set_header X-Forwarded-For \$remote_addr; - proxy_set_header X-Forwarded-Port \$server_port; - proxy_set_header X-Request-Start \$msec; -} - } - EOF - - # restart nginx - docker restart nginx - - # add host to /etc/hosts - hostess add "$server" 127.0.0.1 - - # open browser - browser-exec "http://${server}" -} - -# -# Container Aliases -# -apt_file(){ - docker run --rm -it \ - --name apt-file \ - ${DOCKER_REPO_PREFIX}/apt-file -} -alias apt-file="apt_file" -audacity(){ - del_stopped audacity - - docker run -d \ - -v /etc/localtime:/etc/localtime:ro \ - -v /tmp/.X11-unix:/tmp/.X11-unix \ - -e "DISPLAY=unix${DISPLAY}" \ - -e QT_DEVICE_PIXEL_RATIO \ - --device /dev/snd \ - --group-add audio \ - --name audacity \ - ${DOCKER_REPO_PREFIX}/audacity -} -aws(){ - docker run -it --rm \ - -v "${HOME}/.aws:/root/.aws" \ - --log-driver none \ - --name aws \ - ${DOCKER_REPO_PREFIX}/awscli "$@" -} -az(){ - docker run -it --rm \ - -v "${HOME}/.azure:/root/.azure" \ - --log-driver none \ - ${DOCKER_REPO_PREFIX}/azure-cli "$@" -} -bees(){ - docker run -it --rm \ - -e NOTARY_TOKEN \ - -v "${HOME}/.bees:/root/.bees" \ - -v "${HOME}/.boto:/root/.boto" \ - -v "${HOME}/.dev:/root/.ssh:ro" \ - --log-driver none \ - --name bees \ - ${DOCKER_REPO_PREFIX}/beeswithmachineguns "$@" -} -cadvisor(){ - docker run -d \ - --restart always \ - -v /:/rootfs:ro \ - -v /var/run:/var/run:rw \ - -v /sys:/sys:ro \ - -v /var/lib/docker/:/var/lib/docker:ro \ - -p 1234:8080 \ - --name cadvisor \ - google/cadvisor - - hostess add cadvisor "$(docker inspect --format '{{.NetworkSettings.Networks.bridge.IPAddress}}' cadvisor)" - browser-exec "http://cadvisor:8080" -} -cheese(){ - del_stopped cheese - - docker run -d \ - -v /etc/localtime:/etc/localtime:ro \ - -v /tmp/.X11-unix:/tmp/.X11-unix \ - -e "DISPLAY=unix${DISPLAY}" \ - -v "${HOME}/Pictures:/root/Pictures" \ - --device /dev/video0 \ - --device /dev/snd \ - --device /dev/dri \ - --name cheese \ - ${DOCKER_REPO_PREFIX}/cheese -} -chrome(){ - # add flags for proxy if passed - local proxy= - local map - local args=$* - if [[ "$1" == "tor" ]]; then - relies_on torproxy - - map="MAP * ~NOTFOUND , EXCLUDE torproxy" - proxy="socks5://torproxy:9050" - args="https://check.torproject.org/api/ip ${*:2}" - fi - - del_stopped chrome - - # one day remove /etc/hosts bind mount when effing - # overlay support inotify, such bullshit - docker run -d \ - --memory 3gb \ - -v /etc/localtime:/etc/localtime:ro \ - -v /tmp/.X11-unix:/tmp/.X11-unix \ - -e "DISPLAY=unix${DISPLAY}" \ - -v "${HOME}/Downloads:/root/Downloads" \ - -v "${HOME}/Pictures:/root/Pictures" \ - -v "${HOME}/Torrents:/root/Torrents" \ - -v "${HOME}/.chrome:/data" \ - -v /dev/shm:/dev/shm \ - -v /etc/hosts:/etc/hosts \ - --security-opt seccomp:/etc/docker/seccomp/chrome.json \ - --device /dev/snd \ - --device /dev/dri \ - --device /dev/video0 \ - --device /dev/usb \ - --device /dev/bus/usb \ - --group-add audio \ - --group-add video \ - --name chrome \ - ${DOCKER_REPO_PREFIX}/chrome --user-data-dir=/data \ - --proxy-server="$proxy" \ - --host-resolver-rules="$map" "$args" - -} -consul(){ - if [[ -n "$(which consul)" ]]; then - "$(which consul)" "$@" - else - del_stopped consul - - # check if we passed args and if consul is running - local state - state=$(docker inspect --format "{{.State.Running}}" consul 2>/dev/null) - if [[ "$state" == "true" ]] && [[ "$*" != "" ]]; then - docker exec -it consul consul "$@" - return 0 - fi - - docker run -d \ - --restart always \ - -v "${HOME}/.consul:/etc/consul.d" \ - -v /var/run/docker.sock:/var/run/docker.sock \ - --net host \ - -e GOMAXPROCS=2 \ - --name consul \ - ${DOCKER_REPO_PREFIX}/consul agent \ - -bootstrap-expect 1 \ - -config-dir /etc/consul.d \ - -data-dir /data \ - -encrypt "$(docker run --rm ${DOCKER_REPO_PREFIX}/consul keygen)" \ - -ui-dir /usr/src/consul \ - -server \ - -dc neverland \ - -bind 0.0.0.0 - - hostess add consul "$(docker inspect --format '{{.NetworkSettings.Networks.bridge.IPAddress}}' consul)" - browser-exec "http://consul:8500" - fi -} -cura(){ - del_stopped cura - - docker run -d \ - -v /etc/localtime:/etc/localtime:ro \ - -v /tmp/.X11-unix:/tmp/.X11-unix \ - -e "DISPLAY=unix${DISPLAY}" \ - -v "${HOME}/cura:/root/cura" \ - -v "${HOME}/.cache/cura:/root/.cache/cura" \ - -v "${HOME}/.config/cura:/root/.config/cura" \ - -e QT_DEVICE_PIXEL_RATIO \ - -e GDK_SCALE \ - -e GDK_DPI_SCALE \ - --device /dev/dri \ - --name cura \ - ${DOCKER_REPO_PREFIX}/cura -} -dcos(){ - docker run -it --rm \ - -v "${HOME}/.dcos:/root/.dcos" \ - -v "$(pwd):/root/apps" \ - -w /root/apps \ - ${DOCKER_REPO_PREFIX}/dcos-cli "$@" -} -figma() { - del_stopped figma - - docker run --rm -it \ - -v /etc/localtime:/etc/localtime:ro \ - -v /tmp/.X11-unix:/tmp/.X11-unix \ - -e "DISPLAY=unix${DISPLAY}" \ - --name figma \ - ${DOCKER_REPO_PREFIX}/figma-wine bash -} -firefox(){ - del_stopped firefox - - docker run -d \ - --memory 2gb \ - --net host \ - --cpuset-cpus 0 \ - -v /etc/localtime:/etc/localtime:ro \ - -v /tmp/.X11-unix:/tmp/.X11-unix \ - -v "${HOME}/.firefox/cache:/root/.cache/mozilla" \ - -v "${HOME}/.firefox/mozilla:/root/.mozilla" \ - -v "${HOME}/Downloads:/root/Downloads" \ - -v "${HOME}/Pictures:/root/Pictures" \ - -v "${HOME}/Torrents:/root/Torrents" \ - -e "DISPLAY=unix${DISPLAY}" \ - -e GDK_SCALE \ - -e GDK_DPI_SCALE \ - --device /dev/snd \ - --device /dev/dri \ - --name firefox \ - ${DOCKER_REPO_PREFIX}/firefox "$@" - - # exit current shell - exit 0 -} -fleetctl(){ - docker run --rm -it \ - --entrypoint fleetctl \ - -v "${HOME}/.fleet://.fleet" \ - r.j3ss.co/fleet "$@" -} -gcalcli(){ - docker run --rm -it \ - -v /etc/localtime:/etc/localtime:ro \ - -v "${HOME}/.gcalcli/home:/home/gcalcli/home" \ - -v "${HOME}/.gcalcli/work/oauth:/home/gcalcli/.gcalcli_oauth" \ - -v "${HOME}/.gcalcli/work/gcalclirc:/home/gcalcli/.gcalclirc" \ - --name gcalcli \ - ${DOCKER_REPO_PREFIX}/gcalcli "$@" -} -dgcloud(){ - docker run --rm -it \ - -v "${HOME}/.gcloud:/root/.config/gcloud" \ - -v "${HOME}/.ssh:/root/.ssh:ro" \ - -v "$(command -v docker):/usr/bin/docker" \ - -v /var/run/docker.sock:/var/run/docker.sock \ - --name gcloud \ - ${DOCKER_REPO_PREFIX}/gcloud "$@" -} -gimp(){ - del_stopped gimp - - docker run -d \ - -v /etc/localtime:/etc/localtime:ro \ - -v /tmp/.X11-unix:/tmp/.X11-unix \ - -e "DISPLAY=unix${DISPLAY}" \ - -v "${HOME}/Pictures:/root/Pictures" \ - -v "${HOME}/.gtkrc:/root/.gtkrc" \ - -e GDK_SCALE \ - -e GDK_DPI_SCALE \ - --name gimp \ - ${DOCKER_REPO_PREFIX}/gimp -} -gitsome(){ - docker run --rm -it \ - -v /etc/localtime:/etc/localtime:ro \ - --name gitsome \ - --hostname gitsome \ - -v "${HOME}/.gitsomeconfig:/home/anon/.gitsomeconfig" \ - -v "${HOME}/.gitsomeconfigurl:/home/anon/.gitsomeconfigurl" \ - ${DOCKER_REPO_PREFIX}/gitsome -} -hollywood(){ - docker run --rm -it \ - --name hollywood \ - ${DOCKER_REPO_PREFIX}/hollywood -} -htop(){ - if [[ -n "$(which htop)" ]]; then - "$(which htop)" "$@" - else - docker run --rm -it \ - --pid host \ - --net none \ - --name htop \ - ${DOCKER_REPO_PREFIX}/htop - fi -} -htpasswd(){ - docker run --rm -it \ - --net none \ - --name htpasswd \ - --log-driver none \ - ${DOCKER_REPO_PREFIX}/htpasswd "$@" -} -http(){ - docker run -t --rm \ - -v /var/run/docker.sock:/var/run/docker.sock \ - --log-driver none \ - ${DOCKER_REPO_PREFIX}/httpie "$@" -} -imagemin(){ - local image=$1 - local extension="${image##*.}" - local filename="${image%.*}" - - docker run --rm -it \ - -v /etc/localtime:/etc/localtime:ro \ - -v "${HOME}/Pictures:/root/Pictures" \ - ${DOCKER_REPO_PREFIX}/imagemin sh -c "imagemin /root/Pictures/${image} > /root/Pictures/${filename}_min.${extension}" -} -irssi() { - del_stopped irssi - # relies_on notify_osd - - docker run --rm -it \ - --user root \ - -v "${HOME}/.irssi:/home/user/.irssi" \ - ${DOCKER_REPO_PREFIX}/irssi \ - chown -R user /home/user/.irssi - - docker run --rm -it \ - -v /etc/localtime:/etc/localtime:ro \ - -v "${HOME}/.irssi:/home/user/.irssi" \ - --read-only \ - --name irssi \ - ${DOCKER_REPO_PREFIX}/irssi -} -john(){ - local file - file=$(realpath "$1") - - docker run --rm -it \ - -v "${file}:/root/$(basename "${file}")" \ - ${DOCKER_REPO_PREFIX}/john "$@" -} -kernel_builder(){ - docker run --rm -it \ - -v /usr/src:/usr/src \ - -v /lib/modules:/lib/modules \ - -v /boot:/boot \ - --name kernel-builder \ - ${DOCKER_REPO_PREFIX}/kernel-builder -} -keypassxc(){ - del_stopped keypassxc - - docker run -d \ - -v /etc/localtime:/etc/localtime:ro \ - -v /tmp/.X11-unix:/tmp/.X11-unix \ - -v /usr/share/X11/xkb:/usr/share/X11/xkb:ro \ - -e "DISPLAY=unix${DISPLAY}" \ - -v /etc/machine-id:/etc/machine-id:ro \ - --name keypassxc \ - ${DOCKER_REPO_PREFIX}/keepassxc -} -kicad(){ - del_stopped kicad - - docker run -d \ - -v /etc/localtime:/etc/localtime:ro \ - -v /tmp/.X11-unix:/tmp/.X11-unix \ - -e "DISPLAY=unix${DISPLAY}" \ - -v "${HOME}/kicad:/root/kicad" \ - -v "${HOME}/.cache/kicad:/root/.cache/kicad" \ - -v "${HOME}/.config/kicad:/root/.config/kicad" \ - -e QT_DEVICE_PIXEL_RATIO \ - -e GDK_SCALE \ - -e GDK_DPI_SCALE \ - --device /dev/dri \ - --name kicad \ - ${DOCKER_REPO_PREFIX}/kicad -} -kvm(){ - del_stopped kvm - relies_on pulseaudio - - # modprobe the module - modprobe kvm - - docker run -d \ - --tmpfs /var/run \ - -v /etc/localtime:/etc/localtime:ro \ - -v /tmp/.X11-unix:/tmp/.X11-unix \ - -v "${HOME}/kvm:/root/kvm" \ - -e "DISPLAY=unix${DISPLAY}" \ - -e GDK_SCALE \ - -e GDK_DPI_SCALE \ - -e QT_DEVICE_PIXEL_RATIO \ - --link pulseaudio:pulseaudio \ - -e PULSE_SERVER=pulseaudio \ - --group-add audio \ - --name kvm \ - --privileged \ - ${DOCKER_REPO_PREFIX}/kvm -} -libreoffice(){ - del_stopped libreoffice - - docker run -d \ - -v /etc/localtime:/etc/localtime:ro \ - -v /tmp/.X11-unix:/tmp/.X11-unix \ - -e "DISPLAY=unix${DISPLAY}" \ - -v "${HOME}/slides:/root/slides" \ - -e GDK_SCALE \ - -e GDK_DPI_SCALE \ - --name libreoffice \ - ${DOCKER_REPO_PREFIX}/libreoffice -} -lpass(){ - docker run --rm -it \ - -v "${HOME}/.lpass:/root/.lpass" \ - --name lpass \ - ${DOCKER_REPO_PREFIX}/lpass "$@" -} -lynx(){ - if [[ -n "$(which lynx)" ]]; then - "$(which lynx)" "$@" - else - docker run --rm -it \ - --name lynx \ - ${DOCKER_REPO_PREFIX}/lynx "$@" - fi -} -masscan(){ - docker run -it --rm \ - --log-driver none \ - --net host \ - --cap-add NET_ADMIN \ - --name masscan \ - ${DOCKER_REPO_PREFIX}/masscan "$@" -} -mc(){ - cwd="$(pwd)" - name="$(basename "$cwd")" - - docker run --rm -it \ - --log-driver none \ - -v "${cwd}:/home/mc/${name}" \ - --workdir "/home/mc/${name}" \ - ${DOCKER_REPO_PREFIX}/mc "$@" -} -mpd(){ - del_stopped mpd - - # adding cap sys_admin so I can use nfs mount - # the container runs as a unpriviledged user mpd - docker run -d \ - --device /dev/snd \ - --cap-add SYS_ADMIN \ - -e MPD_HOST=/var/lib/mpd/socket \ - -v /etc/localtime:/etc/localtime:ro \ - -v /etc/exports:/etc/exports:ro \ - -v "${HOME}/.mpd:/var/lib/mpd" \ - -v "${HOME}/.mpd.conf:/etc/mpd.conf" \ - --name mpd \ - ${DOCKER_REPO_PREFIX}/mpd -} -mutt(){ - # subshell so we dont overwrite variables - ( - local account=$1 - export IMAP_SERVER - export SMTP_SERVER - - if [[ "$account" == "riseup" ]]; then - export GMAIL=$MAIL_RISEUP - export GMAIL_NAME=$MAIL_RISEUP_NAME - export GMAIL_PASS=$MAIL_RISEUP_PASS - export GMAIL_FROM=$MAIL_RISEUP_FROM - IMAP_SERVER=mail.riseup.net - SMTP_SERVER=$IMAP_SERVER - fi - - docker run -it --rm \ - -e GMAIL \ - -e GMAIL_NAME \ - -e GMAIL_PASS \ - -e GMAIL_FROM \ - -e GPG_ID \ - -e IMAP_SERVER \ - -e SMTP_SERVER \ - -v "${HOME}/.gnupg:/home/user/.gnupg:ro" \ - -v /etc/localtime:/etc/localtime:ro \ - --name "mutt-${account}" \ - ${DOCKER_REPO_PREFIX}/mutt - ) -} -ncmpc(){ - del_stopped ncmpc - - docker run --rm -it \ - -v "${HOME}/.mpd/socket:/var/run/mpd/socket" \ - -e MPD_HOST=/var/run/mpd/socket \ - --name ncmpc \ - ${DOCKER_REPO_PREFIX}/ncmpc "$@" -} -neoman(){ - del_stopped neoman - - docker run -d \ - -v /etc/localtime:/etc/localtime:ro \ - -v /tmp/.X11-unix:/tmp/.X11-unix \ - -e "DISPLAY=unix${DISPLAY}" \ - --device /dev/bus/usb \ - --device /dev/usb \ - --name neoman \ - ${DOCKER_REPO_PREFIX}/neoman -} -nes(){ - del_stopped nes - local game=$1 - - docker run -d \ - -v /tmp/.X11-unix:/tmp/.X11-unix \ - -e "DISPLAY=unix${DISPLAY}" \ - --device /dev/dri \ - --device /dev/snd \ - --name nes \ - ${DOCKER_REPO_PREFIX}/nes "/games/${game}.rom" -} -netcat(){ - docker run --rm -it \ - --net host \ - ${DOCKER_REPO_PREFIX}/netcat "$@" -} -nginx(){ - del_stopped nginx - - docker run -d \ - --restart always \ - -v "${HOME}/.nginx:/etc/nginx" \ - --net host \ - --name nginx \ - nginx - - # add domain to hosts & open nginx - sudo hostess add jess 127.0.0.1 -} -nmap(){ - if [[ -n "$(which nmap)" ]]; then - "$(which nmap)" "$@" - else - docker run --rm -it \ - --net host \ - ${DOCKER_REPO_PREFIX}/nmap "$@" - fi -} -notify_osd(){ - del_stopped notify_osd - - docker run -d \ - -v /etc/localtime:/etc/localtime:ro \ - -v /tmp/.X11-unix:/tmp/.X11-unix \ - --net none \ - -v /etc \ - -v /home/user/.dbus \ - -v /home/user/.cache/dconf \ - -e "DISPLAY=unix${DISPLAY}" \ - --name notify_osd \ - ${DOCKER_REPO_PREFIX}/notify-osd -} -alias notify-send=notify_send -notify_send(){ - relies_on notify_osd - local args=${*:2} - docker exec -i notify_osd notify-send "$1" "${args}" -} -now(){ - docker run -it --rm \ - -v "${HOME}/.now:/root/.now" \ - -v "$(pwd):/usr/src/repo:ro" \ - --workdir /usr/src/repo \ - --log-driver none \ - ${DOCKER_REPO_PREFIX}/now "$@" -} -openscad(){ - del_stopped openscad - - docker run -d \ - -v /etc/localtime:/etc/localtime:ro \ - -v /tmp/.X11-unix:/tmp/.X11-unix \ - -e "DISPLAY=unix${DISPLAY}" \ - -v "${HOME}/openscad:/root/openscad" \ - -v "${HOME}/.config/OpenSCAD:/root/.config/OpenSCAD" \ - -e QT_DEVICE_PIXEL_RATIO \ - -e GDK_SCALE \ - -e GDK_DPI_SCALE \ - --device /dev/dri \ - --name openscad \ - ${DOCKER_REPO_PREFIX}/openscad -} -opensnitch(){ - del_stopped opensnitchd - del_stopped opensnitch - - docker run -d \ - -v /etc/localtime:/etc/localtime:ro \ - --net host \ - --cap-add NET_ADMIN \ - -v /etc/machine-id:/etc/machine-id:ro \ - -v /var/run/dbus:/var/run/dbus \ - -v /usr/share/dbus-1:/usr/share/dbus-1 \ - -v "/var/run/user/$(id -u):/var/run/user/$(id -u)" \ - -e DBUS_SESSION_BUS_ADDRESS \ - -e XAUTHORITY \ - -v "${HOME}/.Xauthority:$HOME/.Xauthority" \ - -v /tmp:/tmp \ - --name opensnitchd \ - ${DOCKER_REPO_PREFIX}/opensnitchd - - docker run -d \ - -v /etc/localtime:/etc/localtime:ro \ - -v /tmp/.X11-unix:/tmp/.X11-unix \ - -e "DISPLAY=unix${DISPLAY}" \ - -v /usr/share/X11:/usr/share/X11:ro \ - -v /usr/share/dbus-1:/usr/share/dbus-1 \ - -v /etc/machine-id:/etc/machine-id:ro \ - -v /var/run/dbus:/var/run/dbus \ - -v "/var/run/user/$(id -u):/var/run/user/$(id -u)" \ - -e DBUS_SESSION_BUS_ADDRESS \ - -e XAUTHORITY \ - -v "${HOME}/.Xauthority:$HOME/.Xauthority" \ - -e HOME \ - -e QT_DEVICE_PIXEL_RATIO \ - -e XDG_RUNTIME_DIR \ - -v /etc/passwd:/etc/passwd:ro \ - -v /etc/group:/etc/group:ro \ - -v /tmp:/tmp \ - -u "$(id -u)" -w "$HOME" \ - --net host \ - --name opensnitch \ - ${DOCKER_REPO_PREFIX}/opensnitch -} -osquery(){ - rmctr osquery - - docker run -d --restart always \ - -v /etc/localtime:/etc/localtime:ro \ - -v /var/run/docker.sock:/var/run/docker.sock \ - -v /etc/os-release:/etc/os-release:ro \ - --net host \ - --ipc host \ - --pid host \ - -e OSQUERY_ENROLL_SECRET \ - --name osquery \ - --privileged \ - ${DOCKER_REPO_PREFIX}/osquery \ - --verbose \ - --enroll_secret_env=OSQUERY_ENROLL_SECRET \ - --docker_socket=/var/run/docker.sock \ - --host_identifier=hostname \ - --tls_hostname="${OSQUERY_DOMAIN}" \ - --enroll_tls_endpoint=/api/v1/osquery/enroll \ - --config_plugin=tls \ - --config_tls_endpoint=/api/v1/osquery/config \ - --config_tls_refresh=10 \ - --disable_distributed=false \ - --distributed_plugin=tls \ - --distributed_interval=10 \ - --distributed_tls_max_attempts=3 \ - --distributed_tls_read_endpoint=/api/v1/osquery/distributed/read \ - --distributed_tls_write_endpoint=/api/v1/osquery/distributed/write \ - --logger_plugin=tls \ - --logger_tls_endpoint=/api/v1/osquery/log \ - --logger_tls_period=10 -} -pandoc(){ - if [[ -n "$(which pandoc)" ]]; then - "$(which pandoc)" "$@" - else - local file=${*: -1} - local lfile - lfile=$(readlink -m "$(pwd)/${file}") - local rfile - rfile=$(readlink -m "/$(basename "$file")") - local args=${*:1:${#@}-1} - - docker run --rm \ - -v "${lfile}:${rfile}" \ - -v /tmp:/tmp \ - --name pandoc \ - ${DOCKER_REPO_PREFIX}/pandoc "${args}" "${rfile}" - fi -} -pivman(){ - del_stopped pivman - - docker run -d \ - -v /etc/localtime:/etc/localtime:ro \ - -v /tmp/.X11-unix:/tmp/.X11-unix \ - -e "DISPLAY=unix${DISPLAY}" \ - --device /dev/bus/usb \ - --device /dev/usb \ - --name pivman \ - ${DOCKER_REPO_PREFIX}/pivman -} -pms(){ - del_stopped pms - - docker run --rm -it \ - -v "${HOME}/.mpd/socket:/var/run/mpd/socket" \ - -e MPD_HOST=/var/run/mpd/socket \ - --name pms \ - ${DOCKER_REPO_PREFIX}/pms "$@" -} -pond(){ - del_stopped pond - relies_on torproxy - - docker run --rm -it \ - --net container:torproxy \ - --name pond \ - ${DOCKER_REPO_PREFIX}/pond -} -privoxy(){ - del_stopped privoxy - relies_on torproxy - - docker run -d \ - --restart always \ - --link torproxy:torproxy \ - -v /etc/localtime:/etc/localtime:ro \ - -p 8118:8118 \ - --name privoxy \ - ${DOCKER_REPO_PREFIX}/privoxy - - hostess add privoxy "$(docker inspect --format '{{.NetworkSettings.Networks.bridge.IPAddress}}' privoxy)" -} -pulseaudio(){ - del_stopped pulseaudio - - docker run -d \ - -v /etc/localtime:/etc/localtime:ro \ - --device /dev/snd \ - -p 4713:4713 \ - --restart always \ - --group-add audio \ - --name pulseaudio \ - ${DOCKER_REPO_PREFIX}/pulseaudio -} -rainbowstream(){ - docker run -it --rm \ - -v /etc/localtime:/etc/localtime:ro \ - -v "${HOME}/.rainbow_oauth:/root/.rainbow_oauth" \ - -v "${HOME}/.rainbow_config.json:/root/.rainbow_config.json" \ - --name rainbowstream \ - ${DOCKER_REPO_PREFIX}/rainbowstream -} -registrator(){ - del_stopped registrator - - docker run -d --restart always \ - -v /var/run/docker.sock:/tmp/docker.sock \ - --net host \ - --name registrator \ - gliderlabs/registrator consul: -} -remmina(){ - del_stopped remmina - - docker run -d \ - -v /etc/localtime:/etc/localtime:ro \ - -v /tmp/.X11-unix:/tmp/.X11-unix \ - -e "DISPLAY=unix${DISPLAY}" \ - -e GDK_SCALE \ - -e GDK_DPI_SCALE \ - -v "${HOME}/.remmina:/root/.remmina" \ - --name remmina \ - --net host \ - ${DOCKER_REPO_PREFIX}/remmina -} -ricochet(){ - del_stopped ricochet - - docker run -d \ - -v /etc/localtime:/etc/localtime:ro \ - -v /tmp/.X11-unix:/tmp/.X11-unix \ - -e "DISPLAY=unix${DISPLAY}" \ - -e GDK_SCALE \ - -e GDK_DPI_SCALE \ - -e QT_DEVICE_PIXEL_RATIO \ - --device /dev/dri \ - --name ricochet \ - ${DOCKER_REPO_PREFIX}/ricochet -} -rstudio(){ - del_stopped rstudio - - docker run -d \ - -v /etc/localtime:/etc/localtime:ro \ - -v /tmp/.X11-unix:/tmp/.X11-unix \ - -v "${HOME}/fastly-logs:/root/fastly-logs" \ - -v /dev/shm:/dev/shm \ - -e "DISPLAY=unix${DISPLAY}" \ - -e QT_DEVICE_PIXEL_RATIO \ - --device /dev/dri \ - --name rstudio \ - ${DOCKER_REPO_PREFIX}/rstudio -} -s3cmdocker(){ - del_stopped s3cmd - - docker run --rm -it \ - -e AWS_ACCESS_KEY="${DOCKER_AWS_ACCESS_KEY}" \ - -e AWS_SECRET_KEY="${DOCKER_AWS_ACCESS_SECRET}" \ - -v "$(pwd):/root/s3cmd-workspace" \ - --name s3cmd \ - ${DOCKER_REPO_PREFIX}/s3cmd "$@" -} -scudcloud(){ - del_stopped scudcloud - - docker run -d \ - -v /etc/localtime:/etc/localtime:ro \ - -v /tmp/.X11-unix:/tmp/.X11-unix \ - -e "DISPLAY=unix${DISPLAY}" \ - -v /etc/machine-id:/etc/machine-id:ro \ - -v /var/run/dbus:/var/run/dbus \ - -v "/var/run/user/$(id -u):/var/run/user/$(id -u)" \ - -e TERM \ - -e XAUTHORITY \ - -e DBUS_SESSION_BUS_ADDRESS \ - -e HOME \ - -e QT_DEVICE_PIXEL_RATIO \ - -v /etc/passwd:/etc/passwd:ro \ - -v /etc/group:/etc/group:ro \ - -u "$(whoami)" -w "$HOME" \ - -v "${HOME}/.Xauthority:$HOME/.Xauthority" \ - -v "${HOME}/.scudcloud:/home/jessie/.config/scudcloud" \ - --device /dev/snd \ - --name scudcloud \ - ${DOCKER_REPO_PREFIX}/scudcloud - - # exit current shell - exit 0 -} -shorewall(){ - del_stopped shorewall - - docker run --rm -it \ - --net host \ - --cap-add NET_ADMIN \ - --privileged \ - --name shorewall \ - ${DOCKER_REPO_PREFIX}/shorewall "$@" -} -skype(){ - del_stopped skype - relies_on pulseaudio - - docker run -d \ - -v /etc/localtime:/etc/localtime:ro \ - -v /tmp/.X11-unix:/tmp/.X11-unix \ - -e "DISPLAY=unix${DISPLAY}" \ - --link pulseaudio:pulseaudio \ - -e PULSE_SERVER=pulseaudio \ - --security-opt seccomp:unconfined \ - --device /dev/video0 \ - --group-add video \ - --group-add audio \ - --name skype \ - ${DOCKER_REPO_PREFIX}/skype -} -slack(){ - del_stopped slack - - docker run -d \ - -v /etc/localtime:/etc/localtime:ro \ - -v /tmp/.X11-unix:/tmp/.X11-unix \ - -e "DISPLAY=unix${DISPLAY}" \ - --device /dev/snd \ - --device /dev/dri \ - --device /dev/video0 \ - --group-add audio \ - --group-add video \ - -v "${HOME}/.slack:/root/.config/Slack" \ - --ipc="host" \ - --name slack \ - ${DOCKER_REPO_PREFIX}/slack "$@" -} -spotify(){ - del_stopped spotify - - docker run -d \ - -v /etc/localtime:/etc/localtime:ro \ - -v /tmp/.X11-unix:/tmp/.X11-unix \ - -e "DISPLAY=unix${DISPLAY}" \ - -e QT_DEVICE_PIXEL_RATIO \ - --security-opt seccomp:unconfined \ - --device /dev/snd \ - --device /dev/dri \ - --group-add audio \ - --group-add video \ - --name spotify \ - ${DOCKER_REPO_PREFIX}/spotify -} -ssh2john(){ - local file - file=$(realpath "$1") - - docker run --rm -it \ - -v "${file}:/root/$(basename "${file}")" \ - --entrypoint ssh2john \ - ${DOCKER_REPO_PREFIX}/john "$@" -} -sshb0t(){ - del_stopped sshb0t - - if [[ ! -d "${HOME}/.ssh" ]]; then - mkdir -p "${HOME}/.ssh" - fi - - if [[ ! -f "${HOME}/.ssh/authorized_keys" ]]; then - touch "${HOME}/.ssh/authorized_keys" - fi - - GITHUB_USER=${GITHUB_USER:=jessfraz} - - docker run --rm -it \ - --name sshb0t \ - -v "${HOME}/.ssh/authorized_keys:/root/.ssh/authorized_keys" \ - r.j3ss.co/sshb0t \ - --user "${GITHUB_USER}" --keyfile /root/.ssh/authorized_keys --once -} -steam(){ - del_stopped steam - relies_on pulseaudio - - docker run -d \ - -v /etc/localtime:/etc/localtime:ro \ - -v /etc/machine-id:/etc/machine-id:ro \ - -v /var/run/dbus:/var/run/dbus \ - -v /tmp/.X11-unix:/tmp/.X11-unix \ - -v "${HOME}/.steam:/home/steam" \ - -e "DISPLAY=unix${DISPLAY}" \ - --link pulseaudio:pulseaudio \ - -e PULSE_SERVER=pulseaudio \ - --device /dev/dri \ - --name steam \ - ${DOCKER_REPO_PREFIX}/steam -} -t(){ - docker run -t --rm \ - -v "${HOME}/.trc:/root/.trc" \ - --log-driver none \ - ${DOCKER_REPO_PREFIX}/t "$@" -} -tarsnap(){ - docker run --rm -it \ - -v "${HOME}/.tarsnaprc:/root/.tarsnaprc" \ - -v "${HOME}/.tarsnap:/root/.tarsnap" \ - -v "$HOME:/root/workdir" \ - ${DOCKER_REPO_PREFIX}/tarsnap "$@" -} -telnet(){ - docker run -it --rm \ - --log-driver none \ - ${DOCKER_REPO_PREFIX}/telnet "$@" -} -termboy(){ - del_stopped termboy - local game=$1 - - docker run --rm -it \ - --device /dev/snd \ - --name termboy \ - ${DOCKER_REPO_PREFIX}/nes "/games/${game}.rom" -} -terraform(){ - if [[ -n "$(which terraform)" ]]; then - "$(which terraform)" "$@" - else - docker run -it --rm \ - -v "${HOME}:${HOME}:ro" \ - -v "$(pwd):/usr/src/repo" \ - -v /tmp:/tmp \ - --workdir /usr/src/repo \ - --log-driver none \ - -e GOOGLE_APPLICATION_CREDENTIALS \ - -e SSH_AUTH_SOCK \ - ${DOCKER_REPO_PREFIX}/terraform "$@" - fi -} -tor(){ - del_stopped tor - - docker run -d \ - --net host \ - --name tor \ - ${DOCKER_REPO_PREFIX}/tor - - # set up the redirect iptables rules - sudo setup-tor-iptables - - # validate we are running through tor - browser-exec "https://check.torproject.org/" -} -torbrowser(){ - del_stopped torbrowser - - docker run -d \ - -v /etc/localtime:/etc/localtime:ro \ - -v /tmp/.X11-unix:/tmp/.X11-unix \ - -e "DISPLAY=unix${DISPLAY}" \ - -e GDK_SCALE \ - -e GDK_DPI_SCALE \ - --device /dev/snd \ - --name torbrowser \ - ${DOCKER_REPO_PREFIX}/tor-browser - - # exit current shell - exit 0 -} -tormessenger(){ - del_stopped tormessenger - - docker run -d \ - -v /etc/localtime:/etc/localtime:ro \ - -v /tmp/.X11-unix:/tmp/.X11-unix \ - -e "DISPLAY=unix${DISPLAY}" \ - -e GDK_SCALE \ - -e GDK_DPI_SCALE \ - --device /dev/snd \ - --name tormessenger \ - ${DOCKER_REPO_PREFIX}/tor-messenger - - # exit current shell - exit 0 -} -torproxy(){ - del_stopped torproxy - - docker run -d \ - --restart always \ - -v /etc/localtime:/etc/localtime:ro \ - -p 9050:9050 \ - --name torproxy \ - ${DOCKER_REPO_PREFIX}/tor-proxy - - hostess add torproxy "$(docker inspect --format '{{.NetworkSettings.Networks.bridge.IPAddress}}' torproxy)" -} -traceroute(){ - docker run --rm -it \ - --net host \ - ${DOCKER_REPO_PREFIX}/traceroute "$@" -} -transmission(){ - del_stopped transmission - - docker run -d \ - -v /etc/localtime:/etc/localtime:ro \ - -v "${HOME}/Torrents:/transmission/download" \ - -v "${HOME}/.transmission:/transmission/config" \ - -p 9091:9091 \ - -p 51413:51413 \ - -p 51413:51413/udp \ - --name transmission \ - ${DOCKER_REPO_PREFIX}/transmission - - - hostess add transmission "$(docker inspect --format '{{.NetworkSettings.Networks.bridge.IPAddress}}' transmission)" - browser-exec "http://transmission:9091" -} -travis(){ - docker run -it --rm \ - -v "${HOME}/.travis:/root/.travis" \ - -v "$(pwd):/usr/src/repo:ro" \ - --workdir /usr/src/repo \ - --log-driver none \ - ${DOCKER_REPO_PREFIX}/travis "$@" -} -virsh(){ - relies_on kvm - - docker run -it --rm \ - -v /etc/localtime:/etc/localtime:ro \ - -v /run/libvirt:/var/run/libvirt \ - --log-driver none \ - --net container:kvm \ - ${DOCKER_REPO_PREFIX}/libvirt-client "$@" -} -virtualbox(){ - del_stopped virtualbox - - docker run -d \ - -v /etc/localtime:/etc/localtime:ro \ - -v /tmp/.X11-unix:/tmp/.X11-unix \ - -e "DISPLAY=unix${DISPLAY}" \ - --privileged \ - --name virtualbox \ - ${DOCKER_REPO_PREFIX}/virtualbox -} -virt_viewer(){ - relies_on kvm - - docker run -it --rm \ - -v /etc/localtime:/etc/localtime:ro \ - -v /tmp/.X11-unix:/tmp/.X11-unix \ - -e "DISPLAY=unix${DISPLAY}" \ - -v /run/libvirt:/var/run/libvirt \ - -e PULSE_SERVER=pulseaudio \ - --group-add audio \ - --log-driver none \ - --net container:kvm \ - ${DOCKER_REPO_PREFIX}/virt-viewer "$@" -} -alias virt-viewer="virt_viewer" -visualstudio(){ - del_stopped visualstudio - - docker run -d \ - -v /etc/localtime:/etc/localtime:ro \ - -v /tmp/.X11-unix:/tmp/.X11-unix \ - -e "DISPLAY=unix${DISPLAY}" \ - --device /dev/dri \ - --name visualstudio \ - ${DOCKER_REPO_PREFIX}/vscode -} -alias vscode="visualstudio" -vlc(){ - del_stopped vlc - relies_on pulseaudio - - docker run -d \ - -v /etc/localtime:/etc/localtime:ro \ - -v /tmp/.X11-unix:/tmp/.X11-unix \ - -e "DISPLAY=unix${DISPLAY}" \ - -e GDK_SCALE \ - -e GDK_DPI_SCALE \ - -e QT_DEVICE_PIXEL_RATIO \ - --link pulseaudio:pulseaudio \ - -e PULSE_SERVER=pulseaudio \ - --group-add audio \ - --group-add video \ - -v "${HOME}/Torrents:/home/vlc/Torrents" \ - --device /dev/dri \ - --name vlc \ - ${DOCKER_REPO_PREFIX}/vlc -} -watchman(){ - del_stopped watchman - - docker run -d \ - -v /etc/localtime:/etc/localtime:ro \ - -v "${HOME}/Downloads:/root/Downloads" \ - --name watchman \ - ${DOCKER_REPO_PREFIX}/watchman --foreground -} -weematrix(){ - del_stopped weematrix - - docker run --rm -it \ - --user root \ - -v "${HOME}/.weechat:/home/user/.weechat" \ - ${DOCKER_REPO_PREFIX}/weechat-matrix \ - chown -R user /home/user/.weechat - - docker run --rm -it \ - -v /etc/localtime:/etc/localtime:ro \ - -v "${HOME}/.weechat:/home/user/.weechat" \ - -e "TERM=screen" \ - --name weematrix \ - ${DOCKER_REPO_PREFIX}/weechat-matrix -} -weeslack(){ - del_stopped weeslack - - docker run --rm -it \ - --user root \ - -v "${HOME}/.weechat:/home/user/.weechat" \ - ${DOCKER_REPO_PREFIX}/wee-slack \ - chown -R user /home/user/.weechat - - docker run --rm -it \ - -v /etc/localtime:/etc/localtime:ro \ - -v "${HOME}/.weechat:/home/user/.weechat" \ - --name weeslack \ - ${DOCKER_REPO_PREFIX}/wee-slack -} -wg(){ - docker run -i --rm \ - --log-driver none \ - -v /tmp:/tmp \ - --cap-add NET_ADMIN \ - --net host \ - --name wg \ - ${DOCKER_REPO_PREFIX}/wg "$@" -} -wireshark(){ - del_stopped wireshark - - docker run -d \ - -v /etc/localtime:/etc/localtime:ro \ - -v /tmp/.X11-unix:/tmp/.X11-unix \ - -e "DISPLAY=unix${DISPLAY}" \ - --cap-add NET_RAW \ - --cap-add NET_ADMIN \ - --net host \ - --name wireshark \ - ${DOCKER_REPO_PREFIX}/wireshark -} -wrk(){ - docker run -it --rm \ - --log-driver none \ - --name wrk \ - ${DOCKER_REPO_PREFIX}/wrk "$@" -} -ykman(){ - del_stopped ykman - - if [[ -n "$(which ykman)" ]]; then - "$(which ykman)" "$@" - else - docker run --rm -it \ - -v /etc/localtime:/etc/localtime:ro \ - --device /dev/usb \ - --device /dev/bus/usb \ - --name ykman \ - ${DOCKER_REPO_PREFIX}/ykman bash - fi -} -ykpersonalize(){ - del_stopped ykpersonalize - - if [[ -n "$(which ykpersonalize)" ]]; then - "$(which ykpersonalize)" "$@" - else - docker run --rm -it \ - -v /etc/localtime:/etc/localtime:ro \ - --device /dev/usb \ - --device /dev/bus/usb \ - --name ykpersonalize \ - ${DOCKER_REPO_PREFIX}/ykpersonalize bash - fi -} -yubico_piv_tool(){ - del_stopped yubico-piv-tool - - if [[ -n "$(which yubico-piv-tool)" ]]; then - "$(which yubico-piv-tool)" "$@" - else - docker run --rm -it \ - -v /etc/localtime:/etc/localtime:ro \ - --device /dev/usb \ - --device /dev/bus/usb \ - --name yubico-piv-tool \ - ${DOCKER_REPO_PREFIX}/yubico-piv-tool bash - fi -} -alias yubico-piv-tool="yubico_piv_tool" diff --git a/.local/functions b/.local/functions deleted file mode 100644 index 779da54b..00000000 --- a/.local/functions +++ /dev/null @@ -1,118 +0,0 @@ -# Install WebDriverAgent on iOS device -appiumwebdriver() { - # read -r "Enter the UDID of the device you wish to install WebDriverAgent on: " UDID_INPUT - mkdir -p Resources/WebDriverAgent.bundle - bash ./Scripts/bootstrap.sh -d - cd /Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-webdriveragent || return - xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination "id=${UDID_INPUT}" test -} - -# Change directories and view contents at the same time -cl() { - DIR="$*" - # if no DIR given, go home - if [ $# -lt 1 ]; then - DIR=$HOME - fi - builtin cd "${DIR}" && - # use your preferred ls command - ls -F --color=auto -} - -# Safer cp with progress bar and backup to /tmp -cpv() { - rsync -pogbr -hhh --backup-dir="/tmp/rsync-${USERNAME}" -e /dev/null --progress "$@" -} - -# Checks status of a website on downforeveryoneorjustme.com -down4me() { - curl -s "http://www.downforeveryoneorjustme.com/$1" | sed '/just you/!d;s/<[^>]*>//g' -} - -# Easier version of find command -find() { - if [ $# = 1 ]; then - # shellcheck disable=SC2145 - command find . -iname "*$@*" - else - command find "$@" - fi -} - -# Opens current repository in browser -gitopen() { - git remote -v | head -n 1 | awk -F "@" '{print $2}' | awk -F " " '{print $1}' | sed 's/:/\//g' | sed 's/.git//g' | awk '{print "http://"$1}' | xargs open -} - -# Open Mac OS X desktop on a Linux machine -macosx() { - docker run -it --device /dev/kvm -p 50922:10022 -v /tmp/.X11-unix:/tmp/.X11-unix -e "DISPLAY=${DISPLAY:-:0.0}" sickcodes/docker-osx:big-sur -} - -# Generate a random string of X length -randomstring() { - if [ -z "$1" ]; then - head /dev/urandom | tr -dc A-Za-z0-9 | head -c "$1" - else - echo "Pass the number of characters you would like the string to be. Example: randomstring 14" - fi -} - -# Reset Docker to factory settings -resetdocker() { - set +e - CONTAINER_COUNT="$(docker ps -a -q | wc -l)" - if [ "$CONTAINER_COUNT" -gt 0 ]; then - docker stop "$(docker ps -a -q)" - docker rm "$(docker ps -a -q)" - fi - VOLUME_COUNT="$(docker volume ls -q | wc -l)" - if [ "$VOLUME_COUNT" -gt 0 ]; then - docker volume rm "$(docker volume ls -q)" - fi - NETWORK_COUNT="$(docker network ls -q | wc -l)" - if [ "$NETWORK_COUNT" -gt 0 ]; then - docker network rm "$(docker network ls -q)" - fi - docker system prune -a --force -} - -# ripgrep-all -rgafzf() { - RG_PREFIX="rga --files-with-matches" - local file - file="$( - FZF_DEFAULT_COMMAND="$RG_PREFIX '$1'" \ - fzf --sort --preview="[[ ! -z {} ]] && rga --pretty --context 5 {q} {}" \ - --phony -q "$1" \ - --bind "change:reload:$RG_PREFIX {q}" \ - --preview-window="70%:wrap" - )" && - echo "opening $file" && - xdg-open "$file" -} - -# Easy file sharing from the command line, using transfer.sh -transfer() { - if [ $# -eq 0 ]; then - echo -e "No arguments specified.\nUsage:\n transfer \n ... | transfer " >&2 - return 1 - fi - if tty -s; then - file="$1" - file_name=$(basename "$file") - if [ ! -e "$file" ]; then - echo "$file: No such file or directory" >&2 - return 1 - fi - if [ -d "$file" ]; then - file_name="$file_name.zip" - (cd "$file" && zip -r -q - .) | curl --progress-bar --upload-file "-" "https://transfer.sh/$file_name" | tee /dev/null, - else - curl --progress-bar --upload-file "-" "https://transfer.sh/$file_name" <"$file" | tee /dev/null - fi - else - file_name=$1 - curl --progress-bar --upload-file "-" "https://transfer.sh/$file_name" | tee /dev/null - fi -} diff --git a/.local/motd.sh b/.local/motd.sh deleted file mode 100644 index acc35a3a..00000000 --- a/.local/motd.sh +++ /dev/null @@ -1,669 +0,0 @@ -#!/usr/bin/env bash -# shellcheck disable=SC1090,SC1091 - -BAR_ELEMENT="-" -BAR_HEALTHY_COLOR="32" -BAR_WARNING_THRESHOLD=70 -BAR_WARNING_COLOR="33" -BAR_CRITICAL_THRESHOLD=90 -BAR_CRITICAL_COLOR="31" - -BANNER_KERNEL_ICON="" -BANNER_KERNEL_COLOR="33" -BANNER_UPTIME_ICON="" -BANNER_UPTIME_COLOR="94" -BANNER_DEBIAN_ICON="" -BANNER_DEBIAN_COLOR="95" -BANNER_FEDORA_ICON="" -BANNER_FEDORA_COLOR="34" -BANNER_FONTPATH="" -BANNER_TEXT="$(hostname -s)" - -PROCESSOR_LOADAVG_ICON="ﲯ" -PROCESSOR_LOADAVG_HEALTHY_COLOR="32" -PROCESSOR_LOADAVG_WARNING_THRESHOLD=2 -PROCESSOR_LOADAVG_WARNING_COLOR="33" -PROCESSOR_LOADAVG_CRITICAL_THRESHOLD=4 -PROCESSOR_LOADAVG_CRITICAL_COLOR="31" -PROCESSOR_MODEL_ICON="" - -MEMORY_ICON="" - -SWAP_ICON="" - -DISKSPACE_ICON="" - -SERVICES_UP_ICON="" -SERVICES_UP_COLOR="32" -SERVICES_DOWN_ICON="" -SERVICES_DOWN_COLOR="31" -SERVICES_FILE=".bashrc_motd_services.txt" - -# TODO - Fill this in if Podman is ever used -PODMAN_VERSION_ICON="#" -PODMAN_IMAGES_ICON="#" -PODMAN_RUNNING_ICON="#" -PODMAN_RUNNING_COLOR="32" -PODMAN_OTHER_ICON="#" -PODMAN_OTHER_COLOR="90" - -DOCKER_VERSION_ICON="" -DOCKER_IMAGES_ICON="" -DOCKER_RUNNING_ICON="" -DOCKER_RUNNING_COLOR="32" -DOCKER_OTHER_ICON="" -DOCKER_OTHER_COLOR="90" - -UPDATES_ZERO_ICON="" -UPDATES_ZERO_COLOR="32" -UPDATES_AVAILIABLE_ICON="ﮮ" -UPDATES_AVAILIABLE_COLOR="33" -UPDATES_SECURITY_ICON="撚" -UPDATES_SECURITY_COLOR="31" - -LETSENCRYPT_VALID_ICON="ﲘ" -LETSENCRYPT_VALID_COLOR="32" -LETSENCRYPT_WARNING_ICON="ﲙ" -LETSENCRYPT_WARNING_COLOR="33" -LETSENCRYPT_INVALID_ICON="" -LETSENCRYPT_INVALID_COLOR="31" -LETSENCRYPT_CERTPATH="/etc/letsencrypt/live" - -LOGIN_LOGIN_ICON="﫻" -LOGIN_LOGOUT_ICON="﫼" -LOGIN_IP_ICON="ﯱ" - -INCLUDE_FILE="ownscript.sh" - -generate_unit_byte() { - # 1 - unit in M - - if [ "$1" -ge 1024 ]; then - unit_symbol="G" - unit_value=$(echo "$1/1024" | bc -l | LANG=C xargs printf "%.1f\n") - else - unit_symbol="M" - unit_value=$1 - fi - - echo "$unit_value$unit_symbol" -} - -generate_space() { - # 1 - already used - # 2 - total - - space_fill=$(($2 - ${#1})) - space_chars="" - - while [ $space_fill -ge 0 ]; do - space_chars="$space_chars " - space_fill=$((space_fill - 1)) - done - - echo "$space_chars" -} - -generate_bar() { - # 1 - icon - # 2 - total - # 3 - used_1 - # 4 - [ used_2 ] - - bar_percent=$(($3 * 100 / $2)) - bar_separator=$(($3 * 100 * 10 / $2 / 25)) - - if [ $bar_percent -ge "$BAR_WARNING_THRESHOLD" ]; then - bar_color=$BAR_WARNING_COLOR - elif [ $bar_percent -ge "$BAR_CRITICAL_THRESHOLD" ]; then - bar_color=$BAR_CRITICAL_COLOR - else - bar_color=$BAR_HEALTHY_COLOR - fi - - printf " %s \\033[%dm" "$1" "$bar_color" - - if [ -z "$4" ]; then - bar_piece=0 - while [ $bar_piece -le 40 ]; do - if [ "$bar_piece" -ne "$bar_separator" ]; then - printf "%s" "$BAR_ELEMENT" - else - printf "%s\\033[1;30m" "$BAR_ELEMENT" - fi - - bar_piece=$((bar_piece + 1)) - done - else - bar_cached_val=$(($3 + $4)) - bar_cached_separator=$((bar_cached_val * 100 * 10 / $2 / 25)) - - bar_piece=0 - while [ $bar_piece -le 40 ]; do - if [ $bar_piece -eq $bar_separator ]; then - printf "%s\\033[1;36m" "$BAR_ELEMENT" - elif [ $bar_piece -eq $bar_cached_separator ]; then - printf "%s\\033[1;30m" "$BAR_ELEMENT" - else - printf "%s" "$BAR_ELEMENT" - fi - - bar_piece=$((bar_piece + 1)) - done - fi - - printf "\\033[0m\\n" -} - -generate_bar_memory() { - # 1 - icon - # 2 - total memory in M - # 3 - used memory in M - # 4 - cached memory in M - - bar_memory_used=$(generate_unit_byte "$3") - bar_memory_cached=$(generate_unit_byte "$4") - bar_memory_available=$(generate_unit_byte $(($2 - $3))) - - printf " %s used / %s cached / %s available\\n" "$bar_memory_used" "$bar_memory_cached" "$bar_memory_available" - generate_bar "$1" "$2" "$3" "$4" -} - -generate_bar_swap() { - # 1 - icon - # 2 - total swap in M - # 3 - used swap in M - - bar_swap_used=$(generate_unit_byte "$3") - - bar_swap_available=$(($2 - $3)) - bar_swap_available=$(generate_unit_byte "$bar_swap_available") - - printf " %s used / %s available\\n" "$bar_swap_used" "$bar_swap_available" - generate_bar "$1" "$2" "$3" -} - -generate_bar_disk() { - # 1 - icon - # 2 - total size in M - # 3 - used space in M - # 4 - mount path - - bar_disk_mount="$4$(generate_space "$4" 10)" - - bar_disk_used="$(generate_unit_byte "$3")" - bar_disk_used="$(generate_space "$bar_disk_used" 5)$bar_disk_used used" - - bar_disk_available="$(($2 - $3))" - bar_disk_available="$(generate_unit_byte "$bar_disk_available") available" - - printf " %s%s / %s\\n" "$bar_disk_mount" "$bar_disk_used" "$bar_disk_available" - - generate_bar "$1" "$2" "$3" -} - -print_banner() { - if command -v lolcat >/dev/null && command -v figlet >/dev/null; then - if [[ "${#HOSTNAME}" -lt 14 ]]; then - figlet "$(hostname)" | lolcat -f - else - printf "\\n" - printf " \\033[1;37mHostname:\\033[0m %s\\n" "$(hostname)" - fi - elif command -v figlet >/dev/null; then - printf "\\n%s\\n" "$(figlet -t -f "$BANNER_FONTPATH" " $BANNER_TEXT")" - else - printf "\\n" - printf " \\033[1;37mHostname:\\033[0m %s\\n" "$(hostname)" - fi - - if [ -f /etc/os-release ]; then - . /etc/os-release - - if [ "$ID" = "debian" ]; then - banner_distro_icon="$BANNER_DEBIAN_ICON" - banner_distro_color="$BANNER_DEBIAN_COLOR" - banner_distro_name="Debian" - banner_distro_version="$(cat /etc/debian_version)" - elif [ "$ID" = "fedora" ]; then - banner_distro_icon="$BANNER_FEDORA_ICON" - banner_distro_color="$BANNER_FEDORA_COLOR" - banner_distro_name="Fedora" - banner_distro_version="$VERSION_ID" - else - banner_distro_icon="$OS_ICON" - banner_distro_color="0" - if [ -n "$NAME" ]; then - banner_distro_name="$NAME" - elif [ -n "$PRETTY_NAME" ]; then - banner_distro_name="$PRETTY_NAME" - else - banner_distro_name="Linux" - fi - if [ -n "$VERSION" ]; then - banner_distro_version="$VERSION" - elif [ -n "$VERSION_ID" ]; then - banner_distro_version="$VERSION_ID" - elif [ -n "$BUILD_ID" ]; then - banner_distro_version="$BUILD_ID" - else - banner_distro_version="Version Unknown" - fi - fi - - banner_distro_space="$(generate_space "$banner_distro_name" 13)" - if [ "$(hostname)" = 'dom0' ]; then - # Qubes dom0 - banner_distro_space="$(generate_space "$NAME" 13)" - printf " \\033[%sm%s %s\\033[0m%s%s\\n" "$banner_distro_color" "" "$NAME" "$banner_distro_space" "$VERSION" - else - printf " \\033[%sm%s %s\\033[0m%s%s\\n" "$banner_distro_color" "$banner_distro_icon" "$banner_distro_name" "$banner_distro_space" "$banner_distro_version" - fi - printf " \\033[%sm%s Linux\\033[0m %s\\n" "$BANNER_KERNEL_COLOR" "$BANNER_KERNEL_ICON" "$(cut -d ' ' -f 3 /dev/null | grep 'inet ' | cut -d ' ' -f 2)" - IP_ADDR_PUB="$(timeout 1 sh -c 'curl -sSL ifconfig.me')" - if [ -n "$IP_ADDR_PUB" ]; then - printf " \\033[%sm%s Public IP\\033[0m %s\\n" "$UPDATES_SECURITY_COLOR" "" "$IP_ADDR_PUB" - fi - fi - fi -} - -print_processor() { - printf "\\n" - printf " \\033[1;37mProcessor:\\033[0m\\n" - - processor_loadavg="$(cut -d " " -f 1,2,3 /dev/null; then - printf "\\n" - printf " \\033[1;37mDiskspace:\\033[0m\\n" - - diskspace_devices=$(lsblk -Jlo NAME,MOUNTPOINT | jq -c '.blockdevices | sort_by(.mountpoint) | .[] | select( .mountpoint != null and .mountpoint != "[SWAP]" )') - diskspace_partitions=$(df -B M 2> /dev/null | sed -e "s/M//g") - - diskspace_index=0 - echo "$diskspace_devices" | while read -r line; do - diskspace_disk_name="$(echo "$line" | jq -r '.name')" - diskspace_disk_mount="$(echo "$line" | jq -r '.mountpoint')" - - diskspace_disk_size="$(echo "$diskspace_partitions" | grep "$diskspace_disk_name " | awk '{ print $2 }')" - diskspace_disk_used="$(echo "$diskspace_partitions" | grep "$diskspace_disk_name " | awk '{ print $3 }')" - if [[ "$diskspace_disk_mount" != '/var/lib/snapd/snap'* ]] && [[ "$diskspace_disk_mount" != '/snap/'* ]]; then - if [ -z "$diskspace_disk_size" ]; then - diskspace_disk_size="$(echo "$diskspace_partitions" | grep "$diskspace_disk_mount" | awk '{ print $2 }')" - fi - if [ -z "$diskspace_disk_used" ]; then - diskspace_disk_used="$(echo "$diskspace_partitions" | grep "$diskspace_disk_mount" | awk '{ print $3 }')" - fi - if [ "$diskspace_index" -ne 0 ]; then - printf "\\n" - fi - diskspace_index=$((diskspace_index + 1)) - generate_bar_disk "$DISKSPACE_ICON" "$diskspace_disk_size" "$diskspace_disk_used" "$diskspace_disk_mount" - fi - done - fi -} - -print_services() { - if [ -f $SERVICES_FILE ] && [ "$(wc -l <$SERVICES_FILE)" != 0 ]; then - printf "\\n" - printf " \\033[1;37mServices:\\033[0m \\033[1;37mVersion:\\033[0m\\n" - - while read -r line; do - service_description=$(echo "$line" | cut -d ';' -f 1) - - service_name=$(echo "$line" | cut -d ';' -f 2) - - service_package=$(echo "$line" | cut -d ';' -f 3) - - if [ -n "$service_description" ] && [ -n "$service_name" ]; then - if systemctl is-active --quiet "$service_name".service; then - service_icon="$SERVICES_UP_ICON" - service_color="$SERVICES_UP_COLOR" - else - service_icon="$SERVICES_DOWN_ICON" - service_color="$SERVICES_DOWN_COLOR" - fi - - service_space=$(generate_space "$service_description" 34) - - if [ -n "$service_package" ]; then - if [ -f /usr/bin/apt ]; then - package_version=$(dpkg -s "$service_package" | grep '^Version:' | cut -d ' ' -f 2 | cut -d ':' -f 2 | cut -d '-' -f 1) - elif [ -f /usr/bin/rpm ]; then - package_version=$(rpm -q --queryformat '%{VERSION}' "$service_package") - else - package_version="?" - fi - else - package_version="--" - fi - fi - - printf " \\033[%sm%s\\033[0m %s%s%s\\n" "$service_color" "$service_icon" "$service_description" "$service_space" "$package_version" - done <"$SERVICES_FILE" | grep -v '#' - fi -} - -print_podman() { - if command -v jq >/dev/null; then - printf "\\n" - printf " \\033[1;37mPodman:\\033[0m\\n" - - podman_version="$(sudo podman version --format json | jq -r '.Client.Version')" - podman_space="$(generate_space "$podman_version" 23)" - podman_images="$(sudo podman images --format json | jq '. | length')" - - printf " %s Version %s%s%s %s Images\\n\\n" "$PODMAN_VERSION_ICON" "$podman_version" "$podman_space" "$PODMAN_IMAGES_ICON" "$podman_images" - - podman_list=$(sudo podman pod ls --sort name --format json) - podman_pods=$(echo "$podman_list" | jq -r '.[] .Name') - - echo "$podman_pods" | while read -r pod; do - if [ "$(echo "$podman_list" | jq -r ".[] | select(.Name == \"$pod\") | .Status")" = "Running" ]; then - pod_space=$(generate_space "$pod" 34) - - pod_container_running="$(echo "$podman_list" | jq -r ".[] | select(.Name == \"$pod\") | .Containers[] | select(.Status == \"running\") | .Status" | wc -l)" - - if [ "$pod_container_running" -ne 0 ]; then - pod_container_running=$(printf "\\033[%um%u Running\\033[0m" "$PODMAN_RUNNING_COLOR" "$pod_container_running") - fi - - pod_container_other="$(echo "$podman_list" | jq -r ".[] | select(.Name == \"$pod\") | .Containers[] | select(.Status != \"running\") | .Status" | wc -l)" - - if [ "$pod_container_other" -ne 0 ]; then - pod_container_other=$(printf ", \\033[%um%u Other\\033[0m" "$PODMAN_OTHER_COLOR" "$pod_container_other") - else - pod_container_other="" - fi - - pod_status="$pod_container_running$pod_container_other" - - printf " \\033[%um%s\\033[0m %s%s%s\\n" "$PODMAN_RUNNING_COLOR" "$PODMAN_RUNNING_ICON" "$pod" "$pod_space" "$pod_status" - else - printf " \\033[%um%s\\033[0m \\033[%um%s\\033[0m\\n" "$PODMAN_OTHER_COLOR" "$PODMAN_OTHER_ICON" "$PODMAN_OTHER_COLOR" "$pod" - fi - done - fi -} - -print_docker() { - if command -v jq >/dev/null && [ "$(systemctl is-active docker.service)" = "active" ]; then - printf "\\n" - printf " \\033[1;37mDocker:\\033[0m\\n" - - docker_info=$(sudo curl -sf --unix-socket /var/run/docker.sock http:/v1.40/info) - - docker_version=$(echo "$docker_info" | jq -r '.ServerVersion') - - docker_space=$(generate_space "$docker_version" 23) - - docker_images=$(echo "$docker_info" | jq -r '.Images') - - printf " %s Version %s%s%s %s Images\\n" "$DOCKER_VERSION_ICON" "$docker_version" "$docker_space" "$DOCKER_IMAGES_ICON" "$docker_images" - - docker_list_curl="$(sudo curl -sf --unix-socket /var/run/docker.sock "http://v1.40/containers/json?all=true")" - docker_list_curl_length="$(echo "$docker_list_curl" | jq -c '. | length')" - docker_list="$(echo "$docker_list_curl" | jq -c ' .[]')" - - if [ "$docker_list_curl_length" != '0' ]; then - echo "$docker_list" | while read -r line; do - container_name="$(echo "$line" | jq -r '.Names[]' | sed 's/\///')" - container_status="$(echo "$line" | jq -r '.Status' | sed 's/.*/\l&/')" - container_space=$(generate_space "$container_name" 34) - if [ "$(echo "$line" | jq -r '.State')" = "running" ]; then - printf " \\033[%um%s\\033[0m %s%s%s\\n" "$DOCKER_RUNNING_COLOR" "$DOCKER_RUNNING_ICON" "$container_name" "$container_space" "$container_status" - else - printf " \\033[%um%s\\033[0m \\033[%um%s\\033[0m%s\\033[%um%s\\033[0m\\n" "$DOCKER_OTHER_COLOR" "$DOCKER_OTHER_ICON" "$DOCKER_OTHER_COLOR" "$container_name" "$container_space" "$DOCKER_OTHER_COLOR" "$container_status" - fi - done - fi - fi -} - -print_updates() { - printf "\\n" - printf " \\033[1;37mHealth:\\033[0m\\n" - if [ -f /usr/bin/apt ]; then - updates_count_regular=$(apt-get -qq -y --ignore-hold --allow-change-held-packages --allow-unauthenticated -s dist-upgrade | grep ^Inst | grep -c -v Security) - updates_count_security=$(apt-get -qq -y --ignore-hold --allow-change-held-packages --allow-unauthenticated -s dist-upgrade | grep ^Inst | grep -c Security) - - if [ "$updates_count_regular" -ne 0 ]; then - if [ -n "$updates_count_security" ] && [ "$updates_count_security" -ne 0 ]; then - updates_icon=$UPDATES_SECURITY_ICON - updates_color=$UPDATES_SECURITY_COLOR - updates_message="$updates_count_regular packages can be updated, $updates_count_security are security updates." - else - updates_icon=$UPDATES_AVAILIABLE_ICON - updates_color=$UPDATES_AVAILIABLE_COLOR - updates_message="$updates_count_regular packages can be updated." - fi - else - updates_icon=$UPDATES_ZERO_ICON - updates_color=$UPDATES_ZERO_COLOR - updates_message="The system apt packages are up-to-date!" - fi - - printf " \\033[%sm%s \\033[0m %s\\n" "$updates_color" "$updates_icon" "$updates_message" - elif [ -f /usr/bin/dnfTODO ]; then - # TODO - Find way of quickly acquiring details - mkdir -p "$HOME/.local/labs" > /dev/null - (command dnf list updates | grep updates | wc -l > "$HOME/.local/labs/dnf-updates-reg" &) - (command dnf updateinfo list --security --available | grep '/Sec. ' | wc -l > "$HOME/.local/labs/dnf-updates-sec" &) - updates_count_security="0" - updates_count_reg="0" - if [ -f "$HOME/.local/labs/dnf-updates-sec" ]; then - updates_count_security="$(cat "$HOME/.local/labs/dnf-updates-sec")" - fi - if [ -f "$HOME/.local/labs/dnf-updates-reg" ]; then - updates_count_reg="$(cat "$HOME/.local/labs/dnf-updates-reg")" - fi - - if [ -n "$updates_count_regular" ] && [ "$updates_count_regular" -ne 0 ]; then - if [ -n "$updates_count_security" ] && [ "$updates_count_security" -ne 0 ]; then - updates_icon=$UPDATES_SECURITY_ICON - updates_color=$UPDATES_SECURITY_COLOR - updates_message="$(generate_space "$updates_count_regular" 5) packages can be updated, $updates_count_security are security updates." - else - updates_icon=$UPDATES_AVAILIABLE_ICON - updates_color=$UPDATES_AVAILIABLE_COLOR - updates_message="$(generate_space "$bar_disk_used" 5) packages can be updated." - fi - else - updates_icon=$UPDATES_ZERO_ICON - updates_color=$UPDATES_ZERO_COLOR - updates_message="The system dnf packages are up-to-date!" - fi - - printf " \\033[%sm%s \\033[0m %s\\n" "$updates_color" "$updates_icon" "$updates_message" - fi - if command -v systemctl > /dev/null; then - running_services_count="$(systemctl --type=service --plain | grep 'active running' | wc -l)" - failed_services_count="$(systemctl --type=service --failed | grep 'failed failed' | wc -l)" - - if [ "$failed_services_count" -eq 0 ]; then - printf " \\033[%sm%s \\033[0m All enabled services are running!\\n" "32" "" - elif [ "$failed_services_count" -eq 1 ]; then - printf " \\033[%sm%s \\033[0m %s services are are currently running\\n" "32" "" "$running_services_count" - printf " \\033[%sm%s \\033[0m 1 service failed to start (%s)\\n" "31" "" "$(systemctl --type=service --failed | grep 'failed failed' | sed 's/..\([^ ]*\).service.*/\1/')" - elif [ "$failed_services_count" -gt 1 ]; then - printf " \\033[%sm%s \\033[0m %s services are are currently running\\n" "32" "" "$running_services_count" - printf " \\033[%sm%s \\033[0m %s services failed to start (see \`systemctl --type=service\`)\\n" "31" "" "$failed_services_count" - fi - fi -} - -print_letsencrypt() { - if [ -d $LETSENCRYPT_CERTPATH ] && [ "$(ls -a $LETSENCRYPT_CERTPATH)" ]; then - printf "\\n" - printf " \\033[1;37mSSL / let’s encrypt:\\033[0m\\n" - - cert_list=$(sudo find $LETSENCRYPT_CERTPATH -name cert.pem) - - for cert_file in $cert_list; do - sudo openssl x509 -checkend $((25 * 86400)) -noout -in "$cert_file" >>/dev/null - result=$? - - cert_name=$(echo "$cert_file" | rev | cut -d '/' -f 2 | rev) - - if [ "$result" -eq 0 ]; then - printf " \\033[%sm%s\\033[0m %s\\n" "$LETSENCRYPT_VALID_COLOR" "$LETSENCRYPT_VALID_ICON" "$cert_name" - else - sudo openssl x509 -checkend $((0 * 86400)) -noout -in "$cert_file" >>/dev/null - result=$? - - if [ "$result" -eq 0 ]; then - printf " \\033[%sm%s\\033[0m %s\\n" "$LETSENCRYPT_WARNING_COLOR" "$LETSENCRYPT_WARNING_ICON" "$cert_name" - else - printf " \\033[%sm%s\\033[0m %s\\n" "$LETSENCRYPT_INVALID_COLOR" "$LETSENCRYPT_INVALID_ICON" "$cert_name" - fi - fi - done - fi -} - -print_login() { - login_last="$(last -n 2 -a -d --time-format iso "$(whoami)" | head -n 2 | tail -n 1)" - - if [ "$(echo "$login_last" | awk '{ print $1 }')" = "$(whoami)" ]; then - login_ip="$(echo "$login_last" | awk '{ print $7 }')" - - login_login="$(date -d "$(echo "$login_last" | awk '{ print $3 }' | cut -d '+' -f 1 | sed "s/T/ /")" "+%a, %d.%m.%y %H:%M")" - - login_space=$(generate_space "$login_login" 25) - - if [ "$(echo "$login_last" | awk '{ print $4 }')" = "still" ]; then - login_logout="still connected" - else - login_logout="$(date -d "$(echo "$login_last" | awk '{ print $5 }' | cut -d '+' -f 1 | sed "s/T/ /")" "+%a, %d.%m.%y %H:%M")" - fi - - printf "\\n" - printf " \\033[1;37mLast login for %s:\\033[0m\\n" "$(echo "$login_last" | awk '{ print $1 }')" - printf " %s %s%s%s %s\\n" "$LOGIN_LOGIN_ICON" "$login_login" "$login_space" "$LOGIN_LOGOUT_ICON" "$login_logout" - printf " %s %s\\n" "$LOGIN_IP_ICON" "$login_ip" - fi -} - -print_include() { - . $INCLUDE_FILE -} - -bash_motd() { - for module in "$@"; do - if [ "$module" = "--banner" ]; then - print_banner - elif [ "$module" = "--processor" ]; then - print_processor - elif [ "$module" = "--memory" ]; then - print_memory - elif [ "$module" = "--swap" ]; then - print_swap - elif [ "$module" = "--diskspace" ]; then - print_diskspace - elif [ "$module" = "--services" ]; then - print_services - elif [ "$module" = "--podman" ]; then - print_podman - elif [ "$module" = "--docker" ]; then - print_docker - elif [ "$module" = "--updates" ]; then - print_updates - elif [ "$module" = "--letsencrypt" ]; then - print_letsencrypt - elif [ "$module" = "--login" ]; then - print_login - elif [ "$module" = "--include" ]; then - print_include - fi - done - printf "\\n" -} diff --git a/.local/share/bash-completion/completions/deno.bash b/.local/share/bash-completion/completions/deno.bash deleted file mode 100644 index 3e8d3e6c..00000000 --- a/.local/share/bash-completion/completions/deno.bash +++ /dev/null @@ -1,1534 +0,0 @@ -_deno() { - local i cur prev opts cmds - COMPREPLY=() - cur="${COMP_WORDS[COMP_CWORD]}" - prev="${COMP_WORDS[COMP_CWORD-1]}" - cmd="" - opts="" - - for i in ${COMP_WORDS[@]} - do - case "${i}" in - "$1") - cmd="deno" - ;; - bench) - cmd+="__bench" - ;; - bundle) - cmd+="__bundle" - ;; - cache) - cmd+="__cache" - ;; - check) - cmd+="__check" - ;; - compile) - cmd+="__compile" - ;; - completions) - cmd+="__completions" - ;; - coverage) - cmd+="__coverage" - ;; - doc) - cmd+="__doc" - ;; - eval) - cmd+="__eval" - ;; - fmt) - cmd+="__fmt" - ;; - help) - cmd+="__help" - ;; - info) - cmd+="__info" - ;; - init) - cmd+="__init" - ;; - install) - cmd+="__install" - ;; - lint) - cmd+="__lint" - ;; - lsp) - cmd+="__lsp" - ;; - repl) - cmd+="__repl" - ;; - run) - cmd+="__run" - ;; - task) - cmd+="__task" - ;; - test) - cmd+="__test" - ;; - types) - cmd+="__types" - ;; - uninstall) - cmd+="__uninstall" - ;; - upgrade) - cmd+="__upgrade" - ;; - vendor) - cmd+="__vendor" - ;; - *) - ;; - esac - done - - case "${cmd}" in - deno) - opts="-h -V -L -q --help --version --unstable --log-level --quiet bench bundle cache check compile completions coverage doc eval fmt init info install uninstall lsp lint repl run task test types upgrade vendor help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --log-level) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - -L) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - deno__bench) - opts="-c -r -A -h -L -q --import-map --no-remote --no-npm --node-modules-dir --no-config --config --no-check --check --reload --lock --lock-write --no-lock --cert --allow-read --allow-write --allow-net --unsafely-ignore-certificate-errors --allow-env --allow-sys --allow-run --allow-ffi --allow-hrtime --allow-all --prompt --no-prompt --cached-only --location --v8-flags --seed --enable-testing-features-do-not-use --ignore --filter --watch --no-clear-screen --help --unstable --log-level --quiet ... ..." - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --import-map) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --config) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -c) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-check) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --check) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --reload) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -r) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --lock) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --cert) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --allow-read) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --allow-write) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --allow-net) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --unsafely-ignore-certificate-errors) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --allow-env) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --allow-sys) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --allow-run) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --allow-ffi) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --location) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --v8-flags) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --seed) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --ignore) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --filter) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --log-level) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - -L) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - deno__bundle) - opts="-c -r -h -L -q --import-map --no-remote --no-npm --node-modules-dir --no-config --config --no-check --check --reload --lock --lock-write --no-lock --cert --watch --no-clear-screen --help --unstable --log-level --quiet " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --import-map) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --config) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -c) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-check) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --check) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --reload) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -r) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --lock) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --cert) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --log-level) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - -L) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - deno__cache) - opts="-c -r -h -L -q --import-map --no-remote --no-npm --node-modules-dir --no-config --config --no-check --check --reload --lock --lock-write --no-lock --cert --help --unstable --log-level --quiet ..." - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --import-map) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --config) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -c) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-check) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --check) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --reload) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -r) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --lock) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --cert) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --log-level) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - -L) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - deno__check) - opts="-c -r -h -L -q --import-map --no-remote --no-npm --node-modules-dir --config --no-config --reload --lock --lock-write --no-lock --cert --remote --help --unstable --log-level --quiet ..." - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --import-map) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --config) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -c) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --reload) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -r) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --lock) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --cert) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --log-level) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - -L) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - deno__compile) - opts="-c -r -A -o -h -L -q --import-map --no-remote --no-npm --node-modules-dir --no-config --config --no-check --check --reload --lock --lock-write --no-lock --cert --allow-read --allow-write --allow-net --unsafely-ignore-certificate-errors --allow-env --allow-sys --allow-run --allow-ffi --allow-hrtime --allow-all --prompt --no-prompt --cached-only --location --v8-flags --seed --enable-testing-features-do-not-use --output --target --help --unstable --log-level --quiet ..." - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --import-map) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --config) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -c) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-check) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --check) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --reload) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -r) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --lock) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --cert) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --allow-read) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --allow-write) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --allow-net) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --unsafely-ignore-certificate-errors) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --allow-env) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --allow-sys) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --allow-run) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --allow-ffi) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --location) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --v8-flags) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --seed) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --output) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -o) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --target) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - --log-level) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - -L) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - deno__completions) - opts="-h -L -q --help --unstable --log-level --quiet bash fish powershell zsh fig" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --log-level) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - -L) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - deno__coverage) - opts="-h -L -q --ignore --include --exclude --lcov --output --help --unstable --log-level --quiet ..." - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --ignore) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --include) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --exclude) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --output) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --log-level) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - -L) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - deno__doc) - opts="-r -h -L -q --import-map --reload --json --private --help --unstable --log-level --quiet " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --import-map) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --reload) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -r) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --log-level) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - -L) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - deno__eval) - opts="-c -r -T -p -h -L -q --import-map --no-remote --no-npm --node-modules-dir --no-config --config --no-check --check --reload --lock --lock-write --no-lock --cert --inspect --inspect-brk --cached-only --location --v8-flags --seed --enable-testing-features-do-not-use --ts --ext --print --help --unstable --log-level --quiet ..." - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --import-map) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --config) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -c) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-check) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --check) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --reload) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -r) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --lock) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --cert) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --inspect) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --inspect-brk) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --location) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --v8-flags) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --seed) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --ext) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - --log-level) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - -L) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - deno__fmt) - opts="-c -h -L -q --config --no-config --check --ext --ignore --watch --no-clear-screen --options-use-tabs --options-line-width --options-indent-width --options-single-quote --options-prose-wrap --help --unstable --log-level --quiet ..." - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --config) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -c) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --ext) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - --ignore) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --options-line-width) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --options-indent-width) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --options-prose-wrap) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - --log-level) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - -L) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - deno__help) - opts="-L -q --unstable --log-level --quiet ..." - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --log-level) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - -L) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - deno__info) - opts="-r -c -h -L -q --reload --cert --location --no-check --no-config --config --import-map --node-modules-dir --json --help --unstable --log-level --quiet " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --reload) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -r) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --cert) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --location) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-check) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --config) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -c) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --import-map) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --log-level) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - -L) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - deno__init) - opts="-h -L -q --help --unstable --log-level --quiet " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --log-level) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - -L) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - deno__install) - opts="-c -r -A -n -f -h -L -q --import-map --no-remote --no-npm --node-modules-dir --no-config --config --no-check --check --reload --lock --lock-write --no-lock --cert --allow-read --allow-write --allow-net --unsafely-ignore-certificate-errors --allow-env --allow-sys --allow-run --allow-ffi --allow-hrtime --allow-all --prompt --no-prompt --inspect --inspect-brk --cached-only --location --v8-flags --seed --enable-testing-features-do-not-use --name --root --force --help --unstable --log-level --quiet ..." - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --import-map) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --config) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -c) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-check) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --check) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --reload) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -r) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --lock) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --cert) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --allow-read) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --allow-write) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --allow-net) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --unsafely-ignore-certificate-errors) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --allow-env) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --allow-sys) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --allow-run) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --allow-ffi) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --inspect) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --inspect-brk) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --location) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --v8-flags) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --seed) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --name) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -n) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --root) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --log-level) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - -L) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - deno__lint) - opts="-c -h -L -q --rules --rules-tags --rules-include --rules-exclude --no-config --config --ignore --json --compact --watch --no-clear-screen --help --unstable --log-level --quiet ..." - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --rules-tags) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --rules-include) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --rules-exclude) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --config) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -c) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --ignore) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --log-level) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - -L) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - deno__lsp) - opts="-h -L -q --help --unstable --log-level --quiet" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --log-level) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - -L) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - deno__repl) - opts="-c -r -h -L -q --import-map --no-remote --no-npm --node-modules-dir --no-config --config --no-check --check --reload --lock --lock-write --no-lock --cert --inspect --inspect-brk --cached-only --location --v8-flags --seed --enable-testing-features-do-not-use --eval-file --eval --unsafely-ignore-certificate-errors --help --unstable --log-level --quiet" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --import-map) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --config) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -c) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-check) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --check) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --reload) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -r) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --lock) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --cert) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --inspect) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --inspect-brk) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --location) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --v8-flags) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --seed) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --eval-file) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --eval) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --unsafely-ignore-certificate-errors) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --log-level) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - -L) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - deno__run) - opts="-c -r -A -h -L -q --import-map --no-remote --no-npm --node-modules-dir --no-config --config --no-check --check --reload --lock --lock-write --no-lock --cert --allow-read --allow-write --allow-net --unsafely-ignore-certificate-errors --allow-env --allow-sys --allow-run --allow-ffi --allow-hrtime --allow-all --prompt --no-prompt --inspect --inspect-brk --cached-only --location --v8-flags --seed --enable-testing-features-do-not-use --watch --no-clear-screen --help --unstable --log-level --quiet ..." - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --import-map) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --config) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -c) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-check) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --check) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --reload) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -r) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --lock) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --cert) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --allow-read) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --allow-write) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --allow-net) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --unsafely-ignore-certificate-errors) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --allow-env) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --allow-sys) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --allow-run) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --allow-ffi) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --inspect) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --inspect-brk) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --location) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --v8-flags) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --seed) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --watch) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --log-level) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - -L) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - deno__task) - opts="-c -h -L -q --config --cwd --help --unstable --log-level --quiet ..." - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --config) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -c) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --cwd) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --log-level) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - -L) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - deno__test) - opts="-c -r -A -j -h -L -q --import-map --no-remote --no-npm --node-modules-dir --no-config --config --no-check --check --reload --lock --lock-write --no-lock --cert --allow-read --allow-write --allow-net --unsafely-ignore-certificate-errors --allow-env --allow-sys --allow-run --allow-ffi --allow-hrtime --allow-all --prompt --no-prompt --inspect --inspect-brk --cached-only --location --v8-flags --seed --enable-testing-features-do-not-use --ignore --no-run --trace-ops --doc --fail-fast --allow-none --filter --shuffle --coverage --parallel --jobs --watch --no-clear-screen --help --unstable --log-level --quiet ... ..." - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --import-map) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --config) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -c) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-check) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --check) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --reload) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -r) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --lock) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --cert) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --allow-read) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --allow-write) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --allow-net) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --unsafely-ignore-certificate-errors) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --allow-env) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --allow-sys) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --allow-run) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --allow-ffi) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --inspect) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --inspect-brk) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --location) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --v8-flags) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --seed) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --ignore) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --fail-fast) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --filter) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --shuffle) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --coverage) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --jobs) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -j) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --log-level) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - -L) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - deno__types) - opts="-h -L -q --help --unstable --log-level --quiet" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --log-level) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - -L) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - deno__uninstall) - opts="-h -L -q --root --help --unstable --log-level --quiet " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --root) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --log-level) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - -L) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - deno__upgrade) - opts="-f -h -L -q --version --output --dry-run --force --canary --cert --help --unstable --log-level --quiet" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --version) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --output) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --cert) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --log-level) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - -L) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - deno__vendor) - opts="-f -c -r -h -L -q --output --force --no-config --config --import-map --lock --reload --cert --help --unstable --log-level --quiet ..." - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --output) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --config) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -c) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --import-map) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --lock) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --reload) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -r) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --cert) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --log-level) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - -L) - COMPREPLY=($(compgen -W "" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - esac -} - -complete -F _deno -o bashdefault -o default deno diff --git a/.local/share/bash-completion/completions/direnv.bash b/.local/share/bash-completion/completions/direnv.bash deleted file mode 100644 index 4b5e4822..00000000 --- a/.local/share/bash-completion/completions/direnv.bash +++ /dev/null @@ -1,10 +0,0 @@ -_direnv_hook() { - local previous_exit_status=$?; - trap -- '' SIGINT; - eval "$("/usr/local/bin/direnv" export bash)"; - trap - SIGINT; - return $previous_exit_status; -}; -if ! [[ "${PROMPT_COMMAND:-}" =~ _direnv_hook ]]; then - PROMPT_COMMAND="_direnv_hook${PROMPT_COMMAND:+;$PROMPT_COMMAND}" -fi diff --git a/.local/share/bash-completion/completions/fig.bash b/.local/share/bash-completion/completions/fig.bash deleted file mode 100644 index ecd31d34..00000000 --- a/.local/share/bash-completion/completions/fig.bash +++ /dev/null @@ -1,9130 +0,0 @@ -_fig_cli() { - local i cur prev opts cmds - COMPREPLY=() - cur="${COMP_WORDS[COMP_CWORD]}" - prev="${COMP_WORDS[COMP_CWORD-1]}" - cmd="" - opts="" - - for i in ${COMP_WORDS[@]} - do - case "${cmd},${i}" in - ",$1") - cmd="fig_cli" - ;; - fig_cli,ai) - cmd="fig_cli__ai" - ;; - fig_cli,app) - cmd="fig_cli__app" - ;; - fig_cli,app:running) - cmd="fig_cli__app:running" - ;; - fig_cli,bg:ssh) - cmd="fig_cli__bg:ssh" - ;; - fig_cli,bg:tmux) - cmd="fig_cli__bg:tmux" - ;; - fig_cli,completion) - cmd="fig_cli__completion" - ;; - fig_cli,daemon) - cmd="fig_cli__daemon" - ;; - fig_cli,dashboard) - cmd="fig_cli__dashboard" - ;; - fig_cli,debug) - cmd="fig_cli__debug" - ;; - fig_cli,diagnostic) - cmd="fig_cli__diagnostic" - ;; - fig_cli,doctor) - cmd="fig_cli__doctor" - ;; - fig_cli,help) - cmd="fig_cli__help" - ;; - fig_cli,help-all) - cmd="fig_cli__help__all" - ;; - fig_cli,hook) - cmd="fig_cli__hook" - ;; - fig_cli,init) - cmd="fig_cli__init" - ;; - fig_cli,install) - cmd="fig_cli__install" - ;; - fig_cli,integrations) - cmd="fig_cli__integrations" - ;; - fig_cli,internal) - cmd="fig_cli__internal" - ;; - fig_cli,invite) - cmd="fig_cli__invite" - ;; - fig_cli,issue) - cmd="fig_cli__issue" - ;; - fig_cli,launch) - cmd="fig_cli__launch" - ;; - fig_cli,login) - cmd="fig_cli__login" - ;; - fig_cli,logout) - cmd="fig_cli__logout" - ;; - fig_cli,man) - cmd="fig_cli__man" - ;; - fig_cli,onboarding) - cmd="fig_cli__onboarding" - ;; - fig_cli,plugins) - cmd="fig_cli__plugins" - ;; - fig_cli,pro) - cmd="fig_cli__pro" - ;; - fig_cli,quit) - cmd="fig_cli__quit" - ;; - fig_cli,restart) - cmd="fig_cli__restart" - ;; - fig_cli,settings) - cmd="fig_cli__settings" - ;; - fig_cli,source) - cmd="fig_cli__source" - ;; - fig_cli,ssh) - cmd="fig_cli__ssh" - ;; - fig_cli,team) - cmd="fig_cli__team" - ;; - fig_cli,telemetry) - cmd="fig_cli__telemetry" - ;; - fig_cli,theme) - cmd="fig_cli__theme" - ;; - fig_cli,tips) - cmd="fig_cli__tips" - ;; - fig_cli,tweet) - cmd="fig_cli__tweet" - ;; - fig_cli,uninstall) - cmd="fig_cli__uninstall" - ;; - fig_cli,update) - cmd="fig_cli__update" - ;; - fig_cli,user) - cmd="fig_cli__user" - ;; - fig_cli,version) - cmd="fig_cli__version" - ;; - fig_cli,workflow) - cmd="fig_cli__workflow" - ;; - fig_cli__app,help) - cmd="fig_cli__app__help" - ;; - fig_cli__app,install) - cmd="fig_cli__app__install" - ;; - fig_cli__app,launch) - cmd="fig_cli__app__launch" - ;; - fig_cli__app,onboarding) - cmd="fig_cli__app__onboarding" - ;; - fig_cli__app,prompts) - cmd="fig_cli__app__prompts" - ;; - fig_cli__app,quit) - cmd="fig_cli__app__quit" - ;; - fig_cli__app,restart) - cmd="fig_cli__app__restart" - ;; - fig_cli__app,running) - cmd="fig_cli__app__running" - ;; - fig_cli__app,set-path) - cmd="fig_cli__app__set__path" - ;; - fig_cli__app,uninstall) - cmd="fig_cli__app__uninstall" - ;; - fig_cli__app__help,help) - cmd="fig_cli__app__help__help" - ;; - fig_cli__app__help,install) - cmd="fig_cli__app__help__install" - ;; - fig_cli__app__help,launch) - cmd="fig_cli__app__help__launch" - ;; - fig_cli__app__help,onboarding) - cmd="fig_cli__app__help__onboarding" - ;; - fig_cli__app__help,prompts) - cmd="fig_cli__app__help__prompts" - ;; - fig_cli__app__help,quit) - cmd="fig_cli__app__help__quit" - ;; - fig_cli__app__help,restart) - cmd="fig_cli__app__help__restart" - ;; - fig_cli__app__help,running) - cmd="fig_cli__app__help__running" - ;; - fig_cli__app__help,set-path) - cmd="fig_cli__app__help__set__path" - ;; - fig_cli__app__help,uninstall) - cmd="fig_cli__app__help__uninstall" - ;; - fig_cli__debug,accessibility) - cmd="fig_cli__debug__accessibility" - ;; - fig_cli__debug,app) - cmd="fig_cli__debug__app" - ;; - fig_cli__debug,autocomplete-window) - cmd="fig_cli__debug__autocomplete__window" - ;; - fig_cli__debug,build) - cmd="fig_cli__debug__build" - ;; - fig_cli__debug,devtools) - cmd="fig_cli__debug__devtools" - ;; - fig_cli__debug,diagnostics) - cmd="fig_cli__debug__diagnostics" - ;; - fig_cli__debug,dotfiles) - cmd="fig_cli__debug__dotfiles" - ;; - fig_cli__debug,help) - cmd="fig_cli__debug__help" - ;; - fig_cli__debug,input-method) - cmd="fig_cli__debug__input__method" - ;; - fig_cli__debug,key-tester) - cmd="fig_cli__debug__key__tester" - ;; - fig_cli__debug,logs) - cmd="fig_cli__debug__logs" - ;; - fig_cli__debug,prompt-accessibility) - cmd="fig_cli__debug__prompt__accessibility" - ;; - fig_cli__debug,query-index) - cmd="fig_cli__debug__query__index" - ;; - fig_cli__debug,sample) - cmd="fig_cli__debug__sample" - ;; - fig_cli__debug,unix-socket) - cmd="fig_cli__debug__unix__socket" - ;; - fig_cli__debug,verify-codesign) - cmd="fig_cli__debug__verify__codesign" - ;; - fig_cli__debug__help,accessibility) - cmd="fig_cli__debug__help__accessibility" - ;; - fig_cli__debug__help,app) - cmd="fig_cli__debug__help__app" - ;; - fig_cli__debug__help,autocomplete-window) - cmd="fig_cli__debug__help__autocomplete__window" - ;; - fig_cli__debug__help,build) - cmd="fig_cli__debug__help__build" - ;; - fig_cli__debug__help,devtools) - cmd="fig_cli__debug__help__devtools" - ;; - fig_cli__debug__help,diagnostics) - cmd="fig_cli__debug__help__diagnostics" - ;; - fig_cli__debug__help,dotfiles) - cmd="fig_cli__debug__help__dotfiles" - ;; - fig_cli__debug__help,help) - cmd="fig_cli__debug__help__help" - ;; - fig_cli__debug__help,input-method) - cmd="fig_cli__debug__help__input__method" - ;; - fig_cli__debug__help,key-tester) - cmd="fig_cli__debug__help__key__tester" - ;; - fig_cli__debug__help,logs) - cmd="fig_cli__debug__help__logs" - ;; - fig_cli__debug__help,prompt-accessibility) - cmd="fig_cli__debug__help__prompt__accessibility" - ;; - fig_cli__debug__help,query-index) - cmd="fig_cli__debug__help__query__index" - ;; - fig_cli__debug__help,sample) - cmd="fig_cli__debug__help__sample" - ;; - fig_cli__debug__help,unix-socket) - cmd="fig_cli__debug__help__unix__socket" - ;; - fig_cli__debug__help,verify-codesign) - cmd="fig_cli__debug__help__verify__codesign" - ;; - fig_cli__debug__help__input__method,install) - cmd="fig_cli__debug__help__input__method__install" - ;; - fig_cli__debug__help__input__method,list) - cmd="fig_cli__debug__help__input__method__list" - ;; - fig_cli__debug__help__input__method,source) - cmd="fig_cli__debug__help__input__method__source" - ;; - fig_cli__debug__help__input__method,status) - cmd="fig_cli__debug__help__input__method__status" - ;; - fig_cli__debug__help__input__method,uninstall) - cmd="fig_cli__debug__help__input__method__uninstall" - ;; - fig_cli__debug__input__method,help) - cmd="fig_cli__debug__input__method__help" - ;; - fig_cli__debug__input__method,install) - cmd="fig_cli__debug__input__method__install" - ;; - fig_cli__debug__input__method,list) - cmd="fig_cli__debug__input__method__list" - ;; - fig_cli__debug__input__method,source) - cmd="fig_cli__debug__input__method__source" - ;; - fig_cli__debug__input__method,status) - cmd="fig_cli__debug__input__method__status" - ;; - fig_cli__debug__input__method,uninstall) - cmd="fig_cli__debug__input__method__uninstall" - ;; - fig_cli__debug__input__method__help,help) - cmd="fig_cli__debug__input__method__help__help" - ;; - fig_cli__debug__input__method__help,install) - cmd="fig_cli__debug__input__method__help__install" - ;; - fig_cli__debug__input__method__help,list) - cmd="fig_cli__debug__input__method__help__list" - ;; - fig_cli__debug__input__method__help,source) - cmd="fig_cli__debug__input__method__help__source" - ;; - fig_cli__debug__input__method__help,status) - cmd="fig_cli__debug__input__method__help__status" - ;; - fig_cli__debug__input__method__help,uninstall) - cmd="fig_cli__debug__input__method__help__uninstall" - ;; - fig_cli__help,ai) - cmd="fig_cli__help__ai" - ;; - fig_cli__help,app) - cmd="fig_cli__help__app" - ;; - fig_cli__help,app:running) - cmd="fig_cli__help__app:running" - ;; - fig_cli__help,bg:ssh) - cmd="fig_cli__help__bg:ssh" - ;; - fig_cli__help,bg:tmux) - cmd="fig_cli__help__bg:tmux" - ;; - fig_cli__help,completion) - cmd="fig_cli__help__completion" - ;; - fig_cli__help,daemon) - cmd="fig_cli__help__daemon" - ;; - fig_cli__help,dashboard) - cmd="fig_cli__help__dashboard" - ;; - fig_cli__help,debug) - cmd="fig_cli__help__debug" - ;; - fig_cli__help,diagnostic) - cmd="fig_cli__help__diagnostic" - ;; - fig_cli__help,doctor) - cmd="fig_cli__help__doctor" - ;; - fig_cli__help,help) - cmd="fig_cli__help__help" - ;; - fig_cli__help,help-all) - cmd="fig_cli__help__help__all" - ;; - fig_cli__help,hook) - cmd="fig_cli__help__hook" - ;; - fig_cli__help,init) - cmd="fig_cli__help__init" - ;; - fig_cli__help,install) - cmd="fig_cli__help__install" - ;; - fig_cli__help,integrations) - cmd="fig_cli__help__integrations" - ;; - fig_cli__help,internal) - cmd="fig_cli__help__internal" - ;; - fig_cli__help,invite) - cmd="fig_cli__help__invite" - ;; - fig_cli__help,issue) - cmd="fig_cli__help__issue" - ;; - fig_cli__help,launch) - cmd="fig_cli__help__launch" - ;; - fig_cli__help,login) - cmd="fig_cli__help__login" - ;; - fig_cli__help,logout) - cmd="fig_cli__help__logout" - ;; - fig_cli__help,man) - cmd="fig_cli__help__man" - ;; - fig_cli__help,onboarding) - cmd="fig_cli__help__onboarding" - ;; - fig_cli__help,plugins) - cmd="fig_cli__help__plugins" - ;; - fig_cli__help,pro) - cmd="fig_cli__help__pro" - ;; - fig_cli__help,quit) - cmd="fig_cli__help__quit" - ;; - fig_cli__help,restart) - cmd="fig_cli__help__restart" - ;; - fig_cli__help,settings) - cmd="fig_cli__help__settings" - ;; - fig_cli__help,source) - cmd="fig_cli__help__source" - ;; - fig_cli__help,ssh) - cmd="fig_cli__help__ssh" - ;; - fig_cli__help,team) - cmd="fig_cli__help__team" - ;; - fig_cli__help,telemetry) - cmd="fig_cli__help__telemetry" - ;; - fig_cli__help,theme) - cmd="fig_cli__help__theme" - ;; - fig_cli__help,tips) - cmd="fig_cli__help__tips" - ;; - fig_cli__help,tweet) - cmd="fig_cli__help__tweet" - ;; - fig_cli__help,uninstall) - cmd="fig_cli__help__uninstall" - ;; - fig_cli__help,update) - cmd="fig_cli__help__update" - ;; - fig_cli__help,user) - cmd="fig_cli__help__user" - ;; - fig_cli__help,version) - cmd="fig_cli__help__version" - ;; - fig_cli__help,workflow) - cmd="fig_cli__help__workflow" - ;; - fig_cli__help__app,install) - cmd="fig_cli__help__app__install" - ;; - fig_cli__help__app,launch) - cmd="fig_cli__help__app__launch" - ;; - fig_cli__help__app,onboarding) - cmd="fig_cli__help__app__onboarding" - ;; - fig_cli__help__app,prompts) - cmd="fig_cli__help__app__prompts" - ;; - fig_cli__help__app,quit) - cmd="fig_cli__help__app__quit" - ;; - fig_cli__help__app,restart) - cmd="fig_cli__help__app__restart" - ;; - fig_cli__help__app,running) - cmd="fig_cli__help__app__running" - ;; - fig_cli__help__app,set-path) - cmd="fig_cli__help__app__set__path" - ;; - fig_cli__help__app,uninstall) - cmd="fig_cli__help__app__uninstall" - ;; - fig_cli__help__debug,accessibility) - cmd="fig_cli__help__debug__accessibility" - ;; - fig_cli__help__debug,app) - cmd="fig_cli__help__debug__app" - ;; - fig_cli__help__debug,autocomplete-window) - cmd="fig_cli__help__debug__autocomplete__window" - ;; - fig_cli__help__debug,build) - cmd="fig_cli__help__debug__build" - ;; - fig_cli__help__debug,devtools) - cmd="fig_cli__help__debug__devtools" - ;; - fig_cli__help__debug,diagnostics) - cmd="fig_cli__help__debug__diagnostics" - ;; - fig_cli__help__debug,dotfiles) - cmd="fig_cli__help__debug__dotfiles" - ;; - fig_cli__help__debug,input-method) - cmd="fig_cli__help__debug__input__method" - ;; - fig_cli__help__debug,key-tester) - cmd="fig_cli__help__debug__key__tester" - ;; - fig_cli__help__debug,logs) - cmd="fig_cli__help__debug__logs" - ;; - fig_cli__help__debug,prompt-accessibility) - cmd="fig_cli__help__debug__prompt__accessibility" - ;; - fig_cli__help__debug,query-index) - cmd="fig_cli__help__debug__query__index" - ;; - fig_cli__help__debug,sample) - cmd="fig_cli__help__debug__sample" - ;; - fig_cli__help__debug,unix-socket) - cmd="fig_cli__help__debug__unix__socket" - ;; - fig_cli__help__debug,verify-codesign) - cmd="fig_cli__help__debug__verify__codesign" - ;; - fig_cli__help__debug__input__method,install) - cmd="fig_cli__help__debug__input__method__install" - ;; - fig_cli__help__debug__input__method,list) - cmd="fig_cli__help__debug__input__method__list" - ;; - fig_cli__help__debug__input__method,source) - cmd="fig_cli__help__debug__input__method__source" - ;; - fig_cli__help__debug__input__method,status) - cmd="fig_cli__help__debug__input__method__status" - ;; - fig_cli__help__debug__input__method,uninstall) - cmd="fig_cli__help__debug__input__method__uninstall" - ;; - fig_cli__help__hook,editbuffer) - cmd="fig_cli__help__hook__editbuffer" - ;; - fig_cli__help__hook,hide) - cmd="fig_cli__help__hook__hide" - ;; - fig_cli__help__hook,init) - cmd="fig_cli__help__hook__init" - ;; - fig_cli__help__hook,integration-ready) - cmd="fig_cli__help__hook__integration__ready" - ;; - fig_cli__help__hook,keyboard-focus-changed) - cmd="fig_cli__help__hook__keyboard__focus__changed" - ;; - fig_cli__help__hook,pre-exec) - cmd="fig_cli__help__hook__pre__exec" - ;; - fig_cli__help__hook,prompt) - cmd="fig_cli__help__hook__prompt" - ;; - fig_cli__help__hook,ssh) - cmd="fig_cli__help__hook__ssh" - ;; - fig_cli__help__integrations,install) - cmd="fig_cli__help__integrations__install" - ;; - fig_cli__help__integrations,status) - cmd="fig_cli__help__integrations__status" - ;; - fig_cli__help__integrations,uninstall) - cmd="fig_cli__help__integrations__uninstall" - ;; - fig_cli__help__integrations__install,all) - cmd="fig_cli__help__integrations__install__all" - ;; - fig_cli__help__integrations__install,daemon) - cmd="fig_cli__help__integrations__install__daemon" - ;; - fig_cli__help__integrations__install,dotfiles) - cmd="fig_cli__help__integrations__install__dotfiles" - ;; - fig_cli__help__integrations__install,input-method) - cmd="fig_cli__help__integrations__install__input__method" - ;; - fig_cli__help__integrations__install,intellij) - cmd="fig_cli__help__integrations__install__intellij" - ;; - fig_cli__help__integrations__install,ssh) - cmd="fig_cli__help__integrations__install__ssh" - ;; - fig_cli__help__integrations__install,vscode) - cmd="fig_cli__help__integrations__install__vscode" - ;; - fig_cli__help__integrations__status,all) - cmd="fig_cli__help__integrations__status__all" - ;; - fig_cli__help__integrations__status,daemon) - cmd="fig_cli__help__integrations__status__daemon" - ;; - fig_cli__help__integrations__status,dotfiles) - cmd="fig_cli__help__integrations__status__dotfiles" - ;; - fig_cli__help__integrations__status,input-method) - cmd="fig_cli__help__integrations__status__input__method" - ;; - fig_cli__help__integrations__status,intellij) - cmd="fig_cli__help__integrations__status__intellij" - ;; - fig_cli__help__integrations__status,ssh) - cmd="fig_cli__help__integrations__status__ssh" - ;; - fig_cli__help__integrations__status,vscode) - cmd="fig_cli__help__integrations__status__vscode" - ;; - fig_cli__help__integrations__uninstall,all) - cmd="fig_cli__help__integrations__uninstall__all" - ;; - fig_cli__help__integrations__uninstall,daemon) - cmd="fig_cli__help__integrations__uninstall__daemon" - ;; - fig_cli__help__integrations__uninstall,dotfiles) - cmd="fig_cli__help__integrations__uninstall__dotfiles" - ;; - fig_cli__help__integrations__uninstall,input-method) - cmd="fig_cli__help__integrations__uninstall__input__method" - ;; - fig_cli__help__integrations__uninstall,intellij) - cmd="fig_cli__help__integrations__uninstall__intellij" - ;; - fig_cli__help__integrations__uninstall,ssh) - cmd="fig_cli__help__integrations__uninstall__ssh" - ;; - fig_cli__help__integrations__uninstall,vscode) - cmd="fig_cli__help__integrations__uninstall__vscode" - ;; - fig_cli__help__internal,attempt-to-finish-input-method-installation) - cmd="fig_cli__help__internal__attempt__to__finish__input__method__installation" - ;; - fig_cli__help__internal,auth-token) - cmd="fig_cli__help__internal__auth__token" - ;; - fig_cli__help__internal,callback) - cmd="fig_cli__help__internal__callback" - ;; - fig_cli__help__internal,dump-state) - cmd="fig_cli__help__internal__dump__state" - ;; - fig_cli__help__internal,event) - cmd="fig_cli__help__internal__event" - ;; - fig_cli__help__internal,figterm-socket-path) - cmd="fig_cli__help__internal__figterm__socket__path" - ;; - fig_cli__help__internal,finish-update) - cmd="fig_cli__help__internal__finish__update" - ;; - fig_cli__help__internal,get-shell) - cmd="fig_cli__help__internal__get__shell" - ;; - fig_cli__help__internal,hostname) - cmd="fig_cli__help__internal__hostname" - ;; - fig_cli__help__internal,install) - cmd="fig_cli__help__internal__install" - ;; - fig_cli__help__internal,ipc) - cmd="fig_cli__help__internal__ipc" - ;; - fig_cli__help__internal,local-state) - cmd="fig_cli__help__internal__local__state" - ;; - fig_cli__help__internal,open-uninstall-page) - cmd="fig_cli__help__internal__open__uninstall__page" - ;; - fig_cli__help__internal,pre-cmd) - cmd="fig_cli__help__internal__pre__cmd" - ;; - fig_cli__help__internal,prompt-dotfiles-changed) - cmd="fig_cli__help__internal__prompt__dotfiles__changed" - ;; - fig_cli__help__internal,prompt-ssh) - cmd="fig_cli__help__internal__prompt__ssh" - ;; - fig_cli__help__internal,request) - cmd="fig_cli__help__internal__request" - ;; - fig_cli__help__internal,should-figterm-launch) - cmd="fig_cli__help__internal__should__figterm__launch" - ;; - fig_cli__help__internal,sockets-dir) - cmd="fig_cli__help__internal__sockets__dir" - ;; - fig_cli__help__internal,stream-from-socket) - cmd="fig_cli__help__internal__stream__from__socket" - ;; - fig_cli__help__internal,swap-files) - cmd="fig_cli__help__internal__swap__files" - ;; - fig_cli__help__internal,uninstall) - cmd="fig_cli__help__internal__uninstall" - ;; - fig_cli__help__internal,uninstall-for-all-users) - cmd="fig_cli__help__internal__uninstall__for__all__users" - ;; - fig_cli__help__internal,uuidgen) - cmd="fig_cli__help__internal__uuidgen" - ;; - fig_cli__help__internal__local__state,all) - cmd="fig_cli__help__internal__local__state__all" - ;; - fig_cli__help__internal__local__state,init) - cmd="fig_cli__help__internal__local__state__init" - ;; - fig_cli__help__internal__local__state,open) - cmd="fig_cli__help__internal__local__state__open" - ;; - fig_cli__help__plugins,add) - cmd="fig_cli__help__plugins__add" - ;; - fig_cli__help__plugins,configure) - cmd="fig_cli__help__plugins__configure" - ;; - fig_cli__help__plugins,info) - cmd="fig_cli__help__plugins__info" - ;; - fig_cli__help__plugins,list) - cmd="fig_cli__help__plugins__list" - ;; - fig_cli__help__plugins,remove) - cmd="fig_cli__help__plugins__remove" - ;; - fig_cli__help__plugins,sync) - cmd="fig_cli__help__plugins__sync" - ;; - fig_cli__help__plugins,update) - cmd="fig_cli__help__plugins__update" - ;; - fig_cli__help__settings,all) - cmd="fig_cli__help__settings__all" - ;; - fig_cli__help__settings,docs) - cmd="fig_cli__help__settings__docs" - ;; - fig_cli__help__settings,init) - cmd="fig_cli__help__settings__init" - ;; - fig_cli__help__settings,open) - cmd="fig_cli__help__settings__open" - ;; - fig_cli__help__settings,sync) - cmd="fig_cli__help__settings__sync" - ;; - fig_cli__help__team,add) - cmd="fig_cli__help__team__add" - ;; - fig_cli__help__team,invitations) - cmd="fig_cli__help__team__invitations" - ;; - fig_cli__help__team,members) - cmd="fig_cli__help__team__members" - ;; - fig_cli__help__team,remove) - cmd="fig_cli__help__team__remove" - ;; - fig_cli__help__team,revoke) - cmd="fig_cli__help__team__revoke" - ;; - fig_cli__help__telemetry,disable) - cmd="fig_cli__help__telemetry__disable" - ;; - fig_cli__help__telemetry,enable) - cmd="fig_cli__help__telemetry__enable" - ;; - fig_cli__help__telemetry,status) - cmd="fig_cli__help__telemetry__status" - ;; - fig_cli__help__tips,disable) - cmd="fig_cli__help__tips__disable" - ;; - fig_cli__help__tips,enable) - cmd="fig_cli__help__tips__enable" - ;; - fig_cli__help__tips,prompt) - cmd="fig_cli__help__tips__prompt" - ;; - fig_cli__help__tips,reset) - cmd="fig_cli__help__tips__reset" - ;; - fig_cli__help__user,list-accounts) - cmd="fig_cli__help__user__list__accounts" - ;; - fig_cli__help__user,login) - cmd="fig_cli__help__user__login" - ;; - fig_cli__help__user,logout) - cmd="fig_cli__help__user__logout" - ;; - fig_cli__help__user,plan) - cmd="fig_cli__help__user__plan" - ;; - fig_cli__help__user,switch) - cmd="fig_cli__help__user__switch" - ;; - fig_cli__help__user,tokens) - cmd="fig_cli__help__user__tokens" - ;; - fig_cli__help__user,whoami) - cmd="fig_cli__help__user__whoami" - ;; - fig_cli__help__user__tokens,list) - cmd="fig_cli__help__user__tokens__list" - ;; - fig_cli__help__user__tokens,new) - cmd="fig_cli__help__user__tokens__new" - ;; - fig_cli__help__user__tokens,revoke) - cmd="fig_cli__help__user__tokens__revoke" - ;; - fig_cli__help__user__tokens,validate) - cmd="fig_cli__help__user__tokens__validate" - ;; - fig_cli__hook,editbuffer) - cmd="fig_cli__hook__editbuffer" - ;; - fig_cli__hook,help) - cmd="fig_cli__hook__help" - ;; - fig_cli__hook,hide) - cmd="fig_cli__hook__hide" - ;; - fig_cli__hook,init) - cmd="fig_cli__hook__init" - ;; - fig_cli__hook,integration-ready) - cmd="fig_cli__hook__integration__ready" - ;; - fig_cli__hook,keyboard-focus-changed) - cmd="fig_cli__hook__keyboard__focus__changed" - ;; - fig_cli__hook,pre-exec) - cmd="fig_cli__hook__pre__exec" - ;; - fig_cli__hook,prompt) - cmd="fig_cli__hook__prompt" - ;; - fig_cli__hook,ssh) - cmd="fig_cli__hook__ssh" - ;; - fig_cli__hook__help,editbuffer) - cmd="fig_cli__hook__help__editbuffer" - ;; - fig_cli__hook__help,help) - cmd="fig_cli__hook__help__help" - ;; - fig_cli__hook__help,hide) - cmd="fig_cli__hook__help__hide" - ;; - fig_cli__hook__help,init) - cmd="fig_cli__hook__help__init" - ;; - fig_cli__hook__help,integration-ready) - cmd="fig_cli__hook__help__integration__ready" - ;; - fig_cli__hook__help,keyboard-focus-changed) - cmd="fig_cli__hook__help__keyboard__focus__changed" - ;; - fig_cli__hook__help,pre-exec) - cmd="fig_cli__hook__help__pre__exec" - ;; - fig_cli__hook__help,prompt) - cmd="fig_cli__hook__help__prompt" - ;; - fig_cli__hook__help,ssh) - cmd="fig_cli__hook__help__ssh" - ;; - fig_cli__integrations,help) - cmd="fig_cli__integrations__help" - ;; - fig_cli__integrations,install) - cmd="fig_cli__integrations__install" - ;; - fig_cli__integrations,status) - cmd="fig_cli__integrations__status" - ;; - fig_cli__integrations,uninstall) - cmd="fig_cli__integrations__uninstall" - ;; - fig_cli__integrations__help,help) - cmd="fig_cli__integrations__help__help" - ;; - fig_cli__integrations__help,install) - cmd="fig_cli__integrations__help__install" - ;; - fig_cli__integrations__help,status) - cmd="fig_cli__integrations__help__status" - ;; - fig_cli__integrations__help,uninstall) - cmd="fig_cli__integrations__help__uninstall" - ;; - fig_cli__integrations__help__install,all) - cmd="fig_cli__integrations__help__install__all" - ;; - fig_cli__integrations__help__install,daemon) - cmd="fig_cli__integrations__help__install__daemon" - ;; - fig_cli__integrations__help__install,dotfiles) - cmd="fig_cli__integrations__help__install__dotfiles" - ;; - fig_cli__integrations__help__install,input-method) - cmd="fig_cli__integrations__help__install__input__method" - ;; - fig_cli__integrations__help__install,intellij) - cmd="fig_cli__integrations__help__install__intellij" - ;; - fig_cli__integrations__help__install,ssh) - cmd="fig_cli__integrations__help__install__ssh" - ;; - fig_cli__integrations__help__install,vscode) - cmd="fig_cli__integrations__help__install__vscode" - ;; - fig_cli__integrations__help__status,all) - cmd="fig_cli__integrations__help__status__all" - ;; - fig_cli__integrations__help__status,daemon) - cmd="fig_cli__integrations__help__status__daemon" - ;; - fig_cli__integrations__help__status,dotfiles) - cmd="fig_cli__integrations__help__status__dotfiles" - ;; - fig_cli__integrations__help__status,input-method) - cmd="fig_cli__integrations__help__status__input__method" - ;; - fig_cli__integrations__help__status,intellij) - cmd="fig_cli__integrations__help__status__intellij" - ;; - fig_cli__integrations__help__status,ssh) - cmd="fig_cli__integrations__help__status__ssh" - ;; - fig_cli__integrations__help__status,vscode) - cmd="fig_cli__integrations__help__status__vscode" - ;; - fig_cli__integrations__help__uninstall,all) - cmd="fig_cli__integrations__help__uninstall__all" - ;; - fig_cli__integrations__help__uninstall,daemon) - cmd="fig_cli__integrations__help__uninstall__daemon" - ;; - fig_cli__integrations__help__uninstall,dotfiles) - cmd="fig_cli__integrations__help__uninstall__dotfiles" - ;; - fig_cli__integrations__help__uninstall,input-method) - cmd="fig_cli__integrations__help__uninstall__input__method" - ;; - fig_cli__integrations__help__uninstall,intellij) - cmd="fig_cli__integrations__help__uninstall__intellij" - ;; - fig_cli__integrations__help__uninstall,ssh) - cmd="fig_cli__integrations__help__uninstall__ssh" - ;; - fig_cli__integrations__help__uninstall,vscode) - cmd="fig_cli__integrations__help__uninstall__vscode" - ;; - fig_cli__integrations__install,all) - cmd="fig_cli__integrations__install__all" - ;; - fig_cli__integrations__install,daemon) - cmd="fig_cli__integrations__install__daemon" - ;; - fig_cli__integrations__install,dotfiles) - cmd="fig_cli__integrations__install__dotfiles" - ;; - fig_cli__integrations__install,help) - cmd="fig_cli__integrations__install__help" - ;; - fig_cli__integrations__install,input-method) - cmd="fig_cli__integrations__install__input__method" - ;; - fig_cli__integrations__install,intellij) - cmd="fig_cli__integrations__install__intellij" - ;; - fig_cli__integrations__install,ssh) - cmd="fig_cli__integrations__install__ssh" - ;; - fig_cli__integrations__install,vscode) - cmd="fig_cli__integrations__install__vscode" - ;; - fig_cli__integrations__install__help,all) - cmd="fig_cli__integrations__install__help__all" - ;; - fig_cli__integrations__install__help,daemon) - cmd="fig_cli__integrations__install__help__daemon" - ;; - fig_cli__integrations__install__help,dotfiles) - cmd="fig_cli__integrations__install__help__dotfiles" - ;; - fig_cli__integrations__install__help,help) - cmd="fig_cli__integrations__install__help__help" - ;; - fig_cli__integrations__install__help,input-method) - cmd="fig_cli__integrations__install__help__input__method" - ;; - fig_cli__integrations__install__help,intellij) - cmd="fig_cli__integrations__install__help__intellij" - ;; - fig_cli__integrations__install__help,ssh) - cmd="fig_cli__integrations__install__help__ssh" - ;; - fig_cli__integrations__install__help,vscode) - cmd="fig_cli__integrations__install__help__vscode" - ;; - fig_cli__integrations__status,all) - cmd="fig_cli__integrations__status__all" - ;; - fig_cli__integrations__status,daemon) - cmd="fig_cli__integrations__status__daemon" - ;; - fig_cli__integrations__status,dotfiles) - cmd="fig_cli__integrations__status__dotfiles" - ;; - fig_cli__integrations__status,help) - cmd="fig_cli__integrations__status__help" - ;; - fig_cli__integrations__status,input-method) - cmd="fig_cli__integrations__status__input__method" - ;; - fig_cli__integrations__status,intellij) - cmd="fig_cli__integrations__status__intellij" - ;; - fig_cli__integrations__status,ssh) - cmd="fig_cli__integrations__status__ssh" - ;; - fig_cli__integrations__status,vscode) - cmd="fig_cli__integrations__status__vscode" - ;; - fig_cli__integrations__status__help,all) - cmd="fig_cli__integrations__status__help__all" - ;; - fig_cli__integrations__status__help,daemon) - cmd="fig_cli__integrations__status__help__daemon" - ;; - fig_cli__integrations__status__help,dotfiles) - cmd="fig_cli__integrations__status__help__dotfiles" - ;; - fig_cli__integrations__status__help,help) - cmd="fig_cli__integrations__status__help__help" - ;; - fig_cli__integrations__status__help,input-method) - cmd="fig_cli__integrations__status__help__input__method" - ;; - fig_cli__integrations__status__help,intellij) - cmd="fig_cli__integrations__status__help__intellij" - ;; - fig_cli__integrations__status__help,ssh) - cmd="fig_cli__integrations__status__help__ssh" - ;; - fig_cli__integrations__status__help,vscode) - cmd="fig_cli__integrations__status__help__vscode" - ;; - fig_cli__integrations__uninstall,all) - cmd="fig_cli__integrations__uninstall__all" - ;; - fig_cli__integrations__uninstall,daemon) - cmd="fig_cli__integrations__uninstall__daemon" - ;; - fig_cli__integrations__uninstall,dotfiles) - cmd="fig_cli__integrations__uninstall__dotfiles" - ;; - fig_cli__integrations__uninstall,help) - cmd="fig_cli__integrations__uninstall__help" - ;; - fig_cli__integrations__uninstall,input-method) - cmd="fig_cli__integrations__uninstall__input__method" - ;; - fig_cli__integrations__uninstall,intellij) - cmd="fig_cli__integrations__uninstall__intellij" - ;; - fig_cli__integrations__uninstall,ssh) - cmd="fig_cli__integrations__uninstall__ssh" - ;; - fig_cli__integrations__uninstall,vscode) - cmd="fig_cli__integrations__uninstall__vscode" - ;; - fig_cli__integrations__uninstall__help,all) - cmd="fig_cli__integrations__uninstall__help__all" - ;; - fig_cli__integrations__uninstall__help,daemon) - cmd="fig_cli__integrations__uninstall__help__daemon" - ;; - fig_cli__integrations__uninstall__help,dotfiles) - cmd="fig_cli__integrations__uninstall__help__dotfiles" - ;; - fig_cli__integrations__uninstall__help,help) - cmd="fig_cli__integrations__uninstall__help__help" - ;; - fig_cli__integrations__uninstall__help,input-method) - cmd="fig_cli__integrations__uninstall__help__input__method" - ;; - fig_cli__integrations__uninstall__help,intellij) - cmd="fig_cli__integrations__uninstall__help__intellij" - ;; - fig_cli__integrations__uninstall__help,ssh) - cmd="fig_cli__integrations__uninstall__help__ssh" - ;; - fig_cli__integrations__uninstall__help,vscode) - cmd="fig_cli__integrations__uninstall__help__vscode" - ;; - fig_cli__internal,attempt-to-finish-input-method-installation) - cmd="fig_cli__internal__attempt__to__finish__input__method__installation" - ;; - fig_cli__internal,auth-token) - cmd="fig_cli__internal__auth__token" - ;; - fig_cli__internal,callback) - cmd="fig_cli__internal__callback" - ;; - fig_cli__internal,dump-state) - cmd="fig_cli__internal__dump__state" - ;; - fig_cli__internal,event) - cmd="fig_cli__internal__event" - ;; - fig_cli__internal,figterm-socket-path) - cmd="fig_cli__internal__figterm__socket__path" - ;; - fig_cli__internal,finish-update) - cmd="fig_cli__internal__finish__update" - ;; - fig_cli__internal,get-shell) - cmd="fig_cli__internal__get__shell" - ;; - fig_cli__internal,help) - cmd="fig_cli__internal__help" - ;; - fig_cli__internal,hostname) - cmd="fig_cli__internal__hostname" - ;; - fig_cli__internal,install) - cmd="fig_cli__internal__install" - ;; - fig_cli__internal,ipc) - cmd="fig_cli__internal__ipc" - ;; - fig_cli__internal,local-state) - cmd="fig_cli__internal__local__state" - ;; - fig_cli__internal,open-uninstall-page) - cmd="fig_cli__internal__open__uninstall__page" - ;; - fig_cli__internal,pre-cmd) - cmd="fig_cli__internal__pre__cmd" - ;; - fig_cli__internal,prompt-dotfiles-changed) - cmd="fig_cli__internal__prompt__dotfiles__changed" - ;; - fig_cli__internal,prompt-ssh) - cmd="fig_cli__internal__prompt__ssh" - ;; - fig_cli__internal,request) - cmd="fig_cli__internal__request" - ;; - fig_cli__internal,should-figterm-launch) - cmd="fig_cli__internal__should__figterm__launch" - ;; - fig_cli__internal,sockets-dir) - cmd="fig_cli__internal__sockets__dir" - ;; - fig_cli__internal,stream-from-socket) - cmd="fig_cli__internal__stream__from__socket" - ;; - fig_cli__internal,swap-files) - cmd="fig_cli__internal__swap__files" - ;; - fig_cli__internal,uninstall) - cmd="fig_cli__internal__uninstall" - ;; - fig_cli__internal,uninstall-for-all-users) - cmd="fig_cli__internal__uninstall__for__all__users" - ;; - fig_cli__internal,uuidgen) - cmd="fig_cli__internal__uuidgen" - ;; - fig_cli__internal__help,attempt-to-finish-input-method-installation) - cmd="fig_cli__internal__help__attempt__to__finish__input__method__installation" - ;; - fig_cli__internal__help,auth-token) - cmd="fig_cli__internal__help__auth__token" - ;; - fig_cli__internal__help,callback) - cmd="fig_cli__internal__help__callback" - ;; - fig_cli__internal__help,dump-state) - cmd="fig_cli__internal__help__dump__state" - ;; - fig_cli__internal__help,event) - cmd="fig_cli__internal__help__event" - ;; - fig_cli__internal__help,figterm-socket-path) - cmd="fig_cli__internal__help__figterm__socket__path" - ;; - fig_cli__internal__help,finish-update) - cmd="fig_cli__internal__help__finish__update" - ;; - fig_cli__internal__help,get-shell) - cmd="fig_cli__internal__help__get__shell" - ;; - fig_cli__internal__help,help) - cmd="fig_cli__internal__help__help" - ;; - fig_cli__internal__help,hostname) - cmd="fig_cli__internal__help__hostname" - ;; - fig_cli__internal__help,install) - cmd="fig_cli__internal__help__install" - ;; - fig_cli__internal__help,ipc) - cmd="fig_cli__internal__help__ipc" - ;; - fig_cli__internal__help,local-state) - cmd="fig_cli__internal__help__local__state" - ;; - fig_cli__internal__help,open-uninstall-page) - cmd="fig_cli__internal__help__open__uninstall__page" - ;; - fig_cli__internal__help,pre-cmd) - cmd="fig_cli__internal__help__pre__cmd" - ;; - fig_cli__internal__help,prompt-dotfiles-changed) - cmd="fig_cli__internal__help__prompt__dotfiles__changed" - ;; - fig_cli__internal__help,prompt-ssh) - cmd="fig_cli__internal__help__prompt__ssh" - ;; - fig_cli__internal__help,request) - cmd="fig_cli__internal__help__request" - ;; - fig_cli__internal__help,should-figterm-launch) - cmd="fig_cli__internal__help__should__figterm__launch" - ;; - fig_cli__internal__help,sockets-dir) - cmd="fig_cli__internal__help__sockets__dir" - ;; - fig_cli__internal__help,stream-from-socket) - cmd="fig_cli__internal__help__stream__from__socket" - ;; - fig_cli__internal__help,swap-files) - cmd="fig_cli__internal__help__swap__files" - ;; - fig_cli__internal__help,uninstall) - cmd="fig_cli__internal__help__uninstall" - ;; - fig_cli__internal__help,uninstall-for-all-users) - cmd="fig_cli__internal__help__uninstall__for__all__users" - ;; - fig_cli__internal__help,uuidgen) - cmd="fig_cli__internal__help__uuidgen" - ;; - fig_cli__internal__help__local__state,all) - cmd="fig_cli__internal__help__local__state__all" - ;; - fig_cli__internal__help__local__state,init) - cmd="fig_cli__internal__help__local__state__init" - ;; - fig_cli__internal__help__local__state,open) - cmd="fig_cli__internal__help__local__state__open" - ;; - fig_cli__internal__local__state,all) - cmd="fig_cli__internal__local__state__all" - ;; - fig_cli__internal__local__state,help) - cmd="fig_cli__internal__local__state__help" - ;; - fig_cli__internal__local__state,init) - cmd="fig_cli__internal__local__state__init" - ;; - fig_cli__internal__local__state,open) - cmd="fig_cli__internal__local__state__open" - ;; - fig_cli__internal__local__state__help,all) - cmd="fig_cli__internal__local__state__help__all" - ;; - fig_cli__internal__local__state__help,help) - cmd="fig_cli__internal__local__state__help__help" - ;; - fig_cli__internal__local__state__help,init) - cmd="fig_cli__internal__local__state__help__init" - ;; - fig_cli__internal__local__state__help,open) - cmd="fig_cli__internal__local__state__help__open" - ;; - fig_cli__plugins,add) - cmd="fig_cli__plugins__add" - ;; - fig_cli__plugins,configure) - cmd="fig_cli__plugins__configure" - ;; - fig_cli__plugins,help) - cmd="fig_cli__plugins__help" - ;; - fig_cli__plugins,info) - cmd="fig_cli__plugins__info" - ;; - fig_cli__plugins,list) - cmd="fig_cli__plugins__list" - ;; - fig_cli__plugins,remove) - cmd="fig_cli__plugins__remove" - ;; - fig_cli__plugins,sync) - cmd="fig_cli__plugins__sync" - ;; - fig_cli__plugins,update) - cmd="fig_cli__plugins__update" - ;; - fig_cli__plugins__help,add) - cmd="fig_cli__plugins__help__add" - ;; - fig_cli__plugins__help,configure) - cmd="fig_cli__plugins__help__configure" - ;; - fig_cli__plugins__help,help) - cmd="fig_cli__plugins__help__help" - ;; - fig_cli__plugins__help,info) - cmd="fig_cli__plugins__help__info" - ;; - fig_cli__plugins__help,list) - cmd="fig_cli__plugins__help__list" - ;; - fig_cli__plugins__help,remove) - cmd="fig_cli__plugins__help__remove" - ;; - fig_cli__plugins__help,sync) - cmd="fig_cli__plugins__help__sync" - ;; - fig_cli__plugins__help,update) - cmd="fig_cli__plugins__help__update" - ;; - fig_cli__settings,all) - cmd="fig_cli__settings__all" - ;; - fig_cli__settings,docs) - cmd="fig_cli__settings__docs" - ;; - fig_cli__settings,help) - cmd="fig_cli__settings__help" - ;; - fig_cli__settings,init) - cmd="fig_cli__settings__init" - ;; - fig_cli__settings,open) - cmd="fig_cli__settings__open" - ;; - fig_cli__settings,sync) - cmd="fig_cli__settings__sync" - ;; - fig_cli__settings__help,all) - cmd="fig_cli__settings__help__all" - ;; - fig_cli__settings__help,docs) - cmd="fig_cli__settings__help__docs" - ;; - fig_cli__settings__help,help) - cmd="fig_cli__settings__help__help" - ;; - fig_cli__settings__help,init) - cmd="fig_cli__settings__help__init" - ;; - fig_cli__settings__help,open) - cmd="fig_cli__settings__help__open" - ;; - fig_cli__settings__help,sync) - cmd="fig_cli__settings__help__sync" - ;; - fig_cli__team,add) - cmd="fig_cli__team__add" - ;; - fig_cli__team,help) - cmd="fig_cli__team__help" - ;; - fig_cli__team,invitations) - cmd="fig_cli__team__invitations" - ;; - fig_cli__team,members) - cmd="fig_cli__team__members" - ;; - fig_cli__team,remove) - cmd="fig_cli__team__remove" - ;; - fig_cli__team,revoke) - cmd="fig_cli__team__revoke" - ;; - fig_cli__team__help,add) - cmd="fig_cli__team__help__add" - ;; - fig_cli__team__help,help) - cmd="fig_cli__team__help__help" - ;; - fig_cli__team__help,invitations) - cmd="fig_cli__team__help__invitations" - ;; - fig_cli__team__help,members) - cmd="fig_cli__team__help__members" - ;; - fig_cli__team__help,remove) - cmd="fig_cli__team__help__remove" - ;; - fig_cli__team__help,revoke) - cmd="fig_cli__team__help__revoke" - ;; - fig_cli__telemetry,disable) - cmd="fig_cli__telemetry__disable" - ;; - fig_cli__telemetry,enable) - cmd="fig_cli__telemetry__enable" - ;; - fig_cli__telemetry,help) - cmd="fig_cli__telemetry__help" - ;; - fig_cli__telemetry,status) - cmd="fig_cli__telemetry__status" - ;; - fig_cli__telemetry__help,disable) - cmd="fig_cli__telemetry__help__disable" - ;; - fig_cli__telemetry__help,enable) - cmd="fig_cli__telemetry__help__enable" - ;; - fig_cli__telemetry__help,help) - cmd="fig_cli__telemetry__help__help" - ;; - fig_cli__telemetry__help,status) - cmd="fig_cli__telemetry__help__status" - ;; - fig_cli__tips,disable) - cmd="fig_cli__tips__disable" - ;; - fig_cli__tips,enable) - cmd="fig_cli__tips__enable" - ;; - fig_cli__tips,help) - cmd="fig_cli__tips__help" - ;; - fig_cli__tips,prompt) - cmd="fig_cli__tips__prompt" - ;; - fig_cli__tips,reset) - cmd="fig_cli__tips__reset" - ;; - fig_cli__tips__help,disable) - cmd="fig_cli__tips__help__disable" - ;; - fig_cli__tips__help,enable) - cmd="fig_cli__tips__help__enable" - ;; - fig_cli__tips__help,help) - cmd="fig_cli__tips__help__help" - ;; - fig_cli__tips__help,prompt) - cmd="fig_cli__tips__help__prompt" - ;; - fig_cli__tips__help,reset) - cmd="fig_cli__tips__help__reset" - ;; - fig_cli__user,help) - cmd="fig_cli__user__help" - ;; - fig_cli__user,list-accounts) - cmd="fig_cli__user__list__accounts" - ;; - fig_cli__user,login) - cmd="fig_cli__user__login" - ;; - fig_cli__user,logout) - cmd="fig_cli__user__logout" - ;; - fig_cli__user,plan) - cmd="fig_cli__user__plan" - ;; - fig_cli__user,switch) - cmd="fig_cli__user__switch" - ;; - fig_cli__user,tokens) - cmd="fig_cli__user__tokens" - ;; - fig_cli__user,whoami) - cmd="fig_cli__user__whoami" - ;; - fig_cli__user__help,help) - cmd="fig_cli__user__help__help" - ;; - fig_cli__user__help,list-accounts) - cmd="fig_cli__user__help__list__accounts" - ;; - fig_cli__user__help,login) - cmd="fig_cli__user__help__login" - ;; - fig_cli__user__help,logout) - cmd="fig_cli__user__help__logout" - ;; - fig_cli__user__help,plan) - cmd="fig_cli__user__help__plan" - ;; - fig_cli__user__help,switch) - cmd="fig_cli__user__help__switch" - ;; - fig_cli__user__help,tokens) - cmd="fig_cli__user__help__tokens" - ;; - fig_cli__user__help,whoami) - cmd="fig_cli__user__help__whoami" - ;; - fig_cli__user__help__tokens,list) - cmd="fig_cli__user__help__tokens__list" - ;; - fig_cli__user__help__tokens,new) - cmd="fig_cli__user__help__tokens__new" - ;; - fig_cli__user__help__tokens,revoke) - cmd="fig_cli__user__help__tokens__revoke" - ;; - fig_cli__user__help__tokens,validate) - cmd="fig_cli__user__help__tokens__validate" - ;; - fig_cli__user__tokens,help) - cmd="fig_cli__user__tokens__help" - ;; - fig_cli__user__tokens,list) - cmd="fig_cli__user__tokens__list" - ;; - fig_cli__user__tokens,new) - cmd="fig_cli__user__tokens__new" - ;; - fig_cli__user__tokens,revoke) - cmd="fig_cli__user__tokens__revoke" - ;; - fig_cli__user__tokens,validate) - cmd="fig_cli__user__tokens__validate" - ;; - fig_cli__user__tokens__help,help) - cmd="fig_cli__user__tokens__help__help" - ;; - fig_cli__user__tokens__help,list) - cmd="fig_cli__user__tokens__help__list" - ;; - fig_cli__user__tokens__help,new) - cmd="fig_cli__user__tokens__help__new" - ;; - fig_cli__user__tokens__help,revoke) - cmd="fig_cli__user__tokens__help__revoke" - ;; - fig_cli__user__tokens__help,validate) - cmd="fig_cli__user__tokens__help__validate" - ;; - *) - ;; - esac - done - - case "${cmd}" in - fig_cli) - opts="-h -V --help --version app hook debug settings tips install ssh uninstall update daemon diagnostic init source theme invite tweet issue login logout user team doctor completion internal launch quit restart onboarding plugins man workflow integrations ai telemetry pro version help-all dashboard app:running bg:ssh bg:tmux help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__ai) - opts="-n -h --n --help [INPUT]..." - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --n) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -n) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__app) - opts="-h --help install onboarding running launch restart quit set-path uninstall prompts help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__app:running) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__app__help) - opts="install onboarding running launch restart quit set-path uninstall prompts help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__app__help__help) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__app__help__install) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__app__help__launch) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__app__help__onboarding) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__app__help__prompts) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__app__help__quit) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__app__help__restart) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__app__help__running) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__app__help__set__path) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__app__help__uninstall) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__app__install) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__app__launch) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__app__onboarding) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__app__prompts) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__app__quit) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__app__restart) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__app__running) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__app__set__path) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__app__uninstall) - opts="-h --app-bundle --input-method --daemon --dotfiles --ssh --no-open --only-open --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__bg:ssh) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__bg:tmux) - opts="-h --help [ARGS]..." - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__completion) - opts="-h --help bash fish zsh fig" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__daemon) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__dashboard) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug) - opts="-h --help app dotfiles build autocomplete-window logs input-method prompt-accessibility sample unix-socket verify-codesign accessibility key-tester diagnostics query-index devtools help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__accessibility) - opts="-h --help refresh reset prompt open status" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__app) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__autocomplete__window) - opts="-h --help on off" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__build) - opts="-h --help dev prod staging" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__devtools) - opts="-h --help " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__diagnostics) - opts="-h --watch --rate --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --rate) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__dotfiles) - opts="-h --disable --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__help) - opts="app dotfiles build autocomplete-window logs input-method prompt-accessibility sample unix-socket verify-codesign accessibility key-tester diagnostics query-index devtools help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__help__accessibility) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__help__app) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__help__autocomplete__window) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__help__build) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__help__devtools) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__help__diagnostics) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__help__dotfiles) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__help__help) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__help__input__method) - opts="install uninstall list status source" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__help__input__method__install) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__help__input__method__list) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__help__input__method__source) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__help__input__method__status) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__help__input__method__uninstall) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__help__key__tester) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__help__logs) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__help__prompt__accessibility) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__help__query__index) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__help__sample) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__help__unix__socket) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__help__verify__codesign) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__input__method) - opts="-h --help install uninstall list status source help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__input__method__help) - opts="install uninstall list status source help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__input__method__help__help) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__input__method__help__install) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__input__method__help__list) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__input__method__help__source) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__input__method__help__status) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__input__method__help__uninstall) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__input__method__install) - opts="-h --help [BUNDLE_PATH]" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__input__method__list) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__input__method__source) - opts="-h --help enable disable select deselect" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__input__method__status) - opts="-h --help [BUNDLE_PATH]" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__input__method__uninstall) - opts="-h --help [BUNDLE_PATH]" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__key__tester) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__logs) - opts="-h --level --help [FILES]..." - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --level) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__prompt__accessibility) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__query__index) - opts="-c -k -v -e -a -r -t -h --channel --kind --variant --version --architecture --enable-rollout --override-threshold --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --channel) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -c) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --kind) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -k) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --variant) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -v) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --version) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -e) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --architecture) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -a) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --override-threshold) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -t) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__sample) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__unix__socket) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__debug__verify__codesign) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__diagnostic) - opts="-f -h --format --force --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --format) - COMPREPLY=($(compgen -W "plain json json-pretty" -- "${cur}")) - return 0 - ;; - -f) - COMPREPLY=($(compgen -W "plain json json-pretty" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__doctor) - opts="-h --verbose --strict --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help) - opts="app hook debug settings tips install ssh uninstall update daemon diagnostic init source theme invite tweet issue login logout user team doctor completion internal launch quit restart onboarding plugins man workflow integrations ai telemetry pro version help-all dashboard app:running bg:ssh bg:tmux help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__all) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__ai) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__app) - opts="install onboarding running launch restart quit set-path uninstall prompts" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__app:running) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__app__install) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__app__launch) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__app__onboarding) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__app__prompts) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__app__quit) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__app__restart) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__app__running) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__app__set__path) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__app__uninstall) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__bg:ssh) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__bg:tmux) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__completion) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__daemon) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__dashboard) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__debug) - opts="app dotfiles build autocomplete-window logs input-method prompt-accessibility sample unix-socket verify-codesign accessibility key-tester diagnostics query-index devtools" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__debug__accessibility) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__debug__app) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__debug__autocomplete__window) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__debug__build) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__debug__devtools) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__debug__diagnostics) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__debug__dotfiles) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__debug__input__method) - opts="install uninstall list status source" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__debug__input__method__install) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__debug__input__method__list) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__debug__input__method__source) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__debug__input__method__status) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__debug__input__method__uninstall) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__debug__key__tester) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__debug__logs) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__debug__prompt__accessibility) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__debug__query__index) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__debug__sample) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__debug__unix__socket) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__debug__verify__codesign) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__diagnostic) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__doctor) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__help) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__help__all) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__hook) - opts="editbuffer hide init integration-ready keyboard-focus-changed pre-exec prompt ssh" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__hook__editbuffer) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__hook__hide) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__hook__init) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__hook__integration__ready) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__hook__keyboard__focus__changed) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__hook__pre__exec) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__hook__prompt) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__hook__ssh) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__init) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__install) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__integrations) - opts="install uninstall status" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__integrations__install) - opts="dotfiles daemon ssh input-method vscode intellij all" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__integrations__install__all) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__integrations__install__daemon) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__integrations__install__dotfiles) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__integrations__install__input__method) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__integrations__install__intellij) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__integrations__install__ssh) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__integrations__install__vscode) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__integrations__status) - opts="dotfiles daemon ssh input-method vscode intellij all" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__integrations__status__all) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__integrations__status__daemon) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__integrations__status__dotfiles) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__integrations__status__input__method) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__integrations__status__intellij) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__integrations__status__ssh) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__integrations__status__vscode) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__integrations__uninstall) - opts="dotfiles daemon ssh input-method vscode intellij all" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__integrations__uninstall__all) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__integrations__uninstall__daemon) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__integrations__uninstall__dotfiles) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__integrations__uninstall__input__method) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__integrations__uninstall__intellij) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__integrations__uninstall__ssh) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__integrations__uninstall__vscode) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__internal) - opts="prompt-dotfiles-changed pre-cmd local-state callback install uninstall get-shell hostname should-figterm-launch event auth-token request sockets-dir stream-from-socket figterm-socket-path ipc uninstall-for-all-users uuidgen open-uninstall-page prompt-ssh attempt-to-finish-input-method-installation dump-state finish-update swap-files" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__internal__attempt__to__finish__input__method__installation) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__internal__auth__token) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__internal__callback) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__internal__dump__state) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__internal__event) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__internal__figterm__socket__path) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__internal__finish__update) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__internal__get__shell) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__internal__hostname) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__internal__install) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__internal__ipc) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__internal__local__state) - opts="init open all" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__internal__local__state__all) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__internal__local__state__init) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__internal__local__state__open) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__internal__open__uninstall__page) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__internal__pre__cmd) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__internal__prompt__dotfiles__changed) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__internal__prompt__ssh) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__internal__request) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__internal__should__figterm__launch) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__internal__sockets__dir) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__internal__stream__from__socket) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__internal__swap__files) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__internal__uninstall) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__internal__uninstall__for__all__users) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__internal__uuidgen) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__invite) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__issue) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__launch) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__login) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__logout) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__man) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__onboarding) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__plugins) - opts="sync update add remove list info configure" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__plugins__add) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__plugins__configure) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__plugins__info) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__plugins__list) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__plugins__remove) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__plugins__sync) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__plugins__update) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__pro) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__quit) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__restart) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__settings) - opts="init docs open sync all" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__settings__all) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__settings__docs) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__settings__init) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__settings__open) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__settings__sync) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__source) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__ssh) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__team) - opts="members remove add invitations revoke" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__team__add) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__team__invitations) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__team__members) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__team__remove) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__team__revoke) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__telemetry) - opts="enable disable status" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__telemetry__disable) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__telemetry__enable) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__telemetry__status) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__theme) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__tips) - opts="enable disable reset prompt" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__tips__disable) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__tips__enable) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__tips__prompt) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__tips__reset) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__tweet) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__uninstall) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__update) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__user) - opts="login logout tokens whoami plan list-accounts switch" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__user__list__accounts) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__user__login) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__user__logout) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__user__plan) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__user__switch) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__user__tokens) - opts="new list revoke validate" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__user__tokens__list) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__user__tokens__new) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__user__tokens__revoke) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__user__tokens__validate) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__user__whoami) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__version) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__help__workflow) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__hook) - opts="-h --help editbuffer hide init integration-ready keyboard-focus-changed pre-exec prompt ssh help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__hook__editbuffer) - opts="-h --help " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__hook__help) - opts="editbuffer hide init integration-ready keyboard-focus-changed pre-exec prompt ssh help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__hook__help__editbuffer) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__hook__help__help) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__hook__help__hide) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__hook__help__init) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__hook__help__integration__ready) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__hook__help__keyboard__focus__changed) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__hook__help__pre__exec) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__hook__help__prompt) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__hook__help__ssh) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__hook__hide) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__hook__init) - opts="-h --help " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__hook__integration__ready) - opts="-h --help " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__hook__keyboard__focus__changed) - opts="-h --help " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__hook__pre__exec) - opts="-h --help " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__hook__prompt) - opts="-h --help " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__hook__ssh) - opts="-h --prompt --help " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__init) - opts="-h --rcfile --skip-dotfiles --help bash zsh fish pre post" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --rcfile) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__install) - opts="-h --daemon --dotfiles --input-method --no-confirm --force --ssh --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations) - opts="-h --help install uninstall status help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__help) - opts="install uninstall status help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__help__help) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__help__install) - opts="dotfiles daemon ssh input-method vscode intellij all" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__help__install__all) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__help__install__daemon) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__help__install__dotfiles) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__help__install__input__method) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__help__install__intellij) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__help__install__ssh) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__help__install__vscode) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__help__status) - opts="dotfiles daemon ssh input-method vscode intellij all" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__help__status__all) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__help__status__daemon) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__help__status__dotfiles) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__help__status__input__method) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__help__status__intellij) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__help__status__ssh) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__help__status__vscode) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__help__uninstall) - opts="dotfiles daemon ssh input-method vscode intellij all" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__help__uninstall__all) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__help__uninstall__daemon) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__help__uninstall__dotfiles) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__help__uninstall__input__method) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__help__uninstall__intellij) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__help__uninstall__ssh) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__help__uninstall__vscode) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__install) - opts="-s -h --silent --help dotfiles daemon ssh input-method vscode intellij all help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__install__all) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__install__daemon) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__install__dotfiles) - opts="-h --help bash zsh fish" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__install__help) - opts="dotfiles daemon ssh input-method vscode intellij all help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__install__help__all) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__install__help__daemon) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__install__help__dotfiles) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__install__help__help) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__install__help__input__method) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__install__help__intellij) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__install__help__ssh) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__install__help__vscode) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__install__input__method) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__install__intellij) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__install__ssh) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__install__vscode) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__status) - opts="-h --help dotfiles daemon ssh input-method vscode intellij all help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__status__all) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__status__daemon) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__status__dotfiles) - opts="-h --help bash zsh fish" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__status__help) - opts="dotfiles daemon ssh input-method vscode intellij all help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__status__help__all) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__status__help__daemon) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__status__help__dotfiles) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__status__help__help) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__status__help__input__method) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__status__help__intellij) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__status__help__ssh) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__status__help__vscode) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__status__input__method) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__status__intellij) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__status__ssh) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__status__vscode) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__uninstall) - opts="-s -h --silent --help dotfiles daemon ssh input-method vscode intellij all help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__uninstall__all) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__uninstall__daemon) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__uninstall__dotfiles) - opts="-h --help bash zsh fish" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__uninstall__help) - opts="dotfiles daemon ssh input-method vscode intellij all help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__uninstall__help__all) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__uninstall__help__daemon) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__uninstall__help__dotfiles) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__uninstall__help__help) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__uninstall__help__input__method) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__uninstall__help__intellij) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__uninstall__help__ssh) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__uninstall__help__vscode) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__uninstall__input__method) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__uninstall__intellij) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__uninstall__ssh) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__integrations__uninstall__vscode) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal) - opts="-h --help prompt-dotfiles-changed pre-cmd local-state callback install uninstall get-shell hostname should-figterm-launch event auth-token request sockets-dir stream-from-socket figterm-socket-path ipc uninstall-for-all-users uuidgen open-uninstall-page prompt-ssh attempt-to-finish-input-method-installation dump-state finish-update swap-files help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__attempt__to__finish__input__method__installation) - opts="-h --help [BUNDLE_PATH]" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__auth__token) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__callback) - opts="-h --help [FILENAME] [EXIT_CODE]" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__dump__state) - opts="-h --help figterm" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__event) - opts="-h --name --payload --apps --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --name) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --payload) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --apps) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__figterm__socket__path) - opts="-h --help " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__finish__update) - opts="-h --relaunch-dashboard --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__get__shell) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__help) - opts="prompt-dotfiles-changed pre-cmd local-state callback install uninstall get-shell hostname should-figterm-launch event auth-token request sockets-dir stream-from-socket figterm-socket-path ipc uninstall-for-all-users uuidgen open-uninstall-page prompt-ssh attempt-to-finish-input-method-installation dump-state finish-update swap-files help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__help__attempt__to__finish__input__method__installation) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__help__auth__token) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__help__callback) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__help__dump__state) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__help__event) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__help__figterm__socket__path) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__help__finish__update) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__help__get__shell) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__help__help) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__help__hostname) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__help__install) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__help__ipc) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__help__local__state) - opts="init open all" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__help__local__state__all) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__help__local__state__init) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__help__local__state__open) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__help__open__uninstall__page) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__help__pre__cmd) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__help__prompt__dotfiles__changed) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__help__prompt__ssh) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__help__request) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__help__should__figterm__launch) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__help__sockets__dir) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__help__stream__from__socket) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__help__swap__files) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__help__uninstall) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__help__uninstall__for__all__users) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__help__uuidgen) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__hostname) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__install) - opts="-h --daemon --dotfiles --input-method --no-confirm --force --ssh --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__ipc) - opts="-h --app --daemon --figterm --json --recv --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --figterm) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --json) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__local__state) - opts="-d -f -h --delete --format --help [KEY] [VALUE] init open all help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --format) - COMPREPLY=($(compgen -W "plain json json-pretty" -- "${cur}")) - return 0 - ;; - -f) - COMPREPLY=($(compgen -W "plain json json-pretty" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__local__state__all) - opts="-f -h --format --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --format) - COMPREPLY=($(compgen -W "plain json json-pretty" -- "${cur}")) - return 0 - ;; - -f) - COMPREPLY=($(compgen -W "plain json json-pretty" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__local__state__help) - opts="init open all help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__local__state__help__all) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__local__state__help__help) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__local__state__help__init) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__local__state__help__open) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__local__state__init) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__local__state__open) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__open__uninstall__page) - opts="-h --verbose --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__pre__cmd) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__prompt__dotfiles__changed) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__prompt__ssh) - opts="-h --help " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__request) - opts="-h --route --method --body --namespace --release --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --route) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --method) - COMPREPLY=($(compgen -W "GET POST PUT DELETE HEAD OPTIONS CONNECT PATCH TRACE" -- "${cur}")) - return 0 - ;; - --body) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --namespace) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__should__figterm__launch) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__sockets__dir) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__stream__from__socket) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__swap__files) - opts="-h --help " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__uninstall) - opts="-h --daemon --dotfiles --input-method --binary --ssh --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__uninstall__for__all__users) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__internal__uuidgen) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__invite) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__issue) - opts="-f -h --force --help [DESCRIPTION]..." - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__launch) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__login) - opts="-r -h --refresh --hard-refresh --switchable --help [EMAIL]" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__logout) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__man) - opts="-h --help [COMMAND]..." - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__onboarding) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__plugins) - opts="-h --help sync update add remove list info configure help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__plugins__add) - opts="-h --help " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__plugins__configure) - opts="-h --help [PLUGIN] [CONFIG]" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__plugins__help) - opts="sync update add remove list info configure help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__plugins__help__add) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__plugins__help__configure) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__plugins__help__help) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__plugins__help__info) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__plugins__help__list) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__plugins__help__remove) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__plugins__help__sync) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__plugins__help__update) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__plugins__info) - opts="-f -h --fields --format --help " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --fields) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --format) - COMPREPLY=($(compgen -W "plain json json-pretty" -- "${cur}")) - return 0 - ;; - -f) - COMPREPLY=($(compgen -W "plain json json-pretty" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__plugins__list) - opts="-i -f -h --installed --fields --format --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --fields) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --format) - COMPREPLY=($(compgen -W "plain json json-pretty" -- "${cur}")) - return 0 - ;; - -f) - COMPREPLY=($(compgen -W "plain json json-pretty" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__plugins__remove) - opts="-h --help " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__plugins__sync) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__plugins__update) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__pro) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__quit) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__restart) - opts="-h --help daemon app" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__settings) - opts="-d -f -h --delete --format --help [KEY] [VALUE] init docs open sync all help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --format) - COMPREPLY=($(compgen -W "plain json json-pretty" -- "${cur}")) - return 0 - ;; - -f) - COMPREPLY=($(compgen -W "plain json json-pretty" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__settings__all) - opts="-r -f -h --remote --format --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --format) - COMPREPLY=($(compgen -W "plain json json-pretty" -- "${cur}")) - return 0 - ;; - -f) - COMPREPLY=($(compgen -W "plain json json-pretty" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__settings__docs) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__settings__help) - opts="init docs open sync all help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__settings__help__all) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__settings__help__docs) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__settings__help__help) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__settings__help__init) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__settings__help__open) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__settings__help__sync) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__settings__init) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__settings__open) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__settings__sync) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__source) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__ssh) - opts="-a -h --auth --get-identities --ignore-saved --help [HOST]" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --auth) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -a) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__team) - opts="-f -h --list --new --delete --format --help [TEAM] members remove add invitations revoke help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --format) - COMPREPLY=($(compgen -W "plain json json-pretty" -- "${cur}")) - return 0 - ;; - -f) - COMPREPLY=($(compgen -W "plain json json-pretty" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__team__add) - opts="-h --role --help " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --role) - COMPREPLY=($(compgen -W "admin member" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__team__help) - opts="members remove add invitations revoke help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__team__help__add) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__team__help__help) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__team__help__invitations) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__team__help__members) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__team__help__remove) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__team__help__revoke) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__team__invitations) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__team__members) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__team__remove) - opts="-h --help " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__team__revoke) - opts="-h --help " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__telemetry) - opts="-h --help enable disable status help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__telemetry__disable) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__telemetry__enable) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__telemetry__help) - opts="enable disable status help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__telemetry__help__disable) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__telemetry__help__enable) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__telemetry__help__help) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__telemetry__help__status) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__telemetry__status) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__theme) - opts="-h --list --folder --help [THEME]" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__tips) - opts="-h --help enable disable reset prompt help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__tips__disable) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__tips__enable) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__tips__help) - opts="enable disable reset prompt help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__tips__help__disable) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__tips__help__enable) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__tips__help__help) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__tips__help__prompt) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__tips__help__reset) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__tips__prompt) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__tips__reset) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__tweet) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__uninstall) - opts="-y -h --no-confirm --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__update) - opts="-y -h --no-confirm --non-interactive --relaunch-dashboard --rollout --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__user) - opts="-h --help login logout tokens whoami plan list-accounts switch help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__user__help) - opts="login logout tokens whoami plan list-accounts switch help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__user__help__help) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__user__help__list__accounts) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__user__help__login) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__user__help__logout) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__user__help__plan) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__user__help__switch) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__user__help__tokens) - opts="new list revoke validate" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__user__help__tokens__list) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__user__help__tokens__new) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__user__help__tokens__revoke) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__user__help__tokens__validate) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__user__help__whoami) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__user__list__accounts) - opts="-f -h --format --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --format) - COMPREPLY=($(compgen -W "plain json json-pretty" -- "${cur}")) - return 0 - ;; - -f) - COMPREPLY=($(compgen -W "plain json json-pretty" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__user__login) - opts="-r -h --refresh --hard-refresh --switchable --help [EMAIL]" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__user__logout) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__user__plan) - opts="-f -h --format --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --format) - COMPREPLY=($(compgen -W "plain json json-pretty" -- "${cur}")) - return 0 - ;; - -f) - COMPREPLY=($(compgen -W "plain json json-pretty" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__user__switch) - opts="-h --help " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__user__tokens) - opts="-h --help new list revoke validate help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__user__tokens__help) - opts="new list revoke validate help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__user__tokens__help__help) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__user__tokens__help__list) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__user__tokens__help__new) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__user__tokens__help__revoke) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__user__tokens__help__validate) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 5 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__user__tokens__list) - opts="-t -f -h --team --format --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --team) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -t) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --format) - COMPREPLY=($(compgen -W "plain json json-pretty" -- "${cur}")) - return 0 - ;; - -f) - COMPREPLY=($(compgen -W "plain json json-pretty" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__user__tokens__new) - opts="-t -h --expires-date --expires-in --team --help " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --expires-date) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --expires-in) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --team) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -t) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__user__tokens__revoke) - opts="-t -h --team --help " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --team) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -t) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__user__tokens__validate) - opts="-h --help " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__user__whoami) - opts="-f -e -h --format --only-email --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --format) - COMPREPLY=($(compgen -W "plain json json-pretty" -- "${cur}")) - return 0 - ;; - -f) - COMPREPLY=($(compgen -W "plain json json-pretty" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__version) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - fig_cli__workflow) - opts="-h --help [ARGS]..." - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - esac -} - -complete -F _fig_cli -o bashdefault -o default fig_cli diff --git a/.local/share/bash-completion/completions/fzf-key-bindings.bash b/.local/share/bash-completion/completions/fzf-key-bindings.bash deleted file mode 100644 index d83f9d3e..00000000 --- a/.local/share/bash-completion/completions/fzf-key-bindings.bash +++ /dev/null @@ -1,102 +0,0 @@ -# ____ ____ -# / __/___ / __/ -# / /_/_ / / /_ -# / __/ / /_/ __/ -# /_/ /___/_/ key-bindings.bash -# -# - $FZF_TMUX_OPTS -# - $FZF_CTRL_T_COMMAND -# - $FZF_CTRL_T_OPTS -# - $FZF_CTRL_R_OPTS -# - $FZF_ALT_C_COMMAND -# - $FZF_ALT_C_OPTS - -# Key bindings -# ------------ -__fzf_select__() { - local cmd opts - cmd="${FZF_CTRL_T_COMMAND:-"command find -L . -mindepth 1 \\( -path '*/\\.*' -o -fstype 'sysfs' -o -fstype 'devfs' -o -fstype 'devtmpfs' -o -fstype 'proc' \\) -prune \ - -o -type f -print \ - -o -type d -print \ - -o -type l -print 2> /dev/null | cut -b3-"}" - opts="--height ${FZF_TMUX_HEIGHT:-40%} --bind=ctrl-z:ignore --reverse ${FZF_DEFAULT_OPTS-} ${FZF_CTRL_T_OPTS-} -m" - eval "$cmd" | - FZF_DEFAULT_OPTS="$opts" $(__fzfcmd) "$@" | - while read -r item; do - printf '%q ' "$item" # escape special chars - done -} - -if [[ $- =~ i ]]; then - -__fzfcmd() { - [[ -n "${TMUX_PANE-}" ]] && { [[ "${FZF_TMUX:-0}" != 0 ]] || [[ -n "${FZF_TMUX_OPTS-}" ]]; } && - echo "fzf-tmux ${FZF_TMUX_OPTS:--d${FZF_TMUX_HEIGHT:-40%}} -- " || echo "fzf" -} - -fzf-file-widget() { - local selected="$(__fzf_select__ "$@")" - READLINE_LINE="${READLINE_LINE:0:$READLINE_POINT}$selected${READLINE_LINE:$READLINE_POINT}" - READLINE_POINT=$(( READLINE_POINT + ${#selected} )) -} - -__fzf_cd__() { - local cmd opts dir - cmd="${FZF_ALT_C_COMMAND:-"command find -L . -mindepth 1 \\( -path '*/\\.*' -o -fstype 'sysfs' -o -fstype 'devfs' -o -fstype 'devtmpfs' -o -fstype 'proc' \\) -prune \ - -o -type d -print 2> /dev/null | cut -b3-"}" - opts="--height ${FZF_TMUX_HEIGHT:-40%} --bind=ctrl-z:ignore --reverse ${FZF_DEFAULT_OPTS-} ${FZF_ALT_C_OPTS-} +m" - dir=$(eval "$cmd" | FZF_DEFAULT_OPTS="$opts" $(__fzfcmd)) && printf 'builtin cd -- %q' "$dir" -} - -__fzf_history__() { - local output opts script - opts="--height ${FZF_TMUX_HEIGHT:-40%} --bind=ctrl-z:ignore ${FZF_DEFAULT_OPTS-} -n2..,.. --scheme=history --bind=ctrl-r:toggle-sort ${FZF_CTRL_R_OPTS-} +m --read0" - script='BEGIN { getc; $/ = "\n\t"; $HISTCOUNT = $ENV{last_hist} + 1 } s/^[ *]//; print $HISTCOUNT - $. . "\t$_" if !$seen{$_}++' - output=$( - builtin fc -lnr -2147483648 | - last_hist=$(HISTTIMEFORMAT='' builtin history 1) perl -n -l0 -e "$script" | - FZF_DEFAULT_OPTS="$opts" $(__fzfcmd) --query "$READLINE_LINE" - ) || return - READLINE_LINE=${output#*$'\t'} - if [[ -z "$READLINE_POINT" ]]; then - echo "$READLINE_LINE" - else - READLINE_POINT=0x7fffffff - fi -} - -# Required to refresh the prompt after fzf -bind -m emacs-standard '"\er": redraw-current-line' - -bind -m vi-command '"\C-z": emacs-editing-mode' -bind -m vi-insert '"\C-z": emacs-editing-mode' -bind -m emacs-standard '"\C-z": vi-editing-mode' - -if (( BASH_VERSINFO[0] < 4 )); then - # CTRL-T - Paste the selected file path into the command line - bind -m emacs-standard '"\C-t": " \C-b\C-k \C-u`__fzf_select__`\e\C-e\er\C-a\C-y\C-h\C-e\e \C-y\ey\C-x\C-x\C-f"' - bind -m vi-command '"\C-t": "\C-z\C-t\C-z"' - bind -m vi-insert '"\C-t": "\C-z\C-t\C-z"' - - # CTRL-R - Paste the selected command from history into the command line - bind -m emacs-standard '"\C-r": "\C-e \C-u\C-y\ey\C-u"$(__fzf_history__)"\e\C-e\er"' - bind -m vi-command '"\C-r": "\C-z\C-r\C-z"' - bind -m vi-insert '"\C-r": "\C-z\C-r\C-z"' -else - # CTRL-T - Paste the selected file path into the command line - bind -m emacs-standard -x '"\C-t": fzf-file-widget' - bind -m vi-command -x '"\C-t": fzf-file-widget' - bind -m vi-insert -x '"\C-t": fzf-file-widget' - - # CTRL-R - Paste the selected command from history into the command line - bind -m emacs-standard -x '"\C-r": __fzf_history__' - bind -m vi-command -x '"\C-r": __fzf_history__' - bind -m vi-insert -x '"\C-r": __fzf_history__' -fi - -# ALT-C - cd into the selected directory -bind -m emacs-standard '"\ec": " \C-b\C-k \C-u`__fzf_cd__`\e\C-e\er\C-m\C-y\C-h\e \C-y\ey\C-x\C-x\C-d"' -bind -m vi-command '"\ec": "\C-z\ec\C-z"' -bind -m vi-insert '"\ec": "\C-z\ec\C-z"' - -fi diff --git a/.local/share/bash-completion/completions/fzf.bash b/.local/share/bash-completion/completions/fzf.bash deleted file mode 100644 index 58adccc7..00000000 --- a/.local/share/bash-completion/completions/fzf.bash +++ /dev/null @@ -1,357 +0,0 @@ -# ____ ____ -# / __/___ / __/ -# / /_/_ / / /_ -# / __/ / /_/ __/ -# /_/ /___/_/ completion.bash -# -# - $FZF_TMUX (default: 0) -# - $FZF_TMUX_OPTS (default: empty) -# - $FZF_COMPLETION_TRIGGER (default: '**') -# - $FZF_COMPLETION_OPTS (default: empty) - -if [[ $- =~ i ]]; then - -# To use custom commands instead of find, override _fzf_compgen_{path,dir} -if ! declare -f _fzf_compgen_path > /dev/null; then - _fzf_compgen_path() { - echo "$1" - command find -L "$1" \ - -name .git -prune -o -name .hg -prune -o -name .svn -prune -o \( -type d -o -type f -o -type l \) \ - -a -not -path "$1" -print 2> /dev/null | sed 's@^\./@@' - } -fi - -if ! declare -f _fzf_compgen_dir > /dev/null; then - _fzf_compgen_dir() { - command find -L "$1" \ - -name .git -prune -o -name .hg -prune -o -name .svn -prune -o -type d \ - -a -not -path "$1" -print 2> /dev/null | sed 's@^\./@@' - } -fi - -########################################################### - -# To redraw line after fzf closes (printf '\e[5n') -bind '"\e[0n": redraw-current-line' 2> /dev/null - -__fzf_comprun() { - if [[ "$(type -t _fzf_comprun 2>&1)" = function ]]; then - _fzf_comprun "$@" - elif [[ -n "${TMUX_PANE-}" ]] && { [[ "${FZF_TMUX:-0}" != 0 ]] || [[ -n "${FZF_TMUX_OPTS-}" ]]; }; then - shift - fzf-tmux ${FZF_TMUX_OPTS:--d${FZF_TMUX_HEIGHT:-40%}} -- "$@" - else - shift - fzf "$@" - fi -} - -__fzf_orig_completion() { - local l comp f cmd - while read -r l; do - if [[ "$l" =~ ^(.*\ -F)\ *([^ ]*).*\ ([^ ]*)$ ]]; then - comp="${BASH_REMATCH[1]}" - f="${BASH_REMATCH[2]}" - cmd="${BASH_REMATCH[3]}" - [[ "$f" = _fzf_* ]] && continue - printf -v "_fzf_orig_completion_${cmd//[^A-Za-z0-9_]/_}" "%s" "${comp} %s ${cmd} #${f}" - if [[ "$l" = *" -o nospace "* ]] && [[ ! "${__fzf_nospace_commands-}" = *" $cmd "* ]]; then - __fzf_nospace_commands="${__fzf_nospace_commands-} $cmd " - fi - fi - done -} - -_fzf_opts_completion() { - local cur prev opts - COMPREPLY=() - cur="${COMP_WORDS[COMP_CWORD]}" - prev="${COMP_WORDS[COMP_CWORD-1]}" - opts=" - -x --extended - -e --exact - --algo - -i +i - -n --nth - --with-nth - -d --delimiter - +s --no-sort - --tac - --tiebreak - -m --multi - --no-mouse - --bind - --cycle - --no-hscroll - --jump-labels - --height - --literal - --reverse - --margin - --inline-info - --prompt - --pointer - --marker - --header - --header-lines - --ansi - --tabstop - --color - --no-bold - --history - --history-size - --preview - --preview-window - -q --query - -1 --select-1 - -0 --exit-0 - -f --filter - --print-query - --expect - --sync" - - case "${prev}" in - --tiebreak) - COMPREPLY=( $(compgen -W "length begin end index" -- "$cur") ) - return 0 - ;; - --color) - COMPREPLY=( $(compgen -W "dark light 16 bw" -- "$cur") ) - return 0 - ;; - --history) - COMPREPLY=() - return 0 - ;; - esac - - if [[ "$cur" =~ ^-|\+ ]]; then - COMPREPLY=( $(compgen -W "${opts}" -- "$cur") ) - return 0 - fi - - return 0 -} - -_fzf_handle_dynamic_completion() { - local cmd orig_var orig ret orig_cmd orig_complete - cmd="$1" - shift - orig_cmd="$1" - orig_var="_fzf_orig_completion_$cmd" - orig="${!orig_var-}" - orig="${orig##*#}" - if [[ -n "$orig" ]] && type "$orig" > /dev/null 2>&1; then - $orig "$@" - elif [[ -n "${_fzf_completion_loader-}" ]]; then - orig_complete=$(complete -p "$orig_cmd" 2> /dev/null) - _completion_loader "$@" - ret=$? - # _completion_loader may not have updated completion for the command - if [[ "$(complete -p "$orig_cmd" 2> /dev/null)" != "$orig_complete" ]]; then - __fzf_orig_completion < <(complete -p "$orig_cmd" 2> /dev/null) - if [[ "${__fzf_nospace_commands-}" = *" $orig_cmd "* ]]; then - eval "${orig_complete/ -F / -o nospace -F }" - else - eval "$orig_complete" - fi - fi - return $ret - fi -} - -__fzf_generic_path_completion() { - local cur base dir leftover matches trigger cmd - cmd="${COMP_WORDS[0]}" - if [[ $cmd == \\* ]]; then - cmd="${cmd:1}" - fi - cmd="${cmd//[^A-Za-z0-9_=]/_}" - COMPREPLY=() - trigger=${FZF_COMPLETION_TRIGGER-'**'} - cur="${COMP_WORDS[COMP_CWORD]}" - if [[ "$cur" == *"$trigger" ]]; then - base=${cur:0:${#cur}-${#trigger}} - eval "base=$base" - - dir= - [[ $base = *"/"* ]] && dir="$base" - while true; do - if [[ -z "$dir" ]] || [[ -d "$dir" ]]; then - leftover=${base/#"$dir"} - leftover=${leftover/#\/} - [[ -z "$dir" ]] && dir='.' - [[ "$dir" != "/" ]] && dir="${dir/%\//}" - matches=$(eval "$1 $(printf %q "$dir")" | FZF_DEFAULT_OPTS="--height ${FZF_TMUX_HEIGHT:-40%} --reverse --bind=ctrl-z:ignore ${FZF_DEFAULT_OPTS-} ${FZF_COMPLETION_OPTS-} $2" __fzf_comprun "$4" -q "$leftover" | while read -r item; do - printf "%q " "${item%$3}$3" - done) - matches=${matches% } - [[ -z "$3" ]] && [[ "${__fzf_nospace_commands-}" = *" ${COMP_WORDS[0]} "* ]] && matches="$matches " - if [[ -n "$matches" ]]; then - COMPREPLY=( "$matches" ) - else - COMPREPLY=( "$cur" ) - fi - printf '\e[5n' - return 0 - fi - dir=$(dirname "$dir") - [[ "$dir" =~ /$ ]] || dir="$dir"/ - done - else - shift - shift - shift - _fzf_handle_dynamic_completion "$cmd" "$@" - fi -} -_fzf_complete() { - # Split arguments around -- - local args rest str_arg i sep - args=("$@") - sep= - for i in "${!args[@]}"; do - if [[ "${args[$i]}" = -- ]]; then - sep=$i - break - fi - done - if [[ -n "$sep" ]]; then - str_arg= - rest=("${args[@]:$((sep + 1)):${#args[@]}}") - args=("${args[@]:0:$sep}") - else - str_arg=$1 - args=() - shift - rest=("$@") - fi - local cur selected trigger cmd post - post="$(caller 0 | awk '{print $2}')_post" - type -t "$post" > /dev/null 2>&1 || post=cat - cmd="${COMP_WORDS[0]//[^A-Za-z0-9_=]/_}" - trigger=${FZF_COMPLETION_TRIGGER-'**'} - cur="${COMP_WORDS[COMP_CWORD]}" - if [[ "$cur" == *"$trigger" ]]; then - cur=${cur:0:${#cur}-${#trigger}} - selected=$(FZF_DEFAULT_OPTS="--height ${FZF_TMUX_HEIGHT:-40%} --reverse --bind=ctrl-z:ignore ${FZF_DEFAULT_OPTS-} ${FZF_COMPLETION_OPTS-} $str_arg" __fzf_comprun "${rest[0]}" "${args[@]}" -q "$cur" | $post | tr '\n' ' ') - selected=${selected% } # Strip trailing space not to repeat "-o nospace" - if [[ -n "$selected" ]]; then - COMPREPLY=("$selected") - else - COMPREPLY=("$cur") - fi - printf '\e[5n' - return 0 - else - _fzf_handle_dynamic_completion "$cmd" "${rest[@]}" - fi -} -_fzf_path_completion() { - __fzf_generic_path_completion _fzf_compgen_path "-m" "" "$@" -} -# Deprecated. No file only completion. -_fzf_file_completion() { - _fzf_path_completion "$@" -} -_fzf_dir_completion() { - __fzf_generic_path_completion _fzf_compgen_dir "" "/" "$@" -} -_fzf_complete_kill() { - _fzf_proc_completion "$@" -} -_fzf_proc_completion() { - _fzf_complete -m --preview 'echo {}' --preview-window down:3:wrap --min-height 15 -- "$@" < <( - command ps -ef | sed 1d - ) -} -_fzf_proc_completion_post() { - awk '{print $2}' -} -_fzf_host_completion() { - _fzf_complete +m -- "$@" < <( - command cat <(command tail -n +1 ~/.ssh/config ~/.ssh/config.d/* /etc/ssh/ssh_config 2> /dev/null | command grep -i '^\s*host\(name\)\? ' | awk '{for (i = 2; i <= NF; i++) print $1 " " $i}' | command grep -v '[*?%]') \ - <(command grep -oE '^[[a-z0-9.,:-]+' ~/.ssh/known_hosts | tr ',' '\n' | tr -d '[' | awk '{ print $1 " " $1 }') \ - <(command grep -v '^\s*\(#\|$\)' /etc/hosts | command grep -Fv '0.0.0.0') | - awk '{if (length($2) > 0) {print $2}}' | sort -u - ) -} -_fzf_var_completion() { - _fzf_complete -m -- "$@" < <( - declare -xp | sed -En 's|^declare [^ ]+ ([^=]+).*|\1|p' - ) -} -_fzf_alias_completion() { - _fzf_complete -m -- "$@" < <( - alias | sed -En 's|^alias ([^=]+).*|\1|p' - ) -} -# fzf options -complete -o default -F _fzf_opts_completion fzf -# fzf-tmux is a thin fzf wrapper that has only a few more options than fzf -# itself. As a quick improvement we take fzf's completion. Adding the few extra -# fzf-tmux specific options (like `-w WIDTH`) are left as a future patch. -complete -o default -F _fzf_opts_completion fzf-tmux -d_cmds="${FZF_COMPLETION_DIR_COMMANDS:-cd pushd rmdir}" -a_cmds=" - awk cat diff diff3 - emacs emacsclient ex file ftp g++ gcc gvim head hg java - javac ld less more mvim nvim patch perl python ruby - sed sftp sort source tail tee uniq vi view vim wc xdg-open - basename bunzip2 bzip2 chmod chown curl cp dirname du - find git grep gunzip gzip hg jar - ln ls mv open rm rsync scp - svn tar unzip zip" -# Preserve existing completion -__fzf_orig_completion < <(complete -p $d_cmds $a_cmds 2> /dev/null) -if type _completion_loader > /dev/null 2>&1; then - _fzf_completion_loader=1 -fi -__fzf_defc() { - local cmd func opts orig_var orig def - cmd="$1" - func="$2" - opts="$3" - orig_var="_fzf_orig_completion_${cmd//[^A-Za-z0-9_]/_}" - orig="${!orig_var-}" - if [[ -n "$orig" ]]; then - printf -v def "$orig" "$func" - eval "$def" - else - complete -F "$func" $opts "$cmd" - fi -} -# Anything -for cmd in $a_cmds; do - __fzf_defc "$cmd" _fzf_path_completion "-o default -o bashdefault" -done -# Directory -for cmd in $d_cmds; do - __fzf_defc "$cmd" _fzf_dir_completion "-o nospace -o dirnames" -done -unset cmd d_cmds a_cmds -_fzf_setup_completion() { - local kind fn cmd - kind=$1 - fn=_fzf_${1}_completion - if [[ $# -lt 2 ]] || ! type -t "$fn" > /dev/null; then - echo "usage: ${FUNCNAME[0]} path|dir|var|alias|host|proc COMMANDS..." - return 1 - fi - shift - __fzf_orig_completion < <(complete -p "$@" 2> /dev/null) - for cmd in "$@"; do - case "$kind" in - dir) __fzf_defc "$cmd" "$fn" "-o nospace -o dirnames" ;; - var) __fzf_defc "$cmd" "$fn" "-o default -o nospace -v" ;; - alias) __fzf_defc "$cmd" "$fn" "-a" ;; - *) __fzf_defc "$cmd" "$fn" "-o default -o bashdefault" ;; - esac - done -} -# Environment variables / Aliases / Hosts / Process -_fzf_setup_completion 'var' export unset -_fzf_setup_completion 'alias' unalias -_fzf_setup_completion 'host' ssh telnet -_fzf_setup_completion 'proc' kill -fi diff --git a/.local/share/bash-completion/completions/gcloud.bash b/.local/share/bash-completion/completions/gcloud.bash deleted file mode 100644 index 336c4b27..00000000 --- a/.local/share/bash-completion/completions/gcloud.bash +++ /dev/null @@ -1,83 +0,0 @@ -_python_argcomplete() { - local IFS=' - ' - local prefix= - typeset -i n - (( lastw=${#COMP_WORDS[@]} -1)) - if [[ ${COMP_WORDS[lastw]} == --*=* ]]; then - # for bash version 3.2 - flag=${COMP_WORDS[lastw]%%=*} - set -- "$1" "$2" '=' - elif [[ $3 == '=' ]]; then - flag=${COMP_WORDS[-3]} - fi - if [[ $3 == ssh && $2 == *@* ]] ;then - # handle ssh user@instance specially - prefix=${2%@*}@ - COMP_LINE=${COMP_LINE%$2}"${2#*@}" - elif [[ $3 == '=' ]] ; then - # handle --flag=value - prefix=$flag=$2 - line=${COMP_LINE%$prefix}; - COMP_LINE=$line${prefix/=/ }; - prefix= - fi - if [[ $2 == *,* ]]; then - # handle , separated list - prefix=${2%,*}, - set -- "$1" "${2#$prefix}" "$3" - COMP_LINE==${COMP_LINE%$prefix*}$2 - fi - # Treat --flag= as --flag to work around bash 4.x bug - if [[ ${COMP_LINE} == *= && ${COMP_WORDS[-2]} == --* ]]; then - COMP_LINE=${COMP_LINE%=}' ' - fi - COMPREPLY=( $(IFS="$IFS" COMP_LINE="$COMP_LINE" COMP_POINT="$COMP_POINT" _ARGCOMPLETE_COMP_WORDBREAKS="$COMP_WORDBREAKS" _ARGCOMPLETE=1 "$1" 8>&1 9>&2 1>/dev/null 2>/dev/null) ) - if [[ $? != 0 ]]; then - unset COMPREPLY - return - fi - if [[ $prefix != '' ]]; then - for ((n=0; n < ${#COMPREPLY[@]}; n++)); do - COMPREPLY[$n]=$prefix${COMPREPLY[$n]} - done - fi - for ((n=0; n < ${#COMPREPLY[@]}; n++)); do - match=${COMPREPLY[$n]%' '} - if [[ $match != '' ]]; then - COMPREPLY[$n]=${match//? /' '}' ' - fi - done - # if flags argument has a single completion and ends in '= ', delete ' ' - if [[ ${#COMPREPLY[@]} == 1 && ${COMPREPLY[0]} == -* && - ${COMPREPLY[0]} == *'= ' ]]; then - COMPREPLY[0]=${COMPREPLY[0]%' '} - fi -} -complete -o nospace -F _python_argcomplete "gcloud" - -_completer() { - command=$1 - name=$2 - eval '[[ "$'"${name}"'_COMMANDS" ]] || '"${name}"'_COMMANDS="$('"${command}"')"' - set -- $COMP_LINE - shift - while [[ $1 == -* ]]; do - shift - done - [[ $2 ]] && return - grep -q "${name}\s*$" <<< $COMP_LINE && - eval 'COMPREPLY=($'"${name}"'_COMMANDS)' && - return - [[ "$COMP_LINE" == *" " ]] && return - [[ $1 ]] && - eval 'COMPREPLY=($(echo "$'"${name}"'_COMMANDS" | grep ^'"$1"'))' -} - -unset bq_COMMANDS -_bq_completer() { - _completer "CLOUDSDK_COMPONENT_MANAGER_DISABLE_UPDATE_CHECK=1 bq help | grep '^[^ ][^ ]* ' | sed 's/ .*//'" bq -} - -complete -F _bq_completer bq -complete -o nospace -F _python_argcomplete gsutil diff --git a/.local/share/bash-completion/completions/gh.bash b/.local/share/bash-completion/completions/gh.bash deleted file mode 100644 index b300c15e..00000000 --- a/.local/share/bash-completion/completions/gh.bash +++ /dev/null @@ -1,325 +0,0 @@ -# bash completion V2 for gh -*- shell-script -*- - -__gh_debug() -{ - if [[ -n ${BASH_COMP_DEBUG_FILE:-} ]]; then - echo "$*" >> "${BASH_COMP_DEBUG_FILE}" - fi -} - -# Macs have bash3 for which the bash-completion package doesn't include -# _init_completion. This is a minimal version of that function. -__gh_init_completion() -{ - COMPREPLY=() - _get_comp_words_by_ref "$@" cur prev words cword -} - -# This function calls the gh program to obtain the completion -# results and the directive. It fills the 'out' and 'directive' vars. -__gh_get_completion_results() { - local requestComp lastParam lastChar args - - # Prepare the command to request completions for the program. - # Calling ${words[0]} instead of directly gh allows to handle aliases - args=("${words[@]:1}") - requestComp="${words[0]} __complete ${args[*]}" - - lastParam=${words[$((${#words[@]}-1))]} - lastChar=${lastParam:$((${#lastParam}-1)):1} - __gh_debug "lastParam ${lastParam}, lastChar ${lastChar}" - - if [ -z "${cur}" ] && [ "${lastChar}" != "=" ]; then - # If the last parameter is complete (there is a space following it) - # We add an extra empty parameter so we can indicate this to the go method. - __gh_debug "Adding extra empty parameter" - requestComp="${requestComp} ''" - fi - - # When completing a flag with an = (e.g., gh -n=) - # bash focuses on the part after the =, so we need to remove - # the flag part from $cur - if [[ "${cur}" == -*=* ]]; then - cur="${cur#*=}" - fi - - __gh_debug "Calling ${requestComp}" - # Use eval to handle any environment variables and such - out=$(eval "${requestComp}" 2>/dev/null) - - # Extract the directive integer at the very end of the output following a colon (:) - directive=${out##*:} - # Remove the directive - out=${out%:*} - if [ "${directive}" = "${out}" ]; then - # There is not directive specified - directive=0 - fi - __gh_debug "The completion directive is: ${directive}" - __gh_debug "The completions are: ${out}" -} - -__gh_process_completion_results() { - local shellCompDirectiveError=1 - local shellCompDirectiveNoSpace=2 - local shellCompDirectiveNoFileComp=4 - local shellCompDirectiveFilterFileExt=8 - local shellCompDirectiveFilterDirs=16 - - if [ $((directive & shellCompDirectiveError)) -ne 0 ]; then - # Error code. No completion. - __gh_debug "Received error from custom completion go code" - return - else - if [ $((directive & shellCompDirectiveNoSpace)) -ne 0 ]; then - if [[ $(type -t compopt) = "builtin" ]]; then - __gh_debug "Activating no space" - compopt -o nospace - else - __gh_debug "No space directive not supported in this version of bash" - fi - fi - if [ $((directive & shellCompDirectiveNoFileComp)) -ne 0 ]; then - if [[ $(type -t compopt) = "builtin" ]]; then - __gh_debug "Activating no file completion" - compopt +o default - else - __gh_debug "No file completion directive not supported in this version of bash" - fi - fi - fi - - # Separate activeHelp from normal completions - local completions=() - local activeHelp=() - __gh_extract_activeHelp - - if [ $((directive & shellCompDirectiveFilterFileExt)) -ne 0 ]; then - # File extension filtering - local fullFilter filter filteringCmd - - # Do not use quotes around the $completions variable or else newline - # characters will be kept. - for filter in ${completions[*]}; do - fullFilter+="$filter|" - done - - filteringCmd="_filedir $fullFilter" - __gh_debug "File filtering command: $filteringCmd" - $filteringCmd - elif [ $((directive & shellCompDirectiveFilterDirs)) -ne 0 ]; then - # File completion for directories only - - # Use printf to strip any trailing newline - local subdir - subdir=$(printf "%s" "${completions[0]}") - if [ -n "$subdir" ]; then - __gh_debug "Listing directories in $subdir" - pushd "$subdir" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return - else - __gh_debug "Listing directories in ." - _filedir -d - fi - else - __gh_handle_completion_types - fi - - __gh_handle_special_char "$cur" : - __gh_handle_special_char "$cur" = - - # Print the activeHelp statements before we finish - if [ ${#activeHelp} -ne 0 ]; then - printf "\n"; - printf "%s\n" "${activeHelp[@]}" - printf "\n" - - # The prompt format is only available from bash 4.4. - # We test if it is available before using it. - if (x=${PS1@P}) 2> /dev/null; then - printf "%s" "${PS1@P}${COMP_LINE[@]}" - else - # Can't print the prompt. Just print the - # text the user had typed, it is workable enough. - printf "%s" "${COMP_LINE[@]}" - fi - fi -} - -# Separate activeHelp lines from real completions. -# Fills the $activeHelp and $completions arrays. -__gh_extract_activeHelp() { - local activeHelpMarker="_activeHelp_ " - local endIndex=${#activeHelpMarker} - - while IFS='' read -r comp; do - if [ "${comp:0:endIndex}" = "$activeHelpMarker" ]; then - comp=${comp:endIndex} - __gh_debug "ActiveHelp found: $comp" - if [ -n "$comp" ]; then - activeHelp+=("$comp") - fi - else - # Not an activeHelp line but a normal completion - completions+=("$comp") - fi - done < <(printf "%s\n" "${out}") -} - -__gh_handle_completion_types() { - __gh_debug "__gh_handle_completion_types: COMP_TYPE is $COMP_TYPE" - - case $COMP_TYPE in - 37|42) - # Type: menu-complete/menu-complete-backward and insert-completions - # If the user requested inserting one completion at a time, or all - # completions at once on the command-line we must remove the descriptions. - # https://github.com/spf13/cobra/issues/1508 - local tab=$'\t' comp - while IFS='' read -r comp; do - [[ -z $comp ]] && continue - # Strip any description - comp=${comp%%$tab*} - # Only consider the completions that match - if [[ $comp == "$cur"* ]]; then - COMPREPLY+=("$comp") - fi - done < <(printf "%s\n" "${completions[@]}") - ;; - - *) - # Type: complete (normal completion) - __gh_handle_standard_completion_case - ;; - esac -} - -__gh_handle_standard_completion_case() { - local tab=$'\t' comp - - # Short circuit to optimize if we don't have descriptions - if [[ "${completions[*]}" != *$tab* ]]; then - IFS=$'\n' read -ra COMPREPLY -d '' < <(compgen -W "${completions[*]}" -- "$cur") - return 0 - fi - - local longest=0 - local compline - # Look for the longest completion so that we can format things nicely - while IFS='' read -r compline; do - [[ -z $compline ]] && continue - # Strip any description before checking the length - comp=${compline%%$tab*} - # Only consider the completions that match - [[ $comp == "$cur"* ]] || continue - COMPREPLY+=("$compline") - if ((${#comp}>longest)); then - longest=${#comp} - fi - done < <(printf "%s\n" "${completions[@]}") - - # If there is a single completion left, remove the description text - if [ ${#COMPREPLY[*]} -eq 1 ]; then - __gh_debug "COMPREPLY[0]: ${COMPREPLY[0]}" - comp="${COMPREPLY[0]%%$tab*}" - __gh_debug "Removed description from single completion, which is now: ${comp}" - COMPREPLY[0]=$comp - else # Format the descriptions - __gh_format_comp_descriptions $longest - fi -} - -__gh_handle_special_char() -{ - local comp="$1" - local char=$2 - if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then - local word=${comp%"${comp##*${char}}"} - local idx=${#COMPREPLY[*]} - while [[ $((--idx)) -ge 0 ]]; do - COMPREPLY[$idx]=${COMPREPLY[$idx]#"$word"} - done - fi -} - -__gh_format_comp_descriptions() -{ - local tab=$'\t' - local comp desc maxdesclength - local longest=$1 - - local i ci - for ci in ${!COMPREPLY[*]}; do - comp=${COMPREPLY[ci]} - # Properly format the description string which follows a tab character if there is one - if [[ "$comp" == *$tab* ]]; then - __gh_debug "Original comp: $comp" - desc=${comp#*$tab} - comp=${comp%%$tab*} - - # $COLUMNS stores the current shell width. - # Remove an extra 4 because we add 2 spaces and 2 parentheses. - maxdesclength=$(( COLUMNS - longest - 4 )) - - # Make sure we can fit a description of at least 8 characters - # if we are to align the descriptions. - if [[ $maxdesclength -gt 8 ]]; then - # Add the proper number of spaces to align the descriptions - for ((i = ${#comp} ; i < longest ; i++)); do - comp+=" " - done - else - # Don't pad the descriptions so we can fit more text after the completion - maxdesclength=$(( COLUMNS - ${#comp} - 4 )) - fi - - # If there is enough space for any description text, - # truncate the descriptions that are too long for the shell width - if [ $maxdesclength -gt 0 ]; then - if [ ${#desc} -gt $maxdesclength ]; then - desc=${desc:0:$(( maxdesclength - 1 ))} - desc+="…" - fi - comp+=" ($desc)" - fi - COMPREPLY[ci]=$comp - __gh_debug "Final comp: $comp" - fi - done -} - -__start_gh() -{ - local cur prev words cword split - - COMPREPLY=() - - # Call _init_completion from the bash-completion package - # to prepare the arguments properly - if declare -F _init_completion >/dev/null 2>&1; then - _init_completion -n "=:" || return - else - __gh_init_completion -n "=:" || return - fi - - __gh_debug - __gh_debug "========= starting completion logic ==========" - __gh_debug "cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}, cword is $cword" - - # The user could have moved the cursor backwards on the command-line. - # We need to trigger completion from the $cword location, so we need - # to truncate the command-line ($words) up to the $cword location. - words=("${words[@]:0:$cword+1}") - __gh_debug "Truncated words[*]: ${words[*]}," - - local out directive - __gh_get_completion_results - __gh_process_completion_results -} - -if [[ $(type -t compopt) = "builtin" ]]; then - complete -o default -F __start_gh gh -else - complete -o default -o nospace -F __start_gh gh -fi - -# ex: ts=4 sw=4 et filetype=sh diff --git a/.local/share/bash-completion/completions/googler.bash b/.local/share/bash-completion/completions/googler.bash deleted file mode 100644 index 857eb0b8..00000000 --- a/.local/share/bash-completion/completions/googler.bash +++ /dev/null @@ -1,82 +0,0 @@ -# -# Rudimentary Bash completion definition for googler. -# -# Author: -# Zhiming Wang -# - -_googler () { - COMPREPLY=() - local IFS=$' \n' - local cur=$2 prev=$3 - local -a opts opts_with_args - opts=( - -h --help - -s --start - -n --count - -N --news - -V --videos - -c --tld - -l --lang - -g --geoloc - -x --exact - --colorize - -C --nocolor - --colors - -j --first --lucky - -t --time - --from - --to - -w --site - -e --exclude - --unfilter - -p --proxy - --notweak - --json - --url-handler - --show-browser-logs - --np --noprompt - -u --upgrade - --include-git - -v --version - -d --debug - ) - opts_with_arg=( - -s --start - -n --count - -c --tld - -l --lang - -g --geoloc - --colorize - --colors - -t --time - --from - --to - -w --site - -e --exclude - -p --proxy - --url-handler - ) - - if [[ $cur == -* ]]; then - # The current argument is an option -- complete option names. - COMPREPLY=( $(compgen -W "${opts[*]}" -- "$cur") ) - else - # Do not complete option arguments; only autocomplete positional - # arguments (queries). - for opt in "${opts_with_arg[@]}"; do - [[ $opt == $prev ]] && return 1 - done - - local completion - COMPREPLY=() - while IFS= read -r completion; do - # Quote spaces for `complete -W wordlist` - COMPREPLY+=( "${completion// /\\ }" ) - done < <(googler --complete "$cur") - fi - - return 0 -} - -complete -F _googler googler diff --git a/.local/share/bash-completion/completions/gradle.bash b/.local/share/bash-completion/completions/gradle.bash deleted file mode 100644 index e830b53e..00000000 --- a/.local/share/bash-completion/completions/gradle.bash +++ /dev/null @@ -1,381 +0,0 @@ -__gradle-completion-print-timestamp() { - echo "$(($(gdate +'%s * 1000 + %-N / 1000000'))) - $1" -} - -__gradle-set-project-root-dir() { - local dir=$(pwd) - project_root_dir=$(pwd) - while [[ "$dir" != '/' ]]; do - if [[ -f "$dir/settings.gradle" || -f "$dir/settings.gradle.kts" || -f "$dir/gradlew" ]]; then - project_root_dir="$dir" - return 0 - fi - dir="$(dirname "$dir")" - done - return 1 -} - -__gradle-init-cache-dir() { - cache_dir="$HOME/.gradle/completion" - mkdir -p "$cache_dir" -} - -__gradle-set-settings-file() { - # In order of precedence: --settings-file=filename, settings.gradle, settings.gradle.kts - - local default_gradle_settings_file="$project_root_dir/settings.gradle" - if [[ ! -f $default_gradle_settings_file ]]; then - default_gradle_settings_file="$project_root_dir/settings.gradle.kts" - fi - gradle_settings_file=$default_gradle_settings_file -} - -__gradle-set-build-file() { - __gradle-set-settings-file - # In order of precedence: --build-file=filename, rootProject.buildFileName, build.gradle, build.gradle.kts - - local default_gradle_build_file_name="build.gradle" - if [[ -f $gradle_settings_file ]]; then - local build_file_name=$(grep "^rootProject\.buildFileName" $gradle_settings_file | \ - sed -n -e "s/rootProject\.buildFileName = [\'\"]\(.*\)[\'\"]/\1/p") - default_gradle_build_file_name="${build_file_name:-build.gradle}" - fi - - gradle_build_file="$project_root_dir/$default_gradle_build_file_name" - if [[ ! -f $gradle_build_file ]]; then - gradle_build_file="$project_root_dir/build.gradle.kts" - fi -} - -__gradle-set-cache-name() { - # Cache name is constructed from the absolute path of the build file. - cache_name="${gradle_build_file//\//_}" -} - -__gradle-set-files-checksum() { - # Cache MD5 sum of all Gradle scripts and modified timestamps - if builtin command -v md5 > /dev/null; then - gradle_files_checksum=$(md5 -q -s "$(cat "$cache_dir/$cache_name" | xargs ls -o 2>/dev/null)") - elif builtin command -v md5sum > /dev/null; then - gradle_files_checksum=$(cat "$cache_dir/$cache_name" | xargs ls -o 2>/dev/null | md5sum | awk '{print $1}') - else - echo "Cannot generate completions as neither md5 nor md5sum exist on \$PATH" - fi -} - -__gradle-generate-script-cache() { - # Invalidate cache after 3 weeks by default - local cache_ttl_mins=${GRADLE_CACHE_TTL_MINUTES:-30240} - local script_exclude_pattern=${GRADLE_COMPLETION_EXCLUDE_PATTERN:-"/(.git|build|integTest|samples|templates|smokeTest|testFixtures|out)/"} - - if [[ ! $(find "$cache_dir/$cache_name" -mmin "-${cache_ttl_mins}" 2>/dev/null) ]]; then - # Cache all Gradle scripts - local gradle_build_scripts=$(find "$project_root_dir" -type f -name "*.gradle" -o -name "*.gradle.kts" 2>/dev/null | egrep -v "$script_exclude_pattern") - printf "%s\n" "${gradle_build_scripts[@]}" >| "$cache_dir/$cache_name" - fi -} - -__gradle-long-options() { - local cur - _get_comp_words_by_ref -n : cur - - local args="--build-cache - Enables the Gradle build cache ---build-file - Specifies the build file ---configuration-cache - Enables the configuration cache. Gradle will try to reuse the build configuration from previous builds. [incubating] ---configuration-cache-problems - Configures how the configuration cache handles problems (fail or warn). Defaults to fail. [incubating] ---configure-on-demand - Only relevant projects are configured ---console - Type of console output to generate (plain auto rich verbose) ---continue - Continues task execution after a task failure ---continuous - Continuous mode. Automatically re-run build after changes ---daemon - Use the Gradle Daemon ---debug - Log at the debug level ---dry-run - Runs the build with all task actions disabled ---exclude-task - Specify a task to be excluded ---full-stacktrace - Print out the full (very verbose) stacktrace ---gradle-user-home - Specifies the Gradle user home directory ---gui - Launches the Gradle GUI app (Deprecated) ---help - Shows a help message ---include-build - Run the build as a composite, including the specified build ---info - Set log level to INFO ---init-script - Specifies an initialization script ---max-workers - Set the maximum number of workers that Gradle may use ---no-build-cache - Do not use the Gradle build cache ---no-configuration-cache - Disables the configuration cache. [incubating] ---no-configure-on-demand - Disables configuration on demand ---no-daemon - Do not use the Gradle Daemon ---no-parallel - Disables parallel execution to build projects ---no-rebuild - Do not rebuild project dependencies ---no-scan - Do not create a build scan ---no-search-upwards - Do not search parent directories for a settings.gradle (removed) ---no-watch-fs - Do not watch the filesystem for changes ---offline - Build without accessing network resources ---parallel - Build projects in parallel ---profile - Profile build time and create report ---priority - Set priority for Gradle worker processes (low normal) ---project-cache-dir - Specifies the project-specific cache directory ---project-dir - Specifies the start directory for Gradle ---project-prop - Sets a project property of the root project ---quiet - Log errors only ---recompile-scripts - Forces scripts to be recompiled, bypassing caching ---refresh-dependencies - Refresh the state of dependencies ---rerun-tasks - Specifies that any task optimization is ignored ---scan - Create a build scan ---settings-file - Specifies the settings file ---stacktrace - Print out the stacktrace also for user exceptions ---status - Print Gradle Daemon status ---stop - Stop all Gradle Daemons ---system-prop - Set a system property ---update-locks - Perform a partial update of the dependency lock ---version - Prints Gradle version info ---warn - Log warnings and errors only ---warning-mode - Set types of warnings to log (all summary none) ---watch-fs - Gradle watches filesystem for incremental builds ---write-locks - Persists dependency resolution for locked configurations" - - COMPREPLY=( $(compgen -W "$args" -- "$cur") ) -} - -__gradle-properties() { - local cur - _get_comp_words_by_ref -n : cur - - local args="-Dorg.gradle.cache.reserved.mb= - Reserve Gradle Daemon memory for operations --Dorg.gradle.caching= - Set true to enable Gradle build cache --Dorg.gradle.console= - Set type of console output to generate (plain auto rich verbose) --Dorg.gradle.daemon.debug= - Set true to debug Gradle Daemon --Dorg.gradle.daemon.idletimeout= - Kill Gradle Daemon after # idle millis --Dorg.gradle.debug= - Set true to debug Gradle Client --Dorg.gradle.jvmargs= - Set JVM arguments --Dorg.gradle.java.home= - Set JDK home dir --Dorg.gradle.logging.level= - Set default Gradle log level (quiet warn lifecycle info debug) --Dorg.gradle.parallel= - Set true to enable parallel project builds (incubating) --Dorg.gradle.priority= - Set priority for Gradle worker processes (low normal) --Dorg.gradle.unsafe.watch-fs= - Set true to enable Gradle file watcher --Dorg.gradle.warning.mode= - Set types of warnings to log (all summary none) --Dorg.gradle.workers.max= - Set the number of workers Gradle is allowed to use" - COMPREPLY=( $(compgen -W "$args" -- "$cur") ) - return 0 -} - -__gradle-short-options() { - local cur - _get_comp_words_by_ref -n : cur - - local args="-? - Shows a help message --a - Do not rebuild project dependencies --b - Specifies the build file --c - Specifies the settings file --d - Log at the debug level --g - Specifies the Gradle user home directory --h - Shows a help message --i - Set log level to INFO --m - Runs the build with all task actions disabled --p - Specifies the start directory for Gradle --q - Log errors only --s - Print out the stacktrace also for user exceptions --t - Continuous mode. Automatically re-run build after changes --u - Do not search parent directories for a settings.gradle --v - Prints Gradle version info --w - Log warnings and errors only --x - Specify a task to be excluded --D - Set a system property --I - Specifies an initialization script --P - Sets a project property of the root project --S - Print out the full (very verbose) stacktrace" - COMPREPLY=( $(compgen -W "$args" -- "$cur") ) -} - -__gradle-tasks() { - local cur - _get_comp_words_by_ref -n : cur - - __gradle-init-cache-dir - __gradle-set-project-root-dir - __gradle-set-build-file - if [[ -f "$gradle_build_file" ]]; then - __gradle-set-cache-name - __gradle-generate-script-cache - __gradle-set-files-checksum - - # The cache key is md5 sum of all gradle scripts, so it's valid if it exists. - if [[ -f "$cache_dir/$cache_name.md5" ]]; then - local cached_checksum="$(cat "$cache_dir/$cache_name.md5")" - local -a cached_tasks - if [[ -z "$cur" ]]; then - cached_tasks=( $(grep -v "^:" "$cache_dir/$cached_checksum") ) - else - cached_tasks=( $(grep "^$cur" "$cache_dir/$cached_checksum") ) - fi - COMPREPLY=( $(compgen -W "${cached_tasks[*]}" -- "$cur") ) - else - __gradle-notify-tasks-cache-build - fi - - # Regenerate tasks cache in the background - if [[ "$gradle_files_checksum" != "$(cat "$cache_dir/$cache_name.md5")" || ! -f "$cache_dir/$gradle_files_checksum" || $(wc -c < $cache_dir/$gradle_files_checksum) -le 1 ]]; then - $(__gradle-generate-tasks-cache 1>&2 2>/dev/null &) - fi - else - # Default tasks available outside Gradle projects - local args="buildEnvironment - Displays all buildscript dependencies declared in root project. -components - Displays the components produced by root project. -dependencies - Displays all dependencies declared in root project. -dependencyInsight - Displays the insight into a specific dependency in root project. -dependentComponents - Displays the dependent components of components in root project. -help - Displays a help message. -init - Initializes a new Gradle build. -model - Displays the configuration model of root project. -projects - Displays the sub-projects of root project. -properties - Displays the properties of root project. -tasks - Displays the tasks runnable from root project. -wrapper - Generates Gradle wrapper files." - COMPREPLY=( $(compgen -W "$args" -- "$cur") ) - fi - - # Prevent colons from messing up completion - [[ -n "$(type -t __ltrim_colon_completions)" ]] && __ltrim_colon_completions "$cur" -} - -__gradle-options-arguments() { - local cur prev - _get_comp_words_by_ref -n : cur - _get_comp_words_by_ref -n : -p prev - - case "$prev" in - -b|--build-file|-c|--settings-file|-I|--init-script) - COMPREPLY=( $(compgen -f -A file -o filenames -X '!*.gradle*' "$cur") ) - return 0 - ;; - -g|--gradle-user-home|--include-build|--project-cache-dir|--project-dir) - COMPREPLY=( $(compgen -d "$cur") ) - return 0 - ;; - *) - __gradle-tasks - return 0 - ;; - esac -} - - -__gradle-notify-tasks-cache-build() { - # Notify user of cache rebuild - echo -e " (Building completion cache. Please wait)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\c" - __gradle-generate-tasks-cache - # Remove "please wait" message by writing a bunch of spaces then moving back to the left - echo -e " \b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\c" -} - -__gradle-generate-tasks-cache() { - __gradle-set-files-checksum - - # Use Gradle wrapper when it exists. - local gradle_cmd="gradle" - if [[ -x "$project_root_dir/gradlew" ]]; then - gradle_cmd="$project_root_dir/gradlew" - fi - - # Run gradle to retrieve possible tasks and cache. - # Reuse Gradle Daemon if IDLE but don't start a new one. - local gradle_tasks_output - if [[ ! -z "$("$gradle_cmd" --status 2>/dev/null | grep IDLE)" ]]; then - gradle_tasks_output="$("$gradle_cmd" -b "$gradle_build_file" --daemon --no-scan --console=plain -q tasks --all)" - else - gradle_tasks_output="$("$gradle_cmd" -b "$gradle_build_file" --no-daemon --no-scan --console=plain -q tasks --all)" - fi - local output_line - local task_description - local -a gradle_all_tasks=() - local -a root_tasks=() - local -a subproject_tasks=() - for output_line in ${gradle_tasks_output}; do - if [[ "$output_line" =~ ^([[:lower:]][[:alnum:][:punct:]]*)([[:space:]]-[[:space:]]([[:print:]]*))? ]]; then - task_name="${BASH_REMATCH[1]}" - task_description="${BASH_REMATCH[3]}" - gradle_all_tasks+=( "$task_name - $task_description" ) - # Completion for subproject tasks with ':' prefix - if [[ "$task_name" =~ ^([[:alnum:][:punct:]]+):([[:alnum:]]+) ]]; then - gradle_all_tasks+=( ":$task_name - $task_description" ) - subproject_tasks+=( "${BASH_REMATCH[2]}" ) - else - root_tasks+=( "$task_name" ) - fi - fi - done - - # subproject tasks can be referenced implicitly from root project - if [[ "$GRADLE_COMPLETION_UNQUALIFIED_TASKS" == "true" ]]; then - local -a implicit_tasks=() - implicit_tasks=( $(comm -23 <(printf "%s\n" "${subproject_tasks[@]}" | sort) <(printf "%s\n" "${root_tasks[@]}" | sort)) ) - for task in $(printf "%s\n" "${implicit_tasks[@]}"); do - gradle_all_tasks+=( "$task" ) - done - fi - - printf "%s\n" "${gradle_all_tasks[@]}" >| "$cache_dir/$gradle_files_checksum" - echo "$gradle_files_checksum" >| "$cache_dir/$cache_name.md5" -} - -__gradle-completion-init() { - local cache_dir cache_name gradle_build_file gradle_files_checksum project_root_dir - - local OLDIFS="$IFS" - local IFS=$'\n' - - __gradle-init-cache-dir - __gradle-set-project-root-dir - __gradle-set-build-file - if [[ -f "$gradle_build_file" ]]; then - __gradle-set-cache-name - __gradle-generate-script-cache - __gradle-set-files-checksum - __gradle-notify-tasks-cache-build - fi - - IFS="$OLDIFS" - - return 0 -} - -_gradle() { - local cache_dir cache_name gradle_build_file gradle_files_checksum project_root_dir - local cur prev - _get_comp_words_by_ref -n : cur - _get_comp_words_by_ref -n : -p prev - - # Set bash internal field separator to '\n' - # This allows us to provide descriptions for options and tasks - local OLDIFS="$IFS" - local IFS=$'\n' - - if [[ ${cur} == --* ]]; then - __gradle-long-options - elif [[ ${cur} == -D* ]]; then - __gradle-properties - elif [[ ${cur} == -* ]]; then - __gradle-short-options - elif [[ ${prev} == -* ]]; then - __gradle-options-arguments - else - __gradle-tasks - fi - - IFS="$OLDIFS" - - # Remove description ("[:space:]" and after) if only one possibility - if [[ ${#COMPREPLY[*]} -eq 1 ]]; then - COMPREPLY=( ${COMPREPLY[0]%% *} ) - fi - - return 0 -} -complete -F _gradle gradle -complete -F _gradle gradle.bat -complete -F _gradle gradlew -complete -F _gradle gradlew.bat -complete -F _gradle ./gradlew -complete -F _gradle ./gradlew.bat - -if hash gw 2>/dev/null || alias gw >/dev/null 2>&1; then - complete -F _gradle gw -fi diff --git a/.local/share/bash-completion/completions/helm.bash b/.local/share/bash-completion/completions/helm.bash deleted file mode 100644 index ca91731b..00000000 --- a/.local/share/bash-completion/completions/helm.bash +++ /dev/null @@ -1,325 +0,0 @@ -# bash completion V2 for helm -*- shell-script -*- - -__helm_debug() -{ - if [[ -n ${BASH_COMP_DEBUG_FILE:-} ]]; then - echo "$*" >> "${BASH_COMP_DEBUG_FILE}" - fi -} - -# Macs have bash3 for which the bash-completion package doesn't include -# _init_completion. This is a minimal version of that function. -__helm_init_completion() -{ - COMPREPLY=() - _get_comp_words_by_ref "$@" cur prev words cword -} - -# This function calls the helm program to obtain the completion -# results and the directive. It fills the 'out' and 'directive' vars. -__helm_get_completion_results() { - local requestComp lastParam lastChar args - - # Prepare the command to request completions for the program. - # Calling ${words[0]} instead of directly helm allows to handle aliases - args=("${words[@]:1}") - requestComp="${words[0]} __complete ${args[*]}" - - lastParam=${words[$((${#words[@]}-1))]} - lastChar=${lastParam:$((${#lastParam}-1)):1} - __helm_debug "lastParam ${lastParam}, lastChar ${lastChar}" - - if [ -z "${cur}" ] && [ "${lastChar}" != "=" ]; then - # If the last parameter is complete (there is a space following it) - # We add an extra empty parameter so we can indicate this to the go method. - __helm_debug "Adding extra empty parameter" - requestComp="${requestComp} ''" - fi - - # When completing a flag with an = (e.g., helm -n=) - # bash focuses on the part after the =, so we need to remove - # the flag part from $cur - if [[ "${cur}" == -*=* ]]; then - cur="${cur#*=}" - fi - - __helm_debug "Calling ${requestComp}" - # Use eval to handle any environment variables and such - out=$(eval "${requestComp}" 2>/dev/null) - - # Extract the directive integer at the very end of the output following a colon (:) - directive=${out##*:} - # Remove the directive - out=${out%:*} - if [ "${directive}" = "${out}" ]; then - # There is not directive specified - directive=0 - fi - __helm_debug "The completion directive is: ${directive}" - __helm_debug "The completions are: ${out}" -} - -__helm_process_completion_results() { - local shellCompDirectiveError=1 - local shellCompDirectiveNoSpace=2 - local shellCompDirectiveNoFileComp=4 - local shellCompDirectiveFilterFileExt=8 - local shellCompDirectiveFilterDirs=16 - - if [ $((directive & shellCompDirectiveError)) -ne 0 ]; then - # Error code. No completion. - __helm_debug "Received error from custom completion go code" - return - else - if [ $((directive & shellCompDirectiveNoSpace)) -ne 0 ]; then - if [[ $(type -t compopt) = "builtin" ]]; then - __helm_debug "Activating no space" - compopt -o nospace - else - __helm_debug "No space directive not supported in this version of bash" - fi - fi - if [ $((directive & shellCompDirectiveNoFileComp)) -ne 0 ]; then - if [[ $(type -t compopt) = "builtin" ]]; then - __helm_debug "Activating no file completion" - compopt +o default - else - __helm_debug "No file completion directive not supported in this version of bash" - fi - fi - fi - - # Separate activeHelp from normal completions - local completions=() - local activeHelp=() - __helm_extract_activeHelp - - if [ $((directive & shellCompDirectiveFilterFileExt)) -ne 0 ]; then - # File extension filtering - local fullFilter filter filteringCmd - - # Do not use quotes around the $completions variable or else newline - # characters will be kept. - for filter in ${completions[*]}; do - fullFilter+="$filter|" - done - - filteringCmd="_filedir $fullFilter" - __helm_debug "File filtering command: $filteringCmd" - $filteringCmd - elif [ $((directive & shellCompDirectiveFilterDirs)) -ne 0 ]; then - # File completion for directories only - - # Use printf to strip any trailing newline - local subdir - subdir=$(printf "%s" "${completions[0]}") - if [ -n "$subdir" ]; then - __helm_debug "Listing directories in $subdir" - pushd "$subdir" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return - else - __helm_debug "Listing directories in ." - _filedir -d - fi - else - __helm_handle_completion_types - fi - - __helm_handle_special_char "$cur" : - __helm_handle_special_char "$cur" = - - # Print the activeHelp statements before we finish - if [ ${#activeHelp} -ne 0 ]; then - printf "\n"; - printf "%s\n" "${activeHelp[@]}" - printf "\n" - - # The prompt format is only available from bash 4.4. - # We test if it is available before using it. - if (x=${PS1@P}) 2> /dev/null; then - printf "%s" "${PS1@P}${COMP_LINE[@]}" - else - # Can't print the prompt. Just print the - # text the user had typed, it is workable enough. - printf "%s" "${COMP_LINE[@]}" - fi - fi -} - -# Separate activeHelp lines from real completions. -# Fills the $activeHelp and $completions arrays. -__helm_extract_activeHelp() { - local activeHelpMarker="_activeHelp_ " - local endIndex=${#activeHelpMarker} - - while IFS='' read -r comp; do - if [ "${comp:0:endIndex}" = "$activeHelpMarker" ]; then - comp=${comp:endIndex} - __helm_debug "ActiveHelp found: $comp" - if [ -n "$comp" ]; then - activeHelp+=("$comp") - fi - else - # Not an activeHelp line but a normal completion - completions+=("$comp") - fi - done < <(printf "%s\n" "${out}") -} - -__helm_handle_completion_types() { - __helm_debug "__helm_handle_completion_types: COMP_TYPE is $COMP_TYPE" - - case $COMP_TYPE in - 37|42) - # Type: menu-complete/menu-complete-backward and insert-completions - # If the user requested inserting one completion at a time, or all - # completions at once on the command-line we must remove the descriptions. - # https://github.com/spf13/cobra/issues/1508 - local tab=$'\t' comp - while IFS='' read -r comp; do - [[ -z $comp ]] && continue - # Strip any description - comp=${comp%%$tab*} - # Only consider the completions that match - if [[ $comp == "$cur"* ]]; then - COMPREPLY+=("$comp") - fi - done < <(printf "%s\n" "${completions[@]}") - ;; - - *) - # Type: complete (normal completion) - __helm_handle_standard_completion_case - ;; - esac -} - -__helm_handle_standard_completion_case() { - local tab=$'\t' comp - - # Short circuit to optimize if we don't have descriptions - if [[ "${completions[*]}" != *$tab* ]]; then - IFS=$'\n' read -ra COMPREPLY -d '' < <(compgen -W "${completions[*]}" -- "$cur") - return 0 - fi - - local longest=0 - local compline - # Look for the longest completion so that we can format things nicely - while IFS='' read -r compline; do - [[ -z $compline ]] && continue - # Strip any description before checking the length - comp=${compline%%$tab*} - # Only consider the completions that match - [[ $comp == "$cur"* ]] || continue - COMPREPLY+=("$compline") - if ((${#comp}>longest)); then - longest=${#comp} - fi - done < <(printf "%s\n" "${completions[@]}") - - # If there is a single completion left, remove the description text - if [ ${#COMPREPLY[*]} -eq 1 ]; then - __helm_debug "COMPREPLY[0]: ${COMPREPLY[0]}" - comp="${COMPREPLY[0]%%$tab*}" - __helm_debug "Removed description from single completion, which is now: ${comp}" - COMPREPLY[0]=$comp - else # Format the descriptions - __helm_format_comp_descriptions $longest - fi -} - -__helm_handle_special_char() -{ - local comp="$1" - local char=$2 - if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then - local word=${comp%"${comp##*${char}}"} - local idx=${#COMPREPLY[*]} - while [[ $((--idx)) -ge 0 ]]; do - COMPREPLY[$idx]=${COMPREPLY[$idx]#"$word"} - done - fi -} - -__helm_format_comp_descriptions() -{ - local tab=$'\t' - local comp desc maxdesclength - local longest=$1 - - local i ci - for ci in ${!COMPREPLY[*]}; do - comp=${COMPREPLY[ci]} - # Properly format the description string which follows a tab character if there is one - if [[ "$comp" == *$tab* ]]; then - __helm_debug "Original comp: $comp" - desc=${comp#*$tab} - comp=${comp%%$tab*} - - # $COLUMNS stores the current shell width. - # Remove an extra 4 because we add 2 spaces and 2 parentheses. - maxdesclength=$(( COLUMNS - longest - 4 )) - - # Make sure we can fit a description of at least 8 characters - # if we are to align the descriptions. - if [[ $maxdesclength -gt 8 ]]; then - # Add the proper number of spaces to align the descriptions - for ((i = ${#comp} ; i < longest ; i++)); do - comp+=" " - done - else - # Don't pad the descriptions so we can fit more text after the completion - maxdesclength=$(( COLUMNS - ${#comp} - 4 )) - fi - - # If there is enough space for any description text, - # truncate the descriptions that are too long for the shell width - if [ $maxdesclength -gt 0 ]; then - if [ ${#desc} -gt $maxdesclength ]; then - desc=${desc:0:$(( maxdesclength - 1 ))} - desc+="…" - fi - comp+=" ($desc)" - fi - COMPREPLY[ci]=$comp - __helm_debug "Final comp: $comp" - fi - done -} - -__start_helm() -{ - local cur prev words cword split - - COMPREPLY=() - - # Call _init_completion from the bash-completion package - # to prepare the arguments properly - if declare -F _init_completion >/dev/null 2>&1; then - _init_completion -n "=:" || return - else - __helm_init_completion -n "=:" || return - fi - - __helm_debug - __helm_debug "========= starting completion logic ==========" - __helm_debug "cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}, cword is $cword" - - # The user could have moved the cursor backwards on the command-line. - # We need to trigger completion from the $cword location, so we need - # to truncate the command-line ($words) up to the $cword location. - words=("${words[@]:0:$cword+1}") - __helm_debug "Truncated words[*]: ${words[*]}," - - local out directive - __helm_get_completion_results - __helm_process_completion_results -} - -if [[ $(type -t compopt) = "builtin" ]]; then - complete -o default -F __start_helm helm -else - complete -o default -o nospace -F __start_helm helm -fi - -# ex: ts=4 sw=4 et filetype=sh diff --git a/.local/share/bash-completion/completions/hyperfine.bash b/.local/share/bash-completion/completions/hyperfine.bash deleted file mode 100644 index ce61b4ed..00000000 --- a/.local/share/bash-completion/completions/hyperfine.bash +++ /dev/null @@ -1,174 +0,0 @@ -_hyperfine() { - local i cur prev opts cmds - COMPREPLY=() - cur="${COMP_WORDS[COMP_CWORD]}" - prev="${COMP_WORDS[COMP_CWORD-1]}" - cmd="" - opts="" - - for i in ${COMP_WORDS[@]} - do - case "${i}" in - "$1") - cmd="hyperfine" - ;; - *) - ;; - esac - done - - case "${cmd}" in - hyperfine) - opts="-h -V -w -m -M -r -s -p -c -P -D -L -S -N -i -u -n --help --version --warmup --min-runs --max-runs --runs --setup --prepare --cleanup --parameter-scan --parameter-step-size --parameter-list --style --shell --ignore-failure --time-unit --export-asciidoc --export-csv --export-json --export-markdown --export-orgmode --show-output --output --command-name --min-benchmarking-time --debug-mode ..." - if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --warmup) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -w) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --min-runs) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -m) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --max-runs) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -M) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --runs) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -r) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --setup) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -s) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --prepare) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -p) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --cleanup) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -c) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --parameter-scan) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -P) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --parameter-step-size) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -D) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --parameter-list) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -L) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --style) - COMPREPLY=($(compgen -W "auto basic full nocolor color none" -- "${cur}")) - return 0 - ;; - --shell) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -S) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --time-unit) - COMPREPLY=($(compgen -W "millisecond second" -- "${cur}")) - return 0 - ;; - -u) - COMPREPLY=($(compgen -W "millisecond second" -- "${cur}")) - return 0 - ;; - --export-asciidoc) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --export-csv) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --export-json) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --export-markdown) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --export-orgmode) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --output) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --command-name) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -n) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --min-benchmarking-time) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - esac -} - -complete -F _hyperfine -o bashdefault -o default hyperfine diff --git a/.local/share/bash-completion/completions/kubectl.bash b/.local/share/bash-completion/completions/kubectl.bash deleted file mode 100644 index f768ece1..00000000 --- a/.local/share/bash-completion/completions/kubectl.bash +++ /dev/null @@ -1,302 +0,0 @@ - -# Copyright 2016 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# bash completion V2 for kubectl -*- shell-script -*- - -__kubectl_debug() -{ - if [[ -n ${BASH_COMP_DEBUG_FILE:-} ]]; then - echo "$*" >> "${BASH_COMP_DEBUG_FILE}" - fi -} - -# Macs have bash3 for which the bash-completion package doesn't include -# _init_completion. This is a minimal version of that function. -__kubectl_init_completion() -{ - COMPREPLY=() - _get_comp_words_by_ref "$@" cur prev words cword -} - -# This function calls the kubectl program to obtain the completion -# results and the directive. It fills the 'out' and 'directive' vars. -__kubectl_get_completion_results() { - local requestComp lastParam lastChar args - - # Prepare the command to request completions for the program. - # Calling ${words[0]} instead of directly kubectl allows to handle aliases - args=("${words[@]:1}") - requestComp="${words[0]} __completeNoDesc ${args[*]}" - - lastParam=${words[$((${#words[@]}-1))]} - lastChar=${lastParam:$((${#lastParam}-1)):1} - __kubectl_debug "lastParam ${lastParam}, lastChar ${lastChar}" - - if [ -z "${cur}" ] && [ "${lastChar}" != "=" ]; then - # If the last parameter is complete (there is a space following it) - # We add an extra empty parameter so we can indicate this to the go method. - __kubectl_debug "Adding extra empty parameter" - requestComp="${requestComp} ''" - fi - - # When completing a flag with an = (e.g., kubectl -n=) - # bash focuses on the part after the =, so we need to remove - # the flag part from $cur - if [[ "${cur}" == -*=* ]]; then - cur="${cur#*=}" - fi - - __kubectl_debug "Calling ${requestComp}" - # Use eval to handle any environment variables and such - out=$(eval "${requestComp}" 2>/dev/null) - - # Extract the directive integer at the very end of the output following a colon (:) - directive=${out##*:} - # Remove the directive - out=${out%:*} - if [ "${directive}" = "${out}" ]; then - # There is not directive specified - directive=0 - fi - __kubectl_debug "The completion directive is: ${directive}" - __kubectl_debug "The completions are: ${out[*]}" -} - -__kubectl_process_completion_results() { - local shellCompDirectiveError=1 - local shellCompDirectiveNoSpace=2 - local shellCompDirectiveNoFileComp=4 - local shellCompDirectiveFilterFileExt=8 - local shellCompDirectiveFilterDirs=16 - - if [ $((directive & shellCompDirectiveError)) -ne 0 ]; then - # Error code. No completion. - __kubectl_debug "Received error from custom completion go code" - return - else - if [ $((directive & shellCompDirectiveNoSpace)) -ne 0 ]; then - if [[ $(type -t compopt) = "builtin" ]]; then - __kubectl_debug "Activating no space" - compopt -o nospace - else - __kubectl_debug "No space directive not supported in this version of bash" - fi - fi - if [ $((directive & shellCompDirectiveNoFileComp)) -ne 0 ]; then - if [[ $(type -t compopt) = "builtin" ]]; then - __kubectl_debug "Activating no file completion" - compopt +o default - else - __kubectl_debug "No file completion directive not supported in this version of bash" - fi - fi - fi - - if [ $((directive & shellCompDirectiveFilterFileExt)) -ne 0 ]; then - # File extension filtering - local fullFilter filter filteringCmd - - # Do not use quotes around the $out variable or else newline - # characters will be kept. - for filter in ${out[*]}; do - fullFilter+="$filter|" - done - - filteringCmd="_filedir $fullFilter" - __kubectl_debug "File filtering command: $filteringCmd" - $filteringCmd - elif [ $((directive & shellCompDirectiveFilterDirs)) -ne 0 ]; then - # File completion for directories only - - # Use printf to strip any trailing newline - local subdir - subdir=$(printf "%s" "${out[0]}") - if [ -n "$subdir" ]; then - __kubectl_debug "Listing directories in $subdir" - pushd "$subdir" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return - else - __kubectl_debug "Listing directories in ." - _filedir -d - fi - else - __kubectl_handle_completion_types - fi - - __kubectl_handle_special_char "$cur" : - __kubectl_handle_special_char "$cur" = -} - -__kubectl_handle_completion_types() { - __kubectl_debug "__kubectl_handle_completion_types: COMP_TYPE is $COMP_TYPE" - - case $COMP_TYPE in - 37|42) - # Type: menu-complete/menu-complete-backward and insert-completions - # If the user requested inserting one completion at a time, or all - # completions at once on the command-line we must remove the descriptions. - # https://github.com/spf13/cobra/issues/1508 - local tab comp - tab=$(printf '\t') - while IFS='' read -r comp; do - # Strip any description - comp=${comp%%$tab*} - # Only consider the completions that match - comp=$(compgen -W "$comp" -- "$cur") - if [ -n "$comp" ]; then - COMPREPLY+=("$comp") - fi - done < <(printf "%s\n" "${out[@]}") - ;; - - *) - # Type: complete (normal completion) - __kubectl_handle_standard_completion_case - ;; - esac -} - -__kubectl_handle_standard_completion_case() { - local tab comp - tab=$(printf '\t') - - local longest=0 - # Look for the longest completion so that we can format things nicely - while IFS='' read -r comp; do - # Strip any description before checking the length - comp=${comp%%$tab*} - # Only consider the completions that match - comp=$(compgen -W "$comp" -- "$cur") - if ((${#comp}>longest)); then - longest=${#comp} - fi - done < <(printf "%s\n" "${out[@]}") - - local completions=() - while IFS='' read -r comp; do - if [ -z "$comp" ]; then - continue - fi - - __kubectl_debug "Original comp: $comp" - comp="$(__kubectl_format_comp_descriptions "$comp" "$longest")" - __kubectl_debug "Final comp: $comp" - completions+=("$comp") - done < <(printf "%s\n" "${out[@]}") - - while IFS='' read -r comp; do - COMPREPLY+=("$comp") - done < <(compgen -W "${completions[*]}" -- "$cur") - - # If there is a single completion left, remove the description text - if [ ${#COMPREPLY[*]} -eq 1 ]; then - __kubectl_debug "COMPREPLY[0]: ${COMPREPLY[0]}" - comp="${COMPREPLY[0]%% *}" - __kubectl_debug "Removed description from single completion, which is now: ${comp}" - COMPREPLY=() - COMPREPLY+=("$comp") - fi -} - -__kubectl_handle_special_char() -{ - local comp="$1" - local char=$2 - if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then - local word=${comp%"${comp##*${char}}"} - local idx=${#COMPREPLY[*]} - while [[ $((--idx)) -ge 0 ]]; do - COMPREPLY[$idx]=${COMPREPLY[$idx]#"$word"} - done - fi -} - -__kubectl_format_comp_descriptions() -{ - local tab - tab=$(printf '\t') - local comp="$1" - local longest=$2 - - # Properly format the description string which follows a tab character if there is one - if [[ "$comp" == *$tab* ]]; then - desc=${comp#*$tab} - comp=${comp%%$tab*} - - # $COLUMNS stores the current shell width. - # Remove an extra 4 because we add 2 spaces and 2 parentheses. - maxdesclength=$(( COLUMNS - longest - 4 )) - - # Make sure we can fit a description of at least 8 characters - # if we are to align the descriptions. - if [[ $maxdesclength -gt 8 ]]; then - # Add the proper number of spaces to align the descriptions - for ((i = ${#comp} ; i < longest ; i++)); do - comp+=" " - done - else - # Don't pad the descriptions so we can fit more text after the completion - maxdesclength=$(( COLUMNS - ${#comp} - 4 )) - fi - - # If there is enough space for any description text, - # truncate the descriptions that are too long for the shell width - if [ $maxdesclength -gt 0 ]; then - if [ ${#desc} -gt $maxdesclength ]; then - desc=${desc:0:$(( maxdesclength - 1 ))} - desc+="…" - fi - comp+=" ($desc)" - fi - fi - - # Must use printf to escape all special characters - printf "%q" "${comp}" -} - -__start_kubectl() -{ - local cur prev words cword split - - COMPREPLY=() - - # Call _init_completion from the bash-completion package - # to prepare the arguments properly - if declare -F _init_completion >/dev/null 2>&1; then - _init_completion -n "=:" || return - else - __kubectl_init_completion -n "=:" || return - fi - - __kubectl_debug - __kubectl_debug "========= starting completion logic ==========" - __kubectl_debug "cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}, cword is $cword" - - # The user could have moved the cursor backwards on the command-line. - # We need to trigger completion from the $cword location, so we need - # to truncate the command-line ($words) up to the $cword location. - words=("${words[@]:0:$cword+1}") - __kubectl_debug "Truncated words[*]: ${words[*]}," - - local out directive - __kubectl_get_completion_results - __kubectl_process_completion_results -} - -if [[ $(type -t compopt) = "builtin" ]]; then - complete -o default -F __start_kubectl kubectl -else - complete -o default -o nospace -F __start_kubectl kubectl -fi - -# ex: ts=4 sw=4 et filetype=sh diff --git a/.local/share/bash-completion/completions/mcfly.bash b/.local/share/bash-completion/completions/mcfly.bash deleted file mode 100644 index 0498ec62..00000000 --- a/.local/share/bash-completion/completions/mcfly.bash +++ /dev/null @@ -1,85 +0,0 @@ -#!/bin/bash - -# Ensure stdin is a tty -# Avoid loading this file more than once -if [[ -t 0 ]] && [[ "$__MCFLY_LOADED" != "loaded" ]]; then - __MCFLY_LOADED="loaded" - - # Ensure HISTFILE exists. - export HISTFILE="${HISTFILE:-$HOME/.bash_history}" - if [[ ! -r "${HISTFILE}" ]]; then - echo "McFly: ${HISTFILE} does not exist or is not readable. Please fix this or set HISTFILE to something else before using McFly." - return 1 - fi - - # MCFLY_SESSION_ID is used by McFly internally to keep track of the commands from a particular terminal session. - MCFLY_SESSION_ID="$(command dd if=/dev/urandom bs=256 count=1 2> /dev/null | LC_ALL=C command tr -dc 'a-zA-Z0-9' | command head -c 24)" - export MCFLY_SESSION_ID - - # Find the binary - MCFLY_PATH=${MCFLY_PATH:-$(command -v mcfly)} - if [ -z "$MCFLY_PATH" ]; then - echo "Cannot find the mcfly binary, please make sure that mcfly is in your path before sourcing mcfly.bash." - return 1 - fi - - # Ignore commands with a leading space - export HISTCONTROL="${HISTCONTROL:-ignorespace}" - - # Append new history items to .bash_history - shopt -s histappend - - # Setup a function to be used by $PROMPT_COMMAND. - function mcfly_prompt_command { - local exit_code=$? # Record exit status of previous command. - - # Populate McFly's temporary, per-session history file from recent commands in the shell's primary HISTFILE. - if [[ ! -f "${MCFLY_HISTORY}" ]]; then - MCFLY_HISTORY=$(mktemp -t mcfly.XXXXXXXX) - export MCFLY_HISTORY - command tail -n100 "${HISTFILE}" >| "${MCFLY_HISTORY}" - fi - - history -a "${MCFLY_HISTORY}" # Append history to $MCFLY_HISTORY. - # Run mcfly with the saved code. It will: - # * append commands to $HISTFILE, (~/.bash_history by default) - # for backwards compatibility and to load in new terminal sessions; - # * find the text of the last command in $MCFLY_HISTORY and save it to the database. - $MCFLY_PATH add --exit ${exit_code} --append-to-histfile - # Clear the in-memory history and reload it from $MCFLY_HISTORY - # (to remove instances of '#mcfly: ' from the local session history). - history -cr "${MCFLY_HISTORY}" - return ${exit_code} # Restore the original exit code by returning it. - } - - # Set $PROMPT_COMMAND run mcfly_prompt_command, preserving any existing $PROMPT_COMMAND. - if [ -z "$PROMPT_COMMAND" ] - then - PROMPT_COMMAND="mcfly_prompt_command" - elif [[ ! "$PROMPT_COMMAND" =~ "mcfly_prompt_command" ]] - then - PROMPT_COMMAND="mcfly_prompt_command;${PROMPT_COMMAND#;}" - fi - - # If this is an interactive shell, take ownership of ctrl-r. - if [[ $- =~ .*i.* ]]; then - if [[ ${BASH_VERSINFO[0]} -ge 4 ]]; then - # shellcheck disable=SC2016 - bind -x '"\C-r": "echo \#mcfly: ${READLINE_LINE[@]} >> $MCFLY_HISTORY ; READLINE_LINE= ; mcfly search"' - else - # The logic here is: - # 1. Jump to the beginning of the edit buffer, add 'mcfly: ', and comment out the current line. We comment out the line - # to ensure that all possible special characters, including backticks, are ignored. This commented out line will - # end up as the most recent entry in the $MCFLY_HISTORY file. - # 2. Type "mcfly search" and then run the command. McFly will pull the last line from the $MCFLY_HISTORY file, - # which should be the commented-out search from step #1. It will then remove that line from the history file and - # render the search UI pre-filled with it. - if set -o | grep "vi " | grep -q on; then - bind "'\C-r': '\e0i#mcfly: \e\C-m mcfly search\C-m'" - else - bind "'\C-r': '\C-amcfly: \e# mcfly search\C-m'" - fi - fi - fi - -fi diff --git a/.local/share/bash-completion/completions/nb.bash b/.local/share/bash-completion/completions/nb.bash deleted file mode 100644 index d2c9d409..00000000 --- a/.local/share/bash-completion/completions/nb.bash +++ /dev/null @@ -1,171 +0,0 @@ -#!/usr/bin/env bash -############################################################################### -# __ _ -# \ \ _ __ | |__ -# \ \ | '_ \| '_ \ -# / / | | | | |_) | -# /_/ |_| |_|_.__/ -# -# [nb] Command line and local web note-taking, bookmarking, and archiving with -# plain text data storage, encryption, filtering and search, pinning, #tagging, -# Git-backed versioning and syncing, Pandoc-backed conversion, global and local -# notebooks, customizable color themes, [[wiki-style linking]], plugins, and -# more in a single portable, user-friendly script. -# -# https://github.com/xwmx/nb -############################################################################### - -_nb_subcommands() { - # _nb_cache_completions() - # - # Usage: - # _nb_cache_completions - # - # Description: - # Cache completions for `nb`. Generating completions can be slow and - # native shell caching doesn't appear to help. - _nb_cache_completions() { - local _cache_path="${1:-}" - - [[ -z "${_cache_path:-}" ]] && return 0 - - # Remove outdated cache files. - - local _base_cache_path="${_cache_path%-*}" - - local __suffix= - for __suffix in "zsh" "v1" - do - if [[ -e "${_base_cache_path:?}-${__suffix:?}" ]] - then - rm -f "${_base_cache_path:?}-${__suffix:?}" - fi - done - - # Rebuild completion cache. - - local _commands=() - IFS=$'\n' _commands=($(nb subcommands)) - - local _notebooks=() - IFS=$'\n' _notebooks=($(nb notebooks --names --no-color --unarchived)) - - local _completions=() - IFS=$'\n' _completions=(${_commands[@]}) - - local _commands_cached= - local _notebooks_cached= - - if [[ -e "${_cache_path}" ]] - then - local _counter=0 - - while IFS= read -r __line - do - _counter=$((_counter+1)) - - if [[ "${_counter}" == 1 ]] - then - _commands_cached="${__line}" - elif [[ "${_counter}" == 2 ]] - then - _notebooks_cached="${__line}" - else - break - fi - done < "${_cache_path}" - fi - - if [[ "${_commands_cached}" != "${_commands[*]:-}" ]] || - [[ "${_notebooks_cached}" != "${_notebooks[*]:-}" ]] - then - # Construct : completions. - local __notebook= - for __notebook in "${_notebooks[@]}" - do - local __command= - for __command in "${_commands[@]}" - do - if [[ -n "${__notebook:-}" ]] && - [[ -n "${__command:-}" ]] - then - _completions+=("${__notebook}:${__command}") - fi - done - done - - local _directory_path= - _directory_path="$(dirname "${_cache_path}")" - - mkdir -p "${_directory_path}" - - if [[ -f "${_cache_path:?}" ]] - then - rm -f "${_cache_path:?}" - fi - - touch "${_cache_path:?}" - - { - (IFS=$' '; printf "%s\\n" "${_commands[*]}") - (IFS=$' '; printf "%s\\n" "${_notebooks[*]}") - printf "%s\\n" "${_completions[@]}" - } >> "${_cache_path}" - fi - } - - local _nb_dir= - _nb_dir="$(nb env | grep 'NB_DIR' | cut -d = -f 2)" - - if [[ -z "${_nb_dir:?}" ]] || - [[ ! -e "${_nb_dir}" ]] - then - return 0 - elif [[ -L "${_nb_dir}" ]] - then - if hash "realpath" 2>/dev/null - then - _nb_dir="$(realpath "${_nb_dir}")" - else - _nb_dir="$(readlink "${_nb_dir}")" - fi - fi - - if [[ ! -d "${_nb_dir}" ]] - then - return 0 - fi - - local _cache_path="${_nb_dir:?}/.cache/nb-completion-cache-v2" - local _completions_cached=() - - if [[ ! -e "${_cache_path}" ]] - then - _nb_cache_completions "${_cache_path}" - fi - - if [[ -e "${_cache_path}" ]] - then - local _counter=0 - - local __line= - while IFS= read -r __line - do - _counter=$((_counter+1)) - - if [[ "${_counter}" -gt 2 ]] - then - _completions_cached+=("${__line}") - fi - done < "${_cache_path}" - - (_nb_cache_completions "${_cache_path}" &) - fi - - local _current="${COMP_WORDS[COMP_CWORD]}" - COMPREPLY=() - - COMPREPLY=($(compgen -W "${_completions_cached[*]}" -- "${_current}")) -} - -complete -F _nb_subcommands nb diff --git a/.local/share/bash-completion/completions/nnn.bash b/.local/share/bash-completion/completions/nnn.bash deleted file mode 100644 index 9aa62b67..00000000 --- a/.local/share/bash-completion/completions/nnn.bash +++ /dev/null @@ -1,74 +0,0 @@ -# -# Rudimentary Bash completion definition for nnn. -# -# Author: -# Arun Prakash Jana -# - -_nnn () -{ - COMPREPLY=() - local IFS=$'\n' - local cur=$2 prev=$3 - local -a opts - opts=( - -a - -A - -b - -B - -c - -C - -d - -D - -e - -E - -f - -g - -H - -i - -J - -K - -l - -n - -o - -p - -P - -Q - -r - -R - -s - -S - -t - -T - -u - -U - -V - -x - -h - ) - if [[ $prev == -b ]]; then - local bookmarks=$(echo $NNN_BMS | awk -F: -v RS=\; '{print $1}') - COMPREPLY=( $(compgen -W "$bookmarks" -- "$cur") ) - elif [[ $prev == -l ]]; then - return 1 - elif [[ $prev == -p ]]; then - COMPREPLY=( $(compgen -f -d -- "$cur") ) - elif [[ $prev == -P ]]; then - local plugins=$(echo $NNN_PLUG | awk -F: -v RS=\; '{print $1}') - COMPREPLY=( $(compgen -W "$plugins" -- "$cur") ) - elif [[ $prev == -s ]]; then - local sessions_dir=${XDG_CONFIG_HOME:-$HOME/.config}/nnn/sessions - COMPREPLY=( $(cd "$sessions_dir" && compgen -f -d -- "$cur") ) - elif [[ $prev == -t ]]; then - return 1 - elif [[ $prev == -T ]]; then - local keys=$(echo "a d e r s t v" | awk -v RS=' ' '{print $0}') - COMPREPLY=( $(compgen -W "$keys" -- "$cur") ) - elif [[ $cur == -* ]]; then - COMPREPLY=( $(compgen -W "${opts[*]}" -- "$cur") ) - else - COMPREPLY=( $(compgen -f -d -- "$cur") ) - fi -} - -complete -o filenames -F _nnn nnn \ No newline at end of file diff --git a/.local/share/bash-completion/completions/poetry.bash b/.local/share/bash-completion/completions/poetry.bash deleted file mode 100644 index b052e8b5..00000000 --- a/.local/share/bash-completion/completions/poetry.bash +++ /dev/null @@ -1,200 +0,0 @@ -_poetry_d45857f4284b6851_complete() -{ - local cur script coms opts com - COMPREPLY=() - _get_comp_words_by_ref -n : cur words - - # for an alias, get the real script behind it - if [[ $(type -t ${words[0]}) == "alias" ]]; then - script=$(alias ${words[0]} | sed -E "s/alias ${words[0]}='(.*)'/\1/") - else - script=${words[0]} - fi - - # lookup for command - for word in ${words[@]:1}; do - if [[ $word != -* ]]; then - com=$word - break - fi - done - - # completing for an option - if [[ ${cur} == --* ]] ; then - opts="--ansi --help --no-ansi --no-cache --no-interaction --no-plugins --quiet --verbose --version" - - case "$com" in - - (about) - opts="${opts} " - ;; - - (add) - opts="${opts} --allow-prereleases --dev --dry-run --editable --extras --group --lock --optional --platform --python --source" - ;; - - (build) - opts="${opts} --format" - ;; - - (cache clear) - opts="${opts} --all" - ;; - - (cache list) - opts="${opts} " - ;; - - (check) - opts="${opts} " - ;; - - (config) - opts="${opts} --list --local --unset" - ;; - - (debug info) - opts="${opts} " - ;; - - (debug resolve) - opts="${opts} --extras --install --python --tree" - ;; - - (env info) - opts="${opts} --path" - ;; - - (env list) - opts="${opts} --full-path" - ;; - - (env remove) - opts="${opts} --all" - ;; - - (env use) - opts="${opts} " - ;; - - (export) - opts="${opts} --dev --extras --format --only --output --with --with-credentials --without --without-hashes --without-urls" - ;; - - (help) - opts="${opts} " - ;; - - (init) - opts="${opts} --author --dependency --description --dev-dependency --license --name --python" - ;; - - (install) - opts="${opts} --all-extras --dry-run --extras --no-dev --no-root --only --only-root --remove-untracked --sync --with --without" - ;; - - (list) - opts="${opts} " - ;; - - (lock) - opts="${opts} --check --no-update" - ;; - - (new) - opts="${opts} --name --readme --src" - ;; - - (publish) - opts="${opts} --build --cert --client-cert --dry-run --password --repository --skip-existing --username" - ;; - - (remove) - opts="${opts} --dev --dry-run --group" - ;; - - (run) - opts="${opts} " - ;; - - (search) - opts="${opts} " - ;; - - (self add) - opts="${opts} --allow-prereleases --dry-run --editable --extras --source" - ;; - - (self install) - opts="${opts} --dry-run --sync" - ;; - - (self lock) - opts="${opts} --check --no-update" - ;; - - (self remove) - opts="${opts} --dry-run" - ;; - - (self show) - opts="${opts} --addons --latest --outdated --tree" - ;; - - (self show plugins) - opts="${opts} " - ;; - - (self update) - opts="${opts} --dry-run --preview" - ;; - - (shell) - opts="${opts} " - ;; - - (show) - opts="${opts} --all --latest --no-dev --only --outdated --tree --why --with --without" - ;; - - (source add) - opts="${opts} --default --secondary" - ;; - - (source remove) - opts="${opts} " - ;; - - (source show) - opts="${opts} " - ;; - - (update) - opts="${opts} --dry-run --lock --no-dev --only --with --without" - ;; - - (version) - opts="${opts} --dry-run --short" - ;; - - esac - - COMPREPLY=($(compgen -W "${opts}" -- ${cur})) - __ltrim_colon_completions "$cur" - - return 0; - fi - - # completing for a command - if [[ $cur == $com ]]; then - coms="about add build cache clear cache list check config debug info debug resolve env info env list env remove env use export help init install list lock new publish remove run search self add self install self lock self remove self show self show plugins self update shell show source add source remove source show update version" - - COMPREPLY=($(compgen -W "${coms}" -- ${cur})) - __ltrim_colon_completions "$cur" - - return 0 - fi -} - -complete -o default -F _poetry_d45857f4284b6851_complete poetry -complete -o default -F _poetry_d45857f4284b6851_complete /Users/bzalewski/.local/poetry/venv/bin/poetry diff --git a/.local/share/bash-completion/completions/volta.bash b/.local/share/bash-completion/completions/volta.bash deleted file mode 100644 index 103bbe2c..00000000 --- a/.local/share/bash-completion/completions/volta.bash +++ /dev/null @@ -1,289 +0,0 @@ -_volta() { - local i cur prev opts cmds - COMPREPLY=() - cur="${COMP_WORDS[COMP_CWORD]}" - prev="${COMP_WORDS[COMP_CWORD-1]}" - cmd="" - opts="" - - for i in ${COMP_WORDS[@]} - do - case "${i}" in - volta) - cmd="volta" - ;; - - completions) - cmd+="__completions" - ;; - fetch) - cmd+="__fetch" - ;; - help) - cmd+="__help" - ;; - install) - cmd+="__install" - ;; - list) - cmd+="__list" - ;; - ls) - cmd+="__ls" - ;; - pin) - cmd+="__pin" - ;; - run) - cmd+="__run" - ;; - setup) - cmd+="__setup" - ;; - uninstall) - cmd+="__uninstall" - ;; - use) - cmd+="__use" - ;; - which) - cmd+="__which" - ;; - *) - ;; - esac - done - - case "${cmd}" in - volta) - opts=" -v -h --verbose --quiet --version --help fetch install uninstall pin list completions which use setup run help ls" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - - volta__completions) - opts=" -f -h -V -o --force --help --version --verbose --quiet --output " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - - --output) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -o) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - volta__fetch) - opts=" -h -V --help --version --verbose --quiet ... " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - volta__help) - opts=" -h -V --help --version --verbose --quiet " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - volta__install) - opts=" -h -V --help --version --verbose --quiet ... " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - volta__list) - opts=" -c -d -h -V --current --default --help --version --verbose --quiet --format " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - - --format) - COMPREPLY=($(compgen -W "human plain" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - volta__ls) - opts=" -c -d -h -V --current --default --help --version --verbose --quiet --format " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - - --format) - COMPREPLY=($(compgen -W "human plain" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - volta__pin) - opts=" -h -V --help --version --verbose --quiet ... " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - volta__run) - opts=" -h -V --bundled-npm --no-yarn --help --version --verbose --quiet --node --npm --yarn --env ... " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - - --node) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --npm) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --yarn) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --env) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - volta__setup) - opts=" -h -V --help --version --verbose --quiet " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - volta__uninstall) - opts=" -h -V --help --version --verbose --quiet " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - volta__use) - opts=" -h -V --help --version --verbose --quiet ... " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - volta__which) - opts=" -h -V --help --version --verbose --quiet " - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - esac -} - -complete -F _volta -o bashdefault -o default volta diff --git a/.local/share/bash-completion/completions/wp.bash b/.local/share/bash-completion/completions/wp.bash deleted file mode 100644 index 9df572b6..00000000 --- a/.local/share/bash-completion/completions/wp.bash +++ /dev/null @@ -1,23 +0,0 @@ -# bash completion for the `wp` command - -_wp_complete() { - local OLD_IFS="$IFS" - local cur=${COMP_WORDS[COMP_CWORD]} - - IFS=$'\n'; # want to preserve spaces at the end - local opts="$(wp cli completions --line="$COMP_LINE" --point="$COMP_POINT")" - - if [[ "$opts" =~ \\s* ]] - then - COMPREPLY=( $(compgen -f -- $cur) ) - elif [[ $opts = "" ]] - then - COMPREPLY=( $(compgen -f -- $cur) ) - else - COMPREPLY=( ${opts[*]} ) - fi - - IFS="$OLD_IFS" - return 0 -} -complete -o nospace -F _wp_complete wp diff --git a/.local/share/bash-completion/completions/zoxide.bash b/.local/share/bash-completion/completions/zoxide.bash deleted file mode 100644 index f1f09a1e..00000000 --- a/.local/share/bash-completion/completions/zoxide.bash +++ /dev/null @@ -1,127 +0,0 @@ -# ============================================================================= -# -# Utility functions for zoxide. -# - -# pwd based on the value of _ZO_RESOLVE_SYMLINKS. -function __zoxide_pwd() { - \builtin pwd -L -} - -# cd + custom logic based on the value of _ZO_ECHO. -function __zoxide_cd() { - # shellcheck disable=SC2164 - \builtin cd -- "$@" -} - -# ============================================================================= -# -# Hook configuration for zoxide. -# - -# Hook to add new entries to the database. -__zoxide_oldpwd="$(__zoxide_pwd)" - -function __zoxide_hook() { - \builtin local -r retval="$?" - \builtin local pwd_tmp - pwd_tmp="$(__zoxide_pwd)" - if [[ ${__zoxide_oldpwd} != "${pwd_tmp}" ]]; then - __zoxide_oldpwd="${pwd_tmp}" - \command zoxide add -- "${__zoxide_oldpwd}" - fi - return "${retval}" -} - -# Initialize hook. -if [[ ${PROMPT_COMMAND:=} != *'__zoxide_hook'* ]]; then - PROMPT_COMMAND="__zoxide_hook;${PROMPT_COMMAND#;}" -fi - -# ============================================================================= -# -# When using zoxide with --no-cmd, alias these internal functions as desired. -# - -__zoxide_z_prefix='z#' - -# Jump to a directory using only keywords. -function __zoxide_z() { - # shellcheck disable=SC2199 - if [[ $# -eq 0 ]]; then - __zoxide_cd ~ - elif [[ $# -eq 1 && $1 == '-' ]]; then - __zoxide_cd "${OLDPWD}" - elif [[ $# -eq 1 && -d $1 ]]; then - __zoxide_cd "$1" - elif [[ ${@: -1} == "${__zoxide_z_prefix}"* ]]; then - # shellcheck disable=SC2124 - \builtin local result="${@: -1}" - __zoxide_cd "${result:${#__zoxide_z_prefix}}" - else - \builtin local result - # shellcheck disable=SC2312 - result="$(\command zoxide query --exclude "$(__zoxide_pwd)" -- "$@")" && - __zoxide_cd "${result}" - fi -} - -# Jump to a directory using interactive search. -function __zoxide_zi() { - \builtin local result - result="$(\command zoxide query -i -- "$@")" && __zoxide_cd "${result}" -} - -# ============================================================================= -# -# Commands for zoxide. Disable these using --no-cmd. -# - -\builtin unalias z &>/dev/null || \builtin true -function z() { - __zoxide_z "$@" -} - -\builtin unalias zi &>/dev/null || \builtin true -function zi() { - __zoxide_zi "$@" -} - -# Load completions. -# - Bash 4.4+ is required to use `@Q`. -# - Completions require line editing. Since Bash supports only two modes of -# line editing (`vim` and `emacs`), we check if either them is enabled. -# - Completions don't work on `dumb` terminals. -if [[ ${BASH_VERSINFO[0]:-0} -eq 4 && ${BASH_VERSINFO[1]:-0} -ge 4 || ${BASH_VERSINFO[0]:-0} -ge 5 ]] && - [[ :"${SHELLOPTS}": =~ :(vi|emacs): && ${TERM} != 'dumb' ]]; then - # Use `printf '\e[5n'` to redraw line after fzf closes. - \builtin bind '"\e[0n": redraw-current-line' &>/dev/null - - function __zoxide_z_complete() { - # Only show completions when the cursor is at the end of the line. - [[ ${#COMP_WORDS[@]} -eq $((COMP_CWORD + 1)) ]] || return - - # If there is only one argument, use `cd` completions. - if [[ ${#COMP_WORDS[@]} -eq 2 ]]; then - \builtin mapfile -t COMPREPLY < <( - \builtin compgen -A directory -- "${COMP_WORDS[-1]}" || \builtin true - ) - # If there is a space after the last word, use interactive selection. - elif [[ -z ${COMP_WORDS[-1]} ]]; then - \builtin local result - # shellcheck disable=SC2312 - result="$(\command zoxide query --exclude "$(__zoxide_pwd)" -i -- "${COMP_WORDS[@]:1:${#COMP_WORDS[@]}-2}")" && - COMPREPLY=("${__zoxide_z_prefix}${result}/") - \builtin printf '\e[5n' - fi - } - - \builtin complete -F __zoxide_z_complete -o filenames -- z - \builtin complete -r zi &>/dev/null || \builtin true -fi - -# ============================================================================= -# -# To initialize zoxide, add this to your configuration (usually ~/.bashrc): -# -# eval "$(zoxide init bash)" diff --git a/.local/share/bash-completion/generate.sh b/.local/share/bash-completion/generate.sh deleted file mode 100644 index 45a60810..00000000 --- a/.local/share/bash-completion/generate.sh +++ /dev/null @@ -1,162 +0,0 @@ -#!/usr/bin/env bash - -### Initialize -COMPLETION_DIR="$HOME/.local/share/bash-completion/completions" -mkdir -p "$COMPLETION_DIR" -FALLBACK_URL="https://gitlab.com/megabyte-labs/misc/dotfiles/-/raw/master/dotfiles/.local/share/bash-completion/completions" - -### Deno -if command -v deno > /dev/null; then - deno completions bash > "$COMPLETION_DIR/deno.bash" -elif [ -f "$COMPLETION_DIR/deno.bash" ]; then - rm "$COMPLETION_DIR/deno.bash" -fi - -### direnv -if command -v direnv > /dev/null; then - direnv hook bash > "$COMPLETION_DIR/direnv.bash" -elif [ -f "$COMPLETION_DIR/direnv.bash" ]; then - rm "$COMPLETION_DIR/direnv.bash" -fi - -### fd -if command -v fd > /dev/null && command -v brew > /dev/null && [ -f "$(brew --prefix fd)/etc/bash_completion.d/fd" ]; then - cp "$(brew --prefix fd)/etc/bash_completion.d/fd" "$COMPLETION_DIR/fd.bash" -elif command -v fd > /dev/null; then - curl -sSL "$FALLBACK_URL/fd.bash" > "$COMPLETION_DIR/fd.bash" -elif [ -f "$COMPLETION_DIR/fd.bash" ]; then - rm "$COMPLETION_DIR/fd.bash" -fi - -### fig -if command -v fig > /dev/null; then - fig completion bash > "$COMPLETION_DIR/fig.bash" -elif [ -f "$COMPLETION_DIR/fig.bash" ]; then - rm "$COMPLETION_DIR/fig.bash" -fi - -### fzf -if command -v fzf > /dev/null && command -v brew > /dev/null && [ -f "$(brew --prefix fzf)/shell/completion.bash" ]; then - cp "$(brew --prefix fzf)/shell/completion.bash" "$COMPLETION_DIR/fzf.bash" - cp "$(brew --prefix fzf)/shell/key-bindings.bash" "$COMPLETION_DIR/fzf-key-bindings.bash" -elif command -v fzf > /dev/null; then - curl -sSL "$FALLBACK_URL/fzf.bash" > "$COMPLETION_DIR/fzf.bash" - curl -sSL "$FALLBACK_URL/fzf-key-bindings.bash" > "$COMPLETION_DIR/fzf-key-bindings.bash" -elif [ -f "$COMPLETION_DIR/fzf.bash" ]; then - rm "$COMPLETION_DIR/fzf.bash" - rm "$COMPLETION_DIR/fzf-key-bindings.bash" -fi - -### gh -if command -v gh > /dev/null; then - gh completion -s bash > "$COMPLETION_DIR/gh.bash" -elif [ -f "$COMPLETION_DIR/gh.bash" ]; then - rm "$COMPLETION_DIR/gh.bash" -fi - -### Google Cloud SDK -if command -v gcloud > /dev/null; then - curl -sSL "$FALLBACK_URL/gcloud.bash" > "COMPLETION_DIR/gcloud.bash" -elif [ -f "$COMPLETION_DIR/gcloud.bash" ]; then - rm "$COMPLETION_DIR/gcloud.bash" -fi - -### Googler -if command -v googler > /dev/null && command -v brew > /dev/null && [ -f "$(brew --prefix googler)/etc/bash_completion.d/googler-completion.bash" ]; then - cp "$(brew --prefix googler)/etc/bash_completion.d/googler-completion.bash" "$COMPLETION_DIR/googler.bash" -elif command -v googler > /dev/null; then - curl -sSL "$FALLBACK_URL/googler.bash" > "$COMPLETION_DIR/googler.bash" -elif [ -f "$COMPLETION_DIR/googler.bash" ]; then - rm "$COMPLETION_DIR/googler.bash" -fi - -### Gradle -if command -v gradle > /dev/null; then - curl -sSL https://raw.githubusercontent.com/eriwen/gradle-completion/master/gradle-completion.bash > "$COMPLETION_DIR/gradle.bash" -elif [ -f "$COMPLETION_DIR/gradle.bash" ]; then - rm "$COMPLETION_DIR/gradle.bash" -fi - -### Helm -if command -v helm > /dev/null; then - helm completion bash > "$COMPLETION_DIR/helm.bash" -elif [ -f "$COMPLETION_DIR/helm.bash" ]; then - rm "$COMPLETION_DIR/helm.bash" -fi - -### Hyperfine -if command -v hyperfine > /dev/null && command -v brew > /dev/null && [ -f "$(brew --prefix hyperfine)/etc/bash_completion.d/hyperfine.bash" ]; then - cp "$(brew --prefix hyperfine)/etc/bash_completion.d/hyperfine.bash" "$COMPLETION_DIR/hyperfine.bash" -elif command -v hyperfine > /dev/null; then - curl -sSL "$FALLBACK_URL/hyperfine.bash" > "$COMPLETION_DIR/hyperfine.bash" -elif [ -f "$COMPLETION_DIR/hyperfine.bash" ]; then - rm "$COMPLETION_DIR/hyperfine.bash" -fi - -### kubectl -if command -v kubectl > /dev/null; then - kubectl completion bash > "$COMPLETION_DIR/kubectl.bash" -elif [ -f "$COMPLETION_DIR/kubectl.bash" ]; then - rm "$COMPLETION_DIR/kubectl.bash" -fi - -### mcfly -export MCFLY_KEY_SCHEME=vim -if command -v mcfly > /dev/null; then - mcfly init bash > "$COMPLETION_DIR/mcfly.bash" -elif [ -f "$COMPLETION_DIR/mcfly.bash" ]; then - rm "$COMPLETION_DIR/mcfly.bash" -fi - -### nb -if command -v nb > /dev/null && command -v brew > /dev/null && [ -f "$(brew --prefix nb)/etc/bash_completion.d/nb.bash" ]; then - cp "$(brew --prefix nb)/etc/bash_completion.d/nb.bash" "$COMPLETION_DIR/nb.bash" -elif command -v nb > /dev/null; then - curl -sSL "$FALLBACK_URL/nb.bash" > "$COMPLETION_DIR/nb.bash" -elif [ -f "$COMPLETION_DIR/nb.bash" ]; then - rm "$COMPLETION_DIR/nb.bash" -fi - -### nnn -if command -v nnn > /dev/null && command -v brew > /dev/null && [ -f "$(brew --prefix nnn)/etc/bash_completion.d/nnn-completion.bash" ]; then - cp "$(brew --prefix nnn)/etc/bash_completion.d/nnn-completion.bash" "$COMPLETION_DIR/nnn.bash" -elif command -v nnn > /dev/null; then - curl -sSL "$FALLBACK_URL/nnn.bash" > "$COMPLETION_DIR/nnn.bash" -elif [ -f "$COMPLETION_DIR/nnn.bash" ]; then - rm "$COMPLETION_DIR/nnn.bash" -fi - -### npm -if command -v npm > /dev/null; then - npm completion > "$COMPLETION_DIR/npm.bash" -elif [ -f "$COMPLETION_DIR/npm.bash" ]; then - rm "$COMPLETION_DIR/npm.bash" -fi - -### Poetry -if command -v poetry > /dev/null; then - poetry completions bash > "$COMPLETION_DIR/poetry.bash" -elif [ -f "$COMPLETION_DIR/poetry.bash" ]; then - rm "$COMPLETION_DIR/poetry.bash" -fi - -### Volta -if command -v volta > /dev/null; then - volta completions bash > "$COMPLETION_DIR/volta.bash" -elif [ -f "$COMPLETION_DIR/volta.bash" ]; then - rm "$COMPLETION_DIR/volta.bash" -fi - -### wp-cli (only bash available) -if command -v wp > /dev/null; then - curl -sSL https://raw.githubusercontent.com/wp-cli/wp-cli/v2.7.1/utils/wp-completion.bash > "$COMPLETION_DIR/wp.bash" -elif [ -f "$COMPLETION_DIR/wp.bash" ]; then - rm "$COMPLETION_DIR/wp.bash" -fi - -### zoxide -if command -v zoxide >/dev/null; then - zoxide init bash > "$COMPLETION_DIR/zoxide.bash" -elif [ -f "$COMPLETION_DIR/zoxide.bash" ]; then - rm "$COMPLETION_DIR/zoxide.bash" -fi diff --git a/.local/share/chezmoi/.chezmoiroot b/.local/share/chezmoi/.chezmoiroot deleted file mode 100644 index 5e72f75c..00000000 --- a/.local/share/chezmoi/.chezmoiroot +++ /dev/null @@ -1 +0,0 @@ -home diff --git a/.local/share/chezmoi/home/dot_gnupg/public/apt.hashicorp.sig b/.local/share/chezmoi/home/dot_gnupg/public/apt.hashicorp.sig deleted file mode 100644 index 027be3ac..00000000 --- a/.local/share/chezmoi/home/dot_gnupg/public/apt.hashicorp.sig +++ /dev/null @@ -1,52 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- - -mQINBF60TuYBEADLS1MP7XrMlRkn1Y54cb2UclUMH8HkIRfBrhk5Leo9kNZc/2QD -LmdQbi3UbZkz0uVkHqbFDgV5lAnukCnxgr9BqnL0GJpO78le7gCCbM5bR4rTJ6Ar -OOtIKf25smGTIpbSwNdj8BOLqiExGFj/9L5X9S5kfq3vtuYt+lmxKkIrEPjSYnFR -TQ2mTL8RM932GJod/5VJ2+6YvrCjtPu5/rW02H1U2ZHiTtX6ZGnIvv/sprKyFRqT -x4Ib+o9XwXof/LuxTMpVwIHSzCYanH5hPc7yRGKzIntBS+dDom+h9smx7FTgpHwt -QRFGLtVoHXqON6nXTLFDkEzxr+fXq/bgB1Kc1TuzvoK601ztQGhhDaEPloKqNWM8 -Ho7JU1RpnoWr5jOFTYiPM9uyCtFNsJmD9mt4K8sQQN7T2inR5Us0o510FqePRFeX -wOJUMi1CbeYqVHfKQ5cWYujcK8pv3l1a6dSBmFfcdxtwIoA16JzCrgsCeumTDvKu -hOiTctb28srL/9WwlijUzZy6R2BGBbhP937f2NbMS/rpby7M1WizKeo2tkKVyK+w -SUWSw6EtFJi7kRSkH7rvy/ysU9I2ma88TyvyOgIz1NRRXYsW7+brgwXnuJraOLaB -5aiuhlngKpTPvP9CFib7AW2QOXustMZ7pOUREmxgS4kqxo74CuFws163TwARAQAB -tFFIYXNoaUNvcnAgU2VjdXJpdHkgKEhhc2hpQ29ycCBQYWNrYWdlIFNpZ25pbmcp -IDxzZWN1cml0eStwYWNrYWdpbmdAaGFzaGljb3JwLmNvbT6JAk4EEwEIADgWIQTo -oDLglNjrTqGJ0nDaQYyIoyGfewUCXrRO5gIbAwULCQgHAgYVCgkICwIEFgIDAQIe -AQIXgAAKCRDaQYyIoyGfe6/WD/9dTM/1OSgbvSPpPJOOcn5L1nOKRBJpztr4V0ky -GoCDakIQ/sykbcuHXP79FGLzrM8zQOsbvVp/Z2lsWBnxkT8KWM+8LZxYToRGdZhr -huFPHV9df0vAsZGisu4ejHDneHOTO3KqVotkky34jUSjBL7Q8uwXHY9r+5hb452N -vafN1w0Y1QVhb6JjjwWHR8Rf9qkSIEi6m9o8a1M54yQC2y/Zrs6+4F3zZ4uYfTvz -MyFfj0P5VmAoaowLSRdb2/JTObu0+zpKN+PjZA8BcnOf/pvqmEz83FIfo6zJLScx -TVaAwj5Iz/jS04x7EvBuIP3vpgv1R6r+t0qU/7hpu7Oc0dsxhL+C8BpVY26/2hvX -ozN5eG0ysSwexqwls+bnRgd6KdoHlWFNfbW8RCPKyb/s+tmFqGAY/QmxMkukgnXQ -WvBoa0Gdv2AFVLYup9tEO1zF4zBPh5oQwAXDNudLTHJ4KmyEwWsOQJUjNB4y4a7j -iGgK77T4KKXpo7pVDP8Ur+tmNH/d+/YFjxrfJvWt4ypE5dZmFO/FrUMvIGglOLDt -A+SiQe73IpEebB8PiqNlqJ2NU7artuRxYQVColt+/1puIHwV+h0SnMoUEvYqAtxP -J/N3JaiytWlesPPFWvhU/JGUAld5coEU2gbYtlenV/YmdjilIBu50sMSPGF5/6gv -BAA/DbkCDQRetE7mARAA0OH1pn0vdEfSm1kdqIDP3BXBD0BRHNNgGpyXXRRJFaip -bmpu7jSv3FsvN/NmG3BcLXXLFvwY/eIOr6fxRye+a5FSQEtvBnI1GHNmD5GAVT/H -KiwrT5e3ReR/FQS7hCXWU4OA2bKmSEdkJ952NhyYeyAKbkOBgbnlEhtWOAdMI7ws -peHAlHDqfGVOKXDh+FddCUQj/yZ2rblSzFdcC9gtcJSyHWgOQdVAEesEZ16hcZoj -+6O+6BXOQWOo7EPD7lA9a1qesBkSRcxQn48IVVZ2Qx2P2FtCfF+SFX+HQdqJGl15 -qxE5CXTuJCMmCVnWhvcLW405uF/HmMFXdqGobEDiQsFFQrfpPVOi4T90VkW8P81s -uPoAlWht1CppNnmhWlvPQsPK/oSMBBOvOEH1EnWJate8yIkveNbqzrE7Xt3sjF6k -yqXaF+qW8OcDvSH/fgvVd21G10Cm77Z2WaKWvfi221oWj+WrgT8cCYv0AVmaLRMe -dajuYlPRQ8KaZaESza2eXggOMP5LQs/mQgfHfwSRekSbKg/L6ctp+xrZ0DPj4iIl -8+H4DxTILopAFWXA1a+uMVp8mV77gA9PyV3nIkrwgaZQ8MdhoKwvN/+SbvhpdzyF -UekzMP/HOaC6JgAomluwnFCdMDFa3FMCF3QUcIyY556QdoFD7g6033xqV6vL+d8A -EQEAAYkCNgQYAQgAIBYhBOigMuCU2OtOoYnScNpBjIijIZ97BQJetE7mAhsMAAoJ -ENpBjIijIZ97lecP+wTgSqhCz3TlUshR8lVrzECueIg3jh3+lY56am9X4MoZ2DAW -IXKjWKVWO55WPYD15A7+TbDyb4zh55m81LxSpV0CSRN4aPuixosWP4d0l+363D2F -oudz+QyvoK5J2sKFPMfhdTgGsEYVO/Zbhus5oNi0kjUTD9U7jHWPS3ilvk/g2F+k -T68lL9+oooleeT+kcBvbKt487JUOwMrkmHqNZdh8qmvMASAuqBcEcqjz96kVEMJY -bhn2skexKfIncoo/btixzJUbnplpDfibFxUHhvWWdwIv4kl3YnrCKKGSDoJcG1mV -sQegK4jWVGrqY8MnCI48iotP18ZxyqOycsZvs2jNmFlKwD9s1mrlr97HZ1MYbLWr -Hq06owH0AzVRM7tzMK7EuHkFLcoa8qh3oijn8O0B7xNOKpTZ2DjajQ/1w8nqmMi5 -Z3Wie6ivKng/7p6c6HDrKjoQYc0/fuh1YnL60JG2Arn1OwdBsLDlzPL+Ro5iNwoJ -hZ+stxoZT48iAIWonBsLU11Y+MSwWdN1Eh411HTTunrEs6SafMEhnPi7vvUIZhny -Es0qOM/IUR1I0VtsurSn8aA6Y2Bp73+HuqFLx13/tPKBIUo6D7n/ywUlDCo7wtCw -aSgXPw6uF+0CyLOQ0haf2j6w1OB8ayEGSkTPER5rImCJf3MGw8IECGrErAd+ -=emKC ------END PGP PUBLIC KEY BLOCK----- diff --git a/.local/share/chezmoi/home/dot_gnupg/public/linux.wazuh.sig b/.local/share/chezmoi/home/dot_gnupg/public/linux.wazuh.sig deleted file mode 100644 index e69de29b..00000000 diff --git a/.local/share/chezmoi/home/dot_gnupg/public/qubes.uman.sig b/.local/share/chezmoi/home/dot_gnupg/public/qubes.uman.sig deleted file mode 100644 index 3a30c78d..00000000 --- a/.local/share/chezmoi/home/dot_gnupg/public/qubes.uman.sig +++ /dev/null @@ -1,85 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- - -mQINBFdt07cBEADGBsfWMKLODNkW8ro4ltREGK7KVgI1ETvgc1inGa79lW33F5/z -cP8vwVTwn1ntb6hFvQPDkrU2ewy0pYyXahSRPKsGn8ldKzjA5O/iACkpLdEgl8// -3xw5XUKF16KO16w/OdcfR+6bxveMN4tr5yxEFSkpoviLzJdCcOfduaLlKijGsDhW -Ay36UWrbNiV5HsplM3hQy6CTjYe1/1psvf0B1QM7OXJMKgGtY6BSDoZ8etnhVYHy -/yGSDuof2cx9WTX3hnkX9db1YucSwUHq2BVqpjv5osUilEjMNPcMybpxv4UHZ25k -kh73QEqrwMhodFvwBW6M3h5nG7YbgBFPMMftVJExpbvwoKxFVclY0u+oGCxvxE2f -X5vA418ehF8ILN8NJA5DVv38bVN7SG1w7PUcpXuG1GL3SP7gDqdEJ2MOqIqSokAw -uMtDo3pRBkrVjbIxiJ1z37fVcl17ZI6s/Fg3IEd61VAgwObD5mOEmkJt1m8tsqGx -iVdr16yR7LfdBXZplCDBYzRcWlslSbSwG7878bLJoc05eXxgr8jq3nlRYbCjXgHM -FnfDVLbeyyfyGNqA5AMlQB9o5Iv12iHFuN9z15Ie6d2ds59Cw5d5SOyya9vLUIfD -W+V5ypCW/4sf1w8KQhPUu49OLwgcyeXPismEpSj3XIPF0LUFFrfAbPHlMQARAQAB -tDl1bm1hbiAoUXViZXMgT1Mgc2lnbmluZyBrZXkpIDx1bm1hbkB0aGlyZGV5ZXNl -Y3VyaXR5Lm9yZz6JAjcEEwEIACECGwMFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AF -Ald0ZXgACgkQiz8w+cjAwu/cmw/+LLkkSf0QfiSiKhqWQiXFRYngKxAAaiLZV3kc -LCQsZeg7eS8GZYJx19vplBhpGarPGw0REZrvPMfZBcK1YKM7Dt7VfUv49Cd3jPb0 -7W6pMfOOcuQO1UV1mqskziWvW1ooikc/HUJA2kIoTzxr0McFySPdoKtH8MsoEecK -fMqYIjNp31w6JEsQRVzNVmaVrEj8+w1e6miVNpKvokMSNF/x44tpt/Y2C4g1Gxw6 -lPZYunJsTJK69taJbVDVCRvwwhJwHwbIqJWNIpoVDOpZjOvQlz0GPjTiBrA15AtG -eU6NmMJ5qc9Sw/l3gTfh5SCANo5Q/7s+CX5xFpeGwJx6YDpjZCvR78SGi5cjetmT -iWC1coGxjSSoqJb4T1Kbv/ErJellN1MO6+zmioCgx84qJjU3SuqNKdmc3hWRlbCS -CrwKcVZnjLRmlI7XygndpPB9hM/GB9Wn5+/5j0IFmeCECUtzEmod2l+vTUeutReb -uR+/1FD/p7NL8VfA/tq4d6GTSr6vYSYIL89PpO8Sh5G5PsahjATkv/yUJDmtT+14 -nkV+HmQfvT9xrV9tvKbLWcv1RTQf+j3Lk2fXyjxbLsDXIBB2/FfZEFE9E/2uA+Zm -y/o5wkG+xe4Vlx4eRoEM7SLJoXUxkVVAi26sAmYYAh+LkvcAy1IzYaTkS2hU+3Rm -iemoD4e5Ag0EV23TtwEQAMNa9zUDTt9bT2nja+isou+9DJZZQVl46Lx2My780FVo -WWyFjd6vX04TlybLhlD3njg4PQAo7xQ909BRSqKxCkdbwoJfHYNC1FIfOdV+9caw -yaIl5xBc/B7D0+2NdzRc73W0stikNdnkS1lL4rD1TjsUMh/8roiUzNwcU8tIuluw -2U+jiqbPJ2QLL3Sp4uIcsGb4j7Kf9zUtPVw9JuUscBFkRNFr4U8EWjM4zXBm1jFR -CGZ/EI6b2I8W5TjK2RmJXR1gwr8f6gSJqiirjKAqxq4kc7puOFlkRXAknu597aT1 -eNBpQPqMX0K9S/vnPSUqjWYLZQ4+YjXYZTpg18tkoxGyDn3jGuFlv+NncL2v3SKM -ejmN4Tyb+184GqcDZ5T91XWXjV2Fz7UgFtoqLPtRG5EQPAMlEottKHNaOgEsdxy8 -Cf8G1E58BVpVtPGY1qdYD55AjOaBGrdYDzW2iWWcaRr8nMJp6ur9hzrIubYSwRvJ -KHH5k7/e+MLJooZkJF7IQwvbzQk7Jgp3DcK4ALXHJdprNHl1BOB+L5vzCXAL+544 -wwMgptCjEurLC1q4K3Cg3u36EVRTqkmUATdyhl24coHvC8kwHUQMQOUTQEi06TZO -bLeg2QMPkMG5Ub3Bu+7Aly7UQApYK7SLmamzw9foG4hKrQ3N4YG53oUKORgxyt9l -ABEBAAGJAh8EGAEIAAkFAldt07cCGwwACgkQiz8w+cjAwu8FOw/+LHybBicGuQlv -kRIIABa9Yz/GoL3w7GzExzbndWWw9wgY40ZwlfCugODHeRZEvSi/Yq+PV3UTJWJm -vxh3N4YpcQE1W6aBaT3ILT06HNQgufc3CFs9ePQZzRTIo4C13FphV+4AhgTnyAKc -uRNwdb/QGwf1sUELg92PuBEtb9tq1XnRdsnpncHQuj6+zOvNceXPxqHtw4DcNzZ3 -Cz2rnsAjKUd4Se/h53MZChwkp14897XIbATbTGuN6i9Dftezw3kuYvpm3h1QnXAN -KHQzr8YW5p2SHTnxHYu8hX+BqKyBoldhVWcCKVrhDQH6SrZi4B22/mzOsQKFfCfp -dJUAhPvFvq0mEajf+Rxo9/wcq3vEGPnnJzV8exERCfjW9cDi/+7BvbnpIdikZJhL -XGq8/NXi8K+2VwLUW5HzuSVXSe73quWV9OXMpNnh0GiGsR5DT8BQgV8LTO59CXfY -4ZYWIdP5ClH1fYehc/I/8ZCM/QV8Gtot/EWxTy3dxCBSP2Z4IdaZqH5aCUip906L -Wtjodp9YCt/f9pyKjuA1hoKaHIaf8L8M2qDFE5OoLDcrAh9m+QrVQRmtFHaMFcej -85SLnQw83PUsMBH0mdDUYiNaRnWiQs1/I1iJKOt6p0/2jNHx7CaxoEoXqznu9o/X -bcr+2Sg6D6+XamPTmG687Ow7101hdp25Ag0EV3BtIwEQAL3DM3RBLdxEe3PK8sK0 -PjZPrCeB/aflFoQxAKMOweYcP72ipuCfuKa3Zxxd6o2OfiuO5w9JPn5s92vCbL8f -ZpBJ7SAF5TNOGESBUI18lGVBIb/PCz2kN1qkTPDIKnxoDKW0AEna12LgzhTQBPTh -XX37bx3UlH5uMRZUYF+wl/wfD1UaFaY7EwObNQL9WQzMV7AkhIoA8XKyK2cNsOL5 -S87eLpWwffjaE8oZKcYNIPq0x6DuiOuAPLnc7eUDqogjo0suN10uGnvaOvlWIwly -8/8XRwKPHOVlDHU4kEtMnbfbPXNaFrABrF/ApeaOxg1JSSHOPdzqI5ifscAYYXr5 -xREn5Hh+Se7o1I8zXyHXPd/RTulFykbdmat9w0kVLgor4ahfQeoCj0PwbANlrk1t -burh2r16CzeR30sNAcuJqKLKwmjfdjPPBwCqLZbIQIDtpJ/4tSx8l1TWJ04JSQeQ -qJZkUpqnOMJup8Baktzbznpy9ac30aHpWL95VXI7hCGa0kbhi7yeDFbLJuMhIli8 -z5aDRKbT18M3bgoOMWgkFKxi2JMDRbchdsu5bS4GjUnovkq5HxqFI6SRh1TEflqB -GiGaBPmCT3d9OTZeyK1y/j7N2dh/3d9Z6dmYs+ppG3749kg0rYpdl3kqHUxlNABu -JKcaPQdNJuDnnPMc+6b0Z8pjABEBAAGJBFsEGAEIACYCGwIWIQRLH0AN8lZRtTxB -QbOLPzD5yMDC7wUCYrCMvAUJDxEHGQIpwV0gBBkBCAAGBQJXcG0jAAoJEP3RuCRH -MbNs6CwP/AnUBcsrvYLskStJ7c75vsM1IUQ60gYd8HR2kLAlaG5kkdMVrH7J2lkD -ZYMoT0ZBV2jpMTe6DpSl6+51t0VCrxYjRAt0xCkchNtFrWmbFlbzX8SjdLxuQboH -171vYboVS580mK2SNnExif57mga0sfMc9nPOpzwzqlt2h0q4wbOANPUv7Hz0Vb8I -awWoppR8ztif2zj4NxzFAbw4LloxFlllinbqtTatFn962naz86owCalopxqqJt+f -Gw4aFFwL7Q0vAJoBO94WooEQ4a5YfiICF02RszOm/LkI/uMGlekhRXek97BKWD5f -v7KjCLYexFF2Vnzjr2nzi7gWvO0bVlFeVGY6NfT+2Pv+NFapeDLOJe1488eeXpF5 -T0iBERh42f3PwGPMaLCvmgCps6u4h5YBiohpsjuYv5mYok9CwEquOPKG86iBfPtL -kcXf4I3rkjwYteed2WyCTnpQRuHMzeI19WOs/bFuNPCXiRVVAn1KB/mHQKIxZKut -cEZMgAtD//ruhTTvsUBSloDSb/3efm2cZHrix6TjrePbji5nFq7FMClP2Ro1u0wA -ZURkhzDKEkXC94RhUXO0HukUQwFzNRXyVVV8jmTGGiuqO8Q3cijmFO054tDxiLD6 -V5BRnxyQOeQdyxNI8rFEIF4HQn/I28HAl/KDXWcRSMUG2jD5jIGNCRCLPzD5yMDC -7x0DD/9Umr0Rc9Un9koCQgmhj97WOjZhuKOVPxyGzwyjMYs0ii3pSNYYxUQ7mO6X -sycDs0YwstUZ0GtanF6ebOHZF1vQwp3RY9zGuBV3gLGo5A6FWcCbWjh6409hKe3J -tSiIEOOeEV/wcc2BiGfj2DWOi/063gzBfrwRmbCao5/Saw+yhfe7BmTneoYjzHbN -Ttd+xhDT0ybTMvvMHkR7Aazy7zfl1OdQhfi+T2NWRZdsKWV12pQo8DTeTIUQUKp6 -pmbMazYx5uV6HlCo4Mx+A0z3IBodln/QoE2Glphqn1vGkJWmEA0g2gcMRafzZ5xE -Y5WHiB4fhJ2kM/xjj/XBUpBSX2R13kvc6aYBTXKCny6CUmFyLpgpPh8udQLazbAs -uwTdSNVkqgJsV/Mf9onMvMvAuBZME9EyzTK85O0HUZVj1NYNINsdYiFh1qHrdAN0 -RGJkkOKfrYtl/3ER+MI6PeHuaj8akQEmmyvs65tq38VBBnYjIpCbmqVJAJ/fKwuI -aBoCTnTKDuMumLVTxZOlnUXJ/uBvd/SEXd5TuOdDiw/zbtR0XaLLMhmlQwX7XFiW -PRmrTsEr8wluewET8fekxMosM8cMwn43agCc1IjfB6pGP1CyCoN6T3EnNcu8UxoY -CjpmiHZg3mKwE2cDs5WvAt+3Oxww1IiIAKUm2/siNZeshUpBmw== -=qJcP ------END PGP PUBLIC KEY BLOCK----- diff --git a/.local/share/chezmoi/home/dot_local/assets/Betelgeuse.macOS.terminal b/.local/share/chezmoi/home/dot_local/assets/Betelgeuse.macOS.terminal deleted file mode 100644 index cad43730..00000000 --- a/.local/share/chezmoi/home/dot_local/assets/Betelgeuse.macOS.terminal +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - name - Betelgeuse - type - Window Settings - BackgroundColor - YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECcwLjA4NjI3NDUwOTggMC4wOTgwMzkyMTU3IDAuMTQ1MDk4MDM5MgAQAYAC0hAREhNaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFyY2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KMjpCVoKmxtL3P0tcAAAAAAAABAQAAAAAAAAAZAAAAAAAAAAAAAAAAAAAA2Q== - TextColor - YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECcwLjY2NjY2NjY2NjcgMC42ODIzNTI5NDEyIDAuNzIxNTY4NjI3NQAQAYAC0hAREhNaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFyY2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KMjpCVoKmxtL3P0tcAAAAAAAABAQAAAAAAAAAZAAAAAAAAAAAAAAAAAAAA2Q== - BoldTextColor - YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECcwLjc2NDcwNTg4MjQgMC43ODAzOTIxNTY5IDAuODE5NjA3ODQzMQAQAYAC0hAREhNaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFyY2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KMjpCVoKmxtL3P0tcAAAAAAAABAQAAAAAAAAAZAAAAAAAAAAAAAAAAAAAA2Q== - CursorColor - YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECcwLjc2NDcwNTg4MjQgMC43ODAzOTIxNTY5IDAuODE5NjA3ODQzMQAQAYAC0hAREhNaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFyY2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KMjpCVoKmxtL3P0tcAAAAAAAABAQAAAAAAAAAZAAAAAAAAAAAAAAAAAAAA2Q== - SelectionColor - YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECcwLjc4MDM5MjE1NjkgMC4zMDE5NjA3ODQzIDAuNTM3MjU0OTAyMAAQAYAC0hAREhNaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFyY2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KMjpCVoKmxtL3P0tcAAAAAAAABAQAAAAAAAAAZAAAAAAAAAAAAAAAAAAAA2Q== - ANSIBlackColor - YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECcwLjA4NjI3NDUwOTggMC4wOTgwMzkyMTU3IDAuMTQ1MDk4MDM5MgAQAYAC0hAREhNaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFyY2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KMjpCVoKmxtL3P0tcAAAAAAAABAQAAAAAAAAAZAAAAAAAAAAAAAAAAAAAA2Q== - ANSIRedColor - YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECcwLjkyOTQxMTc2NDcgMC4xNDUwOTgwMzkyIDAuMzA1ODgyMzUyOQAQAYAC0hAREhNaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFyY2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KMjpCVoKmxtL3P0tcAAAAAAAABAQAAAAAAAAAZAAAAAAAAAAAAAAAAAAAA2Q== - ANSIGreenColor - YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECcwLjQ0MzEzNzI1NDkgMC45Njg2Mjc0NTEwIDAuNjIzNTI5NDExOAAQAYAC0hAREhNaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFyY2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KMjpCVoKmxtL3P0tcAAAAAAAABAQAAAAAAAAAZAAAAAAAAAAAAAAAAAAAA2Q== - ANSIYellowColor - YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECcwLjk3NjQ3MDU4ODIgMC44NjI3NDUwOTgwIDAuMzYwNzg0MzEzNwAQAYAC0hAREhNaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFyY2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KMjpCVoKmxtL3P0tcAAAAAAAABAQAAAAAAAAAZAAAAAAAAAAAAAAAAAAAA2Q== - ANSIBlueColor - YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECcwLjQ4NjI3NDUwOTggMC43MTc2NDcwNTg4IDEuMDAwMDAwMDAwMAAQAYAC0hAREhNaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFyY2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KMjpCVoKmxtL3P0tcAAAAAAAABAQAAAAAAAAAZAAAAAAAAAAAAAAAAAAAA2Q== - ANSIMagentaColor - YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECcwLjc4MDM5MjE1NjkgMC4zMDE5NjA3ODQzIDAuNTM3MjU0OTAyMAAQAYAC0hAREhNaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFyY2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KMjpCVoKmxtL3P0tcAAAAAAAABAQAAAAAAAAAZAAAAAAAAAAAAAAAAAAAA2Q== - ANSICyanColor - YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECcwLjAwMDAwMDAwMDAgMC43NTY4NjI3NDUxIDAuODk0MTE3NjQ3MQAQAYAC0hAREhNaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFyY2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KMjpCVoKmxtL3P0tcAAAAAAAABAQAAAAAAAAAZAAAAAAAAAAAAAAAAAAAA2Q== - ANSIWhiteColor - YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECcwLjY2NjY2NjY2NjcgMC42ODIzNTI5NDEyIDAuNzIxNTY4NjI3NQAQAYAC0hAREhNaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFyY2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KMjpCVoKmxtL3P0tcAAAAAAAABAQAAAAAAAAAZAAAAAAAAAAAAAAAAAAAA2Q== - ANSIBrightBlackColor - YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECcwLjE4NDMxMzcyNTUgMC4xOTYwNzg0MzE0IDAuMjQzMTM3MjU0OQAQAYAC0hAREhNaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFyY2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KMjpCVoKmxtL3P0tcAAAAAAAABAQAAAAAAAAAZAAAAAAAAAAAAAAAAAAAA2Q== - ANSIBrightRedColor - YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECcwLjg5MDE5NjA3ODQgMC4zMDU4ODIzNTI5IDAuNDM1Mjk0MTE3NgAQAYAC0hAREhNaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFyY2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KMjpCVoKmxtL3P0tcAAAAAAAABAQAAAAAAAAAZAAAAAAAAAAAAAAAAAAAA2Q== - ANSIBrightGreenColor - YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECcwLjUyNTQ5MDE5NjEgMC45MjE1Njg2Mjc1IDAuNjc0NTA5ODAzOQAQAYAC0hAREhNaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFyY2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KMjpCVoKmxtL3P0tcAAAAAAAABAQAAAAAAAAAZAAAAAAAAAAAAAAAAAAAA2Q== - ANSIBrightYellowColor - YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECcwLjkyNTQ5MDE5NjEgMC44NDMxMzcyNTQ5IDAuNDc0NTA5ODAzOQAQAYAC0hAREhNaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFyY2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KMjpCVoKmxtL3P0tcAAAAAAAABAQAAAAAAAAAZAAAAAAAAAAAAAAAAAAAA2Q== - ANSIBrightBlueColor - YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECcwLjU1Njg2Mjc0NTEgMC43MzMzMzMzMzMzIDAuOTU2ODYyNzQ1MQAQAYAC0hAREhNaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFyY2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KMjpCVoKmxtL3P0tcAAAAAAAABAQAAAAAAAAAZAAAAAAAAAAAAAAAAAAAA2Q== - ANSIBrightMagentaColor - YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECcwLjc3NjQ3MDU4ODIgMC40MjM1Mjk0MTE4IDAuNjA3ODQzMTM3MwAQAYAC0hAREhNaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFyY2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KMjpCVoKmxtL3P0tcAAAAAAAABAQAAAAAAAAAZAAAAAAAAAAAAAAAAAAAA2Q== - ANSIBrightCyanColor - YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECcwLjE5MjE1Njg2MjcgMC43NjQ3MDU4ODI0IDAuODc0NTA5ODAzOQAQAYAC0hAREhNaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFyY2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KMjpCVoKmxtL3P0tcAAAAAAAABAQAAAAAAAAAZAAAAAAAAAAAAAAAAAAAA2Q== - ANSIBrightWhiteColor - YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECcwLjc2NDcwNTg4MjQgMC43ODAzOTIxNTY5IDAuODE5NjA3ODQzMQAQAYAC0hAREhNaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFyY2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KMjpCVoKmxtL3P0tcAAAAAAAABAQAAAAAAAAAZAAAAAAAAAAAAAAAAAAAA2Q== - Font - YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMSAAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGkCwwVFlUkbnVsbNQNDg8QERITFFZOU1NpemVYTlNmRmxhZ3NWTlNOYW1lViRjbGFzcyNAJgAAAAAAABAQgAKAA18QGUhhY2tOZXJkRm9udENvbXBsZXRlLUJvbGTSFxgZGlokY2xhc3NuYW1lWCRjbGFzc2VzVk5TRm9udKIZG1hOU09iamVjdAgRGiQpMjdJTFFTWF5nbnd+hY6QkpSwtcDJ0NMAAAAAAAABAQAAAAAAAAAcAAAAAAAAAAAAAAAAAAAA3A== - - diff --git a/.local/share/chezmoi/home/dot_local/konsole/Default.profile b/.local/share/chezmoi/home/dot_local/konsole/Default.profile deleted file mode 100644 index b9a6e32f..00000000 --- a/.local/share/chezmoi/home/dot_local/konsole/Default.profile +++ /dev/null @@ -1,15 +0,0 @@ -[Appearance] -ColorScheme=Betelgeuse - -[General] -Environment=TERM=xterm-256color,COLORTERM=truecolor -Name=Default -Parent=FALLBACK/ -TerminalColumns=124 -TerminalRows=35 - -[Scrolling] -HistoryMode=2 - -[Terminal Features] -UrlHintsModifiers=67108864 diff --git a/.local/share/chezmoi/home/dot_local/scripts/motd.bash b/.local/share/chezmoi/home/dot_local/scripts/motd.bash deleted file mode 100644 index acc35a3a..00000000 --- a/.local/share/chezmoi/home/dot_local/scripts/motd.bash +++ /dev/null @@ -1,669 +0,0 @@ -#!/usr/bin/env bash -# shellcheck disable=SC1090,SC1091 - -BAR_ELEMENT="-" -BAR_HEALTHY_COLOR="32" -BAR_WARNING_THRESHOLD=70 -BAR_WARNING_COLOR="33" -BAR_CRITICAL_THRESHOLD=90 -BAR_CRITICAL_COLOR="31" - -BANNER_KERNEL_ICON="" -BANNER_KERNEL_COLOR="33" -BANNER_UPTIME_ICON="" -BANNER_UPTIME_COLOR="94" -BANNER_DEBIAN_ICON="" -BANNER_DEBIAN_COLOR="95" -BANNER_FEDORA_ICON="" -BANNER_FEDORA_COLOR="34" -BANNER_FONTPATH="" -BANNER_TEXT="$(hostname -s)" - -PROCESSOR_LOADAVG_ICON="ﲯ" -PROCESSOR_LOADAVG_HEALTHY_COLOR="32" -PROCESSOR_LOADAVG_WARNING_THRESHOLD=2 -PROCESSOR_LOADAVG_WARNING_COLOR="33" -PROCESSOR_LOADAVG_CRITICAL_THRESHOLD=4 -PROCESSOR_LOADAVG_CRITICAL_COLOR="31" -PROCESSOR_MODEL_ICON="" - -MEMORY_ICON="" - -SWAP_ICON="" - -DISKSPACE_ICON="" - -SERVICES_UP_ICON="" -SERVICES_UP_COLOR="32" -SERVICES_DOWN_ICON="" -SERVICES_DOWN_COLOR="31" -SERVICES_FILE=".bashrc_motd_services.txt" - -# TODO - Fill this in if Podman is ever used -PODMAN_VERSION_ICON="#" -PODMAN_IMAGES_ICON="#" -PODMAN_RUNNING_ICON="#" -PODMAN_RUNNING_COLOR="32" -PODMAN_OTHER_ICON="#" -PODMAN_OTHER_COLOR="90" - -DOCKER_VERSION_ICON="" -DOCKER_IMAGES_ICON="" -DOCKER_RUNNING_ICON="" -DOCKER_RUNNING_COLOR="32" -DOCKER_OTHER_ICON="" -DOCKER_OTHER_COLOR="90" - -UPDATES_ZERO_ICON="" -UPDATES_ZERO_COLOR="32" -UPDATES_AVAILIABLE_ICON="ﮮ" -UPDATES_AVAILIABLE_COLOR="33" -UPDATES_SECURITY_ICON="撚" -UPDATES_SECURITY_COLOR="31" - -LETSENCRYPT_VALID_ICON="ﲘ" -LETSENCRYPT_VALID_COLOR="32" -LETSENCRYPT_WARNING_ICON="ﲙ" -LETSENCRYPT_WARNING_COLOR="33" -LETSENCRYPT_INVALID_ICON="" -LETSENCRYPT_INVALID_COLOR="31" -LETSENCRYPT_CERTPATH="/etc/letsencrypt/live" - -LOGIN_LOGIN_ICON="﫻" -LOGIN_LOGOUT_ICON="﫼" -LOGIN_IP_ICON="ﯱ" - -INCLUDE_FILE="ownscript.sh" - -generate_unit_byte() { - # 1 - unit in M - - if [ "$1" -ge 1024 ]; then - unit_symbol="G" - unit_value=$(echo "$1/1024" | bc -l | LANG=C xargs printf "%.1f\n") - else - unit_symbol="M" - unit_value=$1 - fi - - echo "$unit_value$unit_symbol" -} - -generate_space() { - # 1 - already used - # 2 - total - - space_fill=$(($2 - ${#1})) - space_chars="" - - while [ $space_fill -ge 0 ]; do - space_chars="$space_chars " - space_fill=$((space_fill - 1)) - done - - echo "$space_chars" -} - -generate_bar() { - # 1 - icon - # 2 - total - # 3 - used_1 - # 4 - [ used_2 ] - - bar_percent=$(($3 * 100 / $2)) - bar_separator=$(($3 * 100 * 10 / $2 / 25)) - - if [ $bar_percent -ge "$BAR_WARNING_THRESHOLD" ]; then - bar_color=$BAR_WARNING_COLOR - elif [ $bar_percent -ge "$BAR_CRITICAL_THRESHOLD" ]; then - bar_color=$BAR_CRITICAL_COLOR - else - bar_color=$BAR_HEALTHY_COLOR - fi - - printf " %s \\033[%dm" "$1" "$bar_color" - - if [ -z "$4" ]; then - bar_piece=0 - while [ $bar_piece -le 40 ]; do - if [ "$bar_piece" -ne "$bar_separator" ]; then - printf "%s" "$BAR_ELEMENT" - else - printf "%s\\033[1;30m" "$BAR_ELEMENT" - fi - - bar_piece=$((bar_piece + 1)) - done - else - bar_cached_val=$(($3 + $4)) - bar_cached_separator=$((bar_cached_val * 100 * 10 / $2 / 25)) - - bar_piece=0 - while [ $bar_piece -le 40 ]; do - if [ $bar_piece -eq $bar_separator ]; then - printf "%s\\033[1;36m" "$BAR_ELEMENT" - elif [ $bar_piece -eq $bar_cached_separator ]; then - printf "%s\\033[1;30m" "$BAR_ELEMENT" - else - printf "%s" "$BAR_ELEMENT" - fi - - bar_piece=$((bar_piece + 1)) - done - fi - - printf "\\033[0m\\n" -} - -generate_bar_memory() { - # 1 - icon - # 2 - total memory in M - # 3 - used memory in M - # 4 - cached memory in M - - bar_memory_used=$(generate_unit_byte "$3") - bar_memory_cached=$(generate_unit_byte "$4") - bar_memory_available=$(generate_unit_byte $(($2 - $3))) - - printf " %s used / %s cached / %s available\\n" "$bar_memory_used" "$bar_memory_cached" "$bar_memory_available" - generate_bar "$1" "$2" "$3" "$4" -} - -generate_bar_swap() { - # 1 - icon - # 2 - total swap in M - # 3 - used swap in M - - bar_swap_used=$(generate_unit_byte "$3") - - bar_swap_available=$(($2 - $3)) - bar_swap_available=$(generate_unit_byte "$bar_swap_available") - - printf " %s used / %s available\\n" "$bar_swap_used" "$bar_swap_available" - generate_bar "$1" "$2" "$3" -} - -generate_bar_disk() { - # 1 - icon - # 2 - total size in M - # 3 - used space in M - # 4 - mount path - - bar_disk_mount="$4$(generate_space "$4" 10)" - - bar_disk_used="$(generate_unit_byte "$3")" - bar_disk_used="$(generate_space "$bar_disk_used" 5)$bar_disk_used used" - - bar_disk_available="$(($2 - $3))" - bar_disk_available="$(generate_unit_byte "$bar_disk_available") available" - - printf " %s%s / %s\\n" "$bar_disk_mount" "$bar_disk_used" "$bar_disk_available" - - generate_bar "$1" "$2" "$3" -} - -print_banner() { - if command -v lolcat >/dev/null && command -v figlet >/dev/null; then - if [[ "${#HOSTNAME}" -lt 14 ]]; then - figlet "$(hostname)" | lolcat -f - else - printf "\\n" - printf " \\033[1;37mHostname:\\033[0m %s\\n" "$(hostname)" - fi - elif command -v figlet >/dev/null; then - printf "\\n%s\\n" "$(figlet -t -f "$BANNER_FONTPATH" " $BANNER_TEXT")" - else - printf "\\n" - printf " \\033[1;37mHostname:\\033[0m %s\\n" "$(hostname)" - fi - - if [ -f /etc/os-release ]; then - . /etc/os-release - - if [ "$ID" = "debian" ]; then - banner_distro_icon="$BANNER_DEBIAN_ICON" - banner_distro_color="$BANNER_DEBIAN_COLOR" - banner_distro_name="Debian" - banner_distro_version="$(cat /etc/debian_version)" - elif [ "$ID" = "fedora" ]; then - banner_distro_icon="$BANNER_FEDORA_ICON" - banner_distro_color="$BANNER_FEDORA_COLOR" - banner_distro_name="Fedora" - banner_distro_version="$VERSION_ID" - else - banner_distro_icon="$OS_ICON" - banner_distro_color="0" - if [ -n "$NAME" ]; then - banner_distro_name="$NAME" - elif [ -n "$PRETTY_NAME" ]; then - banner_distro_name="$PRETTY_NAME" - else - banner_distro_name="Linux" - fi - if [ -n "$VERSION" ]; then - banner_distro_version="$VERSION" - elif [ -n "$VERSION_ID" ]; then - banner_distro_version="$VERSION_ID" - elif [ -n "$BUILD_ID" ]; then - banner_distro_version="$BUILD_ID" - else - banner_distro_version="Version Unknown" - fi - fi - - banner_distro_space="$(generate_space "$banner_distro_name" 13)" - if [ "$(hostname)" = 'dom0' ]; then - # Qubes dom0 - banner_distro_space="$(generate_space "$NAME" 13)" - printf " \\033[%sm%s %s\\033[0m%s%s\\n" "$banner_distro_color" "" "$NAME" "$banner_distro_space" "$VERSION" - else - printf " \\033[%sm%s %s\\033[0m%s%s\\n" "$banner_distro_color" "$banner_distro_icon" "$banner_distro_name" "$banner_distro_space" "$banner_distro_version" - fi - printf " \\033[%sm%s Linux\\033[0m %s\\n" "$BANNER_KERNEL_COLOR" "$BANNER_KERNEL_ICON" "$(cut -d ' ' -f 3 /dev/null | grep 'inet ' | cut -d ' ' -f 2)" - IP_ADDR_PUB="$(timeout 1 sh -c 'curl -sSL ifconfig.me')" - if [ -n "$IP_ADDR_PUB" ]; then - printf " \\033[%sm%s Public IP\\033[0m %s\\n" "$UPDATES_SECURITY_COLOR" "" "$IP_ADDR_PUB" - fi - fi - fi -} - -print_processor() { - printf "\\n" - printf " \\033[1;37mProcessor:\\033[0m\\n" - - processor_loadavg="$(cut -d " " -f 1,2,3 /dev/null; then - printf "\\n" - printf " \\033[1;37mDiskspace:\\033[0m\\n" - - diskspace_devices=$(lsblk -Jlo NAME,MOUNTPOINT | jq -c '.blockdevices | sort_by(.mountpoint) | .[] | select( .mountpoint != null and .mountpoint != "[SWAP]" )') - diskspace_partitions=$(df -B M 2> /dev/null | sed -e "s/M//g") - - diskspace_index=0 - echo "$diskspace_devices" | while read -r line; do - diskspace_disk_name="$(echo "$line" | jq -r '.name')" - diskspace_disk_mount="$(echo "$line" | jq -r '.mountpoint')" - - diskspace_disk_size="$(echo "$diskspace_partitions" | grep "$diskspace_disk_name " | awk '{ print $2 }')" - diskspace_disk_used="$(echo "$diskspace_partitions" | grep "$diskspace_disk_name " | awk '{ print $3 }')" - if [[ "$diskspace_disk_mount" != '/var/lib/snapd/snap'* ]] && [[ "$diskspace_disk_mount" != '/snap/'* ]]; then - if [ -z "$diskspace_disk_size" ]; then - diskspace_disk_size="$(echo "$diskspace_partitions" | grep "$diskspace_disk_mount" | awk '{ print $2 }')" - fi - if [ -z "$diskspace_disk_used" ]; then - diskspace_disk_used="$(echo "$diskspace_partitions" | grep "$diskspace_disk_mount" | awk '{ print $3 }')" - fi - if [ "$diskspace_index" -ne 0 ]; then - printf "\\n" - fi - diskspace_index=$((diskspace_index + 1)) - generate_bar_disk "$DISKSPACE_ICON" "$diskspace_disk_size" "$diskspace_disk_used" "$diskspace_disk_mount" - fi - done - fi -} - -print_services() { - if [ -f $SERVICES_FILE ] && [ "$(wc -l <$SERVICES_FILE)" != 0 ]; then - printf "\\n" - printf " \\033[1;37mServices:\\033[0m \\033[1;37mVersion:\\033[0m\\n" - - while read -r line; do - service_description=$(echo "$line" | cut -d ';' -f 1) - - service_name=$(echo "$line" | cut -d ';' -f 2) - - service_package=$(echo "$line" | cut -d ';' -f 3) - - if [ -n "$service_description" ] && [ -n "$service_name" ]; then - if systemctl is-active --quiet "$service_name".service; then - service_icon="$SERVICES_UP_ICON" - service_color="$SERVICES_UP_COLOR" - else - service_icon="$SERVICES_DOWN_ICON" - service_color="$SERVICES_DOWN_COLOR" - fi - - service_space=$(generate_space "$service_description" 34) - - if [ -n "$service_package" ]; then - if [ -f /usr/bin/apt ]; then - package_version=$(dpkg -s "$service_package" | grep '^Version:' | cut -d ' ' -f 2 | cut -d ':' -f 2 | cut -d '-' -f 1) - elif [ -f /usr/bin/rpm ]; then - package_version=$(rpm -q --queryformat '%{VERSION}' "$service_package") - else - package_version="?" - fi - else - package_version="--" - fi - fi - - printf " \\033[%sm%s\\033[0m %s%s%s\\n" "$service_color" "$service_icon" "$service_description" "$service_space" "$package_version" - done <"$SERVICES_FILE" | grep -v '#' - fi -} - -print_podman() { - if command -v jq >/dev/null; then - printf "\\n" - printf " \\033[1;37mPodman:\\033[0m\\n" - - podman_version="$(sudo podman version --format json | jq -r '.Client.Version')" - podman_space="$(generate_space "$podman_version" 23)" - podman_images="$(sudo podman images --format json | jq '. | length')" - - printf " %s Version %s%s%s %s Images\\n\\n" "$PODMAN_VERSION_ICON" "$podman_version" "$podman_space" "$PODMAN_IMAGES_ICON" "$podman_images" - - podman_list=$(sudo podman pod ls --sort name --format json) - podman_pods=$(echo "$podman_list" | jq -r '.[] .Name') - - echo "$podman_pods" | while read -r pod; do - if [ "$(echo "$podman_list" | jq -r ".[] | select(.Name == \"$pod\") | .Status")" = "Running" ]; then - pod_space=$(generate_space "$pod" 34) - - pod_container_running="$(echo "$podman_list" | jq -r ".[] | select(.Name == \"$pod\") | .Containers[] | select(.Status == \"running\") | .Status" | wc -l)" - - if [ "$pod_container_running" -ne 0 ]; then - pod_container_running=$(printf "\\033[%um%u Running\\033[0m" "$PODMAN_RUNNING_COLOR" "$pod_container_running") - fi - - pod_container_other="$(echo "$podman_list" | jq -r ".[] | select(.Name == \"$pod\") | .Containers[] | select(.Status != \"running\") | .Status" | wc -l)" - - if [ "$pod_container_other" -ne 0 ]; then - pod_container_other=$(printf ", \\033[%um%u Other\\033[0m" "$PODMAN_OTHER_COLOR" "$pod_container_other") - else - pod_container_other="" - fi - - pod_status="$pod_container_running$pod_container_other" - - printf " \\033[%um%s\\033[0m %s%s%s\\n" "$PODMAN_RUNNING_COLOR" "$PODMAN_RUNNING_ICON" "$pod" "$pod_space" "$pod_status" - else - printf " \\033[%um%s\\033[0m \\033[%um%s\\033[0m\\n" "$PODMAN_OTHER_COLOR" "$PODMAN_OTHER_ICON" "$PODMAN_OTHER_COLOR" "$pod" - fi - done - fi -} - -print_docker() { - if command -v jq >/dev/null && [ "$(systemctl is-active docker.service)" = "active" ]; then - printf "\\n" - printf " \\033[1;37mDocker:\\033[0m\\n" - - docker_info=$(sudo curl -sf --unix-socket /var/run/docker.sock http:/v1.40/info) - - docker_version=$(echo "$docker_info" | jq -r '.ServerVersion') - - docker_space=$(generate_space "$docker_version" 23) - - docker_images=$(echo "$docker_info" | jq -r '.Images') - - printf " %s Version %s%s%s %s Images\\n" "$DOCKER_VERSION_ICON" "$docker_version" "$docker_space" "$DOCKER_IMAGES_ICON" "$docker_images" - - docker_list_curl="$(sudo curl -sf --unix-socket /var/run/docker.sock "http://v1.40/containers/json?all=true")" - docker_list_curl_length="$(echo "$docker_list_curl" | jq -c '. | length')" - docker_list="$(echo "$docker_list_curl" | jq -c ' .[]')" - - if [ "$docker_list_curl_length" != '0' ]; then - echo "$docker_list" | while read -r line; do - container_name="$(echo "$line" | jq -r '.Names[]' | sed 's/\///')" - container_status="$(echo "$line" | jq -r '.Status' | sed 's/.*/\l&/')" - container_space=$(generate_space "$container_name" 34) - if [ "$(echo "$line" | jq -r '.State')" = "running" ]; then - printf " \\033[%um%s\\033[0m %s%s%s\\n" "$DOCKER_RUNNING_COLOR" "$DOCKER_RUNNING_ICON" "$container_name" "$container_space" "$container_status" - else - printf " \\033[%um%s\\033[0m \\033[%um%s\\033[0m%s\\033[%um%s\\033[0m\\n" "$DOCKER_OTHER_COLOR" "$DOCKER_OTHER_ICON" "$DOCKER_OTHER_COLOR" "$container_name" "$container_space" "$DOCKER_OTHER_COLOR" "$container_status" - fi - done - fi - fi -} - -print_updates() { - printf "\\n" - printf " \\033[1;37mHealth:\\033[0m\\n" - if [ -f /usr/bin/apt ]; then - updates_count_regular=$(apt-get -qq -y --ignore-hold --allow-change-held-packages --allow-unauthenticated -s dist-upgrade | grep ^Inst | grep -c -v Security) - updates_count_security=$(apt-get -qq -y --ignore-hold --allow-change-held-packages --allow-unauthenticated -s dist-upgrade | grep ^Inst | grep -c Security) - - if [ "$updates_count_regular" -ne 0 ]; then - if [ -n "$updates_count_security" ] && [ "$updates_count_security" -ne 0 ]; then - updates_icon=$UPDATES_SECURITY_ICON - updates_color=$UPDATES_SECURITY_COLOR - updates_message="$updates_count_regular packages can be updated, $updates_count_security are security updates." - else - updates_icon=$UPDATES_AVAILIABLE_ICON - updates_color=$UPDATES_AVAILIABLE_COLOR - updates_message="$updates_count_regular packages can be updated." - fi - else - updates_icon=$UPDATES_ZERO_ICON - updates_color=$UPDATES_ZERO_COLOR - updates_message="The system apt packages are up-to-date!" - fi - - printf " \\033[%sm%s \\033[0m %s\\n" "$updates_color" "$updates_icon" "$updates_message" - elif [ -f /usr/bin/dnfTODO ]; then - # TODO - Find way of quickly acquiring details - mkdir -p "$HOME/.local/labs" > /dev/null - (command dnf list updates | grep updates | wc -l > "$HOME/.local/labs/dnf-updates-reg" &) - (command dnf updateinfo list --security --available | grep '/Sec. ' | wc -l > "$HOME/.local/labs/dnf-updates-sec" &) - updates_count_security="0" - updates_count_reg="0" - if [ -f "$HOME/.local/labs/dnf-updates-sec" ]; then - updates_count_security="$(cat "$HOME/.local/labs/dnf-updates-sec")" - fi - if [ -f "$HOME/.local/labs/dnf-updates-reg" ]; then - updates_count_reg="$(cat "$HOME/.local/labs/dnf-updates-reg")" - fi - - if [ -n "$updates_count_regular" ] && [ "$updates_count_regular" -ne 0 ]; then - if [ -n "$updates_count_security" ] && [ "$updates_count_security" -ne 0 ]; then - updates_icon=$UPDATES_SECURITY_ICON - updates_color=$UPDATES_SECURITY_COLOR - updates_message="$(generate_space "$updates_count_regular" 5) packages can be updated, $updates_count_security are security updates." - else - updates_icon=$UPDATES_AVAILIABLE_ICON - updates_color=$UPDATES_AVAILIABLE_COLOR - updates_message="$(generate_space "$bar_disk_used" 5) packages can be updated." - fi - else - updates_icon=$UPDATES_ZERO_ICON - updates_color=$UPDATES_ZERO_COLOR - updates_message="The system dnf packages are up-to-date!" - fi - - printf " \\033[%sm%s \\033[0m %s\\n" "$updates_color" "$updates_icon" "$updates_message" - fi - if command -v systemctl > /dev/null; then - running_services_count="$(systemctl --type=service --plain | grep 'active running' | wc -l)" - failed_services_count="$(systemctl --type=service --failed | grep 'failed failed' | wc -l)" - - if [ "$failed_services_count" -eq 0 ]; then - printf " \\033[%sm%s \\033[0m All enabled services are running!\\n" "32" "" - elif [ "$failed_services_count" -eq 1 ]; then - printf " \\033[%sm%s \\033[0m %s services are are currently running\\n" "32" "" "$running_services_count" - printf " \\033[%sm%s \\033[0m 1 service failed to start (%s)\\n" "31" "" "$(systemctl --type=service --failed | grep 'failed failed' | sed 's/..\([^ ]*\).service.*/\1/')" - elif [ "$failed_services_count" -gt 1 ]; then - printf " \\033[%sm%s \\033[0m %s services are are currently running\\n" "32" "" "$running_services_count" - printf " \\033[%sm%s \\033[0m %s services failed to start (see \`systemctl --type=service\`)\\n" "31" "" "$failed_services_count" - fi - fi -} - -print_letsencrypt() { - if [ -d $LETSENCRYPT_CERTPATH ] && [ "$(ls -a $LETSENCRYPT_CERTPATH)" ]; then - printf "\\n" - printf " \\033[1;37mSSL / let’s encrypt:\\033[0m\\n" - - cert_list=$(sudo find $LETSENCRYPT_CERTPATH -name cert.pem) - - for cert_file in $cert_list; do - sudo openssl x509 -checkend $((25 * 86400)) -noout -in "$cert_file" >>/dev/null - result=$? - - cert_name=$(echo "$cert_file" | rev | cut -d '/' -f 2 | rev) - - if [ "$result" -eq 0 ]; then - printf " \\033[%sm%s\\033[0m %s\\n" "$LETSENCRYPT_VALID_COLOR" "$LETSENCRYPT_VALID_ICON" "$cert_name" - else - sudo openssl x509 -checkend $((0 * 86400)) -noout -in "$cert_file" >>/dev/null - result=$? - - if [ "$result" -eq 0 ]; then - printf " \\033[%sm%s\\033[0m %s\\n" "$LETSENCRYPT_WARNING_COLOR" "$LETSENCRYPT_WARNING_ICON" "$cert_name" - else - printf " \\033[%sm%s\\033[0m %s\\n" "$LETSENCRYPT_INVALID_COLOR" "$LETSENCRYPT_INVALID_ICON" "$cert_name" - fi - fi - done - fi -} - -print_login() { - login_last="$(last -n 2 -a -d --time-format iso "$(whoami)" | head -n 2 | tail -n 1)" - - if [ "$(echo "$login_last" | awk '{ print $1 }')" = "$(whoami)" ]; then - login_ip="$(echo "$login_last" | awk '{ print $7 }')" - - login_login="$(date -d "$(echo "$login_last" | awk '{ print $3 }' | cut -d '+' -f 1 | sed "s/T/ /")" "+%a, %d.%m.%y %H:%M")" - - login_space=$(generate_space "$login_login" 25) - - if [ "$(echo "$login_last" | awk '{ print $4 }')" = "still" ]; then - login_logout="still connected" - else - login_logout="$(date -d "$(echo "$login_last" | awk '{ print $5 }' | cut -d '+' -f 1 | sed "s/T/ /")" "+%a, %d.%m.%y %H:%M")" - fi - - printf "\\n" - printf " \\033[1;37mLast login for %s:\\033[0m\\n" "$(echo "$login_last" | awk '{ print $1 }')" - printf " %s %s%s%s %s\\n" "$LOGIN_LOGIN_ICON" "$login_login" "$login_space" "$LOGIN_LOGOUT_ICON" "$login_logout" - printf " %s %s\\n" "$LOGIN_IP_ICON" "$login_ip" - fi -} - -print_include() { - . $INCLUDE_FILE -} - -bash_motd() { - for module in "$@"; do - if [ "$module" = "--banner" ]; then - print_banner - elif [ "$module" = "--processor" ]; then - print_processor - elif [ "$module" = "--memory" ]; then - print_memory - elif [ "$module" = "--swap" ]; then - print_swap - elif [ "$module" = "--diskspace" ]; then - print_diskspace - elif [ "$module" = "--services" ]; then - print_services - elif [ "$module" = "--podman" ]; then - print_podman - elif [ "$module" = "--docker" ]; then - print_docker - elif [ "$module" = "--updates" ]; then - print_updates - elif [ "$module" = "--letsencrypt" ]; then - print_letsencrypt - elif [ "$module" = "--login" ]; then - print_login - elif [ "$module" = "--include" ]; then - print_include - fi - done - printf "\\n" -} diff --git a/.local/share/chezmoi/home/dot_local/scripts/p10k.zsh b/.local/share/chezmoi/home/dot_local/scripts/p10k.zsh deleted file mode 100644 index 884e7241..00000000 --- a/.local/share/chezmoi/home/dot_local/scripts/p10k.zsh +++ /dev/null @@ -1,1641 +0,0 @@ -# Generated by Powerlevel10k configuration wizard on 2022-10-29 at 08:32 EDT. -# Based on romkatv/powerlevel10k/config/p10k-classic.zsh, checksum 52170. -# Wizard options: nerdfont-complete + powerline, large icons, classic, unicode, dark, -# 12h time, angled separators, sharp heads, flat tails, 2 lines, disconnected, -# left frame, sparse, many icons, concise, transient_prompt, instant_prompt=verbose. -# Type `p10k configure` to generate another config. -# -# Config for Powerlevel10k with classic powerline prompt style. Type `p10k configure` to generate -# your own config based on it. -# -# Tip: Looking for a nice color? Here's a one-liner to print colormap. -# -# for i in {0..255}; do print -Pn "%K{$i} %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%6)):#3}:+$'\n'}; done - -# Temporarily change options. -'builtin' 'local' '-a' 'p10k_config_opts' -[[ ! -o 'aliases' ]] || p10k_config_opts+=('aliases') -[[ ! -o 'sh_glob' ]] || p10k_config_opts+=('sh_glob') -[[ ! -o 'no_brace_expand' ]] || p10k_config_opts+=('no_brace_expand') -'builtin' 'setopt' 'no_aliases' 'no_sh_glob' 'brace_expand' - -() { - emulate -L zsh -o extended_glob - - # Unset all configuration options. This allows you to apply configuration changes without - # restarting zsh. Edit ~/.p10k.zsh and type `source ~/.p10k.zsh`. - unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR' - - # Zsh >= 5.1 is required. - autoload -Uz is-at-least && is-at-least 5.1 || return - - # The list of segments shown on the left. Fill it with the most important segments. - typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=( - # =========================[ Line #1 ]========================= - os_icon # os identifier - dir # current directory - vcs # git status - # =========================[ Line #2 ]========================= - newline # \n - # prompt_char # prompt symbol - ) - - # The list of segments shown on the right. Fill it with less important segments. - # Right prompt on the last prompt line (where you are typing your commands) gets - # automatically hidden when the input line reaches it. Right prompt above the - # last prompt line gets hidden if it would overlap with left prompt. - typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=( - # =========================[ Line #1 ]========================= - status # exit code of the last command - command_execution_time # duration of the last command - background_jobs # presence of background jobs - direnv # direnv status (https://direnv.net/) - asdf # asdf version manager (https://github.com/asdf-vm/asdf) - virtualenv # python virtual environment (https://docs.python.org/3/library/venv.html) - anaconda # conda environment (https://conda.io/) - # pyenv # python environment (https://github.com/pyenv/pyenv) - # goenv # go environment (https://github.com/syndbg/goenv) - # nodenv # node.js version from nodenv (https://github.com/nodenv/nodenv) - # nvm # node.js version from nvm (https://github.com/nvm-sh/nvm) - # nodeenv # node.js environment (https://github.com/ekalinin/nodeenv) - node_version # node.js version - go_version # go version (https://golang.org) - rust_version # rustc version (https://www.rust-lang.org) - dotnet_version # .NET version (https://dotnet.microsoft.com) - php_version # php version (https://www.php.net/) - laravel_version # laravel php framework version (https://laravel.com/) - java_version # java version (https://www.java.com/) - package # name@version from package.json (https://docs.npmjs.com/files/package.json) - # rbenv # ruby version from rbenv (https://github.com/rbenv/rbenv) - # rvm # ruby version from rvm (https://rvm.io) - # fvm # flutter version management (https://github.com/leoafarias/fvm) - # luaenv # lua version from luaenv (https://github.com/cehoffman/luaenv) - # jenv # java version from jenv (https://github.com/jenv/jenv) - # plenv # perl version from plenv (https://github.com/tokuhirom/plenv) - # phpenv # php version from phpenv (https://github.com/phpenv/phpenv) - # scalaenv # scala version from scalaenv (https://github.com/scalaenv/scalaenv) - # haskell_stack # haskell version from stack (https://haskellstack.org/) - kubecontext # current kubernetes context (https://kubernetes.io/) - terraform # terraform workspace (https://www.terraform.io) - terraform_version # terraform version (https://www.terraform.io) - aws # aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) - # aws_eb_env # aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) - azure # azure account name (https://docs.microsoft.com/en-us/cli/azure) - gcloud # google cloud cli account and project (https://cloud.google.com/) - google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production) - toolbox # toolbox name (https://github.com/containers/toolbox) - context # user@hostname - # nordvpn # nordvpn connection status, linux only (https://nordvpn.com/) - # ranger # ranger shell (https://github.com/ranger/ranger) - nnn # nnn shell (https://github.com/jarun/nnn) - # xplr # xplr shell (https://github.com/sayanarijit/xplr) - vim_shell # vim shell indicator (:sh) - # midnight_commander # midnight commander shell (https://midnight-commander.org/) - # nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) - vi_mode # vi mode (you don't need this if you've enabled prompt_char) - # vpn_ip # virtual private network indicator - # load # CPU load - # disk_usage # disk usage - ram # free RAM - # swap # used swap - # todo # todo items (https://github.com/todotxt/todo.txt-cli) - # timewarrior # timewarrior tracking status (https://timewarrior.net/) - # taskwarrior # taskwarrior task count (https://taskwarrior.org/) - time # current time - # =========================[ Line #2 ]========================= - # newline # \n - # ip # ip address and bandwidth usage for a specified network interface - # public_ip # public IP address - # proxy # system-wide http/https/ftp proxy - # battery # internal battery - # wifi # wifi speed - # example # example user-defined segment (see prompt_example function below) - ) - - # Defines character set used by powerlevel10k. It's best to let `p10k configure` set it for you. - typeset -g POWERLEVEL9K_MODE=nerdfont-complete - # When set to `moderate`, some icons will have an extra space after them. This is meant to avoid - # icon overlap when using non-monospace fonts. When set to `none`, spaces are not added. - typeset -g POWERLEVEL9K_ICON_PADDING=moderate - - # When set to true, icons appear before content on both sides of the prompt. When set - # to false, icons go after content. If empty or not set, icons go before content in the left - # prompt and after content in the right prompt. - # - # You can also override it for a specific segment: - # - # POWERLEVEL9K_STATUS_ICON_BEFORE_CONTENT=false - # - # Or for a specific segment in specific state: - # - # POWERLEVEL9K_DIR_NOT_WRITABLE_ICON_BEFORE_CONTENT=false - typeset -g POWERLEVEL9K_ICON_BEFORE_CONTENT= - - # Add an empty line before each prompt. - typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=true - - # Connect left prompt lines with these symbols. You'll probably want to use the same color - # as POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND below. - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX='%240F╭─' - typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_PREFIX='%240F├─' - typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX='%240F╰─' - # Connect right prompt lines with these symbols. - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_SUFFIX= - typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_SUFFIX= - typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_SUFFIX= - - # Filler between left and right prompt on the first prompt line. You can set it to ' ', '·' or - # '─'. The last two make it easier to see the alignment between left and right prompt and to - # separate prompt from command output. You might want to set POWERLEVEL9K_PROMPT_ADD_NEWLINE=false - # for more compact prompt if using this option. - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR=' ' - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_BACKGROUND= - typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_GAP_BACKGROUND= - if [[ $POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR != ' ' ]]; then - # The color of the filler. You'll probably want to match the color of POWERLEVEL9K_MULTILINE - # ornaments defined above. - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND=240 - # Start filler from the edge of the screen if there are no left segments on the first line. - typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_FIRST_SEGMENT_END_SYMBOL='%{%}' - # End filler on the edge of the screen if there are no right segments on the first line. - typeset -g POWERLEVEL9K_EMPTY_LINE_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='%{%}' - fi - - # Default background color. - typeset -g POWERLEVEL9K_BACKGROUND=236 - - # Separator between same-color segments on the left. - typeset -g POWERLEVEL9K_LEFT_SUBSEGMENT_SEPARATOR='%244F\uE0B1' - # Separator between same-color segments on the right. - typeset -g POWERLEVEL9K_RIGHT_SUBSEGMENT_SEPARATOR='%244F\uE0B3' - # Separator between different-color segments on the left. - typeset -g POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR='\uE0B0' - # Separator between different-color segments on the right. - typeset -g POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR='\uE0B2' - # The right end of left prompt. - typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL='\uE0B0' - # The left end of right prompt. - typeset -g POWERLEVEL9K_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='\uE0B2' - # The left end of left prompt. - typeset -g POWERLEVEL9K_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL='' - # The right end of right prompt. - typeset -g POWERLEVEL9K_RIGHT_PROMPT_LAST_SEGMENT_END_SYMBOL='' - # Left prompt terminator for lines without any segments. - typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL= - - #################################[ os_icon: os identifier ]################################## - # OS identifier color. - typeset -g POWERLEVEL9K_OS_ICON_FOREGROUND=255 - # Custom icon. - # typeset -g POWERLEVEL9K_OS_ICON_CONTENT_EXPANSION='⭐' - - ################################[ prompt_char: prompt symbol ]################################ - # Transparent background. - typeset -g POWERLEVEL9K_PROMPT_CHAR_BACKGROUND= - # Green prompt symbol if the last command succeeded. - typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=76 - # Red prompt symbol if the last command failed. - typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=196 - # Default prompt symbol. - typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIINS_CONTENT_EXPANSION='❯' - # Prompt symbol in command vi mode. - typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VICMD_CONTENT_EXPANSION='❮' - # Prompt symbol in visual vi mode. - typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIVIS_CONTENT_EXPANSION='V' - # Prompt symbol in overwrite vi mode. - typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIOWR_CONTENT_EXPANSION='▶' - typeset -g POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=true - # No line terminator if prompt_char is the last segment. - typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL= - # No line introducer if prompt_char is the first segment. - typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL= - # No surrounding whitespace. - typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_{LEFT,RIGHT}_WHITESPACE= - - ##################################[ dir: current directory ]################################## - # Default current directory color. - typeset -g POWERLEVEL9K_DIR_FOREGROUND=31 - # If directory is too long, shorten some of its segments to the shortest possible unique - # prefix. The shortened directory can be tab-completed to the original. - typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_unique - # Replace removed segment suffixes with this symbol. - typeset -g POWERLEVEL9K_SHORTEN_DELIMITER= - # Color of the shortened directory segments. - typeset -g POWERLEVEL9K_DIR_SHORTENED_FOREGROUND=103 - # Color of the anchor directory segments. Anchor segments are never shortened. The first - # segment is always an anchor. - typeset -g POWERLEVEL9K_DIR_ANCHOR_FOREGROUND=39 - # Display anchor directory segments in bold. - typeset -g POWERLEVEL9K_DIR_ANCHOR_BOLD=true - # Don't shorten directories that contain any of these files. They are anchors. - local anchor_files=( - .bzr - .citc - .git - .hg - .node-version - .python-version - .go-version - .ruby-version - .lua-version - .java-version - .perl-version - .php-version - .tool-version - .shorten_folder_marker - .svn - .terraform - CVS - Cargo.toml - composer.json - go.mod - package.json - stack.yaml - ) - typeset -g POWERLEVEL9K_SHORTEN_FOLDER_MARKER="(${(j:|:)anchor_files})" - # If set to "first" ("last"), remove everything before the first (last) subdirectory that contains - # files matching $POWERLEVEL9K_SHORTEN_FOLDER_MARKER. For example, when the current directory is - # /foo/bar/git_repo/nested_git_repo/baz, prompt will display git_repo/nested_git_repo/baz (first) - # or nested_git_repo/baz (last). This assumes that git_repo and nested_git_repo contain markers - # and other directories don't. - # - # Optionally, "first" and "last" can be followed by ":" where is an integer. - # This moves the truncation point to the right (positive offset) or to the left (negative offset) - # relative to the marker. Plain "first" and "last" are equivalent to "first:0" and "last:0" - # respectively. - typeset -g POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER=false - # Don't shorten this many last directory segments. They are anchors. - typeset -g POWERLEVEL9K_SHORTEN_DIR_LENGTH=1 - # Shorten directory if it's longer than this even if there is space for it. The value can - # be either absolute (e.g., '80') or a percentage of terminal width (e.g, '50%'). If empty, - # directory will be shortened only when prompt doesn't fit or when other parameters demand it - # (see POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS and POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT below). - # If set to `0`, directory will always be shortened to its minimum length. - typeset -g POWERLEVEL9K_DIR_MAX_LENGTH=80 - # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least this - # many columns for typing commands. - typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS=40 - # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least - # COLUMNS * POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT * 0.01 columns for typing commands. - typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT=50 - # If set to true, embed a hyperlink into the directory. Useful for quickly - # opening a directory in the file manager simply by clicking the link. - # Can also be handy when the directory is shortened, as it allows you to see - # the full directory that was used in previous commands. - typeset -g POWERLEVEL9K_DIR_HYPERLINK=false - - # Enable special styling for non-writable and non-existent directories. See POWERLEVEL9K_LOCK_ICON - # and POWERLEVEL9K_DIR_CLASSES below. - typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v3 - - # The default icon shown next to non-writable and non-existent directories when - # POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v3. - # typeset -g POWERLEVEL9K_LOCK_ICON='⭐' - - # POWERLEVEL9K_DIR_CLASSES allows you to specify custom icons and colors for different - # directories. It must be an array with 3 * N elements. Each triplet consists of: - # - # 1. A pattern against which the current directory ($PWD) is matched. Matching is done with - # extended_glob option enabled. - # 2. Directory class for the purpose of styling. - # 3. An empty string. - # - # Triplets are tried in order. The first triplet whose pattern matches $PWD wins. - # - # If POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v3, non-writable and non-existent directories - # acquire class suffix _NOT_WRITABLE and NON_EXISTENT respectively. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_DIR_CLASSES=( - # '~/work(|/*)' WORK '' - # '~(|/*)' HOME '' - # '*' DEFAULT '') - # - # Whenever the current directory is ~/work or a subdirectory of ~/work, it gets styled with one - # of the following classes depending on its writability and existence: WORK, WORK_NOT_WRITABLE or - # WORK_NON_EXISTENT. - # - # Simply assigning classes to directories doesn't have any visible effects. It merely gives you an - # option to define custom colors and icons for different directory classes. - # - # # Styling for WORK. - # typeset -g POWERLEVEL9K_DIR_WORK_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_DIR_WORK_FOREGROUND=31 - # typeset -g POWERLEVEL9K_DIR_WORK_SHORTENED_FOREGROUND=103 - # typeset -g POWERLEVEL9K_DIR_WORK_ANCHOR_FOREGROUND=39 - # - # # Styling for WORK_NOT_WRITABLE. - # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND=31 - # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_SHORTENED_FOREGROUND=103 - # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_ANCHOR_FOREGROUND=39 - # - # # Styling for WORK_NON_EXISTENT. - # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_FOREGROUND=31 - # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_SHORTENED_FOREGROUND=103 - # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_ANCHOR_FOREGROUND=39 - # - # If a styling parameter isn't explicitly defined for some class, it falls back to the classless - # parameter. For example, if POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND is not set, it falls - # back to POWERLEVEL9K_DIR_FOREGROUND. - # - # typeset -g POWERLEVEL9K_DIR_CLASSES=() - - # Custom prefix. - # typeset -g POWERLEVEL9K_DIR_PREFIX='%246Fin ' - - #####################################[ vcs: git status ]###################################### - # Branch icon. Set this parameter to '\uF126 ' for the popular Powerline branch icon. - typeset -g POWERLEVEL9K_VCS_BRANCH_ICON='\uF126 ' - - # Untracked files icon. It's really a question mark, your font isn't broken. - # Change the value of this parameter to show a different icon. - typeset -g POWERLEVEL9K_VCS_UNTRACKED_ICON='?' - - # Formatter for Git status. - # - # Example output: master wip ⇣42⇡42 *42 merge ~42 +42 !42 ?42. - # - # You can edit the function to customize how Git status looks. - # - # VCS_STATUS_* parameters are set by gitstatus plugin. See reference: - # https://github.com/romkatv/gitstatus/blob/master/gitstatus.plugin.zsh. - function my_git_formatter() { - emulate -L zsh - - if [[ -n $P9K_CONTENT ]]; then - # If P9K_CONTENT is not empty, use it. It's either "loading" or from vcs_info (not from - # gitstatus plugin). VCS_STATUS_* parameters are not available in this case. - typeset -g my_git_format=$P9K_CONTENT - return - fi - - if (( $1 )); then - # Styling for up-to-date Git status. - local meta='%246F' # grey foreground - local clean='%76F' # green foreground - local modified='%178F' # yellow foreground - local untracked='%39F' # blue foreground - local conflicted='%196F' # red foreground - else - # Styling for incomplete and stale Git status. - local meta='%244F' # grey foreground - local clean='%244F' # grey foreground - local modified='%244F' # grey foreground - local untracked='%244F' # grey foreground - local conflicted='%244F' # grey foreground - fi - - local res - - if [[ -n $VCS_STATUS_LOCAL_BRANCH ]]; then - local branch=${(V)VCS_STATUS_LOCAL_BRANCH} - # If local branch name is at most 32 characters long, show it in full. - # Otherwise show the first 12 … the last 12. - # Tip: To always show local branch name in full without truncation, delete the next line. - (( $#branch > 32 )) && branch[13,-13]="…" # <-- this line - res+="${clean}${(g::)POWERLEVEL9K_VCS_BRANCH_ICON}${branch//\%/%%}" - fi - - if [[ -n $VCS_STATUS_TAG - # Show tag only if not on a branch. - # Tip: To always show tag, delete the next line. - && -z $VCS_STATUS_LOCAL_BRANCH # <-- this line - ]]; then - local tag=${(V)VCS_STATUS_TAG} - # If tag name is at most 32 characters long, show it in full. - # Otherwise show the first 12 … the last 12. - # Tip: To always show tag name in full without truncation, delete the next line. - (( $#tag > 32 )) && tag[13,-13]="…" # <-- this line - res+="${meta}#${clean}${tag//\%/%%}" - fi - - # Display the current Git commit if there is no branch and no tag. - # Tip: To always display the current Git commit, delete the next line. - [[ -z $VCS_STATUS_LOCAL_BRANCH && -z $VCS_STATUS_TAG ]] && # <-- this line - res+="${meta}@${clean}${VCS_STATUS_COMMIT[1,8]}" - - # Show tracking branch name if it differs from local branch. - if [[ -n ${VCS_STATUS_REMOTE_BRANCH:#$VCS_STATUS_LOCAL_BRANCH} ]]; then - res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}" - fi - - # Display "wip" if the latest commit's summary contains "wip" or "WIP". - if [[ $VCS_STATUS_COMMIT_SUMMARY == (|*[^[:alnum:]])(wip|WIP)(|[^[:alnum:]]*) ]]; then - res+=" ${modified}wip" - fi - - # ⇣42 if behind the remote. - (( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}⇣${VCS_STATUS_COMMITS_BEHIND}" - # ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42. - (( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" " - (( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}⇡${VCS_STATUS_COMMITS_AHEAD}" - # ⇠42 if behind the push remote. - (( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}⇠${VCS_STATUS_PUSH_COMMITS_BEHIND}" - (( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" " - # ⇢42 if ahead of the push remote; no leading space if also behind: ⇠42⇢42. - (( VCS_STATUS_PUSH_COMMITS_AHEAD )) && res+="${clean}⇢${VCS_STATUS_PUSH_COMMITS_AHEAD}" - # *42 if have stashes. - (( VCS_STATUS_STASHES )) && res+=" ${clean}*${VCS_STATUS_STASHES}" - # 'merge' if the repo is in an unusual state. - [[ -n $VCS_STATUS_ACTION ]] && res+=" ${conflicted}${VCS_STATUS_ACTION}" - # ~42 if have merge conflicts. - (( VCS_STATUS_NUM_CONFLICTED )) && res+=" ${conflicted}~${VCS_STATUS_NUM_CONFLICTED}" - # +42 if have staged changes. - (( VCS_STATUS_NUM_STAGED )) && res+=" ${modified}+${VCS_STATUS_NUM_STAGED}" - # !42 if have unstaged changes. - (( VCS_STATUS_NUM_UNSTAGED )) && res+=" ${modified}!${VCS_STATUS_NUM_UNSTAGED}" - # ?42 if have untracked files. It's really a question mark, your font isn't broken. - # See POWERLEVEL9K_VCS_UNTRACKED_ICON above if you want to use a different icon. - # Remove the next line if you don't want to see untracked files at all. - (( VCS_STATUS_NUM_UNTRACKED )) && res+=" ${untracked}${(g::)POWERLEVEL9K_VCS_UNTRACKED_ICON}${VCS_STATUS_NUM_UNTRACKED}" - # "─" if the number of unstaged files is unknown. This can happen due to - # POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY (see below) being set to a non-negative number lower - # than the number of files in the Git index, or due to bash.showDirtyState being set to false - # in the repository config. The number of staged and untracked files may also be unknown - # in this case. - (( VCS_STATUS_HAS_UNSTAGED == -1 )) && res+=" ${modified}─" - - typeset -g my_git_format=$res - } - functions -M my_git_formatter 2>/dev/null - - # Don't count the number of unstaged, untracked and conflicted files in Git repositories with - # more than this many files in the index. Negative value means infinity. - # - # If you are working in Git repositories with tens of millions of files and seeing performance - # sagging, try setting POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY to a number lower than the output - # of `git ls-files | wc -l`. Alternatively, add `bash.showDirtyState = false` to the repository's - # config: `git config bash.showDirtyState false`. - typeset -g POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY=-1 - - # Don't show Git status in prompt for repositories whose workdir matches this pattern. - # For example, if set to '~', the Git repository at $HOME/.git will be ignored. - # Multiple patterns can be combined with '|': '~(|/foo)|/bar/baz/*'. - typeset -g POWERLEVEL9K_VCS_DISABLED_WORKDIR_PATTERN='~' - - # Disable the default Git status formatting. - typeset -g POWERLEVEL9K_VCS_DISABLE_GITSTATUS_FORMATTING=true - # Install our own Git status formatter. - typeset -g POWERLEVEL9K_VCS_CONTENT_EXPANSION='${$((my_git_formatter(1)))+${my_git_format}}' - typeset -g POWERLEVEL9K_VCS_LOADING_CONTENT_EXPANSION='${$((my_git_formatter(0)))+${my_git_format}}' - # Enable counters for staged, unstaged, etc. - typeset -g POWERLEVEL9K_VCS_{STAGED,UNSTAGED,UNTRACKED,CONFLICTED,COMMITS_AHEAD,COMMITS_BEHIND}_MAX_NUM=-1 - - # Icon color. - typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_COLOR=76 - typeset -g POWERLEVEL9K_VCS_LOADING_VISUAL_IDENTIFIER_COLOR=244 - # Custom icon. - # typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_EXPANSION='⭐' - # Custom prefix. - # typeset -g POWERLEVEL9K_VCS_PREFIX='%246Fon ' - - # Show status of repositories of these types. You can add svn and/or hg if you are - # using them. If you do, your prompt may become slow even when your current directory - # isn't in an svn or hg reposotiry. - typeset -g POWERLEVEL9K_VCS_BACKENDS=(git) - - # These settings are used for repositories other than Git or when gitstatusd fails and - # Powerlevel10k has to fall back to using vcs_info. - typeset -g POWERLEVEL9K_VCS_CLEAN_FOREGROUND=76 - typeset -g POWERLEVEL9K_VCS_UNTRACKED_FOREGROUND=76 - typeset -g POWERLEVEL9K_VCS_MODIFIED_FOREGROUND=178 - - ##########################[ status: exit code of the last command ]########################### - # Enable OK_PIPE, ERROR_PIPE and ERROR_SIGNAL status states to allow us to enable, disable and - # style them independently from the regular OK and ERROR state. - typeset -g POWERLEVEL9K_STATUS_EXTENDED_STATES=true - - # Status on success. No content, just an icon. No need to show it if prompt_char is enabled as - # it will signify success by turning green. - typeset -g POWERLEVEL9K_STATUS_OK=true - typeset -g POWERLEVEL9K_STATUS_OK_FOREGROUND=70 - typeset -g POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_EXPANSION='✔' - - # Status when some part of a pipe command fails but the overall exit status is zero. It may look - # like this: 1|0. - typeset -g POWERLEVEL9K_STATUS_OK_PIPE=true - typeset -g POWERLEVEL9K_STATUS_OK_PIPE_FOREGROUND=70 - typeset -g POWERLEVEL9K_STATUS_OK_PIPE_VISUAL_IDENTIFIER_EXPANSION='✔' - - # Status when it's just an error code (e.g., '1'). No need to show it if prompt_char is enabled as - # it will signify error by turning red. - typeset -g POWERLEVEL9K_STATUS_ERROR=true - typeset -g POWERLEVEL9K_STATUS_ERROR_FOREGROUND=160 - typeset -g POWERLEVEL9K_STATUS_ERROR_VISUAL_IDENTIFIER_EXPANSION='✘' - - # Status when the last command was terminated by a signal. - typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL=true - typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_FOREGROUND=160 - # Use terse signal names: "INT" instead of "SIGINT(2)". - typeset -g POWERLEVEL9K_STATUS_VERBOSE_SIGNAME=false - typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_VISUAL_IDENTIFIER_EXPANSION='✘' - - # Status when some part of a pipe command fails and the overall exit status is also non-zero. - # It may look like this: 1|0. - typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE=true - typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_FOREGROUND=160 - typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_VISUAL_IDENTIFIER_EXPANSION='✘' - - ###################[ command_execution_time: duration of the last command ]################### - # Show duration of the last command if takes at least this many seconds. - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=3 - # Show this many fractional digits. Zero means round to seconds. - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0 - # Execution time color. - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=248 - # Duration format: 1d 2h 3m 4s. - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FORMAT='d h m s' - # Custom icon. - # typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_VISUAL_IDENTIFIER_EXPANSION='⭐' - # Custom prefix. - # typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PREFIX='%246Ftook ' - - #######################[ background_jobs: presence of background jobs ]####################### - # Don't show the number of background jobs. - typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VERBOSE=false - # Background jobs color. - typeset -g POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND=37 - # Custom icon. - # typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #######################[ direnv: direnv status (https://direnv.net/) ]######################## - # Direnv color. - typeset -g POWERLEVEL9K_DIRENV_FOREGROUND=178 - # Custom icon. - # typeset -g POWERLEVEL9K_DIRENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###############[ asdf: asdf version manager (https://github.com/asdf-vm/asdf) ]############### - # Default asdf color. Only used to display tools for which there is no color override (see below). - # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_FOREGROUND. - typeset -g POWERLEVEL9K_ASDF_FOREGROUND=66 - - # There are four parameters that can be used to hide asdf tools. Each parameter describes - # conditions under which a tool gets hidden. Parameters can hide tools but not unhide them. If at - # least one parameter decides to hide a tool, that tool gets hidden. If no parameter decides to - # hide a tool, it gets shown. - # - # Special note on the difference between POWERLEVEL9K_ASDF_SOURCES and - # POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW. Consider the effect of the following commands: - # - # asdf local python 3.8.1 - # asdf global python 3.8.1 - # - # After running both commands the current python version is 3.8.1 and its source is "local" as - # it takes precedence over "global". If POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW is set to false, - # it'll hide python version in this case because 3.8.1 is the same as the global version. - # POWERLEVEL9K_ASDF_SOURCES will hide python version only if the value of this parameter doesn't - # contain "local". - - # Hide tool versions that don't come from one of these sources. - # - # Available sources: - # - # - shell `asdf current` says "set by ASDF_${TOOL}_VERSION environment variable" - # - local `asdf current` says "set by /some/not/home/directory/file" - # - global `asdf current` says "set by /home/username/file" - # - # Note: If this parameter is set to (shell local global), it won't hide tools. - # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SOURCES. - typeset -g POWERLEVEL9K_ASDF_SOURCES=(shell local global) - - # If set to false, hide tool versions that are the same as global. - # - # Note: The name of this parameter doesn't reflect its meaning at all. - # Note: If this parameter is set to true, it won't hide tools. - # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_PROMPT_ALWAYS_SHOW. - typeset -g POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW=false - - # If set to false, hide tool versions that are equal to "system". - # - # Note: If this parameter is set to true, it won't hide tools. - # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_SYSTEM. - typeset -g POWERLEVEL9K_ASDF_SHOW_SYSTEM=true - - # If set to non-empty value, hide tools unless there is a file matching the specified file pattern - # in the current directory, or its parent directory, or its grandparent directory, and so on. - # - # Note: If this parameter is set to empty value, it won't hide tools. - # Note: SHOW_ON_UPGLOB isn't specific to asdf. It works with all prompt segments. - # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_ON_UPGLOB. - # - # Example: Hide nodejs version when there is no package.json and no *.js files in the current - # directory, in `..`, in `../..` and so on. - # - # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.js|package.json' - typeset -g POWERLEVEL9K_ASDF_SHOW_ON_UPGLOB= - - # Ruby version from asdf. - typeset -g POWERLEVEL9K_ASDF_RUBY_FOREGROUND=168 - # typeset -g POWERLEVEL9K_ASDF_RUBY_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_RUBY_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Python version from asdf. - typeset -g POWERLEVEL9K_ASDF_PYTHON_FOREGROUND=37 - # typeset -g POWERLEVEL9K_ASDF_PYTHON_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_PYTHON_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Go version from asdf. - typeset -g POWERLEVEL9K_ASDF_GOLANG_FOREGROUND=37 - # typeset -g POWERLEVEL9K_ASDF_GOLANG_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_GOLANG_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Node.js version from asdf. - typeset -g POWERLEVEL9K_ASDF_NODEJS_FOREGROUND=70 - # typeset -g POWERLEVEL9K_ASDF_NODEJS_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Rust version from asdf. - typeset -g POWERLEVEL9K_ASDF_RUST_FOREGROUND=37 - # typeset -g POWERLEVEL9K_ASDF_RUST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_RUST_SHOW_ON_UPGLOB='*.foo|*.bar' - - # .NET Core version from asdf. - typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_FOREGROUND=134 - # typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Flutter version from asdf. - typeset -g POWERLEVEL9K_ASDF_FLUTTER_FOREGROUND=38 - # typeset -g POWERLEVEL9K_ASDF_FLUTTER_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_FLUTTER_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Lua version from asdf. - typeset -g POWERLEVEL9K_ASDF_LUA_FOREGROUND=32 - # typeset -g POWERLEVEL9K_ASDF_LUA_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_LUA_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Java version from asdf. - typeset -g POWERLEVEL9K_ASDF_JAVA_FOREGROUND=32 - # typeset -g POWERLEVEL9K_ASDF_JAVA_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_JAVA_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Perl version from asdf. - typeset -g POWERLEVEL9K_ASDF_PERL_FOREGROUND=67 - # typeset -g POWERLEVEL9K_ASDF_PERL_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_PERL_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Erlang version from asdf. - typeset -g POWERLEVEL9K_ASDF_ERLANG_FOREGROUND=125 - # typeset -g POWERLEVEL9K_ASDF_ERLANG_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_ERLANG_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Elixir version from asdf. - typeset -g POWERLEVEL9K_ASDF_ELIXIR_FOREGROUND=129 - # typeset -g POWERLEVEL9K_ASDF_ELIXIR_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_ELIXIR_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Postgres version from asdf. - typeset -g POWERLEVEL9K_ASDF_POSTGRES_FOREGROUND=31 - # typeset -g POWERLEVEL9K_ASDF_POSTGRES_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_POSTGRES_SHOW_ON_UPGLOB='*.foo|*.bar' - - # PHP version from asdf. - typeset -g POWERLEVEL9K_ASDF_PHP_FOREGROUND=99 - # typeset -g POWERLEVEL9K_ASDF_PHP_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_PHP_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Haskell version from asdf. - typeset -g POWERLEVEL9K_ASDF_HASKELL_FOREGROUND=172 - # typeset -g POWERLEVEL9K_ASDF_HASKELL_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_HASKELL_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Julia version from asdf. - typeset -g POWERLEVEL9K_ASDF_JULIA_FOREGROUND=70 - # typeset -g POWERLEVEL9K_ASDF_JULIA_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_JULIA_SHOW_ON_UPGLOB='*.foo|*.bar' - - ##########[ nordvpn: nordvpn connection status, linux only (https://nordvpn.com/) ]########### - # NordVPN connection indicator color. - typeset -g POWERLEVEL9K_NORDVPN_FOREGROUND=39 - # Hide NordVPN connection indicator when not connected. - typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_CONTENT_EXPANSION= - typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_VISUAL_IDENTIFIER_EXPANSION= - # Custom icon. - # typeset -g POWERLEVEL9K_NORDVPN_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #################[ ranger: ranger shell (https://github.com/ranger/ranger) ]################## - # Ranger shell color. - typeset -g POWERLEVEL9K_RANGER_FOREGROUND=178 - # Custom icon. - # typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]####################### - # Nnn shell color. - typeset -g POWERLEVEL9K_NNN_FOREGROUND=72 - # Custom icon. - # typeset -g POWERLEVEL9K_NNN_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##################[ xplr: xplr shell (https://github.com/sayanarijit/xplr) ]################## - # xplr shell color. - typeset -g POWERLEVEL9K_XPLR_FOREGROUND=72 - # Custom icon. - # typeset -g POWERLEVEL9K_XPLR_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########################[ vim_shell: vim shell indicator (:sh) ]########################### - # Vim shell indicator color. - typeset -g POWERLEVEL9K_VIM_SHELL_FOREGROUND=34 - # Custom icon. - # typeset -g POWERLEVEL9K_VIM_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ######[ midnight_commander: midnight commander shell (https://midnight-commander.org/) ]###### - # Midnight Commander shell color. - typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_FOREGROUND=178 - # Custom icon. - # typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #[ nix_shell: nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) ]## - # Nix shell color. - typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=74 - - # Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line. - # typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION= - - # Custom icon. - # typeset -g POWERLEVEL9K_NIX_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##################################[ disk_usage: disk usage ]################################## - # Colors for different levels of disk usage. - typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND=35 - typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_FOREGROUND=220 - typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_FOREGROUND=160 - # Thresholds for different levels of disk usage (percentage points). - typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL=90 - typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_LEVEL=95 - # If set to true, hide disk usage when below $POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL percent. - typeset -g POWERLEVEL9K_DISK_USAGE_ONLY_WARNING=false - # Custom icon. - # typeset -g POWERLEVEL9K_DISK_USAGE_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ vi_mode: vi mode (you don't need this if you've enabled prompt_char) ]########### - # Text and color for normal (a.k.a. command) vi mode. - typeset -g POWERLEVEL9K_VI_COMMAND_MODE_STRING=NORMAL - typeset -g POWERLEVEL9K_VI_MODE_NORMAL_FOREGROUND=106 - # Text and color for visual vi mode. - typeset -g POWERLEVEL9K_VI_VISUAL_MODE_STRING=VISUAL - typeset -g POWERLEVEL9K_VI_MODE_VISUAL_FOREGROUND=68 - # Text and color for overtype (a.k.a. overwrite and replace) vi mode. - typeset -g POWERLEVEL9K_VI_OVERWRITE_MODE_STRING=OVERTYPE - typeset -g POWERLEVEL9K_VI_MODE_OVERWRITE_FOREGROUND=172 - # Text and color for insert vi mode. - typeset -g POWERLEVEL9K_VI_INSERT_MODE_STRING= - typeset -g POWERLEVEL9K_VI_MODE_INSERT_FOREGROUND=66 - - # Custom icon. - # typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ######################################[ ram: free RAM ]####################################### - # RAM color. - typeset -g POWERLEVEL9K_RAM_FOREGROUND=66 - # Custom icon. - # typeset -g POWERLEVEL9K_RAM_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #####################################[ swap: used swap ]###################################### - # Swap color. - typeset -g POWERLEVEL9K_SWAP_FOREGROUND=96 - # Custom icon. - # typeset -g POWERLEVEL9K_SWAP_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ######################################[ load: CPU load ]###################################### - # Show average CPU load over this many last minutes. Valid values are 1, 5 and 15. - typeset -g POWERLEVEL9K_LOAD_WHICH=5 - # Load color when load is under 50%. - typeset -g POWERLEVEL9K_LOAD_NORMAL_FOREGROUND=66 - # Load color when load is between 50% and 70%. - typeset -g POWERLEVEL9K_LOAD_WARNING_FOREGROUND=178 - # Load color when load is over 70%. - typeset -g POWERLEVEL9K_LOAD_CRITICAL_FOREGROUND=166 - # Custom icon. - # typeset -g POWERLEVEL9K_LOAD_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################[ todo: todo items (https://github.com/todotxt/todo.txt-cli) ]################ - # Todo color. - typeset -g POWERLEVEL9K_TODO_FOREGROUND=110 - # Hide todo when the total number of tasks is zero. - typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_TOTAL=true - # Hide todo when the number of tasks after filtering is zero. - typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_FILTERED=false - - # Todo format. The following parameters are available within the expansion. - # - # - P9K_TODO_TOTAL_TASK_COUNT The total number of tasks. - # - P9K_TODO_FILTERED_TASK_COUNT The number of tasks after filtering. - # - # These variables correspond to the last line of the output of `todo.sh -p ls`: - # - # TODO: 24 of 42 tasks shown - # - # Here 24 is P9K_TODO_FILTERED_TASK_COUNT and 42 is P9K_TODO_TOTAL_TASK_COUNT. - # - # typeset -g POWERLEVEL9K_TODO_CONTENT_EXPANSION='$P9K_TODO_FILTERED_TASK_COUNT' - - # Custom icon. - # typeset -g POWERLEVEL9K_TODO_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ timewarrior: timewarrior tracking status (https://timewarrior.net/) ]############ - # Timewarrior color. - typeset -g POWERLEVEL9K_TIMEWARRIOR_FOREGROUND=110 - # If the tracked task is longer than 24 characters, truncate and append "…". - # Tip: To always display tasks without truncation, delete the following parameter. - # Tip: To hide task names and display just the icon when time tracking is enabled, set the - # value of the following parameter to "". - typeset -g POWERLEVEL9K_TIMEWARRIOR_CONTENT_EXPANSION='${P9K_CONTENT:0:24}${${P9K_CONTENT:24}:+…}' - - # Custom icon. - # typeset -g POWERLEVEL9K_TIMEWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##############[ taskwarrior: taskwarrior task count (https://taskwarrior.org/) ]############## - # Taskwarrior color. - typeset -g POWERLEVEL9K_TASKWARRIOR_FOREGROUND=74 - - # Taskwarrior segment format. The following parameters are available within the expansion. - # - # - P9K_TASKWARRIOR_PENDING_COUNT The number of pending tasks: `task +PENDING count`. - # - P9K_TASKWARRIOR_OVERDUE_COUNT The number of overdue tasks: `task +OVERDUE count`. - # - # Zero values are represented as empty parameters. - # - # The default format: - # - # '${P9K_TASKWARRIOR_OVERDUE_COUNT:+"!$P9K_TASKWARRIOR_OVERDUE_COUNT/"}$P9K_TASKWARRIOR_PENDING_COUNT' - # - # typeset -g POWERLEVEL9K_TASKWARRIOR_CONTENT_EXPANSION='$P9K_TASKWARRIOR_PENDING_COUNT' - - # Custom icon. - # typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##################################[ context: user@hostname ]################################## - # Context color when running with privileges. - typeset -g POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND=178 - # Context color in SSH without privileges. - typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_FOREGROUND=180 - # Default context color (no privileges, no SSH). - typeset -g POWERLEVEL9K_CONTEXT_FOREGROUND=180 - - # Context format when running with privileges: bold user@hostname. - typeset -g POWERLEVEL9K_CONTEXT_ROOT_TEMPLATE='%B%n@%m' - # Context format when in SSH without privileges: user@hostname. - typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_TEMPLATE='%n@%m' - # Default context format (no privileges, no SSH): user@hostname. - typeset -g POWERLEVEL9K_CONTEXT_TEMPLATE='%n@%m' - - # Don't show context unless running with privileges or in SSH. - # Tip: Remove the next line to always show context. - typeset -g POWERLEVEL9K_CONTEXT_{DEFAULT,SUDO}_{CONTENT,VISUAL_IDENTIFIER}_EXPANSION= - - # Custom icon. - # typeset -g POWERLEVEL9K_CONTEXT_VISUAL_IDENTIFIER_EXPANSION='⭐' - # Custom prefix. - # typeset -g POWERLEVEL9K_CONTEXT_PREFIX='%246Fwith ' - - ###[ virtualenv: python virtual environment (https://docs.python.org/3/library/venv.html) ]### - # Python virtual environment color. - typeset -g POWERLEVEL9K_VIRTUALENV_FOREGROUND=37 - # Don't show Python version next to the virtual environment name. - typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION=false - # If set to "false", won't show virtualenv if pyenv is already shown. - # If set to "if-different", won't show virtualenv if it's the same as pyenv. - typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV=false - # Separate environment name from Python version only with a space. - typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER= - # Custom icon. - # typeset -g POWERLEVEL9K_VIRTUALENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #####################[ anaconda: conda environment (https://conda.io/) ]###################### - # Anaconda environment color. - typeset -g POWERLEVEL9K_ANACONDA_FOREGROUND=37 - - # Anaconda segment format. The following parameters are available within the expansion. - # - # - CONDA_PREFIX Absolute path to the active Anaconda/Miniconda environment. - # - CONDA_DEFAULT_ENV Name of the active Anaconda/Miniconda environment. - # - CONDA_PROMPT_MODIFIER Configurable prompt modifier (see below). - # - P9K_ANACONDA_PYTHON_VERSION Current python version (python --version). - # - # CONDA_PROMPT_MODIFIER can be configured with the following command: - # - # conda config --set env_prompt '({default_env}) ' - # - # The last argument is a Python format string that can use the following variables: - # - # - prefix The same as CONDA_PREFIX. - # - default_env The same as CONDA_DEFAULT_ENV. - # - name The last segment of CONDA_PREFIX. - # - stacked_env Comma-separated list of names in the environment stack. The first element is - # always the same as default_env. - # - # Note: '({default_env}) ' is the default value of env_prompt. - # - # The default value of POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION expands to $CONDA_PROMPT_MODIFIER - # without the surrounding parentheses, or to the last path component of CONDA_PREFIX if the former - # is empty. - typeset -g POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION='${${${${CONDA_PROMPT_MODIFIER#\(}% }%\)}:-${CONDA_PREFIX:t}}' - - # Custom icon. - # typeset -g POWERLEVEL9K_ANACONDA_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################[ pyenv: python environment (https://github.com/pyenv/pyenv) ]################ - # Pyenv color. - typeset -g POWERLEVEL9K_PYENV_FOREGROUND=37 - # Hide python version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_PYENV_SOURCES=(shell local global) - # If set to false, hide python version if it's the same as global: - # $(pyenv version-name) == $(pyenv global). - typeset -g POWERLEVEL9K_PYENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide python version if it's equal to "system". - typeset -g POWERLEVEL9K_PYENV_SHOW_SYSTEM=true - - # Pyenv segment format. The following parameters are available within the expansion. - # - # - P9K_CONTENT Current pyenv environment (pyenv version-name). - # - P9K_PYENV_PYTHON_VERSION Current python version (python --version). - # - # The default format has the following logic: - # - # 1. Display just "$P9K_CONTENT" if it's equal to "$P9K_PYENV_PYTHON_VERSION" or - # starts with "$P9K_PYENV_PYTHON_VERSION/". - # 2. Otherwise display "$P9K_CONTENT $P9K_PYENV_PYTHON_VERSION". - typeset -g POWERLEVEL9K_PYENV_CONTENT_EXPANSION='${P9K_CONTENT}${${P9K_CONTENT:#$P9K_PYENV_PYTHON_VERSION(|/*)}:+ $P9K_PYENV_PYTHON_VERSION}' - - # Custom icon. - # typeset -g POWERLEVEL9K_PYENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################[ goenv: go environment (https://github.com/syndbg/goenv) ]################ - # Goenv color. - typeset -g POWERLEVEL9K_GOENV_FOREGROUND=37 - # Hide go version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_GOENV_SOURCES=(shell local global) - # If set to false, hide go version if it's the same as global: - # $(goenv version-name) == $(goenv global). - typeset -g POWERLEVEL9K_GOENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide go version if it's equal to "system". - typeset -g POWERLEVEL9K_GOENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_GOENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ nodenv: node.js version from nodenv (https://github.com/nodenv/nodenv) ]########## - # Nodenv color. - typeset -g POWERLEVEL9K_NODENV_FOREGROUND=70 - # Hide node version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_NODENV_SOURCES=(shell local global) - # If set to false, hide node version if it's the same as global: - # $(nodenv version-name) == $(nodenv global). - typeset -g POWERLEVEL9K_NODENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide node version if it's equal to "system". - typeset -g POWERLEVEL9K_NODENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_NODENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##############[ nvm: node.js version from nvm (https://github.com/nvm-sh/nvm) ]############### - # Nvm color. - typeset -g POWERLEVEL9K_NVM_FOREGROUND=70 - # Custom icon. - # typeset -g POWERLEVEL9K_NVM_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ############[ nodeenv: node.js environment (https://github.com/ekalinin/nodeenv) ]############ - # Nodeenv color. - typeset -g POWERLEVEL9K_NODEENV_FOREGROUND=70 - # Don't show Node version next to the environment name. - typeset -g POWERLEVEL9K_NODEENV_SHOW_NODE_VERSION=false - # Separate environment name from Node version only with a space. - typeset -g POWERLEVEL9K_NODEENV_{LEFT,RIGHT}_DELIMITER= - # Custom icon. - # typeset -g POWERLEVEL9K_NODEENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##############################[ node_version: node.js version ]############################### - # Node version color. - typeset -g POWERLEVEL9K_NODE_VERSION_FOREGROUND=70 - # Show node version only when in a directory tree containing package.json. - typeset -g POWERLEVEL9K_NODE_VERSION_PROJECT_ONLY=true - # Custom icon. - # typeset -g POWERLEVEL9K_NODE_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #######################[ go_version: go version (https://golang.org) ]######################## - # Go version color. - typeset -g POWERLEVEL9K_GO_VERSION_FOREGROUND=37 - # Show go version only when in a go project subdirectory. - typeset -g POWERLEVEL9K_GO_VERSION_PROJECT_ONLY=true - # Custom icon. - # typeset -g POWERLEVEL9K_GO_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #################[ rust_version: rustc version (https://www.rust-lang.org) ]################## - # Rust version color. - typeset -g POWERLEVEL9K_RUST_VERSION_FOREGROUND=37 - # Show rust version only when in a rust project subdirectory. - typeset -g POWERLEVEL9K_RUST_VERSION_PROJECT_ONLY=true - # Custom icon. - # typeset -g POWERLEVEL9K_RUST_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###############[ dotnet_version: .NET version (https://dotnet.microsoft.com) ]################ - # .NET version color. - typeset -g POWERLEVEL9K_DOTNET_VERSION_FOREGROUND=134 - # Show .NET version only when in a .NET project subdirectory. - typeset -g POWERLEVEL9K_DOTNET_VERSION_PROJECT_ONLY=true - # Custom icon. - # typeset -g POWERLEVEL9K_DOTNET_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #####################[ php_version: php version (https://www.php.net/) ]###################### - # PHP version color. - typeset -g POWERLEVEL9K_PHP_VERSION_FOREGROUND=99 - # Show PHP version only when in a PHP project subdirectory. - typeset -g POWERLEVEL9K_PHP_VERSION_PROJECT_ONLY=true - # Custom icon. - # typeset -g POWERLEVEL9K_PHP_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ laravel_version: laravel php framework version (https://laravel.com/) ]########### - # Laravel version color. - typeset -g POWERLEVEL9K_LARAVEL_VERSION_FOREGROUND=161 - # Custom icon. - # typeset -g POWERLEVEL9K_LARAVEL_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ####################[ java_version: java version (https://www.java.com/) ]#################### - # Java version color. - typeset -g POWERLEVEL9K_JAVA_VERSION_FOREGROUND=32 - # Show java version only when in a java project subdirectory. - typeset -g POWERLEVEL9K_JAVA_VERSION_PROJECT_ONLY=true - # Show brief version. - typeset -g POWERLEVEL9K_JAVA_VERSION_FULL=false - # Custom icon. - # typeset -g POWERLEVEL9K_JAVA_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###[ package: name@version from package.json (https://docs.npmjs.com/files/package.json) ]#### - # Package color. - typeset -g POWERLEVEL9K_PACKAGE_FOREGROUND=117 - # Package format. The following parameters are available within the expansion. - # - # - P9K_PACKAGE_NAME The value of `name` field in package.json. - # - P9K_PACKAGE_VERSION The value of `version` field in package.json. - # - # typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${P9K_PACKAGE_NAME//\%/%%}@${P9K_PACKAGE_VERSION//\%/%%}' - # Custom icon. - # typeset -g POWERLEVEL9K_PACKAGE_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #############[ rbenv: ruby version from rbenv (https://github.com/rbenv/rbenv) ]############## - # Rbenv color. - typeset -g POWERLEVEL9K_RBENV_FOREGROUND=168 - # Hide ruby version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_RBENV_SOURCES=(shell local global) - # If set to false, hide ruby version if it's the same as global: - # $(rbenv version-name) == $(rbenv global). - typeset -g POWERLEVEL9K_RBENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide ruby version if it's equal to "system". - typeset -g POWERLEVEL9K_RBENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_RBENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #######################[ rvm: ruby version from rvm (https://rvm.io) ]######################## - # Rvm color. - typeset -g POWERLEVEL9K_RVM_FOREGROUND=168 - # Don't show @gemset at the end. - typeset -g POWERLEVEL9K_RVM_SHOW_GEMSET=false - # Don't show ruby- at the front. - typeset -g POWERLEVEL9K_RVM_SHOW_PREFIX=false - # Custom icon. - # typeset -g POWERLEVEL9K_RVM_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ fvm: flutter version management (https://github.com/leoafarias/fvm) ]############ - # Fvm color. - typeset -g POWERLEVEL9K_FVM_FOREGROUND=38 - # Custom icon. - # typeset -g POWERLEVEL9K_FVM_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ luaenv: lua version from luaenv (https://github.com/cehoffman/luaenv) ]########### - # Lua color. - typeset -g POWERLEVEL9K_LUAENV_FOREGROUND=32 - # Hide lua version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_LUAENV_SOURCES=(shell local global) - # If set to false, hide lua version if it's the same as global: - # $(luaenv version-name) == $(luaenv global). - typeset -g POWERLEVEL9K_LUAENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide lua version if it's equal to "system". - typeset -g POWERLEVEL9K_LUAENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_LUAENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###############[ jenv: java version from jenv (https://github.com/jenv/jenv) ]################ - # Java color. - typeset -g POWERLEVEL9K_JENV_FOREGROUND=32 - # Hide java version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_JENV_SOURCES=(shell local global) - # If set to false, hide java version if it's the same as global: - # $(jenv version-name) == $(jenv global). - typeset -g POWERLEVEL9K_JENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide java version if it's equal to "system". - typeset -g POWERLEVEL9K_JENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_JENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ plenv: perl version from plenv (https://github.com/tokuhirom/plenv) ]############ - # Perl color. - typeset -g POWERLEVEL9K_PLENV_FOREGROUND=67 - # Hide perl version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_PLENV_SOURCES=(shell local global) - # If set to false, hide perl version if it's the same as global: - # $(plenv version-name) == $(plenv global). - typeset -g POWERLEVEL9K_PLENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide perl version if it's equal to "system". - typeset -g POWERLEVEL9K_PLENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_PLENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ############[ phpenv: php version from phpenv (https://github.com/phpenv/phpenv) ]############ - # PHP color. - typeset -g POWERLEVEL9K_PHPENV_FOREGROUND=99 - # Hide php version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_PHPENV_SOURCES=(shell local global) - # If set to false, hide php version if it's the same as global: - # $(phpenv version-name) == $(phpenv global). - typeset -g POWERLEVEL9K_PHPENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide php version if it's equal to "system". - typeset -g POWERLEVEL9K_PHPENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_PHPENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #######[ scalaenv: scala version from scalaenv (https://github.com/scalaenv/scalaenv) ]####### - # Scala color. - typeset -g POWERLEVEL9K_SCALAENV_FOREGROUND=160 - # Hide scala version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_SCALAENV_SOURCES=(shell local global) - # If set to false, hide scala version if it's the same as global: - # $(scalaenv version-name) == $(scalaenv global). - typeset -g POWERLEVEL9K_SCALAENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide scala version if it's equal to "system". - typeset -g POWERLEVEL9K_SCALAENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_SCALAENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ haskell_stack: haskell version from stack (https://haskellstack.org/) ]########### - # Haskell color. - typeset -g POWERLEVEL9K_HASKELL_STACK_FOREGROUND=172 - # Hide haskell version if it doesn't come from one of these sources. - # - # shell: version is set by STACK_YAML - # local: version is set by stack.yaml up the directory tree - # global: version is set by the implicit global project (~/.stack/global-project/stack.yaml) - typeset -g POWERLEVEL9K_HASKELL_STACK_SOURCES=(shell local) - # If set to false, hide haskell version if it's the same as in the implicit global project. - typeset -g POWERLEVEL9K_HASKELL_STACK_ALWAYS_SHOW=true - # Custom icon. - # typeset -g POWERLEVEL9K_HASKELL_STACK_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################[ terraform: terraform workspace (https://www.terraform.io) ]################# - # Don't show terraform workspace if it's literally "default". - typeset -g POWERLEVEL9K_TERRAFORM_SHOW_DEFAULT=false - # POWERLEVEL9K_TERRAFORM_CLASSES is an array with even number of elements. The first element - # in each pair defines a pattern against which the current terraform workspace gets matched. - # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) - # that gets matched. If you unset all POWERLEVEL9K_TERRAFORM_*CONTENT_EXPANSION parameters, - # you'll see this value in your prompt. The second element of each pair in - # POWERLEVEL9K_TERRAFORM_CLASSES defines the workspace class. Patterns are tried in order. The - # first match wins. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=( - # '*prod*' PROD - # '*test*' TEST - # '*' OTHER) - # - # If your current terraform workspace is "project_test", its class is TEST because "project_test" - # doesn't match the pattern '*prod*' but does match '*test*'. - # - # You can define different colors, icons and content expansions for different classes: - # - # typeset -g POWERLEVEL9K_TERRAFORM_TEST_FOREGROUND=28 - # typeset -g POWERLEVEL9K_TERRAFORM_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_TERRAFORM_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' - typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=( - # '*prod*' PROD # These values are examples that are unlikely - # '*test*' TEST # to match your needs. Customize them as needed. - '*' OTHER) - typeset -g POWERLEVEL9K_TERRAFORM_OTHER_FOREGROUND=38 - # typeset -g POWERLEVEL9K_TERRAFORM_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #############[ terraform_version: terraform version (https://www.terraform.io) ]############## - # Terraform version color. - typeset -g POWERLEVEL9K_TERRAFORM_VERSION_FOREGROUND=38 - # Custom icon. - # typeset -g POWERLEVEL9K_TERRAFORM_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]############# - # Show kubecontext only when the command you are typing invokes one of these tools. - # Tip: Remove the next line to always show kubecontext. - typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito|k9s|helmfile|flux|fluxctl|stern' - - # Kubernetes context classes for the purpose of using different colors, icons and expansions with - # different contexts. - # - # POWERLEVEL9K_KUBECONTEXT_CLASSES is an array with even number of elements. The first element - # in each pair defines a pattern against which the current kubernetes context gets matched. - # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) - # that gets matched. If you unset all POWERLEVEL9K_KUBECONTEXT_*CONTENT_EXPANSION parameters, - # you'll see this value in your prompt. The second element of each pair in - # POWERLEVEL9K_KUBECONTEXT_CLASSES defines the context class. Patterns are tried in order. The - # first match wins. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=( - # '*prod*' PROD - # '*test*' TEST - # '*' DEFAULT) - # - # If your current kubernetes context is "deathray-testing/default", its class is TEST - # because "deathray-testing/default" doesn't match the pattern '*prod*' but does match '*test*'. - # - # You can define different colors, icons and content expansions for different classes: - # - # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_FOREGROUND=28 - # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' - typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=( - # '*prod*' PROD # These values are examples that are unlikely - # '*test*' TEST # to match your needs. Customize them as needed. - '*' DEFAULT) - typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_FOREGROUND=134 - # typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' - - # Use POWERLEVEL9K_KUBECONTEXT_CONTENT_EXPANSION to specify the content displayed by kubecontext - # segment. Parameter expansions are very flexible and fast, too. See reference: - # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion. - # - # Within the expansion the following parameters are always available: - # - # - P9K_CONTENT The content that would've been displayed if there was no content - # expansion defined. - # - P9K_KUBECONTEXT_NAME The current context's name. Corresponds to column NAME in the - # output of `kubectl config get-contexts`. - # - P9K_KUBECONTEXT_CLUSTER The current context's cluster. Corresponds to column CLUSTER in the - # output of `kubectl config get-contexts`. - # - P9K_KUBECONTEXT_NAMESPACE The current context's namespace. Corresponds to column NAMESPACE - # in the output of `kubectl config get-contexts`. If there is no - # namespace, the parameter is set to "default". - # - P9K_KUBECONTEXT_USER The current context's user. Corresponds to column AUTHINFO in the - # output of `kubectl config get-contexts`. - # - # If the context points to Google Kubernetes Engine (GKE) or Elastic Kubernetes Service (EKS), - # the following extra parameters are available: - # - # - P9K_KUBECONTEXT_CLOUD_NAME Either "gke" or "eks". - # - P9K_KUBECONTEXT_CLOUD_ACCOUNT Account/project ID. - # - P9K_KUBECONTEXT_CLOUD_ZONE Availability zone. - # - P9K_KUBECONTEXT_CLOUD_CLUSTER Cluster. - # - # P9K_KUBECONTEXT_CLOUD_* parameters are derived from P9K_KUBECONTEXT_CLUSTER. For example, - # if P9K_KUBECONTEXT_CLUSTER is "gke_my-account_us-east1-a_my-cluster-01": - # - # - P9K_KUBECONTEXT_CLOUD_NAME=gke - # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=my-account - # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east1-a - # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01 - # - # If P9K_KUBECONTEXT_CLUSTER is "arn:aws:eks:us-east-1:123456789012:cluster/my-cluster-01": - # - # - P9K_KUBECONTEXT_CLOUD_NAME=eks - # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=123456789012 - # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east-1 - # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01 - typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION= - # Show P9K_KUBECONTEXT_CLOUD_CLUSTER if it's not empty and fall back to P9K_KUBECONTEXT_NAME. - POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${P9K_KUBECONTEXT_CLOUD_CLUSTER:-${P9K_KUBECONTEXT_NAME}}' - # Append the current context's namespace if it's not "default". - POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${${:-/$P9K_KUBECONTEXT_NAMESPACE}:#/default}' - - # Custom prefix. - # typeset -g POWERLEVEL9K_KUBECONTEXT_PREFIX='%246Fat ' - - #[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]# - # Show aws only when the command you are typing invokes one of these tools. - # Tip: Remove the next line to always show aws. - typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|terraform|pulumi|terragrunt' - - # POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element - # in each pair defines a pattern against which the current AWS profile gets matched. - # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) - # that gets matched. If you unset all POWERLEVEL9K_AWS_*CONTENT_EXPANSION parameters, - # you'll see this value in your prompt. The second element of each pair in - # POWERLEVEL9K_AWS_CLASSES defines the profile class. Patterns are tried in order. The - # first match wins. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_AWS_CLASSES=( - # '*prod*' PROD - # '*test*' TEST - # '*' DEFAULT) - # - # If your current AWS profile is "company_test", its class is TEST - # because "company_test" doesn't match the pattern '*prod*' but does match '*test*'. - # - # You can define different colors, icons and content expansions for different classes: - # - # typeset -g POWERLEVEL9K_AWS_TEST_FOREGROUND=28 - # typeset -g POWERLEVEL9K_AWS_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_AWS_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' - typeset -g POWERLEVEL9K_AWS_CLASSES=( - # '*prod*' PROD # These values are examples that are unlikely - # '*test*' TEST # to match your needs. Customize them as needed. - '*' DEFAULT) - typeset -g POWERLEVEL9K_AWS_DEFAULT_FOREGROUND=208 - # typeset -g POWERLEVEL9K_AWS_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' - - # AWS segment format. The following parameters are available within the expansion. - # - # - P9K_AWS_PROFILE The name of the current AWS profile. - # - P9K_AWS_REGION The region associated with the current AWS profile. - typeset -g POWERLEVEL9K_AWS_CONTENT_EXPANSION='${P9K_AWS_PROFILE//\%/%%}${P9K_AWS_REGION:+ ${P9K_AWS_REGION//\%/%%}}' - - #[ aws_eb_env: aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) ]# - # AWS Elastic Beanstalk environment color. - typeset -g POWERLEVEL9K_AWS_EB_ENV_FOREGROUND=70 - # Custom icon. - # typeset -g POWERLEVEL9K_AWS_EB_ENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]########## - # Show azure only when the command you are typing invokes one of these tools. - # Tip: Remove the next line to always show azure. - typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi|terragrunt' - # Azure account name color. - typeset -g POWERLEVEL9K_AZURE_FOREGROUND=32 - # Custom icon. - # typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]########### - # Show gcloud only when the command you are typing invokes one of these tools. - # Tip: Remove the next line to always show gcloud. - typeset -g POWERLEVEL9K_GCLOUD_SHOW_ON_COMMAND='gcloud|gcs|gsutil' - # Google cloud color. - typeset -g POWERLEVEL9K_GCLOUD_FOREGROUND=32 - - # Google cloud format. Change the value of POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION and/or - # POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION if the default is too verbose or not informative - # enough. You can use the following parameters in the expansions. Each of them corresponds to the - # output of `gcloud` tool. - # - # Parameter | Source - # -------------------------|-------------------------------------------------------------------- - # P9K_GCLOUD_CONFIGURATION | gcloud config configurations list --format='value(name)' - # P9K_GCLOUD_ACCOUNT | gcloud config get-value account - # P9K_GCLOUD_PROJECT_ID | gcloud config get-value project - # P9K_GCLOUD_PROJECT_NAME | gcloud projects describe $P9K_GCLOUD_PROJECT_ID --format='value(name)' - # - # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced with '%%'. - # - # Obtaining project name requires sending a request to Google servers. This can take a long time - # and even fail. When project name is unknown, P9K_GCLOUD_PROJECT_NAME is not set and gcloud - # prompt segment is in state PARTIAL. When project name gets known, P9K_GCLOUD_PROJECT_NAME gets - # set and gcloud prompt segment transitions to state COMPLETE. - # - # You can customize the format, icon and colors of gcloud segment separately for states PARTIAL - # and COMPLETE. You can also hide gcloud in state PARTIAL by setting - # POWERLEVEL9K_GCLOUD_PARTIAL_VISUAL_IDENTIFIER_EXPANSION and - # POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION to empty. - typeset -g POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_ID//\%/%%}' - typeset -g POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_NAME//\%/%%}' - - # Send a request to Google (by means of `gcloud projects describe ...`) to obtain project name - # this often. Negative value disables periodic polling. In this mode project name is retrieved - # only when the current configuration, account or project id changes. - typeset -g POWERLEVEL9K_GCLOUD_REFRESH_PROJECT_NAME_SECONDS=60 - - # Custom icon. - # typeset -g POWERLEVEL9K_GCLOUD_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]# - # Show google_app_cred only when the command you are typing invokes one of these tools. - # Tip: Remove the next line to always show google_app_cred. - typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi|terragrunt' - - # Google application credentials classes for the purpose of using different colors, icons and - # expansions with different credentials. - # - # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES is an array with even number of elements. The first - # element in each pair defines a pattern against which the current kubernetes context gets - # matched. More specifically, it's P9K_CONTENT prior to the application of context expansion - # (see below) that gets matched. If you unset all POWERLEVEL9K_GOOGLE_APP_CRED_*CONTENT_EXPANSION - # parameters, you'll see this value in your prompt. The second element of each pair in - # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES defines the context class. Patterns are tried in order. - # The first match wins. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=( - # '*:*prod*:*' PROD - # '*:*test*:*' TEST - # '*' DEFAULT) - # - # If your current Google application credentials is "service_account deathray-testing x@y.com", - # its class is TEST because it doesn't match the pattern '* *prod* *' but does match '* *test* *'. - # - # You can define different colors, icons and content expansions for different classes: - # - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_FOREGROUND=28 - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_CONTENT_EXPANSION='$P9K_GOOGLE_APP_CRED_PROJECT_ID' - typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=( - # '*:*prod*:*' PROD # These values are examples that are unlikely - # '*:*test*:*' TEST # to match your needs. Customize them as needed. - '*' DEFAULT) - typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_FOREGROUND=32 - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' - - # Use POWERLEVEL9K_GOOGLE_APP_CRED_CONTENT_EXPANSION to specify the content displayed by - # google_app_cred segment. Parameter expansions are very flexible and fast, too. See reference: - # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion. - # - # You can use the following parameters in the expansion. Each of them corresponds to one of the - # fields in the JSON file pointed to by GOOGLE_APPLICATION_CREDENTIALS. - # - # Parameter | JSON key file field - # ---------------------------------+--------------- - # P9K_GOOGLE_APP_CRED_TYPE | type - # P9K_GOOGLE_APP_CRED_PROJECT_ID | project_id - # P9K_GOOGLE_APP_CRED_CLIENT_EMAIL | client_email - # - # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced by '%%'. - typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_CONTENT_EXPANSION='${P9K_GOOGLE_APP_CRED_PROJECT_ID//\%/%%}' - - ##############[ toolbox: toolbox name (https://github.com/containers/toolbox) ]############### - # Toolbox color. - typeset -g POWERLEVEL9K_TOOLBOX_FOREGROUND=178 - # Don't display the name of the toolbox if it matches fedora-toolbox-*. - typeset -g POWERLEVEL9K_TOOLBOX_CONTENT_EXPANSION='${P9K_TOOLBOX_NAME:#fedora-toolbox-*}' - # Custom icon. - # typeset -g POWERLEVEL9K_TOOLBOX_VISUAL_IDENTIFIER_EXPANSION='⭐' - # Custom prefix. - # typeset -g POWERLEVEL9K_TOOLBOX_PREFIX='%246Fin ' - - ###############################[ public_ip: public IP address ]############################### - # Public IP color. - typeset -g POWERLEVEL9K_PUBLIC_IP_FOREGROUND=94 - # Custom icon. - # typeset -g POWERLEVEL9K_PUBLIC_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ########################[ vpn_ip: virtual private network indicator ]######################### - # VPN IP color. - typeset -g POWERLEVEL9K_VPN_IP_FOREGROUND=81 - # When on VPN, show just an icon without the IP address. - # Tip: To display the private IP address when on VPN, remove the next line. - typeset -g POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION= - # Regular expression for the VPN network interface. Run `ifconfig` or `ip -4 a show` while on VPN - # to see the name of the interface. - typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(gpd|wg|(.*tun)|tailscale)[0-9]*' - # If set to true, show one segment per matching network interface. If set to false, show only - # one segment corresponding to the first matching network interface. - # Tip: If you set it to true, you'll probably want to unset POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION. - typeset -g POWERLEVEL9K_VPN_IP_SHOW_ALL=false - # Custom icon. - # typeset -g POWERLEVEL9K_VPN_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ ip: ip address and bandwidth usage for a specified network interface ]########### - # IP color. - typeset -g POWERLEVEL9K_IP_FOREGROUND=38 - # The following parameters are accessible within the expansion: - # - # Parameter | Meaning - # ----------------------+------------------------------------------- - # P9K_IP_IP | IP address - # P9K_IP_INTERFACE | network interface - # P9K_IP_RX_BYTES | total number of bytes received - # P9K_IP_TX_BYTES | total number of bytes sent - # P9K_IP_RX_BYTES_DELTA | number of bytes received since last prompt - # P9K_IP_TX_BYTES_DELTA | number of bytes sent since last prompt - # P9K_IP_RX_RATE | receive rate (since last prompt) - # P9K_IP_TX_RATE | send rate (since last prompt) - typeset -g POWERLEVEL9K_IP_CONTENT_EXPANSION='${P9K_IP_RX_RATE:+%70F⇣$P9K_IP_RX_RATE }${P9K_IP_TX_RATE:+%215F⇡$P9K_IP_TX_RATE }%38F$P9K_IP_IP' - # Show information for the first network interface whose name matches this regular expression. - # Run `ifconfig` or `ip -4 a show` to see the names of all network interfaces. - typeset -g POWERLEVEL9K_IP_INTERFACE='[ew].*' - # Custom icon. - # typeset -g POWERLEVEL9K_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #########################[ proxy: system-wide http/https/ftp proxy ]########################## - # Proxy color. - typeset -g POWERLEVEL9K_PROXY_FOREGROUND=68 - # Custom icon. - # typeset -g POWERLEVEL9K_PROXY_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################################[ battery: internal battery ]################################# - # Show battery in red when it's below this level and not connected to power supply. - typeset -g POWERLEVEL9K_BATTERY_LOW_THRESHOLD=20 - typeset -g POWERLEVEL9K_BATTERY_LOW_FOREGROUND=160 - # Show battery in green when it's charging or fully charged. - typeset -g POWERLEVEL9K_BATTERY_{CHARGING,CHARGED}_FOREGROUND=70 - # Show battery in yellow when it's discharging. - typeset -g POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND=178 - # Battery pictograms going from low to high level of charge. - typeset -g POWERLEVEL9K_BATTERY_STAGES='\uf58d\uf579\uf57a\uf57b\uf57c\uf57d\uf57e\uf57f\uf580\uf581\uf578' - # Don't show the remaining time to charge/discharge. - typeset -g POWERLEVEL9K_BATTERY_VERBOSE=false - - #####################################[ wifi: wifi speed ]##################################### - # WiFi color. - typeset -g POWERLEVEL9K_WIFI_FOREGROUND=68 - # Custom icon. - # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='⭐' - - # Use different colors and icons depending on signal strength ($P9K_WIFI_BARS). - # - # # Wifi colors and icons for different signal strength levels (low to high). - # typeset -g my_wifi_fg=(68 68 68 68 68) # <-- change these values - # typeset -g my_wifi_icon=('WiFi' 'WiFi' 'WiFi' 'WiFi' 'WiFi') # <-- change these values - # - # typeset -g POWERLEVEL9K_WIFI_CONTENT_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}$P9K_WIFI_LAST_TX_RATE Mbps' - # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}${my_wifi_icon[P9K_WIFI_BARS+1]}' - # - # The following parameters are accessible within the expansions: - # - # Parameter | Meaning - # ----------------------+--------------- - # P9K_WIFI_SSID | service set identifier, a.k.a. network name - # P9K_WIFI_LINK_AUTH | authentication protocol such as "wpa2-psk" or "none"; empty if unknown - # P9K_WIFI_LAST_TX_RATE | wireless transmit rate in megabits per second - # P9K_WIFI_RSSI | signal strength in dBm, from -120 to 0 - # P9K_WIFI_NOISE | noise in dBm, from -120 to 0 - # P9K_WIFI_BARS | signal strength in bars, from 0 to 4 (derived from P9K_WIFI_RSSI and P9K_WIFI_NOISE) - - ####################################[ time: current time ]#################################### - # Current time color. - typeset -g POWERLEVEL9K_TIME_FOREGROUND=66 - # Format for the current time: 09:51:02. See `man 3 strftime`. - typeset -g POWERLEVEL9K_TIME_FORMAT='%D{%I:%M:%S %p}' - # If set to true, time will update when you hit enter. This way prompts for the past - # commands will contain the start times of their commands as opposed to the default - # behavior where they contain the end times of their preceding commands. - typeset -g POWERLEVEL9K_TIME_UPDATE_ON_COMMAND=false - # Custom icon. - # typeset -g POWERLEVEL9K_TIME_VISUAL_IDENTIFIER_EXPANSION='⭐' - # Custom prefix. - # typeset -g POWERLEVEL9K_TIME_PREFIX='%246Fat ' - - # Example of a user-defined prompt segment. Function prompt_example will be called on every - # prompt if `example` prompt segment is added to POWERLEVEL9K_LEFT_PROMPT_ELEMENTS or - # POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS. It displays an icon and orange text greeting the user. - # - # Type `p10k help segment` for documentation and a more sophisticated example. - function prompt_example() { - p10k segment -f 208 -i '⭐' -t 'hello, %n' - } - - # User-defined prompt segments may optionally provide an instant_prompt_* function. Its job - # is to generate the prompt segment for display in instant prompt. See - # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. - # - # Powerlevel10k will call instant_prompt_* at the same time as the regular prompt_* function - # and will record all `p10k segment` calls it makes. When displaying instant prompt, Powerlevel10k - # will replay these calls without actually calling instant_prompt_*. It is imperative that - # instant_prompt_* always makes the same `p10k segment` calls regardless of environment. If this - # rule is not observed, the content of instant prompt will be incorrect. - # - # Usually, you should either not define instant_prompt_* or simply call prompt_* from it. If - # instant_prompt_* is not defined for a segment, the segment won't be shown in instant prompt. - function instant_prompt_example() { - # Since prompt_example always makes the same `p10k segment` calls, we can call it from - # instant_prompt_example. This will give us the same `example` prompt segment in the instant - # and regular prompts. - prompt_example - } - - # User-defined prompt segments can be customized the same way as built-in segments. - # typeset -g POWERLEVEL9K_EXAMPLE_FOREGROUND=208 - # typeset -g POWERLEVEL9K_EXAMPLE_VISUAL_IDENTIFIER_EXPANSION='⭐' - - # Transient prompt works similarly to the builtin transient_rprompt option. It trims down prompt - # when accepting a command line. Supported values: - # - # - off: Don't change prompt when accepting a command line. - # - always: Trim down prompt when accepting a command line. - # - same-dir: Trim down prompt when accepting a command line unless this is the first command - # typed after changing current working directory. - typeset -g POWERLEVEL9K_TRANSIENT_PROMPT=always - - # Instant prompt mode. - # - # - off: Disable instant prompt. Choose this if you've tried instant prompt and found - # it incompatible with your zsh configuration files. - # - quiet: Enable instant prompt and don't print warnings when detecting console output - # during zsh initialization. Choose this if you've read and understood - # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. - # - verbose: Enable instant prompt and print a warning when detecting console output during - # zsh initialization. Choose this if you've never tried instant prompt, haven't - # seen the warning, or if you are unsure what this all means. - typeset -g POWERLEVEL9K_INSTANT_PROMPT=quiet - - # Hot reload allows you to change POWERLEVEL9K options after Powerlevel10k has been initialized. - # For example, you can type POWERLEVEL9K_BACKGROUND=red and see your prompt turn red. Hot reload - # can slow down prompt by 1-2 milliseconds, so it's better to keep it turned off unless you - # really need it. - typeset -g POWERLEVEL9K_DISABLE_HOT_RELOAD=true - - # If p10k is already loaded, reload configuration. - # This works even with POWERLEVEL9K_DISABLE_HOT_RELOAD=true. - (( ! $+functions[p10k] )) || p10k reload -} - -# Tell `p10k configure` which file it should overwrite. -typeset -g POWERLEVEL9K_CONFIG_FILE=${${(%):-%x}:a} - -(( ${#p10k_config_opts} )) && setopt ${p10k_config_opts[@]} -'builtin' 'unset' 'p10k_config_opts' diff --git a/.local/share/chezmoi/home/private_dot_config/Kvantum/kvantum.config b/.local/share/chezmoi/home/private_dot_config/Kvantum/kvantum.config deleted file mode 100644 index bb9a036d..00000000 --- a/.local/share/chezmoi/home/private_dot_config/Kvantum/kvantum.config +++ /dev/null @@ -1,2 +0,0 @@ -[General] -theme=Betelgeuse diff --git a/.local/share/chezmoi/home/private_dot_config/alacritty/alacritty.yml b/.local/share/chezmoi/home/private_dot_config/alacritty/alacritty.yml deleted file mode 100644 index 5cc1d69c..00000000 --- a/.local/share/chezmoi/home/private_dot_config/alacritty/alacritty.yml +++ /dev/null @@ -1,88 +0,0 @@ -# Betelgeuse - -schemes: - themer-dark: &dark - primary: - background: "#161925" - foreground: "#aaaeb8" - - cursor: - text: "#161925" - cursor: "#c3c7d1" - - selection: - text: "#161925" - background: "#7cb7ff" - - normal: - black: "#474b56" - red: "#ed254e" - green: "#71f79f" - yellow: "#f9dc5c" - blue: "#7cb7ff" - magenta: "#c74d89" - cyan: "#00c1e4" - white: "#aaaeb8" - - bright: - black: "#60646f" - red: "#E54568" - green: "#81EDA9" - yellow: "#EED873" - blue: "#8ABAF6" - magenta: "#C66597" - cyan: "#27C2E0" - white: "#c3c7d1" - - dim: - black: "#2f323e" - red: "#C22346" - green: "#5FCB87" - yellow: "#CCB551" - blue: "#6897D3" - magenta: "#A44375" - cyan: "#049FBE" - white: "#9295a0" - - themer-light: &light - primary: - background: "#ffffff" - foreground: "#666970" - - cursor: - text: "#ffffff" - cursor: "#4c5058" - - selection: - text: "#ffffff" - background: "#a0dbff" - - normal: - black: "#666970" - red: "#ff4972" - green: "#95ffc3" - yellow: "#ffff80" - blue: "#a0dbff" - magenta: "#eb71ad" - cyan: "#24e5ff" - white: "#cccdcf" - - bright: - black: "#7f8288" - red: "#FF6D8E" - green: "#AAFFCF" - yellow: "#FFFF99" - blue: "#B3E2FF" - magenta: "#EF8DBD" - cyan: "#50EAFF" - white: "#e5e6e7" - - dim: - black: "#4c5058" - red: "#DB4A6D" - green: "#86DCAE" - yellow: "#DBDC78" - blue: "#8FBFDE" - magenta: "#CB6A9C" - cyan: "#2CC7DE" - white: "#b2b4b7" diff --git a/.local/share/chezmoi/home/private_dot_config/bashtop/bashtop.cfg b/.local/share/chezmoi/home/private_dot_config/bashtop/bashtop.cfg deleted file mode 100644 index a99705d5..00000000 --- a/.local/share/chezmoi/home/private_dot_config/bashtop/bashtop.cfg +++ /dev/null @@ -1 +0,0 @@ -color_theme="Betelgeuse" diff --git a/.local/share/chezmoi/home/private_dot_config/bat/config b/.local/share/chezmoi/home/private_dot_config/bat/config deleted file mode 100644 index ce7d6687..00000000 --- a/.local/share/chezmoi/home/private_dot_config/bat/config +++ /dev/null @@ -1,11 +0,0 @@ -# Set the theme to "TwoDark" ---theme="TwoDark" - -# Show line numbers, Git modifications and file header (but no grid) ---style="numbers,changes,header" - -# Use italic text on the terminal (not supported on all terminals) ---italic-text=always - -# Use C++ syntax for Arduino .ino files ---map-syntax "*.ino:C++" diff --git a/.local/share/chezmoi/home/private_dot_config/brew/whalebrew b/.local/share/chezmoi/home/private_dot_config/brew/whalebrew deleted file mode 100644 index 8b137891..00000000 --- a/.local/share/chezmoi/home/private_dot_config/brew/whalebrew +++ /dev/null @@ -1 +0,0 @@ - diff --git a/.local/share/chezmoi/home/private_dot_config/chromium-flags.conf b/.local/share/chezmoi/home/private_dot_config/chromium-flags.conf deleted file mode 100644 index a584570c..00000000 --- a/.local/share/chezmoi/home/private_dot_config/chromium-flags.conf +++ /dev/null @@ -1,11 +0,0 @@ -# enable wayland ---ozone-platform-hint=auto -# force GPU acceleration ---enable-gpu-rasterization ---enable-zero-copy -# enable vulkan ---use-vulkan ---enable-features=UseOzonePlatform,WebRTCPipeWireCapturer,VaapiVideoDecoder,VaapiVideoEncoder,WebUIDarkMode,WaylandWindowDecorations -# custom settings ---force-dark-mode ---password-store=basic diff --git a/.local/share/chezmoi/home/private_dot_config/crontab/config b/.local/share/chezmoi/home/private_dot_config/crontab/config deleted file mode 100644 index 2e12672d..00000000 --- a/.local/share/chezmoi/home/private_dot_config/crontab/config +++ /dev/null @@ -1,14 +0,0 @@ - - -PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin - -# 0 8 * * 0 $HOME/.scripts/domingobot.sh 2>&1 >> $HOME/.log/cron.log - -# * * * * * command to be executed -# ┯ ┯ ┯ ┯ ┯ -# │ │ │ │ │ -# │ │ │ │ ╰───── day of week (0 - 6) (Sunday=0) -# │ │ │ ╰─────── month (1 - 12) -# │ │ ╰───────── day of month (1 - 31) -# │ ╰─────────── hour (0 - 23) -# ╰───────────── min (0 - 59) diff --git a/.local/share/chezmoi/home/private_dot_config/direnv/direnv.toml b/.local/share/chezmoi/home/private_dot_config/direnv/direnv.toml deleted file mode 100644 index 89ac394c..00000000 --- a/.local/share/chezmoi/home/private_dot_config/direnv/direnv.toml +++ /dev/null @@ -1,2 +0,0 @@ -[global] -load_dotenv = true diff --git a/.local/share/chezmoi/home/private_dot_config/fd/ignore b/.local/share/chezmoi/home/private_dot_config/fd/ignore deleted file mode 100644 index f0355806..00000000 --- a/.local/share/chezmoi/home/private_dot_config/fd/ignore +++ /dev/null @@ -1,6 +0,0 @@ -# EXCLUDE BACKUP FILES -*.bak - -# EXCLUDE LIBRARIES ON MACOS -/Library/** -/Users/Library/** diff --git a/.local/share/chezmoi/home/private_dot_config/firejail/bitwarden.local b/.local/share/chezmoi/home/private_dot_config/firejail/bitwarden.local deleted file mode 100644 index 0578a0be..00000000 --- a/.local/share/chezmoi/home/private_dot_config/firejail/bitwarden.local +++ /dev/null @@ -1 +0,0 @@ -seccomp !chroot diff --git a/.local/share/chezmoi/home/private_dot_config/firejail/chromium.local b/.local/share/chezmoi/home/private_dot_config/firejail/chromium.local deleted file mode 100644 index ca40b6bd..00000000 --- a/.local/share/chezmoi/home/private_dot_config/firejail/chromium.local +++ /dev/null @@ -1,14 +0,0 @@ -include whitelist-runuser-common.inc -dbus-user.talk org.freedesktop.Notifications -dbus-user.talk org.freedesktop.portal.Desktop -ignore noroot -whitelist ${RUNUSER}/pipewire-0 -whitelist /usr/share/pipewire/client.conf -dbus-user.talk org.freedesktop.portal.* - -whitelist ${HOME}/pictures -whitelist ${HOME}/go -whitelist ${HOME}/git -whitelist ${HOME}/documents -whitelist ${HOME}/work -whitelist /usr/share/pipewire/ diff --git a/.local/share/chezmoi/home/private_dot_config/firejail/code.local b/.local/share/chezmoi/home/private_dot_config/firejail/code.local deleted file mode 100644 index 2977968c..00000000 --- a/.local/share/chezmoi/home/private_dot_config/firejail/code.local +++ /dev/null @@ -1,12 +0,0 @@ -whitelist ${HOME} -whitelist ${HOME}/.local/share -noblacklist ${HOME} -noblacklist ${PATH}/bash -noblacklist ${PATH}/fish -ignore private-bin -ignore private-cache -ignore private-dev -ignore private-tmp -ignore noroot -ignore nosound -ignore noexec /tmp diff --git a/.local/share/chezmoi/home/private_dot_config/firejail/gcloud.local b/.local/share/chezmoi/home/private_dot_config/firejail/gcloud.local deleted file mode 100644 index c04579b8..00000000 --- a/.local/share/chezmoi/home/private_dot_config/firejail/gcloud.local +++ /dev/null @@ -1,4 +0,0 @@ -# noblacklist ${HOME} -# noblacklist ${HOME}/.ssh/ -# include allow-ssh.inc -# whitelist /tmp/ssh-* diff --git a/.local/share/chezmoi/home/private_dot_config/firejail/google-chrome-stable.local b/.local/share/chezmoi/home/private_dot_config/firejail/google-chrome-stable.local deleted file mode 100644 index ca40b6bd..00000000 --- a/.local/share/chezmoi/home/private_dot_config/firejail/google-chrome-stable.local +++ /dev/null @@ -1,14 +0,0 @@ -include whitelist-runuser-common.inc -dbus-user.talk org.freedesktop.Notifications -dbus-user.talk org.freedesktop.portal.Desktop -ignore noroot -whitelist ${RUNUSER}/pipewire-0 -whitelist /usr/share/pipewire/client.conf -dbus-user.talk org.freedesktop.portal.* - -whitelist ${HOME}/pictures -whitelist ${HOME}/go -whitelist ${HOME}/git -whitelist ${HOME}/documents -whitelist ${HOME}/work -whitelist /usr/share/pipewire/ diff --git a/.local/share/chezmoi/home/private_dot_config/firejail/slack.local b/.local/share/chezmoi/home/private_dot_config/firejail/slack.local deleted file mode 100644 index de794c72..00000000 --- a/.local/share/chezmoi/home/private_dot_config/firejail/slack.local +++ /dev/null @@ -1,13 +0,0 @@ -noblacklist ${PATH}/bash -noblacklist ${PATH}/csh -noblacklist ${PATH}/dash -noblacklist ${PATH}/fish -noblacklist ${PATH}/ksh -noblacklist ${PATH}/sh -noblacklist ${PATH}/tclsh -noblacklist ${PATH}/tcsh -noblacklist ${PATH}/zsh -ignore private-bin -ignore private-cache -ignore private-dev -ignore private-tmp \ No newline at end of file diff --git a/.local/share/chezmoi/home/private_dot_config/firejail/thunderbird.local b/.local/share/chezmoi/home/private_dot_config/firejail/thunderbird.local deleted file mode 100644 index 3e198b59..00000000 --- a/.local/share/chezmoi/home/private_dot_config/firejail/thunderbird.local +++ /dev/null @@ -1,19 +0,0 @@ -noblacklist /var/mail -noblacklist /var/spool/mail -whitelist /var/mail -whitelist /var/spool/mail -writable-var - -noblacklist ${PATH}/bash -noblacklist ${PATH}/csh -noblacklist ${PATH}/dash -noblacklist ${PATH}/fish -noblacklist ${PATH}/ksh -noblacklist ${PATH}/sh -noblacklist ${PATH}/tclsh -noblacklist ${PATH}/tcsh -noblacklist ${PATH}/zsh -ignore private-bin -ignore private-cache -ignore private-dev -ignore private-tmp diff --git a/.local/share/chezmoi/home/private_dot_config/fontconfig/fonts.conf b/.local/share/chezmoi/home/private_dot_config/fontconfig/fonts.conf deleted file mode 100644 index 4da470fb..00000000 --- a/.local/share/chezmoi/home/private_dot_config/fontconfig/fonts.conf +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - sans-serif - - Montserrat - Noto Sans - Open Sans - Droid Sans - Roboto - Tholoth - Noto Sans Arabic - - - - serif - - Zilla Slab - Noto Serif - Droid Serif - Roboto Slab - Tholoth - Noto Sans Arabic - - - - monospace - - Hack Nerd Font - Hack - Noto Sans Mono - Inconsolata - Droid Sans Mono - Roboto Mono - - - - diff --git a/.local/share/chezmoi/home/private_dot_config/git/commit-template b/.local/share/chezmoi/home/private_dot_config/git/commit-template deleted file mode 100644 index bfa2797d..00000000 --- a/.local/share/chezmoi/home/private_dot_config/git/commit-template +++ /dev/null @@ -1,14 +0,0 @@ -# [optional scope]:  (not more than 72 chars) -# -# [optional body]  (not more than 72 chars) -# -# [optional footer(s)]  (not more than 72 chars) -#-------------------------------EXAMPLE---------------------------------- -# feat!(frontend): new button added in dashboard -# -# A new "Follow Us" button is added in your Account dashboard. -# If you don't see it, please delete your browser cache and reload the -# webpage. -# -# BREAKING CHANGE: this button replaces the custom button you have, -# you need to reconfigure your custom button. \ No newline at end of file diff --git a/.local/share/chezmoi/home/private_dot_config/git/ignore b/.local/share/chezmoi/home/private_dot_config/git/ignore deleted file mode 100644 index 8c20089b..00000000 --- a/.local/share/chezmoi/home/private_dot_config/git/ignore +++ /dev/null @@ -1,30 +0,0 @@ -# COMPILED SOURCE -*.o -*.so -*.com -*.dll -*.exe -*.class - -# BINARY ARCHIVE FILES -*.7z -*.gz -*.dmg -*.iso -*.jar -*.rar -*.tar -*.zip -*.war - -# LOGS -*.log - -# OS RELATED FILES -._* -.Trashes -Thumbs.db -.DS_Store -.DS_Store? -ehthumbs.db -.Spotlight-V100 diff --git a/.local/share/chezmoi/home/private_dot_config/gtk-2.0/gtkrc b/.local/share/chezmoi/home/private_dot_config/gtk-2.0/gtkrc deleted file mode 100644 index 8e8e68ce..00000000 --- a/.local/share/chezmoi/home/private_dot_config/gtk-2.0/gtkrc +++ /dev/null @@ -1,5 +0,0 @@ -include "/usr/share/themes/Betelgeuse/gtk-2.0/gtkrc" - -gtk-theme-name="Betelgeuse" -gtk-icon-theme-name="Betelgeuse" -gtk-application-prefer-dark-theme="true" diff --git a/.local/share/chezmoi/home/private_dot_config/gtk-3.0/settings.ini b/.local/share/chezmoi/home/private_dot_config/gtk-3.0/settings.ini deleted file mode 100644 index 284af514..00000000 --- a/.local/share/chezmoi/home/private_dot_config/gtk-3.0/settings.ini +++ /dev/null @@ -1,14 +0,0 @@ -[Settings] -gtk-application-prefer-dark-theme=1 -gtk-button-images=1 -gtk-cursor-theme-name=Betelgeuse -gtk-decoration-layout=icon:minimize,maximize,close -gtk-enable-animations=1 -gtk-font-name=Montserrat Medium, Medium 11 -gtk-icon-theme-name=Betelgeuse -gtk-menu-images=1 -gtk-modules=appmenu-gtk-module -gtk-primary-button-warps-slider=0 -gtk-shell-shows-menubar=1 -gtk-theme-name=Betelgeuse -gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ diff --git a/.local/share/chezmoi/home/private_dot_config/gtkrc b/.local/share/chezmoi/home/private_dot_config/gtkrc deleted file mode 100644 index c75c48d2..00000000 --- a/.local/share/chezmoi/home/private_dot_config/gtkrc +++ /dev/null @@ -1,48 +0,0 @@ -style "default" -{ - bg[NORMAL] = { 0.094, 0.106, 0.157 } - bg[SELECTED] = { 0.773, 0.055, 0.824 } - bg[INSENSITIVE] = { 0.094, 0.106, 0.157 } - bg[ACTIVE] = { 0.082, 0.090, 0.137 } - bg[PRELIGHT] = { 0.094, 0.106, 0.157 } - - base[NORMAL] = { 0.086, 0.098, 0.145 } - base[SELECTED] = { 0.773, 0.055, 0.824 } - base[INSENSITIVE] = { 0.094, 0.106, 0.157 } - base[ACTIVE] = { 0.773, 0.055, 0.824 } - base[PRELIGHT] = { 0.773, 0.055, 0.824 } - - text[NORMAL] = { 0.827, 0.855, 0.890 } - text[SELECTED] = { 0.996, 0.996, 0.996 } - text[INSENSITIVE] = { 0.082, 0.090, 0.137 } - text[ACTIVE] = { 0.996, 0.996, 0.996 } - text[PRELIGHT] = { 0.996, 0.996, 0.996 } - - fg[NORMAL] = { 0.827, 0.855, 0.890 } - fg[SELECTED] = { 0.996, 0.996, 0.996 } - fg[INSENSITIVE] = { 0.082, 0.090, 0.137 } - fg[ACTIVE] = { 0.827, 0.855, 0.890 } - fg[PRELIGHT] = { 0.827, 0.855, 0.890 } -} - -class "*" style "default" - -style "ToolTip" -{ - bg[NORMAL] = { 0.208, 0.224, 0.271 } - base[NORMAL] = { 0.208, 0.224, 0.271 } - text[NORMAL] = { 0.827, 0.855, 0.890 } - fg[NORMAL] = { 0.827, 0.855, 0.890 } -} - -widget "gtk-tooltip" style "ToolTip" -widget "gtk-tooltips" style "ToolTip" -widget "gtk-tooltip*" style "ToolTip" - -style "MenuItem" -{ - bg[PRELIGHT] = { 0.773, 0.055, 0.824 } - fg[PRELIGHT] = { 0.996, 0.996, 0.996 } -} - -class "*MenuItem" style "MenuItem" diff --git a/.local/share/chezmoi/home/private_dot_config/k9s/plugin.yml b/.local/share/chezmoi/home/private_dot_config/k9s/plugin.yml deleted file mode 100644 index 32185fa6..00000000 --- a/.local/share/chezmoi/home/private_dot_config/k9s/plugin.yml +++ /dev/null @@ -1,70 +0,0 @@ -plugin: - # dive image layers - dive: - shortCut: d - confirm: false - description: "Dive image" - scopes: - - containers - command: dive - background: false - args: - - $COL-IMAGE - # get all resources in a namespace using the krew get-all plugin - get-all: - shortCut: g - confirm: false - description: get-all - scopes: - - all - command: sh - background: false - args: - - -c - - "kubectl get-all -n $NAMESPACE | less" - edit-secret: - shortCut: Ctrl-X - confirm: false - description: "Edit Decoded Secret" - scopes: - - secrets - command: kubectl - background: false - args: - - modify-secret - - --namespace - - $NAMESPACE - - --context - - $CONTEXT - - $NAME - # View resource logs using stern - stern: - shortCut: Ctrl-L - confirm: false - description: "Logs " - scopes: - - pods - command: stern - background: false - args: - - --tail - - 50 - - $FILTER - - -n - - $NAMESPACE - - --context - - $CONTEXT - # watch events on selected resources - # requires linux "watch" command - # change '-n' to adjust refresh time in seconds - watch-events: - shortCut: Shift-E - confirm: false - description: Get Events - scopes: - - all - command: sh - background: false - args: - - -c - - "watch -n 5 kubectl get events --context $CONTEXT --namespace $NAMESPACE --field-selector involvedObject.name=$NAME" diff --git a/.local/share/chezmoi/home/private_dot_config/kcminputrc b/.local/share/chezmoi/home/private_dot_config/kcminputrc deleted file mode 100644 index 2e0f8090..00000000 --- a/.local/share/chezmoi/home/private_dot_config/kcminputrc +++ /dev/null @@ -1,2 +0,0 @@ -[Mouse] -cursorTheme=Betelgeuse diff --git a/.local/share/chezmoi/home/private_dot_config/kdeglobals b/.local/share/chezmoi/home/private_dot_config/kdeglobals deleted file mode 100644 index f05495e9..00000000 --- a/.local/share/chezmoi/home/private_dot_config/kdeglobals +++ /dev/null @@ -1,154 +0,0 @@ -[ColorEffects:Disabled] -Color=56,56,56 -ColorAmount=0 -ColorEffect=0 -ContrastAmount=0.65 -ContrastEffect=1 -IntensityAmount=0.1 -IntensityEffect=2 - -[ColorEffects:Inactive] -ChangeSelectionColor=true -Color=112,111,110 -ColorAmount=0.025000000000000001 -ColorEffect=2 -ContrastAmount=0.10000000000000001 -ContrastEffect=2 -Enable=false -IntensityAmount=0 -IntensityEffect=0 - -[Colors:Button] -BackgroundAlternate=64,69,82 -BackgroundNormal=30,34,51 -DecorationFocus=197,14,210 -DecorationHover=197,14,210 -ForegroundActive=61,174,233 -ForegroundInactive=102,106,115 -ForegroundLink=41,128,185 -ForegroundNegative=237,37,78 -ForegroundNeutral=255,106,0 -ForegroundNormal=195,199,209 -ForegroundPositive=113,247,159 -ForegroundVisited=82,148,226 - -[Colors:Complementary] -BackgroundAlternate=59,64,69 -BackgroundNormal=49,54,59 -DecorationFocus=30,146,255 -DecorationHover=61,174,230 -ForegroundActive=147,206,233 -ForegroundInactive=175,176,179 -ForegroundLink=61,174,230 -ForegroundNegative=231,76,60 -ForegroundNeutral=253,188,75 -ForegroundNormal=239,240,241 -ForegroundPositive=46,204,113 -ForegroundVisited=61,174,230 - -[Colors:Selection] -BackgroundAlternate=29,153,243 -BackgroundNormal=197,14,210 -DecorationFocus=197,14,210 -DecorationHover=197,14,210 -ForegroundActive=252,252,252 -ForegroundInactive=211,218,227 -ForegroundLink=253,188,75 -ForegroundNegative=237,37,78 -ForegroundNeutral=255,106,0 -ForegroundNormal=254,254,254 -ForegroundPositive=113,247,159 -ForegroundVisited=189,195,199 - -[Colors:Tooltip] -BackgroundAlternate=47,52,63 -BackgroundNormal=53,57,69 -DecorationFocus=197,14,210 -DecorationHover=197,14,210 -ForegroundActive=61,174,233 -ForegroundInactive=102,106,115 -ForegroundLink=41,128,185 -ForegroundNegative=237,37,78 -ForegroundNeutral=255,106,0 -ForegroundNormal=211,218,227 -ForegroundPositive=113,247,159 -ForegroundVisited=82,148,226 - -[Colors:View] -BackgroundAlternate=31,35,51 -BackgroundNormal=22,25,37 -DecorationFocus=197,14,210 -DecorationHover=197,14,210 -ForegroundActive=0,193,228 -ForegroundInactive=102,106,115 -ForegroundLink=82,148,226 -ForegroundNegative=237,37,78 -ForegroundNeutral=255,106,0 -ForegroundNormal=211,218,227 -ForegroundPositive=113,247,159 -ForegroundVisited=124,183,255 - -[Colors:Window] -BackgroundAlternate=47,52,63 -BackgroundNormal=24,27,40 -DecorationFocus=197,14,210 -DecorationHover=197,14,210 -ForegroundActive=61,174,233 -ForegroundInactive=102,106,115 -ForegroundLink=41,128,185 -ForegroundNegative=237,37,78 -ForegroundNeutral=255,106,0 -ForegroundNormal=211,218,227 -ForegroundPositive=113,247,159 -ForegroundVisited=179,13,191 - -[General] -ColorScheme=Betelgeuse -Name=Betelgeuse -XftHintStyle=hintslight -XftSubPixel=rgb -fixed=Hack Nerd Font Mono,10,-1,5,50,0,0,0,0,0 -font=Montserrat Medium,10,-1,5,57,0,0,0,0,0,Regular -menuFont=Montserrat Medium,10,-1,5,57,0,0,0,0,0,Regular -shadeSortColumn=true -smallestReadableFont=Zilla Slab,8,-1,5,50,0,0,0,0,0 -toolBarFont=Montserrat SemiBold,10,-1,5,63,0,0,0,0,0,Regular - -[Icons] -Theme=Betelgeuse - -[KDE] -LookAndFeelPackage=Betelgeuse -contrast=4 -widgetStyle=kvantum - -[KFileDialog Settings] -Allow Expansion=false -Automatically select filename extension=true -Breadcrumb Navigation=true -Decoration position=2 -LocationCombo Completionmode=5 -PathCombo Completionmode=5 -Show Bookmarks=false -Show Full Path=false -Show Inline Previews=true -Show Preview=false -Show Speedbar=true -Show hidden files=false -Sort by=Name -Sort directories first=true -Sort reversed=false -Speedbar Width=146 -View Style=DetailTree - -[KShortcutsDialog Settings] -Dialog Size=600,480 - -[WM] -activeBackground=47,52,63 -activeBlend=47,52,63 -activeFont=Montserrat ExtraBold,10,-1,5,81,0,0,0,0,0,Regular -activeForeground=211,218,227 -inactiveBackground=47,52,63 -inactiveBlend=47,52,63 -inactiveForeground=102,106,115 diff --git a/.local/share/chezmoi/home/private_dot_config/kitty/Betelgeuse-dark.conf b/.local/share/chezmoi/home/private_dot_config/kitty/Betelgeuse-dark.conf deleted file mode 100644 index 70e17cf4..00000000 --- a/.local/share/chezmoi/home/private_dot_config/kitty/Betelgeuse-dark.conf +++ /dev/null @@ -1,54 +0,0 @@ - -cursor #c3c7d1 -cursor_text_color background - -url_color #7cb7ff - -active_border_color #71f79f -inactive_border_color #2f323e -bell_border_color #dcdfe4 - -active_tab_foreground #aaaeb8 -active_tab_background #161925 - -inactive_tab_foreground #9295a0 -inactive_tab_background #2f323e - -foreground #aaaeb8 -background #161925 - -selection_foreground #161925 -selection_background #7cb7ff - -color0 #474b56 -color8 #60646f - -color1 #ed254e -color9 #E54568 - -color2 #71f79f -color10 #81EDA9 - -color3 #f9dc5c -color11 #EED873 - -color4 #7cb7ff -color12 #8ABAF6 - -color5 #c74d89 -color13 #C66597 - -color6 #00c1e4 -color14 #27C2E0 - -color7 #aaaeb8 -color15 #c3c7d1 - -mark1_foreground #161925 -mark1_background #00c1e4 - -mark2_foreground #161925 -mark2_background #c74d89 - -mark3_foreground #161925 -mark3_background #f9dc5c diff --git a/.local/share/chezmoi/home/private_dot_config/kitty/Betelgeuse-light.conf b/.local/share/chezmoi/home/private_dot_config/kitty/Betelgeuse-light.conf deleted file mode 100644 index 298f9429..00000000 --- a/.local/share/chezmoi/home/private_dot_config/kitty/Betelgeuse-light.conf +++ /dev/null @@ -1,54 +0,0 @@ - -cursor #4c5058 -cursor_text_color background - -url_color #a0dbff - -active_border_color #95ffc3 -inactive_border_color #e5e6e7 -bell_border_color #dcdfe4 - -active_tab_foreground #666970 -active_tab_background #ffffff - -inactive_tab_foreground #7f8288 -inactive_tab_background #e5e6e7 - -foreground #666970 -background #ffffff - -selection_foreground #ffffff -selection_background #a0dbff - -color0 #666970 -color8 #7f8288 - -color1 #ff4972 -color9 #FF6D8E - -color2 #95ffc3 -color10 #AAFFCF - -color3 #ffff80 -color11 #FFFF99 - -color4 #a0dbff -color12 #B3E2FF - -color5 #eb71ad -color13 #EF8DBD - -color6 #24e5ff -color14 #50EAFF - -color7 #cccdcf -color15 #e5e6e7 - -mark1_foreground #ffffff -mark1_background #24e5ff - -mark2_foreground #ffffff -mark2_background #eb71ad - -mark3_foreground #ffffff -mark3_background #ffff80 diff --git a/.local/share/chezmoi/home/private_dot_config/kitty/kitty.conf b/.local/share/chezmoi/home/private_dot_config/kitty/kitty.conf deleted file mode 100644 index 5fccd1ec..00000000 --- a/.local/share/chezmoi/home/private_dot_config/kitty/kitty.conf +++ /dev/null @@ -1 +0,0 @@ -include ./Betelgeuse-dark.conf diff --git a/.local/share/chezmoi/home/private_dot_config/konsolerc b/.local/share/chezmoi/home/private_dot_config/konsolerc deleted file mode 100644 index bf91883a..00000000 --- a/.local/share/chezmoi/home/private_dot_config/konsolerc +++ /dev/null @@ -1,19 +0,0 @@ -[Desktop Entry] -DefaultProfile=Betelgeuse - -[Favorite Profiles] -Favorites=Betelgeuse - -[MainWindow] -RestorePositionForNextInstance=false - -[SearchSettings] -SearchRegExpression=true - -[TabBar] -NewTabButton=true -TabBarPosition=Top -TabBarVisibility=AlwaysShowTabBar - -[ThumbnailsSettings] -ThumbnailCtrl=true diff --git a/.local/share/chezmoi/home/private_dot_config/ksplashrc b/.local/share/chezmoi/home/private_dot_config/ksplashrc deleted file mode 100644 index e46478d6..00000000 --- a/.local/share/chezmoi/home/private_dot_config/ksplashrc +++ /dev/null @@ -1,3 +0,0 @@ -[KSplash] -Engine=KSplashQML -Theme=Betelgeuse diff --git a/.local/share/chezmoi/home/private_dot_config/ktimezonedrc b/.local/share/chezmoi/home/private_dot_config/ktimezonedrc deleted file mode 100644 index c2afff18..00000000 --- a/.local/share/chezmoi/home/private_dot_config/ktimezonedrc +++ /dev/null @@ -1,2 +0,0 @@ -[TimeZones] -LocalZone=America/New_York diff --git a/.local/share/chezmoi/home/private_dot_config/kwinrc b/.local/share/chezmoi/home/private_dot_config/kwinrc deleted file mode 100644 index 7d4c0939..00000000 --- a/.local/share/chezmoi/home/private_dot_config/kwinrc +++ /dev/null @@ -1,3 +0,0 @@ -[org.kde.kdecoration2] -library=org.kde.kwin.aurorae -theme=_aurorae__svg__Betelgeuse diff --git a/.local/share/chezmoi/home/private_dot_config/mimeapps.list b/.local/share/chezmoi/home/private_dot_config/mimeapps.list deleted file mode 100644 index eea471c0..00000000 --- a/.local/share/chezmoi/home/private_dot_config/mimeapps.list +++ /dev/null @@ -1,44 +0,0 @@ -[Default Applications] -application/json=text.desktop -application/pdf=pdf.desktop -application/x-extension-htm=firefox.desktop -application/x-extension-html=firefox.desktop -application/x-extension-shtml=firefox.desktop -application/x-extension-xht=firefox.desktop -application/x-extension-xhtml=firefox.desktop -application/x-xpinstall=firefox.desktop -application/xhtml+xml=firefox.desktop -application/xml=firefox.desktop -image/bmp=imv.desktop -image/gif=imv.desktop -image/heif=imv.desktop -image/jpeg=imv.desktop -image/png=imv.desktop -image/tiff=imv.desktop -image/vnd.zbrush.pcx=imv.desktop -image/x-portable-anymap=imv.desktop -image/x-portable-bitmap=imv.desktop -image/x-portable-graymap=imv.desktop -image/x-portable-pixmap=imv.desktop -image/x-tga=imv.desktop -image/x-xbitmap=imv.desktop -text/html=firefox.desktop -text/html=text.desktop -text/plain=text.desktop -text/tcl=text.desktop -text/x-c++hdr=text.desktop -text/x-c++src=text.desktop -text/x-chdr=text.desktop -text/x-csrc=text.desktop -text/x-google-video-pointer=text.desktop -text/x-java=text.desktop -text/x-makefile=text.desktop -text/x-moc=text.desktop -text/x-pascal=text.desktop -text/x-tex=text.desktop -x-scheme-handler/chrome=firefox.desktop -x-scheme-handler/http=firefox.desktop -x-scheme-handler/http=firefox.desktop -x-scheme-handler/https=firefox.desktop -x-scheme-handler/https=firefox.desktop -x-scheme-handler/terminal=kitty.desktop diff --git a/.local/share/chezmoi/home/private_dot_config/npm/npmrc.tmpl.TODO b/.local/share/chezmoi/home/private_dot_config/npm/npmrc.tmpl.TODO deleted file mode 100644 index 25ff83fa..00000000 --- a/.local/share/chezmoi/home/private_dot_config/npm/npmrc.tmpl.TODO +++ /dev/null @@ -1,6 +0,0 @@ -cache=${XDG_CACHE_HOME}/npm -init.license=MIT -init.version=0.0.1 -init-module=${XDG_CONFIG_HOME}/npm/config/npm-init.js -prefix=${XDG_DATA_HOME}/npm -store-dir=${XDG_DATA_HOME}/pnpm-store diff --git a/.local/share/chezmoi/home/private_dot_config/oh-my-posh/Betelgeuse-minimal.omp.json b/.local/share/chezmoi/home/private_dot_config/oh-my-posh/Betelgeuse-minimal.omp.json deleted file mode 100644 index 3926e60b..00000000 --- a/.local/share/chezmoi/home/private_dot_config/oh-my-posh/Betelgeuse-minimal.omp.json +++ /dev/null @@ -1,111 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json", - "console_title_template": "{{if .Segments.Git.RepoName}} {{.Segments.Git.RepoName}} {{else}} {{.Folder}} {{end}}", - "blocks": [ - { - "type": "prompt", - "alignment": "left", - "newline": true, - "segments": [ - { - "type": "session", - "foreground": "#757575", - "properties": { - "display_host": true - }, - "style": "plain", - "template": "\u250c {{ if .SSHSession }}\uf817 {{ end }}{{ .UserName }}@{{ .HostName }} " - }, - { - "type": "path", - "background": "#91ddff", - "foreground": "#100e23", - "powerline_symbol": "\ue0b0", - "properties": { - "style": "agnoster_full" - }, - "style": "powerline", - "template": " {{ .Path }} " - }, - { - "type": "git", - "style": "powerline", - "powerline_symbol": "\ue0b0", - "foreground": "#100e23", - "background": "#95ffa4", - "background_templates": [ - "{{ if or (.Working.Changed) (.Staging.Changed) }}#ff9248{{ end }}", - "{{ if and (gt .Ahead 0) (gt .Behind 0) }}#f26d50{{ end }}", - "{{ if gt .Ahead 0 }}#89d1dc{{ end }}", - "{{ if gt .Behind 0 }}#c5b6ad{{ end }}" - ], - "template": " {{ .HEAD }}{{if .BranchStatus }} {{ .BranchStatus }}{{ end }}{{ if .Working.Changed }} {{ .Working.String }}{{ end }}{{ if and (.Working.Changed) (.Staging.Changed) }} \u2502{{ end }}{{ if .Staging.Changed }} {{ .Staging.String }}{{ end }}{{ if gt .StashCount 0 }} {{ .StashCount }}{{ end }} ", - "properties": { - "branch_ahead_icon": "\u2191", - "branch_behind_icon": "\u2193", - "branch_gone": "\u2262", - "branch_icon": "\ue0a0 ", - "branch_identical_icon": "\u2261", - "cherry_pick_icon": "\u2713 ", - "commit_icon": "\u25b7 ", - "fetch_stash_count": true, - "fetch_status": true, - "merge_icon": "\u25f4 ", - "no_commits_icon": "[no commits]", - "rebase_icon": "\u2c62 ", - "tag_icon": "\u25b6 ", - "untracked_modes": { - "/Users/user/Projects/oh-my-posh/": "no" - } - } - }, - { - "type": "terraform", - "background": "#ffee58", - "foreground": "#100e23", - "powerline_symbol": "\ue0b0", - "style": "powerline", - "template": " {{ .WorkspaceName }}{{ if .Version }} {{ .Version }}{{ end }} " - }, - { - "type": "exit", - "background": "#ff8080", - "foreground": "#ffffff", - "powerline_symbol": "\ue0b0", - "style": "powerline", - "template": " {{ if gt .Code 0 }}error{{ else }}\uf42e{{ end }} " - }, - { - "type": "time", - "foreground": "#689f38", - "properties": { - "time_format": "15:04:05" - }, - "style": "plain", - "template": " <#757575,>| {{ .CurrentDate | date .Format }}" - } - ] - }, - { - "type": "prompt", - "alignment": "left", - "newline": true, - "segments": [ - { - "type": "text", - "foreground": "#757575", - "style": "plain", - "template": "\u2514" - }, - { - "type": "text", - "foreground": "#ffffff", - "style": "plain", - "template": "$" - } - ] - } - ], - "final_space": true, - "version": 2 -} diff --git a/.local/share/chezmoi/home/private_dot_config/oh-my-posh/Betelgeuse.omp.json b/.local/share/chezmoi/home/private_dot_config/oh-my-posh/Betelgeuse.omp.json deleted file mode 100644 index 72555fa0..00000000 --- a/.local/share/chezmoi/home/private_dot_config/oh-my-posh/Betelgeuse.omp.json +++ /dev/null @@ -1,126 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json", - "blocks": [ - { - "alignment": "left", - "segments": [ - { - "background": "#2e9599", - "foreground": "#ffffff", - "leading_diamond": "\ue0b6", - "powerline_symbol": "\ue0b0", - "style": "diamond", - "template": "\uf91c {{ .HostName }} ", - "type": "session" - }, - { - "background": "#D51111", - "foreground": "#ffffff", - "powerline_symbol": "\ue0b0", - "properties": { - "home_icon": "\uf46d", - "folder_separator_icon": " \ue0b1 ", - "folder_icon": "\uf115", - "style": "agnoster" - }, - "style": "powerline", - "template": " {{ path .Path .Location }} ", - "type": "path" - }, - { - "background": "#c19c00", - "background_templates": [ - "{{ if or (.Working.Changed) (.Staging.Changed) }}#FFEB3B{{ end }}", - "{{ if and (gt .Ahead 0) (gt .Behind 0) }}#FFA300{{ end }}", - "{{ if gt .Ahead 0 }}#FF7070{{ end }}", - "{{ if gt .Behind 0 }}#90F090{{ end }}" - ], - "foreground": "#000000", - "powerline_symbol": "\ue0b0", - "properties": { - "fetch_stash_count": true, - "fetch_status": true, - "fetch_upstream_icon": true - }, - "style": "powerline", - "template": " \uf113 {{ .HEAD }}{{if .BranchStatus }} {{ .BranchStatus }}{{ end }}{{ if .Working.Changed }} \uf044 {{ .Working.String }}{{ end }}{{ if and (.Working.Changed) (.Staging.Changed) }} |{{ end }}{{ if .Staging.Changed }} \uf046 {{ .Staging.String }}{{ end }}{{ if gt .StashCount 0 }} \uf692 {{ .StashCount }}{{ end }} ", - "type": "git" - } - ], - "type": "prompt" - }, - { - "alignment": "right", - "segments": [ - { - "background": "#303030", - "foreground": "#3C873A", - "leading_diamond": "\ue0b6", - "properties": { - "fetch_package_manager": true, - "npm_icon": " <#cc3a3a>\ue5fa ", - "yarn_icon": " <#348cba>\uf61a" - }, - "style": "diamond", - "template": "\ue718 {{ if .PackageManagerIcon }}{{ .PackageManagerIcon }} {{ end }}{{ .Full }}", - "trailing_diamond": "\ue0b4 ", - "type": "node" - }, - { - "background": "#306998", - "foreground": "#FFE873", - "leading_diamond": "\ue0b6", - "style": "diamond", - "template": "\ue235 {{ if .Error }}{{ .Error }}{{ else }}{{ if .Venv }}{{ .Venv }} {{ end }}{{ .Full }}{{ end }}", - "trailing_diamond": "\ue0b4 ", - "type": "python" - }, - { - "background": "#ffffff", - "foreground": "#06aad5", - "leading_diamond": "\ue0b6", - "style": "diamond", - "template": "\ufcd1 {{ if .Error }}{{ .Error }}{{ else }}{{ .Full }}{{ end }}", - "trailing_diamond": "\ue0b4 ", - "type": "go" - }, - { - "background": "#2e9599", - "foreground": "#fff", - "background_templates": [ - "{{ if gt .Code 0 }}#D51111{{ end }}" - ], - "leading_diamond": "\ue0b6", - "properties": { - "time_format": "_2, 15:04:05" - }, - "style": "diamond", - "template": " \uf5ef {{ .CurrentDate | date .Format }} ", - "trailing_diamond": "\ue0b4", - "type": "time" - } - ], - "type": "prompt" - }, - { - "alignment": "left", - "newline": true, - "segments": [ - { - "foreground": "#FFF", - "foreground_templates": [ - "{{ if gt .Code 0 }}#D51111{{ end }}" - ], - "style": "plain", - "template": " \uf0a4 ", - "type": "text" - } - ], - "type": "prompt" - } - ], - "console_title_template": "{{ .Folder }}", - "final_space": true, - "osc99": true, - "version": 2 -} diff --git a/.local/share/chezmoi/home/private_dot_config/pgcli/config b/.local/share/chezmoi/home/private_dot_config/pgcli/config deleted file mode 100644 index 60ba948f..00000000 --- a/.local/share/chezmoi/home/private_dot_config/pgcli/config +++ /dev/null @@ -1,188 +0,0 @@ -# vi: ft=dosini -[main] - -# Enables context sensitive auto-completion. If this is disabled the all -# possible completions will be listed. -smart_completion = True - -# Display the completions in several columns. (More completions will be -# visible.) -wider_completion_menu = False - -# Multi-line mode allows breaking up the sql statements into multiple lines. If -# this is set to True, then the end of the statements must have a semi-colon. -# If this is set to False then sql statements can't be split into multiple -# lines. End of line (return) is considered as the end of the statement. -multi_line = False - -# If multi_line_mode is set to "psql", in multi-line mode, [Enter] will execute -# the current input if the input ends in a semicolon. -# If multi_line_mode is set to "safe", in multi-line mode, [Enter] will always -# insert a newline, and [Esc] [Enter] or [Alt]-[Enter] must be used to execute -# a command. -multi_line_mode = psql - -# Destructive warning mode will alert you before executing a sql statement -# that may cause harm to the database such as "drop table", "drop database" -# or "shutdown". -destructive_warning = True - -# Enables expand mode, which is similar to `\x` in psql. -expand = False - -# Enables auto expand mode, which is similar to `\x auto` in psql. -auto_expand = False - -# If set to True, table suggestions will include a table alias -generate_aliases = False - -# log_file location. -# In Unix/Linux: ~/.config/pgcli/log -# In Windows: %USERPROFILE%\AppData\Local\dbcli\pgcli\log -# %USERPROFILE% is typically C:\Users\{username} -log_file = default - -# keyword casing preference. Possible values "lower", "upper", "auto" -keyword_casing = auto - -# casing_file location. -# In Unix/Linux: ~/.config/pgcli/casing -# In Windows: %USERPROFILE%\AppData\Local\dbcli\pgcli\casing -# %USERPROFILE% is typically C:\Users\{username} -casing_file = default - -# If generate_casing_file is set to True and there is no file in the above -# location, one will be generated based on usage in SQL/PLPGSQL functions. -generate_casing_file = False - -# Casing of column headers based on the casing_file described above -case_column_headers = True - -# history_file location. -# In Unix/Linux: ~/.config/pgcli/history -# In Windows: %USERPROFILE%\AppData\Local\dbcli\pgcli\history -# %USERPROFILE% is typically C:\Users\{username} -history_file = default - -# Default log level. Possible values: "CRITICAL", "ERROR", "WARNING", "INFO" -# and "DEBUG". "NONE" disables logging. -log_level = INFO - -# Order of columns when expanding * to column list -# Possible values: "table_order" and "alphabetic" -asterisk_column_order = table_order - -# Whether to qualify with table alias/name when suggesting columns -# Possible values: "always", never" and "if_more_than_one_table" -qualify_columns = if_more_than_one_table - -# When no schema is entered, only suggest objects in search_path -search_path_filter = False - -# Default pager. -# By default 'PAGER' environment variable is used -# pager = less -SRXF - -# Timing of sql statments and table rendering. -timing = True - -# Table format. Possible values: psql, plain, simple, grid, fancy_grid, pipe, -# ascii, double, github, orgtbl, rst, mediawiki, html, latex, latex_booktabs, -# textile, moinmoin, jira, vertical, tsv, csv. -# Recommended: psql, fancy_grid and grid. -table_format = psql - -# Syntax Style. Possible values: manni, igor, xcode, vim, autumn, vs, rrt, -# native, perldoc, borland, tango, emacs, friendly, monokai, paraiso-dark, -# colorful, murphy, bw, pastie, paraiso-light, trac, default, fruity -syntax_style = default - -# Keybindings: -# When Vi mode is enabled you can use modal editing features offered by Vi in the REPL. -# When Vi mode is disabled emacs keybindings such as Ctrl-A for home and Ctrl-E -# for end are available in the REPL. -vi = True - -# Error handling -# When one of multiple SQL statements causes an error, choose to either -# continue executing the remaining statements, or stopping -# Possible values "STOP" or "RESUME" -on_error = STOP - -# Set threshold for row limit. Use 0 to disable limiting. -row_limit = 1000 - -# Skip intro on startup and goodbye on exit -less_chatty = True - -# Postgres prompt -# \t - Current date and time -# \u - Username -# \h - Short hostname of the server (up to first '.') -# \H - Hostname of the server -# \d - Database name -# \p - Database port -# \i - Postgres PID -# \# - "@" sign if logged in as superuser, '>' in other case -# \n - Newline -# \dsn_alias - name of dsn alias if -D option is used (empty otherwise) -# \x1b[...m - insert ANSI escape sequence -# eg: prompt = '\x1b[35m\u@\x1b[32m\h:\x1b[36m\d>' -prompt = '\u@\h:\d> ' - -# Number of lines to reserve for the suggestion menu -min_num_menu_lines = 4 - -# Character used to left pad multi-line queries to match the prompt size. -multiline_continuation_char = '' - -# The string used in place of a null value. -null_string = '' - -# manage pager on startup -enable_pager = True - -# Use keyring to automatically save and load password in a secure manner -keyring = False - -# Custom colors for the completion menu, toolbar, etc. -[colors] -completion-menu.completion.current = 'bg:#ffffff #000000' -completion-menu.completion = 'bg:#008888 #ffffff' -completion-menu.meta.completion.current = 'bg:#44aaaa #000000' -completion-menu.meta.completion = 'bg:#448888 #ffffff' -completion-menu.multi-column-meta = 'bg:#aaffff #000000' -scrollbar.arrow = 'bg:#003333' -scrollbar = 'bg:#00aaaa' -selected = '#ffffff bg:#6666aa' -search = '#ffffff bg:#4444aa' -search.current = '#ffffff bg:#44aa44' -bottom-toolbar = 'bg:#222222 #aaaaaa' -bottom-toolbar.off = 'bg:#222222 #888888' -bottom-toolbar.on = 'bg:#222222 #ffffff' -search-toolbar = 'noinherit bold' -search-toolbar.text = 'nobold' -system-toolbar = 'noinherit bold' -arg-toolbar = 'noinherit bold' -arg-toolbar.text = 'nobold' -bottom-toolbar.transaction.valid = 'bg:#222222 #00ff5f bold' -bottom-toolbar.transaction.failed = 'bg:#222222 #ff005f bold' - -# style classes for colored table output -output.header = "#00ff5f bold" -output.odd-row = "" -output.even-row = "" - -# Named queries are queries you can execute by name. -[named queries] - -# DSN to call by -D option -[alias_dsn] -# example_dsn = postgresql://[user[:password]@][netloc][:port][/dbname] - -# Format for number representation -# for decimal "d" - 12345678, ",d" - 12,345,678 -# for float "g" - 123456.78, ",g" - 123,456.78 -[data_formats] -decimal = "" -float = "" diff --git a/.local/share/chezmoi/home/private_dot_config/plasma-localerc b/.local/share/chezmoi/home/private_dot_config/plasma-localerc deleted file mode 100644 index 20230372..00000000 --- a/.local/share/chezmoi/home/private_dot_config/plasma-localerc +++ /dev/null @@ -1,2 +0,0 @@ -[Formats] -LANG=en_US.UTF-8 diff --git a/.local/share/chezmoi/home/private_dot_config/plasma/plasmoids.yml b/.local/share/chezmoi/home/private_dot_config/plasma/plasmoids.yml deleted file mode 100644 index 98d17ec5..00000000 --- a/.local/share/chezmoi/home/private_dot_config/plasma/plasmoids.yml +++ /dev/null @@ -1,24 +0,0 @@ ---- -plasmoids: - - name: Application Title - link: https://store.kde.org/p/1199712/ - - name: Command Output - link: https://store.kde.org/p/1166510/ - - name: Compact Shutdown - link: https://store.kde.org/p/1483671 - - name: Configurable Button - link: https://store.kde.org/p/1297839 - - name: Event Calendar - link: https://store.kde.org/p/998901 - - name: Netspeed Widget - link: https://store.kde.org/p/998895/ - - name: Server Status - link: https://store.kde.org/p/1190292 - - name: Plasma Configuration Saver - link: https://store.kde.org/p/1298955/ - - name: Webslice - link: https://store.kde.org/p/998902 - - name: Window Title - link: https://store.kde.org/p/1274218/ - - name: Wunderground Extended - link: https://store.kde.org/p/1756638/ diff --git a/.local/share/chezmoi/home/private_dot_config/plasmarc b/.local/share/chezmoi/home/private_dot_config/plasmarc deleted file mode 100644 index 0e4024fb..00000000 --- a/.local/share/chezmoi/home/private_dot_config/plasmarc +++ /dev/null @@ -1,2 +0,0 @@ -[Theme] -name=Betelgeuse diff --git a/.local/share/chezmoi/home/private_dot_config/private_Code/User/extensions.json b/.local/share/chezmoi/home/private_dot_config/private_Code/User/extensions.json deleted file mode 100644 index 578d0f17..00000000 --- a/.local/share/chezmoi/home/private_dot_config/private_Code/User/extensions.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "recommendations": [ - "chrmarti.regex", - "DavidAnson.vscode-markdownlint", - "dbaeumer.vscode-eslint", - "eamodio.gitlens", - "EditorConfig.EditorConfig", - "esbenp.prettier-vscode", - "ericadamski.carbon-now-sh", - "formulahendry.code-runner", - "GitHub.vscode-pull-request-github", - "GitLab.gitlab-workflow", - "GoogleCloudTools.cloudcode", - "HashiCorp.terraform", - "hediet.vscode-drawio", - "IBM.output-colorizer", - "Kelvin.vscode-sshfs", - "mads-hartmann.bash-ide-vscode", - "ms-azuretools.vscode-docker", - "ms-kubernetes-tools.vscode-kubernetes-tools", - "ms-vscode-remote.remote-containers", - "ms-vscode-remote.remote-ssh", - "ms-vscode-remote.remote-wsl", - "ms-vscode.PowerShell", - "MS-vsliveshare.vsliveshare", - "MS-vsliveshare.vsliveshare-audio", - "philnash.ngrok-for-vscode", - "PKief.material-icon-theme", - "redhat.ansible", - "redhat.vscode-yaml", - "richie5um2.vscode-sort-json", - "Rubymaniac.vscode-paste-and-indent", - "shd101wyy.markdown-preview-enhanced", - "softwaredotcom.swdc-vscode", - "timonwong.shellcheck", - "tyriar.sort-lines", - "usernamehw.errorlens", - "valentjn.vscode-ltex", - "vsls-contrib.codetour", - "vsls-contrib.gistfs", - "wayou.vscode-todo-highlight" - ] -} diff --git a/.local/share/chezmoi/home/private_dot_config/private_Code/User/extensions/theme-betelgeuse-vscode/README.md b/.local/share/chezmoi/home/private_dot_config/private_Code/User/extensions/theme-betelgeuse-vscode/README.md deleted file mode 100644 index 7691b94d..00000000 --- a/.local/share/chezmoi/home/private_dot_config/private_Code/User/extensions/theme-betelgeuse-vscode/README.md +++ /dev/null @@ -1 +0,0 @@ -The Betelgeuse VS Code theme created using [themer.dev](https://themer.dev). diff --git a/.local/share/chezmoi/home/private_dot_config/private_Code/User/extensions/theme-betelgeuse-vscode/icon.svg b/.local/share/chezmoi/home/private_dot_config/private_Code/User/extensions/theme-betelgeuse-vscode/icon.svg deleted file mode 100644 index 2994a04c..00000000 --- a/.local/share/chezmoi/home/private_dot_config/private_Code/User/extensions/theme-betelgeuse-vscode/icon.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.local/share/chezmoi/home/private_dot_config/private_Code/User/extensions/theme-betelgeuse-vscode/package.json b/.local/share/chezmoi/home/private_dot_config/private_Code/User/extensions/theme-betelgeuse-vscode/package.json deleted file mode 100644 index 1807045a..00000000 --- a/.local/share/chezmoi/home/private_dot_config/private_Code/User/extensions/theme-betelgeuse-vscode/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "betelgeuse-vscode", - "displayName": "Betelgeuse VS Code Theme", - "description": "Betelgeuse theme generated by Themer.dev", - "version": "2.4.0", - "publisher": "Megabyte Labs", - "engines": { - "vscode": "^1.14.0" - }, - "categories": [ - "Themes" - ], - "icon": "icon.svg", - "contributes": { - "themes": [ - { - "label": "Betelgeuse Dark", - "uiTheme": "vs-dark", - "path": "themes/themer-dark-color-theme.json" - }, - { - "label": "Betelgeuse Light", - "uiTheme": "vs", - "path": "themes/themer-light-color-theme.json" - } - ] - } -} diff --git a/.local/share/chezmoi/home/private_dot_config/private_Code/User/extensions/theme-betelgeuse-vscode/themes/themer-dark-color-theme.json b/.local/share/chezmoi/home/private_dot_config/private_Code/User/extensions/theme-betelgeuse-vscode/themes/themer-dark-color-theme.json deleted file mode 100644 index 3792f2d2..00000000 --- a/.local/share/chezmoi/home/private_dot_config/private_Code/User/extensions/theme-betelgeuse-vscode/themes/themer-dark-color-theme.json +++ /dev/null @@ -1,614 +0,0 @@ -{ - "name": "Betelgeuse Dark", - "type": "dark", - "colors": { - "focusBorder": "#c3c7d1", - "foreground": "#c3c7d1", - "widget.shadow": "#161925", - "selection.background": "#474b56", - "descriptionForeground": "#aaaeb8", - "errorForeground": "#ed254e", - "icon.foreground": "#aaaeb8", - "sash.hoverBorder": "#7cb7ff", - "textBlockQuote.background": "#2f323e", - "textBlockQuote.border": "#2f323e", - "textCodeBlock.background": "#161925", - "textLink.activeForeground": "#00c1e4", - "textLink.foreground": "#7cb7ff", - "textPreformat.foreground": "#dcdfe4", - "textSeparator.foreground": "#797c87", - "button.background": "#7cb7ff", - "button.foreground": "#161925", - "button.hoverBackground": "#00c1e4", - "button.secondaryForeground": "#161925", - "button.secondaryBackground": "#aaaeb8", - "button.secondaryHoverBackground": "#9295a0", - "checkbox.background": "#7cb7ff", - "checkbox.foreground": "#161925", - "checkbox.border": "#2f323e", - "dropdown.background": "#2f323e", - "dropdown.listBackground": "#2f323e", - "dropdown.border": "#2f323e", - "dropdown.foreground": "#aaaeb8", - "input.background": "#2f323e", - "input.border": "#2f323e", - "input.foreground": "#aaaeb8", - "input.placeholderForeground": "#474b56", - "inputOption.activeBackground": "#474b56", - "inputOption.activeBorder": "#00c1e4", - "inputOption.activeForeground": "#c3c7d1", - "inputValidation.errorBackground": "#2f323e", - "inputValidation.errorForeground": "#ed254e", - "inputValidation.errorBorder": "#ed254e", - "inputValidation.infoBackground": "#2f323e", - "inputValidation.infoForeground": "#7cb7ff", - "inputValidation.infoBorder": "#7cb7ff", - "inputValidation.warningBackground": "#2f323e", - "inputValidation.warningForeground": "#dcdfe4", - "inputValidation.warningBorder": "#dcdfe4", - "scrollbar.shadow": "#161925", - "scrollbarSlider.activeBackground": "#9295a07f", - "scrollbarSlider.background": "#60646f7f", - "scrollbarSlider.hoverBackground": "#797c877f", - "badge.foreground": "#161925", - "badge.background": "#c3c7d1", - "progressBar.background": "#71f79f", - "list.activeSelectionBackground": "#c3c7d133", - "list.activeSelectionForeground": "#c3c7d1", - "list.dropBackground": "#2f323e", - "list.focusBackground": "#60646f3f", - "list.focusForeground": "#c3c7d1", - "list.highlightForeground": "#f9dc5c", - "list.hoverBackground": "#2f323e33", - "list.hoverForeground": "#c3c7d1", - "list.inactiveSelectionBackground": "#474b563f", - "list.inactiveSelectionForeground": "#aaaeb8", - "list.inactiveFocusBackground": "#2f323e3f", - "list.invalidItemForeground": "#ed254e", - "list.errorForeground": "#ed254e", - "list.warningForeground": "#f9dc5c", - "listFilterWidget.background": "#2f323e", - "listFilterWidget.outline": "#7cb7ff", - "listFilterWidget.noMatchesOutline": "#ed254e", - "list.filterMatchBackground": "#f9dc5c33", - "list.filterMatchBorder": "#f9dc5c33", - "tree.indentGuidesStroke": "#2f323e", - "list.deemphasizedForeground": "#797c87", - "activityBar.background": "#161925", - "activityBar.dropBorder": "#7cb7ff", - "activityBar.foreground": "#9295a0", - "activityBar.inactiveForeground": "#797c87", - "activityBar.border": "#161925", - "activityBarBadge.background": "#c3c7d1", - "activityBarBadge.foreground": "#161925", - "activityBar.activeBorder": "#aaaeb8", - "activityBar.activeBackground": "#2f323e33", - "activityBar.activeFocusBorder": "#c3c7d1", - "sideBar.background": "#161925", - "sideBar.foreground": "#aaaeb8", - "sideBar.border": "#2f323e", - "sideBar.dropBackground": "#2f323e3f", - "sideBarTitle.foreground": "#9295a0", - "sideBarSectionHeader.background": "#474b56", - "sideBarSectionHeader.foreground": "#aaaeb8", - "sideBarSectionHeader.border": "#161925", - "minimap.findMatchHighlight": "#f9dc5c", - "minimap.selectionHighlight": "#7cb7ff80", - "minimap.errorHighlight": "#ed254e80", - "minimap.warningHighlight": "#dcdfe480", - "minimap.background": "#161925", - "minimapSlider.background": "#2f323e33", - "minimapSlider.hoverBackground": "#474b5633", - "minimapSlider.activeBackground": "#60646f33", - "minimapGutter.addedBackground": "#71f79f80", - "minimapGutter.modifiedBackground": "#f9dc5c80", - "minimapGutter.deletedBackground": "#ed254e80", - "editorGroup.border": "#2f323e", - "editorGroup.dropBackground": "#474b567f", - "editorGroupHeader.noTabsBackground": "#161925", - "editorGroupHeader.tabsBackground": "#161925", - "editorGroupHeader.tabsBorder": "#161925", - "editorGroupHeader.border": "#161925", - "editorGroup.emptyBackground": "#161925", - "editorGroup.focusedEmptyBorder": "#2f323e", - "tab.activeBackground": "#161925", - "tab.unfocusedActiveBackground": "#161925", - "tab.activeForeground": "#aaaeb8", - "tab.border": "#161925", - "tab.lastPinnedBorder": "#c74d89", - "tab.inactiveBackground": "#2f323e", - "tab.unfocusedInactiveBackground": "#2f323e", - "tab.inactiveForeground": "#60646f", - "tab.unfocusedActiveForeground": "#60646f", - "tab.unfocusedInactiveForeground": "#474b56", - "tab.hoverBackground": "#2f323e80", - "tab.unfocusedHoverBackground": "#2f323e80", - "tab.hoverForeground": "#9295a0", - "tab.unfocusedHoverForeground": "#797c87", - "tab.activeModifiedBorder": "#f9dc5c", - "tab.inactiveModifiedBorder": "#f9dc5c", - "tab.unfocusedActiveModifiedBorder": "#f9dc5c", - "tab.unfocusedInactiveModifiedBorder": "#f9dc5c", - "editorPane.background": "#161925", - "editor.background": "#161925", - "editor.foreground": "#c3c7d1", - "editorLineNumber.foreground": "#474b56", - "editorLineNumber.activeForeground": "#797c87", - "editorCursor.background": "#161925", - "editorCursor.foreground": "#c3c7d1", - "editor.selectionBackground": "#7cb7ff33", - "editor.selectionForeground": "#c3c7d1", - "editor.inactiveSelectionBackground": "#7cb7ff33", - "editor.selectionHighlightBackground": "#2f323e", - "editor.wordHighlightBackground": "#c3c7d133", - "editor.wordHighlightStrongBackground": "#c74d8933", - "editor.findMatchBackground": "#f9dc5c3f", - "editor.findMatchHighlightBackground": "#f9dc5c33", - "editor.findRangeHighlightBackground": "#2f323e", - "editor.hoverHighlightBackground": "#474b567f", - "editor.lineHighlightBackground": "#161925", - "editor.lineHighlightBorder": "#2f323e", - "editorLink.activeForeground": "#00c1e4", - "editor.rangeHighlightBackground": "#f9dc5c33", - "editor.symbolHighlightBackground": "#c3c7d133", - "editorWhitespace.foreground": "#2f323e", - "editorIndentGuide.background": "#2f323e", - "editorIndentGuide.activeBackground": "#474b56", - "editorRuler.foreground": "#2f323e", - "editorCodeLens.foreground": "#9295a0", - "editorLightBulb.foreground": "#f9dc5c", - "editorLightBulbAutoFix.foreground": "#7cb7ff", - "editorBracketMatch.background": "#2f323e", - "editorBracketMatch.border": "#474b56", - "editorBracketHighlight.foreground1": "#c3c7d1", - "editorBracketHighlight.foreground2": "#f9dc5c", - "editorBracketHighlight.foreground3": "#00c1e4", - "editorBracketHighlight.foreground4": "#c3c7d1", - "editorBracketHighlight.foreground5": "#71f79f", - "editorBracketHighlight.foreground6": "#7cb7ff", - "editorBracketHighlight.unexpectedBracket": "#ed254e", - "editor.foldBackground": "#2f323e66", - "editorOverviewRuler.border": "#2f323e", - "editorOverviewRuler.findMatchForeground": "#f9dc5cbf", - "editorOverviewRuler.rangeHighlightForeground": "#474b56bf", - "editorOverviewRuler.selectionHighlightForeground": "#2f323ebf", - "editorOverviewRuler.wordHighlightForeground": "#474b56bf", - "editorOverviewRuler.wordHighlightStrongForeground": "#60646fbf", - "editorOverviewRuler.modifiedForeground": "#f9dc5c7f", - "editorOverviewRuler.addedForeground": "#71f79f7f", - "editorOverviewRuler.deletedForeground": "#ed254e7f", - "editorOverviewRuler.errorForeground": "#ed254e7f", - "editorOverviewRuler.warningForeground": "#dcdfe47f", - "editorOverviewRuler.infoForeground": "#7cb7ff7f", - "editorOverviewRuler.bracketMatchForeground": "#60646f", - "editorError.foreground": "#ed254e", - "editorError.border": "#c3c7d1", - "editorWarning.foreground": "#dcdfe4", - "editorWarning.border": "#aaaeb8", - "editorInfo.foreground": "#7cb7ff", - "editorInfo.border": "#9295a0", - "editorHint.foreground": "#c74d89", - "editorHint.border": "#797c87", - "problemsErrorIcon.foreground": "#ed254e", - "problemsWarningIcon.foreground": "#dcdfe4", - "problemsInfoIcon.foreground": "#7cb7ff", - "editorUnnecessaryCode.opacity": "#0000007f", - "editorGutter.background": "#161925", - "editorGutter.modifiedBackground": "#f9dc5c", - "editorGutter.addedBackground": "#71f79f", - "editorGutter.deletedBackground": "#ed254e", - "editorGutter.commentRangeForeground": "#60646f", - "editorGutter.foldingControlForeground": "#9295a0", - "diffEditor.insertedTextBackground": "#71f79f20", - "diffEditor.removedTextBackground": "#ed254e20", - "diffEditor.border": "#2f323e", - "diffEditor.diagonalFill": "#2f323e7f", - "editorWidget.foreground": "#aaaeb8", - "editorWidget.background": "#2f323e", - "editorWidget.border": "#2f323e", - "editorWidget.resizeBorder": "#7cb7ff", - "editorSuggestWidget.background": "#2f323e", - "editorSuggestWidget.border": "#2f323e", - "editorSuggestWidget.foreground": "#aaaeb8", - "editorSuggestWidget.highlightForeground": "#c74d89", - "editorSuggestWidget.selectedBackground": "#474b56", - "editorHoverWidget.foreground": "#aaaeb8", - "editorHoverWidget.background": "#2f323e", - "editorHoverWidget.border": "#2f323e", - "editorHoverWidget.statusBarBackground": "#7cb7ff33", - "debugExceptionWidget.background": "#2f323e", - "debugExceptionWidget.border": "#2f323e", - "editorMarkerNavigation.background": "#2f323e", - "editorMarkerNavigationError.background": "#ed254e", - "editorMarkerNavigationWarning.background": "#dcdfe4", - "editorMarkerNavigationInfo.background": "#7cb7ff", - "peekView.border": "#c74d89", - "peekViewEditor.background": "#2f323e7f", - "peekViewEditorGutter.background": "#2f323e7f", - "peekViewEditor.matchHighlightBackground": "#f9dc5c7f", - "peekViewResult.background": "#2f323e", - "peekViewResult.fileForeground": "#aaaeb8", - "peekViewResult.lineForeground": "#474b56", - "peekViewResult.matchHighlightBackground": "#f9dc5c", - "peekViewResult.selectionBackground": "#60646f", - "peekViewResult.selectionForeground": "#c3c7d1", - "peekViewTitle.background": "#2f323e", - "peekViewTitleDescription.foreground": "#9295a0", - "peekViewTitleLabel.foreground": "#c3c7d1", - "merge.currentHeaderBackground": "#00c1e44c", - "merge.currentContentBackground": "#00c1e44c", - "merge.incomingHeaderBackground": "#7cb7ff4c", - "merge.incomingContentBackground": "#7cb7ff4c", - "merge.border": "#797c87", - "merge.commonContentBackground": "#c3c7d14c", - "merge.commonHeaderBackground": "#c3c7d14c", - "editorOverviewRuler.currentContentForeground": "#00c1e4", - "editorOverviewRuler.incomingContentForeground": "#7cb7ff", - "editorOverviewRuler.commonContentForeground": "#c3c7d1", - "panel.background": "#161925", - "panel.border": "#2f323e", - "panel.dropBorder": "#7cb7ff", - "panelTitle.activeBorder": "#60646f", - "panelTitle.activeForeground": "#aaaeb8", - "panelTitle.inactiveForeground": "#797c87", - "panelSection.border": "#2f323e", - "panelSection.dropBackground": "#2f323e3f", - "panelSectionHeader.background": "#474b56", - "panelSectionHeader.foreground": "#aaaeb8", - "panelSectionHeader.border": "#161925", - "imagePreview.border": "#2f323e", - "statusBar.background": "#7cb7ff", - "statusBar.foreground": "#161925", - "statusBar.border": "#161925", - "statusBar.debuggingBackground": "#dcdfe4", - "statusBar.debuggingForeground": "#161925", - "statusBar.debuggingBorder": "#161925", - "statusBar.noFolderBackground": "#c3c7d1", - "statusBar.noFolderForeground": "#161925", - "statusBar.noFolderBorder": "#161925", - "statusBarItem.activeBackground": "#00c1e4", - "statusBarItem.hoverBackground": "#71f79f", - "statusBarItem.prominentBackground": "#00c1e4", - "statusBarItem.prominentHoverBackground": "#71f79f", - "statusBarItem.remoteBackground": "#00c1e4", - "statusBarItem.remoteForeground": "#161925", - "statusBarItem.errorBackground": "#ed254e", - "statusBarItem.errorForeground": "#161925", - "titleBar.activeBackground": "#161925", - "titleBar.activeForeground": "#9295a0", - "titleBar.inactiveBackground": "#161925", - "titleBar.inactiveForeground": "#60646f", - "menubar.selectionForeground": "#c3c7d1", - "menubar.selectionBackground": "#2f323e", - "menu.foreground": "#aaaeb8", - "menu.background": "#161925", - "menu.selectionForeground": "#c3c7d1", - "menu.selectionBackground": "#2f323e", - "menu.separatorBackground": "#474b56", - "notificationCenterHeader.foreground": "#aaaeb8", - "notificationCenterHeader.background": "#474b56", - "notificationToast.border": "#60646f", - "notifications.foreground": "#c3c7d1", - "notifications.background": "#2f323e", - "notifications.border": "#60646f", - "notificationLink.foreground": "#7cb7ff", - "notificationsErrorIcon.foreground": "#ed254e", - "notificationsWarningIcon.foreground": "#dcdfe4", - "notificationsInfoIcon.foreground": "#7cb7ff", - "extensionButton.prominentForeground": "#161925", - "extensionButton.prominentBackground": "#7cb7ff", - "extensionButton.prominentHoverBackground": "#00c1e4", - "extensionBadge.remoteBackground": "#c74d89", - "extensionBadge.remoteForeground": "#161925", - "pickerGroup.border": "#474b56", - "pickerGroup.foreground": "#797c87", - "quickInput.background": "#2f323e", - "quickInput.foreground": "#c3c7d1", - "quickInputTitle.background": "#474b56", - "terminal.background": "#161925", - "terminal.foreground": "#aaaeb8", - "terminal.ansiBlack": "#161925", - "terminal.ansiBlue": "#7cb7ff", - "terminal.ansiBrightBlack": "#2f323e", - "terminal.ansiBrightBlue": "#7cb7ff", - "terminal.ansiBrightCyan": "#00c1e4", - "terminal.ansiBrightGreen": "#00c1e4", - "terminal.ansiBrightMagenta": "#c74d89", - "terminal.ansiBrightRed": "#dcdfe4", - "terminal.ansiBrightWhite": "#c3c7d1", - "terminal.ansiBrightYellow": "#f9dc5c", - "terminal.ansiCyan": "#00c1e4", - "terminal.ansiGreen": "#71f79f", - "terminal.ansiMagenta": "#c74d89", - "terminal.ansiRed": "#ed254e", - "terminal.ansiWhite": "#aaaeb8", - "terminal.ansiYellow": "#f9dc5c", - "terminal.selectionBackground": "#7cb7ff7f", - "terminalCursor.background": "#2f323e", - "terminalCursor.foreground": "#9295a0", - "debugToolBar.background": "#2f323e", - "debugToolBar.border": "#474b56", - "editor.stackFrameHighlightBackground": "#00c1e43f", - "editor.focusedStackFrameHighlightBackground": "#71f79f3f", - "debugView.exceptionLabelForeground": "#f9dc5c", - "debugView.exceptionLabelBackground": "#2f323e", - "debugView.stateLabelForeground": "#7cb7ff", - "debugView.stateLabelBackground": "#2f323e", - "debugView.valueChangedHighlight": "#f9dc5c33", - "debugTokenExpression.name": "#7cb7ff", - "debugTokenExpression.value": "#c3c7d1", - "debugTokenExpression.string": "#71f79f", - "debugTokenExpression.boolean": "#c3c7d1", - "debugTokenExpression.number": "#c74d89", - "debugTokenExpression.error": "#ed254e", - "testing.iconFailed": "#dcdfe4", - "testing.iconErrored": "#ed254e", - "testing.iconPassed": "#71f79f", - "testing.runAction": "#7cb7ff", - "testing.iconQueued": "#00c1e4", - "testing.iconUnset": "#9295a0", - "testing.iconSkipped": "#797c87", - "testing.peekBorder": "#60646f", - "testing.message.error.decorationForeground": "#ed254e", - "testing.message.error.lineBackground": "#ed254e3f", - "testing.message.warning.decorationForeground": "#dcdfe4", - "testing.message.warning.lineBackground": "#dcdfe43f", - "testing.message.info.decorationForeground": "#7cb7ff", - "testing.message.info.lineBackground": "#7cb7ff3f", - "testing.message.hint.decorationForeground": "#c74d89", - "testing.message.hint.lineBackground": "#c74d893f", - "welcomePage.background": "#161925", - "welcomePage.buttonBackground": "#2f323e", - "welcomePage.buttonHoverBackground": "#474b56", - "welcomePage.progress.background": "#7cb7ff", - "welcomePage.progress.foreground": "#161925", - "walkThrough.embeddedEditorBackground": "#161925", - "scm.providerBorder": "#474b56", - "gitDecoration.addedResourceForeground": "#71f79f", - "gitDecoration.modifiedResourceForeground": "#f9dc5c", - "gitDecoration.stageModifiedResourceForeground": "#00c1e4", - "gitDecoration.deletedResourceForeground": "#ed254e", - "gitDecoration.stageDeletedResourceForeground": "#ed254e", - "gitDecoration.untrackedResourceForeground": "#c3c7d1", - "gitDecoration.ignoredResourceForeground": "#60646f", - "gitDecoration.conflictingResourceForeground": "#00c1e4", - "gitDecoration.submoduleResourceForeground": "#c74d89", - "settings.headerForeground": "#c3c7d1", - "settings.modifiedItemIndicator": "#00c1e4", - "settings.dropdownBackground": "#2f323e", - "settings.dropdownForeground": "#aaaeb8", - "settings.dropdownListBorder": "#474b56", - "settings.checkboxBackground": "#7cb7ff", - "settings.checkboxForeground": "#161925", - "settings.checkboxBorder": "#7cb7ff", - "settings.textInputBackground": "#2f323e", - "settings.textInputForeground": "#aaaeb8", - "settings.numberInputBackground": "#2f323e", - "settings.numberInputForeground": "#aaaeb8", - "settings.focusedRowBackground": "#161925", - "notebook.focusedRowBorder": "#c3c7d1", - "notebook.rowHoverBackground": "#2f323e7f", - "breadcrumb.foreground": "#9295a0", - "breadcrumb.background": "#161925", - "breadcrumb.focusForeground": "#aaaeb8", - "breadcrumb.activeSelectionForeground": "#c3c7d1", - "breadcrumbPicker.background": "#161925", - "editor.snippetTabstopHighlightBackground": "#2f323e7f", - "editor.snippetFinalTabstopHighlightBackground": "#474b567f", - "symbolIcon.arrayForeground": "#c74d89", - "symbolIcon.booleanForeground": "#c3c7d1", - "symbolIcon.classForeground": "#7cb7ff", - "symbolIcon.colorForeground": "#00c1e4", - "symbolIcon.constantForeground": "#71f79f", - "symbolIcon.constructorForeground": "#c3c7d1", - "symbolIcon.enumeratorForeground": "#00c1e4", - "symbolIcon.enumeratorMemberForeground": "#7cb7ff", - "symbolIcon.eventForeground": "#dcdfe4", - "symbolIcon.fieldForeground": "#ed254e", - "symbolIcon.fileForeground": "#aaaeb8", - "symbolIcon.folderForeground": "#9295a0", - "symbolIcon.functionForeground": "#c3c7d1", - "symbolIcon.interfaceForeground": "#ed254e", - "symbolIcon.keyForeground": "#f9dc5c", - "symbolIcon.keywordForeground": "#7cb7ff", - "symbolIcon.methodForeground": "#00c1e4", - "symbolIcon.moduleForeground": "#00c1e4", - "symbolIcon.namespaceForeground": "#7cb7ff", - "symbolIcon.nullForeground": "#ed254e", - "symbolIcon.numberForeground": "#dcdfe4", - "symbolIcon.objectForeground": "#c3c7d1", - "symbolIcon.operatorForeground": "#ed254e", - "symbolIcon.packageForeground": "#dcdfe4", - "symbolIcon.propertyForeground": "#00c1e4", - "symbolIcon.referenceForeground": "#dcdfe4", - "symbolIcon.snippetForeground": "#9295a0", - "symbolIcon.stringForeground": "#71f79f", - "symbolIcon.structForeground": "#7cb7ff", - "symbolIcon.textForeground": "#c3c7d1", - "symbolIcon.typeParameterForeground": "#7cb7ff", - "symbolIcon.unitForeground": "#f9dc5c", - "symbolIcon.variableForeground": "#dcdfe4", - "debugIcon.breakpointForeground": "#ed254e", - "debugIcon.breakpointDisabledForeground": "#797c87", - "debugIcon.breakpointUnverifiedForeground": "#9295a0", - "debugIcon.breakpointCurrentStackframeForeground": "#71f79f", - "debugIcon.breakpointStackframeForeground": "#f9dc5c", - "debugIcon.startForeground": "#71f79f", - "debugIcon.pauseForeground": "#7cb7ff", - "debugIcon.stopForeground": "#ed254e", - "debugIcon.disconnectForeground": "#dcdfe4", - "debugIcon.restartForeground": "#c74d89", - "debugIcon.stepOverForeground": "#c3c7d1", - "debugIcon.stepIntoForeground": "#c3c7d1", - "debugIcon.stepOutForeground": "#c3c7d1", - "debugIcon.continueForeground": "#71f79f", - "debugIcon.stepBackForeground": "#c3c7d1", - "debugConsole.infoForeground": "#7cb7ff", - "debugConsole.warningForeground": "#dcdfe4", - "debugConsole.errorForeground": "#ed254e", - "debugConsole.sourceForeground": "#c3c7d1", - "debugConsoleInputIcon.foreground": "#797c87", - "notebook.cellBorderColor": "#2f323e3f", - "notebook.focusedEditorBorder": "#2f323e", - "notebookStatusSuccessIcon.foreground": "#71f79f", - "notebookStatusErrorIcon.foreground": "#ed254e", - "notebookStatusRunningIcon.foreground": "#7cb7ff", - "notebook.outputContainerBackgroundColor": "#161925", - "notebook.cellToolbarSeparator": "#2f323e3f", - "notebook.focusedCellBackground": "#2f323e7f", - "notebook.cellHoverBackground": "#2f323e3f", - "notebook.focusedCellBorder": "#c3c7d1", - "notebook.focusedCellShadow": "#0000003f", - "notebook.selectedCellBorder": "#797c87", - "notebook.cellStatusBarItemHoverBackground": "#2f323e3f", - "notebook.cellInsertionIndicator": "#71f79f", - "notebookScrollbarSlider.background": "#60646f7f", - "notebookScrollbarSlider.hoverBackground": "#797c877f", - "notebookScrollbarSlider.activeBackground": "#9295a07f", - "notebook.symbolHighlightBackground": "#c3c7d13f", - "notebook.inactiveFocusedCellBorder": "#9295a0", - "charts.foreground": "#aaaeb8", - "charts.lines": "#60646f", - "charts.red": "#ed254e", - "charts.blue": "#7cb7ff", - "charts.yellow": "#f9dc5c", - "charts.orange": "#dcdfe4", - "charts.green": "#71f79f", - "charts.purple": "#c3c7d1" - }, - "tokenColors": [ - { - "settings": { - "background": "#161925", - "foreground": "#aaaeb8", - "selectionBorder": "#9295a0", - "findHighlight": "#f9dc5c", - "findHighlightForeground": "#161925", - "activeGuide": "#dcdfe4", - "bracketsForeground": "#aaaeb87F", - "bracketsOptions": "stippled_underline", - "bracketsContentsForeground": "#aaaeb87F", - "tagsOptions": "stippled_underline" - } - }, - { - "name": "Comment", - "scope": "comment", - "settings": { - "foreground": "#60646f" - } - }, - { - "name": "Constant", - "scope": "constant", - "settings": { - "foreground": "#c74d89" - } - }, - { - "name": "Entity", - "scope": "entity", - "settings": { - "foreground": "#00c1e4" - } - }, - { - "name": "Invalid", - "scope": "invalid", - "settings": { - "foreground": "#ed254e" - } - }, - { - "name": "Keyword", - "scope": "keyword", - "settings": { - "foreground": "#c3c7d1" - } - }, - { - "name": "Storage", - "scope": "storage", - "settings": { - "foreground": "#c74d89" - } - }, - { - "name": "String", - "scope": "string", - "settings": { - "foreground": "#71f79f" - } - }, - { - "name": "Support", - "scope": "support", - "settings": { - "foreground": "#00c1e4" - } - }, - { - "name": "Variable", - "scope": "variable", - "settings": { - "foreground": "#c3c7d1" - } - }, - { - "name": "Markup Heading", - "scope": "markup.heading", - "settings": { - "foreground": "#00c1e4" - } - }, - { - "name": "Markup Deleted", - "scope": "markup.deleted", - "settings": { - "foreground": "#ed254e" - } - }, - { - "name": "Markup Inserted", - "scope": "markup.inserted", - "settings": { - "foreground": "#71f79f" - } - }, - { - "name": "Markup Changed", - "scope": "markup.changed", - "settings": { - "foreground": "#f9dc5c" - } - }, - { - "name": "Markup Underline", - "scope": "markup.underline", - "settings": { - "fontStyle": "underline" - } - }, - { - "name": "Markup Underline Link", - "scope": "markup.underline.link", - "settings": { - "foreground": "#7cb7ff" - } - }, - { - "name": "Markup List", - "scope": "markup.list", - "settings": { - "foreground": "#c3c7d1" - } - }, - { - "name": "Markup Raw", - "scope": "markup.raw", - "settings": { - "foreground": "#c74d89" - } - } - ] -} diff --git a/.local/share/chezmoi/home/private_dot_config/private_Code/User/extensions/theme-betelgeuse-vscode/themes/themer-light-color-theme.json b/.local/share/chezmoi/home/private_dot_config/private_Code/User/extensions/theme-betelgeuse-vscode/themes/themer-light-color-theme.json deleted file mode 100644 index 509cd1d9..00000000 --- a/.local/share/chezmoi/home/private_dot_config/private_Code/User/extensions/theme-betelgeuse-vscode/themes/themer-light-color-theme.json +++ /dev/null @@ -1,614 +0,0 @@ -{ - "name": "Betelgeuse Light", - "type": "light", - "colors": { - "focusBorder": "#4c5058", - "foreground": "#4c5058", - "widget.shadow": "#4c505866", - "selection.background": "#cccdcf", - "descriptionForeground": "#666970", - "errorForeground": "#ff4972", - "icon.foreground": "#666970", - "sash.hoverBorder": "#a0dbff", - "textBlockQuote.background": "#e5e6e7", - "textBlockQuote.border": "#e5e6e7", - "textCodeBlock.background": "#ffffff", - "textLink.activeForeground": "#24e5ff", - "textLink.foreground": "#a0dbff", - "textPreformat.foreground": "#dcdfe4", - "textSeparator.foreground": "#999ba0", - "button.background": "#a0dbff", - "button.foreground": "#ffffff", - "button.hoverBackground": "#24e5ff", - "button.secondaryForeground": "#ffffff", - "button.secondaryBackground": "#666970", - "button.secondaryHoverBackground": "#7f8288", - "checkbox.background": "#a0dbff", - "checkbox.foreground": "#ffffff", - "checkbox.border": "#e5e6e7", - "dropdown.background": "#e5e6e7", - "dropdown.listBackground": "#e5e6e7", - "dropdown.border": "#e5e6e7", - "dropdown.foreground": "#666970", - "input.background": "#e5e6e7", - "input.border": "#e5e6e7", - "input.foreground": "#666970", - "input.placeholderForeground": "#cccdcf", - "inputOption.activeBackground": "#cccdcf", - "inputOption.activeBorder": "#24e5ff", - "inputOption.activeForeground": "#4c5058", - "inputValidation.errorBackground": "#e5e6e7", - "inputValidation.errorForeground": "#ff4972", - "inputValidation.errorBorder": "#ff4972", - "inputValidation.infoBackground": "#e5e6e7", - "inputValidation.infoForeground": "#a0dbff", - "inputValidation.infoBorder": "#a0dbff", - "inputValidation.warningBackground": "#e5e6e7", - "inputValidation.warningForeground": "#dcdfe4", - "inputValidation.warningBorder": "#dcdfe4", - "scrollbar.shadow": "#4c505866", - "scrollbarSlider.activeBackground": "#7f82887f", - "scrollbarSlider.background": "#b2b4b77f", - "scrollbarSlider.hoverBackground": "#999ba07f", - "badge.foreground": "#ffffff", - "badge.background": "#4c5058", - "progressBar.background": "#95ffc3", - "list.activeSelectionBackground": "#4c505833", - "list.activeSelectionForeground": "#4c5058", - "list.dropBackground": "#e5e6e7", - "list.focusBackground": "#b2b4b73f", - "list.focusForeground": "#4c5058", - "list.highlightForeground": "#ffff80", - "list.hoverBackground": "#e5e6e733", - "list.hoverForeground": "#4c5058", - "list.inactiveSelectionBackground": "#cccdcf3f", - "list.inactiveSelectionForeground": "#666970", - "list.inactiveFocusBackground": "#e5e6e73f", - "list.invalidItemForeground": "#ff4972", - "list.errorForeground": "#ff4972", - "list.warningForeground": "#ffff80", - "listFilterWidget.background": "#e5e6e7", - "listFilterWidget.outline": "#a0dbff", - "listFilterWidget.noMatchesOutline": "#ff4972", - "list.filterMatchBackground": "#ffff8033", - "list.filterMatchBorder": "#ffff8033", - "tree.indentGuidesStroke": "#e5e6e7", - "list.deemphasizedForeground": "#999ba0", - "activityBar.background": "#ffffff", - "activityBar.dropBorder": "#a0dbff", - "activityBar.foreground": "#7f8288", - "activityBar.inactiveForeground": "#999ba0", - "activityBar.border": "#ffffff", - "activityBarBadge.background": "#4c5058", - "activityBarBadge.foreground": "#ffffff", - "activityBar.activeBorder": "#666970", - "activityBar.activeBackground": "#e5e6e733", - "activityBar.activeFocusBorder": "#4c5058", - "sideBar.background": "#ffffff", - "sideBar.foreground": "#666970", - "sideBar.border": "#e5e6e7", - "sideBar.dropBackground": "#e5e6e73f", - "sideBarTitle.foreground": "#7f8288", - "sideBarSectionHeader.background": "#cccdcf", - "sideBarSectionHeader.foreground": "#666970", - "sideBarSectionHeader.border": "#ffffff", - "minimap.findMatchHighlight": "#ffff80", - "minimap.selectionHighlight": "#a0dbff80", - "minimap.errorHighlight": "#ff497280", - "minimap.warningHighlight": "#dcdfe480", - "minimap.background": "#ffffff", - "minimapSlider.background": "#e5e6e733", - "minimapSlider.hoverBackground": "#cccdcf33", - "minimapSlider.activeBackground": "#b2b4b733", - "minimapGutter.addedBackground": "#95ffc380", - "minimapGutter.modifiedBackground": "#ffff8080", - "minimapGutter.deletedBackground": "#ff497280", - "editorGroup.border": "#e5e6e7", - "editorGroup.dropBackground": "#cccdcf7f", - "editorGroupHeader.noTabsBackground": "#ffffff", - "editorGroupHeader.tabsBackground": "#ffffff", - "editorGroupHeader.tabsBorder": "#ffffff", - "editorGroupHeader.border": "#ffffff", - "editorGroup.emptyBackground": "#ffffff", - "editorGroup.focusedEmptyBorder": "#e5e6e7", - "tab.activeBackground": "#ffffff", - "tab.unfocusedActiveBackground": "#ffffff", - "tab.activeForeground": "#666970", - "tab.border": "#ffffff", - "tab.lastPinnedBorder": "#eb71ad", - "tab.inactiveBackground": "#e5e6e7", - "tab.unfocusedInactiveBackground": "#e5e6e7", - "tab.inactiveForeground": "#b2b4b7", - "tab.unfocusedActiveForeground": "#b2b4b7", - "tab.unfocusedInactiveForeground": "#cccdcf", - "tab.hoverBackground": "#e5e6e780", - "tab.unfocusedHoverBackground": "#e5e6e780", - "tab.hoverForeground": "#7f8288", - "tab.unfocusedHoverForeground": "#999ba0", - "tab.activeModifiedBorder": "#ffff80", - "tab.inactiveModifiedBorder": "#ffff80", - "tab.unfocusedActiveModifiedBorder": "#ffff80", - "tab.unfocusedInactiveModifiedBorder": "#ffff80", - "editorPane.background": "#ffffff", - "editor.background": "#ffffff", - "editor.foreground": "#4c5058", - "editorLineNumber.foreground": "#cccdcf", - "editorLineNumber.activeForeground": "#999ba0", - "editorCursor.background": "#ffffff", - "editorCursor.foreground": "#4c5058", - "editor.selectionBackground": "#a0dbff33", - "editor.selectionForeground": "#4c5058", - "editor.inactiveSelectionBackground": "#a0dbff33", - "editor.selectionHighlightBackground": "#e5e6e7", - "editor.wordHighlightBackground": "#4c505833", - "editor.wordHighlightStrongBackground": "#eb71ad33", - "editor.findMatchBackground": "#ffff803f", - "editor.findMatchHighlightBackground": "#ffff8033", - "editor.findRangeHighlightBackground": "#e5e6e7", - "editor.hoverHighlightBackground": "#cccdcf7f", - "editor.lineHighlightBackground": "#ffffff", - "editor.lineHighlightBorder": "#e5e6e7", - "editorLink.activeForeground": "#24e5ff", - "editor.rangeHighlightBackground": "#ffff8033", - "editor.symbolHighlightBackground": "#4c505833", - "editorWhitespace.foreground": "#e5e6e7", - "editorIndentGuide.background": "#e5e6e7", - "editorIndentGuide.activeBackground": "#cccdcf", - "editorRuler.foreground": "#e5e6e7", - "editorCodeLens.foreground": "#7f8288", - "editorLightBulb.foreground": "#ffff80", - "editorLightBulbAutoFix.foreground": "#a0dbff", - "editorBracketMatch.background": "#e5e6e7", - "editorBracketMatch.border": "#cccdcf", - "editorBracketHighlight.foreground1": "#4c5058", - "editorBracketHighlight.foreground2": "#ffff80", - "editorBracketHighlight.foreground3": "#24e5ff", - "editorBracketHighlight.foreground4": "#4c5058", - "editorBracketHighlight.foreground5": "#95ffc3", - "editorBracketHighlight.foreground6": "#a0dbff", - "editorBracketHighlight.unexpectedBracket": "#ff4972", - "editor.foldBackground": "#e5e6e766", - "editorOverviewRuler.border": "#e5e6e7", - "editorOverviewRuler.findMatchForeground": "#ffff80bf", - "editorOverviewRuler.rangeHighlightForeground": "#cccdcfbf", - "editorOverviewRuler.selectionHighlightForeground": "#e5e6e7bf", - "editorOverviewRuler.wordHighlightForeground": "#cccdcfbf", - "editorOverviewRuler.wordHighlightStrongForeground": "#b2b4b7bf", - "editorOverviewRuler.modifiedForeground": "#ffff807f", - "editorOverviewRuler.addedForeground": "#95ffc37f", - "editorOverviewRuler.deletedForeground": "#ff49727f", - "editorOverviewRuler.errorForeground": "#ff49727f", - "editorOverviewRuler.warningForeground": "#dcdfe47f", - "editorOverviewRuler.infoForeground": "#a0dbff7f", - "editorOverviewRuler.bracketMatchForeground": "#b2b4b7", - "editorError.foreground": "#ff4972", - "editorError.border": "#4c5058", - "editorWarning.foreground": "#dcdfe4", - "editorWarning.border": "#666970", - "editorInfo.foreground": "#a0dbff", - "editorInfo.border": "#7f8288", - "editorHint.foreground": "#eb71ad", - "editorHint.border": "#999ba0", - "problemsErrorIcon.foreground": "#ff4972", - "problemsWarningIcon.foreground": "#dcdfe4", - "problemsInfoIcon.foreground": "#a0dbff", - "editorUnnecessaryCode.opacity": "#0000007f", - "editorGutter.background": "#ffffff", - "editorGutter.modifiedBackground": "#ffff80", - "editorGutter.addedBackground": "#95ffc3", - "editorGutter.deletedBackground": "#ff4972", - "editorGutter.commentRangeForeground": "#b2b4b7", - "editorGutter.foldingControlForeground": "#7f8288", - "diffEditor.insertedTextBackground": "#95ffc320", - "diffEditor.removedTextBackground": "#ff497220", - "diffEditor.border": "#e5e6e7", - "diffEditor.diagonalFill": "#e5e6e77f", - "editorWidget.foreground": "#666970", - "editorWidget.background": "#e5e6e7", - "editorWidget.border": "#e5e6e7", - "editorWidget.resizeBorder": "#a0dbff", - "editorSuggestWidget.background": "#e5e6e7", - "editorSuggestWidget.border": "#e5e6e7", - "editorSuggestWidget.foreground": "#666970", - "editorSuggestWidget.highlightForeground": "#eb71ad", - "editorSuggestWidget.selectedBackground": "#cccdcf", - "editorHoverWidget.foreground": "#666970", - "editorHoverWidget.background": "#e5e6e7", - "editorHoverWidget.border": "#e5e6e7", - "editorHoverWidget.statusBarBackground": "#a0dbff33", - "debugExceptionWidget.background": "#e5e6e7", - "debugExceptionWidget.border": "#e5e6e7", - "editorMarkerNavigation.background": "#e5e6e7", - "editorMarkerNavigationError.background": "#ff4972", - "editorMarkerNavigationWarning.background": "#dcdfe4", - "editorMarkerNavigationInfo.background": "#a0dbff", - "peekView.border": "#eb71ad", - "peekViewEditor.background": "#e5e6e77f", - "peekViewEditorGutter.background": "#e5e6e77f", - "peekViewEditor.matchHighlightBackground": "#ffff807f", - "peekViewResult.background": "#e5e6e7", - "peekViewResult.fileForeground": "#666970", - "peekViewResult.lineForeground": "#cccdcf", - "peekViewResult.matchHighlightBackground": "#ffff80", - "peekViewResult.selectionBackground": "#b2b4b7", - "peekViewResult.selectionForeground": "#4c5058", - "peekViewTitle.background": "#e5e6e7", - "peekViewTitleDescription.foreground": "#7f8288", - "peekViewTitleLabel.foreground": "#4c5058", - "merge.currentHeaderBackground": "#24e5ff4c", - "merge.currentContentBackground": "#24e5ff4c", - "merge.incomingHeaderBackground": "#a0dbff4c", - "merge.incomingContentBackground": "#a0dbff4c", - "merge.border": "#999ba0", - "merge.commonContentBackground": "#4c50584c", - "merge.commonHeaderBackground": "#4c50584c", - "editorOverviewRuler.currentContentForeground": "#24e5ff", - "editorOverviewRuler.incomingContentForeground": "#a0dbff", - "editorOverviewRuler.commonContentForeground": "#4c5058", - "panel.background": "#ffffff", - "panel.border": "#e5e6e7", - "panel.dropBorder": "#a0dbff", - "panelTitle.activeBorder": "#b2b4b7", - "panelTitle.activeForeground": "#666970", - "panelTitle.inactiveForeground": "#999ba0", - "panelSection.border": "#e5e6e7", - "panelSection.dropBackground": "#e5e6e73f", - "panelSectionHeader.background": "#cccdcf", - "panelSectionHeader.foreground": "#666970", - "panelSectionHeader.border": "#ffffff", - "imagePreview.border": "#e5e6e7", - "statusBar.background": "#a0dbff", - "statusBar.foreground": "#ffffff", - "statusBar.border": "#ffffff", - "statusBar.debuggingBackground": "#dcdfe4", - "statusBar.debuggingForeground": "#ffffff", - "statusBar.debuggingBorder": "#ffffff", - "statusBar.noFolderBackground": "#4c5058", - "statusBar.noFolderForeground": "#ffffff", - "statusBar.noFolderBorder": "#ffffff", - "statusBarItem.activeBackground": "#24e5ff", - "statusBarItem.hoverBackground": "#95ffc3", - "statusBarItem.prominentBackground": "#24e5ff", - "statusBarItem.prominentHoverBackground": "#95ffc3", - "statusBarItem.remoteBackground": "#24e5ff", - "statusBarItem.remoteForeground": "#ffffff", - "statusBarItem.errorBackground": "#ff4972", - "statusBarItem.errorForeground": "#ffffff", - "titleBar.activeBackground": "#ffffff", - "titleBar.activeForeground": "#7f8288", - "titleBar.inactiveBackground": "#ffffff", - "titleBar.inactiveForeground": "#b2b4b7", - "menubar.selectionForeground": "#4c5058", - "menubar.selectionBackground": "#e5e6e7", - "menu.foreground": "#666970", - "menu.background": "#ffffff", - "menu.selectionForeground": "#4c5058", - "menu.selectionBackground": "#e5e6e7", - "menu.separatorBackground": "#cccdcf", - "notificationCenterHeader.foreground": "#666970", - "notificationCenterHeader.background": "#cccdcf", - "notificationToast.border": "#b2b4b7", - "notifications.foreground": "#4c5058", - "notifications.background": "#e5e6e7", - "notifications.border": "#b2b4b7", - "notificationLink.foreground": "#a0dbff", - "notificationsErrorIcon.foreground": "#ff4972", - "notificationsWarningIcon.foreground": "#dcdfe4", - "notificationsInfoIcon.foreground": "#a0dbff", - "extensionButton.prominentForeground": "#ffffff", - "extensionButton.prominentBackground": "#a0dbff", - "extensionButton.prominentHoverBackground": "#24e5ff", - "extensionBadge.remoteBackground": "#eb71ad", - "extensionBadge.remoteForeground": "#ffffff", - "pickerGroup.border": "#cccdcf", - "pickerGroup.foreground": "#999ba0", - "quickInput.background": "#e5e6e7", - "quickInput.foreground": "#4c5058", - "quickInputTitle.background": "#cccdcf", - "terminal.background": "#ffffff", - "terminal.foreground": "#666970", - "terminal.ansiBlack": "#ffffff", - "terminal.ansiBlue": "#a0dbff", - "terminal.ansiBrightBlack": "#e5e6e7", - "terminal.ansiBrightBlue": "#a0dbff", - "terminal.ansiBrightCyan": "#24e5ff", - "terminal.ansiBrightGreen": "#24e5ff", - "terminal.ansiBrightMagenta": "#eb71ad", - "terminal.ansiBrightRed": "#dcdfe4", - "terminal.ansiBrightWhite": "#4c5058", - "terminal.ansiBrightYellow": "#ffff80", - "terminal.ansiCyan": "#24e5ff", - "terminal.ansiGreen": "#95ffc3", - "terminal.ansiMagenta": "#eb71ad", - "terminal.ansiRed": "#ff4972", - "terminal.ansiWhite": "#666970", - "terminal.ansiYellow": "#ffff80", - "terminal.selectionBackground": "#a0dbff7f", - "terminalCursor.background": "#e5e6e7", - "terminalCursor.foreground": "#7f8288", - "debugToolBar.background": "#e5e6e7", - "debugToolBar.border": "#cccdcf", - "editor.stackFrameHighlightBackground": "#24e5ff3f", - "editor.focusedStackFrameHighlightBackground": "#95ffc33f", - "debugView.exceptionLabelForeground": "#ffff80", - "debugView.exceptionLabelBackground": "#e5e6e7", - "debugView.stateLabelForeground": "#a0dbff", - "debugView.stateLabelBackground": "#e5e6e7", - "debugView.valueChangedHighlight": "#ffff8033", - "debugTokenExpression.name": "#a0dbff", - "debugTokenExpression.value": "#4c5058", - "debugTokenExpression.string": "#95ffc3", - "debugTokenExpression.boolean": "#4c5058", - "debugTokenExpression.number": "#eb71ad", - "debugTokenExpression.error": "#ff4972", - "testing.iconFailed": "#dcdfe4", - "testing.iconErrored": "#ff4972", - "testing.iconPassed": "#95ffc3", - "testing.runAction": "#a0dbff", - "testing.iconQueued": "#24e5ff", - "testing.iconUnset": "#7f8288", - "testing.iconSkipped": "#999ba0", - "testing.peekBorder": "#b2b4b7", - "testing.message.error.decorationForeground": "#ff4972", - "testing.message.error.lineBackground": "#ff49723f", - "testing.message.warning.decorationForeground": "#dcdfe4", - "testing.message.warning.lineBackground": "#dcdfe43f", - "testing.message.info.decorationForeground": "#a0dbff", - "testing.message.info.lineBackground": "#a0dbff3f", - "testing.message.hint.decorationForeground": "#eb71ad", - "testing.message.hint.lineBackground": "#eb71ad3f", - "welcomePage.background": "#ffffff", - "welcomePage.buttonBackground": "#e5e6e7", - "welcomePage.buttonHoverBackground": "#cccdcf", - "welcomePage.progress.background": "#a0dbff", - "welcomePage.progress.foreground": "#ffffff", - "walkThrough.embeddedEditorBackground": "#ffffff", - "scm.providerBorder": "#cccdcf", - "gitDecoration.addedResourceForeground": "#95ffc3", - "gitDecoration.modifiedResourceForeground": "#ffff80", - "gitDecoration.stageModifiedResourceForeground": "#24e5ff", - "gitDecoration.deletedResourceForeground": "#ff4972", - "gitDecoration.stageDeletedResourceForeground": "#ff4972", - "gitDecoration.untrackedResourceForeground": "#4c5058", - "gitDecoration.ignoredResourceForeground": "#b2b4b7", - "gitDecoration.conflictingResourceForeground": "#24e5ff", - "gitDecoration.submoduleResourceForeground": "#eb71ad", - "settings.headerForeground": "#4c5058", - "settings.modifiedItemIndicator": "#24e5ff", - "settings.dropdownBackground": "#e5e6e7", - "settings.dropdownForeground": "#666970", - "settings.dropdownListBorder": "#cccdcf", - "settings.checkboxBackground": "#a0dbff", - "settings.checkboxForeground": "#ffffff", - "settings.checkboxBorder": "#a0dbff", - "settings.textInputBackground": "#e5e6e7", - "settings.textInputForeground": "#666970", - "settings.numberInputBackground": "#e5e6e7", - "settings.numberInputForeground": "#666970", - "settings.focusedRowBackground": "#ffffff", - "notebook.focusedRowBorder": "#4c5058", - "notebook.rowHoverBackground": "#e5e6e77f", - "breadcrumb.foreground": "#7f8288", - "breadcrumb.background": "#ffffff", - "breadcrumb.focusForeground": "#666970", - "breadcrumb.activeSelectionForeground": "#4c5058", - "breadcrumbPicker.background": "#ffffff", - "editor.snippetTabstopHighlightBackground": "#e5e6e77f", - "editor.snippetFinalTabstopHighlightBackground": "#cccdcf7f", - "symbolIcon.arrayForeground": "#eb71ad", - "symbolIcon.booleanForeground": "#4c5058", - "symbolIcon.classForeground": "#a0dbff", - "symbolIcon.colorForeground": "#24e5ff", - "symbolIcon.constantForeground": "#95ffc3", - "symbolIcon.constructorForeground": "#4c5058", - "symbolIcon.enumeratorForeground": "#24e5ff", - "symbolIcon.enumeratorMemberForeground": "#a0dbff", - "symbolIcon.eventForeground": "#dcdfe4", - "symbolIcon.fieldForeground": "#ff4972", - "symbolIcon.fileForeground": "#666970", - "symbolIcon.folderForeground": "#7f8288", - "symbolIcon.functionForeground": "#4c5058", - "symbolIcon.interfaceForeground": "#ff4972", - "symbolIcon.keyForeground": "#ffff80", - "symbolIcon.keywordForeground": "#a0dbff", - "symbolIcon.methodForeground": "#24e5ff", - "symbolIcon.moduleForeground": "#24e5ff", - "symbolIcon.namespaceForeground": "#a0dbff", - "symbolIcon.nullForeground": "#ff4972", - "symbolIcon.numberForeground": "#dcdfe4", - "symbolIcon.objectForeground": "#4c5058", - "symbolIcon.operatorForeground": "#ff4972", - "symbolIcon.packageForeground": "#dcdfe4", - "symbolIcon.propertyForeground": "#24e5ff", - "symbolIcon.referenceForeground": "#dcdfe4", - "symbolIcon.snippetForeground": "#7f8288", - "symbolIcon.stringForeground": "#95ffc3", - "symbolIcon.structForeground": "#a0dbff", - "symbolIcon.textForeground": "#4c5058", - "symbolIcon.typeParameterForeground": "#a0dbff", - "symbolIcon.unitForeground": "#ffff80", - "symbolIcon.variableForeground": "#dcdfe4", - "debugIcon.breakpointForeground": "#ff4972", - "debugIcon.breakpointDisabledForeground": "#999ba0", - "debugIcon.breakpointUnverifiedForeground": "#7f8288", - "debugIcon.breakpointCurrentStackframeForeground": "#95ffc3", - "debugIcon.breakpointStackframeForeground": "#ffff80", - "debugIcon.startForeground": "#95ffc3", - "debugIcon.pauseForeground": "#a0dbff", - "debugIcon.stopForeground": "#ff4972", - "debugIcon.disconnectForeground": "#dcdfe4", - "debugIcon.restartForeground": "#eb71ad", - "debugIcon.stepOverForeground": "#4c5058", - "debugIcon.stepIntoForeground": "#4c5058", - "debugIcon.stepOutForeground": "#4c5058", - "debugIcon.continueForeground": "#95ffc3", - "debugIcon.stepBackForeground": "#4c5058", - "debugConsole.infoForeground": "#a0dbff", - "debugConsole.warningForeground": "#dcdfe4", - "debugConsole.errorForeground": "#ff4972", - "debugConsole.sourceForeground": "#4c5058", - "debugConsoleInputIcon.foreground": "#999ba0", - "notebook.cellBorderColor": "#e5e6e73f", - "notebook.focusedEditorBorder": "#e5e6e7", - "notebookStatusSuccessIcon.foreground": "#95ffc3", - "notebookStatusErrorIcon.foreground": "#ff4972", - "notebookStatusRunningIcon.foreground": "#a0dbff", - "notebook.outputContainerBackgroundColor": "#ffffff", - "notebook.cellToolbarSeparator": "#e5e6e73f", - "notebook.focusedCellBackground": "#e5e6e77f", - "notebook.cellHoverBackground": "#e5e6e73f", - "notebook.focusedCellBorder": "#4c5058", - "notebook.focusedCellShadow": "#0000003f", - "notebook.selectedCellBorder": "#999ba0", - "notebook.cellStatusBarItemHoverBackground": "#e5e6e73f", - "notebook.cellInsertionIndicator": "#95ffc3", - "notebookScrollbarSlider.background": "#b2b4b77f", - "notebookScrollbarSlider.hoverBackground": "#999ba07f", - "notebookScrollbarSlider.activeBackground": "#7f82887f", - "notebook.symbolHighlightBackground": "#4c50583f", - "notebook.inactiveFocusedCellBorder": "#7f8288", - "charts.foreground": "#666970", - "charts.lines": "#b2b4b7", - "charts.red": "#ff4972", - "charts.blue": "#a0dbff", - "charts.yellow": "#ffff80", - "charts.orange": "#dcdfe4", - "charts.green": "#95ffc3", - "charts.purple": "#4c5058" - }, - "tokenColors": [ - { - "settings": { - "background": "#ffffff", - "foreground": "#666970", - "selectionBorder": "#7f8288", - "findHighlight": "#ffff80", - "findHighlightForeground": "#ffffff", - "activeGuide": "#dcdfe4", - "bracketsForeground": "#6669707F", - "bracketsOptions": "stippled_underline", - "bracketsContentsForeground": "#6669707F", - "tagsOptions": "stippled_underline" - } - }, - { - "name": "Comment", - "scope": "comment", - "settings": { - "foreground": "#b2b4b7" - } - }, - { - "name": "Constant", - "scope": "constant", - "settings": { - "foreground": "#eb71ad" - } - }, - { - "name": "Entity", - "scope": "entity", - "settings": { - "foreground": "#24e5ff" - } - }, - { - "name": "Invalid", - "scope": "invalid", - "settings": { - "foreground": "#ff4972" - } - }, - { - "name": "Keyword", - "scope": "keyword", - "settings": { - "foreground": "#4c5058" - } - }, - { - "name": "Storage", - "scope": "storage", - "settings": { - "foreground": "#eb71ad" - } - }, - { - "name": "String", - "scope": "string", - "settings": { - "foreground": "#95ffc3" - } - }, - { - "name": "Support", - "scope": "support", - "settings": { - "foreground": "#24e5ff" - } - }, - { - "name": "Variable", - "scope": "variable", - "settings": { - "foreground": "#4c5058" - } - }, - { - "name": "Markup Heading", - "scope": "markup.heading", - "settings": { - "foreground": "#24e5ff" - } - }, - { - "name": "Markup Deleted", - "scope": "markup.deleted", - "settings": { - "foreground": "#ff4972" - } - }, - { - "name": "Markup Inserted", - "scope": "markup.inserted", - "settings": { - "foreground": "#95ffc3" - } - }, - { - "name": "Markup Changed", - "scope": "markup.changed", - "settings": { - "foreground": "#ffff80" - } - }, - { - "name": "Markup Underline", - "scope": "markup.underline", - "settings": { - "fontStyle": "underline" - } - }, - { - "name": "Markup Underline Link", - "scope": "markup.underline.link", - "settings": { - "foreground": "#a0dbff" - } - }, - { - "name": "Markup List", - "scope": "markup.list", - "settings": { - "foreground": "#4c5058" - } - }, - { - "name": "Markup Raw", - "scope": "markup.raw", - "settings": { - "foreground": "#eb71ad" - } - } - ] -} diff --git a/.local/share/chezmoi/home/private_dot_config/private_Code/User/keybindings.json b/.local/share/chezmoi/home/private_dot_config/private_Code/User/keybindings.json deleted file mode 100644 index cebb44f5..00000000 --- a/.local/share/chezmoi/home/private_dot_config/private_Code/User/keybindings.json +++ /dev/null @@ -1,48 +0,0 @@ -[ - { - "key": "tab", - "command": "selectNextQuickFix", - "when": "editorFocus && quickFixWidgetVisible" - }, - { - "key": "shift+tab", - "command": "selectPrevQuickFix", - "when": "editorFocus && quickFixWidgetVisible" - }, - { - "key": "tab", - "command": "selectNextSuggestion", - "when": "editorTextFocus && suggestWidgetMultipleSuggestions && suggestWidgetVisible" - }, - { - "key": "shift+tab", - "command": "selectPrevSuggestion", - "when": "editorTextFocus && suggestWidgetMultipleSuggestions && suggestWidgetVisible" - }, - { - "key": "ctrl+j", - "command": "editor.action.inlineSuggest.commit", - "when": "inlineSuggestionHasIndentationLessThanTabSize && inlineSuggestionVisible && !editorTabMovesFocus" - }, - { - "key": "tab", - "command": "-editor.action.inlineSuggest.commit", - "when": "inlineSuggestionHasIndentationLessThanTabSize && inlineSuggestionVisible && !editorTabMovesFocus" - }, - { - "key": "alt+right", - "command": "workbench.action.nextEditor" - }, - { - "key": "ctrl+pagedown", - "command": "-workbench.action.nextEditor" - }, - { - "key": "alt+left", - "command": "workbench.action.previousEditor" - }, - { - "key": "ctrl+pageup", - "command": "-workbench.action.previousEditor" - } -] \ No newline at end of file diff --git a/.local/share/chezmoi/home/private_dot_config/private_Code/User/settings.json b/.local/share/chezmoi/home/private_dot_config/private_Code/User/settings.json deleted file mode 100644 index 6c476eca..00000000 --- a/.local/share/chezmoi/home/private_dot_config/private_Code/User/settings.json +++ /dev/null @@ -1,170 +0,0 @@ -{ - "[html]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[javascript]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[javascriptreact]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[json5]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[json]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[jsonc]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[markdown]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[toml]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[typescript]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[typescriptreact]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[vue]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[yaml]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "codetour.customTourDirectory": ".config/codetour.yml", - "editor.defaultFormatter": "esbenp.prettier-vscode", - "editor.fontFamily": "'Hack Nerd Font', Menlo, Monaco, 'Courier New', monospace", - "editor.formatOnPaste": false, - "editor.formatOnSave": true, - "editor.inlineSuggest.enabled": true, - "editor.minimap.enabled": false, - "editor.scrollBeyondLastLine": false, - "eslint.alwaysShowStatus": true, - "eslint.format.enable": true, - "eslint.lintTask.enable": true, - "eslint.lintTask.options": "-c package.json --no-eslintrc --cache --cache-location .cache/eslintcache .", - "eslint.packageManager": "pnpm", - "eslint.validate": [ - "html", - "javascript", - "javascriptreact", - "json", - "jsonc", - "json5", - "markdown", - "toml", - "typescript", - "typescriptreact", - "vue", - "yaml" - ], - "explorer.confirmDelete": false, - "extensions.ignoreRecommendations": true, - "files.trimTrailingWhitespace": true, - "git.autofetch": true, - "git.autoStash": true, - "github.codespaces.showPerformanceExplorer": true, - "gitlab.showPipelineUpdateNotifications": true, - "gitlens.showWelcomeOnInstall": false, - "gitlens.showWhatsNewAfterUpgrades": false, - "go.lintFlags": ["--fast"], - "go.lintTool": "golangci-lint", - "html.format.endWithNewline": true, - "html.format.indentHandlebars": true, - "html.format.indentInnerHtml": true, - "html.format.templating": true, - "javascript.format.semicolons": "remove", - "javascript.suggest.completeFunctionCalls": true, - "ltex.additionalRules.enablePickyRules": true, - "ltex.completionEnabled": true, - "markdown-preview-enhanced.previewTheme": "solarized-light.css", - "material-icon-theme.showWelcomeMessage": false, - "merge-conflict.autoNavigateNextConflict.enabled": true, - "npm.enableRunFromFolder": true, - "npm.packageManager": "pnpm", - "prettier.printWidth": 120, - "prettier.singleQuote": true, - "python.languageServer": "Pylance", - "security.workspace.trust.banner": "never", - "security.workspace.trust.enabled": false, - "telemetry.telemetryLevel": "crash", - "terminal.integrated.sendKeybindingsToShell": true, - "typescript.enablePromptUseWorkspaceTsdk": true, - "typescript.format.semicolons": "remove", - "typescript.implementationsCodeLens.enabled": true, - "typescript.inlayHints.enumMemberValues.enabled": true, - "typescript.inlayHints.functionLikeReturnTypes.enabled": true, - "typescript.inlayHints.parameterTypes.enabled": true, - "typescript.inlayHints.variableTypes.enabled": true, - "typescript.preferences.quoteStyle": "single", - "typescript.referencesCodeLens.enabled": true, - "typescript.referencesCodeLens.showOnAllFunctions": true, - "typescript.suggest.completeFunctionCalls": true, - "typescript.tsdk": "node_modules/typescript/lib", - "typescript.updateImportsOnFileMove.enabled": "always", - "vim.enableNeovim": true, - "vim.handleKeys": { - "": false, - "": false - }, - "vim.leader": "", - "vim.neovimPath": "/usr/bin/nvim", - "vim.normalModeKeyBindings": [ - { - "before": [""], - "commands": [":nohl"] - }, - { - "before": ["leader", "w"], - "commands": ["workbench.action.files.save"] - }, - { - "before": ["leader", "b", "d"], - "commands": ["workbench.action.closeActiveEditor"] - }, - { - "before": ["leader", "l", "n"], - "commands": ["editor.action.marker.next"] - }, - { - "before": ["leader", "l", "p"], - "commands": ["editor.action.marker.prev"] - } - ], - "vscode-neovim.neovimClean": true, - "vscode-neovim.neovimExecutablePaths.linux": "/usr/bin/nvim", - "vsicons.dontShowNewVersionMessage": true, - "window.menuBarVisibility": "toggle", - "workbench.colorCustomizations": { - "terminal.foreground": "#708284", - "terminal.background": "#001e27", - "terminal.ansiBlack": "#002831", - "terminal.ansiBlue": "#2176c7", - "terminal.ansiCyan": "#259286", - "terminal.ansiGreen": "#738a05", - "terminal.ansiMagenta": "#c61c6f", - "terminal.ansiRed": "#d11c24", - "terminal.ansiWhite": "#eae3cb", - "terminal.ansiYellow": "#a57706", - "terminal.ansiBrightBlack": "#475b62", - "terminal.ansiBrightBlue": "#708284", - "terminal.ansiBrightCyan": "#819090", - "terminal.ansiBrightGreen": "#475b62", - "terminal.ansiBrightMagenta": "#5956ba", - "terminal.ansiBrightRed": "#bd3613", - "terminal.ansiBrightWhite": "#fcf4dc", - "terminal.ansiBrightYellow": "#536870", - "terminal.selectionBackground": "#002831", - "terminalCursor.foreground": "#708284" - }, - "workbench.colorTheme": "Betelgeuse Dark", - "workbench.iconTheme": "sweet-vscode-icons", - "workbench.startupEditor": "readme", - "workbench.welcomePage.walkthroughs.openOnInstall": false, - "yaml.format.printWidth": 160, - "yaml.format.singleQuote": true -} diff --git a/.local/share/chezmoi/home/private_dot_config/rclone/merge_rclone.conf b/.local/share/chezmoi/home/private_dot_config/rclone/merge_rclone.conf deleted file mode 100644 index 3ee32905..00000000 --- a/.local/share/chezmoi/home/private_dot_config/rclone/merge_rclone.conf +++ /dev/null @@ -1,29 +0,0 @@ -{{- if and (ne .user.CLOUDFLARE_ACCESS_KEY_ID "") (ne .user.CLOUDFLARE_SECRET_ACCESS_KEY "") (ne .user.CLOUDFLARE_R2_ACCOUNT_ID "") }} -#!/usr/bin/env bash - -# Consider https://github.com/dustinsand/blockinfile -CONFIG_FILE="$HOME/.config/rclone/rclone.conf" -if cat "$CONFIG_FILE" | grep '# MEGABYTE LABS MANAGED r2-user'; then - # TODO: Remove old block - START_LINE="$(echo `grep -n -m 1 "# MEGABYTE LABS MANAGED r2-user" .zshrc | cut -f1 -d ":"`)" - END_LINE="$(echo `grep -n -m 1 "# MEGABYTE LABS MANAGED r2-user" .zshrc | cut -f1 -d ":"`)" - if command -v gsed > /dev/null; then - gsed -i "$START_LINE,$END_LINEd" "$CONFIG_FILE" - else - sed -i "$START_LINE,$END_LINEd" "$CONFIG_FILE" - fi -fi - -tee -a "$CONFIG_FILE" > /dev/null <