diff --git a/.gitignore b/.gitignore deleted file mode 100644 index b9869cf..0000000 --- a/.gitignore +++ /dev/null @@ -1 +0,0 @@ -fish/fish_variables diff --git a/README.md b/README.md index 4758260..37db00a 100644 --- a/README.md +++ b/README.md @@ -7,3 +7,8 @@ My dotfiles for: - kitty - nvim - gpg +- + +## Other stuff + +Tide prompt command: `tide configure --auto --style=Classic --prompt_colors='True color' --classic_prompt_color=Dark --show_time='24-hour format' --classic_prompt_separators=Vertical --powerline_prompt_heads=Sharp --powerline_prompt_tails=Flat --powerline_prompt_style='One line' --prompt_spacing=Compact --icons='Many icons' --transient=No` diff --git a/arch-i3.sh b/arch-i3.sh new file mode 100755 index 0000000..adf50d4 --- /dev/null +++ b/arch-i3.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash +if [ $(whoami) == "root" ]; then + echo "Run as a normal user, not root" + exit 1 +fi +GIT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd) + +# gnome-keyring for VS Code +yay -S gnome-keyring --noconfirm --needed + +#sed '/Identifier "libinput touchpad catchall"/a \ \ \ \ \ \ \ \ Option "NaturalScrolling" "True"' /usr/share/X11/xorg.conf.d/40-libinput.conf | sudo tee /usr/share/X11/xorg.conf.d/40-libinput.conf +#sed '/Identifier "libinput touchpad catchall"/a \ \ \ \ \ \ \ \ Option "Tapping" "on"' /usr/share/X11/xorg.conf.d/40-libinput.conf | sudo tee /usr/share/X11/xorg.conf.d/40-libinput.conf +#sed '/Identifier "libinput touchpad catchall"/a \ \ \ \ \ \ \ \ Option "TappingButtonMap" "lrm"' /usr/share/X11/xorg.conf.d/40-libinput.conf | sudo tee /usr/share/X11/xorg.conf.d/40-libinput.conf + +yay -S gnome-themes-extra --noconfirm --needed +yay -S j4-dmenu-desktop --noconfirm --needed + +# Install catppuccin grub theme +git clone https://github.com/catppuccin/grub +sudo cp -r ./grub/src/* /usr/share/grub/themes/ +rm -rf grub/ +echo /etc/default/grub | sudo xargs sed -i 's/#GRUB_THEME="\/path\/to\/gfxtheme"/GRUB_THEME=\/usr\/share\/grub\/themes\/catppuccin-mocha-grub-theme\/theme.txt/g' + +sudo cp $GIT_DIR/other-files/suspend@.service /etc/systemd/system/ +sudo systemctl enable suspend@$(whoami).service \ No newline at end of file diff --git a/backup.sh b/backup.sh index 9075ef8..34d4e08 100755 --- a/backup.sh +++ b/backup.sh @@ -6,9 +6,12 @@ rm -rf $GIT_DIR/kitty rm -rf $GIT_DIR/nvim rm -rf $GIT_DIR/gnupg rm -rf $GIT_DIR/VencordDesktop +rm -rf $GIT_DIR/vscode +rm -rf $GIT_DIR/i3 cp -r $HOME/.config/fish/ $GIT_DIR mv $GIT_DIR/fish/conf.d/universal.fish $GIT_DIR/universal-shellrc.txt + cp -r $HOME/.config/kitty/ $GIT_DIR cp -r $HOME/.config/nvim/ $GIT_DIR cp -r $HOME/.config/VencordDesktop/VencordDesktop/ $GIT_DIR @@ -16,3 +19,10 @@ cp -r $HOME/.config/VencordDesktop/VencordDesktop/ $GIT_DIR mkdir $GIT_DIR/gnupg cp $HOME/.gnupg/gpg.conf $GIT_DIR/gnupg/ cp $HOME/.gnupg/gpg-agent.conf $GIT_DIR/gnupg/ + +mkdir $GIT_DIR/vscode +code --list-extensions >$GIT_DIR/vscode/extensions.txt +cp $HOME/.config/Code/User/keybindings.json ./vscode/keybindings.json +cp $HOME/.config/Code/User/settings.json ./vscode/settings.json + +cp -r $HOME/.config/i3/ . \ No newline at end of file diff --git a/fish/completions/tide.fish b/fish/completions/tide.fish index 2d3784d..1ba1960 100644 --- a/fish/completions/tide.fish +++ b/fish/completions/tide.fish @@ -1,9 +1,10 @@ complete tide --no-files -set -l subcommands bug-report configure +set -l subcommands bug-report configure reload complete tide -x -n __fish_use_subcommand -a bug-report -d "Print info for use in bug reports" complete tide -x -n __fish_use_subcommand -a configure -d "Run the configuration wizard" +complete tide -x -n __fish_use_subcommand -a reload -d "Reload tide configuration" complete tide -x -n "not __fish_seen_subcommand_from $subcommands" -s h -l help -d "Print help message" complete tide -x -n "not __fish_seen_subcommand_from $subcommands" -s v -l version -d "Print tide version" diff --git a/fish/conf.d/_tide_init.fish b/fish/conf.d/_tide_init.fish index 939f17c..5d01510 100644 --- a/fish/conf.d/_tide_init.fish +++ b/fish/conf.d/_tide_init.fish @@ -11,7 +11,7 @@ function _tide_init_install --on-event _tide_init_install if contains ilancosman/tide (string lower $_fisher_plugins) set_color bryellow echo "ilancosman/tide is a development branch. Please install from a release tag:" - echo -ns "fisher install ilancosman/tide@v5" | fish_indent --ansi + _tide_fish_colorize "fisher install ilancosman/tide@v6" sleep 3 end @@ -19,7 +19,7 @@ function _tide_init_install --on-event _tide_init_install case y ye yes '' tide configure case '*' - echo -s \n 'Run ' (echo -ns "tide configure" | fish_indent --ansi) ' to customize your prompt.' + echo -s \n 'Run ' (_tide_fish_colorize "tide configure") ' to customize your prompt.' end end end @@ -29,7 +29,7 @@ function _tide_init_update --on-event _tide_init_update if contains ilancosman/tide (string lower $_fisher_plugins) set_color bryellow echo "ilancosman/tide is a development branch. Please install from a release tag:" - echo -ns "fisher install ilancosman/tide@v5" | fish_indent --ansi + _tide_fish_colorize "fisher install ilancosman/tide@v6" sleep 3 end end diff --git a/fish/fish_plugins b/fish/fish_plugins index 073936e..eeb9cbf 100644 --- a/fish/fish_plugins +++ b/fish/fish_plugins @@ -1,2 +1 @@ -jorgebucaran/fisher -ilancosman/tide@v5 +ilancosman/tide@v6 diff --git a/fish/fish_variables b/fish/fish_variables new file mode 100644 index 0000000..58cd7f0 --- /dev/null +++ b/fish/fish_variables @@ -0,0 +1,201 @@ +# This file contains fish universal variable definitions. +# VERSION: 3.0 +SETUVAR VIRTUAL_ENV_DISABLE_PROMPT:true +SETUVAR __fish_initialized:3400 +SETUVAR _fisher_ilancosman_2F_tide_40_v6_files:\x7e/\x2econfig/fish/functions/_tide_1_line_prompt\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_2_line_prompt\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_cache_variables\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_detect_os\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_find_and_remove\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_fish_colorize\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_aws\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_character\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_cmd_duration\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_context\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_crystal\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_direnv\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_distrobox\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_docker\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_elixir\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_gcloud\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_git\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_go\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_java\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_jobs\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_kubectl\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_nix_shell\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_node\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_os\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_php\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_private_mode\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_pulumi\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_python\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_ruby\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_rustc\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_shlvl\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_status\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_terraform\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_time\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_toolbox\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_vi_mode\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_parent_dirs\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_print_item\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_pwd\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_remove_unusable_items\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_sub_bug\x2dreport\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_sub_configure\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_sub_reload\x2efish\x1e\x7e/\x2econfig/fish/functions/fish_mode_prompt\x2efish\x1e\x7e/\x2econfig/fish/functions/fish_prompt\x2efish\x1e\x7e/\x2econfig/fish/functions/tide\x1e\x7e/\x2econfig/fish/functions/tide\x2efish\x1e\x7e/\x2econfig/fish/conf\x2ed/_tide_init\x2efish\x1e\x7e/\x2econfig/fish/completions/tide\x2efish +SETUVAR _fisher_plugins:ilancosman/tide\x40v6 +SETUVAR _fisher_upgraded_to_4_4:\x1d +SETUVAR _tide_left_items:vi_mode\x1eos\x1epwd\x1egit +SETUVAR _tide_prompt_11632:\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\x1b\x5b38\x3b2\x3b238\x3b238\x3b238m\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20\uf303\x20\x1b\x5b38\x3b2\x3b148\x3b148\x3b148m\u2502\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20\x40PWD\x40\x20\x1b\x5b38\x3b2\x3b148\x3b148\x3b148m\u2502\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20\x1b\x5b38\x3b2\x3b95\x3b215\x3b0m\uf1d3\x20\x1b\x5b37m\x1b\x5b38\x3b2\x3b95\x3b215\x3b0mmain\x1b\x5b38\x3b2\x3b255\x3b0\x3b0m\x1b\x5b38\x3b2\x3b95\x3b215\x3b0m\x1b\x5b38\x3b2\x3b95\x3b215\x3b0m\x1b\x5b38\x3b2\x3b255\x3b0\x3b0m\x1b\x5b38\x3b2\x3b215\x3b175\x3b0m\x20\x2b57\x1b\x5b38\x3b2\x3b215\x3b175\x3b0m\x20\x212\x1b\x5b38\x3b2\x3b0\x3b175\x3b255m\x20\x3f1\x20\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\ue0b0\x1e\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\ue0b2\x1b\x5b38\x3b2\x3b95\x3b175\x3b0m\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20\u2714\x20\x1b\x5b38\x3b2\x3b148\x3b148\x3b148m\u2502\x1b\x5b38\x3b2\x3b95\x3b135\x3b135m\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x2017\x3a49\x3a16\x20\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m +SETUVAR _tide_prompt_62734:\x1b\x5bm\x0f\x1b\x5bm\x0f\x1b\x5b30m\x1b\x5b37m\x1b\x5b40m\x20\uf303\x20\x1b\x5b90m\u2502\x1b\x5b40m\x20\x40PWD\x40\x20\x1b\x5bm\x0f\x1b\x5bm\x0f\x1b\x5b30m\ue0b0\x1e\x1b\x5bm\x0f\x1b\x5bm\x0f\x1b\x5b30m\ue0b2\x1b\x5b33m\x1b\x5b40m\x20\u2714\x20\x1b\x5b90m\u2502\x1b\x5b90m\x1b\x5b40m\x2021\x3a34\x3a42\x20\x1b\x5bm\x0f\x1b\x5bm\x0f\x1b\x5b30m +SETUVAR _tide_prompt_65309:\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\x1b\x5b38\x3b2\x3b238\x3b238\x3b238m\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20\uf303\x20\x1b\x5b38\x3b2\x3b148\x3b148\x3b148m\u2502\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20\x40PWD\x40\x20\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\ue0b0\x1e\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\ue0b2\x1b\x5b38\x3b2\x3b95\x3b175\x3b0m\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20\u2714\x20\x1b\x5b38\x3b2\x3b148\x3b148\x3b148m\u2502\x1b\x5b38\x3b2\x3b135\x3b135\x3b95m\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20\uf252\x2020m\x208s\x20\x1b\x5b38\x3b2\x3b148\x3b148\x3b148m\u2502\x1b\x5b38\x3b2\x3b95\x3b135\x3b135m\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x2023\x3a26\x3a55\x20\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m +SETUVAR _tide_prompt_72705:\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\x1b\x5b38\x3b2\x3b238\x3b238\x3b238m\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20\uf303\x20\x1b\x5b38\x3b2\x3b148\x3b148\x3b148m\u2502\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20\x40PWD\x40\x20\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\ue0b0\x1e\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\ue0b2\x1b\x5b38\x3b2\x3b95\x3b175\x3b0m\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20\u2714\x20\x1b\x5b38\x3b2\x3b148\x3b148\x3b148m\u2502\x1b\x5b38\x3b2\x3b135\x3b135\x3b95m\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20\uf252\x204s\x20\x1b\x5b38\x3b2\x3b148\x3b148\x3b148m\u2502\x1b\x5b38\x3b2\x3b95\x3b135\x3b135m\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x2023\x3a26\x3a55\x20\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m +SETUVAR _tide_prompt_79251:\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\x1b\x5b38\x3b2\x3b238\x3b238\x3b238m\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20\uf303\x20\x1b\x5b38\x3b2\x3b148\x3b148\x3b148m\u2502\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20\x40PWD\x40\x20\x1b\x5b38\x3b2\x3b148\x3b148\x3b148m\u2502\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20\x1b\x5b38\x3b2\x3b95\x3b215\x3b0m\uf1d3\x20\x1b\x5b37m\x40\x1b\x5b38\x3b2\x3b95\x3b215\x3b0ma8b612c\x1b\x5b38\x3b2\x3b255\x3b0\x3b0m\x1b\x5b38\x3b2\x3b95\x3b215\x3b0m\x1b\x5b38\x3b2\x3b95\x3b215\x3b0m\x1b\x5b38\x3b2\x3b255\x3b0\x3b0m\x1b\x5b38\x3b2\x3b215\x3b175\x3b0m\x1b\x5b38\x3b2\x3b215\x3b175\x3b0m\x20\x213\x1b\x5b38\x3b2\x3b0\x3b175\x3b255m\x20\x3f2\x20\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\ue0b0\x1e\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\ue0b2\x1b\x5b38\x3b2\x3b95\x3b175\x3b0m\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20\u2714\x20\x1b\x5b38\x3b2\x3b148\x3b148\x3b148m\u2502\x1b\x5b38\x3b2\x3b95\x3b135\x3b135m\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x2023\x3a29\x3a19\x20\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m +SETUVAR _tide_prompt_9469:\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\x1b\x5b38\x3b2\x3b238\x3b238\x3b238m\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20\uf303\x20\x1b\x5b38\x3b2\x3b148\x3b148\x3b148m\u2502\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20\x40PWD\x40\x20\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\ue0b0\x1e\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\ue0b2\x1b\x5b38\x3b2\x3b95\x3b175\x3b0m\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20\u2714\x20\x1b\x5b38\x3b2\x3b148\x3b148\x3b148m\u2502\x1b\x5b38\x3b2\x3b95\x3b135\x3b135m\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x2017\x3a40\x3a18\x20\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m +SETUVAR _tide_right_items:status\x1ecmd_duration\x1econtext\x1ejobs\x1epython\x1etime +SETUVAR fish_color_autosuggestion:555\x1ebrblack +SETUVAR fish_color_cancel:\x2dr +SETUVAR fish_color_command:blue +SETUVAR fish_color_comment:red +SETUVAR fish_color_cwd:green +SETUVAR fish_color_cwd_root:red +SETUVAR fish_color_end:green +SETUVAR fish_color_error:brred +SETUVAR fish_color_escape:brcyan +SETUVAR fish_color_history_current:\x2d\x2dbold +SETUVAR fish_color_host:normal +SETUVAR fish_color_host_remote:yellow +SETUVAR fish_color_normal:normal +SETUVAR fish_color_operator:brcyan +SETUVAR fish_color_param:cyan +SETUVAR fish_color_quote:yellow +SETUVAR fish_color_redirection:cyan\x1e\x2d\x2dbold +SETUVAR fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack +SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack +SETUVAR fish_color_status:red +SETUVAR fish_color_user:brgreen +SETUVAR fish_color_valid_path:\x2d\x2dunderline +SETUVAR fish_key_bindings:fish_default_key_bindings +SETUVAR fish_pager_color_completion:normal +SETUVAR fish_pager_color_description:B3A06D\x1eyellow\x1e\x2di +SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline +SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan +SETUVAR fish_pager_color_selected_background:\x2dr +SETUVAR tide_aws_bg_color:303030 +SETUVAR tide_aws_color:FF9900 +SETUVAR tide_aws_icon:\uf270 +SETUVAR tide_character_color:5FD700 +SETUVAR tide_character_color_failure:FF0000 +SETUVAR tide_character_icon:\u276f +SETUVAR tide_character_vi_icon_default:\u276e +SETUVAR tide_character_vi_icon_replace:\u25b6 +SETUVAR tide_character_vi_icon_visual:V +SETUVAR tide_chruby_bg_color:303030 +SETUVAR tide_chruby_color:000000 +SETUVAR tide_chruby_icon:\ue23e +SETUVAR tide_cmd_duration_bg_color:303030 +SETUVAR tide_cmd_duration_color:87875F +SETUVAR tide_cmd_duration_decimals:0 +SETUVAR tide_cmd_duration_icon:\uf252 +SETUVAR tide_cmd_duration_threshold:3000 +SETUVAR tide_context_always_display:false +SETUVAR tide_context_bg_color:303030 +SETUVAR tide_context_color_default:D7AF87 +SETUVAR tide_context_color_root:D7AF00 +SETUVAR tide_context_color_ssh:D7AF87 +SETUVAR tide_context_hostname_parts:1 +SETUVAR tide_crystal_bg_color:303030 +SETUVAR tide_crystal_color:FFFFFF +SETUVAR tide_crystal_icon:\ue62f +SETUVAR tide_direnv_bg_color:303030 +SETUVAR tide_direnv_bg_color_denied:303030 +SETUVAR tide_direnv_color:D7AF00 +SETUVAR tide_direnv_color_denied:FF0000 +SETUVAR tide_direnv_icon:\u25bc +SETUVAR tide_distrobox_bg_color:303030 +SETUVAR tide_distrobox_color:FF00FF +SETUVAR tide_distrobox_icon:\U000f01a7 +SETUVAR tide_docker_bg_color:303030 +SETUVAR tide_docker_color:2496ED +SETUVAR tide_docker_default_contexts:default\x1ecolima +SETUVAR tide_docker_icon:\uf308 +SETUVAR tide_elixir_bg_color:303030 +SETUVAR tide_elixir_color:4E2A8E +SETUVAR tide_elixir_icon:\ue62d +SETUVAR tide_gcloud_bg_color:303030 +SETUVAR tide_gcloud_color:4285F4 +SETUVAR tide_gcloud_icon:\U000f02ad +SETUVAR tide_git_bg_color:303030 +SETUVAR tide_git_bg_color_unstable:303030 +SETUVAR tide_git_bg_color_urgent:303030 +SETUVAR tide_git_color_branch:5FD700 +SETUVAR tide_git_color_conflicted:FF0000 +SETUVAR tide_git_color_dirty:D7AF00 +SETUVAR tide_git_color_operation:FF0000 +SETUVAR tide_git_color_staged:D7AF00 +SETUVAR tide_git_color_stash:5FD700 +SETUVAR tide_git_color_untracked:00AFFF +SETUVAR tide_git_color_upstream:5FD700 +SETUVAR tide_git_icon:\uf1d3 +SETUVAR tide_git_truncation_length:24 +SETUVAR tide_git_truncation_strategy:\x1d +SETUVAR tide_go_bg_color:303030 +SETUVAR tide_go_color:00ACD7 +SETUVAR tide_go_icon:\ue627 +SETUVAR tide_java_bg_color:303030 +SETUVAR tide_java_color:ED8B00 +SETUVAR tide_java_icon:\ue256 +SETUVAR tide_jobs_bg_color:303030 +SETUVAR tide_jobs_color:5FAF00 +SETUVAR tide_jobs_icon:\uf013 +SETUVAR tide_kubectl_bg_color:303030 +SETUVAR tide_kubectl_color:326CE5 +SETUVAR tide_kubectl_icon:\U000f10fe +SETUVAR tide_left_prompt_frame_enabled:false +SETUVAR tide_left_prompt_items:vi_mode\x1eos\x1epwd\x1egit +SETUVAR tide_left_prompt_prefix: +SETUVAR tide_left_prompt_separator_diff_color:\ue0b0 +SETUVAR tide_left_prompt_separator_same_color:\u2502 +SETUVAR tide_left_prompt_suffix:\ue0b0 +SETUVAR tide_nix_shell_bg_color:303030 +SETUVAR tide_nix_shell_color:7EBAE4 +SETUVAR tide_nix_shell_icon:\uf313 +SETUVAR tide_node_bg_color:303030 +SETUVAR tide_node_color:44883E +SETUVAR tide_node_icon:\ue24f +SETUVAR tide_os_bg_color:303030 +SETUVAR tide_os_color:EEEEEE +SETUVAR tide_os_icon:\uf303 +SETUVAR tide_php_bg_color:303030 +SETUVAR tide_php_color:617CBE +SETUVAR tide_php_icon:\ue608 +SETUVAR tide_private_mode_bg_color:303030 +SETUVAR tide_private_mode_color:FFFFFF +SETUVAR tide_private_mode_icon:\U000f05f9 +SETUVAR tide_prompt_add_newline_before:false +SETUVAR tide_prompt_color_frame_and_connection:6C6C6C +SETUVAR tide_prompt_color_separator_same_color:949494 +SETUVAR tide_prompt_icon_connection:\x20 +SETUVAR tide_prompt_min_cols:34 +SETUVAR tide_prompt_pad_items:true +SETUVAR tide_prompt_transient_enabled:false +SETUVAR tide_pulumi_bg_color:303030 +SETUVAR tide_pulumi_color:F7BF2A +SETUVAR tide_pulumi_icon:\uf1b2 +SETUVAR tide_pwd_bg_color:303030 +SETUVAR tide_pwd_color_anchors:00AFFF +SETUVAR tide_pwd_color_dirs:0087AF +SETUVAR tide_pwd_color_truncated_dirs:8787AF +SETUVAR tide_pwd_icon:\uf07c +SETUVAR tide_pwd_icon_home:\uf015 +SETUVAR tide_pwd_icon_unwritable:\uf023 +SETUVAR tide_pwd_markers:\x2ebzr\x1e\x2ecitc\x1e\x2egit\x1e\x2ehg\x1e\x2enode\x2dversion\x1e\x2epython\x2dversion\x1e\x2eruby\x2dversion\x1e\x2eshorten_folder_marker\x1e\x2esvn\x1e\x2eterraform\x1eCargo\x2etoml\x1ecomposer\x2ejson\x1eCVS\x1ego\x2emod\x1epackage\x2ejson +SETUVAR tide_python_bg_color:303030 +SETUVAR tide_python_color:00AFAF +SETUVAR tide_python_icon:\U000f0320 +SETUVAR tide_right_prompt_frame_enabled:false +SETUVAR tide_right_prompt_items:status\x1ecmd_duration\x1econtext\x1ejobs\x1edirenv\x1enode\x1epython\x1erustc\x1ejava\x1ephp\x1epulumi\x1eruby\x1ego\x1egcloud\x1ekubectl\x1edistrobox\x1etoolbox\x1eterraform\x1eaws\x1enix_shell\x1ecrystal\x1eelixir\x1etime +SETUVAR tide_right_prompt_prefix:\ue0b2 +SETUVAR tide_right_prompt_separator_diff_color:\ue0b2 +SETUVAR tide_right_prompt_separator_same_color:\u2502 +SETUVAR tide_right_prompt_suffix: +SETUVAR tide_ruby_bg_color:303030 +SETUVAR tide_ruby_color:B31209 +SETUVAR tide_ruby_icon:\ue23e +SETUVAR tide_rustc_bg_color:303030 +SETUVAR tide_rustc_color:F74C00 +SETUVAR tide_rustc_icon:\ue7a8 +SETUVAR tide_shlvl_bg_color:303030 +SETUVAR tide_shlvl_color:d78700 +SETUVAR tide_shlvl_icon:\uf120 +SETUVAR tide_shlvl_threshold:1 +SETUVAR tide_status_bg_color:303030 +SETUVAR tide_status_bg_color_failure:303030 +SETUVAR tide_status_color:5FAF00 +SETUVAR tide_status_color_failure:D70000 +SETUVAR tide_status_icon:\u2714 +SETUVAR tide_status_icon_failure:\u2718 +SETUVAR tide_terraform_bg_color:303030 +SETUVAR tide_terraform_color:844FBA +SETUVAR tide_terraform_icon:\x1d +SETUVAR tide_time_bg_color:303030 +SETUVAR tide_time_color:5F8787 +SETUVAR tide_time_format:\x25T +SETUVAR tide_toolbox_bg_color:303030 +SETUVAR tide_toolbox_color:613583 +SETUVAR tide_toolbox_icon:\ue24f +SETUVAR tide_vi_mode_bg_color_default:303030 +SETUVAR tide_vi_mode_bg_color_insert:303030 +SETUVAR tide_vi_mode_bg_color_replace:303030 +SETUVAR tide_vi_mode_bg_color_visual:303030 +SETUVAR tide_vi_mode_color_default:949494 +SETUVAR tide_vi_mode_color_insert:87AFAF +SETUVAR tide_vi_mode_color_replace:87AF87 +SETUVAR tide_vi_mode_color_visual:FF8700 +SETUVAR tide_vi_mode_icon_default:D +SETUVAR tide_vi_mode_icon_insert:I +SETUVAR tide_vi_mode_icon_replace:R +SETUVAR tide_vi_mode_icon_visual:V +SETUVAR tide_virtual_env_bg_color:303030 +SETUVAR tide_virtual_env_color:00AFAF +SETUVAR tide_virtual_env_icon:\ue73c diff --git a/fish/functions/_tide_detect_os.fish b/fish/functions/_tide_detect_os.fish index 5a3263f..cf38388 100644 --- a/fish/functions/_tide_detect_os.fish +++ b/fish/functions/_tide_detect_os.fish @@ -69,6 +69,8 @@ function _tide_detect_os_linux_cases -a file key printf %s\n  $defaultColor # Doesn't really have a logo, and the colors are too close to PWD blue anyway case ubuntu printf %s\n  E95420 D4D4D4 # https://design.ubuntu.com/brand/ + case void + printf %s\n  FFFFFF 478061 # from https://alpha.de.repo.voidlinux.org/logos/void.svg case '*' return 1 end diff --git a/fish/functions/_tide_fish_colorize.fish b/fish/functions/_tide_fish_colorize.fish new file mode 100644 index 0000000..f79b188 --- /dev/null +++ b/fish/functions/_tide_fish_colorize.fish @@ -0,0 +1,7 @@ +function _tide_fish_colorize + if command -q fish_indent + echo -ns "$argv" | fish_indent --ansi + else + echo -ns "$argv" + end +end diff --git a/fish/functions/_tide_item_chruby.fish b/fish/functions/_tide_item_chruby.fish deleted file mode 100644 index 02d5fbd..0000000 --- a/fish/functions/_tide_item_chruby.fish +++ /dev/null @@ -1,3 +0,0 @@ -function _tide_item_chruby - test -n "$RUBY_VERSION" && _tide_print_item chruby $tide_chruby_icon' ' $RUBY_VERSION -end diff --git a/fish/functions/_tide_item_context.fish b/fish/functions/_tide_item_context.fish index 575c438..cbdf420 100644 --- a/fish/functions/_tide_item_context.fish +++ b/fish/functions/_tide_item_context.fish @@ -1,15 +1,14 @@ function _tide_item_context if set -q SSH_TTY - set -lx tide_context_color $tide_context_color_ssh - test "$tide_context_hostname_parts" = 0 && _tide_print_item context $USER || - h=(string split . $hostname) _tide_print_item context $USER@(string join . $h[..$tide_context_hostname_parts]) + set -fx tide_context_color $tide_context_color_ssh else if test "$EUID" = 0 - set -lx tide_context_color $tide_context_color_root - test "$tide_context_hostname_parts" = 0 && _tide_print_item context $USER || - h=(string split . $hostname) _tide_print_item context $USER@(string join . $h[..$tide_context_hostname_parts]) + set -fx tide_context_color $tide_context_color_root else if test "$tide_context_always_display" = true - set -lx tide_context_color $tide_context_color_default - test "$tide_context_hostname_parts" = 0 && _tide_print_item context $USER || - h=(string split . $hostname) _tide_print_item context $USER@(string join . $h[..$tide_context_hostname_parts]) + set -fx tide_context_color $tide_context_color_default + else + return end + + string match -qr "^(?(\.?[^\.]*){0,$tide_context_hostname_parts})" @$hostname + _tide_print_item context $USER$h end diff --git a/fish/functions/_tide_item_crystal.fish b/fish/functions/_tide_item_crystal.fish index cec9752..620dde4 100644 --- a/fish/functions/_tide_item_crystal.fish +++ b/fish/functions/_tide_item_crystal.fish @@ -1,4 +1,6 @@ function _tide_item_crystal - path is $_tide_parent_dirs/shard.yml && - _tide_print_item crystal $tide_crystal_icon' ' (crystal --version | string match -r "[\d.]+")[1] + if path is $_tide_parent_dirs/shard.yml + crystal --version | string match -qr "(?[\d.]+)" + _tide_print_item crystal $tide_crystal_icon' ' $v + end end diff --git a/fish/functions/_tide_item_git.fish b/fish/functions/_tide_item_git.fish index c419695..3154acc 100644 --- a/fish/functions/_tide_item_git.fish +++ b/fish/functions/_tide_item_git.fish @@ -14,12 +14,17 @@ function _tide_item_git # Operation if test -d $gdir/rebase-merge - read -f step <$gdir/rebase-merge/msgnum - read -f total_steps <$gdir/rebase-merge/end + # Turn ANY into ALL, via double negation + if not path is -v $gdir/rebase-merge/{msgnum,end} + read -f step <$gdir/rebase-merge/msgnum + read -f total_steps <$gdir/rebase-merge/end + end test -f $gdir/rebase-merge/interactive && set -f operation rebase-i || set -f operation rebase-m else if test -d $gdir/rebase-apply - read -f step <$gdir/rebase-apply/next - read -f total_steps <$gdir/rebase-apply/last + if not path is -v $gdir/rebase-apply/{next,last} + read -f step <$gdir/rebase-apply/next + read -f total_steps <$gdir/rebase-apply/last + end if test -f $gdir/rebase-apply/rebasing set -f operation rebase else if test -f $gdir/rebase-apply/applying diff --git a/fish/functions/_tide_item_go.fish b/fish/functions/_tide_item_go.fish index 7c5919f..b9aacae 100644 --- a/fish/functions/_tide_item_go.fish +++ b/fish/functions/_tide_item_go.fish @@ -1,4 +1,6 @@ function _tide_item_go - path is $_tide_parent_dirs/go.mod && - _tide_print_item go $tide_go_icon' ' (go version | string match -r "[\d.]+") + if path is $_tide_parent_dirs/go.mod + go version | string match -qr "(?[\d.]+)" + _tide_print_item go $tide_go_icon' ' $v + end end diff --git a/fish/functions/_tide_item_java.fish b/fish/functions/_tide_item_java.fish index 6105acc..804ec05 100644 --- a/fish/functions/_tide_item_java.fish +++ b/fish/functions/_tide_item_java.fish @@ -1,4 +1,6 @@ function _tide_item_java - path is $_tide_parent_dirs/pom.xml && - _tide_print_item java $tide_java_icon' ' (java -version &| string match -r "[\d.]+")[1] + if path is $_tide_parent_dirs/pom.xml + java -version &| string match -qr "(?[\d.]+)" + _tide_print_item java $tide_java_icon' ' $v + end end diff --git a/fish/functions/_tide_item_node.fish b/fish/functions/_tide_item_node.fish index 0588051..fc57832 100644 --- a/fish/functions/_tide_item_node.fish +++ b/fish/functions/_tide_item_node.fish @@ -1,4 +1,6 @@ function _tide_item_node - path is $_tide_parent_dirs/package.json && - _tide_print_item node $tide_node_icon' ' (node --version | string trim --chars=v) + if path is $_tide_parent_dirs/package.json + node --version | string match -qr "v(?.*)" + _tide_print_item node $tide_node_icon' ' $v + end end diff --git a/fish/functions/_tide_item_php.fish b/fish/functions/_tide_item_php.fish index abc104e..c8d28d9 100644 --- a/fish/functions/_tide_item_php.fish +++ b/fish/functions/_tide_item_php.fish @@ -1,4 +1,6 @@ function _tide_item_php - path is $_tide_parent_dirs/composer.json && - _tide_print_item php $tide_php_icon' ' (php --version | string match -r 'PHP ([\d.]+)')[2] + if path is $_tide_parent_dirs/composer.json + php --version | string match -qr "(?[\d.]+)" + _tide_print_item php $tide_php_icon' ' $v + end end diff --git a/fish/functions/_tide_item_pulumi.fish b/fish/functions/_tide_item_pulumi.fish index 9f5e2db..6302a7e 100644 --- a/fish/functions/_tide_item_pulumi.fish +++ b/fish/functions/_tide_item_pulumi.fish @@ -1,19 +1,19 @@ function _tide_item_pulumi if path filter $_tide_parent_dirs/Pulumi.yaml | read -l yaml_path if command -q sha1sum - echo -n "$yaml_path" | sha1sum | string sub -e40 | read -f path_hash + echo -n "$yaml_path" | sha1sum | string match -qr "(?.{40})" else if command -q shasum - echo -n "$yaml_path" | shasum | string sub -e40 | read -f path_hash + echo -n "$yaml_path" | shasum | string match -qr "(?.{40})" + else + return end - if test -n "$path_hash" - string match -rg 'name: *(.*)' <$yaml_path | read -l project_name - set -l workspace_file "$HOME/.pulumi/workspaces/$project_name-$path_hash-workspace.json" + string match -qr 'name: *(?.*)' <$yaml_path + set -l workspace_file "$HOME/.pulumi/workspaces/$project_name-$path_hash-workspace.json" - if test -e $workspace_file - string match -rg '"stack": *"(.*)"' <$workspace_file | read -l stack - _tide_print_item pulumi $tide_pulumi_icon' ' $stack - end + if test -e $workspace_file + string match -qr '"stack": *"(?.*)"' <$workspace_file + _tide_print_item pulumi $tide_pulumi_icon' ' $stack end end end diff --git a/fish/functions/_tide_item_python.fish b/fish/functions/_tide_item_python.fish new file mode 100644 index 0000000..2d9e52b --- /dev/null +++ b/fish/functions/_tide_item_python.fish @@ -0,0 +1,20 @@ +function _tide_item_python + if test -n "$VIRTUAL_ENV" + python --version | string match -qr "(?[\d.]+)" + + string match -qr "^.*/(?.*)/(?.*)" $VIRTUAL_ENV + # pipenv $VIRTUAL_ENV looks like /home/ilan/.local/share/virtualenvs/pipenv_project-EwRYuc3l + # Detect whether we are using pipenv by looking for 'virtualenvs'. If so, remove the hash at the end. + if test "$dir" = virtualenvs + string match -qr "(?.*)-.*" $base + _tide_print_item python $tide_python_icon' ' "$v ($base)" + else if contains -- "$base" virtualenv venv .venv env # avoid generic names + _tide_print_item python $tide_python_icon' ' "$v ($dir)" + else + _tide_print_item python $tide_python_icon' ' "$v ($base)" + end + else if path is .python-version Pipfile __init__.py pyproject.toml requirements.txt setup.py + python --version | string match -qr "(?[\d.]+)" + _tide_print_item python $tide_python_icon' ' $v + end +end diff --git a/fish/functions/_tide_item_ruby.fish b/fish/functions/_tide_item_ruby.fish new file mode 100644 index 0000000..bde84eb --- /dev/null +++ b/fish/functions/_tide_item_ruby.fish @@ -0,0 +1,6 @@ +function _tide_item_ruby + if path is $_tide_parent_dirs/{*.gemspec,Gemfile,Rakefile,.ruby-version} + ruby --version | string match -qr "(?[\d.]+)" + _tide_print_item ruby $tide_ruby_icon' ' $v + end +end diff --git a/fish/functions/_tide_item_rustc.fish b/fish/functions/_tide_item_rustc.fish index 2e71645..b46cd99 100644 --- a/fish/functions/_tide_item_rustc.fish +++ b/fish/functions/_tide_item_rustc.fish @@ -1,4 +1,6 @@ function _tide_item_rustc - path is $_tide_parent_dirs/Cargo.toml && - _tide_print_item rustc $tide_rustc_icon' ' (rustc --version | string split ' ')[2] + if path is $_tide_parent_dirs/Cargo.toml + rustc --version | string match -qr "(?[\d.]+)" + _tide_print_item rustc $tide_rustc_icon' ' $v + end end diff --git a/fish/functions/_tide_item_virtual_env.fish b/fish/functions/_tide_item_virtual_env.fish deleted file mode 100644 index 0f20cee..0000000 --- a/fish/functions/_tide_item_virtual_env.fish +++ /dev/null @@ -1,11 +0,0 @@ -function _tide_item_virtual_env - test -n "$VIRTUAL_ENV" && split_virtual_env=(string split / "$VIRTUAL_ENV") if test $split_virtual_env[-2] = virtualenvs - # pipenv $VIRTUAL_ENV looks like /home/ilan/.local/share/virtualenvs/pipenv_project-EwRYuc3l - # Detect whether we are using pipenv by looking for virtualenvs. If so, remove the hash at the end. - _tide_print_item virtual_env $tide_virtual_env_icon' ' (string split -r -m1 - "$split_virtual_env[-1]")[1] - else if contains -- $split_virtual_env[-1] virtualenv venv .venv env # avoid generic names - _tide_print_item virtual_env $tide_virtual_env_icon' ' $split_virtual_env[-2] - else - _tide_print_item virtual_env $tide_virtual_env_icon' ' $split_virtual_env[-1] - end -end diff --git a/fish/functions/_tide_pwd.fish b/fish/functions/_tide_pwd.fish index b2ea6ad..5447dd4 100644 --- a/fish/functions/_tide_pwd.fish +++ b/fish/functions/_tide_pwd.fish @@ -25,9 +25,13 @@ eval "function _tide_pwd if path is \$parent_dir/\$dir_section/\$tide_pwd_markers set split_output[\$i] \"$color_anchors\$dir_section$reset_to_color_dirs\" else if test \$_tide_pwd_len -gt \$dist_btwn_sides - set -l trunc string match -qr \"(?\..|.)\" \$dir_section - while v=\$parent_dir/\$trunc*/ set -q v[2] && string match -qr \"(?\$trunc.)\" \$dir_section + + set -l glob \$parent_dir/\$trunc*/ + set -e glob[(contains -i \$parent_dir/\$dir_section/ \$glob)] # This is faster than inverse string match + + while string match -qr \"^\$parent_dir/\$(string escape --style=regex \$trunc)\" \$glob && + string match -qr \"(?\$(string escape --style=regex \$trunc).)\" \$dir_section end test -n \"\$trunc\" && set split_output[\$i] \"$color_truncated\$trunc$reset_to_color_dirs\" && string join / \$split_output | string length -V | read _tide_pwd_len diff --git a/fish/functions/_tide_remove_unusable_items.fish b/fish/functions/_tide_remove_unusable_items.fish index a2e5698..5a42555 100644 --- a/fish/functions/_tide_remove_unusable_items.fish +++ b/fish/functions/_tide_remove_unusable_items.fish @@ -1,17 +1,17 @@ function _tide_remove_unusable_items # Remove tool-specific items for tools the machine doesn't have installed set -l removed_items - for item in aws chruby crystal direnv distrobox docker elixir gcloud git go java kubectl nix_shell node php pulumi rustc terraform toolbox virtual_env + for item in aws crystal direnv distrobox docker elixir gcloud git go java kubectl nix_shell node php pulumi python ruby rustc terraform toolbox contains $item $tide_left_prompt_items $tide_right_prompt_items || continue set -l cli_names $item switch $item case distrobox # there is no 'distrobox' command inside the container set cli_names distrobox-export # 'distrobox-export' and 'distrobox-host-exec' are available - case virtual_env - set cli_names python python3 case nix_shell set cli_names nix nix-shell + case python + set cli_names python python3 end type --query $cli_names || set -a removed_items $item end diff --git a/fish/functions/_tide_sub_bug-report.fish b/fish/functions/_tide_sub_bug-report.fish index 5f087c8..a8065c8 100644 --- a/fish/functions/_tide_sub_bug-report.fish +++ b/fish/functions/_tide_sub_bug-report.fish @@ -6,7 +6,7 @@ function _tide_sub_bug-report if set -q _flag_clean HOME=(mktemp -d) $fish_path --init-command "curl --silent \ https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | - source && fisher install ilancosman/tide@v5" + source && fisher install ilancosman/tide@v6" else if set -q _flag_verbose set --long | string match -r "^_?tide.*" | # Get only tide variables string match -r --invert "^_tide_prompt_var.*" # Remove _tide_prompt_var diff --git a/fish/functions/_tide_sub_configure.fish b/fish/functions/_tide_sub_configure.fish index cb87290..22faf3a 100644 --- a/fish/functions/_tide_sub_configure.fish +++ b/fish/functions/_tide_sub_configure.fish @@ -15,7 +15,16 @@ for file in (status dirname)/tide/configure/{choices, functions}/**.fish end function _tide_sub_configure - if test $COLUMNS -lt 55 -o $LINES -lt 21 + set -l choices (path basename (status dirname)/tide/configure/choices/**.fish | path change-extension '') + argparse auto $choices= -- $argv + + for var in (set -l --names | string match -e _flag) + set -x $var $$var + end + + if set -q _flag_auto + set -fx _flag_finish 'Overwrite your current tide config' + else if test $COLUMNS -lt 55 -o $LINES -lt 21 echo 'Terminal size too small; must be at least 55 x 21' return 1 end @@ -37,51 +46,86 @@ function _next_choice -a nextChoice end function _tide_title -a text + set -q _flag_auto && return + command -q clear && clear set_color -o string pad --width (math --scale=0 "$fake_columns/2" + (string length $text)/2) $text set_color normal + + set -g _tide_configure_first_option_after_title end function _tide_option -a symbol text - set -ga _tide_option_list $symbol + set -ga _tide_symbol_list $symbol + set -ga _tide_option_list $text - set_color -o - echo "($symbol) $text" - set_color normal + if not set -q _flag_auto + set -g _tide_configure_first_prompt_after_option + + set_color -o + set -e _tide_configure_first_option_after_title || echo + echo "($symbol) $text" + set_color normal + end end -function _tide_menu - set -l list_with_slashes (string join '/' $_tide_option_list) +function _tide_menu -a func + if set -q _flag_auto + set -l flag_var_name _flag_$func + set -g _tide_selected_option $$flag_var_name - echo '(r) Restart from the beginning' + if test -z "$_tide_selected_option" + echo "Missing input for choice '$func'" + _tide_exit_configure + else if not contains $_tide_selected_option $_tide_option_list + echo "Invalid input '$_tide_selected_option' for choice '$func'" + _tide_exit_configure + else + set -e _tide_symbol_list + set -e _tide_option_list + end + return + end + + argparse no-restart -- $argv # Add no-restart option for first menu + + echo + if not set -q _flag_no_restart + set -f r r + echo '(r) Restart from the beginning' + end echo '(q) Quit and do nothing'\n - while true - set_color -o - read --nchars 1 --prompt-str "Choice [$list_with_slashes/r/q] " input - set_color normal - + while read --nchars 1 --prompt-str \ + "$(set_color -o)Choice [$(string join '/' $_tide_symbol_list $r q)] $(set_color normal)" input switch $input case r + set -q _flag_no_restart && continue + set -e _tide_symbol_list set -e _tide_option_list _next_choice all/style break case q - set -e _tide_selected_option # Skip through all the _next_choices + _tide_exit_configure + set -e _tide_symbol_list set -e _tide_option_list command -q clear && clear break - case $_tide_option_list + case $_tide_symbol_list + set -g _tide_selected_option $_tide_option_list[(contains -i $input $_tide_symbol_list)] + test "$func" != finish && + set -a _tide_configure_current_options --$func=(string escape $_tide_selected_option) + set -e _tide_symbol_list set -e _tide_option_list - set -g _tide_selected_option $input break end end end -function _tide_display_prompt -a var_name var_value - test -n "$var_name" && set -g $var_name $var_value +function _tide_display_prompt + set -q _flag_auto && return + _fake_tide_cache_variables set -l prompt (_fake_tide_prompt) @@ -89,7 +133,24 @@ function _tide_display_prompt -a var_name var_value set -l right_prompt_string (string pad --width (math $fake_columns-$bottom_left_prompt_string_length) $prompt[1]) set -l prompt[-1] "$prompt[-1]$right_prompt_string" - string unescape $prompt[2..] + if set -q _configure_transient + if contains newline $fake_tide_left_prompt_items + string unescape $prompt[3..] + else + _fake_tide_item_character + echo + end + else + if not set -q _tide_configure_first_prompt_after_option + test "$fake_tide_prompt_add_newline_before" = true && echo + end + string unescape $prompt[2..] + end + + set -e _tide_configure_first_prompt_after_option set_color normal - echo +end + +function _tide_exit_configure + set -e _tide_selected_option # Skip through all switch and _next_choice end diff --git a/fish/functions/_tide_sub_reload.fish b/fish/functions/_tide_sub_reload.fish new file mode 100644 index 0000000..5a45fbd --- /dev/null +++ b/fish/functions/_tide_sub_reload.fish @@ -0,0 +1,3 @@ +function _tide_sub_reload + source (functions --details fish_prompt) +end diff --git a/fish/functions/fish_prompt.fish b/fish/functions/fish_prompt.fish index 3e820c4..59f5a96 100644 --- a/fish/functions/fish_prompt.fish +++ b/fish/functions/fish_prompt.fish @@ -34,7 +34,36 @@ if contains newline $_tide_left_items # two line prompt initialization set -l bot_right_frame "$prompt_and_frame_color─╯" && set column_offset (math $column_offset-2) - eval " + if test "$tide_prompt_transient_enabled" = true + eval " +function fish_prompt + _tide_status=\$status _tide_pipestatus=\$pipestatus if not set -e _tide_repaint + jobs -q && set -lx _tide_jobs + $fish_path -c \"set _tide_pipestatus \$_tide_pipestatus +set _tide_parent_dirs \$_tide_parent_dirs +PATH=\$(string escape \"\$PATH\") CMD_DURATION=\$CMD_DURATION fish_bind_mode=\$fish_bind_mode set $prompt_var (_tide_2_line_prompt)\" & + builtin disown + + command kill \$_tide_last_pid 2>/dev/null + set -g _tide_last_pid \$last_pid + end + + if not set -q _tide_transient + math \$COLUMNS-(string length -V \"\$$prompt_var[1][1]\$$prompt_var[1][3]\")+$column_offset | read -lx dist_btwn_sides + + echo -n $add_newline'$top_left_frame'(string replace @PWD@ (_tide_pwd) \"\$$prompt_var[1][1]\")'$prompt_and_frame_color' + string repeat -Nm(math max 0, \$dist_btwn_sides-\$_tide_pwd_len) '$tide_prompt_icon_connection' + + echo \"\$$prompt_var[1][3]$top_right_frame\" + end + echo -n \e\[0J\"$bot_left_frame\$$prompt_var[1][2]$color_normal \" +end + +function fish_right_prompt + set -e _tide_transient || string unescape \"\$$prompt_var[1][4]$bot_right_frame$color_normal\" +end" + else + eval " function fish_prompt _tide_status=\$status _tide_pipestatus=\$pipestatus if not set -e _tide_repaint jobs -q && set -lx _tide_jobs @@ -57,13 +86,43 @@ end function fish_right_prompt string unescape \"\$$prompt_var[1][4]$bot_right_frame$color_normal\" end" + end else # one line prompt initialization test "$tide_prompt_add_newline_before" = true && set -l add_newline '\0' math 5 -$tide_prompt_min_cols | read -l column_offset test $column_offset -ge 0 && set column_offset "+$column_offset" - eval " + if test "$tide_prompt_transient_enabled" = true + eval " +function fish_prompt + set -lx _tide_status \$status + _tide_pipestatus=\$pipestatus if not set -e _tide_repaint + jobs -q && set -lx _tide_jobs + $fish_path -c \"set _tide_pipestatus \$_tide_pipestatus +set _tide_parent_dirs \$_tide_parent_dirs +PATH=\$(string escape \"\$PATH\") CMD_DURATION=\$CMD_DURATION fish_bind_mode=\$fish_bind_mode set $prompt_var (_tide_1_line_prompt)\" & + builtin disown + + command kill \$_tide_last_pid 2>/dev/null + set -g _tide_last_pid \$last_pid + end + + if set -q _tide_transient + echo -n \e\[0J + add_prefix= _tide_item_character + echo -n '$color_normal ' + else + math \$COLUMNS-(string length -V \"\$$prompt_var[1][1]\$$prompt_var[1][2]\")$column_offset | read -lx dist_btwn_sides + string replace @PWD@ (_tide_pwd) $add_newline \$$prompt_var[1][1]'$color_normal ' + end +end + +function fish_right_prompt + set -e _tide_transient || string unescape \"\$$prompt_var[1][2]$color_normal\" +end" + else + eval " function fish_prompt _tide_status=\$status _tide_pipestatus=\$pipestatus if not set -e _tide_repaint jobs -q && set -lx _tide_jobs @@ -83,8 +142,24 @@ end function fish_right_prompt string unescape \"\$$prompt_var[1][2]$color_normal\" end" + end end eval "function _tide_on_fish_exit --on-event fish_exit set -e $prompt_var end" + +if test "$tide_prompt_transient_enabled" = true + function _tide_enter_transient + # If the commandline will be executed, or is empty + if commandline --is-valid || test -z "$(commandline)" + set -g _tide_transient + set -g _tide_repaint + commandline -f repaint + end + commandline -f execute + end + + bind \r _tide_enter_transient + bind -M insert \r _tide_enter_transient +end diff --git a/fish/functions/tide.fish b/fish/functions/tide.fish index 84bbbf1..1f9e46b 100644 --- a/fish/functions/tide.fish +++ b/fish/functions/tide.fish @@ -2,7 +2,7 @@ function tide --description 'Manage your Tide prompt' argparse --stop-nonopt v/version h/help -- $argv if set -q _flag_version - echo 'tide, version 5.6.0' + echo 'tide, version 6.0.1' else if set -q _flag_help _tide_help else if functions --query _tide_sub_$argv[1] @@ -23,5 +23,6 @@ function _tide_help '' \ 'Subcommands:' \ ' configure run interactive configuration wizard' \ + ' reload reload tide configuration' \ ' bug-report print info for use in bug reports' end diff --git a/fish/functions/tide/configure/choices/all/finish.fish b/fish/functions/tide/configure/choices/all/finish.fish index f60a128..f670b1e 100644 --- a/fish/functions/tide/configure/choices/all/finish.fish +++ b/fish/functions/tide/configure/choices/all/finish.fish @@ -1,21 +1,30 @@ function finish - set_color red - _tide_title 'Overwrite tide config?' - set_color normal + _tide_title Finish - _tide_option y Yes + echo + set_color red + _tide_option y 'Overwrite your current tide config' + set_color normal echo - _tide_menu + _tide_option p 'Exit and print the config you just generated' + echo + + _tide_menu (status function) switch $_tide_selected_option - case y + case 'Overwrite your current tide config' _tide_finish command -q clear && clear + set -q _flag_auto || _tide_print_configure_current_options + case 'Exit and print the config you just generated' + _tide_exit_configure + command -q clear && clear + _tide_print_configure_current_options end end function _tide_finish - set -e _tide_selected_option # Skip through all the _next_choices + _tide_exit_configure # Deal with prompt char/vi mode contains character $fake_tide_left_prompt_items || set -p fake_tide_left_prompt_items vi_mode @@ -29,5 +38,9 @@ function _tide_finish set -e $_tide_prompt_var 2>/dev/null # Re-initialize the prompt - source (functions --details fish_prompt) + tide reload +end + +function _tide_print_configure_current_options + _tide_fish_colorize "tide configure --auto $_tide_configure_current_options" end diff --git a/fish/functions/tide/configure/choices/all/icons.fish b/fish/functions/tide/configure/choices/all/icons.fish index e53bffa..be167bb 100644 --- a/fish/functions/tide/configure/choices/all/icons.fish +++ b/fish/functions/tide/configure/choices/all/icons.fish @@ -8,12 +8,12 @@ function icons _enable_icons _tide_display_prompt - _tide_menu + _tide_menu (status function) switch $_tide_selected_option - case 1 + case 'Few icons' _disable_icons end - _next_choice all/finish + _next_choice all/transient end function _enable_icons diff --git a/fish/functions/tide/configure/choices/all/prompt_colors.fish b/fish/functions/tide/configure/choices/all/prompt_colors.fish index 90b1a9d..247ef4e 100644 --- a/fish/functions/tide/configure/choices/all/prompt_colors.fish +++ b/fish/functions/tide/configure/choices/all/prompt_colors.fish @@ -9,9 +9,9 @@ function prompt_colors set -g _tide_16color true _tide_display_prompt - _tide_menu + _tide_menu (status function) switch $_tide_selected_option - case 1 + case 'True color' _load_config "$_tide_configure_style" set -e _tide_16color switch $_tide_configure_style @@ -20,7 +20,7 @@ function prompt_colors case classic _next_choice classic/classic_prompt_color end - case 2 + case '16 colors' _next_choice all/show_time end end diff --git a/fish/functions/tide/configure/choices/all/prompt_connection.fish b/fish/functions/tide/configure/choices/all/prompt_connection.fish index ae31ef3..ff76546 100644 --- a/fish/functions/tide/configure/choices/all/prompt_connection.fish +++ b/fish/functions/tide/configure/choices/all/prompt_connection.fish @@ -2,27 +2,30 @@ function prompt_connection _tide_title 'Prompt Connection' _tide_option 1 Disconnected - _tide_display_prompt fake_tide_prompt_icon_connection ' ' + set -g fake_tide_prompt_icon_connection ' ' + _tide_display_prompt _tide_option 2 Dotted - _tide_display_prompt fake_tide_prompt_icon_connection '·' + set -g fake_tide_prompt_icon_connection '·' + _tide_display_prompt _tide_option 3 Solid - _tide_display_prompt fake_tide_prompt_icon_connection '─' + set -g fake_tide_prompt_icon_connection '─' + _tide_display_prompt - _tide_menu + _tide_menu (status function) switch $_tide_selected_option - case 1 + case Disconnected set -g fake_tide_prompt_icon_connection ' ' - case 2 + case Dotted set -g fake_tide_prompt_icon_connection '·' - case 3 + case Solid set -g fake_tide_prompt_icon_connection '─' end switch $_tide_configure_style case lean _next_choice all/prompt_connection_andor_frame_color case classic rainbow - _next_choice powerline/powerline_prompt_frame + _next_choice powerline/powerline_right_prompt_frame end end diff --git a/fish/functions/tide/configure/choices/all/prompt_connection_andor_frame_color.fish b/fish/functions/tide/configure/choices/all/prompt_connection_andor_frame_color.fish index b8803b4..cefbf2c 100644 --- a/fish/functions/tide/configure/choices/all/prompt_connection_andor_frame_color.fish +++ b/fish/functions/tide/configure/choices/all/prompt_connection_andor_frame_color.fish @@ -10,26 +10,30 @@ function prompt_connection_andor_frame_color _tide_title "Connection & Frame Color" _tide_option 1 Lightest - _tide_display_prompt fake_tide_prompt_color_frame_and_connection 808080 + set -g fake_tide_prompt_color_frame_and_connection 808080 + _tide_display_prompt _tide_option 2 Light - _tide_display_prompt fake_tide_prompt_color_frame_and_connection 6C6C6C + set -g fake_tide_prompt_color_frame_and_connection 6C6C6C + _tide_display_prompt _tide_option 3 Dark - _tide_display_prompt fake_tide_prompt_color_frame_and_connection 585858 + set -g fake_tide_prompt_color_frame_and_connection 585858 + _tide_display_prompt _tide_option 4 Darkest - _tide_display_prompt fake_tide_prompt_color_frame_and_connection 444444 + set -g fake_tide_prompt_color_frame_and_connection 444444 + _tide_display_prompt - _tide_menu + _tide_menu (status function) switch $_tide_selected_option - case 1 + case Lightest set -g fake_tide_prompt_color_frame_and_connection 808080 - case 2 + case Light set -g fake_tide_prompt_color_frame_and_connection 6C6C6C - case 3 + case Dark set -g fake_tide_prompt_color_frame_and_connection 585858 - case 4 + case Darkest set -g fake_tide_prompt_color_frame_and_connection 444444 end _next_choice all/prompt_spacing diff --git a/fish/functions/tide/configure/choices/all/prompt_spacing.fish b/fish/functions/tide/configure/choices/all/prompt_spacing.fish index a5bb98b..f68be68 100644 --- a/fish/functions/tide/configure/choices/all/prompt_spacing.fish +++ b/fish/functions/tide/configure/choices/all/prompt_spacing.fish @@ -2,19 +2,20 @@ function prompt_spacing _tide_title 'Prompt Spacing' _tide_option 1 Compact + set -g fake_tide_prompt_add_newline_before false _tide_display_prompt - printf \e\[1A # Move cursor up 1 row _tide_display_prompt _tide_option 2 Sparse + set -g fake_tide_prompt_add_newline_before true _tide_display_prompt _tide_display_prompt - _tide_menu + _tide_menu (status function) switch $_tide_selected_option - case 1 + case Compact set -g fake_tide_prompt_add_newline_before false - case 2 + case Sparse set -g fake_tide_prompt_add_newline_before true end _next_choice all/icons diff --git a/fish/functions/tide/configure/choices/all/show_time.fish b/fish/functions/tide/configure/choices/all/show_time.fish index 8cf1843..b66c785 100644 --- a/fish/functions/tide/configure/choices/all/show_time.fish +++ b/fish/functions/tide/configure/choices/all/show_time.fish @@ -7,20 +7,22 @@ function show_time set -a fake_tide_right_prompt_items time _tide_option 2 '24-hour format' - _tide_display_prompt fake_tide_time_format %T + set -g fake_tide_time_format %T + _tide_display_prompt _tide_option 3 '12-hour format' - _tide_display_prompt fake_tide_time_format '%r' + set -g fake_tide_time_format %r + _tide_display_prompt - _tide_menu + _tide_menu (status function) switch $_tide_selected_option - case 1 + case No set -g fake_tide_time_format '' set -e fake_tide_right_prompt_items[-1] - case 2 + case '24-hour format' set -g fake_tide_time_format %T - case 3 - set -g fake_tide_time_format '%r' + case '12-hour format' + set -g fake_tide_time_format %r end switch $_tide_configure_style case lean diff --git a/fish/functions/tide/configure/choices/all/style.fish b/fish/functions/tide/configure/choices/all/style.fish index ae52bc5..fe9a58f 100644 --- a/fish/functions/tide/configure/choices/all/style.fish +++ b/fish/functions/tide/configure/choices/all/style.fish @@ -1,4 +1,6 @@ function style + set -g _tide_configure_current_options + _tide_title 'Prompt Style' _tide_option 1 Lean @@ -13,15 +15,15 @@ function style _load_config rainbow _tide_display_prompt - _tide_style_menu + _tide_menu (status function) --no-restart switch $_tide_selected_option - case 1 + case Lean _load_config lean set -g _tide_configure_style lean - case 2 + case Classic _load_config classic set -g _tide_configure_style classic - case 3 + case Rainbow _load_config rainbow set -g _tide_configure_style rainbow end @@ -29,29 +31,6 @@ function style end function _load_config -a name + string replace -r '^' 'set -g fake_' <(status dirname)/../../icons.fish | source string replace -r '^' 'set -g fake_' <(status dirname)/../../configs/$name.fish | source end - -function _tide_style_menu # Exactly like _tide_menu except that it doesn't have (r) option - set -l list_with_slashes (string join '/' $_tide_option_list) - - echo '(q) Quit and do nothing'\n - - while true - set_color -o - read --nchars 1 --prompt-str "Choice [$list_with_slashes/q] " input - set_color normal - - switch $input - case q - set -e _tide_selected_option # Skip through all the _next_choices - set -e _tide_option_list - command -q clear && clear - break - case $_tide_option_list - set -e _tide_option_list - set -g _tide_selected_option $input - break - end - end -end diff --git a/fish/functions/tide/configure/choices/all/transient.fish b/fish/functions/tide/configure/choices/all/transient.fish new file mode 100644 index 0000000..df2b6b6 --- /dev/null +++ b/fish/functions/tide/configure/choices/all/transient.fish @@ -0,0 +1,22 @@ +function transient + _tide_title 'Enable transient prompt?' + + _tide_option 1 No + _tide_display_prompt + _tide_display_prompt + _tide_display_prompt + + _tide_option 2 Yes + _configure_transient= _tide_display_prompt + _configure_transient= _tide_display_prompt + _tide_display_prompt + + _tide_menu (status function) + switch $_tide_selected_option + case No + set fake_tide_prompt_transient_enabled false + case Yes + set fake_tide_prompt_transient_enabled true + end + _next_choice all/finish +end diff --git a/fish/functions/tide/configure/choices/classic/classic_prompt_color.fish b/fish/functions/tide/configure/choices/classic/classic_prompt_color.fish index 2189f36..77ceeaf 100644 --- a/fish/functions/tide/configure/choices/classic/classic_prompt_color.fish +++ b/fish/functions/tide/configure/choices/classic/classic_prompt_color.fish @@ -17,15 +17,15 @@ function classic_prompt_color _set_all_items_bg_color 1C1C1C _tide_display_prompt - _tide_menu + _tide_menu (status function) switch $_tide_selected_option - case 1 + case Lightest _set_all_items_bg_color 585858 - case 2 + case Light _set_all_items_bg_color 444444 - case 3 + case Dark _set_all_items_bg_color 303030 - case 4 + case Darkest _set_all_items_bg_color 1C1C1C end _next_choice all/show_time diff --git a/fish/functions/tide/configure/choices/classic/classic_prompt_separators.fish b/fish/functions/tide/configure/choices/classic/classic_prompt_separators.fish index 17b88e4..20af6cd 100644 --- a/fish/functions/tide/configure/choices/classic/classic_prompt_separators.fish +++ b/fish/functions/tide/configure/choices/classic/classic_prompt_separators.fish @@ -7,34 +7,34 @@ function classic_prompt_separators _tide_display_prompt _tide_option 2 Vertical - set -g fake_tide_left_prompt_separator_same_color '│' - set -g fake_tide_right_prompt_separator_same_color '│' + set -g fake_tide_left_prompt_separator_same_color │ + set -g fake_tide_right_prompt_separator_same_color │ _tide_display_prompt _tide_option 3 Slanted - set -g fake_tide_left_prompt_separator_same_color '╱' - set -g fake_tide_right_prompt_separator_same_color '╱' + set -g fake_tide_left_prompt_separator_same_color ╱ + set -g fake_tide_right_prompt_separator_same_color ╱ _tide_display_prompt _tide_option 4 Round - set -g fake_tide_left_prompt_separator_same_color '' - set -g fake_tide_right_prompt_separator_same_color '' + set -g fake_tide_left_prompt_separator_same_color  + set -g fake_tide_right_prompt_separator_same_color  _tide_display_prompt - _tide_menu + _tide_menu (status function) switch $_tide_selected_option - case 1 + case Angled set -g fake_tide_left_prompt_separator_same_color  set -g fake_tide_right_prompt_separator_same_color  - case 2 - set -g fake_tide_left_prompt_separator_same_color '│' - set -g fake_tide_right_prompt_separator_same_color '│' - case 3 - set -g fake_tide_left_prompt_separator_same_color '╱' - set -g fake_tide_right_prompt_separator_same_color '╱' - case 4 - set -g fake_tide_left_prompt_separator_same_color '' - set -g fake_tide_right_prompt_separator_same_color '' + case Vertical + set -g fake_tide_left_prompt_separator_same_color │ + set -g fake_tide_right_prompt_separator_same_color │ + case Slanted + set -g fake_tide_left_prompt_separator_same_color ╱ + set -g fake_tide_right_prompt_separator_same_color ╱ + case Round + set -g fake_tide_left_prompt_separator_same_color  + set -g fake_tide_right_prompt_separator_same_color  end _next_choice powerline/powerline_prompt_heads end diff --git a/fish/functions/tide/configure/choices/lean/lean_prompt_height.fish b/fish/functions/tide/configure/choices/lean/lean_prompt_height.fish index 4db04a8..2077241 100644 --- a/fish/functions/tide/configure/choices/lean/lean_prompt_height.fish +++ b/fish/functions/tide/configure/choices/lean/lean_prompt_height.fish @@ -11,13 +11,13 @@ function lean_prompt_height set -g fake_tide_left_prompt_suffix ' ' _tide_display_prompt - _tide_menu + _tide_menu (status function) switch $_tide_selected_option - case 1 + case 'One line' _tide_find_and_remove newline fake_tide_left_prompt_items set fake_tide_left_prompt_suffix '' _next_choice all/prompt_connection_andor_frame_color - case 2 + case 'Two lines' _tide_find_and_remove newline fake_tide_left_prompt_items set -g fake_tide_left_prompt_items $fake_tide_left_prompt_items[1..-2] newline $fake_tide_left_prompt_items[-1] set -g fake_tide_left_prompt_suffix ' ' diff --git a/fish/functions/tide/configure/choices/powerline/powerline_prompt_frame.fish b/fish/functions/tide/configure/choices/powerline/powerline_prompt_frame.fish deleted file mode 100644 index 19b3588..0000000 --- a/fish/functions/tide/configure/choices/powerline/powerline_prompt_frame.fish +++ /dev/null @@ -1,46 +0,0 @@ -function powerline_prompt_frame - _tide_title 'Prompt Frame' - - _tide_option 1 'No frame' - set fake_tide_left_prompt_frame_enabled false - set fake_tide_right_prompt_frame_enabled false - set -a fake_tide_left_prompt_items character - _tide_display_prompt - set -e fake_tide_left_prompt_items[-1] - - _tide_option 2 Left - set fake_tide_left_prompt_frame_enabled true - set fake_tide_right_prompt_frame_enabled false - _tide_display_prompt - - _tide_option 3 Right - set fake_tide_left_prompt_frame_enabled false - set fake_tide_right_prompt_frame_enabled true - set -a fake_tide_left_prompt_items character - _tide_display_prompt - set -e fake_tide_left_prompt_items[-1] - - _tide_option 4 Full - set fake_tide_left_prompt_frame_enabled true - set fake_tide_right_prompt_frame_enabled true - _tide_display_prompt - - _tide_menu - switch $_tide_selected_option - case 1 - set fake_tide_left_prompt_frame_enabled false - set fake_tide_right_prompt_frame_enabled false - set -a fake_tide_left_prompt_items character - case 2 - set fake_tide_left_prompt_frame_enabled true - set fake_tide_right_prompt_frame_enabled false - case 3 - set fake_tide_left_prompt_frame_enabled false - set fake_tide_right_prompt_frame_enabled true - set -a fake_tide_left_prompt_items character - case 4 - set fake_tide_left_prompt_frame_enabled true - set fake_tide_right_prompt_frame_enabled true - end - _next_choice all/prompt_connection_andor_frame_color -end diff --git a/fish/functions/tide/configure/choices/powerline/powerline_prompt_heads.fish b/fish/functions/tide/configure/choices/powerline/powerline_prompt_heads.fish index ac187c9..0030cad 100644 --- a/fish/functions/tide/configure/choices/powerline/powerline_prompt_heads.fish +++ b/fish/functions/tide/configure/choices/powerline/powerline_prompt_heads.fish @@ -6,35 +6,27 @@ function powerline_prompt_heads set -g fake_tide_right_prompt_prefix  _tide_display_prompt - _tide_option 2 Blurred - set -g fake_tide_left_prompt_suffix '▓▒░' - set -g fake_tide_right_prompt_prefix '░▒▓' + _tide_option 2 Slanted + set -g fake_tide_left_prompt_suffix  + set -g fake_tide_right_prompt_prefix  _tide_display_prompt - _tide_option 3 Slanted - set -g fake_tide_left_prompt_suffix '' - set -g fake_tide_right_prompt_prefix '' + _tide_option 3 Round + set -g fake_tide_left_prompt_suffix  + set -g fake_tide_right_prompt_prefix  _tide_display_prompt - _tide_option 4 Round - set -g fake_tide_left_prompt_suffix '' - set -g fake_tide_right_prompt_prefix '' - _tide_display_prompt - - _tide_menu + _tide_menu (status function) switch $_tide_selected_option - case 1 + case Sharp set -g fake_tide_left_prompt_suffix  set -g fake_tide_right_prompt_prefix  - case 2 - set -g fake_tide_left_prompt_suffix '▓▒░' - set -g fake_tide_right_prompt_prefix '░▒▓' - case 3 - set -g fake_tide_left_prompt_suffix '' - set -g fake_tide_right_prompt_prefix '' - case 4 - set -g fake_tide_left_prompt_suffix '' - set -g fake_tide_right_prompt_prefix '' + case Slanted + set -g fake_tide_left_prompt_suffix  + set -g fake_tide_right_prompt_prefix  + case Round + set -g fake_tide_left_prompt_suffix  + set -g fake_tide_right_prompt_prefix  end _next_choice powerline/powerline_prompt_tails end diff --git a/fish/functions/tide/configure/choices/powerline/powerline_prompt_height.fish b/fish/functions/tide/configure/choices/powerline/powerline_prompt_height.fish deleted file mode 100644 index 83fef05..0000000 --- a/fish/functions/tide/configure/choices/powerline/powerline_prompt_height.fish +++ /dev/null @@ -1,30 +0,0 @@ -function powerline_prompt_height - _tide_title 'Prompt Height' - - _tide_option 1 'One line' - _tide_find_and_remove newline fake_tide_left_prompt_items - set fake_tide_left_prompt_frame_enabled false - set fake_tide_right_prompt_frame_enabled false - _tide_display_prompt - - _tide_option 2 'Two lines' - set -g fake_tide_left_prompt_items $fake_tide_left_prompt_items newline - set fake_tide_left_prompt_frame_enabled true - set fake_tide_right_prompt_frame_enabled true - _tide_display_prompt - - _tide_menu - switch $_tide_selected_option - case 1 - _tide_find_and_remove newline fake_tide_left_prompt_items - set fake_tide_left_prompt_frame_enabled false - set fake_tide_right_prompt_frame_enabled false - _next_choice all/prompt_connection_andor_frame_color - case 2 - _tide_find_and_remove newline fake_tide_left_prompt_items - set -g fake_tide_left_prompt_items $fake_tide_left_prompt_items newline - set fake_tide_left_prompt_frame_enabled true - set fake_tide_right_prompt_frame_enabled true - _next_choice all/prompt_connection - end -end diff --git a/fish/functions/tide/configure/choices/powerline/powerline_prompt_style.fish b/fish/functions/tide/configure/choices/powerline/powerline_prompt_style.fish new file mode 100644 index 0000000..b374757 --- /dev/null +++ b/fish/functions/tide/configure/choices/powerline/powerline_prompt_style.fish @@ -0,0 +1,51 @@ +function powerline_prompt_style + _tide_title 'Powerline Prompt Style' + + _tide_option 1 'One line' + _tide_find_and_remove newline fake_tide_left_prompt_items + _tide_find_and_remove character fake_tide_left_prompt_items + set fake_tide_left_prompt_frame_enabled false + set fake_tide_right_prompt_frame_enabled false + _tide_display_prompt + + set -a fake_tide_left_prompt_items newline + + _tide_option 2 'Two lines, character' + set -a fake_tide_left_prompt_items character + set fake_tide_left_prompt_frame_enabled false + set fake_tide_right_prompt_frame_enabled false + _tide_display_prompt + + _tide_option 3 'Two lines, frame' + _tide_find_and_remove character fake_tide_left_prompt_items + set fake_tide_left_prompt_frame_enabled true + set fake_tide_right_prompt_frame_enabled true + _tide_display_prompt + + _tide_option 4 'Two lines, character and frame' + set -a fake_tide_left_prompt_items character + set fake_tide_left_prompt_frame_enabled true + set fake_tide_right_prompt_frame_enabled true + _tide_display_prompt + + _tide_menu (status function) + switch $_tide_selected_option + case 'One line' + _tide_find_and_remove newline fake_tide_left_prompt_items + _tide_find_and_remove character fake_tide_left_prompt_items + set fake_tide_left_prompt_frame_enabled false + set fake_tide_right_prompt_frame_enabled false + _next_choice all/prompt_connection_andor_frame_color + case 'Two lines, character' + set fake_tide_left_prompt_frame_enabled false + set fake_tide_right_prompt_frame_enabled false + _next_choice all/prompt_connection + case 'Two lines, frame' + _tide_find_and_remove character fake_tide_left_prompt_items + set fake_tide_left_prompt_frame_enabled true + set fake_tide_right_prompt_frame_enabled true + _next_choice all/prompt_connection + case 'Two lines, character and frame' + _next_choice all/prompt_connection + end +end diff --git a/fish/functions/tide/configure/choices/powerline/powerline_prompt_tails.fish b/fish/functions/tide/configure/choices/powerline/powerline_prompt_tails.fish index 02f4609..6b1574b 100644 --- a/fish/functions/tide/configure/choices/powerline/powerline_prompt_tails.fish +++ b/fish/functions/tide/configure/choices/powerline/powerline_prompt_tails.fish @@ -6,43 +6,35 @@ function powerline_prompt_tails set -g fake_tide_right_prompt_suffix '' _tide_display_prompt - _tide_option 2 Blurred - set -g fake_tide_left_prompt_prefix '░▒▓' - set -g fake_tide_right_prompt_suffix '▓▒░' - _tide_display_prompt - - _tide_option 3 Sharp + _tide_option 2 Sharp set -g fake_tide_left_prompt_prefix  set -g fake_tide_right_prompt_suffix  _tide_display_prompt - _tide_option 4 Slanted - set -g fake_tide_left_prompt_prefix '' - set -g fake_tide_right_prompt_suffix '' + _tide_option 3 Slanted + set -g fake_tide_left_prompt_prefix  + set -g fake_tide_right_prompt_suffix  _tide_display_prompt - _tide_option 5 Round - set -g fake_tide_left_prompt_prefix '' - set -g fake_tide_right_prompt_suffix '' + _tide_option 4 Round + set -g fake_tide_left_prompt_prefix  + set -g fake_tide_right_prompt_suffix  _tide_display_prompt - _tide_menu + _tide_menu (status function) switch $_tide_selected_option - case 1 + case Flat set -g fake_tide_left_prompt_prefix '' set -g fake_tide_right_prompt_suffix '' - case 2 - set -g fake_tide_left_prompt_prefix '░▒▓' - set -g fake_tide_right_prompt_suffix '▓▒░' - case 3 + case Sharp set -g fake_tide_left_prompt_prefix  set -g fake_tide_right_prompt_suffix  - case 4 - set -g fake_tide_left_prompt_prefix '' - set -g fake_tide_right_prompt_suffix '' - case 5 - set -g fake_tide_left_prompt_prefix '' - set -g fake_tide_right_prompt_suffix '' + case Slanted + set -g fake_tide_left_prompt_prefix  + set -g fake_tide_right_prompt_suffix  + case Round + set -g fake_tide_left_prompt_prefix  + set -g fake_tide_right_prompt_suffix  end - _next_choice powerline/powerline_prompt_height + _next_choice powerline/powerline_prompt_style end diff --git a/fish/functions/tide/configure/choices/powerline/powerline_right_prompt_frame.fish b/fish/functions/tide/configure/choices/powerline/powerline_right_prompt_frame.fish new file mode 100644 index 0000000..a2d0a5b --- /dev/null +++ b/fish/functions/tide/configure/choices/powerline/powerline_right_prompt_frame.fish @@ -0,0 +1,20 @@ +function powerline_right_prompt_frame + _tide_title 'Right Prompt Frame' + + _tide_option 1 No + set fake_tide_right_prompt_frame_enabled false + _tide_display_prompt + + _tide_option 2 Yes + set fake_tide_right_prompt_frame_enabled true + _tide_display_prompt + + _tide_menu (status function) + switch $_tide_selected_option + case No + set fake_tide_right_prompt_frame_enabled false + case Yes + set fake_tide_right_prompt_frame_enabled true + end + _next_choice all/prompt_connection_andor_frame_color +end diff --git a/fish/functions/tide/configure/choices/rainbow/rainbow_prompt_separators.fish b/fish/functions/tide/configure/choices/rainbow/rainbow_prompt_separators.fish index 29f6ccc..14b9319 100644 --- a/fish/functions/tide/configure/choices/rainbow/rainbow_prompt_separators.fish +++ b/fish/functions/tide/configure/choices/rainbow/rainbow_prompt_separators.fish @@ -21,18 +21,18 @@ function rainbow_prompt_separators set -g fake_tide_right_prompt_separator_diff_color '' _tide_display_prompt - _tide_menu + _tide_menu (status function) switch $_tide_selected_option - case 1 + case Angled set -g fake_tide_left_prompt_separator_diff_color  set -g fake_tide_right_prompt_separator_diff_color  - case 2 + case Vertical set -g fake_tide_left_prompt_separator_diff_color '' set -g fake_tide_right_prompt_separator_diff_color '' - case 3 + case Slanted set -g fake_tide_left_prompt_separator_diff_color '' set -g fake_tide_right_prompt_separator_diff_color '' - case 4 + case Round set -g fake_tide_left_prompt_separator_diff_color '' set -g fake_tide_right_prompt_separator_diff_color '' end diff --git a/fish/functions/tide/configure/configs/classic.fish b/fish/functions/tide/configure/configs/classic.fish index f844676..86d2298 100644 --- a/fish/functions/tide/configure/configs/classic.fish +++ b/fish/functions/tide/configure/configs/classic.fish @@ -1,19 +1,10 @@ tide_aws_bg_color 444444 tide_aws_color FF9900 -tide_aws_icon  tide_character_color $_tide_color_green tide_character_color_failure FF0000 -tide_character_icon ❯ -tide_character_vi_icon_default ❮ -tide_character_vi_icon_replace ▶ -tide_character_vi_icon_visual V -tide_chruby_bg_color 444444 -tide_chruby_color B31209 -tide_chruby_icon  tide_cmd_duration_bg_color 444444 tide_cmd_duration_color 87875F tide_cmd_duration_decimals 0 -tide_cmd_duration_icon tide_cmd_duration_threshold 3000 tide_context_always_display false tide_context_bg_color 444444 @@ -23,25 +14,19 @@ tide_context_color_ssh D7AF87 tide_context_hostname_parts 1 tide_crystal_bg_color 444444 tide_crystal_color FFFFFF -tide_crystal_icon ⬢ tide_direnv_bg_color 444444 tide_direnv_bg_color_denied 444444 tide_direnv_color $_tide_color_gold tide_direnv_color_denied FF0000 -tide_direnv_icon ▼ tide_distrobox_bg_color 444444 tide_distrobox_color FF00FF -tide_distrobox_icon ⬢ tide_docker_bg_color 444444 tide_docker_color 2496ED tide_docker_default_contexts default colima -tide_docker_icon  tide_elixir_bg_color 444444 tide_elixir_color 4E2A8E -tide_elixir_icon  tide_gcloud_bg_color 444444 tide_gcloud_color 4285F4 -tide_gcloud_icon  tide_git_bg_color 444444 tide_git_bg_color_unstable 444444 tide_git_bg_color_urgent 444444 @@ -53,21 +38,16 @@ tide_git_color_staged $_tide_color_gold tide_git_color_stash $_tide_color_green tide_git_color_untracked $_tide_color_light_blue tide_git_color_upstream $_tide_color_green -tide_git_icon tide_git_truncation_length 24 tide_git_truncation_strategy tide_go_bg_color 444444 tide_go_color 00ACD7 -tide_go_icon  tide_java_bg_color 444444 tide_java_color ED8B00 -tide_java_icon  tide_jobs_bg_color 444444 tide_jobs_color $_tide_color_dark_green -tide_jobs_icon  tide_kubectl_bg_color 444444 tide_kubectl_color 326CE5 -tide_kubectl_icon ⎈ tide_left_prompt_frame_enabled true tide_left_prompt_items pwd git newline tide_left_prompt_prefix '' @@ -76,64 +56,53 @@ tide_left_prompt_separator_same_color  tide_left_prompt_suffix  tide_nix_shell_bg_color 444444 tide_nix_shell_color 7EBAE4 -tide_nix_shell_icon  tide_node_bg_color 444444 tide_node_color 44883E -tide_node_icon ⬢ tide_os_bg_color 444444 tide_os_color EEEEEE -tide_os_icon $os_branding_icon tide_php_bg_color 444444 tide_php_color 617CBE -tide_php_icon  tide_private_mode_bg_color 444444 tide_private_mode_color FFFFFF -tide_private_mode_icon 﫸 tide_prompt_add_newline_before true tide_prompt_color_frame_and_connection 6C6C6C tide_prompt_color_separator_same_color 949494 -tide_prompt_icon_connection ' ' tide_prompt_min_cols 34 tide_prompt_pad_items true +tide_prompt_transient_enabled false tide_pulumi_bg_color 444444 tide_pulumi_color F7BF2A -tide_pulumi_icon '' tide_pwd_bg_color 444444 tide_pwd_color_anchors $_tide_color_light_blue tide_pwd_color_dirs $_tide_color_dark_blue tide_pwd_color_truncated_dirs 8787AF -tide_pwd_icon -tide_pwd_icon_home -tide_pwd_icon_unwritable  tide_pwd_markers .bzr .citc .git .hg .node-version .python-version .ruby-version .shorten_folder_marker .svn .terraform Cargo.toml composer.json CVS go.mod package.json +tide_python_bg_color 444444 +tide_python_color 00AFAF tide_right_prompt_frame_enabled true -tide_right_prompt_items status cmd_duration context jobs direnv node virtual_env rustc java php pulumi chruby go gcloud kubectl distrobox toolbox terraform aws nix_shell crystal elixir +tide_right_prompt_items status cmd_duration context jobs direnv node python rustc java php pulumi ruby go gcloud kubectl distrobox toolbox terraform aws nix_shell crystal elixir tide_right_prompt_prefix  tide_right_prompt_separator_diff_color  tide_right_prompt_separator_same_color  tide_right_prompt_suffix '' +tide_ruby_bg_color 444444 +tide_ruby_color B31209 tide_rustc_bg_color 444444 tide_rustc_color F74C00 -tide_rustc_icon  tide_shlvl_bg_color 444444 tide_shlvl_color d78700 -tide_shlvl_icon  tide_shlvl_threshold 1 tide_status_bg_color 444444 tide_status_bg_color_failure 444444 tide_status_color $_tide_color_dark_green tide_status_color_failure D70000 -tide_status_icon ✔ -tide_status_icon_failure ✘ tide_terraform_bg_color 444444 tide_terraform_color 844FBA -tide_terraform_icon tide_time_bg_color 444444 tide_time_color 5F8787 tide_time_format %T tide_toolbox_bg_color 444444 tide_toolbox_color 613583 -tide_toolbox_icon ⬢ tide_vi_mode_bg_color_default 444444 tide_vi_mode_bg_color_insert 444444 tide_vi_mode_bg_color_replace 444444 @@ -142,10 +111,3 @@ tide_vi_mode_color_default 949494 tide_vi_mode_color_insert 87AFAF tide_vi_mode_color_replace 87AF87 tide_vi_mode_color_visual FF8700 -tide_vi_mode_icon_default D -tide_vi_mode_icon_insert I -tide_vi_mode_icon_replace R -tide_vi_mode_icon_visual V -tide_virtual_env_bg_color 444444 -tide_virtual_env_color 00AFAF -tide_virtual_env_icon  diff --git a/fish/functions/tide/configure/configs/classic_16color.fish b/fish/functions/tide/configure/configs/classic_16color.fish index 6043117..932279a 100644 --- a/fish/functions/tide/configure/configs/classic_16color.fish +++ b/fish/functions/tide/configure/configs/classic_16color.fish @@ -2,8 +2,6 @@ tide_aws_bg_color black tide_aws_color yellow tide_character_color brgreen tide_character_color_failure brred -tide_chruby_bg_color black -tide_chruby_color red tide_cmd_duration_bg_color black tide_cmd_duration_color brblack tide_context_bg_color black @@ -61,6 +59,10 @@ tide_pwd_bg_color black tide_pwd_color_anchors brcyan tide_pwd_color_dirs cyan tide_pwd_color_truncated_dirs magenta +tide_python_bg_color black +tide_python_color cyan +tide_ruby_bg_color black +tide_ruby_color red tide_rustc_bg_color black tide_rustc_color red tide_shlvl_bg_color black @@ -83,5 +85,3 @@ tide_vi_mode_color_default white tide_vi_mode_color_insert cyan tide_vi_mode_color_replace green tide_vi_mode_color_visual yellow -tide_virtual_env_bg_color black -tide_virtual_env_color cyan diff --git a/fish/functions/tide/configure/configs/lean.fish b/fish/functions/tide/configure/configs/lean.fish index 853bde9..8208e6e 100644 --- a/fish/functions/tide/configure/configs/lean.fish +++ b/fish/functions/tide/configure/configs/lean.fish @@ -1,19 +1,10 @@ tide_aws_bg_color normal tide_aws_color FF9900 -tide_aws_icon  tide_character_color $_tide_color_green tide_character_color_failure FF0000 -tide_character_icon ❯ -tide_character_vi_icon_default ❮ -tide_character_vi_icon_replace ▶ -tide_character_vi_icon_visual V -tide_chruby_bg_color normal -tide_chruby_color B31209 -tide_chruby_icon  tide_cmd_duration_bg_color normal tide_cmd_duration_color 87875F tide_cmd_duration_decimals 0 -tide_cmd_duration_icon tide_cmd_duration_threshold 3000 tide_context_always_display false tide_context_bg_color normal @@ -23,25 +14,19 @@ tide_context_color_ssh D7AF87 tide_context_hostname_parts 1 tide_crystal_bg_color normal tide_crystal_color FFFFFF -tide_crystal_icon ⬢ tide_direnv_bg_color normal tide_direnv_bg_color_denied normal tide_direnv_color $_tide_color_gold tide_direnv_color_denied FF0000 -tide_direnv_icon ▼ tide_distrobox_bg_color normal tide_distrobox_color FF00FF -tide_distrobox_icon ⬢ tide_docker_bg_color normal tide_docker_color 2496ED tide_docker_default_contexts default colima -tide_docker_icon  tide_elixir_bg_color normal tide_elixir_color 4E2A8E -tide_elixir_icon  tide_gcloud_bg_color normal tide_gcloud_color 4285F4 -tide_gcloud_icon  tide_git_bg_color normal tide_git_bg_color_unstable normal tide_git_bg_color_urgent normal @@ -53,21 +38,16 @@ tide_git_color_staged $_tide_color_gold tide_git_color_stash $_tide_color_green tide_git_color_untracked $_tide_color_light_blue tide_git_color_upstream $_tide_color_green -tide_git_icon tide_git_truncation_length 24 tide_git_truncation_strategy tide_go_bg_color normal tide_go_color 00ACD7 -tide_go_icon  tide_java_bg_color normal tide_java_color ED8B00 -tide_java_icon  tide_jobs_bg_color normal tide_jobs_color $_tide_color_dark_green -tide_jobs_icon  tide_kubectl_bg_color normal tide_kubectl_color 326CE5 -tide_kubectl_icon ⎈ tide_left_prompt_frame_enabled false tide_left_prompt_items pwd git newline character tide_left_prompt_prefix '' @@ -76,64 +56,53 @@ tide_left_prompt_separator_same_color ' ' tide_left_prompt_suffix ' ' tide_nix_shell_bg_color normal tide_nix_shell_color 7EBAE4 -tide_nix_shell_icon  tide_node_bg_color normal tide_node_color 44883E -tide_node_icon ⬢ tide_os_bg_color normal tide_os_color normal -tide_os_icon $os_branding_icon tide_php_bg_color normal tide_php_color 617CBE -tide_php_icon  tide_private_mode_bg_color normal tide_private_mode_color FFFFFF -tide_private_mode_icon 﫸 tide_prompt_add_newline_before true tide_prompt_color_frame_and_connection 6C6C6C tide_prompt_color_separator_same_color 949494 -tide_prompt_icon_connection ' ' tide_prompt_min_cols 34 tide_prompt_pad_items false +tide_prompt_transient_enabled false tide_pulumi_bg_color normal tide_pulumi_color F7BF2A -tide_pulumi_icon '' tide_pwd_bg_color normal tide_pwd_color_anchors $_tide_color_light_blue tide_pwd_color_dirs $_tide_color_dark_blue tide_pwd_color_truncated_dirs 8787AF -tide_pwd_icon -tide_pwd_icon_home -tide_pwd_icon_unwritable  tide_pwd_markers .bzr .citc .git .hg .node-version .python-version .ruby-version .shorten_folder_marker .svn .terraform Cargo.toml composer.json CVS go.mod package.json +tide_python_bg_color normal +tide_python_color 00AFAF tide_right_prompt_frame_enabled false -tide_right_prompt_items status cmd_duration context jobs direnv node virtual_env rustc java php pulumi chruby go gcloud kubectl distrobox toolbox terraform aws nix_shell crystal elixir +tide_right_prompt_items status cmd_duration context jobs direnv node python rustc java php pulumi ruby go gcloud kubectl distrobox toolbox terraform aws nix_shell crystal elixir tide_right_prompt_prefix ' ' tide_right_prompt_separator_diff_color ' ' tide_right_prompt_separator_same_color ' ' tide_right_prompt_suffix '' +tide_ruby_bg_color normal +tide_ruby_color B31209 tide_rustc_bg_color normal tide_rustc_color F74C00 -tide_rustc_icon  tide_shlvl_bg_color normal tide_shlvl_color d78700 -tide_shlvl_icon  tide_shlvl_threshold 1 tide_status_bg_color normal tide_status_bg_color_failure normal tide_status_color $_tide_color_dark_green tide_status_color_failure D70000 -tide_status_icon ✔ -tide_status_icon_failure ✘ tide_terraform_bg_color normal tide_terraform_color 844FBA -tide_terraform_icon tide_time_bg_color normal tide_time_color 5F8787 tide_time_format %T tide_toolbox_bg_color normal tide_toolbox_color 613583 -tide_toolbox_icon ⬢ tide_vi_mode_bg_color_default normal tide_vi_mode_bg_color_insert normal tide_vi_mode_bg_color_replace normal @@ -142,10 +111,3 @@ tide_vi_mode_color_default 949494 tide_vi_mode_color_insert 87AFAF tide_vi_mode_color_replace 87AF87 tide_vi_mode_color_visual FF8700 -tide_vi_mode_icon_default D -tide_vi_mode_icon_insert I -tide_vi_mode_icon_replace R -tide_vi_mode_icon_visual V -tide_virtual_env_bg_color normal -tide_virtual_env_color 00AFAF -tide_virtual_env_icon  diff --git a/fish/functions/tide/configure/configs/lean_16color.fish b/fish/functions/tide/configure/configs/lean_16color.fish index 546868d..5a1f726 100644 --- a/fish/functions/tide/configure/configs/lean_16color.fish +++ b/fish/functions/tide/configure/configs/lean_16color.fish @@ -2,8 +2,6 @@ tide_aws_bg_color normal tide_aws_color yellow tide_character_color brgreen tide_character_color_failure brred -tide_chruby_bg_color normal -tide_chruby_color red tide_cmd_duration_bg_color normal tide_cmd_duration_color brblack tide_context_bg_color normal @@ -61,6 +59,10 @@ tide_pwd_bg_color normal tide_pwd_color_anchors brcyan tide_pwd_color_dirs cyan tide_pwd_color_truncated_dirs magenta +tide_python_bg_color normal +tide_python_color cyan +tide_ruby_bg_color normal +tide_ruby_color red tide_rustc_bg_color normal tide_rustc_color red tide_shlvl_bg_color normal @@ -83,5 +85,3 @@ tide_vi_mode_color_default white tide_vi_mode_color_insert cyan tide_vi_mode_color_replace green tide_vi_mode_color_visual yellow -tide_virtual_env_bg_color normal -tide_virtual_env_color cyan diff --git a/fish/functions/tide/configure/configs/rainbow.fish b/fish/functions/tide/configure/configs/rainbow.fish index 5087f36..241895c 100644 --- a/fish/functions/tide/configure/configs/rainbow.fish +++ b/fish/functions/tide/configure/configs/rainbow.fish @@ -1,19 +1,10 @@ tide_aws_bg_color FF9900 tide_aws_color 232F3E -tide_aws_icon  tide_character_color $_tide_color_green tide_character_color_failure FF0000 -tide_character_icon ❯ -tide_character_vi_icon_default ❮ -tide_character_vi_icon_replace ▶ -tide_character_vi_icon_visual V -tide_chruby_bg_color B31209 -tide_chruby_color 000000 -tide_chruby_icon  tide_cmd_duration_bg_color C4A000 tide_cmd_duration_color 000000 tide_cmd_duration_decimals 0 -tide_cmd_duration_icon tide_cmd_duration_threshold 3000 tide_context_always_display false tide_context_bg_color 444444 @@ -23,25 +14,19 @@ tide_context_color_ssh D7AF87 tide_context_hostname_parts 1 tide_crystal_bg_color FFFFFF tide_crystal_color 000000 -tide_crystal_icon ⬢ tide_direnv_bg_color $_tide_color_gold tide_direnv_bg_color_denied FF0000 tide_direnv_color 000000 tide_direnv_color_denied 000000 -tide_direnv_icon ▼ tide_distrobox_bg_color FF00FF tide_distrobox_color 000000 -tide_distrobox_icon ⬢ tide_docker_bg_color 2496ED tide_docker_color 000000 tide_docker_default_contexts default colima -tide_docker_icon  tide_elixir_bg_color 4E2A8E tide_elixir_color 000000 -tide_elixir_icon  tide_gcloud_bg_color 4285F4 tide_gcloud_color 000000 -tide_gcloud_icon  tide_git_bg_color 4E9A06 tide_git_bg_color_unstable C4A000 tide_git_bg_color_urgent CC0000 @@ -53,21 +38,16 @@ tide_git_color_staged 000000 tide_git_color_stash 000000 tide_git_color_untracked 000000 tide_git_color_upstream 000000 -tide_git_icon tide_git_truncation_length 24 tide_git_truncation_strategy tide_go_bg_color 00ACD7 tide_go_color 000000 -tide_go_icon  tide_java_bg_color ED8B00 tide_java_color 000000 -tide_java_icon  tide_jobs_bg_color 444444 tide_jobs_color 4E9A06 -tide_jobs_icon  tide_kubectl_bg_color 326CE5 tide_kubectl_color 000000 -tide_kubectl_icon ⎈ tide_left_prompt_frame_enabled true tide_left_prompt_items pwd git newline tide_left_prompt_prefix '' @@ -76,64 +56,53 @@ tide_left_prompt_separator_same_color  tide_left_prompt_suffix  tide_nix_shell_bg_color 7EBAE4 tide_nix_shell_color 000000 -tide_nix_shell_icon  tide_node_bg_color 44883E tide_node_color 000000 -tide_node_icon ⬢ tide_os_bg_color $os_branding_bg_color tide_os_color $os_branding_color -tide_os_icon $os_branding_icon tide_php_bg_color 617CBE tide_php_color 000000 -tide_php_icon  tide_private_mode_bg_color F1F3F4 tide_private_mode_color 000000 -tide_private_mode_icon 﫸 tide_prompt_add_newline_before true tide_prompt_color_frame_and_connection 6C6C6C tide_prompt_color_separator_same_color 949494 -tide_prompt_icon_connection ' ' tide_prompt_min_cols 34 tide_prompt_pad_items true +tide_prompt_transient_enabled false tide_pulumi_bg_color F7BF2A tide_pulumi_color 000000 -tide_pulumi_icon '' tide_pwd_bg_color 3465A4 tide_pwd_color_anchors E4E4E4 tide_pwd_color_dirs E4E4E4 tide_pwd_color_truncated_dirs BCBCBC -tide_pwd_icon -tide_pwd_icon_home -tide_pwd_icon_unwritable  tide_pwd_markers .bzr .citc .git .hg .node-version .python-version .ruby-version .shorten_folder_marker .svn .terraform Cargo.toml composer.json CVS go.mod package.json +tide_python_bg_color 444444 +tide_python_color 00AFAF tide_right_prompt_frame_enabled true -tide_right_prompt_items status cmd_duration context jobs direnv node virtual_env rustc java php pulumi chruby go gcloud kubectl distrobox toolbox terraform aws nix_shell crystal elixir +tide_right_prompt_items status cmd_duration context jobs direnv node python rustc java php pulumi ruby go gcloud kubectl distrobox toolbox terraform aws nix_shell crystal elixir tide_right_prompt_prefix  tide_right_prompt_separator_diff_color  tide_right_prompt_separator_same_color  tide_right_prompt_suffix '' +tide_ruby_bg_color B31209 +tide_ruby_color 000000 tide_rustc_bg_color F74C00 tide_rustc_color 000000 -tide_rustc_icon  tide_shlvl_bg_color 808000 tide_shlvl_color 000000 -tide_shlvl_icon  tide_shlvl_threshold 1 tide_status_bg_color 2E3436 tide_status_bg_color_failure CC0000 tide_status_color 4E9A06 tide_status_color_failure FFFF00 -tide_status_icon ✔ -tide_status_icon_failure ✘ tide_terraform_bg_color 800080 tide_terraform_color 000000 -tide_terraform_icon tide_time_bg_color D3D7CF tide_time_color 000000 tide_time_format %T tide_toolbox_bg_color 613583 tide_toolbox_color 000000 -tide_toolbox_icon ⬢ tide_vi_mode_bg_color_default 949494 tide_vi_mode_bg_color_insert 87AFAF tide_vi_mode_bg_color_replace 87AF87 @@ -142,10 +111,3 @@ tide_vi_mode_color_default 000000 tide_vi_mode_color_insert 000000 tide_vi_mode_color_replace 000000 tide_vi_mode_color_visual 000000 -tide_vi_mode_icon_default D -tide_vi_mode_icon_insert I -tide_vi_mode_icon_replace R -tide_vi_mode_icon_visual V -tide_virtual_env_bg_color 444444 -tide_virtual_env_color 00AFAF -tide_virtual_env_icon  diff --git a/fish/functions/tide/configure/configs/rainbow_16color.fish b/fish/functions/tide/configure/configs/rainbow_16color.fish index 7803596..148f3df 100644 --- a/fish/functions/tide/configure/configs/rainbow_16color.fish +++ b/fish/functions/tide/configure/configs/rainbow_16color.fish @@ -2,8 +2,6 @@ tide_aws_bg_color yellow tide_aws_color brblack tide_character_color brgreen tide_character_color_failure brred -tide_chruby_bg_color red -tide_chruby_color black tide_cmd_duration_bg_color yellow tide_cmd_duration_color black tide_context_bg_color brblack @@ -61,6 +59,10 @@ tide_pwd_bg_color blue tide_pwd_color_anchors brwhite tide_pwd_color_dirs brwhite tide_pwd_color_truncated_dirs white +tide_python_bg_color brblack +tide_python_color cyan +tide_ruby_bg_color red +tide_ruby_color black tide_rustc_bg_color red tide_rustc_color black tide_shlvl_bg_color yellow @@ -87,5 +89,3 @@ tide_vi_mode_icon_default D tide_vi_mode_icon_insert I tide_vi_mode_icon_replace R tide_vi_mode_icon_visual V -tide_virtual_env_bg_color brblack -tide_virtual_env_color cyan diff --git a/fish/functions/tide/configure/functions/_fake_tide_item_character.fish b/fish/functions/tide/configure/functions/_fake_tide_item_character.fish index 73ae055..94892ec 100644 --- a/fish/functions/tide/configure/functions/_fake_tide_item_character.fish +++ b/fish/functions/tide/configure/functions/_fake_tide_item_character.fish @@ -1,5 +1,8 @@ function _fake_tide_item_character set_color $fake_tide_character_color - contains newline $fake_tide_left_prompt_items || echo -ns ' ' - echo -ns $fake_tide_character_icon + if contains newline $fake_tide_left_prompt_items || set -q _configure_transient + echo -ns $fake_tide_character_icon + else + echo -ns ' '$fake_tide_character_icon + end end diff --git a/fish/functions/tide/configure/icons.fish b/fish/functions/tide/configure/icons.fish new file mode 100644 index 0000000..f2d405b --- /dev/null +++ b/fish/functions/tide/configure/icons.fish @@ -0,0 +1,39 @@ +tide_aws_icon  # Actual aws glyph is harder to see +tide_character_icon ❯ +tide_character_vi_icon_default ❮ +tide_character_vi_icon_replace ▶ +tide_character_vi_icon_visual V +tide_cmd_duration_icon +tide_crystal_icon  +tide_direnv_icon ▼ +tide_distrobox_icon 󰆧 +tide_docker_icon  +tide_elixir_icon  +tide_gcloud_icon 󰊭 # Actual google cloud glyph is harder to see +tide_git_icon +tide_go_icon  +tide_java_icon  +tide_jobs_icon  +tide_kubectl_icon 󱃾 +tide_nix_shell_icon  +tide_node_icon  # Actual nodejs glyph is harder to see +tide_os_icon $os_branding_icon +tide_php_icon  +tide_private_mode_icon 󰗹 +tide_prompt_icon_connection ' ' +tide_pulumi_icon  +tide_pwd_icon +tide_pwd_icon_home +tide_pwd_icon_unwritable  +tide_python_icon 󰌠 +tide_ruby_icon  +tide_rustc_icon  +tide_shlvl_icon  +tide_status_icon ✔ +tide_status_icon_failure ✘ +tide_terraform_icon +tide_toolbox_icon  +tide_vi_mode_icon_default D +tide_vi_mode_icon_insert I +tide_vi_mode_icon_replace R +tide_vi_mode_icon_visual V diff --git a/i3/config b/i3/config new file mode 100644 index 0000000..df7e4c0 --- /dev/null +++ b/i3/config @@ -0,0 +1,192 @@ +# This file has been auto-generated by i3-config-wizard(1). +# It will not be overwritten, so edit it as you like. +# +# Should you change your keyboard layout some time, delete +# this file and re-run i3-config-wizard(1). +# + +# i3 config file (v4) +# +# Please see https://i3wm.org/docs/userguide.html for a complete reference! + +set $mod Mod4 + +# Font for window titles. Will also be used by the bar unless a different font +# is used in the bar {} block below. +font pango:monospace 8 + +# This font is widely installed, provides lots of unicode glyphs, right-to-left +# text rendering and scalability on retina/hidpi displays (thanks to pango). +#font pango:DejaVu Sans Mono 8 + +# Start XDG autostart .desktop files using dex. See also +# https://wiki.archlinux.org/index.php/XDG_Autostart +exec --no-startup-id dex --autostart --environment i3 + +# The combination of xss-lock, nm-applet and pactl is a popular choice, so +# they are included here as an example. Modify as you see fit. + +# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the +# screen before suspend. Use loginctl lock-session to lock your screen. +exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork + +# NetworkManager is the most popular way to manage wireless networks on Linux, +# and nm-applet is a desktop environment-independent system tray GUI for it. +exec --no-startup-id nm-applet + +# Use pactl to adjust volume in PulseAudio. +set $refresh_i3status killall -SIGUSR1 i3status +bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status +bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status +bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status +bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status + +# Use Mouse+$mod to drag floating windows to their wanted position +floating_modifier $mod + +# move tiling windows via drag & drop by left-clicking into the title bar, +# or left-clicking anywhere into the window while holding the floating modifier. +tiling_drag modifier titlebar + +# start a terminal +#bindsym $mod+Return exec i3-sensible-terminal + +# kill focused window +bindsym $mod+Shift+q kill + +# start dmenu (a program launcher) +#bindsym $mod+d exec --no-startup-id dmenu_run +# A more modern dmenu replacement is rofi: +# bindcode $mod+40 exec "rofi -modi drun,run -show drun" +# There also is i3-dmenu-desktop which only displays applications shipping a +# .desktop file. It is a wrapper around dmenu, so you need that installed. +# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop + +# change focus +#bindsym $mod+h focus left +#bindsym $mod+j focus down +#bindsym $mod+k focus up +#bindsym $mod+l focus right + +# alternatively, you can use the cursor keys: +bindsym $mod+Left focus left +bindsym $mod+Down focus down +bindsym $mod+Up focus up +bindsym $mod+Right focus right + +# move focused window +#bindsym $mod+Shift+j move left +#bindsym $mod+Shift+k move down +#bindsym $mod+Shift+l move up +#bindsym $mod+Shift+semicolon move right + +# alternatively, you can use the cursor keys: +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+Right move right + +# split in horizontal orientation +#bindsym $mod+h split h + +# split in vertical orientation +bindsym $mod+v split v + +# enter fullscreen mode for the focused container +bindsym $mod+f fullscreen toggle + +# change container layout (stacked, tabbed, toggle split) +bindsym $mod+s layout stacking +bindsym $mod+w layout tabbed +bindsym $mod+e layout toggle split + +# toggle tiling / floating +bindsym $mod+Shift+space floating toggle + +# change focus between tiling / floating windows +bindsym $mod+space focus mode_toggle + +# focus the parent container +bindsym $mod+a focus parent + +# focus the child container +#bindsym $mod+d focus child + +# Define names for default workspaces for which we configure key bindings later on. +# We use variables to avoid repeating the names in multiple places. +set $ws1 "1" +set $ws2 "2" +set $ws3 "3" +set $ws4 "4" +set $ws5 "5" +set $ws6 "6" +set $ws7 "7" +set $ws8 "8" +set $ws9 "9" +set $ws10 "10" + +# switch to workspace +bindsym $mod+1 workspace number $ws1 +bindsym $mod+2 workspace number $ws2 +bindsym $mod+3 workspace number $ws3 +bindsym $mod+4 workspace number $ws4 +bindsym $mod+5 workspace number $ws5 +bindsym $mod+6 workspace number $ws6 +bindsym $mod+7 workspace number $ws7 +bindsym $mod+8 workspace number $ws8 +bindsym $mod+9 workspace number $ws9 +bindsym $mod+0 workspace number $ws10 + +# move focused container to workspace +bindsym $mod+Shift+1 move container to workspace number $ws1 +bindsym $mod+Shift+2 move container to workspace number $ws2 +bindsym $mod+Shift+3 move container to workspace number $ws3 +bindsym $mod+Shift+4 move container to workspace number $ws4 +bindsym $mod+Shift+5 move container to workspace number $ws5 +bindsym $mod+Shift+6 move container to workspace number $ws6 +bindsym $mod+Shift+7 move container to workspace number $ws7 +bindsym $mod+Shift+8 move container to workspace number $ws8 +bindsym $mod+Shift+9 move container to workspace number $ws9 +bindsym $mod+Shift+0 move container to workspace number $ws10 + +# reload the configuration file +bindsym $mod+Shift+c reload +# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) +bindsym $mod+Shift+r restart +# exit i3 (logs you out of your X session) +bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'" + +# resize window (you can also use the mouse for that) +mode "resize" { + # These bindings trigger as soon as you enter the resize mode + + # Pressing left will shrink the window’s width. + # Pressing right will grow the window’s width. + # Pressing up will shrink the window’s height. + # Pressing down will grow the window’s height. + bindsym j resize shrink width 10 px or 10 ppt + bindsym k resize grow height 10 px or 10 ppt + bindsym l resize shrink height 10 px or 10 ppt + bindsym semicolon resize grow width 10 px or 10 ppt + + # same bindings, but for the arrow keys + bindsym Left resize shrink width 10 px or 10 ppt + bindsym Down resize grow height 10 px or 10 ppt + bindsym Up resize shrink height 10 px or 10 ppt + bindsym Right resize grow width 10 px or 10 ppt + + # back to normal: Enter or Escape or $mod+r + bindsym Return mode "default" + bindsym Escape mode "default" + bindsym $mod+r mode "default" +} + +bindsym $mod+r mode "resize" + +# Start i3bar to display a workspace bar (plus the system information i3status +# finds out, if available) +bar { + status_command i3status +} + +include ~/.config/i3/config.d/*.conf diff --git a/i3/config.d/catppuccin-mocha.conf b/i3/config.d/catppuccin-mocha.conf new file mode 100644 index 0000000..c02dda2 --- /dev/null +++ b/i3/config.d/catppuccin-mocha.conf @@ -0,0 +1,33 @@ +set $rosewater #f5e0dc +set $flamingo #f2cdcd +set $pink #f5c2e7 +set $mauve #cba6f7 +set $red #f38ba8 +set $maroon #eba0ac +set $peach #fab387 +set $green #a6e3a1 +set $teal #94e2d5 +set $sky #89dceb +set $sapphire #74c7ec +set $blue #89b4fa +set $lavender #b4befe +set $text #cdd6f4 +set $subtext1 #bac2de +set $subtext0 #a6adc8 +set $overlay2 #9399b2 +set $overlay1 #7f849c +set $overlay0 #6c7086 +set $surface2 #585b70 +set $surface1 #45475a +set $surface0 #313244 +set $base #1e1e2e +set $mantle #181825 +set $crust #11111b + +# target title bg text indicator border +client.focused $mauve $base $text $rosewater $mauve +client.focused_inactive $overlay0 $base $text $rosewater $overlay0 +client.unfocused $overlay0 $base $text $rosewater $overlay0 +client.urgent $mauve $base $mauve $overlay0 $mauve +client.placeholder $overlay0 $base $text $overlay0 $overlay0 +client.background $base diff --git a/i3/config.d/other.conf b/i3/config.d/other.conf new file mode 100644 index 0000000..e6b3524 --- /dev/null +++ b/i3/config.d/other.conf @@ -0,0 +1,8 @@ +for_window [window_role="pop-up"] floating enable +for_window [window_role="task_dialog"] floating enable + +# auth agent (the sudo popup) +exec --no-startup-id polkit + +# Run suspend-lock +#exec --no-startup-id xss-lock -- ~/.config/i3/scripts/suspend-lock.sh \ No newline at end of file diff --git a/i3/config.d/overrides.conf b/i3/config.d/overrides.conf new file mode 100644 index 0000000..699f1a4 --- /dev/null +++ b/i3/config.d/overrides.conf @@ -0,0 +1,15 @@ +bindsym $mod+d exec --no-startup-id j4-dmenu-desktop + +# Change to vi-style nav +bindsym $mod+h focus left +bindsym $mod+j focus down +bindsym $mod+k focus up +bindsym $mod+l focus right +bindsym $mod+Shift+h move left +bindsym $mod+Shift+j move down +bindsym $mod+Shift+k move up +bindsym $mod+Shift+l move right +bindsym $mod+semicolon split h + +# Change term to kitty +bindsym $mod+Return exec kitty \ No newline at end of file diff --git a/i3/scripts/suspend-lock.sh b/i3/scripts/suspend-lock.sh new file mode 100755 index 0000000..32981a0 --- /dev/null +++ b/i3/scripts/suspend-lock.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env sh +set -e +xset s dpms 0 0 0 +i3lock --color 202f56 --ignore-empty-password --show-failed-attempts --nofork +xset s off -dpms diff --git a/other-files/mesloLGS_NF_bold.ttf b/other-files/mesloLGS_NF_bold.ttf new file mode 100644 index 0000000..e0e3954 Binary files /dev/null and b/other-files/mesloLGS_NF_bold.ttf differ diff --git a/other-files/mesloLGS_NF_bold_italic.ttf b/other-files/mesloLGS_NF_bold_italic.ttf new file mode 100644 index 0000000..9548f2b Binary files /dev/null and b/other-files/mesloLGS_NF_bold_italic.ttf differ diff --git a/other-files/mesloLGS_NF_italic.ttf b/other-files/mesloLGS_NF_italic.ttf new file mode 100644 index 0000000..95c2cad Binary files /dev/null and b/other-files/mesloLGS_NF_italic.ttf differ diff --git a/other-files/mesloLGS_NF_regular.ttf b/other-files/mesloLGS_NF_regular.ttf new file mode 100644 index 0000000..88b8149 Binary files /dev/null and b/other-files/mesloLGS_NF_regular.ttf differ diff --git a/other-files/suspend-lock/laptop-lid b/other-files/suspend-lock/laptop-lid new file mode 100644 index 0000000..8b13d1c --- /dev/null +++ b/other-files/suspend-lock/laptop-lid @@ -0,0 +1,2 @@ +event=button/lid.* +action=/etc/ \ No newline at end of file diff --git a/other-files/suspend@.service b/other-files/suspend@.service new file mode 100644 index 0000000..79f3a75 --- /dev/null +++ b/other-files/suspend@.service @@ -0,0 +1,13 @@ +[Unit] +Description=Lock and suspend on lid closed +Before=sleep.target + +[Service] +User=%r +Type=forking +Environment=DISPLAY=:0 +ExecStart=/usr/bin/i3lock -ef -c 202f56 +ExecStartPost=/us/bin/sleep 1 + +[Install] +WantedBy=sleep.target \ No newline at end of file diff --git a/restore.sh b/restore.sh index d4b20f1..2bcab5c 100755 --- a/restore.sh +++ b/restore.sh @@ -7,9 +7,12 @@ rm -rf $HOME/.config/nvim/ rm -f $HOME/.gnupg/gpg-agent.conf rm -f $HOME/.gnupg/gpg.conf rm -rf $HOME/.config/VencordDesktop/VencordDesktop/ +rm -rf $HOME/.config/i3 cp -r $GIT_DIR/fish/ $HOME/.config/ cp $GIT_DIR/universal-shellrc.txt $HOME/.config/fish/conf.d/universal.fish +sudo mkdir /usr/share/fonts/meslolgs +sudo cp $GIT_DIR/other-files/*.ttf /usr/share/fonts/meslolgs/ cp -r $GIT_DIR/kitty/ $HOME/.config/ cp -r $GIT_DIR/nvim/ $HOME/.config/ @@ -18,4 +21,11 @@ mkdir $HOME/.gnupg cp -r $GIT_DIR/gnupg/* $HOME/.gnupg/ mkdir -p $HOME/.config/VencordDesktop/VencordDesktop/ -cp -r $GIT_DIR/VencordDesktop/* $HOME/.config/VencordDesktop/VencordDesktop/ \ No newline at end of file +cp -r $GIT_DIR/VencordDesktop/* $HOME/.config/VencordDesktop/VencordDesktop/ + +mkdir -p $HOME/.config/Code/User/ +cp $GIT_DIR/vscode/keybindings.json $HOME/.config/Code/User/ +cp $GIT_DIR/vscode/settings.json $HOME/.config/Code/User/ +#for ext in $(cat $GIT_DIR/vscode/extensions.txt); do code --install-extension $ext; done + +cp -r $GIT_DIR/i3 $HOME/.config/ \ No newline at end of file diff --git a/vscode/extensions.txt b/vscode/extensions.txt new file mode 100644 index 0000000..dd47aa3 --- /dev/null +++ b/vscode/extensions.txt @@ -0,0 +1,111 @@ +1YiB.rust-bundle +afmicc.GetterAndSetterGenerator +ahmadalli.vscode-nginx-conf +andischerer.theme-atom-one-dark +andresma.night-nord +aytee17.vscode-oceanic-next-sublime +azemoh.one-monokai +BeardedBear.beardedtheme +Catppuccin.catppuccin-vsc +Catppuccin.catppuccin-vsc-icons +codezombiech.gitignore +ctenbrinke.vscode-tsv +danielpinto8zz6.c-cpp-compile-run +DavidAnson.vscode-markdownlint +DiegoMolina.css-minify +dustypomerleau.rust-syntax +equinusocio.vsc-material-theme-icons +eserozvataf.one-dark-pro-monokai-darker +felipecaputo.git-project-manager +fisheva.eva-theme +formulahendry.code-runner +foxundermoon.shell-format +freebroccolo.theme-atom-one-dark +GitHub.copilot +GitHub.copilot-chat +GitHub.copilot-labs +GitHub.github-vscode-theme +GitHub.vscode-pull-request-github +GrapeCity.gc-excelviewer +Gruntfuggly.todo-tree +HarryHopkinson.vim-theme +hoovercj.vscode-settings-cycler +ItzSelenux.lm-theme +JoelCrosby.one-dark-darker +kisstkondoros.vscode-gutter-preview +kokoscript.loopytheme +manuth.markdown-converter +marlinfirmware.auto-build +marvhen.reflow-markdown +matthewpi.caddyfile-support +maximtrp.drone-ci +mechatroner.rainbow-csv +mhutchie.git-graph +mohd-akram.vscode-html-format +ms-azuretools.vscode-docker +ms-python.autopep8 +ms-python.black-formatter +ms-python.isort +ms-python.python +ms-python.vscode-pylance +ms-toolsai.jupyter +ms-toolsai.jupyter-keymap +ms-toolsai.jupyter-renderers +ms-toolsai.vscode-jupyter-cell-tags +ms-toolsai.vscode-jupyter-slideshow +ms-vscode-remote.remote-containers +ms-vscode-remote.remote-ssh +ms-vscode-remote.remote-ssh-edit +ms-vscode-remote.remote-wsl +ms-vscode-remote.vscode-remote-extensionpack +ms-vscode.cmake-tools +ms-vscode.cpptools +ms-vscode.cpptools-extension-pack +ms-vscode.cpptools-themes +ms-vscode.hexeditor +ms-vscode.live-server +ms-vscode.makefile-tools +ms-vscode.remote-explorer +ms-vscode.remote-server +ms-vscode.vscode-serial-monitor +mwpb.java-prettier-formatter +NicScott.gitkraken-dark +Nord.nord +Novy.vsc-gcode +phplasma.csv-to-table +Pilleye.dusk-theme +platformio.platformio-ide +raynigon.nginx-formatter +rdnlsmith.linux-themes +redhat.java +redhat.vscode-xml +redhat.vscode-yaml +RobbOwen.synthwave-vscode +rokoroku.vscode-theme-darcula +rust-lang.rust-analyzer +SanaAjani.taskrunnercode +serayuzgur.crates +ShahilKumar.docxreader +slevesque.vscode-zipexplorer +St0pien.min-darker +tatsy.vscode-3d-preview +teabyii.ayu +TheaFlowers.witch-hazel +tinkertrain.theme-panda +tlevesque2.duplicate-finder +tomoki1207.pdf +twxs.cmake +VinayKumar.vice +VisualStudioExptTeam.intellicode-api-usage-examples +VisualStudioExptTeam.vscodeintellicode +vsciot-vscode.vscode-arduino +vscjava.vscode-java-debug +vscjava.vscode-java-dependency +vscjava.vscode-java-pack +vscjava.vscode-java-test +vscjava.vscode-maven +vscodevim.vim +wayou.vscode-todo-highlight +yzhang.markdown-all-in-one +zamerick.vscode-caddyfile-syntax +zhuangtongfa.material-theme diff --git a/vscode/keybindings.json b/vscode/keybindings.json new file mode 100644 index 0000000..279e1b0 --- /dev/null +++ b/vscode/keybindings.json @@ -0,0 +1,11 @@ +// Place your key bindings in this file to override the defaults +[ + { + "key": "alt+\\", + "command": "settings.cycle.inlineCopilot", + }, + { + "key": "f10", + "command": "C_Cpp.BuildAndRunFile" + } +] \ No newline at end of file diff --git a/vscode/settings.json b/vscode/settings.json new file mode 100644 index 0000000..9d3bddd --- /dev/null +++ b/vscode/settings.json @@ -0,0 +1,72 @@ +{ + "editor.inlineSuggest.enabled": true, + "git.autofetch": true, + "github.copilot.enable": { + "*": true, + "plaintext": true, + "markdown": true, + "scminput": false, + "yaml": true, + "python": true + }, + "git.confirmSync": false, + "arduino.useArduinoCli": true, + "[python]": { + "editor.formatOnType": true, + "editor.defaultFormatter": "ms-python.autopep8" + }, + "[markdown]": { + "editor.defaultFormatter": "DavidAnson.vscode-markdownlint" + }, + "auto-build.defaultEnv.name": "STM32G0B1RE_btt", + "auto-build.build.silent": false, + "redhat.telemetry.enabled": false, + //"editor.rulers": [ + // 120 + //], + "telemetry.telemetryLevel": "off", + "security.workspace.trust.untrustedFiles": "open", + "keyboard.dispatch": "keyCode", + "vim.disableExtension": true, + "terminal.integrated.defaultProfile.linux": "fish", + "files.exclude": { + "tmp.md": true + }, + "[java]": { + "editor.defaultFormatter": "redhat.java" + }, + "[html]": { + "editor.defaultFormatter": "mohd-akram.vscode-html-format" + }, + "workbench.colorTheme": "Catppuccin Mocha", + "terminal.integrated.defaultProfile.windows": "PowerShell", + "terminal.integrated.profiles.windows": { + "PowerShell": { + "source": "PowerShell", + "icon": "terminal-powershell" + }, + "Command Prompt": { + "path": [ + "${env:windir}\\Sysnative\\cmd.exe", + "${env:windir}\\System32\\cmd.exe" + ], + "args": [], + "icon": "terminal-cmd" + }, + "Git Bash": { + "source": "Git Bash" + } + }, + "code-runner.runInTerminal": true, + "hexeditor.columnWidth": 32, + "hexeditor.showDecodedText": true, + "hexeditor.defaultEndianness": "little", + "hexeditor.inspectorType": "aside", + "[dockerfile]": { + "editor.defaultFormatter": "ms-azuretools.vscode-docker" + }, + "[nginx]": { + "editor.defaultFormatter": "raynigon.nginx-formatter" + }, + "workbench.iconTheme": "catppuccin-mocha" +} \ No newline at end of file