diff --git a/.chezmoiignore b/.chezmoiignore
new file mode 100644
index 0000000..de83174
--- /dev/null
+++ b/.chezmoiignore
@@ -0,0 +1,113 @@
+steam.desktop
+.config/freerdp
+.config/gh
+.config/git/ignore
+.config/github-copilot
+.config/glow
+.config/go
+.config/google-chrome
+.config/google-chrome-for-testing
+.config/gtk-3.0
+.config/gtk-4.0
+.config/htop
+.config/ibus
+.config/libvirt
+.config/lxqt
+.config/lxqt-mimeapps.list
+.config/me.proton.authenticator
+.config/menus
+.config/microsoft-edge
+.config/mods
+.config/mozilla
+.config/nautilus
+.config/obs-studio
+.config/opera
+.config/pcmanfm-qt
+.config/pda/identity.txt
+.config/pulse
+.config/qt5ct
+.config/qt6ct
+.config/qterminal.org
+.config/remmina
+.config/screengrab
+.config/simple-update-notifier
+.config/vesktop
+.config/vivaldi
+.config/vlc
+.config/weechat
+.dotnet
+.gnupg
+.ideavimrc
+.java
+.junie
+.local/bin/bolt
+.local/bin/claude
+.local/bin/clip
+.local/share
+.local/state
+.mozilla
+.npm
+.nuget
+.ollama
+.omnisharp
+.pki
+.pulse-cookie
+.python_history
+.runelite
+.runescape
+.runescape-1
+.ssh
+.steam
+.steampath
+.steampid
+.swt
+.tmux/plugins/*
+.var
+.vscode-oss
+.w3m
+Jagex
+dcim
+downloads
+go
+pda.ndjson.bak
+settings.json
+src
+.3T
+.aspnet
+.bash_history
+.bash_logout
+.bash_profile
+.cache
+.cargo
+.claude
+.claude.json
+.cobra.yaml
+.codex
+.config/BraveSoftware
+.config/Code - OSS
+.config/DankMaterialShell/.firstlaunch
+.config/DankMaterialShell/plugins/*
+.config/Electron
+.config/JetBrains
+.config/PrimeVideo
+.config/Proton Pass
+.config/QtProject.conf
+.config/Slack
+.config/astro
+.config/audacity
+.config/autostart
+.config/bolt-launcher
+.config/cava
+.config/chezmoi
+.config/chromium
+.config/dconf
+.config/dgop
+.config/environment.d
+.config/fcitx
+.config/fcitx5
+.config/fish/completions/orla.fish
+.config/fish/conf.d/fish_frozen_key_bindings.fish
+.config/fish/functions/c.fish
+.config/fish/functions/drafts.fish
+.config/fish/functions/sl.fish
+.config/fish/functions/vim.fish
diff --git a/dot_tmux/plugins/tpm/CHANGELOG.md b/dot_tmux/plugins/tpm/CHANGELOG.md
deleted file mode 100644
index a9ce81e..0000000
--- a/dot_tmux/plugins/tpm/CHANGELOG.md
+++ /dev/null
@@ -1,86 +0,0 @@
-# Changelog
-
-### master
-
-### v3.1.0, 2023-01-03
-- upgrade to new version of `tmux-test`
-- bug: when using `emacs` copy mode, Enter does not quit screen after tpm
- installation/update. Fix by making `Escape` the key for emacs mode.
-- add a doc with troubleshooting instructions
-- add `.gitattributes` file that forces linefeed characters (classic `\n`) as
- line endings - helps with misconfigured git on windows/cygwin
-- readme update: announce Cygwin support
-- un-deprecate old plugin definition syntax: `set -g @tpm_plugins`
-- More stuff, check `git log`.
-
-### v3.0.0, 2015-08-03
-- refactor `shared_set_tpm_path_constant` function
-- move all instructions to `docs/` dir
-- add `bin/install_plugins` cli executable script
-- improved test runner function
-- switch to using [tmux-test](https://github.com/tmux-plugins/tmux-test)
- framework
-- add `bin/update_plugins` cli executable script
-- refactor test `expect` scripts, make them simpler and ensure they properly
- assert expectations
-- refactor code that sets 'TMUX_PLUGIN_MANAGER_PATH' global env var
-- stop using global variable for 'tpm path'
-- support defining plugins via `set -g @plugin` in sourced files as well
-
-### v2.0.0, 2015-07-07
-- enable overriding default key bindings
-- start using `C-c` to clear screen
-- add uninstall/clean procedure and keybinding (prefix+alt+u) (@chilicuil)
-- add new `set @plugin 'repo'` plugin definition syntax (@chilicuil)
-- revert back to using `-g` flag in new plugin definition syntax
-- permit leading whitespace with new plugin definition syntax (thanks @chilicuil)
-- make sure `TMUX_PLUGIN_MANAGER_PATH` always has trailng slash
-- ensure old/deprecated plugin syntax `set -g @tpm_plugins` works alongside new
- `set -g @plugin` syntax
-
-### v1.2.2, 2015-02-08
-- set GIT_TERMINAL_PROMPT=0 when doing `git clone`, `pull` or `submodule update`
- to ensure git does not prompt for username/password in any case
-
-### v1.2.1, 2014-11-21
-- change the way plugin name is expanded. It now uses the http username
- and password by default, like this: `https://git::@github.com/`. This prevents
- username and password prompt (and subsequently tmux install hanging) with old
- git versions. Fixes #7.
-
-### v1.2.0, 2014-11-20
-- refactor tests so they can be used on travis
-- add travis.yml, add travis badge to the readme
-
-### v1.1.0, 2014-11-19
-- if the plugin is not downloaded do not source it
-- remove `PLUGINS.md`, an obsolete list of plugins
-- update readme with instructions about uninstalling plugins
-- tilde char and `$HOME` in `TMUX_SHARED_MANAGER_PATH` couldn't be used because
- they are just plain strings. Fixing the problem by manually expanding them.
-- bugfix: fragile `*.tmux` file globbing (@majutsushi)
-
-### v1.0.0, 2014-08-05
-- update readme because of github organization change to
- [tmux-plugins](https://github.com/tmux-plugins)
-- update tests to pass
-- update README to suggest different first plugin
-- update list of plugins in the README
-- remove README 'about' section
-- move key binding to the main file. Delete `key_binding.sh`.
-- rename `display_message` -> `echo_message`
-- installing plugins installs just new plugins. Already installed plugins aren't
- updated.
-- add 'update plugin' binding and functionality
-- add test for updating a plugin
-
-### v0.0.2, 2014-07-17
-- run all *.tmux plugin files as executables
-- fix all redirects to /dev/null
-- fix bug: TPM shared path is created before sync (cloning plugins from github
- is done)
-- add test suite running in Vagrant
-- add Tmux version check. `TPM` won't run if Tmux version is less than 1.9.
-
-### v0.0.1, 2014-05-21
-- get TPM up and running
diff --git a/dot_tmux/plugins/tpm/HOW_TO_PLUGIN.md b/dot_tmux/plugins/tpm/HOW_TO_PLUGIN.md
deleted file mode 100644
index 9901619..0000000
--- a/dot_tmux/plugins/tpm/HOW_TO_PLUGIN.md
+++ /dev/null
@@ -1,2 +0,0 @@
-Instructions moved to
-[docs/how_to_create_plugin.md](docs/how_to_create_plugin.md).
diff --git a/dot_tmux/plugins/tpm/LICENSE.md b/dot_tmux/plugins/tpm/LICENSE.md
deleted file mode 100644
index 1222865..0000000
--- a/dot_tmux/plugins/tpm/LICENSE.md
+++ /dev/null
@@ -1,20 +0,0 @@
-MIT license
-Copyright (C) 2014 Bruno Sutic
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the "Software"),
-to deal in the Software without restriction, including without limitation
-the rights to use, copy, modify, merge, publish, distribute, sublicense,
-and/or sell copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included
-in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
-OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/dot_tmux/plugins/tpm/README.md b/dot_tmux/plugins/tpm/README.md
deleted file mode 100644
index 2371863..0000000
--- a/dot_tmux/plugins/tpm/README.md
+++ /dev/null
@@ -1,101 +0,0 @@
-# Tmux Plugin Manager
-
-[](https://travis-ci.org/tmux-plugins/tpm)
-
-Installs and loads `tmux` plugins.
-
-Tested and working on Linux, OSX, and Cygwin.
-
-See list of plugins [here](https://github.com/tmux-plugins/list).
-
-### Installation
-
-Requirements: `tmux` version 1.9 (or higher), `git`, `bash`.
-
-Clone TPM:
-
-```bash
-git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
-```
-
-Put this at the bottom of `~/.tmux.conf` (`$XDG_CONFIG_HOME/tmux/tmux.conf`
-works too):
-
-```bash
-# List of plugins
-set -g @plugin 'tmux-plugins/tpm'
-set -g @plugin 'tmux-plugins/tmux-sensible'
-
-# Other examples:
-# set -g @plugin 'github_username/plugin_name'
-# set -g @plugin 'github_username/plugin_name#branch'
-# set -g @plugin 'git@github.com:user/plugin'
-# set -g @plugin 'git@bitbucket.com:user/plugin'
-
-# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
-run '~/.tmux/plugins/tpm/tpm'
-```
-
-Reload TMUX environment so TPM is sourced:
-
-```bash
-# type this in terminal if tmux is already running
-tmux source ~/.tmux.conf
-```
-
-That's it!
-
-### Installing plugins
-
-1. Add new plugin to `~/.tmux.conf` with `set -g @plugin '...'`
-2. Press `prefix` + I (capital i, as in **I**nstall) to fetch the plugin.
-
-You're good to go! The plugin was cloned to `~/.tmux/plugins/` dir and sourced.
-
-### Uninstalling plugins
-
-1. Remove (or comment out) plugin from the list.
-2. Press `prefix` + alt + u (lowercase u as in **u**ninstall) to remove the plugin.
-
-All the plugins are installed to `~/.tmux/plugins/` so alternatively you can
-find plugin directory there and remove it.
-
-### Key bindings
-
-`prefix` + I
-- Installs new plugins from GitHub or any other git repository
-- Refreshes TMUX environment
-
-`prefix` + U
-- updates plugin(s)
-
-`prefix` + alt + u
-- remove/uninstall plugins not on the plugin list
-
-### Docs
-
-- [Help, tpm not working](docs/tpm_not_working.md) - problem solutions
-
-More advanced features and instructions, regular users probably do not need
-this:
-
-- [How to create a plugin](docs/how_to_create_plugin.md). It's easy.
-- [Managing plugins via the command line](docs/managing_plugins_via_cmd_line.md)
-- [Changing plugins install dir](docs/changing_plugins_install_dir.md)
-- [Automatic TPM installation on a new machine](docs/automatic_tpm_installation.md)
-
-### Tests
-
-Tests for this project run on [Travis CI](https://travis-ci.org/tmux-plugins/tpm).
-
-When run locally, [vagrant](https://www.vagrantup.com/) is required.
-Run tests with:
-
-```bash
-# within project directory
-./run_tests
-```
-
-### License
-
-[MIT](LICENSE.md)
diff --git a/dot_tmux/plugins/tpm/bin/executable_clean_plugins b/dot_tmux/plugins/tpm/bin/executable_clean_plugins
deleted file mode 100644
index 12f8730..0000000
--- a/dot_tmux/plugins/tpm/bin/executable_clean_plugins
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/usr/bin/env bash
-
-# Script intended for use via the command line.
-#
-# `.tmux.conf` needs to be set for TPM. Tmux has to be installed on the system,
-# but does not need to be started in order to run this script.
-
-CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-SCRIPTS_DIR="$CURRENT_DIR/../scripts"
-
-main() {
- "$SCRIPTS_DIR/clean_plugins.sh" # has correct exit code
-}
-main
diff --git a/dot_tmux/plugins/tpm/bin/executable_install_plugins b/dot_tmux/plugins/tpm/bin/executable_install_plugins
deleted file mode 100644
index c66b15b..0000000
--- a/dot_tmux/plugins/tpm/bin/executable_install_plugins
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/usr/bin/env bash
-
-# Script intended for use via the command line.
-#
-# `.tmux.conf` needs to be set for TPM. Tmux has to be installed on the system,
-# but does not need to be started in order to run this script.
-
-CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-SCRIPTS_DIR="$CURRENT_DIR/../scripts"
-
-main() {
- "$SCRIPTS_DIR/install_plugins.sh" # has correct exit code
-}
-main
diff --git a/dot_tmux/plugins/tpm/bin/executable_update_plugins b/dot_tmux/plugins/tpm/bin/executable_update_plugins
deleted file mode 100644
index 30a5646..0000000
--- a/dot_tmux/plugins/tpm/bin/executable_update_plugins
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/usr/bin/env bash
-
-# Script intended for use via the command line.
-#
-# `.tmux.conf` needs to be set for TPM. Tmux has to be installed on the system,
-# but does not need to be started in order to run this script.
-
-CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-SCRIPTS_DIR="$CURRENT_DIR/../scripts"
-PROGRAM_NAME="$0"
-
-if [ $# -eq 0 ]; then
- echo "usage:"
- echo " $PROGRAM_NAME all update all plugins"
- echo " $PROGRAM_NAME tmux-foo update plugin 'tmux-foo'"
- echo " $PROGRAM_NAME tmux-bar tmux-baz update multiple plugins"
- exit 1
-fi
-
-main() {
- "$SCRIPTS_DIR/update_plugin.sh" --shell-echo "$*" # has correct exit code
-}
-main "$*"
-
diff --git a/dot_tmux/plugins/tpm/bindings/executable_clean_plugins b/dot_tmux/plugins/tpm/bindings/executable_clean_plugins
deleted file mode 100644
index 9a0d5d7..0000000
--- a/dot_tmux/plugins/tpm/bindings/executable_clean_plugins
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/usr/bin/env bash
-
-# Tmux key-binding script.
-# Scripts intended to be used via the command line are in `bin/` directory.
-
-CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-SCRIPTS_DIR="$CURRENT_DIR/../scripts"
-HELPERS_DIR="$SCRIPTS_DIR/helpers"
-
-source "$HELPERS_DIR/tmux_echo_functions.sh"
-source "$HELPERS_DIR/tmux_utils.sh"
-
-main() {
- reload_tmux_environment
- "$SCRIPTS_DIR/clean_plugins.sh" --tmux-echo >/dev/null 2>&1
- reload_tmux_environment
- end_message
-}
-main
diff --git a/dot_tmux/plugins/tpm/bindings/executable_install_plugins b/dot_tmux/plugins/tpm/bindings/executable_install_plugins
deleted file mode 100644
index 3ade3c4..0000000
--- a/dot_tmux/plugins/tpm/bindings/executable_install_plugins
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/usr/bin/env bash
-
-# Tmux key-binding script.
-# Scripts intended to be used via the command line are in `bin/` directory.
-
-CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-SCRIPTS_DIR="$CURRENT_DIR/../scripts"
-HELPERS_DIR="$SCRIPTS_DIR/helpers"
-
-source "$HELPERS_DIR/tmux_echo_functions.sh"
-source "$HELPERS_DIR/tmux_utils.sh"
-
-main() {
- reload_tmux_environment
- "$SCRIPTS_DIR/install_plugins.sh" --tmux-echo >/dev/null 2>&1
- reload_tmux_environment
- end_message
-}
-main
diff --git a/dot_tmux/plugins/tpm/bindings/executable_update_plugins b/dot_tmux/plugins/tpm/bindings/executable_update_plugins
deleted file mode 100644
index 28cc281..0000000
--- a/dot_tmux/plugins/tpm/bindings/executable_update_plugins
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/usr/bin/env bash
-
-# Tmux key-binding script.
-# Scripts intended to be used via the command line are in `bin/` directory.
-
-# This script:
-# - shows a list of installed plugins
-# - starts a prompt to enter the name of the plugin that will be updated
-
-CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-SCRIPTS_DIR="$CURRENT_DIR/../scripts"
-HELPERS_DIR="$SCRIPTS_DIR/helpers"
-
-source "$HELPERS_DIR/plugin_functions.sh"
-source "$HELPERS_DIR/tmux_echo_functions.sh"
-source "$HELPERS_DIR/tmux_utils.sh"
-
-display_plugin_update_list() {
- local plugins="$(tpm_plugins_list_helper)"
- tmux_echo "Installed plugins:"
- tmux_echo ""
-
- for plugin in $plugins; do
- # displaying only installed plugins
- if plugin_already_installed "$plugin"; then
- local plugin_name="$(plugin_name_helper "$plugin")"
- tmux_echo " $plugin_name"
- fi
- done
-
- tmux_echo ""
- tmux_echo "Type plugin name to update it."
- tmux_echo ""
- tmux_echo "- \"all\" - updates all plugins"
- tmux_echo "- ENTER - cancels"
-}
-
-update_plugin_prompt() {
- tmux command-prompt -p 'plugin update:' " \
- send-keys C-c; \
- run-shell '$SCRIPTS_DIR/update_plugin_prompt_handler.sh %1'"
-}
-
-main() {
- reload_tmux_environment
- display_plugin_update_list
- update_plugin_prompt
-}
-main
diff --git a/dot_tmux/plugins/tpm/docs/automatic_tpm_installation.md b/dot_tmux/plugins/tpm/docs/automatic_tpm_installation.md
deleted file mode 100644
index 630573f..0000000
--- a/dot_tmux/plugins/tpm/docs/automatic_tpm_installation.md
+++ /dev/null
@@ -1,12 +0,0 @@
-# Automatic tpm installation
-
-One of the first things we do on a new machine is cloning our dotfiles. Not everything comes with them though, so for example `tpm` most likely won't be installed.
-
-If you want to install `tpm` and plugins automatically when tmux is started, put the following snippet in `.tmux.conf` before the final `run '~/.tmux/plugins/tpm/tpm'`:
-
-```
-if "test ! -d ~/.tmux/plugins/tpm" \
- "run 'git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm && ~/.tmux/plugins/tpm/bin/install_plugins'"
-```
-
-This useful tip was submitted by @acr4 and narfman0.
diff --git a/dot_tmux/plugins/tpm/docs/changing_plugins_install_dir.md b/dot_tmux/plugins/tpm/docs/changing_plugins_install_dir.md
deleted file mode 100644
index 27de96d..0000000
--- a/dot_tmux/plugins/tpm/docs/changing_plugins_install_dir.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# Changing plugins install dir
-
-By default, TPM installs plugins in a subfolder named `plugins/` inside
-`$XDG_CONFIG_HOME/tmux/` if a `tmux.conf` file was found at that location, or
-inside `~/.tmux/` otherwise.
-
-You can change the install path by putting this in `.tmux.conf`:
-
- set-environment -g TMUX_PLUGIN_MANAGER_PATH '/some/other/path/'
-
-Tmux plugin manager initialization in `.tmux.conf` should also be updated:
-
- # initializes TMUX plugin manager in a new path
- run /some/other/path/tpm/tpm
-
-Please make sure that the `run` line is at the very bottom of `.tmux.conf`.
diff --git a/dot_tmux/plugins/tpm/docs/how_to_create_plugin.md b/dot_tmux/plugins/tpm/docs/how_to_create_plugin.md
deleted file mode 100644
index f7d9c13..0000000
--- a/dot_tmux/plugins/tpm/docs/how_to_create_plugin.md
+++ /dev/null
@@ -1,108 +0,0 @@
-# How to create Tmux plugins
-
-Creating a new plugin is easy.
-
-For demonstration purposes we'll create a simple plugin that lists all
-installed TPM plugins. Yes, a plugin that lists plugins :) We'll bind that to
-`prefix + T`.
-
-The source code for this example plugin can be found
-[here](https://github.com/tmux-plugins/tmux-example-plugin).
-
-### 1. create a new git project
-
-TPM depends on git for downloading and updating plugins.
-
-To create a new git project:
-
- $ mkdir tmux_my_plugin
- $ cd tmux_my_plugin
- $ git init
-
-### 2. create a `*.tmux` plugin run file
-
-When it sources a plugin, TPM executes all `*.tmux` files in your plugins'
-directory. That's how plugins are run.
-
-Create a plugin run file in plugin directory:
-
- $ touch my_plugin.tmux
- $ chmod u+x my_plugin.tmux
-
-You can have more than one `*.tmux` file, and all will get executed. However, usually
-you'll need just one.
-
-### 3. create a plugin key binding
-
-We want the behavior of the plugin to trigger when a user hits `prefix + T`.
-
-Key `T` is chosen because:
- - it's "kind of" a mnemonic for `TPM`
- - the key is not used by Tmux natively. Tmux man page, KEY BINDINGS section
- contains a list of all the bindings Tmux uses. There's plenty of unused keys
- and we don't want to override any of Tmux default key bindings.
-
-Open the plugin run file in your favorite text editor:
-
- $ vim my_plugin.tmux
- # or
- $ subl my_plugin.tmux
-
-Put the following content in the file:
-
- #!/usr/bin/env bash
-
- CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
- tmux bind-key T run-shell "$CURRENT_DIR/scripts/tmux_list_plugins.sh"
-
-As you can see, plugin run file is a simple bash script that sets up the binding.
-
-When pressed, `prefix + T` will execute another shell script:
-`tmux_list_plugins.sh`. That script should be in `scripts/` directory -
-relative to the plugin run file.
-
-
-### 4. listing plugins
-
-Now that we have the binding, let's create a script that's invoked with
-`prefix + T`.
-
- $ mkdir scripts
- $ touch scripts/tmux_list_plugins.sh
- $ chmod u+x scripts/tmux_list_plugins.sh
-
-And here's the script content:
-
- #!/usr/bin/env bash
-
- # fetching the directory where plugins are installed
- plugin_path="$(tmux show-env -g TMUX_PLUGIN_MANAGER_PATH | cut -f2 -d=)"
-
- # listing installed plugins
- ls -1 "$plugin_path"
-
-### 5. try it out
-
-To see if this works, execute the plugin run file:
-
- $ ./my_plugin.tmux
-
-That should set up the key binding. Now hit `prefix + T` and see if it works.
-
-### 6. publish the plugin
-
-When everything is ready, push the plugin to an online git repository,
-preferably GitHub.
-
-Other users can install your plugin by just adding plugin git URL to the
-`@plugin` list in their `.tmux.conf`.
-
-If the plugin is on GitHub, your users will be able to use the shorthand of
-`github_username/repository`.
-
-### Conclusion
-
-Hopefully, that was easy. As you can see, it's mostly shell scripting.
-
-You can use other scripting languages (ruby, python etc) but plain old shell
-is preferred because of portability.
diff --git a/dot_tmux/plugins/tpm/docs/managing_plugins_via_cmd_line.md b/dot_tmux/plugins/tpm/docs/managing_plugins_via_cmd_line.md
deleted file mode 100644
index 7aefd7d..0000000
--- a/dot_tmux/plugins/tpm/docs/managing_plugins_via_cmd_line.md
+++ /dev/null
@@ -1,36 +0,0 @@
-# Managing plugins via the command line
-
-Aside from tmux key bindings, TPM provides shell interface for managing plugins
-via scripts located in [bin/](../bin/) directory.
-
-Tmux does not need to be started in order to run scripts (but it's okay if it
-is). If you [changed tpm install dir](../docs/changing_plugins_install_dir.md)
-in `.tmux.conf` that should work fine too.
-
-Prerequisites:
-
-- tmux installed on the system (doh)
-- `.tmux.conf` set up for TPM
-
-### Installing plugins
-
-As usual, plugins need to be specified in `.tmux.conf`. Run the following
-command to install plugins:
-
- ~/.tmux/plugins/tpm/bin/install_plugins
-
-### Updating plugins
-
-To update all installed plugins:
-
- ~/.tmux/plugins/tpm/bin/update_plugins all
-
-or update a single plugin:
-
- ~/.tmux/plugins/tpm/bin/update_plugins tmux-sensible
-
-### Removing plugins
-
-To remove plugins not on the plugin list:
-
- ~/.tmux/plugins/tpm/bin/clean_plugins
diff --git a/dot_tmux/plugins/tpm/docs/tpm_not_working.md b/dot_tmux/plugins/tpm/docs/tpm_not_working.md
deleted file mode 100644
index 6680291..0000000
--- a/dot_tmux/plugins/tpm/docs/tpm_not_working.md
+++ /dev/null
@@ -1,102 +0,0 @@
-# Help, tpm not working!
-
-Here's the list of issues users had with `tpm`:
-
-
-
-> Nothing works. `tpm` key bindings `prefix + I`, `prefix + U` not even
- defined.
-
-Related [issue #22](https://github.com/tmux-plugins/tpm/issues/22)
-
-- Do you have required `tmux` version to run `tpm`?
- Check `tmux` version with `$ tmux -V` command and make sure it's higher or
- equal to the required version for `tpm` as stated in the readme.
-
-- ZSH tmux plugin might be causing issues.
- If you have it installed, try disabling it and see if `tpm` works then.
-
-
-
-> Help, I'm using custom config file with `tmux -f /path/to/my_tmux.conf`
-to start Tmux and for some reason plugins aren't loaded!?
-
-Related [issue #57](https://github.com/tmux-plugins/tpm/issues/57)
-
-`tpm` has a known issue when using custom config file with `-f` option.
-The solution is to use alternative plugin definition syntax. Here are the steps
-to make it work:
-
-1. remove all `set -g @plugin` lines from tmux config file
-2. in the config file define the plugins in the following way:
-
- # List of plugins
- set -g @tpm_plugins ' \
- tmux-plugins/tpm \
- tmux-plugins/tmux-sensible \
- tmux-plugins/tmux-resurrect \
- '
-
- # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
- run '~/.tmux/plugins/tpm/tpm'
-
-3. Reload TMUX environment so TPM is sourced: `$ tmux source /path/to/my_tmux.conf`
-
-The plugins should now be working.
-
-
-
-> Weird sequence of characters show up when installing or updating plugins
-
-Related: [issue #25](https://github.com/tmux-plugins/tpm/issues/25)
-
-- This could be caused by [tmuxline.vim](https://github.com/edkolev/tmuxline.vim)
- plugin. Uninstall it and see if things work.
-
-
-
-> "failed to connect to server" error when sourcing .tmux.conf
-
-Related: [issue #48](https://github.com/tmux-plugins/tpm/issues/48)
-
-- Make sure `tmux source ~/.tmux.conf` command is ran from inside `tmux`.
-
-
-
-> tpm not working: '~/.tmux/plugins/tpm/tpm' returned 2 (Windows / Cygwin)
-
-Related: [issue #81](https://github.com/tmux-plugins/tpm/issues/81)
-
-This issue is most likely caused by Windows line endings. For example, if you
-have git's `core.autocrlf` option set to `true`, git will automatically convert
-all the files to Windows line endings which might cause a problem.
-
-The solution is to convert all line ending to Unix newline characters. This
-command handles that for all files under `.tmux/` dir (skips `.git`
-subdirectories):
-
-```bash
-find ~/.tmux -type d -name '.git*' -prune -o -type f -print0 | xargs -0 dos2unix
-```
-
-
-
-> '~/.tmux/plugins/tpm/tpm' returned 127 (on macOS, w/ tmux installed using brew)
-
-Related: [issue #67](https://github.com/tmux-plugins/tpm/issues/67)
-
-This problem is because tmux's `run-shell` command runs a shell which doesn't read from user configs, thus tmux installed in a brew prefix (e.g. `/usr/local/bin`) will not be found.
-
-The solution is to find your brew prefix
-
-```sh
-> echo "$(brew --prefix)/bin"
-/opt/homebrew/bin
-```
-
-And prepend it to the `PATH` environment variable
-```
-set-environment -g PATH "/opt/homebrew/bin:/bin:/usr/bin"
-```
-
-before any `run-shell`/`run` commands in `~/.tmux.conf`.
diff --git a/dot_tmux/plugins/tpm/dot_git/HEAD b/dot_tmux/plugins/tpm/dot_git/HEAD
deleted file mode 100644
index cb089cd..0000000
--- a/dot_tmux/plugins/tpm/dot_git/HEAD
+++ /dev/null
@@ -1 +0,0 @@
-ref: refs/heads/master
diff --git a/dot_tmux/plugins/tpm/dot_git/config b/dot_tmux/plugins/tpm/dot_git/config
deleted file mode 100644
index e20a621..0000000
--- a/dot_tmux/plugins/tpm/dot_git/config
+++ /dev/null
@@ -1,11 +0,0 @@
-[core]
- repositoryformatversion = 0
- filemode = true
- bare = false
- logallrefupdates = true
-[remote "origin"]
- url = https://github.com/tmux-plugins/tpm
- fetch = +refs/heads/*:refs/remotes/origin/*
-[branch "master"]
- remote = origin
- merge = refs/heads/master
diff --git a/dot_tmux/plugins/tpm/dot_git/description b/dot_tmux/plugins/tpm/dot_git/description
deleted file mode 100644
index 498b267..0000000
--- a/dot_tmux/plugins/tpm/dot_git/description
+++ /dev/null
@@ -1 +0,0 @@
-Unnamed repository; edit this file 'description' to name the repository.
diff --git a/dot_tmux/plugins/tpm/dot_git/hooks/executable_applypatch-msg.sample b/dot_tmux/plugins/tpm/dot_git/hooks/executable_applypatch-msg.sample
deleted file mode 100644
index a5d7b84..0000000
--- a/dot_tmux/plugins/tpm/dot_git/hooks/executable_applypatch-msg.sample
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to check the commit log message taken by
-# applypatch from an e-mail message.
-#
-# The hook should exit with non-zero status after issuing an
-# appropriate message if it wants to stop the commit. The hook is
-# allowed to edit the commit message file.
-#
-# To enable this hook, rename this file to "applypatch-msg".
-
-. git-sh-setup
-commitmsg="$(git rev-parse --git-path hooks/commit-msg)"
-test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"}
-:
diff --git a/dot_tmux/plugins/tpm/dot_git/hooks/executable_commit-msg.sample b/dot_tmux/plugins/tpm/dot_git/hooks/executable_commit-msg.sample
deleted file mode 100644
index b58d118..0000000
--- a/dot_tmux/plugins/tpm/dot_git/hooks/executable_commit-msg.sample
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to check the commit log message.
-# Called by "git commit" with one argument, the name of the file
-# that has the commit message. The hook should exit with non-zero
-# status after issuing an appropriate message if it wants to stop the
-# commit. The hook is allowed to edit the commit message file.
-#
-# To enable this hook, rename this file to "commit-msg".
-
-# Uncomment the below to add a Signed-off-by line to the message.
-# Doing this in a hook is a bad idea in general, but the prepare-commit-msg
-# hook is more suited to it.
-#
-# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
-# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
-
-# This example catches duplicate Signed-off-by lines.
-
-test "" = "$(grep '^Signed-off-by: ' "$1" |
- sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || {
- echo >&2 Duplicate Signed-off-by lines.
- exit 1
-}
diff --git a/dot_tmux/plugins/tpm/dot_git/hooks/executable_fsmonitor-watchman.sample b/dot_tmux/plugins/tpm/dot_git/hooks/executable_fsmonitor-watchman.sample
deleted file mode 100644
index 23e856f..0000000
--- a/dot_tmux/plugins/tpm/dot_git/hooks/executable_fsmonitor-watchman.sample
+++ /dev/null
@@ -1,174 +0,0 @@
-#!/usr/bin/perl
-
-use strict;
-use warnings;
-use IPC::Open2;
-
-# An example hook script to integrate Watchman
-# (https://facebook.github.io/watchman/) with git to speed up detecting
-# new and modified files.
-#
-# The hook is passed a version (currently 2) and last update token
-# formatted as a string and outputs to stdout a new update token and
-# all files that have been modified since the update token. Paths must
-# be relative to the root of the working tree and separated by a single NUL.
-#
-# To enable this hook, rename this file to "query-watchman" and set
-# 'git config core.fsmonitor .git/hooks/query-watchman'
-#
-my ($version, $last_update_token) = @ARGV;
-
-# Uncomment for debugging
-# print STDERR "$0 $version $last_update_token\n";
-
-# Check the hook interface version
-if ($version ne 2) {
- die "Unsupported query-fsmonitor hook version '$version'.\n" .
- "Falling back to scanning...\n";
-}
-
-my $git_work_tree = get_working_dir();
-
-my $retry = 1;
-
-my $json_pkg;
-eval {
- require JSON::XS;
- $json_pkg = "JSON::XS";
- 1;
-} or do {
- require JSON::PP;
- $json_pkg = "JSON::PP";
-};
-
-launch_watchman();
-
-sub launch_watchman {
- my $o = watchman_query();
- if (is_work_tree_watched($o)) {
- output_result($o->{clock}, @{$o->{files}});
- }
-}
-
-sub output_result {
- my ($clockid, @files) = @_;
-
- # Uncomment for debugging watchman output
- # open (my $fh, ">", ".git/watchman-output.out");
- # binmode $fh, ":utf8";
- # print $fh "$clockid\n@files\n";
- # close $fh;
-
- binmode STDOUT, ":utf8";
- print $clockid;
- print "\0";
- local $, = "\0";
- print @files;
-}
-
-sub watchman_clock {
- my $response = qx/watchman clock "$git_work_tree"/;
- die "Failed to get clock id on '$git_work_tree'.\n" .
- "Falling back to scanning...\n" if $? != 0;
-
- return $json_pkg->new->utf8->decode($response);
-}
-
-sub watchman_query {
- my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty')
- or die "open2() failed: $!\n" .
- "Falling back to scanning...\n";
-
- # In the query expression below we're asking for names of files that
- # changed since $last_update_token but not from the .git folder.
- #
- # To accomplish this, we're using the "since" generator to use the
- # recency index to select candidate nodes and "fields" to limit the
- # output to file names only. Then we're using the "expression" term to
- # further constrain the results.
- my $last_update_line = "";
- if (substr($last_update_token, 0, 1) eq "c") {
- $last_update_token = "\"$last_update_token\"";
- $last_update_line = qq[\n"since": $last_update_token,];
- }
- my $query = <<" END";
- ["query", "$git_work_tree", {$last_update_line
- "fields": ["name"],
- "expression": ["not", ["dirname", ".git"]]
- }]
- END
-
- # Uncomment for debugging the watchman query
- # open (my $fh, ">", ".git/watchman-query.json");
- # print $fh $query;
- # close $fh;
-
- print CHLD_IN $query;
- close CHLD_IN;
- my $response = do {local $/; };
-
- # Uncomment for debugging the watch response
- # open ($fh, ">", ".git/watchman-response.json");
- # print $fh $response;
- # close $fh;
-
- die "Watchman: command returned no output.\n" .
- "Falling back to scanning...\n" if $response eq "";
- die "Watchman: command returned invalid output: $response\n" .
- "Falling back to scanning...\n" unless $response =~ /^\{/;
-
- return $json_pkg->new->utf8->decode($response);
-}
-
-sub is_work_tree_watched {
- my ($output) = @_;
- my $error = $output->{error};
- if ($retry > 0 and $error and $error =~ m/unable to resolve root .* directory (.*) is not watched/) {
- $retry--;
- my $response = qx/watchman watch "$git_work_tree"/;
- die "Failed to make watchman watch '$git_work_tree'.\n" .
- "Falling back to scanning...\n" if $? != 0;
- $output = $json_pkg->new->utf8->decode($response);
- $error = $output->{error};
- die "Watchman: $error.\n" .
- "Falling back to scanning...\n" if $error;
-
- # Uncomment for debugging watchman output
- # open (my $fh, ">", ".git/watchman-output.out");
- # close $fh;
-
- # Watchman will always return all files on the first query so
- # return the fast "everything is dirty" flag to git and do the
- # Watchman query just to get it over with now so we won't pay
- # the cost in git to look up each individual file.
- my $o = watchman_clock();
- $error = $output->{error};
-
- die "Watchman: $error.\n" .
- "Falling back to scanning...\n" if $error;
-
- output_result($o->{clock}, ("/"));
- $last_update_token = $o->{clock};
-
- eval { launch_watchman() };
- return 0;
- }
-
- die "Watchman: $error.\n" .
- "Falling back to scanning...\n" if $error;
-
- return 1;
-}
-
-sub get_working_dir {
- my $working_dir;
- if ($^O =~ 'msys' || $^O =~ 'cygwin') {
- $working_dir = Win32::GetCwd();
- $working_dir =~ tr/\\/\//;
- } else {
- require Cwd;
- $working_dir = Cwd::cwd();
- }
-
- return $working_dir;
-}
diff --git a/dot_tmux/plugins/tpm/dot_git/hooks/executable_post-update.sample b/dot_tmux/plugins/tpm/dot_git/hooks/executable_post-update.sample
deleted file mode 100644
index ec17ec1..0000000
--- a/dot_tmux/plugins/tpm/dot_git/hooks/executable_post-update.sample
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to prepare a packed repository for use over
-# dumb transports.
-#
-# To enable this hook, rename this file to "post-update".
-
-exec git update-server-info
diff --git a/dot_tmux/plugins/tpm/dot_git/hooks/executable_pre-applypatch.sample b/dot_tmux/plugins/tpm/dot_git/hooks/executable_pre-applypatch.sample
deleted file mode 100644
index 4142082..0000000
--- a/dot_tmux/plugins/tpm/dot_git/hooks/executable_pre-applypatch.sample
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to verify what is about to be committed
-# by applypatch from an e-mail message.
-#
-# The hook should exit with non-zero status after issuing an
-# appropriate message if it wants to stop the commit.
-#
-# To enable this hook, rename this file to "pre-applypatch".
-
-. git-sh-setup
-precommit="$(git rev-parse --git-path hooks/pre-commit)"
-test -x "$precommit" && exec "$precommit" ${1+"$@"}
-:
diff --git a/dot_tmux/plugins/tpm/dot_git/hooks/executable_pre-commit.sample b/dot_tmux/plugins/tpm/dot_git/hooks/executable_pre-commit.sample
deleted file mode 100644
index 29ed5ee..0000000
--- a/dot_tmux/plugins/tpm/dot_git/hooks/executable_pre-commit.sample
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to verify what is about to be committed.
-# Called by "git commit" with no arguments. The hook should
-# exit with non-zero status after issuing an appropriate message if
-# it wants to stop the commit.
-#
-# To enable this hook, rename this file to "pre-commit".
-
-if git rev-parse --verify HEAD >/dev/null 2>&1
-then
- against=HEAD
-else
- # Initial commit: diff against an empty tree object
- against=$(git hash-object -t tree /dev/null)
-fi
-
-# If you want to allow non-ASCII filenames set this variable to true.
-allownonascii=$(git config --type=bool hooks.allownonascii)
-
-# Redirect output to stderr.
-exec 1>&2
-
-# Cross platform projects tend to avoid non-ASCII filenames; prevent
-# them from being added to the repository. We exploit the fact that the
-# printable range starts at the space character and ends with tilde.
-if [ "$allownonascii" != "true" ] &&
- # Note that the use of brackets around a tr range is ok here, (it's
- # even required, for portability to Solaris 10's /usr/bin/tr), since
- # the square bracket bytes happen to fall in the designated range.
- test $(git diff-index --cached --name-only --diff-filter=A -z $against |
- LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0
-then
- cat <<\EOF
-Error: Attempt to add a non-ASCII file name.
-
-This can cause problems if you want to work with people on other platforms.
-
-To be portable it is advisable to rename the file.
-
-If you know what you are doing you can disable this check using:
-
- git config hooks.allownonascii true
-EOF
- exit 1
-fi
-
-# If there are whitespace errors, print the offending file names and fail.
-exec git diff-index --check --cached $against --
diff --git a/dot_tmux/plugins/tpm/dot_git/hooks/executable_pre-merge-commit.sample b/dot_tmux/plugins/tpm/dot_git/hooks/executable_pre-merge-commit.sample
deleted file mode 100644
index 399eab1..0000000
--- a/dot_tmux/plugins/tpm/dot_git/hooks/executable_pre-merge-commit.sample
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to verify what is about to be committed.
-# Called by "git merge" with no arguments. The hook should
-# exit with non-zero status after issuing an appropriate message to
-# stderr if it wants to stop the merge commit.
-#
-# To enable this hook, rename this file to "pre-merge-commit".
-
-. git-sh-setup
-test -x "$GIT_DIR/hooks/pre-commit" &&
- exec "$GIT_DIR/hooks/pre-commit"
-:
diff --git a/dot_tmux/plugins/tpm/dot_git/hooks/executable_pre-push.sample b/dot_tmux/plugins/tpm/dot_git/hooks/executable_pre-push.sample
deleted file mode 100644
index 4ce688d..0000000
--- a/dot_tmux/plugins/tpm/dot_git/hooks/executable_pre-push.sample
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/bin/sh
-
-# An example hook script to verify what is about to be pushed. Called by "git
-# push" after it has checked the remote status, but before anything has been
-# pushed. If this script exits with a non-zero status nothing will be pushed.
-#
-# This hook is called with the following parameters:
-#
-# $1 -- Name of the remote to which the push is being done
-# $2 -- URL to which the push is being done
-#
-# If pushing without using a named remote those arguments will be equal.
-#
-# Information about the commits which are being pushed is supplied as lines to
-# the standard input in the form:
-#
-#
-#
-# This sample shows how to prevent push of commits where the log message starts
-# with "WIP" (work in progress).
-
-remote="$1"
-url="$2"
-
-zero=$(git hash-object --stdin &2 "Found WIP commit in $local_ref, not pushing"
- exit 1
- fi
- fi
-done
-
-exit 0
diff --git a/dot_tmux/plugins/tpm/dot_git/hooks/executable_pre-rebase.sample b/dot_tmux/plugins/tpm/dot_git/hooks/executable_pre-rebase.sample
deleted file mode 100644
index 6cbef5c..0000000
--- a/dot_tmux/plugins/tpm/dot_git/hooks/executable_pre-rebase.sample
+++ /dev/null
@@ -1,169 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 2006, 2008 Junio C Hamano
-#
-# The "pre-rebase" hook is run just before "git rebase" starts doing
-# its job, and can prevent the command from running by exiting with
-# non-zero status.
-#
-# The hook is called with the following parameters:
-#
-# $1 -- the upstream the series was forked from.
-# $2 -- the branch being rebased (or empty when rebasing the current branch).
-#
-# This sample shows how to prevent topic branches that are already
-# merged to 'next' branch from getting rebased, because allowing it
-# would result in rebasing already published history.
-
-publish=next
-basebranch="$1"
-if test "$#" = 2
-then
- topic="refs/heads/$2"
-else
- topic=`git symbolic-ref HEAD` ||
- exit 0 ;# we do not interrupt rebasing detached HEAD
-fi
-
-case "$topic" in
-refs/heads/??/*)
- ;;
-*)
- exit 0 ;# we do not interrupt others.
- ;;
-esac
-
-# Now we are dealing with a topic branch being rebased
-# on top of master. Is it OK to rebase it?
-
-# Does the topic really exist?
-git show-ref -q "$topic" || {
- echo >&2 "No such branch $topic"
- exit 1
-}
-
-# Is topic fully merged to master?
-not_in_master=`git rev-list --pretty=oneline ^master "$topic"`
-if test -z "$not_in_master"
-then
- echo >&2 "$topic is fully merged to master; better remove it."
- exit 1 ;# we could allow it, but there is no point.
-fi
-
-# Is topic ever merged to next? If so you should not be rebasing it.
-only_next_1=`git rev-list ^master "^$topic" ${publish} | sort`
-only_next_2=`git rev-list ^master ${publish} | sort`
-if test "$only_next_1" = "$only_next_2"
-then
- not_in_topic=`git rev-list "^$topic" master`
- if test -z "$not_in_topic"
- then
- echo >&2 "$topic is already up to date with master"
- exit 1 ;# we could allow it, but there is no point.
- else
- exit 0
- fi
-else
- not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"`
- /usr/bin/perl -e '
- my $topic = $ARGV[0];
- my $msg = "* $topic has commits already merged to public branch:\n";
- my (%not_in_next) = map {
- /^([0-9a-f]+) /;
- ($1 => 1);
- } split(/\n/, $ARGV[1]);
- for my $elem (map {
- /^([0-9a-f]+) (.*)$/;
- [$1 => $2];
- } split(/\n/, $ARGV[2])) {
- if (!exists $not_in_next{$elem->[0]}) {
- if ($msg) {
- print STDERR $msg;
- undef $msg;
- }
- print STDERR " $elem->[1]\n";
- }
- }
- ' "$topic" "$not_in_next" "$not_in_master"
- exit 1
-fi
-
-<<\DOC_END
-
-This sample hook safeguards topic branches that have been
-published from being rewound.
-
-The workflow assumed here is:
-
- * Once a topic branch forks from "master", "master" is never
- merged into it again (either directly or indirectly).
-
- * Once a topic branch is fully cooked and merged into "master",
- it is deleted. If you need to build on top of it to correct
- earlier mistakes, a new topic branch is created by forking at
- the tip of the "master". This is not strictly necessary, but
- it makes it easier to keep your history simple.
-
- * Whenever you need to test or publish your changes to topic
- branches, merge them into "next" branch.
-
-The script, being an example, hardcodes the publish branch name
-to be "next", but it is trivial to make it configurable via
-$GIT_DIR/config mechanism.
-
-With this workflow, you would want to know:
-
-(1) ... if a topic branch has ever been merged to "next". Young
- topic branches can have stupid mistakes you would rather
- clean up before publishing, and things that have not been
- merged into other branches can be easily rebased without
- affecting other people. But once it is published, you would
- not want to rewind it.
-
-(2) ... if a topic branch has been fully merged to "master".
- Then you can delete it. More importantly, you should not
- build on top of it -- other people may already want to
- change things related to the topic as patches against your
- "master", so if you need further changes, it is better to
- fork the topic (perhaps with the same name) afresh from the
- tip of "master".
-
-Let's look at this example:
-
- o---o---o---o---o---o---o---o---o---o "next"
- / / / /
- / a---a---b A / /
- / / / /
- / / c---c---c---c B /
- / / / \ /
- / / / b---b C \ /
- / / / / \ /
- ---o---o---o---o---o---o---o---o---o---o---o "master"
-
-
-A, B and C are topic branches.
-
- * A has one fix since it was merged up to "next".
-
- * B has finished. It has been fully merged up to "master" and "next",
- and is ready to be deleted.
-
- * C has not merged to "next" at all.
-
-We would want to allow C to be rebased, refuse A, and encourage
-B to be deleted.
-
-To compute (1):
-
- git rev-list ^master ^topic next
- git rev-list ^master next
-
- if these match, topic has not merged in next at all.
-
-To compute (2):
-
- git rev-list master..topic
-
- if this is empty, it is fully merged to "master".
-
-DOC_END
diff --git a/dot_tmux/plugins/tpm/dot_git/hooks/executable_pre-receive.sample b/dot_tmux/plugins/tpm/dot_git/hooks/executable_pre-receive.sample
deleted file mode 100644
index a1fd29e..0000000
--- a/dot_tmux/plugins/tpm/dot_git/hooks/executable_pre-receive.sample
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to make use of push options.
-# The example simply echoes all push options that start with 'echoback='
-# and rejects all pushes when the "reject" push option is used.
-#
-# To enable this hook, rename this file to "pre-receive".
-
-if test -n "$GIT_PUSH_OPTION_COUNT"
-then
- i=0
- while test "$i" -lt "$GIT_PUSH_OPTION_COUNT"
- do
- eval "value=\$GIT_PUSH_OPTION_$i"
- case "$value" in
- echoback=*)
- echo "echo from the pre-receive-hook: ${value#*=}" >&2
- ;;
- reject)
- exit 1
- esac
- i=$((i + 1))
- done
-fi
diff --git a/dot_tmux/plugins/tpm/dot_git/hooks/executable_prepare-commit-msg.sample b/dot_tmux/plugins/tpm/dot_git/hooks/executable_prepare-commit-msg.sample
deleted file mode 100644
index 10fa14c..0000000
--- a/dot_tmux/plugins/tpm/dot_git/hooks/executable_prepare-commit-msg.sample
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to prepare the commit log message.
-# Called by "git commit" with the name of the file that has the
-# commit message, followed by the description of the commit
-# message's source. The hook's purpose is to edit the commit
-# message file. If the hook fails with a non-zero status,
-# the commit is aborted.
-#
-# To enable this hook, rename this file to "prepare-commit-msg".
-
-# This hook includes three examples. The first one removes the
-# "# Please enter the commit message..." help message.
-#
-# The second includes the output of "git diff --name-status -r"
-# into the message, just before the "git status" output. It is
-# commented because it doesn't cope with --amend or with squashed
-# commits.
-#
-# The third example adds a Signed-off-by line to the message, that can
-# still be edited. This is rarely a good idea.
-
-COMMIT_MSG_FILE=$1
-COMMIT_SOURCE=$2
-SHA1=$3
-
-/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE"
-
-# case "$COMMIT_SOURCE,$SHA1" in
-# ,|template,)
-# /usr/bin/perl -i.bak -pe '
-# print "\n" . `git diff --cached --name-status -r`
-# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;;
-# *) ;;
-# esac
-
-# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
-# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE"
-# if test -z "$COMMIT_SOURCE"
-# then
-# /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE"
-# fi
diff --git a/dot_tmux/plugins/tpm/dot_git/hooks/executable_push-to-checkout.sample b/dot_tmux/plugins/tpm/dot_git/hooks/executable_push-to-checkout.sample
deleted file mode 100644
index af5a0c0..0000000
--- a/dot_tmux/plugins/tpm/dot_git/hooks/executable_push-to-checkout.sample
+++ /dev/null
@@ -1,78 +0,0 @@
-#!/bin/sh
-
-# An example hook script to update a checked-out tree on a git push.
-#
-# This hook is invoked by git-receive-pack(1) when it reacts to git
-# push and updates reference(s) in its repository, and when the push
-# tries to update the branch that is currently checked out and the
-# receive.denyCurrentBranch configuration variable is set to
-# updateInstead.
-#
-# By default, such a push is refused if the working tree and the index
-# of the remote repository has any difference from the currently
-# checked out commit; when both the working tree and the index match
-# the current commit, they are updated to match the newly pushed tip
-# of the branch. This hook is to be used to override the default
-# behaviour; however the code below reimplements the default behaviour
-# as a starting point for convenient modification.
-#
-# The hook receives the commit with which the tip of the current
-# branch is going to be updated:
-commit=$1
-
-# It can exit with a non-zero status to refuse the push (when it does
-# so, it must not modify the index or the working tree).
-die () {
- echo >&2 "$*"
- exit 1
-}
-
-# Or it can make any necessary changes to the working tree and to the
-# index to bring them to the desired state when the tip of the current
-# branch is updated to the new commit, and exit with a zero status.
-#
-# For example, the hook can simply run git read-tree -u -m HEAD "$1"
-# in order to emulate git fetch that is run in the reverse direction
-# with git push, as the two-tree form of git read-tree -u -m is
-# essentially the same as git switch or git checkout that switches
-# branches while keeping the local changes in the working tree that do
-# not interfere with the difference between the branches.
-
-# The below is a more-or-less exact translation to shell of the C code
-# for the default behaviour for git's push-to-checkout hook defined in
-# the push_to_deploy() function in builtin/receive-pack.c.
-#
-# Note that the hook will be executed from the repository directory,
-# not from the working tree, so if you want to perform operations on
-# the working tree, you will have to adapt your code accordingly, e.g.
-# by adding "cd .." or using relative paths.
-
-if ! git update-index -q --ignore-submodules --refresh
-then
- die "Up-to-date check failed"
-fi
-
-if ! git diff-files --quiet --ignore-submodules --
-then
- die "Working directory has unstaged changes"
-fi
-
-# This is a rough translation of:
-#
-# head_has_history() ? "HEAD" : EMPTY_TREE_SHA1_HEX
-if git cat-file -e HEAD 2>/dev/null
-then
- head=HEAD
-else
- head=$(git hash-object -t tree --stdin &2
- exit 1
-}
-
-unset GIT_DIR GIT_WORK_TREE
-cd "$worktree" &&
-
-if grep -q "^diff --git " "$1"
-then
- validate_patch "$1"
-else
- validate_cover_letter "$1"
-fi &&
-
-if test "$GIT_SENDEMAIL_FILE_COUNTER" = "$GIT_SENDEMAIL_FILE_TOTAL"
-then
- git config --unset-all sendemail.validateWorktree &&
- trap 'git worktree remove -ff "$worktree"' EXIT &&
- validate_series
-fi
diff --git a/dot_tmux/plugins/tpm/dot_git/hooks/executable_update.sample b/dot_tmux/plugins/tpm/dot_git/hooks/executable_update.sample
deleted file mode 100644
index c4d426b..0000000
--- a/dot_tmux/plugins/tpm/dot_git/hooks/executable_update.sample
+++ /dev/null
@@ -1,128 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to block unannotated tags from entering.
-# Called by "git receive-pack" with arguments: refname sha1-old sha1-new
-#
-# To enable this hook, rename this file to "update".
-#
-# Config
-# ------
-# hooks.allowunannotated
-# This boolean sets whether unannotated tags will be allowed into the
-# repository. By default they won't be.
-# hooks.allowdeletetag
-# This boolean sets whether deleting tags will be allowed in the
-# repository. By default they won't be.
-# hooks.allowmodifytag
-# This boolean sets whether a tag may be modified after creation. By default
-# it won't be.
-# hooks.allowdeletebranch
-# This boolean sets whether deleting branches will be allowed in the
-# repository. By default they won't be.
-# hooks.denycreatebranch
-# This boolean sets whether remotely creating branches will be denied
-# in the repository. By default this is allowed.
-#
-
-# --- Command line
-refname="$1"
-oldrev="$2"
-newrev="$3"
-
-# --- Safety check
-if [ -z "$GIT_DIR" ]; then
- echo "Don't run this script from the command line." >&2
- echo " (if you want, you could supply GIT_DIR then run" >&2
- echo " $0 [ )" >&2
- exit 1
-fi
-
-if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then
- echo "usage: $0 ][ " >&2
- exit 1
-fi
-
-# --- Config
-allowunannotated=$(git config --type=bool hooks.allowunannotated)
-allowdeletebranch=$(git config --type=bool hooks.allowdeletebranch)
-denycreatebranch=$(git config --type=bool hooks.denycreatebranch)
-allowdeletetag=$(git config --type=bool hooks.allowdeletetag)
-allowmodifytag=$(git config --type=bool hooks.allowmodifytag)
-
-# check for no description
-projectdesc=$(sed -e '1q' "$GIT_DIR/description")
-case "$projectdesc" in
-"Unnamed repository"* | "")
- echo "*** Project description file hasn't been set" >&2
- exit 1
- ;;
-esac
-
-# --- Check types
-# if $newrev is 0000...0000, it's a commit to delete a ref.
-zero=$(git hash-object --stdin &2
- echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2
- exit 1
- fi
- ;;
- refs/tags/*,delete)
- # delete tag
- if [ "$allowdeletetag" != "true" ]; then
- echo "*** Deleting a tag is not allowed in this repository" >&2
- exit 1
- fi
- ;;
- refs/tags/*,tag)
- # annotated tag
- if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1
- then
- echo "*** Tag '$refname' already exists." >&2
- echo "*** Modifying a tag is not allowed in this repository." >&2
- exit 1
- fi
- ;;
- refs/heads/*,commit)
- # branch
- if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then
- echo "*** Creating a branch is not allowed in this repository" >&2
- exit 1
- fi
- ;;
- refs/heads/*,delete)
- # delete branch
- if [ "$allowdeletebranch" != "true" ]; then
- echo "*** Deleting a branch is not allowed in this repository" >&2
- exit 1
- fi
- ;;
- refs/remotes/*,commit)
- # tracking branch
- ;;
- refs/remotes/*,delete)
- # delete tracking branch
- if [ "$allowdeletebranch" != "true" ]; then
- echo "*** Deleting a tracking branch is not allowed in this repository" >&2
- exit 1
- fi
- ;;
- *)
- # Anything else (is there anything else?)
- echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2
- exit 1
- ;;
-esac
-
-# --- Finished
-exit 0
diff --git a/dot_tmux/plugins/tpm/dot_git/index b/dot_tmux/plugins/tpm/dot_git/index
deleted file mode 100644
index 731784a..0000000
Binary files a/dot_tmux/plugins/tpm/dot_git/index and /dev/null differ
diff --git a/dot_tmux/plugins/tpm/dot_git/info/exclude b/dot_tmux/plugins/tpm/dot_git/info/exclude
deleted file mode 100644
index a5196d1..0000000
--- a/dot_tmux/plugins/tpm/dot_git/info/exclude
+++ /dev/null
@@ -1,6 +0,0 @@
-# git ls-files --others --exclude-from=.git/info/exclude
-# Lines that start with '#' are comments.
-# For a project mostly in C, the following would be a good set of
-# exclude patterns (uncomment them if you want to use them):
-# *.[oa]
-# *~
diff --git a/dot_tmux/plugins/tpm/dot_git/logs/HEAD b/dot_tmux/plugins/tpm/dot_git/logs/HEAD
deleted file mode 100644
index 09c9a2f..0000000
--- a/dot_tmux/plugins/tpm/dot_git/logs/HEAD
+++ /dev/null
@@ -1 +0,0 @@
-0000000000000000000000000000000000000000 99469c4a9b1ccf77fade25842dc7bafbc8ce9946 lew 1761926537 +0000 clone: from https://github.com/tmux-plugins/tpm
diff --git a/dot_tmux/plugins/tpm/dot_git/logs/refs/heads/master b/dot_tmux/plugins/tpm/dot_git/logs/refs/heads/master
deleted file mode 100644
index 09c9a2f..0000000
--- a/dot_tmux/plugins/tpm/dot_git/logs/refs/heads/master
+++ /dev/null
@@ -1 +0,0 @@
-0000000000000000000000000000000000000000 99469c4a9b1ccf77fade25842dc7bafbc8ce9946 lew 1761926537 +0000 clone: from https://github.com/tmux-plugins/tpm
diff --git a/dot_tmux/plugins/tpm/dot_git/logs/refs/remotes/origin/HEAD b/dot_tmux/plugins/tpm/dot_git/logs/refs/remotes/origin/HEAD
deleted file mode 100644
index 09c9a2f..0000000
--- a/dot_tmux/plugins/tpm/dot_git/logs/refs/remotes/origin/HEAD
+++ /dev/null
@@ -1 +0,0 @@
-0000000000000000000000000000000000000000 99469c4a9b1ccf77fade25842dc7bafbc8ce9946 lew 1761926537 +0000 clone: from https://github.com/tmux-plugins/tpm
diff --git a/dot_tmux/plugins/tpm/dot_git/objects/info/.keep b/dot_tmux/plugins/tpm/dot_git/objects/info/.keep
deleted file mode 100644
index e69de29..0000000
diff --git a/dot_tmux/plugins/tpm/dot_git/objects/pack/readonly_pack-1f8e91c4b0c2fd3de85deb1de59db344d5af0319.idx b/dot_tmux/plugins/tpm/dot_git/objects/pack/readonly_pack-1f8e91c4b0c2fd3de85deb1de59db344d5af0319.idx
deleted file mode 100644
index fc1e896..0000000
Binary files a/dot_tmux/plugins/tpm/dot_git/objects/pack/readonly_pack-1f8e91c4b0c2fd3de85deb1de59db344d5af0319.idx and /dev/null differ
diff --git a/dot_tmux/plugins/tpm/dot_git/objects/pack/readonly_pack-1f8e91c4b0c2fd3de85deb1de59db344d5af0319.pack b/dot_tmux/plugins/tpm/dot_git/objects/pack/readonly_pack-1f8e91c4b0c2fd3de85deb1de59db344d5af0319.pack
deleted file mode 100644
index f83ea70..0000000
Binary files a/dot_tmux/plugins/tpm/dot_git/objects/pack/readonly_pack-1f8e91c4b0c2fd3de85deb1de59db344d5af0319.pack and /dev/null differ
diff --git a/dot_tmux/plugins/tpm/dot_git/objects/pack/readonly_pack-1f8e91c4b0c2fd3de85deb1de59db344d5af0319.rev b/dot_tmux/plugins/tpm/dot_git/objects/pack/readonly_pack-1f8e91c4b0c2fd3de85deb1de59db344d5af0319.rev
deleted file mode 100644
index a0d7d6d..0000000
Binary files a/dot_tmux/plugins/tpm/dot_git/objects/pack/readonly_pack-1f8e91c4b0c2fd3de85deb1de59db344d5af0319.rev and /dev/null differ
diff --git a/dot_tmux/plugins/tpm/dot_git/packed-refs b/dot_tmux/plugins/tpm/dot_git/packed-refs
deleted file mode 100644
index aae3407..0000000
--- a/dot_tmux/plugins/tpm/dot_git/packed-refs
+++ /dev/null
@@ -1,24 +0,0 @@
-# pack-refs with: peeled fully-peeled sorted
-aeb196db5c13161defbac64314d47ca346b34826 refs/remotes/origin/fix-automatic-tpm-install
-bfc7a2c2cbbbb0c448b23396bdb7bf088b8c6dc3 refs/remotes/origin/fix_emacs_continue_key
-99469c4a9b1ccf77fade25842dc7bafbc8ce9946 refs/remotes/origin/master
-e1bbcd6f8b7db9df823632d4140fb4bbd65798d3 refs/remotes/origin/travis_install_tmux_from_source
-aee1fbc949e1f68db3d8da7ac1b9bee5b4ac1595 refs/tags/v0.0.1
-e29045e1db9ad6e1e9cf72ab59b78f0ec72cafb8 refs/tags/v0.0.2
-^e68e4d52e4d0acb0691fb99d07de922142cc6759
-d520c6a47a40dc1ab0e7799d95514c5aab000a8f refs/tags/v1.0.0
-^f44ae34d112beceead7f09994cb057fe5b136b57
-0794614b55ea7c9b7c07306e64a09b8ac1207a2e refs/tags/v1.1.0
-^604cca0e8ae0479b850bf62e8030a8f421513598
-1e65a591ab5972ff9072f2c07608ee1dd0b88eb7 refs/tags/v1.2.0
-^7c10afc0612f1d1c69837cbc65b20f22c864141d
-92ba10978b6e9a7a767ed2ddb9c7190f9956789a refs/tags/v1.2.1
-^db8b06c509e44a60c4ec3132fc9839ebe1bbf08a
-5957fe6b4644e75ba0740a94faf97307eb31046d refs/tags/v1.2.2
-^330176355013884fa04caf7fbac0df8be2349273
-79c45e42bf525de25a12689f3770ff1f1d30a1aa refs/tags/v2.0.0
-^35161668d986d83c46cdcf870cfc549431db9f8f
-234002ad1c58e04b4e74853c7f1698874f69da60 refs/tags/v3.0.0
-^1ff32085b2b30956fbab58b1520d84d95f18d48d
-c628645dfa7c4fc16acfb7a73c9d7a98697b472c refs/tags/v3.1.0
-^7bdb7ca33c9cc6440a600202b50142f401b6fe21
diff --git a/dot_tmux/plugins/tpm/dot_git/refs/heads/master b/dot_tmux/plugins/tpm/dot_git/refs/heads/master
deleted file mode 100644
index e69d6dc..0000000
--- a/dot_tmux/plugins/tpm/dot_git/refs/heads/master
+++ /dev/null
@@ -1 +0,0 @@
-99469c4a9b1ccf77fade25842dc7bafbc8ce9946
diff --git a/dot_tmux/plugins/tpm/dot_git/refs/remotes/origin/HEAD b/dot_tmux/plugins/tpm/dot_git/refs/remotes/origin/HEAD
deleted file mode 100644
index 6efe28f..0000000
--- a/dot_tmux/plugins/tpm/dot_git/refs/remotes/origin/HEAD
+++ /dev/null
@@ -1 +0,0 @@
-ref: refs/remotes/origin/master
diff --git a/dot_tmux/plugins/tpm/dot_git/refs/tags/.keep b/dot_tmux/plugins/tpm/dot_git/refs/tags/.keep
deleted file mode 100644
index e69de29..0000000
diff --git a/dot_tmux/plugins/tpm/dot_gitattributes b/dot_tmux/plugins/tpm/dot_gitattributes
deleted file mode 100644
index 80772e4..0000000
--- a/dot_tmux/plugins/tpm/dot_gitattributes
+++ /dev/null
@@ -1,9 +0,0 @@
-# Force text files to have unix eols, so Windows/Cygwin does not break them
-*.* eol=lf
-
-# These files are unfortunately not recognized as text files so
-# explicitly listing them here
-tpm eol=lf
-bin/* eol=lf
-bindings/* eol=lf
-tests/* eol=lf
diff --git a/dot_tmux/plugins/tpm/dot_gitignore b/dot_tmux/plugins/tpm/dot_gitignore
deleted file mode 100644
index 8a94156..0000000
--- a/dot_tmux/plugins/tpm/dot_gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-**/.vagrant/
-run_tests
-tests/run_tests_in_isolation
-tests/helpers/helpers.sh
diff --git a/dot_tmux/plugins/tpm/dot_gitmodules b/dot_tmux/plugins/tpm/dot_gitmodules
deleted file mode 100644
index 5e44e3c..0000000
--- a/dot_tmux/plugins/tpm/dot_gitmodules
+++ /dev/null
@@ -1,3 +0,0 @@
-[submodule "lib/tmux-test"]
- path = lib/tmux-test
- url = https://github.com/tmux-plugins/tmux-test.git
diff --git a/dot_tmux/plugins/tpm/dot_travis.yml b/dot_tmux/plugins/tpm/dot_travis.yml
deleted file mode 100644
index ac45d8b..0000000
--- a/dot_tmux/plugins/tpm/dot_travis.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-# generic packages and tmux
-before_install:
- - sudo apt-get update
- - sudo apt-get install -y git-core expect
- - sudo apt-get install -y python-software-properties software-properties-common
- - sudo apt-get install -y libevent-dev libncurses-dev
- - git clone https://github.com/tmux/tmux.git
- - cd tmux
- - git checkout 2.0
- - sh autogen.sh
- - ./configure && make && sudo make install
-
-install:
- - git fetch --unshallow --recurse-submodules || git fetch --recurse-submodules
- # manual `git clone` required for testing `tmux-test` plugin itself
- - git clone https://github.com/tmux-plugins/tmux-test lib/tmux-test; true
- - lib/tmux-test/setup
-
-script: ./tests/run_tests_in_isolation
diff --git a/dot_tmux/plugins/tpm/executable_tpm b/dot_tmux/plugins/tpm/executable_tpm
deleted file mode 100644
index 7ad4b99..0000000
--- a/dot_tmux/plugins/tpm/executable_tpm
+++ /dev/null
@@ -1,81 +0,0 @@
-#!/usr/bin/env bash
-
-CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-BINDINGS_DIR="$CURRENT_DIR/bindings"
-SCRIPTS_DIR="$CURRENT_DIR/scripts"
-
-source "$SCRIPTS_DIR/variables.sh"
-
-get_tmux_option() {
- local option="$1"
- local default_value="$2"
- local option_value="$(tmux show-option -gqv "$option")"
- if [ -z "$option_value" ]; then
- echo "$default_value"
- else
- echo "$option_value"
- fi
-}
-
-tpm_path_set() {
- tmux show-environment -g "$DEFAULT_TPM_ENV_VAR_NAME" >/dev/null 2>&1
-}
-
-# Check if configuration file exists at an XDG-compatible location, if so use
-# that directory for TMUX_PLUGIN_MANAGER_PATH. Otherwise use $DEFAULT_TPM_PATH.
-set_default_tpm_path() {
- local xdg_tmux_path="${XDG_CONFIG_HOME:-$HOME/.config}/tmux"
- local tpm_path="$DEFAULT_TPM_PATH"
-
- if [ -f "$xdg_tmux_path/tmux.conf" ]; then
- tpm_path="$xdg_tmux_path/plugins/"
- fi
-
- tmux set-environment -g "$DEFAULT_TPM_ENV_VAR_NAME" "$tpm_path"
-}
-
-# Ensures TMUX_PLUGIN_MANAGER_PATH global env variable is set.
-#
-# Put this in `.tmux.conf` to override the default:
-# `set-environment -g TMUX_PLUGIN_MANAGER_PATH "/some/other/path/"`
-set_tpm_path() {
- if ! tpm_path_set; then
- set_default_tpm_path
- fi
-}
-
-# 1. Fetches plugin names from `@plugin` variables
-# 2. Creates full plugin path
-# 3. Sources all *.tmux files from each of the plugin directories
-# - no errors raised if directory does not exist
-# Files are sourced as tmux config files, not as shell scripts!
-source_plugins() {
- "$SCRIPTS_DIR/source_plugins.sh" >/dev/null 2>&1
-}
-
-# prefix + I - downloads TPM plugins and reloads TMUX environment
-# prefix + U - updates a plugin (or all of them) and reloads TMUX environment
-# prefix + alt + u - remove unused TPM plugins and reloads TMUX environment
-set_tpm_key_bindings() {
- local install_key="$(get_tmux_option "$install_key_option" "$default_install_key")"
- tmux bind-key "$install_key" run-shell "$BINDINGS_DIR/install_plugins"
-
- local update_key="$(get_tmux_option "$update_key_option" "$default_update_key")"
- tmux bind-key "$update_key" run-shell "$BINDINGS_DIR/update_plugins"
-
- local clean_key="$(get_tmux_option "$clean_key_option" "$default_clean_key")"
- tmux bind-key "$clean_key" run-shell "$BINDINGS_DIR/clean_plugins"
-}
-
-supported_tmux_version_ok() {
- "$SCRIPTS_DIR/check_tmux_version.sh" "$SUPPORTED_TMUX_VERSION"
-}
-
-main() {
- if supported_tmux_version_ok; then
- set_tpm_path
- set_tpm_key_bindings
- source_plugins
- fi
-}
-main
diff --git a/dot_tmux/plugins/tpm/lib/tmux-test/.keep b/dot_tmux/plugins/tpm/lib/tmux-test/.keep
deleted file mode 100644
index e69de29..0000000
diff --git a/dot_tmux/plugins/tpm/scripts/executable_check_tmux_version.sh b/dot_tmux/plugins/tpm/scripts/executable_check_tmux_version.sh
deleted file mode 100644
index b0aedec..0000000
--- a/dot_tmux/plugins/tpm/scripts/executable_check_tmux_version.sh
+++ /dev/null
@@ -1,78 +0,0 @@
-#!/usr/bin/env bash
-
-VERSION="$1"
-UNSUPPORTED_MSG="$2"
-
-get_tmux_option() {
- local option=$1
- local default_value=$2
- local option_value=$(tmux show-option -gqv "$option")
- if [ -z "$option_value" ]; then
- echo "$default_value"
- else
- echo "$option_value"
- fi
-}
-
-# Ensures a message is displayed for 5 seconds in tmux prompt.
-# Does not override the 'display-time' tmux option.
-display_message() {
- local message="$1"
-
- # display_duration defaults to 5 seconds, if not passed as an argument
- if [ "$#" -eq 2 ]; then
- local display_duration="$2"
- else
- local display_duration="5000"
- fi
-
- # saves user-set 'display-time' option
- local saved_display_time=$(get_tmux_option "display-time" "750")
-
- # sets message display time to 5 seconds
- tmux set-option -gq display-time "$display_duration"
-
- # displays message
- tmux display-message "$message"
-
- # restores original 'display-time' value
- tmux set-option -gq display-time "$saved_display_time"
-}
-
-# this is used to get "clean" integer version number. Examples:
-# `tmux 1.9` => `19`
-# `1.9a` => `19`
-get_digits_from_string() {
- local string="$1"
- local only_digits="$(echo "$string" | tr -dC '[:digit:]')"
- echo "$only_digits"
-}
-
-tmux_version_int() {
- local tmux_version_string=$(tmux -V)
- echo "$(get_digits_from_string "$tmux_version_string")"
-}
-
-unsupported_version_message() {
- if [ -n "$UNSUPPORTED_MSG" ]; then
- echo "$UNSUPPORTED_MSG"
- else
- echo "Error, Tmux version unsupported! Please install Tmux version $VERSION or greater!"
- fi
-}
-
-exit_if_unsupported_version() {
- local current_version="$1"
- local supported_version="$2"
- if [ "$current_version" -lt "$supported_version" ]; then
- display_message "$(unsupported_version_message)"
- exit 1
- fi
-}
-
-main() {
- local supported_version_int="$(get_digits_from_string "$VERSION")"
- local current_version_int="$(tmux_version_int)"
- exit_if_unsupported_version "$current_version_int" "$supported_version_int"
-}
-main
diff --git a/dot_tmux/plugins/tpm/scripts/executable_clean_plugins.sh b/dot_tmux/plugins/tpm/scripts/executable_clean_plugins.sh
deleted file mode 100644
index a025524..0000000
--- a/dot_tmux/plugins/tpm/scripts/executable_clean_plugins.sh
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/usr/bin/env bash
-
-CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-HELPERS_DIR="$CURRENT_DIR/helpers"
-
-source "$HELPERS_DIR/plugin_functions.sh"
-source "$HELPERS_DIR/utility.sh"
-
-if [ "$1" == "--tmux-echo" ]; then # tmux-specific echo functions
- source "$HELPERS_DIR/tmux_echo_functions.sh"
-else # shell output functions
- source "$HELPERS_DIR/shell_echo_functions.sh"
-fi
-
-clean_plugins() {
- local plugins plugin plugin_directory
- plugins="$(tpm_plugins_list_helper)"
-
- for plugin_directory in "$(tpm_path)"/*; do
- [ -d "${plugin_directory}" ] || continue
- plugin="$(plugin_name_helper "${plugin_directory}")"
- case "${plugins}" in
- *"${plugin}"*) : ;;
- *)
- [ "${plugin}" = "tpm" ] && continue
- echo_ok "Removing \"$plugin\""
- rm -rf "${plugin_directory}" >/dev/null 2>&1
- [ -d "${plugin_directory}" ] &&
- echo_err " \"$plugin\" clean fail" ||
- echo_ok " \"$plugin\" clean success"
- ;;
- esac
- done
-}
-
-main() {
- ensure_tpm_path_exists
- clean_plugins
- exit_value_helper
-}
-main
diff --git a/dot_tmux/plugins/tpm/scripts/executable_install_plugins.sh b/dot_tmux/plugins/tpm/scripts/executable_install_plugins.sh
deleted file mode 100644
index e2450ac..0000000
--- a/dot_tmux/plugins/tpm/scripts/executable_install_plugins.sh
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/usr/bin/env bash
-
-CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-HELPERS_DIR="$CURRENT_DIR/helpers"
-
-source "$HELPERS_DIR/plugin_functions.sh"
-source "$HELPERS_DIR/utility.sh"
-
-if [ "$1" == "--tmux-echo" ]; then # tmux-specific echo functions
- source "$HELPERS_DIR/tmux_echo_functions.sh"
-else # shell output functions
- source "$HELPERS_DIR/shell_echo_functions.sh"
-fi
-
-clone() {
- local plugin="$1"
- local branch="$2"
- if [ -n "$branch" ]; then
- cd "$(tpm_path)" &&
- GIT_TERMINAL_PROMPT=0 git clone -b "$branch" --single-branch --recursive "$plugin" >/dev/null 2>&1
- else
- cd "$(tpm_path)" &&
- GIT_TERMINAL_PROMPT=0 git clone --single-branch --recursive "$plugin" >/dev/null 2>&1
- fi
-}
-
-# tries cloning:
-# 1. plugin name directly - works if it's a valid git url
-# 2. expands the plugin name to point to a GitHub repo and tries cloning again
-clone_plugin() {
- local plugin="$1"
- local branch="$2"
- clone "$plugin" "$branch" ||
- clone "https://git::@github.com/$plugin" "$branch"
-}
-
-# clone plugin and produce output
-install_plugin() {
- local plugin="$1"
- local branch="$2"
- local plugin_name="$(plugin_name_helper "$plugin")"
-
- if plugin_already_installed "$plugin"; then
- echo_ok "Already installed \"$plugin_name\""
- else
- echo_ok "Installing \"$plugin_name\""
- clone_plugin "$plugin" "$branch" &&
- echo_ok " \"$plugin_name\" download success" ||
- echo_err " \"$plugin_name\" download fail"
- fi
-}
-
-install_plugins() {
- local plugins="$(tpm_plugins_list_helper)"
- for plugin in $plugins; do
- IFS='#' read -ra plugin <<< "$plugin"
- install_plugin "${plugin[0]}" "${plugin[1]}"
- done
-}
-
-verify_tpm_path_permissions() {
- local path="$(tpm_path)"
- # check the write permission flag for all users to ensure
- # that we have proper access
- [ -w "$path" ] ||
- echo_err "$path is not writable!"
-}
-
-main() {
- ensure_tpm_path_exists
- verify_tpm_path_permissions
- install_plugins
- exit_value_helper
-}
-main
diff --git a/dot_tmux/plugins/tpm/scripts/executable_source_plugins.sh b/dot_tmux/plugins/tpm/scripts/executable_source_plugins.sh
deleted file mode 100644
index 6381d54..0000000
--- a/dot_tmux/plugins/tpm/scripts/executable_source_plugins.sh
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/bin/env bash
-
-CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-HELPERS_DIR="$CURRENT_DIR/helpers"
-
-source "$HELPERS_DIR/plugin_functions.sh"
-
-plugin_dir_exists() {
- [ -d "$1" ]
-}
-
-# Runs all *.tmux files from the plugin directory.
-# Files are ran as executables.
-# No errors if the plugin dir does not exist.
-silently_source_all_tmux_files() {
- local plugin_path="$1"
- local plugin_tmux_files="$plugin_path*.tmux"
- if plugin_dir_exists "$plugin_path"; then
- for tmux_file in $plugin_tmux_files; do
- # if the glob didn't find any files this will be the
- # unexpanded glob which obviously doesn't exist
- [ -f "$tmux_file" ] || continue
- # runs *.tmux file as an executable
- $tmux_file >/dev/null 2>&1
- done
- fi
-}
-
-source_plugins() {
- local plugin plugin_path
- local plugins="$(tpm_plugins_list_helper)"
- for plugin in $plugins; do
- IFS='#' read -ra plugin <<< "$plugin"
- plugin_path="$(plugin_path_helper "${plugin[0]}")"
- silently_source_all_tmux_files "$plugin_path"
- done
-}
-
-main() {
- source_plugins
-}
-main
diff --git a/dot_tmux/plugins/tpm/scripts/executable_update_plugin.sh b/dot_tmux/plugins/tpm/scripts/executable_update_plugin.sh
deleted file mode 100644
index e533664..0000000
--- a/dot_tmux/plugins/tpm/scripts/executable_update_plugin.sh
+++ /dev/null
@@ -1,78 +0,0 @@
-#!/usr/bin/env bash
-
-# this script handles core logic of updating plugins
-
-CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-HELPERS_DIR="$CURRENT_DIR/helpers"
-
-source "$HELPERS_DIR/plugin_functions.sh"
-source "$HELPERS_DIR/utility.sh"
-
-if [ "$1" == "--tmux-echo" ]; then # tmux-specific echo functions
- source "$HELPERS_DIR/tmux_echo_functions.sh"
-else # shell output functions
- source "$HELPERS_DIR/shell_echo_functions.sh"
-fi
-
-# from now on ignore first script argument
-shift
-
-pull_changes() {
- local plugin="$1"
- local plugin_path="$(plugin_path_helper "$plugin")"
- cd "$plugin_path" &&
- GIT_TERMINAL_PROMPT=0 git pull &&
- GIT_TERMINAL_PROMPT=0 git submodule update --init --recursive
-}
-
-update() {
- local plugin="$1" output
- output=$(pull_changes "$plugin" 2>&1)
- if (( $? == 0 )); then
- echo_ok " \"$plugin\" update success"
- echo_ok "$(echo "$output" | sed -e 's/^/ | /')"
- else
- echo_err " \"$plugin\" update fail"
- echo_err "$(echo "$output" | sed -e 's/^/ | /')"
- fi
-}
-
-update_all() {
- echo_ok "Updating all plugins!"
- echo_ok ""
- local plugins="$(tpm_plugins_list_helper)"
- for plugin in $plugins; do
- IFS='#' read -ra plugin <<< "$plugin"
- local plugin_name="$(plugin_name_helper "${plugin[0]}")"
- # updating only installed plugins
- if plugin_already_installed "$plugin_name"; then
- update "$plugin_name" &
- fi
- done
- wait
-}
-
-update_plugins() {
- local plugins="$*"
- for plugin in $plugins; do
- IFS='#' read -ra plugin <<< "$plugin"
- local plugin_name="$(plugin_name_helper "${plugin[0]}")"
- if plugin_already_installed "$plugin_name"; then
- update "$plugin_name" &
- else
- echo_err "$plugin_name not installed!" &
- fi
- done
- wait
-}
-
-main() {
- ensure_tpm_path_exists
- if [ "$1" == "all" ]; then
- update_all
- else
- update_plugins "$*"
- fi
- exit_value_helper
-}
-main "$*"
diff --git a/dot_tmux/plugins/tpm/scripts/executable_update_plugin_prompt_handler.sh b/dot_tmux/plugins/tpm/scripts/executable_update_plugin_prompt_handler.sh
deleted file mode 100644
index 5e1f7d9..0000000
--- a/dot_tmux/plugins/tpm/scripts/executable_update_plugin_prompt_handler.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/env bash
-
-CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-HELPERS_DIR="$CURRENT_DIR/helpers"
-
-if [ $# -eq 0 ]; then
- exit 0
-fi
-
-source "$HELPERS_DIR/tmux_echo_functions.sh"
-source "$HELPERS_DIR/tmux_utils.sh"
-
-main() {
- "$CURRENT_DIR/update_plugin.sh" --tmux-echo "$*"
- reload_tmux_environment
- end_message
-}
-main "$*"
diff --git a/dot_tmux/plugins/tpm/scripts/helpers/plugin_functions.sh b/dot_tmux/plugins/tpm/scripts/helpers/plugin_functions.sh
deleted file mode 100644
index f33d215..0000000
--- a/dot_tmux/plugins/tpm/scripts/helpers/plugin_functions.sh
+++ /dev/null
@@ -1,104 +0,0 @@
-# using @tpm_plugins is now deprecated in favor of using @plugin syntax
-tpm_plugins_variable_name="@tpm_plugins"
-
-# manually expanding tilde char or `$HOME` variable.
-_manual_expansion() {
- local path="$1"
- local expanded_tilde="${path/#\~/$HOME}"
- echo "${expanded_tilde/#\$HOME/$HOME}"
-}
-
-_tpm_path() {
- local string_path="$(tmux start-server\; show-environment -g TMUX_PLUGIN_MANAGER_PATH | cut -f2 -d=)/"
- _manual_expansion "$string_path"
-}
-
-_CACHED_TPM_PATH="$(_tpm_path)"
-
-# Get the absolute path to the users configuration file of TMux.
-# This includes a prioritized search on different locations.
-#
-_get_user_tmux_conf() {
- # Define the different possible locations.
- xdg_location="${XDG_CONFIG_HOME:-$HOME/.config}/tmux/tmux.conf"
- default_location="$HOME/.tmux.conf"
-
- # Search for the correct configuration file by priority.
- if [ -f "$xdg_location" ]; then
- echo "$xdg_location"
-
- else
- echo "$default_location"
- fi
-}
-
-_tmux_conf_contents() {
- user_config=$(_get_user_tmux_conf)
- cat /etc/tmux.conf "$user_config" 2>/dev/null
- if [ "$1" == "full" ]; then # also output content from sourced files
- local file
- for file in $(_sourced_files); do
- cat $(_manual_expansion "$file") 2>/dev/null
- done
- fi
-}
-
-# return files sourced from tmux config files
-_sourced_files() {
- _tmux_conf_contents |
- sed -E -n -e "s/^[[:space:]]*source(-file)?[[:space:]]+(-q+[[:space:]]+)?['\"]?([^'\"]+)['\"]?/\3/p"
-}
-
-# Want to be able to abort in certain cases
-trap "exit 1" TERM
-export TOP_PID=$$
-
-_fatal_error_abort() {
- echo >&2 "Aborting."
- kill -s TERM $TOP_PID
-}
-
-# PUBLIC FUNCTIONS BELOW
-
-tpm_path() {
- if [ "$_CACHED_TPM_PATH" == "/" ]; then
- echo >&2 "FATAL: Tmux Plugin Manager not configured in tmux.conf"
- _fatal_error_abort
- fi
- echo "$_CACHED_TPM_PATH"
-}
-
-tpm_plugins_list_helper() {
- # lists plugins from @tpm_plugins option
- echo "$(tmux start-server\; show-option -gqv "$tpm_plugins_variable_name")"
-
- # read set -g @plugin "tmux-plugins/tmux-example-plugin" entries
- _tmux_conf_contents "full" |
- awk '/^[ \t]*set(-option)? +-g +@plugin/ { gsub(/'\''/,""); gsub(/'\"'/,""); print $4 }'
-}
-
-# Allowed plugin name formats:
-# 1. "git://github.com/user/plugin_name.git"
-# 2. "user/plugin_name"
-plugin_name_helper() {
- local plugin="$1"
- # get only the part after the last slash, e.g. "plugin_name.git"
- local plugin_basename="$(basename "$plugin")"
- # remove ".git" extension (if it exists) to get only "plugin_name"
- local plugin_name="${plugin_basename%.git}"
- echo "$plugin_name"
-}
-
-plugin_path_helper() {
- local plugin="$1"
- local plugin_name="$(plugin_name_helper "$plugin")"
- echo "$(tpm_path)${plugin_name}/"
-}
-
-plugin_already_installed() {
- local plugin="$1"
- local plugin_path="$(plugin_path_helper "$plugin")"
- [ -d "$plugin_path" ] &&
- cd "$plugin_path" &&
- git remote >/dev/null 2>&1
-}
diff --git a/dot_tmux/plugins/tpm/scripts/helpers/shell_echo_functions.sh b/dot_tmux/plugins/tpm/scripts/helpers/shell_echo_functions.sh
deleted file mode 100644
index ecaa37e..0000000
--- a/dot_tmux/plugins/tpm/scripts/helpers/shell_echo_functions.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-echo_ok() {
- echo "$*"
-}
-
-echo_err() {
- fail_helper "$*"
-}
diff --git a/dot_tmux/plugins/tpm/scripts/helpers/tmux_echo_functions.sh b/dot_tmux/plugins/tpm/scripts/helpers/tmux_echo_functions.sh
deleted file mode 100644
index 7a6ef0a..0000000
--- a/dot_tmux/plugins/tpm/scripts/helpers/tmux_echo_functions.sh
+++ /dev/null
@@ -1,28 +0,0 @@
-_has_emacs_mode_keys() {
- $(tmux show -gw mode-keys | grep -q emacs)
-}
-
-tmux_echo() {
- local message="$1"
- tmux run-shell "echo '$message'"
-}
-
-echo_ok() {
- tmux_echo "$*"
-}
-
-echo_err() {
- tmux_echo "$*"
-}
-
-end_message() {
- if _has_emacs_mode_keys; then
- local continue_key="ESCAPE"
- else
- local continue_key="ENTER"
- fi
- tmux_echo ""
- tmux_echo "TMUX environment reloaded."
- tmux_echo ""
- tmux_echo "Done, press $continue_key to continue."
-}
diff --git a/dot_tmux/plugins/tpm/scripts/helpers/tmux_utils.sh b/dot_tmux/plugins/tpm/scripts/helpers/tmux_utils.sh
deleted file mode 100644
index 238952d..0000000
--- a/dot_tmux/plugins/tpm/scripts/helpers/tmux_utils.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-HELPERS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-source "$HELPERS_DIR/plugin_functions.sh"
-
-reload_tmux_environment() {
- tmux source-file $(_get_user_tmux_conf) >/dev/null 2>&1
-}
diff --git a/dot_tmux/plugins/tpm/scripts/helpers/utility.sh b/dot_tmux/plugins/tpm/scripts/helpers/utility.sh
deleted file mode 100644
index de6eb35..0000000
--- a/dot_tmux/plugins/tpm/scripts/helpers/utility.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-ensure_tpm_path_exists() {
- mkdir -p "$(tpm_path)"
-}
-
-fail_helper() {
- local message="$1"
- echo "$message" >&2
- FAIL="true"
-}
-
-exit_value_helper() {
- if [ "$FAIL" == "true" ]; then
- exit 1
- else
- exit 0
- fi
-}
diff --git a/dot_tmux/plugins/tpm/scripts/variables.sh b/dot_tmux/plugins/tpm/scripts/variables.sh
deleted file mode 100644
index 5601a86..0000000
--- a/dot_tmux/plugins/tpm/scripts/variables.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-install_key_option="@tpm-install"
-default_install_key="I"
-
-update_key_option="@tpm-update"
-default_update_key="U"
-
-clean_key_option="@tpm-clean"
-default_clean_key="M-u"
-
-SUPPORTED_TMUX_VERSION="1.9"
-
-DEFAULT_TPM_ENV_VAR_NAME="TMUX_PLUGIN_MANAGER_PATH"
-DEFAULT_TPM_PATH="$HOME/.tmux/plugins/"
diff --git a/dot_tmux/plugins/tpm/tests/executable_expect_failed_plugin_download b/dot_tmux/plugins/tpm/tests/executable_expect_failed_plugin_download
deleted file mode 100644
index b970477..0000000
--- a/dot_tmux/plugins/tpm/tests/executable_expect_failed_plugin_download
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/usr/bin/env expect
-
-# disables script output
-log_user 0
-
-spawn tmux
-
-# Waiting for tmux to attach. If this is not done, next command, `send` will
-# not work properly.
-sleep 1
-
-# this is tmux prefix + I
-send "I"
-
-# cloning might take a while
-set timeout 20
-
-expect_after {
- timeout { exit 1 }
-}
-
-expect {
- "Installing \"non-existing-plugin\""
-}
-
-expect {
- "\"non-existing-plugin\" download fail"
-}
-
-expect {
- "Done, press ENTER to continue" {
- exit 0
- }
-}
-
-exit 1
diff --git a/dot_tmux/plugins/tpm/tests/executable_expect_successful_clean_plugins b/dot_tmux/plugins/tpm/tests/executable_expect_successful_clean_plugins
deleted file mode 100644
index 987c49d..0000000
--- a/dot_tmux/plugins/tpm/tests/executable_expect_successful_clean_plugins
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/env expect
-
-# disables script output
-log_user 0
-
-spawn tmux
-
-# Waiting for tmux to attach. If this is not done, next command, `send` will
-# not work properly.
-sleep 1
-
-# this is tmux prefix + alt + u
-send "u"
-
-set timeout 5
-
-expect_after {
- timeout { exit 1 }
-}
-
-expect {
- "Removing \"tmux-example-plugin\""
-}
-
-expect {
- "\"tmux-example-plugin\" clean success"
-}
-
-expect {
- "Done, press ENTER to continue." {
- exit 0
- }
-}
-
-exit 1
diff --git a/dot_tmux/plugins/tpm/tests/executable_expect_successful_multiple_plugins_download b/dot_tmux/plugins/tpm/tests/executable_expect_successful_multiple_plugins_download
deleted file mode 100644
index cc87a26..0000000
--- a/dot_tmux/plugins/tpm/tests/executable_expect_successful_multiple_plugins_download
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/usr/bin/env expect
-
-# disables script output
-log_user 0
-
-spawn tmux
-
-# Waiting for tmux to attach. If this is not done, next command, `send` will
-# not work properly.
-sleep 1
-
-# this is tmux prefix + I
-send "I"
-
-# cloning might take a while
-set timeout 15
-
-expect_after {
- timeout { exit 1 }
-}
-
-expect {
- "Installing \"tmux-example-plugin\""
-}
-
-expect {
- "\"tmux-example-plugin\" download success"
-}
-
-expect {
- "Installing \"tmux-copycat\""
-}
-
-expect {
- "\"tmux-copycat\" download success"
-}
-
-expect {
- "Done, press ENTER to continue." {
- exit 0
- }
-}
-
-exit 1
diff --git a/dot_tmux/plugins/tpm/tests/executable_expect_successful_plugin_download b/dot_tmux/plugins/tpm/tests/executable_expect_successful_plugin_download
deleted file mode 100644
index 388f05d..0000000
--- a/dot_tmux/plugins/tpm/tests/executable_expect_successful_plugin_download
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/usr/bin/env expect
-
-# disables script output
-log_user 0
-
-spawn tmux
-
-# Waiting for tmux to attach. If this is not done, next command, `send` will
-# not work properly.
-sleep 1
-
-# this is tmux prefix + I
-send "I"
-
-# cloning might take a while
-set timeout 15
-
-expect_after {
- timeout { exit 1 }
-}
-
-expect {
- "Installing \"tmux-example-plugin\""
-}
-
-expect {
- "\"tmux-example-plugin\" download success"
-}
-
-expect {
- "Done, press ENTER to continue" {
- send "
"
- }
-}
-
-sleep 1
-# this is tmux prefix + I
-send "I"
-
-expect {
- "Already installed \"tmux-example-plugin\""
-}
-
-expect {
- "Done, press ENTER to continue" {
- exit 0
- }
-}
-
-exit 1
diff --git a/dot_tmux/plugins/tpm/tests/executable_expect_successful_update_of_a_single_plugin b/dot_tmux/plugins/tpm/tests/executable_expect_successful_update_of_a_single_plugin
deleted file mode 100644
index bcd64fe..0000000
--- a/dot_tmux/plugins/tpm/tests/executable_expect_successful_update_of_a_single_plugin
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/usr/bin/env expect
-
-# disables script output
-log_user 0
-
-spawn tmux
-
-# Waiting for tmux to attach. If this is not done, next command, `send` will
-# not work properly.
-sleep 1
-
-# this is tmux prefix + U
-send "U"
-
-set timeout 15
-
-expect_after {
- timeout { exit 1 }
-}
-
-expect {
- "Installed plugins"
-}
-
-expect {
- "tmux-example-plugin"
-}
-
-expect {
- "\"all\" - updates all plugins"
-}
-
-expect {
- "ENTER - cancels"
-}
-
-# wait for tmux to display prompt before sending characters
-sleep 1
-send "tmux-example-plugin\r"
-
-expect {
- "Updating \"tmux-example-plugin\""
-}
-
-expect {
- "\"tmux-example-plugin\" update success"
-}
-
-expect {
- "Done, press ENTER to continue." {
- exit 0
- }
-}
-
-exit 1
diff --git a/dot_tmux/plugins/tpm/tests/executable_expect_successful_update_of_all_plugins b/dot_tmux/plugins/tpm/tests/executable_expect_successful_update_of_all_plugins
deleted file mode 100644
index 4f3a4a3..0000000
--- a/dot_tmux/plugins/tpm/tests/executable_expect_successful_update_of_all_plugins
+++ /dev/null
@@ -1,59 +0,0 @@
-#!/usr/bin/env expect
-
-# disables script output
-log_user 0
-
-spawn tmux
-
-# Waiting for tmux to attach. If this is not done, next command, `send` will
-# not work properly.
-sleep 1
-
-# this is tmux prefix + U
-send "U"
-
-set timeout 5
-
-expect_after {
- timeout { exit 1 }
-}
-
-expect {
- "Installed plugins"
-}
-
-expect {
- "tmux-example-plugin"
-}
-
-expect {
- "\"all\" - updates all plugins"
-}
-
-expect {
- "ENTER - cancels"
-}
-
-# wait for tmux to display prompt before sending characters
-sleep 1
-send "all\r"
-
-expect {
- "Updating all plugins!"
-}
-
-expect {
- "Updating \"tmux-example-plugin\""
-}
-
-expect {
- "\"tmux-example-plugin\" update success"
-}
-
-expect {
- "Done, press ENTER to continue." {
- exit 0
- }
-}
-
-exit 1
diff --git a/dot_tmux/plugins/tpm/tests/executable_test_plugin_clean.sh b/dot_tmux/plugins/tpm/tests/executable_test_plugin_clean.sh
deleted file mode 100644
index d36c468..0000000
--- a/dot_tmux/plugins/tpm/tests/executable_test_plugin_clean.sh
+++ /dev/null
@@ -1,67 +0,0 @@
-#!/usr/bin/env bash
-
-CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-TPM_DIR="$PWD"
-PLUGINS_DIR="$HOME/.tmux/plugins"
-
-source "$CURRENT_DIR/helpers/helpers.sh"
-source "$CURRENT_DIR/helpers/tpm.sh"
-
-manually_install_the_plugin() {
- rm -rf "$PLUGINS_DIR"
- mkdir -p "$PLUGINS_DIR"
- cd "$PLUGINS_DIR"
- git clone --quiet https://github.com/tmux-plugins/tmux-example-plugin
-}
-
-# TMUX KEY-BINDING TESTS
-
-test_plugin_uninstallation_via_tmux_key_binding() {
- set_tmux_conf_helper <<- HERE
- set -g mode-keys vi
- run-shell "$TPM_DIR/tpm"
- HERE
-
- manually_install_the_plugin
-
- "$CURRENT_DIR/expect_successful_clean_plugins" ||
- fail_helper "[key-binding] clean fails"
-
- teardown_helper
-}
-
-# SCRIPT TESTS
-
-test_plugin_uninstallation_via_script() {
- set_tmux_conf_helper <<- HERE
- set -g mode-keys vi
- run-shell "$TPM_DIR/tpm"
- HERE
-
- manually_install_the_plugin
-
- script_run_helper "$TPM_DIR/bin/clean_plugins" '"tmux-example-plugin" clean success' ||
- fail_helper "[script] plugin cleaning fails"
-
- teardown_helper
-}
-
-test_unsuccessful_plugin_uninstallation_via_script() {
- set_tmux_conf_helper <<- HERE
- set -g mode-keys vi
- run-shell "$TPM_DIR/tpm"
- HERE
-
- manually_install_the_plugin
- chmod 000 "$PLUGINS_DIR/tmux-example-plugin" # disable directory deletion
-
- local expected_exit_code=1
- script_run_helper "$TPM_DIR/bin/clean_plugins" '"tmux-example-plugin" clean fail' "$expected_exit_code" ||
- fail_helper "[script] unsuccessful plugin cleaning doesn't fail"
-
- chmod 755 "$PLUGINS_DIR/tmux-example-plugin" # enable directory deletion
-
- teardown_helper
-}
-
-run_tests
diff --git a/dot_tmux/plugins/tpm/tests/executable_test_plugin_installation.sh b/dot_tmux/plugins/tpm/tests/executable_test_plugin_installation.sh
deleted file mode 100644
index 94fb674..0000000
--- a/dot_tmux/plugins/tpm/tests/executable_test_plugin_installation.sh
+++ /dev/null
@@ -1,284 +0,0 @@
-#!/usr/bin/env bash
-
-CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-PLUGINS_DIR="$HOME/.tmux/plugins"
-TPM_DIR="$PWD"
-
-CUSTOM_PLUGINS_DIR="$HOME/foo/plugins"
-ADDITIONAL_CONFIG_FILE_1="$HOME/.tmux/additional_config_file_1"
-ADDITIONAL_CONFIG_FILE_2="$HOME/.tmux/additional_config_file_2"
-
-source "$CURRENT_DIR/helpers/helpers.sh"
-source "$CURRENT_DIR/helpers/tpm.sh"
-
-# TMUX KEY-BINDING TESTS
-
-test_plugin_installation_via_tmux_key_binding() {
- set_tmux_conf_helper <<- HERE
- set -g mode-keys vi
- set -g @plugin "tmux-plugins/tmux-example-plugin"
- run-shell "$TPM_DIR/tpm"
- HERE
-
- "$CURRENT_DIR/expect_successful_plugin_download" ||
- fail_helper "[key-binding] plugin installation fails"
-
- check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" ||
- fail_helper "[key-binding] plugin download fails"
-
- teardown_helper
-}
-
-test_plugin_installation_via_tmux_key_binding_set_option() {
- set_tmux_conf_helper <<- HERE
- set -g mode-keys vi
- set-option -g @plugin "tmux-plugins/tmux-example-plugin"
- run-shell "$TPM_DIR/tpm"
- HERE
-
- "$CURRENT_DIR/expect_successful_plugin_download" ||
- fail_helper "[key-binding][set-option] plugin installation fails"
-
- check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" ||
- fail_helper "[key-binding][set-option] plugin download fails"
-
- teardown_helper
-}
-
-test_plugin_installation_custom_dir_via_tmux_key_binding() {
- set_tmux_conf_helper <<- HERE
- set -g mode-keys vi
- set-environment -g TMUX_PLUGIN_MANAGER_PATH '$CUSTOM_PLUGINS_DIR'
-
- set -g @plugin "tmux-plugins/tmux-example-plugin"
- run-shell "$TPM_DIR/tpm"
- HERE
-
- "$CURRENT_DIR/expect_successful_plugin_download" ||
- fail_helper "[key-binding][custom dir] plugin installation fails"
-
- check_dir_exists_helper "$CUSTOM_PLUGINS_DIR/tmux-example-plugin/" ||
- fail_helper "[key-binding][custom dir] plugin download fails"
-
- teardown_helper
- rm -rf "$CUSTOM_PLUGINS_DIR"
-}
-
-test_non_existing_plugin_installation_via_tmux_key_binding() {
- set_tmux_conf_helper <<- HERE
- set -g mode-keys vi
- set -g @plugin "tmux-plugins/non-existing-plugin"
- run-shell "$TPM_DIR/tpm"
- HERE
-
- "$CURRENT_DIR/expect_failed_plugin_download" ||
- fail_helper "[key-binding] non existing plugin installation doesn't fail"
-
- teardown_helper
-}
-
-test_multiple_plugins_installation_via_tmux_key_binding() {
- set_tmux_conf_helper <<- HERE
- set -g mode-keys vi
- set -g @plugin "tmux-plugins/tmux-example-plugin"
- \ \ set -g @plugin 'tmux-plugins/tmux-copycat'
- run-shell "$TPM_DIR/tpm"
- HERE
-
- "$CURRENT_DIR/expect_successful_multiple_plugins_download" ||
- fail_helper "[key-binding] multiple plugins installation fails"
-
- check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" ||
- fail_helper "[key-binding] plugin download fails (tmux-example-plugin)"
-
- check_dir_exists_helper "$PLUGINS_DIR/tmux-copycat/" ||
- fail_helper "[key-binding] plugin download fails (tmux-copycat)"
-
- teardown_helper
-}
-
-test_plugins_installation_from_sourced_file_via_tmux_key_binding() {
- set_tmux_conf_helper <<- HERE
- set -g mode-keys vi
- source '$ADDITIONAL_CONFIG_FILE_1'
- set -g @plugin 'tmux-plugins/tmux-example-plugin'
- run-shell "$TPM_DIR/tpm"
- HERE
-
- mkdir ~/.tmux
- echo "set -g @plugin 'tmux-plugins/tmux-copycat'" > "$ADDITIONAL_CONFIG_FILE_1"
-
- "$CURRENT_DIR/expect_successful_multiple_plugins_download" ||
- fail_helper "[key-binding][sourced file] plugins installation fails"
-
- check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" ||
- fail_helper "[key-binding][sourced file] plugin download fails (tmux-example-plugin)"
-
- check_dir_exists_helper "$PLUGINS_DIR/tmux-copycat/" ||
- fail_helper "[key-binding][sourced file] plugin download fails (tmux-copycat)"
-
- teardown_helper
-}
-
-test_plugins_installation_from_multiple_sourced_files_via_tmux_key_binding() {
- set_tmux_conf_helper <<- HERE
- set -g mode-keys vi
- \ \ source '$ADDITIONAL_CONFIG_FILE_1'
- source-file '$ADDITIONAL_CONFIG_FILE_2'
- run-shell "$TPM_DIR/tpm"
- HERE
-
- mkdir ~/.tmux
- echo "set -g @plugin 'tmux-plugins/tmux-example-plugin'" > "$ADDITIONAL_CONFIG_FILE_1"
- echo " set -g @plugin 'tmux-plugins/tmux-copycat'" > "$ADDITIONAL_CONFIG_FILE_2"
-
- "$CURRENT_DIR/expect_successful_multiple_plugins_download" ||
- fail_helper "[key-binding][multiple sourced files] plugins installation fails"
-
- check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" ||
- fail_helper "[key-binding][multiple sourced files] plugin download fails (tmux-example-plugin)"
-
- check_dir_exists_helper "$PLUGINS_DIR/tmux-copycat/" ||
- fail_helper "[key-binding][multiple sourced files] plugin download fails (tmux-copycat)"
-
- teardown_helper
-}
-
-# SCRIPT TESTS
-
-test_plugin_installation_via_script() {
- set_tmux_conf_helper <<- HERE
- set -g mode-keys vi
- set -g @plugin "tmux-plugins/tmux-example-plugin"
- run-shell "$TPM_DIR/tpm"
- HERE
-
- script_run_helper "$TPM_DIR/bin/install_plugins" '"tmux-example-plugin" download success' ||
- fail_helper "[script] plugin installation fails"
-
- check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" ||
- fail_helper "[script] plugin download fails"
-
- script_run_helper "$TPM_DIR/bin/install_plugins" 'Already installed "tmux-example-plugin"' ||
- fail_helper "[script] plugin already installed message fail"
-
- teardown_helper
-}
-
-test_plugin_installation_custom_dir_via_script() {
- set_tmux_conf_helper <<- HERE
- set -g mode-keys vi
- set-environment -g TMUX_PLUGIN_MANAGER_PATH '$CUSTOM_PLUGINS_DIR'
-
- set -g @plugin "tmux-plugins/tmux-example-plugin"
- run-shell "$TPM_DIR/tpm"
- HERE
-
- script_run_helper "$TPM_DIR/bin/install_plugins" '"tmux-example-plugin" download success' ||
- fail_helper "[script][custom dir] plugin installation fails"
-
- check_dir_exists_helper "$CUSTOM_PLUGINS_DIR/tmux-example-plugin/" ||
- fail_helper "[script][custom dir] plugin download fails"
-
- script_run_helper "$TPM_DIR/bin/install_plugins" 'Already installed "tmux-example-plugin"' ||
- fail_helper "[script][custom dir] plugin already installed message fail"
-
- teardown_helper
- rm -rf "$CUSTOM_PLUGINS_DIR"
-}
-
-test_non_existing_plugin_installation_via_script() {
- set_tmux_conf_helper <<- HERE
- set -g mode-keys vi
- set -g @plugin "tmux-plugins/non-existing-plugin"
- run-shell "$TPM_DIR/tpm"
- HERE
-
- local expected_exit_code=1
- script_run_helper "$TPM_DIR/bin/install_plugins" '"non-existing-plugin" download fail' "$expected_exit_code" ||
- fail_helper "[script] non existing plugin installation doesn't fail"
-
- teardown_helper
-}
-
-test_multiple_plugins_installation_via_script() {
- set_tmux_conf_helper <<- HERE
- set -g mode-keys vi
- set -g @plugin "tmux-plugins/tmux-example-plugin"
- \ \ set -g @plugin 'tmux-plugins/tmux-copycat'
- run-shell "$TPM_DIR/tpm"
- HERE
-
- script_run_helper "$TPM_DIR/bin/install_plugins" '"tmux-example-plugin" download success' ||
- fail_helper "[script] multiple plugins installation fails"
-
- check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" ||
- fail_helper "[script] plugin download fails (tmux-example-plugin)"
-
- check_dir_exists_helper "$PLUGINS_DIR/tmux-copycat/" ||
- fail_helper "[script] plugin download fails (tmux-copycat)"
-
- script_run_helper "$TPM_DIR/bin/install_plugins" 'Already installed "tmux-copycat"' ||
- fail_helper "[script] multiple plugins already installed message fail"
-
- teardown_helper
-}
-
-test_plugins_installation_from_sourced_file_via_script() {
- set_tmux_conf_helper <<- HERE
- set -g mode-keys vi
- source '$ADDITIONAL_CONFIG_FILE_1'
- set -g @plugin 'tmux-plugins/tmux-example-plugin'
- run-shell "$TPM_DIR/tpm"
- HERE
-
- mkdir ~/.tmux
- echo "set -g @plugin 'tmux-plugins/tmux-copycat'" > "$ADDITIONAL_CONFIG_FILE_1"
-
- script_run_helper "$TPM_DIR/bin/install_plugins" '"tmux-copycat" download success' ||
- fail_helper "[script][sourced file] plugins installation fails"
-
- check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" ||
- fail_helper "[script][sourced file] plugin download fails (tmux-example-plugin)"
-
- check_dir_exists_helper "$PLUGINS_DIR/tmux-copycat/" ||
- fail_helper "[script][sourced file] plugin download fails (tmux-copycat)"
-
- script_run_helper "$TPM_DIR/bin/install_plugins" 'Already installed "tmux-copycat"' ||
- fail_helper "[script][sourced file] plugins already installed message fail"
-
- teardown_helper
-}
-
-test_plugins_installation_from_multiple_sourced_files_via_script() {
- set_tmux_conf_helper <<- HERE
- set -g mode-keys vi
- \ \ source '$ADDITIONAL_CONFIG_FILE_1'
- source-file '$ADDITIONAL_CONFIG_FILE_2'
- set -g @plugin 'tmux-plugins/tmux-example-plugin'
- run-shell "$TPM_DIR/tpm"
- HERE
-
- mkdir ~/.tmux
- echo " set -g @plugin 'tmux-plugins/tmux-copycat'" > "$ADDITIONAL_CONFIG_FILE_1"
- echo "set -g @plugin 'tmux-plugins/tmux-sensible'" > "$ADDITIONAL_CONFIG_FILE_2"
-
- script_run_helper "$TPM_DIR/bin/install_plugins" '"tmux-sensible" download success' ||
- fail_helper "[script][multiple sourced files] plugins installation fails"
-
- check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" ||
- fail_helper "[script][multiple sourced files] plugin download fails (tmux-example-plugin)"
-
- check_dir_exists_helper "$PLUGINS_DIR/tmux-copycat/" ||
- fail_helper "[script][multiple sourced files] plugin download fails (tmux-copycat)"
-
- check_dir_exists_helper "$PLUGINS_DIR/tmux-sensible/" ||
- fail_helper "[script][multiple sourced files] plugin download fails (tmux-sensible)"
-
- script_run_helper "$TPM_DIR/bin/install_plugins" 'Already installed "tmux-sensible"' ||
- fail_helper "[script][multiple sourced files] plugins already installed message fail"
-
- teardown_helper
-}
-
-run_tests
diff --git a/dot_tmux/plugins/tpm/tests/executable_test_plugin_installation_legacy.sh b/dot_tmux/plugins/tpm/tests/executable_test_plugin_installation_legacy.sh
deleted file mode 100644
index b1d0cf6..0000000
--- a/dot_tmux/plugins/tpm/tests/executable_test_plugin_installation_legacy.sh
+++ /dev/null
@@ -1,100 +0,0 @@
-#!/usr/bin/env bash
-
-CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-PLUGINS_DIR="$HOME/.tmux/plugins"
-TPM_DIR="$PWD"
-
-source "$CURRENT_DIR/helpers/helpers.sh"
-source "$CURRENT_DIR/helpers/tpm.sh"
-
-# TMUX KEY-BINDING TESTS
-
-test_plugin_installation_via_tmux_key_binding() {
- set_tmux_conf_helper <<- HERE
- set -g mode-keys vi
- set -g @tpm_plugins "tmux-plugins/tmux-example-plugin"
- run-shell "$TPM_DIR/tpm"
- HERE
-
- # opens tmux and test it with `expect`
- $CURRENT_DIR/expect_successful_plugin_download ||
- fail_helper "[key-binding] plugin installation fails"
-
- # check plugin dir exists after download
- check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" ||
- fail_helper "[key-binding] plugin download fails"
-
- teardown_helper
-}
-
-test_legacy_and_new_syntax_for_plugin_installation_work_via_tmux_key_binding() {
- set_tmux_conf_helper <<- HERE
- set -g mode-keys vi
- set -g @tpm_plugins " \
- tmux-plugins/tmux-example-plugin \
- "
- set -g @plugin 'tmux-plugins/tmux-copycat'
- run-shell "$TPM_DIR/tpm"
- HERE
-
- # opens tmux and test it with `expect`
- "$CURRENT_DIR"/expect_successful_multiple_plugins_download ||
- fail_helper "[key-binding] multiple plugins installation fails"
-
- # check plugin dir exists after download
- check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" ||
- fail_helper "[key-binding] plugin download fails (tmux-example-plugin)"
-
- check_dir_exists_helper "$PLUGINS_DIR/tmux-copycat/" ||
- fail_helper "[key-binding] plugin download fails (tmux-copycat)"
-
- teardown_helper
-}
-
-# SCRIPT TESTS
-
-test_plugin_installation_via_script() {
- set_tmux_conf_helper <<- HERE
- set -g mode-keys vi
- set -g @tpm_plugins "tmux-plugins/tmux-example-plugin"
- run-shell "$TPM_DIR/tpm"
- HERE
-
- script_run_helper "$TPM_DIR/bin/install_plugins" '"tmux-example-plugin" download success' ||
- fail_helper "[script] plugin installation fails"
-
- check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" ||
- fail_helper "[script] plugin download fails"
-
- script_run_helper "$TPM_DIR/bin/install_plugins" 'Already installed "tmux-example-plugin"' ||
- fail_helper "[script] plugin already installed message fail"
-
- teardown_helper
-}
-
-test_legacy_and_new_syntax_for_plugin_installation_work_via_script() {
- set_tmux_conf_helper <<- HERE
- set -g mode-keys vi
- set -g @tpm_plugins " \
- tmux-plugins/tmux-example-plugin \
- "
- set -g @plugin 'tmux-plugins/tmux-copycat'
- run-shell "$TPM_DIR/tpm"
- HERE
-
- script_run_helper "$TPM_DIR/bin/install_plugins" '"tmux-example-plugin" download success' ||
- fail_helper "[script] multiple plugin installation fails"
-
- check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" ||
- fail_helper "[script] plugin download fails (tmux-example-plugin)"
-
- check_dir_exists_helper "$PLUGINS_DIR/tmux-copycat/" ||
- fail_helper "[script] plugin download fails (tmux-copycat)"
-
- script_run_helper "$TPM_DIR/bin/install_plugins" 'Already installed "tmux-copycat"' ||
- fail_helper "[script] multiple plugins already installed message fail"
-
- teardown_helper
-}
-
-run_tests
diff --git a/dot_tmux/plugins/tpm/tests/executable_test_plugin_sourcing.sh b/dot_tmux/plugins/tpm/tests/executable_test_plugin_sourcing.sh
deleted file mode 100644
index c06f1fe..0000000
--- a/dot_tmux/plugins/tpm/tests/executable_test_plugin_sourcing.sh
+++ /dev/null
@@ -1,78 +0,0 @@
-#!/usr/bin/env bash
-
-CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-TPM_DIR="$PWD"
-PLUGINS_DIR="$HOME/.tmux/plugins"
-
-CUSTOM_PLUGINS_DIR="$HOME/foo/plugins"
-
-source "$CURRENT_DIR/helpers/helpers.sh"
-source "$CURRENT_DIR/helpers/tpm.sh"
-
-check_binding_defined() {
- local binding="$1"
- tmux list-keys | grep -q "$binding"
-}
-
-create_test_plugin_helper() {
- local plugin_path="$PLUGINS_DIR/tmux_test_plugin/"
- rm -rf "$plugin_path"
- mkdir -p "$plugin_path"
-
- while read line; do
- echo "$line" >> "$plugin_path/test_plugin.tmux"
- done
- chmod +x "$plugin_path/test_plugin.tmux"
-}
-
-check_tpm_path() {
- local correct_tpm_path="$1"
- local tpm_path="$(tmux start-server\; show-environment -g TMUX_PLUGIN_MANAGER_PATH | cut -f2 -d=)"
- [ "$correct_tpm_path" == "$tpm_path" ]
-}
-
-test_plugin_sourcing() {
- set_tmux_conf_helper <<- HERE
- set -g mode-keys vi
- set -g @plugin "doesnt_matter/tmux_test_plugin"
- run-shell "$TPM_DIR/tpm"
- HERE
-
- # manually creates a local tmux plugin
- create_test_plugin_helper <<- HERE
- tmux bind-key R run-shell foo_command
- HERE
-
- tmux new-session -d # tmux starts detached
- check_binding_defined "R run-shell foo_command" ||
- fail_helper "Plugin sourcing fails"
-
- teardown_helper
-}
-
-test_default_tpm_path() {
- set_tmux_conf_helper <<- HERE
- set -g mode-keys vi
- run-shell "$TPM_DIR/tpm"
- HERE
-
- check_tpm_path "${PLUGINS_DIR}/" ||
- fail_helper "Default TPM path not correct"
-
- teardown_helper
-}
-
-test_custom_tpm_path() {
- set_tmux_conf_helper <<- HERE
- set -g mode-keys vi
- set-environment -g TMUX_PLUGIN_MANAGER_PATH '$CUSTOM_PLUGINS_DIR'
- run-shell "$TPM_DIR/tpm"
- HERE
-
- check_tpm_path "$CUSTOM_PLUGINS_DIR" ||
- fail_helper "Custom TPM path not correct"
-
- teardown_helper
-}
-
-run_tests
diff --git a/dot_tmux/plugins/tpm/tests/executable_test_plugin_update.sh b/dot_tmux/plugins/tpm/tests/executable_test_plugin_update.sh
deleted file mode 100644
index 4924d16..0000000
--- a/dot_tmux/plugins/tpm/tests/executable_test_plugin_update.sh
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/usr/bin/env bash
-
-CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-TPM_DIR="$PWD"
-PLUGINS_DIR="$HOME/.tmux/plugins"
-
-source "$CURRENT_DIR/helpers/helpers.sh"
-source "$CURRENT_DIR/helpers/tpm.sh"
-
-manually_install_the_plugin() {
- mkdir -p "$PLUGINS_DIR"
- cd "$PLUGINS_DIR"
- git clone --quiet https://github.com/tmux-plugins/tmux-example-plugin
-}
-
-# TMUX KEY-BINDING TESTS
-
-test_plugin_update_via_tmux_key_binding() {
- set_tmux_conf_helper <<- HERE
- set -g mode-keys vi
- set -g @plugin "tmux-plugins/tmux-example-plugin"
- run-shell "$TPM_DIR/tpm"
- HERE
-
- manually_install_the_plugin
-
- "$CURRENT_DIR/expect_successful_update_of_all_plugins" ||
- fail_helper "[key-binding] 'update all plugins' fails"
-
- "$CURRENT_DIR/expect_successful_update_of_a_single_plugin" ||
- fail_helper "[key-binding] 'update single plugin' fails"
-
- teardown_helper
-}
-
-# SCRIPT TESTS
-
-test_plugin_update_via_script() {
- set_tmux_conf_helper <<- HERE
- set -g mode-keys vi
- set -g @plugin "tmux-plugins/tmux-example-plugin"
- run-shell "$TPM_DIR/tpm"
- HERE
-
- manually_install_the_plugin
-
- local expected_exit_code=1
- script_run_helper "$TPM_DIR/bin/update_plugins" 'usage' "$expected_exit_code" ||
- fail_helper "[script] running update plugins without args should fail"
-
- script_run_helper "$TPM_DIR/bin/update_plugins tmux-example-plugin" '"tmux-example-plugin" update success' ||
- fail_helper "[script] plugin update fails"
-
- script_run_helper "$TPM_DIR/bin/update_plugins all" '"tmux-example-plugin" update success' ||
- fail_helper "[script] update all plugins fails"
-
- teardown_helper
-}
-
-run_tests
diff --git a/dot_tmux/plugins/tpm/tests/helpers/tpm.sh b/dot_tmux/plugins/tpm/tests/helpers/tpm.sh
deleted file mode 100644
index 1594afb..0000000
--- a/dot_tmux/plugins/tpm/tests/helpers/tpm.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-check_dir_exists_helper() {
- [ -d "$1" ]
-}
-
-# runs the scripts and asserts it has the correct output and exit code
-script_run_helper() {
- local script="$1"
- local expected_output="$2"
- local expected_exit_code="${3:-0}"
- $script 2>&1 |
- grep "$expected_output" >/dev/null 2>&1 && # grep -q flag quits the script early
- [ "${PIPESTATUS[0]}" -eq "$expected_exit_code" ]
-}
]