diff --git a/README.md b/README.md index a7221d5..acf62e2 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,4 @@ -# Joe Wroten's Dotfiles +# Gaiety's (Jo Wroten's) Dotfiles -Develop using just the terminal with the very best tools. iTerm2, Tmux, NeoVim, and Zsh come together to create a solid development environment. Designed to be flexible and powerful. +WIP -Based on the [A Modern Terminal Workflow](https://wrotenwrites.com/a_modern_terminal_workflow_1/) blog series where I walk you step-by-step how [the core of these dotfiles](https://github.com/sharpshark28/modern-terminal-workflow) were written. - -![preview](preview.png) - -## Please Note - -**This is intended to set up a developers environment from the ground up.** - -Running init.sh will replace your zsh profile, vim/NeoVim settings and tmux settings. _Run at your own risk._ - -## Install - -Be sure your Xcode _and_ Xcode command line tools are installed and up to date. - -1. Get This Repo `git clone git@github.com:sharpshark28/dotfiles.git ~/dotfilez` -2. Run Init `bash ~/dotfilez/init.sh` -3. Restart your terminal -4. Load iTerm2 Preferences from `~/dotfiles` directory - -Get started in your project dir with `nvim` and enjoy! diff --git a/com.googlecode.iterm2.plist b/com.googlecode.iterm2.plist deleted file mode 100644 index f88befe..0000000 --- a/com.googlecode.iterm2.plist +++ /dev/null @@ -1,1112 +0,0 @@ - - - - - AppleAntiAliasingThreshold - 1 - AppleScrollAnimationEnabled - 0 - AppleSmoothFixedFontsSizeThreshold - 1 - Custom Color Presets - - Dracula - - Ansi 0 Color - - Blue Component - 0.0 - Green Component - 0.0 - Red Component - 0.0 - - Ansi 1 Color - - Blue Component - 0.3333333432674408 - Green Component - 0.3333333432674408 - Red Component - 1 - - Ansi 10 Color - - Blue Component - 0.4823529411764706 - Green Component - 0.98039215686274506 - Red Component - 0.31372549019607843 - - Ansi 11 Color - - Blue Component - 0.5490196078431373 - Green Component - 0.98039215686274506 - Red Component - 0.94509803921568625 - - Ansi 12 Color - - Blue Component - 0.97647058823529409 - Green Component - 0.57647058823529407 - Red Component - 0.74117647058823533 - - Ansi 13 Color - - Blue Component - 0.77647058823529413 - Green Component - 0.47450980392156861 - Red Component - 1 - - Ansi 14 Color - - Blue Component - 0.99215686274509807 - Green Component - 0.9137254901960784 - Red Component - 0.54509803921568623 - - Ansi 15 Color - - Blue Component - 1 - Green Component - 1 - Red Component - 1 - - Ansi 2 Color - - Blue Component - 0.4823529411764706 - Green Component - 0.98039215686274506 - Red Component - 0.31372549019607843 - - Ansi 3 Color - - Blue Component - 0.5490196078431373 - Green Component - 0.98039215686274506 - Red Component - 0.94509803921568625 - - Ansi 4 Color - - Blue Component - 0.97647058823529409 - Green Component - 0.57647058823529407 - Red Component - 0.74117647058823533 - - Ansi 5 Color - - Blue Component - 0.77647058823529413 - Green Component - 0.47450980392156861 - Red Component - 1 - - Ansi 6 Color - - Blue Component - 0.99215686274509807 - Green Component - 0.9137254901960784 - Red Component - 0.54509803921568623 - - Ansi 7 Color - - Blue Component - 0.73333334922790527 - Green Component - 0.73333334922790527 - Red Component - 0.73333334922790527 - - Ansi 8 Color - - Blue Component - 0.33333333333333331 - Green Component - 0.33333333333333331 - Red Component - 0.33333333333333331 - - Ansi 9 Color - - Blue Component - 0.33333333333333331 - Green Component - 0.33333333333333331 - Red Component - 1 - - Background Color - - Blue Component - 0.15977837145328522 - Green Component - 0.12215272337198257 - Red Component - 0.11765811592340469 - - Bold Color - - Blue Component - 0.90237069129943848 - Green Component - 0.90237069129943848 - Red Component - 0.90237069129943848 - - Cursor Color - - Blue Component - 0.73333334922790527 - Green Component - 0.73333334922790527 - Red Component - 0.73333334922790527 - - Cursor Text Color - - Blue Component - 1 - Green Component - 1 - Red Component - 1 - - Foreground Color - - Blue Component - 0.90032327175140381 - Green Component - 0.90032327175140381 - Red Component - 0.90032327175140381 - - Selected Text Color - - Blue Component - 1 - Green Component - 1 - Red Component - 1 - - Selection Color - - Blue Component - 0.35294118523597717 - Green Component - 0.27843138575553894 - Red Component - 0.26666668057441711 - - - - Default Bookmark Guid - 3CBFEB53-F87B-486A-83BB-AE567702D465 - GlobalKeyMap - - 0x19-0x60000 - - Action - 11 - Text - 0x02 0x70 - - 0x9-0x40000 - - Action - 11 - Text - 0x02 0x6E - - 0xf700-0x300000 - - Action - 7 - Text - - - 0xf701-0x300000 - - Action - 6 - Text - - - 0xf702-0x300000 - - Action - 2 - Text - - - 0xf702-0x320000 - - Action - 33 - Text - - - 0xf703-0x300000 - - Action - 0 - Text - - - 0xf703-0x320000 - - Action - 34 - Text - - - 0xf729-0x100000 - - Action - 5 - Text - - - 0xf72b-0x100000 - - Action - 4 - Text - - - 0xf72c-0x100000 - - Action - 9 - Text - - - 0xf72c-0x20000 - - Action - 9 - Text - - - 0xf72d-0x100000 - - Action - 8 - Text - - - 0xf72d-0x20000 - - Action - 8 - Text - - - - HotkeyMigratedFromSingleToMulti - - LoadPrefsFromCustomFolder - - NSColorPanelMode - 6 - NSFontPanelAttributes - 1, 4 - NSNavLastRootDirectory - ~/dotfiles - NSNavPanelExpandedSizeForOpenMode - {712, 459} - NSQuotedKeystrokeBinding - - NSRepeatCountBinding - - NSScrollAnimationEnabled - - NSScrollViewShouldScrollUnderTitlebar - - NSTableView Columns v2 KeyBingingTable - - YnBsaXN0MDDUAQIDBAUGNjdYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS - AAGGoK4HCA8aGxwdHh8gJjAxMlUkbnVsbNIJCgsOWk5TLm9iamVjdHNWJGNsYXNzogwN - gAKACoAN0xAJChEVGVdOUy5rZXlzoxITFIADgASABaMWFxiABoAHgAiACVpJZGVudGlm - aWVyVVdpZHRoVkhpZGRlblEwI0BowAAAAAAACNIhIiMkWiRjbGFzc25hbWVYJGNsYXNz - ZXNcTlNEaWN0aW9uYXJ5oiMlWE5TT2JqZWN00xAJCicrGaMSExSAA4AEgAWjLC0YgAuA - DIAIgAlRMSNAdCAAAAAAANIhIjM0Xk5TTXV0YWJsZUFycmF5ozM1JVdOU0FycmF5XxAP - TlNLZXllZEFyY2hpdmVy0Tg5VUFycmF5gAEACAARABoAIwAtADIANwBGAEwAUQBcAGMA - ZgBoAGoAbABzAHsAfwCBAIMAhQCJAIsAjQCPAJEAnACiAKkAqwC0ALUAugDFAM4A2wDe - AOcA7gDyAPQA9gD4APwA/gEAAQIBBAEGAQ8BFAEjAScBLwFBAUQBSgAAAAAAAAIBAAAA - AAAAADoAAAAAAAAAAAAAAAAAAAFM - - NSTableView Sort Ordering v2 KeyBingingTable - - YnBsaXN0MDDUAQIDBAUGFBVYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS - AAGGoKMHCA1VJG51bGzSCQoLDFpOUy5vYmplY3RzViRjbGFzc6CAAtIODxARWiRjbGFz - c25hbWVYJGNsYXNzZXNeTlNNdXRhYmxlQXJyYXmjEBITV05TQXJyYXlYTlNPYmplY3Rf - EA9OU0tleWVkQXJjaGl2ZXLRFhdVQXJyYXmAAQgRGiMtMjc7QUZRWFlbYGt0g4ePmKqt - swAAAAAAAAEBAAAAAAAAABgAAAAAAAAAAAAAAAAAAAC1 - - NSTableView Supports v2 KeyBingingTable - - NSToolbar Configuration com.apple.NSColorPanel - - TB Is Shown - 1 - - NSWindow Frame NSColorPanel - 307 274 214 309 0 0 1440 878 - NSWindow Frame NSFontPanel - 659 87 445 270 0 0 1440 878 - NSWindow Frame Preferences - 472 398 606 456 0 0 1440 877 - NSWindow Frame SUUpdateAlert - 410 364 620 392 0 0 1440 877 - NSWindow Frame SharedPreferences - 397 146 1018 447 0 0 1440 900 - NSWindow Frame iTerm Window 0 - 0 10 890 577 0 0 1440 900 - NSWindow Frame iTerm Window 1 - 176 70 890 577 0 0 1440 900 - New Bookmarks - - - ASCII Anti Aliased - - Ambiguous Double Width - - Ansi 0 Color - - Blue Component - 0.0 - Green Component - 0.0 - Red Component - 0.0 - - Ansi 1 Color - - Blue Component - 0.3333333432674408 - Green Component - 0.3333333432674408 - Red Component - 1 - - Ansi 10 Color - - Blue Component - 0.4823529411764706 - Green Component - 0.98039215686274506 - Red Component - 0.31372549019607843 - - Ansi 11 Color - - Blue Component - 0.5490196078431373 - Green Component - 0.98039215686274506 - Red Component - 0.94509803921568625 - - Ansi 12 Color - - Blue Component - 0.97647058823529409 - Green Component - 0.57647058823529407 - Red Component - 0.74117647058823533 - - Ansi 13 Color - - Blue Component - 0.77647058823529413 - Green Component - 0.47450980392156861 - Red Component - 1 - - Ansi 14 Color - - Blue Component - 0.99215686274509807 - Green Component - 0.9137254901960784 - Red Component - 0.54509803921568623 - - Ansi 15 Color - - Blue Component - 1 - Green Component - 1 - Red Component - 1 - - Ansi 2 Color - - Blue Component - 0.4823529411764706 - Green Component - 0.98039215686274506 - Red Component - 0.31372549019607843 - - Ansi 3 Color - - Blue Component - 0.5490196078431373 - Green Component - 0.98039215686274506 - Red Component - 0.94509803921568625 - - Ansi 4 Color - - Blue Component - 0.97647058823529409 - Green Component - 0.57647058823529407 - Red Component - 0.74117647058823533 - - Ansi 5 Color - - Blue Component - 0.77647058823529413 - Green Component - 0.47450980392156861 - Red Component - 1 - - Ansi 6 Color - - Blue Component - 0.99215686274509807 - Green Component - 0.9137254901960784 - Red Component - 0.54509803921568623 - - Ansi 7 Color - - Blue Component - 0.73333334922790527 - Green Component - 0.73333334922790527 - Red Component - 0.73333334922790527 - - Ansi 8 Color - - Blue Component - 0.33333333333333331 - Green Component - 0.33333333333333331 - Red Component - 0.33333333333333331 - - Ansi 9 Color - - Blue Component - 0.33333333333333331 - Green Component - 0.33333333333333331 - Red Component - 1 - - BM Growl - - Background Color - - Blue Component - 0.15977837145328522 - Green Component - 0.12215272337198257 - Red Component - 0.11765811592340469 - - Background Image Location - - Badge Color - - Alpha Component - 0.5 - Blue Component - 0.0 - Color Space - Calibrated - Green Component - 0.0 - Red Component - 1 - - Blinking Cursor - - Blur - - Bold Color - - Blue Component - 0.90237069129943848 - Green Component - 0.90237069129943848 - Red Component - 0.90237069129943848 - - Character Encoding - 4 - Close Sessions On End - - Columns - 80 - Command - /usr/local/bin/zsh - Cursor Boost - 0.0 - Cursor Color - - Blue Component - 0.73333334922790527 - Green Component - 0.73333334922790527 - Red Component - 0.73333334922790527 - - Cursor Guide Color - - Alpha Component - 0.1123199462890625 - Blue Component - 1 - Color Space - sRGB - Green Component - 1 - Red Component - 1 - - Cursor Text Color - - Blue Component - 1 - Green Component - 1 - Red Component - 1 - - Custom Command - No - Custom Directory - No - Default Bookmark - No - Description - Default - Disable Window Resizing - - Flashing Bell - - Foreground Color - - Blue Component - 0.90032327175140381 - Green Component - 0.90032327175140381 - Red Component - 0.90032327175140381 - - Guid - 3CBFEB53-F87B-486A-83BB-AE567702D465 - Horizontal Spacing - 1 - Idle Code - 0 - Jobs to Ignore - - rlogin - ssh - slogin - telnet - - Keyboard Map - - 0x2d-0x40000 - - Action - 11 - Text - 0x1f - - 0x32-0x40000 - - Action - 11 - Text - 0x00 - - 0x33-0x40000 - - Action - 11 - Text - 0x1b - - 0x34-0x40000 - - Action - 11 - Text - 0x1c - - 0x35-0x40000 - - Action - 11 - Text - 0x1d - - 0x36-0x40000 - - Action - 11 - Text - 0x1e - - 0x37-0x40000 - - Action - 11 - Text - 0x1f - - 0x38-0x40000 - - Action - 11 - Text - 0x7f - - 0xf700-0x220000 - - Action - 10 - Text - [1;2A - - 0xf700-0x240000 - - Action - 10 - Text - [1;5A - - 0xf700-0x260000 - - Action - 10 - Text - [1;6A - - 0xf700-0x280000 - - Action - 11 - Text - 0x1b 0x1b 0x5b 0x41 - - 0xf701-0x220000 - - Action - 10 - Text - [1;2B - - 0xf701-0x240000 - - Action - 10 - Text - [1;5B - - 0xf701-0x260000 - - Action - 10 - Text - [1;6B - - 0xf701-0x280000 - - Action - 11 - Text - 0x1b 0x1b 0x5b 0x42 - - 0xf702-0x220000 - - Action - 10 - Text - [1;2D - - 0xf702-0x240000 - - Action - 10 - Text - [1;5D - - 0xf702-0x260000 - - Action - 10 - Text - [1;6D - - 0xf702-0x280000 - - Action - 11 - Text - 0x1b 0x1b 0x5b 0x44 - - 0xf703-0x220000 - - Action - 10 - Text - [1;2C - - 0xf703-0x240000 - - Action - 10 - Text - [1;5C - - 0xf703-0x260000 - - Action - 10 - Text - [1;6C - - 0xf703-0x280000 - - Action - 11 - Text - 0x1b 0x1b 0x5b 0x43 - - 0xf704-0x20000 - - Action - 10 - Text - [1;2P - - 0xf705-0x20000 - - Action - 10 - Text - [1;2Q - - 0xf706-0x20000 - - Action - 10 - Text - [1;2R - - 0xf707-0x20000 - - Action - 10 - Text - [1;2S - - 0xf708-0x20000 - - Action - 10 - Text - [15;2~ - - 0xf709-0x20000 - - Action - 10 - Text - [17;2~ - - 0xf70a-0x20000 - - Action - 10 - Text - [18;2~ - - 0xf70b-0x20000 - - Action - 10 - Text - [19;2~ - - 0xf70c-0x20000 - - Action - 10 - Text - [20;2~ - - 0xf70d-0x20000 - - Action - 10 - Text - [21;2~ - - 0xf70e-0x20000 - - Action - 10 - Text - [23;2~ - - 0xf70f-0x20000 - - Action - 10 - Text - [24;2~ - - 0xf729-0x20000 - - Action - 10 - Text - [1;2H - - 0xf729-0x40000 - - Action - 10 - Text - [1;5H - - 0xf72b-0x20000 - - Action - 10 - Text - [1;2F - - 0xf72b-0x40000 - - Action - 10 - Text - [1;5F - - - Link Color - - Alpha Component - 1 - Blue Component - 0.67800000000000005 - Color Space - Calibrated - Green Component - 0.27000000000000002 - Red Component - 0.023 - - Mouse Reporting - - Name - Default - Non Ascii Font - Monaco 12 - Non-ASCII Anti Aliased - - Normal Font - FuraCodeNerdFont-Retina 20 - Option Key Sends - 0 - Prompt Before Closing 2 - - Right Option Key Sends - 0 - Rows - 25 - Screen - -1 - Scrollback Lines - 1000 - Selected Text Color - - Blue Component - 1 - Green Component - 1 - Red Component - 1 - - Selection Color - - Blue Component - 0.35294118523597717 - Green Component - 0.27843138575553894 - Red Component - 0.26666668057441711 - - Send Code When Idle - - Shortcut - - Silence Bell - - Smart Cursor Color - - Sync Title - - Tags - - Terminal Type - xterm-256color - Transparency - 0.0 - Unlimited Scrollback - - Use Bold Font - - Use Bright Bold - - Use Cursor Guide - - Use Italic Font - - Use Non-ASCII Font - - Vertical Spacing - 1 - Visual Bell - - Window Type - 0 - Working Directory - /Users/clean - - - NoSyncConfirmBeta - - NoSyncHaveWarnedAboutPasteConfirmationChange - - NoSyncInstallationId - 6E369C17-4B98-41A0-81E8-D8CCF4EAFEA8 - NoSyncNeverRemindPrefsChangesLostForFile - - NoSyncNeverRemindPrefsChangesLostForFile_selection - 0 - NoSyncPermissionToShowTip - - NoSyncTimeOfFirstLaunchOfVersionWithTip - 486966257.753326 - NoSyncTimeOfLastPromo - 455217537.05998898 - NoSyncTimeOfLastPromoDownload - 483065410.63003302 - OnlyWhenMoreTabs - - OpenTmuxWindowsIn - 0 - PMPrintingExpandedStateForPrint2 - - PointerActions - - Button,1,1,, - - Action - kContextMenuPointerAction - - Button,2,1,, - - Action - kPasteFromSelectionPointerAction - - Gesture,ThreeFingerSwipeDown,, - - Action - kPrevWindowPointerAction - - Gesture,ThreeFingerSwipeLeft,, - - Action - kPrevTabPointerAction - - Gesture,ThreeFingerSwipeRight,, - - Action - kNextTabPointerAction - - Gesture,ThreeFingerSwipeUp,, - - Action - kNextWindowPointerAction - - - PrefsCustomFolder - /Users/sharpshark28/dotfiles - Print In Black And White - - PromptOnQuit - - SUAutomaticallyUpdate - - SUEnableAutomaticChecks - - SUFeedAlternateAppNameKey - iTerm - SUFeedURL - https://iterm2.com/appcasts/final.xml?shard=68 - SUHasLaunchedBefore - - SULastCheckTime - 2017-01-21T21:15:07Z - WordCharacters - /-+\~_. - iTerm Version - 3.0.20170121-nightly - kCPKSelectionViewPreferredModeKey - 0 - kCPKSelectionViewShowHSBTextFieldsKey - - - diff --git a/fonts/Fura Code Bold Nerd Font.otf b/fonts/Fura Code Bold Nerd Font.otf deleted file mode 100644 index b4ebfc3..0000000 Binary files a/fonts/Fura Code Bold Nerd Font.otf and /dev/null differ diff --git a/fonts/Fura Code Bold Nerd Font.ttf b/fonts/Fura Code Bold Nerd Font.ttf deleted file mode 100644 index 8e6bc60..0000000 Binary files a/fonts/Fura Code Bold Nerd Font.ttf and /dev/null differ diff --git a/fonts/Fura Code Light Nerd Font.otf b/fonts/Fura Code Light Nerd Font.otf deleted file mode 100644 index 8838b9f..0000000 Binary files a/fonts/Fura Code Light Nerd Font.otf and /dev/null differ diff --git a/fonts/Fura Code Medium Nerd Font.otf b/fonts/Fura Code Medium Nerd Font.otf deleted file mode 100644 index 06c718d..0000000 Binary files a/fonts/Fura Code Medium Nerd Font.otf and /dev/null differ diff --git a/fonts/Fura Code Regular Nerd Font.otf b/fonts/Fura Code Regular Nerd Font.otf deleted file mode 100644 index 5c869de..0000000 Binary files a/fonts/Fura Code Regular Nerd Font.otf and /dev/null differ diff --git a/fonts/Fura Code Retina Nerd Font.otf b/fonts/Fura Code Retina Nerd Font.otf deleted file mode 100644 index 74b0c8f..0000000 Binary files a/fonts/Fura Code Retina Nerd Font.otf and /dev/null differ diff --git a/fonts/FuraCode-Light Nerd Font.ttf b/fonts/FuraCode-Light Nerd Font.ttf deleted file mode 100644 index 6bafb06..0000000 Binary files a/fonts/FuraCode-Light Nerd Font.ttf and /dev/null differ diff --git a/fonts/FuraCode-Medium Nerd Font.ttf b/fonts/FuraCode-Medium Nerd Font.ttf deleted file mode 100644 index 8bcbd4f..0000000 Binary files a/fonts/FuraCode-Medium Nerd Font.ttf and /dev/null differ diff --git a/fonts/FuraCode-Regular Nerd Font.ttf b/fonts/FuraCode-Regular Nerd Font.ttf deleted file mode 100644 index f30faea..0000000 Binary files a/fonts/FuraCode-Regular Nerd Font.ttf and /dev/null differ diff --git a/fonts/FuraCode-Retina Nerd Font.ttf b/fonts/FuraCode-Retina Nerd Font.ttf deleted file mode 100644 index df47d11..0000000 Binary files a/fonts/FuraCode-Retina Nerd Font.ttf and /dev/null differ diff --git a/init.sh b/init.sh deleted file mode 100644 index 3af5eed..0000000 --- a/init.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash -echo "-= Installing System Dependencies =-" -brew install zsh tmux neovim/neovim/neovim python3 ag node -brew tap caskroom/cask -brew cask install iterm2 - -echo "-= Installing Fonts =-" -cp -R ./fonts ~/Library/Fonts - -echo "-= Assigning Zsh as Default Shell =-" -chsh -s $(which zsh) - -echo "-= Upgrading NeoVim with Python and Package Manager =-" -pip3 install neovim -curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs \ - https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim - -echo "-= Setting Zsh as default shell =-" -chsh -s /usr/local/bin/zsh - -echo "-= Setting NeoVim as default editor =-" -export EDITOR='nvim' - -echo "-= Removing any existing configs =-" -rm -rf ~/.vim ~/.vimrc ~/.zshrc ~/.tmux ~/.tmux.conf ~/.config/nvim 2> /dev/null - -echo "-= Creating necessary directories =-" -mkdir -p ~/.config ~/.config/nvim - -echo "-= Symlinking new configs =-" -ln -s ~/dotfiles/zshrc ~/.zshrc -ln -s ~/dotfiles/tmux.conf ~/.tmux.conf -ln -s ~/dotfiles/vimrc ~/.config/nvim/init.vim -ln -s ~/dotfiles/gitignore ~/.gitignore - -echo "-= Setting Global GitIgnore =-" -git config --global core.excludesfile ~/.gitignore - -echo "-= Log out and Log Back In to see changes =-" diff --git a/iterm-dracula/.github/issue_template.md b/iterm-dracula/.github/issue_template.md deleted file mode 100644 index 45a7be3..0000000 --- a/iterm-dracula/.github/issue_template.md +++ /dev/null @@ -1 +0,0 @@ -> If you're reporting an UI issue, make sure you take a screenshot that shows the actual bug. \ No newline at end of file diff --git a/iterm-dracula/.github/pull_request_template.md b/iterm-dracula/.github/pull_request_template.md deleted file mode 100644 index 622089f..0000000 --- a/iterm-dracula/.github/pull_request_template.md +++ /dev/null @@ -1 +0,0 @@ -> If you're fixing a UI issue, make sure you take two screenshots. One that shows the actual bug and another that shows how you fixed it. \ No newline at end of file diff --git a/iterm-dracula/Dracula.itermcolors b/iterm-dracula/Dracula.itermcolors deleted file mode 100644 index 32cdbd5..0000000 --- a/iterm-dracula/Dracula.itermcolors +++ /dev/null @@ -1,226 +0,0 @@ - - - - - - - - Ansi 0 Color - - Blue Component - 0.0 - Green Component - 0.0 - Red Component - 0.0 - - Ansi 1 Color - - Blue Component - 0.3333333432674408 - Green Component - 0.3333333432674408 - Red Component - 1 - - Ansi 10 Color - - Blue Component - 0.4823529411764706 - Green Component - 0.98039215686274506 - Red Component - 0.31372549019607843 - - Ansi 11 Color - - Blue Component - 0.5490196078431373 - Green Component - 0.98039215686274506 - Red Component - 0.94509803921568625 - - Ansi 12 Color - - Blue Component - 0.97647058823529409 - Green Component - 0.57647058823529407 - Red Component - 0.74117647058823533 - - Ansi 13 Color - - Blue Component - 0.77647058823529413 - Green Component - 0.47450980392156861 - Red Component - 1 - - Ansi 14 Color - - Blue Component - 0.99215686274509807 - Green Component - 0.9137254901960784 - Red Component - 0.54509803921568623 - - Ansi 15 Color - - Blue Component - 1 - Green Component - 1 - Red Component - 1 - - Ansi 2 Color - - Blue Component - 0.4823529411764706 - Green Component - 0.98039215686274506 - Red Component - 0.31372549019607843 - - Ansi 3 Color - - Blue Component - 0.5490196078431373 - Green Component - 0.98039215686274506 - Red Component - 0.94509803921568625 - - Ansi 4 Color - - Blue Component - 0.97647058823529409 - Green Component - 0.57647058823529407 - Red Component - 0.74117647058823533 - - Ansi 5 Color - - Blue Component - 0.77647058823529413 - Green Component - 0.47450980392156861 - Red Component - 1 - - Ansi 6 Color - - Blue Component - 0.99215686274509807 - Green Component - 0.9137254901960784 - Red Component - 0.54509803921568623 - - Ansi 7 Color - - Blue Component - 0.73333334922790527 - Green Component - 0.73333334922790527 - Red Component - 0.73333334922790527 - - Ansi 8 Color - - Blue Component - 0.33333333333333331 - Green Component - 0.33333333333333331 - Red Component - 0.33333333333333331 - - Ansi 9 Color - - Blue Component - 0.33333333333333331 - Green Component - 0.33333333333333331 - Red Component - 1 - - Background Color - - Blue Component - 0.15977837145328522 - Green Component - 0.12215272337198257 - Red Component - 0.11765811592340469 - - Bold Color - - Blue Component - 0.90237069129943848 - Green Component - 0.90237069129943848 - Red Component - 0.90237069129943848 - - Cursor Color - - Blue Component - 0.73333334922790527 - Green Component - 0.73333334922790527 - Red Component - 0.73333334922790527 - - Cursor Text Color - - Blue Component - 1 - Green Component - 1 - Red Component - 1 - - Foreground Color - - Blue Component - 0.90032327175140381 - Green Component - 0.90032327175140381 - Red Component - 0.90032327175140381 - - Selected Text Color - - Blue Component - 1 - Green Component - 1 - Red Component - 1 - - Selection Color - - Blue Component - 0.35294118523597717 - Green Component - 0.27843138575553894 - Red Component - 0.26666668057441711 - - - diff --git a/iterm-dracula/LICENSE b/iterm-dracula/LICENSE deleted file mode 100644 index dcaf6d7..0000000 --- a/iterm-dracula/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2016 Dracula Theme - -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/iterm-dracula/README.md b/iterm-dracula/README.md deleted file mode 100644 index 59dd327..0000000 --- a/iterm-dracula/README.md +++ /dev/null @@ -1,21 +0,0 @@ -# Dracula for [iTerm 2](http://iterm2.com) - -> A dark theme for [iTerm 2](http://iterm2.com). - -![Screenshot](https://draculatheme.com/assets/img/screenshots/iterm.png) - -## Install - -All instructions can be found at [draculatheme.com/iterm](https://draculatheme.com/iterm). - -## Team - -This theme is maintained by the following person(s) and a bunch of [awesome contributors](https://github.com/dracula/iterm/graphs/contributors). - -[![Harrison Heck](https://avatars0.githubusercontent.com/u/1037526?v=3&s=70)](https://github.com/nesl247) | ---- | -[Harrison Heck](https://github.com/nesl247) | - -## License - -[MIT License](./LICENSE) diff --git a/preview.png b/preview.png deleted file mode 100644 index 4ebed0d..0000000 Binary files a/preview.png and /dev/null differ diff --git a/terminal-bg.jpg b/terminal-bg.jpg deleted file mode 100644 index 0caf8ed..0000000 Binary files a/terminal-bg.jpg and /dev/null differ diff --git a/tmux.conf b/tmux.conf deleted file mode 100644 index 5ba0d6b..0000000 --- a/tmux.conf +++ /dev/null @@ -1,32 +0,0 @@ -# Configure Tabs -set -g base-index 1 -set -g pane-base-index 1 -set -g renumber-windows on -bind-key -n C-t new-window -bind-key -n C-T new-window -c "#{pane_current_path}" -bind-key -n C-w kill-pane - -# Panes -bind \ split-window -h -bind | split-window -h -c '#{pane_current_path}' -bind - split-window -bind _ split-window -c '#{pane_current_path}' - -# Move bar to top -set -g status-position top - -# Fix System Clipboard -set -g default-shell $SHELL -set -g default-command 'reattach-to-user-namespace -l ${SHELL}' - -# Theme -set -g @themepack 'block/yellow' - -# Plugins -set -g @plugin 'tmux-plugins/tpm' -set -g @plugin 'tmux-plugins/tmux-sensible' -set -g @plugin 'jimeh/tmux-themepack' -set -g @plugin 'christoomey/vim-tmux-navigator' - -# Initialize Tmux Plugin Manager (TPM) -run '~/dotfiles/tpm/tpm' diff --git a/tpm/.gitattributes b/tpm/.gitattributes deleted file mode 100644 index 80772e4..0000000 --- a/tpm/.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/tpm/.gitignore b/tpm/.gitignore deleted file mode 100644 index 8a94156..0000000 --- a/tpm/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -**/.vagrant/ -run_tests -tests/run_tests_in_isolation -tests/helpers/helpers.sh diff --git a/tpm/.gitmodules b/tpm/.gitmodules deleted file mode 100644 index 5e44e3c..0000000 --- a/tpm/.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/tpm/.travis.yml b/tpm/.travis.yml deleted file mode 100644 index ac45d8b..0000000 --- a/tpm/.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/tpm/CHANGELOG.md b/tpm/CHANGELOG.md deleted file mode 100644 index 672d3e7..0000000 --- a/tpm/CHANGELOG.md +++ /dev/null @@ -1,83 +0,0 @@ -# Changelog - -### master -- 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` - -### 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 defintion 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/tpm/HOW_TO_PLUGIN.md b/tpm/HOW_TO_PLUGIN.md deleted file mode 100644 index 9901619..0000000 --- a/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/tpm/LICENSE.md b/tpm/LICENSE.md deleted file mode 100644 index 1222865..0000000 --- a/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/tpm/README.md b/tpm/README.md deleted file mode 100644 index 647fd6f..0000000 --- a/tpm/README.md +++ /dev/null @@ -1,107 +0,0 @@ -# Tmux Plugin Manager - -[![Build Status](https://travis-ci.org/tmux-plugins/tpm.png?branch=master)](https://travis-ci.org/tmux-plugins/tpm) - -Installs and loads TMUX plugins. - -Tested and working on Linux, OSX, and Cygwin. - -### Installation - -Requirements: `tmux` version 1.9 (or higher), `git`, `bash`. - -Clone TPM: - - $ git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm - -Put this at the bottom of `.tmux.conf`: - - # 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 '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: - - # 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 - -### More plugins - -For more plugins, check [here](https://github.com/tmux-plugins). - -### 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](https://travis-ci.org/tmux-plugins/tpm). - -When run locally, [vagrant](https://www.vagrantup.com/) is required. -Run tests with: - - # within project directory - $ ./run_tests - -### Other goodies - -- [tmux-copycat](https://github.com/tmux-plugins/tmux-copycat) - a plugin for - regex searches in tmux and fast match selection -- [tmux-yank](https://github.com/tmux-plugins/tmux-yank) - enables copying - highlighted text to system clipboard -- [tmux-open](https://github.com/tmux-plugins/tmux-open) - a plugin for quickly - opening highlighted file or a url -- [tmux-continuum](https://github.com/tmux-plugins/tmux-continuum) - automatic - restoring and continuous saving of tmux env - -You might want to follow [@brunosutic](https://twitter.com/brunosutic) on -twitter if you want to hear about new tmux plugins or feature updates. - -### License - -[MIT](LICENSE.md) diff --git a/tpm/bin/clean_plugins b/tpm/bin/clean_plugins deleted file mode 100755 index 12f8730..0000000 --- a/tpm/bin/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/tpm/bin/install_plugins b/tpm/bin/install_plugins deleted file mode 100755 index c66b15b..0000000 --- a/tpm/bin/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/tpm/bin/update_plugins b/tpm/bin/update_plugins deleted file mode 100755 index 30a5646..0000000 --- a/tpm/bin/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/tpm/bindings/clean_plugins b/tpm/bindings/clean_plugins deleted file mode 100755 index 9a0d5d7..0000000 --- a/tpm/bindings/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/tpm/bindings/install_plugins b/tpm/bindings/install_plugins deleted file mode 100755 index 3ade3c4..0000000 --- a/tpm/bindings/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/tpm/bindings/update_plugins b/tpm/bindings/update_plugins deleted file mode 100755 index 28cc281..0000000 --- a/tpm/bindings/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/tpm/docs/automatic_tpm_installation.md b/tpm/docs/automatic_tpm_installation.md deleted file mode 100644 index 630573f..0000000 --- a/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/tpm/docs/changing_plugins_install_dir.md b/tpm/docs/changing_plugins_install_dir.md deleted file mode 100644 index 93af675..0000000 --- a/tpm/docs/changing_plugins_install_dir.md +++ /dev/null @@ -1,14 +0,0 @@ -# Changing plugins install dir - -By default, TPM installs plugins to `~/.tmux/plugins/`. - -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/tpm/docs/how_to_create_plugin.md b/tpm/docs/how_to_create_plugin.md deleted file mode 100644 index b1a68f9..0000000 --- a/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/tpm/docs/managing_plugins_via_cmd_line.md b/tpm/docs/managing_plugins_via_cmd_line.md deleted file mode 100644 index 7aefd7d..0000000 --- a/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/tpm/docs/tpm_not_working.md b/tpm/docs/tpm_not_working.md deleted file mode 100644 index 87d2998..0000000 --- a/tpm/docs/tpm_not_working.md +++ /dev/null @@ -1,80 +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 -``` diff --git a/tpm/lib/tmux-test b/tpm/lib/tmux-test deleted file mode 160000 index 33fa65f..0000000 --- a/tpm/lib/tmux-test +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 33fa65fbfb72ba6dd106c21bf5ee6cc353ecdbb6 diff --git a/tpm/scripts/check_tmux_version.sh b/tpm/scripts/check_tmux_version.sh deleted file mode 100755 index b0aedec..0000000 --- a/tpm/scripts/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/tpm/scripts/clean_plugins.sh b/tpm/scripts/clean_plugins.sh deleted file mode 100755 index a025524..0000000 --- a/tpm/scripts/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/tpm/scripts/helpers/plugin_functions.sh b/tpm/scripts/helpers/plugin_functions.sh deleted file mode 100644 index d2778d5..0000000 --- a/tpm/scripts/helpers/plugin_functions.sh +++ /dev/null @@ -1,86 +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)" - -_tmux_conf_contents() { - cat /etc/tmux.conf ~/.tmux.conf 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 | - awk '/^[ \t]*source(-file)? +/ { gsub(/'\''/,""); gsub(/'\"'/,""); print $2 }' -} - -# 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/tpm/scripts/helpers/shell_echo_functions.sh b/tpm/scripts/helpers/shell_echo_functions.sh deleted file mode 100644 index ecaa37e..0000000 --- a/tpm/scripts/helpers/shell_echo_functions.sh +++ /dev/null @@ -1,7 +0,0 @@ -echo_ok() { - echo "$*" -} - -echo_err() { - fail_helper "$*" -} diff --git a/tpm/scripts/helpers/tmux_echo_functions.sh b/tpm/scripts/helpers/tmux_echo_functions.sh deleted file mode 100644 index 7a6ef0a..0000000 --- a/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/tpm/scripts/helpers/tmux_utils.sh b/tpm/scripts/helpers/tmux_utils.sh deleted file mode 100644 index e39946a..0000000 --- a/tpm/scripts/helpers/tmux_utils.sh +++ /dev/null @@ -1,3 +0,0 @@ -reload_tmux_environment() { - tmux source-file ~/.tmux.conf >/dev/null 2>&1 -} diff --git a/tpm/scripts/helpers/utility.sh b/tpm/scripts/helpers/utility.sh deleted file mode 100644 index de6eb35..0000000 --- a/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/tpm/scripts/install_plugins.sh b/tpm/scripts/install_plugins.sh deleted file mode 100755 index 7958ab5..0000000 --- a/tpm/scripts/install_plugins.sh +++ /dev/null @@ -1,66 +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" - cd "$(tpm_path)" && - GIT_TERMINAL_PROMPT=0 git clone --recursive "$plugin" >/dev/null 2>&1 -} - -# 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" - clone "$plugin" || - clone "https://git::@github.com/$plugin" -} - -# clone plugin and produce output -install_plugin() { - local plugin="$1" - 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" && - 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 - install_plugin "$plugin" - 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/tpm/scripts/source_plugins.sh b/tpm/scripts/source_plugins.sh deleted file mode 100755 index bb79c26..0000000 --- a/tpm/scripts/source_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" - -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 - plugin_path="$(plugin_path_helper "$plugin")" - silently_source_all_tmux_files "$plugin_path" - done -} - -main() { - source_plugins -} -main diff --git a/tpm/scripts/update_plugin.sh b/tpm/scripts/update_plugin.sh deleted file mode 100755 index 7d856ee..0000000 --- a/tpm/scripts/update_plugin.sh +++ /dev/null @@ -1,71 +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" - $(pull_changes "$plugin" > /dev/null 2>&1) && - echo_ok " \"$plugin\" update success" || - echo_err " \"$plugin\" update fail" -} - -update_all() { - echo_ok "Updating all plugins!" - echo_ok "" - local plugins="$(tpm_plugins_list_helper)" - for plugin in $plugins; do - local plugin_name="$(plugin_name_helper "$plugin")" - # 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 - local plugin_name="$(plugin_name_helper "$plugin")" - 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/tpm/scripts/update_plugin_prompt_handler.sh b/tpm/scripts/update_plugin_prompt_handler.sh deleted file mode 100755 index 5e1f7d9..0000000 --- a/tpm/scripts/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/tpm/scripts/variables.sh b/tpm/scripts/variables.sh deleted file mode 100644 index 5601a86..0000000 --- a/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/tpm/tests/expect_failed_plugin_download b/tpm/tests/expect_failed_plugin_download deleted file mode 100755 index b970477..0000000 --- a/tpm/tests/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/tpm/tests/expect_successful_clean_plugins b/tpm/tests/expect_successful_clean_plugins deleted file mode 100755 index 987c49d..0000000 --- a/tpm/tests/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/tpm/tests/expect_successful_multiple_plugins_download b/tpm/tests/expect_successful_multiple_plugins_download deleted file mode 100755 index cc87a26..0000000 --- a/tpm/tests/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/tpm/tests/expect_successful_plugin_download b/tpm/tests/expect_successful_plugin_download deleted file mode 100755 index 388f05d..0000000 --- a/tpm/tests/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/tpm/tests/expect_successful_update_of_a_single_plugin b/tpm/tests/expect_successful_update_of_a_single_plugin deleted file mode 100755 index bcd64fe..0000000 --- a/tpm/tests/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/tpm/tests/expect_successful_update_of_all_plugins b/tpm/tests/expect_successful_update_of_all_plugins deleted file mode 100755 index 4f3a4a3..0000000 --- a/tpm/tests/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/tpm/tests/helpers/tpm.sh b/tpm/tests/helpers/tpm.sh deleted file mode 100644 index 1594afb..0000000 --- a/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" ] -} diff --git a/tpm/tests/test_plugin_clean.sh b/tpm/tests/test_plugin_clean.sh deleted file mode 100755 index d36c468..0000000 --- a/tpm/tests/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/tpm/tests/test_plugin_installation.sh b/tpm/tests/test_plugin_installation.sh deleted file mode 100755 index 94fb674..0000000 --- a/tpm/tests/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/tpm/tests/test_plugin_installation_legacy.sh b/tpm/tests/test_plugin_installation_legacy.sh deleted file mode 100755 index b1d0cf6..0000000 --- a/tpm/tests/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/tpm/tests/test_plugin_sourcing.sh b/tpm/tests/test_plugin_sourcing.sh deleted file mode 100755 index c06f1fe..0000000 --- a/tpm/tests/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/tpm/tests/test_plugin_update.sh b/tpm/tests/test_plugin_update.sh deleted file mode 100755 index 4924d16..0000000 --- a/tpm/tests/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/tpm/tpm b/tpm/tpm deleted file mode 100755 index 570d58b..0000000 --- a/tpm/tpm +++ /dev/null @@ -1,72 +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 -} - -set_default_tpm_path() { - tmux set-environment -g "$DEFAULT_TPM_ENV_VAR_NAME" "$DEFAULT_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/vimrc b/vimrc deleted file mode 100644 index 195fb3d..0000000 --- a/vimrc +++ /dev/null @@ -1,290 +0,0 @@ -" vim-startify -let g:startify_custom_header = [ - \ '. . . .__ ', - \ '\ / _ * _| | \._. _. _ _ ._ ', - \ ' \/ (_)|(_] |__/[ (_](_](_)[ )', - \ ' ._| ', - \ '', - \ ' ? for help', - \ '', -\ ] -let g:startify_change_to_dir = 0 - -" save project home dir on load -let DirProjectHome = getcwd() - -" generic settings -set nomodeline -set encoding=utf8 - -" Stop word wrapping -set nowrap - -" Adjust system undo levels -set undofile -set undodir=~/.local/share/nvim/undo -set undolevels=100 - -" Use system clipboard -set clipboard=unnamed - -" Set tab width and convert tabs to spaces -set tabstop=2 -set softtabstop=2 -set shiftwidth=2 -set expandtab - -" Don't let Vim hide characters or make loud dings -set conceallevel=1 -set noerrorbells - -" Number gutter with relative line numbers -" Relative lines encourage smarter movements in vim -set number -set relativenumber - -" Use search highlighting -set hlsearch - -" Space above/beside cursor from screen edges -set scrolloff=1 -set sidescrolloff=5 - -" Disable mouse support -set mouse=r -let $NVIM_TUI_ENABLE_CURSOR_SHAPE=1 - -call plug#begin('~/.local/share/nvim/plugged') - -" Menus -Plug 'Shougo/denite.nvim' -Plug 'junegunn/vim-emoji' -Plug 'pocari/vim-denite-emoji' - -" Visuals -Plug 'mhinz/vim-startify' -Plug 'dracula/vim' -Plug 'vim-airline/vim-airline' -Plug 'vim-airline/vim-airline-themes' -Plug 'Yggdroot/indentLine' -Plug 'airblade/vim-gitgutter' -Plug 'ryanoasis/vim-devicons' - -" Navigating Project Files -Plug 'ctrlpvim/ctrlp.vim', { 'on': 'CtrlP' } -Plug 'dyng/ctrlsf.vim' -Plug 'vim-scripts/SearchComplete' -Plug 'tpope/vim-fugitive' - -" Code Editing -Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' } -Plug 'w0rp/ale' -Plug 'tpope/vim-commentary' -Plug 'tpope/vim-surround' -Plug 'AndrewRadev/switch.vim' -Plug 'jiangmiao/auto-pairs' - -" Languages -Plug 'joukevandermaas/vim-ember-hbs' -Plug 'othree/html5.vim' -Plug 'leafgarland/typescript-vim' -Plug 'Quramy/tsuquyomi' -Plug 'posva/vim-vue' -Plug 'elzr/vim-json' - -" Movement -Plug 'justinmk/vim-sneak' - -" Tmux -Plug 'christoomey/vim-tmux-navigator' - -" Visuals -Plug 'mhinz/vim-startify' -Plug 'dracula/vim' -Plug 'vim-airline/vim-airline' -Plug 'vim-airline/vim-airline-themes' -Plug 'Yggdroot/indentLine' -Plug 'airblade/vim-gitgutter' -Plug 'ryanoasis/vim-devicons' - -call plug#end() - - -" Configuration - -" Theme: Dracula -color dracula - -" denite setup -call denite#custom#map('insert', "", '', 'noremap') -call denite#custom#map('insert', "", '', 'noremap') -call denite#custom#map('insert', '', '' , 'noremap') -call denite#custom#map('insert', '', '' , 'noremap') -call denite#custom#option('_', { - \ 'prompt': '⟩', - \ 'winheight': 10, - \ 'auto_resize': 1, - \}) -let s:menus = {} -let s:menus.neovim = { - \ 'description': 'Tools & Keybindings' -\ } -let s:menus.neovim.command_candidates = [] -let s:menus.tmux = { - \ 'description': 'Keybindings' -\ } -let s:menus.tmux.command_candidates = [] -let s:menus.git = { - \ 'description': 'Git power menu g' -\ } -let s:menus.git.command_candidates = [] - -" Leader -let mapleader="\" -let s:menus.neovim.command_candidates += [['Leader: ', '']] - -" vim-commentary -let s:menus.neovim.command_candidates += [['Comment toggle line: gcc', '']] - -" vim-airline -let g:airline#extensions#tabline#enabled=1 -let g:airline_powerline_fonts=1 -set laststatus=2 - -" indentLine -let g:indentLine_enabled = 1 -let g:indentLine_char = "⟩" - -" Return to last opened file -nmap -let s:menus.neovim.command_candidates += [['Reopen last buffer: ', 'c-^']] - -" register list -nnoremap "" :registers "0123456789abcdefghijklmnopqrstuvwxyz*+. -let s:menus.neovim.command_candidates += [['List registers: ""', ':registers']] - -" adding empty lines -nnoremap k :put! =repeat(nr2char(10), v:count1)'[ -nnoremap j :put =repeat(nr2char(10), v:count1) -let s:menus.neovim.command_candidates += [['Add empty line above: k', '']] -let s:menus.neovim.command_candidates += [['Add empty line below: j', '']] - -" moving current line -nnoremap mk :execute 'move -1-'. v:count1 -nnoremap mj :execute 'move +'. v:count1 -let s:menus.neovim.command_candidates += [['Move line up: mk', '']] -let s:menus.neovim.command_candidates += [['Move line down: mj', '']] - -" arrow keys resize pane -nnoremap :vertical resize -1 -nnoremap :vertical resize +1 -nnoremap :resize -1 -nnoremap :resize +1 -let s:menus.neovim.command_candidates += [['Resize pane: Arrow Keys', '']] -" disable arrow keys in insert mode -imap -imap -imap -imap - -" File Buffer -nnoremap :bnext! -nnoremap :bprev! -let s:menus.neovim.command_candidates += [['Next buffer: ', 'bnext!']] -let s:menus.neovim.command_candidates += [['Previous buffer: ', 'bprev!']] - -" switch -let g:switch_mapping = "s" -let g:switch_custom_definitions = [['var', 'let', 'const', 'let']] -let s:menus.neovim.command_candidates += [['Switch under cursor [ex: true -> false]: s', 'Switch']] - -" ctrlp Fuzzy Finder -nnoremap p :CtrlP -nnoremap t :CtrlP -let g:ctrlp_match_window = 'top,order:ttb,min:1,max:10,results:10' -let g:ctrlp_line_prefix = '' -let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""' -let s:menus.neovim.command_candidates += [['Fuzzy Find Files: t (or p)', 'CtrlP']] - -" netrw File Explorer -function! ExploreToggle(bang) - if &ft ==# "netrw" - :exe "lcd " . g:DirProjectHome - :bd - else - if a:bang - :lcd %:p:h - :enew - :Explore - else - :exe "lcd " . g:DirProjectHome - :enew - :Explore - endif - endif -endfunction -command! -bang ET call ExploreToggle(0) -map ` :ET -map ~ :ET! -autocmd FileType netrw set nolist -let g:netrw_preview = 1 -let g:netrw_banner = 0 -let s:menus.neovim.command_candidates += [['File Explorer: `', 'Explore']] -let s:menus.neovim.command_candidates += [['File Explorer from current open file: ~', 'Explore']] - -" deoplete -let g:deoplete#enable_at_startup = 1 -inoremap pumvisible() ? "\" : "\" - -" sneak -let g:sneak#s_next = 1 -nmap f Sneak_f -nmap F Sneak_F -xmap f Sneak_f -xmap F Sneak_F -omap f Sneak_f -omap F Sneak_F -let s:menus.neovim.command_candidates += [['Sneak to next character: f (F back)', '']] -let s:menus.neovim.command_candidates += [['Sneak to next 2 character sequence: S (S back)', '']] - -" ctrlsf -nnoremap fp :CtrlSF -nnoremap ft :CtrlSFToggle -let g:ctrlsf_default_view_mode = 'compact' -let s:menus.neovim.command_candidates += [['Find in Project: fp', 'CtrlSF ']] -let s:menus.neovim.command_candidates += [['Find in Project Toggle: ft', 'CtrlSFToggle']] - -" vim-fugitive -let s:menus.neovim.command_candidates += [['Git menu: g', 'Denite menu:git']] -let s:menus.git.command_candidates += [['Status `g status`', 'Git status']] -let s:menus.git.command_candidates += [['Add Patch `g add -p`', 'Git add -p']] -let s:menus.git.command_candidates += [['Commit `g commit`', 'Git commit']] - -" vim-denite-emoji -let s:menus.neovim.command_candidates += [['Emoji menu: e', 'Denite emoji']] - -" writing -autocmd Filetype markdown call SetMarkdownOptions() -function SetMarkdownOptions() - " Enable spellcheck. - set spell spelllang=en_us - set wrap - set nolist -endfunction - -" denite tmux -let s:menus.tmux.command_candidates += [['Leader: b', '']] -let s:menus.tmux.command_candidates += [['Time: t', '']] -let s:menus.tmux.command_candidates += [['New vertical split: \', '']] -let s:menus.tmux.command_candidates += [['New horizontal split: -', '']] -let s:menus.tmux.command_candidates += [['New tab: t', '']] -let s:menus.tmux.command_candidates += [['Close tab: w', '']] -let s:menus.tmux.command_candidates += [['Next tab: ', '']] -let s:menus.tmux.command_candidates += [['Previous tab: ', '']] - -" denite finalize -call denite#custom#var('menu', 'menus', s:menus) -nnoremap / :Denite menu -nnoremap ? :Denite menu -nnoremap g :Denite menu:git -nnoremap e :Denite emoji diff --git a/zshrc b/zshrc deleted file mode 100644 index 07c6629..0000000 --- a/zshrc +++ /dev/null @@ -1,37 +0,0 @@ -autoload colors zsh/terminfo -colors - -precmd() { print "" } - -PS1="⟩" -RPS1="%{$fg[magenta]%}%20<...<%~%<<%{$reset_color%}" - -# Auto start tmux -if [ "$TMUX" = "" ]; then tmux; fi - -# Auto CD -setopt auto_cd - -# Typo Correction -setopt correctall -alias git status='nocorrect git status' - -# Plugins -export NVM_AUTO_USE=true -if [[ ! -f ~/.antigen.zsh ]]; then - curl https://raw.githubusercontent.com/zsh-users/antigen/master/antigen.zsh > ~/.antigen.zsh -fi -source ~/.antigen.zsh - -antigen bundle zsh-users/zsh-syntax-highlighting -antigen bundle zsh-users/zsh-autosuggestions -antigen bundle git -antigen bundle lukechilds/zsh-nvm - -export NVM_DIR="$HOME/.nvm" -[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm - -# custom computer config -if [ -f ~/.zshrc.custom ]; then - source ~/.zshrc.custom -fi