diff --git a/.archive/post_install.sh b/.archive/post_install.sh deleted file mode 100755 index 6e7726d..0000000 --- a/.archive/post_install.sh +++ /dev/null @@ -1,173 +0,0 @@ -#!/bin/bash - -# A script for setting up post install -# Relies on Flatpak to be installed -# Created by Blake Ridgway - -# Function to detect the Linux distribution -detect_linux_distro() { - if [ -f /etc/os-release ]; then - . /etc/os-release - echo "$ID" - elif [ -f /etc/lsb-release ]; then - . /etc/lsb-release - echo "$DISTRIBUTOR_ID" - elif [ -f /etc/debian_version ]; then - echo "debian" - elif [ -f /etc/redhat-release ]; then - echo "redhat" - else - echo "unknown" - fi -} - -# Detect the Linux distribution -DISTRO=$(detect_linux_distro) - -# Determine the appropriate package manager -case "$DISTRO" in - fedora|rhel|centos) - PACKAGE_MANAGER="dnf" - ;; - debian|ubuntu|pop) - PACKAGE_MANAGER="apt" - ;; - *) - echo "Unsupported distribution: $DISTRO" - exit 1 - ;; -esac - -# Update system before installing packages -if [ "$PACKAGE_MANAGER" == "dnf" ]; then - sudo dnf update && sudo dnf upgrade -elif [ "$PACKAGE_MANAGER" == "apt" ]; then - sudo apt update && sudo apt upgrade -y -fi - -# Setup Flatpak -flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo - -PACKAGE_LIST=( - btop - curl - git - gh - fd-find - flatpak - libfontconfig-dev - libssl-dev - neofetch - python3 - python3-pip - ripgrep - virt-manager - zsh -) - -FLATPAK_LIST=( - com.bitwarden.desktop - com.github.tchx84.Flatseal - com.valvesoftware.Steam - net.davidotek.pupgui2 - net.veloren.airshipper - org.videolan.VLC -) - -echo ####################### -echo # Installing Packages # -echo ####################### - -for package_name in ${PACKAGE_LIST[@]}; do - if [ "$PACKAGE_MANAGER" == "dnf" ]; then - if ! dnf list --installed | grep -q "^\<$package_name\>"; then - echo "Installing $package_name..." - sleep .5 - sudo dnf install "$package_name" -y - echo "$package_name has been installed" - else - echo "$package_name already installed" - fi - elif [ "$PACKAGE_MANAGER" == "apt" ]; then - if ! dpkg -l | grep -q "^\ $package_name"; then - echo "Installing $package_name..." - sleep .5 - sudo apt install "$package_name" -y - echo "$package_name has been installed" - else - echo "$package_name already installed" - fi - fi -done - -for flatpak_name in ${FLATPAK_LIST[@]}; do - if ! flatpak list | grep -q $flatpak_name; then - flatpak install "$flatpak_name" -y - else - echo "$flatpak_name already installed" - fi -done - -echo ################### -echo # Setting up NVIM # -echo ################### - -curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux64.tar.gz -sudo rm -rf /opt/nvim -sudo tar -C /opt -xzf nvim-linux64.tar.gz - -echo ########## -echo # pynvim # -echo ########## - -/usr/bin/python3 -m pip install pynvim - -echo ##################### -echo # Install Nerd Font # -echo ##################### - -wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.0.2/Hack.zip && unzip Hack.zip -d Hack -mkdir -p ~/.local/share/fonts && cp Hack/HackNerdFont-Regular.ttf ~/.local/share/fonts -fc-cache -f -v -rm -rf Hack* - - -echo ###################### -echo # Installing OhMyZSH # -echo ###################### - -sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" - - -echo ################### -echo # Install Rust Up # -echo ################### - -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh - -echo ################## -echo # Setup Starship # -echo ################## - -curl -sS https://starship.rs/install.sh | sh - -echo ############### -echo # Config File # -echo ############### - -cp terminal/starship.toml ~/.config/starship.toml - -# Symlink files - -FILES=('vimrc' 'vim' 'zshrc' 'zsh' 'agignore' 'gitconfig' 'gitignore' 'gitmessage' 'aliases') -for file in ${FILES[@]}; do - echo "" - echo "Simlinking $file to $HOME" - ln -sf "$PWD/$file" "$HOME/.$file" - if [ $? -eq 0 ]; then - echo "$PWD/$file ~> $HOME/.$file" - else - echo 'Install failed to symlink.' - exit 1 - fi -done diff --git a/aliases.bash b/aliases.bash index 62090eb..b36b863 100644 --- a/aliases.bash +++ b/aliases.bash @@ -6,13 +6,13 @@ alias e="$EDITOR" alias v="$VISUAL" alias tmux='tmux -u' -# Top -alias cpu='top -o CPU' -alias mem='top -o MEM' +# System monitor +alias cpu='btop' +alias mem='btop' # Get your current public IP -alias ip="curl icanhazip.com" -alias ip6="wget -q0- -ti -T2 ipv6.icanhazip.com" +alias ip="curl -4 icanhazip.com" +alias ip6="curl -6 icanhazip.com" # Git alias ga="git add" @@ -23,7 +23,6 @@ alias gs="git status" alias nah="git reset --hard; git clean -df;" alias grr="git remote remove origin" alias gra="git remote add origin " -alias clonerepo="git fetch --all && git pull --all && git clone-branches" # Python alias initvenv='python3 -m venv venv' @@ -35,20 +34,6 @@ alias py3='python3' alias python='python3' alias pip='pip3' -# Bundler -alias b="bundle" -alias bi="bundle install" -alias be="bundle exec" -alias bu="bundle update" - -# Rails -alias migrate="rake db:migrate db:rollback && rake db:migrate" -alias s="rspec" -alias rk="rake" -alias rc="rails c" -alias rs="rails s" -alias gi="gem install" - # Pretty print the path alias path='echo $PATH | tr -s ":" "\n"' @@ -61,6 +46,6 @@ alias vim=nvim alias vi=nvim # Configuration -alias vimrc='nvim ~/.vimrc' +alias vimrc='nvim ~/.config/nvim/init.lua' alias ealias='nvim ~/dotfiles/aliases.bash' alias bashrc='nvim ~/.bashrc' diff --git a/aliases.zsh b/aliases.zsh index ce68aca..cb5a9a7 100755 --- a/aliases.zsh +++ b/aliases.zsh @@ -6,13 +6,13 @@ alias e="$EDITOR" alias v="$VISUAL" alias tmux='tmux -u' -# top -alias cpu='top -o CPU' -alias mem='top -o MEM' +# System monitor +alias cpu='btop' +alias mem='btop' # Get your current public IP -alias ip="curl icanhazip.com" -alias ip6="wget -q0- -ti -T2 ipv6.icanhazip.com" +alias ip="curl -4 icanhazip.com" +alias ip6="curl -6 icanhazip.com" # Git alias ga="git add" @@ -23,7 +23,6 @@ alias gs="git status" alias nah="git reset --hard; git clean -df;" alias grr="git remote remove origin" alias gra="git remote add origin " -alias clonerepo="git fetch --all && git pull --all && git clone-branches" # Python alias initvenv='python3 -m venv venv' @@ -35,20 +34,6 @@ alias py3='python3' alias python='python3' alias pip='pip3' -# Bundler -alias b="bundle" -alias bi="bundle install" -alias be="bundle exec" -alias bu="bundle update" - -# Rails -alias migrate="rake db:migrate db:rollback && rake db:migrate" -alias s="rspec" -alias rk="rake" -alias rc="rails c" -alias rs="rails s" -alias gi="gem install" - # Pretty print the path alias path='echo $PATH | tr -s ":" "\n"' @@ -60,7 +45,7 @@ alias zshreload='source ~/.zshrc' alias vim=nvim alias vi=nvim -# Configuration -alias vimrc='nvim ~/.vimrc' +# Configuration +alias vimrc='nvim ~/.config/nvim/init.lua' alias ealias='nvim ~/dotfiles/aliases.zsh' alias zshrc='nvim ~/.zshrc' diff --git a/bashrc b/bashrc index d86562a..14341ea 100644 --- a/bashrc +++ b/bashrc @@ -1,58 +1,50 @@ +# If not running interactively, don't do anything +case $- in + *i*) ;; + *) return ;; +esac + # Set default user DEFAULT_USER="$USER" +# Editor +export EDITOR='nvim' + # Environment variables export GOPATH="$HOME/go" -export PATH="$PATH:$GOPATH/bin" +export PATH="$PATH:$GOPATH/bin:/usr/local/go/bin" + +# Local bin +export PATH="$PATH:$HOME/.local/bin" # Node.js and NVM configuration export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" [ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion" -# Go-specific paths -export PATH="$PATH:/usr/local/go/bin" +# Rust/Cargo +[ -f "$HOME/.cargo/env" ] && source "$HOME/.cargo/env" -# Haskell tools -export PATH="$PATH:$HOME/.cabal/bin" -export PATH="$PATH:/opt/cabal/1.22/bin" -export PATH="$PATH:/opt/ghc/7.10.3/bin" - -# Ruby tools -export PATH="$PATH:$HOME/.rvm/bin" -[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" - -# Neovim -export PATH="$PATH:/opt/nvim-linux64/bin" - -# Postgres -export PATH="$PATH:/usr/local/var/postgres" - -# Editor -export EDITOR='vim' - -# SSH settings +# SSH agent if [ -z "$SSH_AGENT_PID" ]; then - eval "$(ssh-agent -s)" - ssh-add -A 2>/dev/null; + eval "$(ssh-agent -s)" + ssh-add -A 2>/dev/null fi # FZF (if installed) [ -f ~/.fzf.bash ] && source ~/.fzf.bash -# Starship prompt (if installed) -export PATH=$PATH:/home/cipher/.local/bin -eval "$(oh-my-posh init bash --config 'https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/refs/heads/main/themes/kali.omp.json')" -#eval "$(starship init bash)" +# Oh My Posh prompt +eval "$(oh-my-posh init bash --config ~/.config/oh-my-posh/theme.omp.json)" # Bash completion for Git if [ -f /usr/share/bash-completion/completions/git ]; then - source /usr/share/bash-completion/completions/git + source /usr/share/bash-completion/completions/git fi -# Custom aliases (include your existing aliases.zsh content here or source it) +# Custom aliases if [ -f "$HOME/dotfiles/aliases.bash" ]; then - source "$HOME/dotfiles/aliases.bash" + source "$HOME/dotfiles/aliases.bash" fi # Key timeout @@ -61,37 +53,23 @@ export KEYTIMEOUT=1 # C++ include path export CPLUS_INCLUDE_PATH=/usr/local/include -# If not running interactively, don't do anything -case $- in - *i*) ;; - *) return ;; -esac - work() { - set +e + set +e - local proj="$HOME/Drives/500GB/PycharmProjects/time_logix" - cd "$proj" || { echo "No such dir: $proj" >&2; return 1; } + local proj="$HOME/Drives/500GB/PycharmProjects/time_logix" + cd "$proj" || { echo "No such dir: $proj" >&2; return 1; } - # Ensure venv exists - [ -d venv ] || python3 -m venv venv || { echo "venv create failed" >&2; return 1; } + [ -d venv ] || python3 -m venv venv || { echo "venv create failed" >&2; return 1; } - # Activate venv - . venv/bin/activate + . venv/bin/activate + trap 'deactivate 2>/dev/null || true' RETURN - # Always deactivate when function returns - trap 'deactivate 2>/dev/null || true' RETURN + python main.py + local code=$? - # Run the app - python main.py - local code=$? + cd ~ || true - # Move back to home regardless of success/failure - cd ~ || true - - if [ $code -ne 0 ]; then - echo "main.py exited with code $code" - fi + if [ $code -ne 0 ]; then + echo "main.py exited with code $code" + fi } -# added by 02-dev-tools-setup.sh -export PATH=$PATH:/usr/local/go/bin diff --git a/gitconfig b/gitconfig index f1b6419..c6af762 100644 --- a/gitconfig +++ b/gitconfig @@ -1,6 +1,6 @@ [user] - email = hello@ciphervance.com - name = Cipher Vance + email = blake@blakeridgway.com + name = Blake Ridgway [commit] template = ~/dotfiles/commit-conventions.txt [core] diff --git a/nvim/lazy-lock.json b/nvim/lazy-lock.json index 0172b60..4d9546c 100644 --- a/nvim/lazy-lock.json +++ b/nvim/lazy-lock.json @@ -1,29 +1,39 @@ { - "LuaSnip": { "branch": "master", "commit": "3732756842a2f7e0e76a7b0487e9692072857277" }, + "LuaSnip": { "branch": "master", "commit": "642b0c595e11608b4c18219e93b88d7637af27bc" }, "NvChad": { "branch": "v2.5", "commit": "eb209a4a82aecabe609d8206b865e00a760fb644" }, - "base46": { "branch": "v3.0", "commit": "45b336ec52615dd1a3aa47848d894616dd6293a5" }, - "cmp-async-path": { "branch": "main", "commit": "b8aade3a0626f2bc1d3cd79affcd7da9f47f7ab1" }, + "base46": { "branch": "v3.0", "commit": "884b990dcdbe07520a0892da6ba3e8d202b46337" }, + "cmp-async-path": { "branch": "main", "commit": "f8af3f726e07f2e9d37672eaa9102581aefce149" }, "cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" }, "cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" }, "cmp-nvim-lua": { "branch": "main", "commit": "e3a22cb071eb9d6508a156306b102c45cd2d573d" }, "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, "conform.nvim": { "branch": "master", "commit": "178b8f0d70ee63db616a8b3bda637218eef121dd" }, - "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, - "gitsigns.nvim": { "branch": "main", "commit": "cdafc320f03f2572c40ab93a4eecb733d4016d07" }, - "indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" }, + "friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" }, + "gitsigns.nvim": { "branch": "main", "commit": "4ed47e8c4c66c921dc1d6643977e0526e1f44396" }, + "harpoon": { "branch": "harpoon2", "commit": "87b1a3506211538f460786c23f98ec63ad9af4e5" }, + "indent-blankline.nvim": { "branch": "master", "commit": "d28a3f70721c79e3c5f6693057ae929f3d9c0a03" }, "lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" }, + "lazygit.nvim": { "branch": "main", "commit": "a04ad0dbc725134edbee3a5eea29290976695357" }, "mason.nvim": { "branch": "main", "commit": "57e5a8addb8c71fb063ee4acda466c7cf6ad2800" }, "menu": { "branch": "main", "commit": "7a0a4a2896b715c066cfbe320bdc048091874cc6" }, "minty": { "branch": "main", "commit": "aafc9e8e0afe6bf57580858a2849578d8d8db9e0" }, - "nvim-autopairs": { "branch": "master", "commit": "7a2c97cccd60abc559344042fefb1d5a85b3e33b" }, - "nvim-cmp": { "branch": "main", "commit": "d97d85e01339f01b842e6ec1502f639b080cb0fc" }, + "nvim-autopairs": { "branch": "master", "commit": "59bce2eef357189c3305e25bc6dd2d138c1683f5" }, + "nvim-cmp": { "branch": "main", "commit": "a1d504892f2bc56c2e79b65c6faded2fd21f3eca" }, + "nvim-dap": { "branch": "master", "commit": "4f5deb110d9ff8994d96c21df95e2271d11214f9" }, + "nvim-dap-go": { "branch": "main", "commit": "b4421153ead5d726603b02743ea40cf26a51ed5f" }, + "nvim-dap-ui": { "branch": "master", "commit": "d9770a55188bb34c2bdce7d90a6151181beb6966" }, "nvim-lspconfig": { "branch": "master", "commit": "dc7e7c7699cc01b1b6fefa97f9b496d8f447d7a1" }, - "nvim-tree.lua": { "branch": "master", "commit": "1eda2569394f866360e61f590f1796877388cb8a" }, - "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, - "nvim-web-devicons": { "branch": "master", "commit": "8dcb311b0c92d460fac00eac706abd43d94d68af" }, + "nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" }, + "nvim-tree.lua": { "branch": "master", "commit": "31503ad5d869fca61461d82a9126f62480ecb0ab" }, + "nvim-treesitter": { "branch": "main", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, + "nvim-web-devicons": { "branch": "master", "commit": "40e9d5a6cc3db11b309e39593fc7ac03bb844e38" }, + "oil.nvim": { "branch": "master", "commit": "0fcc83805ad11cf714a949c98c605ed717e0b83e" }, "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, - "telescope.nvim": { "branch": "master", "commit": "3a12a853ebf21ec1cce9a92290e3013f8ae75f02" }, - "ui": { "branch": "v3.0", "commit": "bea2af0a76c1098fac0988ad296aa028cad2a333" }, + "telescope.nvim": { "branch": "master", "commit": "cfb85dcf7f822b79224e9e6aef9e8c794211b20b" }, + "todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" }, + "toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" }, + "trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" }, + "ui": { "branch": "v3.0", "commit": "cb75908a86720172594b30de147272c1b3a7f452" }, "volt": { "branch": "main", "commit": "620de1321f275ec9d80028c68d1b88b409c0c8b1" }, "which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" } } diff --git a/nvim/lua/chadrc.lua b/nvim/lua/chadrc.lua index 9eca87c..b0c6edf 100644 --- a/nvim/lua/chadrc.lua +++ b/nvim/lua/chadrc.lua @@ -1,24 +1,19 @@ --- This file needs to have same structure as nvconfig.lua --- https://github.com/NvChad/ui/blob/v3.0/lua/nvconfig.lua --- Please read that file to know all available options :( - ---@type ChadrcConfig local M = {} M.base46 = { - theme = "onedark", - - -- hl_override = { - -- Comment = { italic = true }, - -- ["@comment"] = { italic = true }, - -- }, + theme = "onedark", } --- M.nvdash = { load_on_startup = true } --- M.ui = { --- tabufline = { --- lazyload = false --- } --- } +-- Enable the startup dashboard +M.nvdash = { + load_on_startup = true, +} + +M.ui = { + tabufline = { + lazyload = false, + }, +} return M diff --git a/nvim/lua/configs/conform.lua b/nvim/lua/configs/conform.lua index 35ba6cf..37d1b56 100644 --- a/nvim/lua/configs/conform.lua +++ b/nvim/lua/configs/conform.lua @@ -1,15 +1,17 @@ -local options = { +return { formatters_by_ft = { lua = { "stylua" }, - -- css = { "prettier" }, - -- html = { "prettier" }, + go = { "goimports", "gofmt" }, + cs = { "csharpier" }, + yaml = { "prettier" }, + json = { "prettier" }, + jsonc = { "prettier" }, + sh = { "shfmt" }, + bash = { "shfmt" }, }, - -- format_on_save = { - -- -- These options will be passed to conform.format() - -- timeout_ms = 500, - -- lsp_fallback = true, - -- }, + format_on_save = { + timeout_ms = 1000, + lsp_fallback = true, + }, } - -return options diff --git a/nvim/lua/configs/dap.lua b/nvim/lua/configs/dap.lua new file mode 100644 index 0000000..671a6e9 --- /dev/null +++ b/nvim/lua/configs/dap.lua @@ -0,0 +1,92 @@ +local dap = require "dap" +local dapui = require "dapui" + +-- DAP UI setup +dapui.setup { + icons = { expanded = "▾", collapsed = "▸", current_frame = "▸" }, + layouts = { + { + elements = { + { id = "scopes", size = 0.35 }, + { id = "breakpoints", size = 0.15 }, + { id = "stacks", size = 0.25 }, + { id = "watches", size = 0.25 }, + }, + size = 45, + position = "left", + }, + { + elements = { + { id = "repl", size = 0.5 }, + { id = "console", size = 0.5 }, + }, + size = 12, + position = "bottom", + }, + }, +} + +-- Auto open/close UI with debug session +dap.listeners.after.event_initialized["dapui_config"] = function() + dapui.open() +end +dap.listeners.before.event_terminated["dapui_config"] = function() + dapui.close() +end +dap.listeners.before.event_exited["dapui_config"] = function() + dapui.close() +end + +-- Go: powered by nvim-dap-go (wraps delve) +require("dap-go").setup { + dap_configurations = { + { + type = "go", + name = "Debug file", + request = "launch", + program = "${file}", + }, + { + type = "go", + name = "Debug package", + request = "launch", + program = "${fileDirname}", + }, + { + type = "go", + name = "Attach to process", + mode = "local", + request = "attach", + processId = require("dap.utils").pick_process, + }, + }, +} + +-- C# / .NET: netcoredbg +dap.adapters.coreclr = { + type = "executable", + command = vim.fn.stdpath "data" .. "/mason/bin/netcoredbg", + args = { "--interpreter=vscode" }, +} + +dap.configurations.cs = { + { + type = "coreclr", + name = "Launch .NET", + request = "launch", + program = function() + return vim.fn.input("Path to dll: ", vim.fn.getcwd() .. "/bin/Debug/", "file") + end, + }, + { + type = "coreclr", + name = "Attach .NET", + request = "attach", + processId = require("dap.utils").pick_process, + }, +} + +-- Signs +vim.fn.sign_define("DapBreakpoint", { text = "●", texthl = "DiagnosticError", linehl = "", numhl = "" }) +vim.fn.sign_define("DapBreakpointCondition", { text = "◆", texthl = "DiagnosticWarn", linehl = "", numhl = "" }) +vim.fn.sign_define("DapStopped", { text = "▶", texthl = "DiagnosticOk", linehl = "DapStoppedLine", numhl = "" }) diff --git a/nvim/lua/configs/lspconfig.lua b/nvim/lua/configs/lspconfig.lua index 20a0cce..9091bb9 100644 --- a/nvim/lua/configs/lspconfig.lua +++ b/nvim/lua/configs/lspconfig.lua @@ -1,6 +1,48 @@ +-- NvChad sets default capabilities (nvim-cmp) and on_attach via vim.lsp.config("*", ...) require("nvchad.configs.lspconfig").defaults() -local servers = { "html", "cssls" } -vim.lsp.enable(servers) +-- Go +vim.lsp.config("gopls", { + settings = { + gopls = { + gofumpt = true, + usePlaceholders = true, + staticcheck = true, + analyses = { + unusedparams = true, + shadow = true, + nilness = true, + }, + hints = { + assignVariableTypes = true, + compositeLiteralFields = true, + functionTypeParameters = true, + parameterNames = true, + rangeVariableTypes = true, + }, + }, + }, +}) --- read :h vim.lsp.config for changing options of lsp servers +-- YAML +vim.lsp.config("yamlls", { + settings = { + yaml = { + validate = true, + schemaStore = { + enable = true, + url = "https://www.schemastore.org/api/json/catalog.json", + }, + }, + }, +}) + +-- C# / OmniSharp +vim.lsp.config("omnisharp", { + enable_roslyn_analyzers = true, + organize_imports_on_format = true, + enable_import_completion = true, +}) + +-- Enable all servers (Mason puts their binaries on PATH automatically) +vim.lsp.enable({ "gopls", "yamlls", "bashls", "omnisharp" }) diff --git a/nvim/lua/mappings.lua b/nvim/lua/mappings.lua index 783b78f..2274ab9 100644 --- a/nvim/lua/mappings.lua +++ b/nvim/lua/mappings.lua @@ -1,10 +1,79 @@ require "nvchad.mappings" --- add yours here - local map = vim.keymap.set +-- Quick command mode map("n", ";", ":", { desc = "CMD enter command mode" }) -map("i", "jk", "") +map("i", "jk", "", { desc = "Escape insert mode" }) --- map({ "n", "i", "v" }, "", " w ") +-- Save with Ctrl+S +map({ "n", "i", "v" }, "", "w", { desc = "Save file" }) + +-- ── Git ────────────────────────────────────────────────────────────────────── +map("n", "gg", "LazyGit", { desc = "Open LazyGit" }) + +-- ── Diagnostics (Trouble) ──────────────────────────────────────────────────── +map("n", "xx", "Trouble diagnostics toggle", { desc = "Workspace diagnostics" }) +map("n", "xb", "Trouble diagnostics toggle filter.buf=0", { desc = "Buffer diagnostics" }) +map("n", "xs", "Trouble symbols toggle focus=false", { desc = "Document symbols" }) +map("n", "xl", "Trouble lsp toggle focus=false win.position=right", { desc = "LSP references" }) +map("n", "xq", "Trouble qflist toggle", { desc = "Quickfix list" }) + +-- ── DAP ────────────────────────────────────────────────────────────────────── +map("n", "db", "DapToggleBreakpoint", { desc = "Toggle breakpoint" }) +map("n", "dB", function() + require("dap").set_breakpoint(vim.fn.input "Condition: ") +end, { desc = "Conditional breakpoint" }) +map("n", "dc", "DapContinue", { desc = "Continue" }) +map("n", "di", "DapStepInto", { desc = "Step into" }) +map("n", "do", "DapStepOver", { desc = "Step over" }) +map("n", "dO", "DapStepOut", { desc = "Step out" }) +map("n", "dt", "DapTerminate", { desc = "Terminate" }) +map("n", "du", function() require("dapui").toggle() end, { desc = "Toggle DAP UI" }) +map("n", "dr", function() require("dap").repl.open() end,{ desc = "Open REPL" }) +map("n", "dgt", function() require("dap-go").debug_test() end, { desc = "Debug Go test" }) +map("n", "dgl", function() require("dap-go").debug_last_test() end, { desc = "Debug last Go test" }) + +-- ── Terminal ────────────────────────────────────────────────────────────────── +map("n", "tf", "ToggleTerm direction=float", { desc = "Float terminal" }) +map("n", "th", "ToggleTerm direction=horizontal", { desc = "Horizontal terminal" }) +map("n", "tv", "ToggleTerm direction=vertical", { desc = "Vertical terminal" }) + +-- ── TODO comments ───────────────────────────────────────────────────────────── +map("n", "ft", "TodoTelescope", { desc = "Find TODOs" }) +map("n", "]t", function() require("todo-comments").jump_next() end, { desc = "Next TODO" }) +map("n", "[t", function() require("todo-comments").jump_prev() end, { desc = "Prev TODO" }) + +-- ── Harpoon ─────────────────────────────────────────────────────────────────── +map("n", "ha", function() require("harpoon"):list():add() end, { desc = "Add file" }) +map("n", "hh", function() + local h = require "harpoon" + h.ui:toggle_quick_menu(h:list()) +end, { desc = "Toggle menu" }) +map("n", "h1", function() require("harpoon"):list():select(1) end, { desc = "File 1" }) +map("n", "h2", function() require("harpoon"):list():select(2) end, { desc = "File 2" }) +map("n", "h3", function() require("harpoon"):list():select(3) end, { desc = "File 3" }) +map("n", "h4", function() require("harpoon"):list():select(4) end, { desc = "File 4" }) +-- cycle through harpoon list +map("n", "hp", function() require("harpoon"):list():prev() end, { desc = "Prev file" }) +map("n", "hn", function() require("harpoon"):list():next() end, { desc = "Next file" }) + +-- ── Oil ─────────────────────────────────────────────────────────────────────── +map("n", "-", "Oil", { desc = "Open parent dir (Oil)" }) +map("n", "oo", "Oil --float", { desc = "Oil (float)" }) + +-- ── which-key group labels ──────────────────────────────────────────────────── +vim.schedule(function() + local ok, wk = pcall(require, "which-key") + if not ok then return end + wk.add { + { "d", group = "Debug" }, + { "dg", group = "Go" }, + { "x", group = "Diagnostics" }, + { "t", group = "Terminal" }, + { "g", group = "Git" }, + { "h", group = "Harpoon" }, + { "o", group = "Oil" }, + { "f", group = "Find" }, + } +end) diff --git a/nvim/lua/options.lua b/nvim/lua/options.lua index 738f20b..f3949e4 100644 --- a/nvim/lua/options.lua +++ b/nvim/lua/options.lua @@ -1,6 +1,23 @@ require "nvchad.options" --- add yours here! +local o = vim.opt --- local o = vim.o --- o.cursorlineopt ='both' -- to enable cursorline! +o.relativenumber = true -- relative line numbers for fast navigation +o.scrolloff = 8 -- keep 8 lines visible above/below cursor +o.sidescrolloff = 8 +o.wrap = false -- no line wrapping +o.undofile = true -- persist undo history across sessions +o.splitbelow = true -- horizontal splits open below +o.splitright = true -- vertical splits open to the right +o.colorcolumn = "120" -- column ruler at 120 chars +o.cursorline = true -- highlight current line + +-- Go uses real tabs; everything else uses 4-space soft tabs +vim.api.nvim_create_autocmd("FileType", { + pattern = "go", + callback = function() + vim.opt_local.expandtab = false + vim.opt_local.tabstop = 4 + vim.opt_local.shiftwidth = 4 + end, +}) diff --git a/nvim/lua/plugins/init.lua b/nvim/lua/plugins/init.lua index d028655..0d6dc3c 100644 --- a/nvim/lua/plugins/init.lua +++ b/nvim/lua/plugins/init.lua @@ -1,11 +1,22 @@ return { + -- Treesitter: syntax highlighting + code understanding { - "stevearc/conform.nvim", - -- event = 'BufWritePre', -- uncomment for format on save - opts = require "configs.conform", + "nvim-treesitter/nvim-treesitter", + opts = { + ensure_installed = { + "vim", "lua", "vimdoc", + "go", "gomod", "gowork", "gosum", + "c_sharp", + "yaml", + "bash", + "json", "jsonc", + "toml", + "markdown", "markdown_inline", + }, + }, }, - -- These are some examples, uncomment them if you want to see them work! + -- LSP servers { "neovim/nvim-lspconfig", config = function() @@ -13,16 +24,107 @@ return { end, }, - -- test new blink - -- { import = "nvchad.blink.lazyspec" }, + -- Formatting (with format-on-save) + { + "stevearc/conform.nvim", + event = "BufWritePre", + opts = require "configs.conform", + }, - -- { - -- "nvim-treesitter/nvim-treesitter", - -- opts = { - -- ensure_installed = { - -- "vim", "lua", "vimdoc", - -- "html", "css" - -- }, - -- }, - -- }, + -- Mason: auto-install LSPs, formatters, and DAP adapters + { + "williamboman/mason.nvim", + opts = { + ensure_installed = { + -- LSPs + "gopls", + "omnisharp", + "yaml-language-server", + "bash-language-server", + -- Formatters / linters + "goimports", + "csharpier", + "prettier", + "shfmt", + "stylua", + -- DAP adapters + "delve", -- Go debugger + "netcoredbg", -- .NET debugger + }, + }, + }, + + -- Diagnostics panel + { + "folke/trouble.nvim", + cmd = "Trouble", + opts = { use_diagnostic_signs = true }, + }, + + -- Floating terminal + { + "akinsho/toggleterm.nvim", + version = "*", + cmd = "ToggleTerm", + keys = { [[]] }, + opts = { + open_mapping = [[]], + direction = "float", + float_opts = { border = "curved" }, + }, + }, + + -- Lazygit inside Neovim + { + "kdheepak/lazygit.nvim", + cmd = "LazyGit", + dependencies = { "nvim-lua/plenary.nvim" }, + }, + + -- DAP core + UI + { + "mfussenegger/nvim-dap", + dependencies = { + "rcarriga/nvim-dap-ui", + "nvim-neotest/nvim-nio", -- required by dap-ui + "leoluz/nvim-dap-go", + }, + config = function() + require "configs.dap" + end, + }, + + -- Highlight TODO/FIXME/HACK/NOTE comments + { + "folke/todo-comments.nvim", + dependencies = { "nvim-lua/plenary.nvim" }, + event = "BufReadPost", + opts = {}, + }, + + -- Harpoon2: quick-jump between pinned files per project + { + "ThePrimeagen/harpoon", + branch = "harpoon2", + dependencies = { "nvim-lua/plenary.nvim" }, + opts = {}, + }, + + -- Oil: edit the filesystem like a buffer + { + "stevearc/oil.nvim", + lazy = false, + dependencies = { "nvim-tree/nvim-web-devicons" }, + opts = { + -- Keep nvim-tree as the default explorer; oil opens on demand via `-` + default_file_explorer = false, + columns = { "icon", "permissions", "size", "mtime" }, + view_options = { show_hidden = true }, + -- Don't clobber window-navigation keys + keymaps = { + [""] = false, + [""] = false, + }, + }, + }, } diff --git a/nvim/nvim b/nvim/nvim new file mode 120000 index 0000000..bba0798 --- /dev/null +++ b/nvim/nvim @@ -0,0 +1 @@ +/home/bridgway/dotfiles/nvim \ No newline at end of file diff --git a/scripts/02-dev-tools-setup.sh b/scripts/02-dev-tools-setup.sh index 7c46e1a..670a4d7 100755 --- a/scripts/02-dev-tools-setup.sh +++ b/scripts/02-dev-tools-setup.sh @@ -7,22 +7,31 @@ echo "--- Starting Development Tools Setup ---" # Setup NVIM echo "Setting up Neovim..." -if command -v nvim &>/dev/null && [[ "$(nvim --version | head -n 1)" == "NVIM"* ]]; then - echo "Neovim appears to be installed. Checking version/source or skipping." - # Add logic here if you want to ensure it's your /opt/nvim version +_nvim_asset_name() { + case "$(uname -m)" in + x86_64) echo "nvim-linux-x86_64" ;; + aarch64) echo "nvim-linux-arm64" ;; + *) echo "Unsupported arch for Neovim: $(uname -m)" >&2; exit 1 ;; + esac +} + +NVIM_LATEST="$(curl -fsSL https://api.github.com/repos/neovim/neovim/releases/latest | grep '"tag_name"' | cut -d'"' -f4)" +NVIM_INSTALLED="$(nvim --version 2>/dev/null | head -n1 | awk '{print $2}')" + +if [ "$NVIM_INSTALLED" = "$NVIM_LATEST" ]; then + echo "Neovim ${NVIM_LATEST} already up-to-date." else - echo "Downloading and installing Neovim to /opt/nvim..." + NVIM_ASSET="$(_nvim_asset_name)" + echo "Installing Neovim ${NVIM_LATEST} (${NVIM_ASSET})..." TEMP_NVIM_DIR=$(mktemp -d) - curl -Lo "${TEMP_NVIM_DIR}/nvim-linux64.tar.gz" https://github.com/neovim/neovim/releases/latest/download/nvim-linux64.tar.gz + curl -fsSLo "${TEMP_NVIM_DIR}/${NVIM_ASSET}.tar.gz" \ + "https://github.com/neovim/neovim/releases/latest/download/${NVIM_ASSET}.tar.gz" sudo rm -rf /opt/nvim - sudo tar -C /opt -xzf "${TEMP_NVIM_DIR}/nvim-linux64.tar.gz" - rm -rf "${TEMP_NVIM_DIR}" # Clean up - echo "Neovim installed to /opt/nvim. Add /opt/nvim-linux64/bin to your PATH." - # Consider adding to PATH via a profile script if not handled by zshrc/bashrc symlinks - if [ ! -f /usr/local/bin/nvim ] && [ -d /opt/nvim-linux64/bin ]; then - sudo ln -sf /opt/nvim-linux64/bin/nvim /usr/local/bin/nvim - echo "Symlinked nvim to /usr/local/bin/nvim" - fi + sudo tar -C /opt -xzf "${TEMP_NVIM_DIR}/${NVIM_ASSET}.tar.gz" + sudo mv "/opt/${NVIM_ASSET}" /opt/nvim 2>/dev/null || true + rm -rf "${TEMP_NVIM_DIR}" + sudo ln -sf /opt/nvim/bin/nvim /usr/local/bin/nvim + echo "Neovim ${NVIM_LATEST} installed to /opt/nvim, symlinked to /usr/local/bin/nvim" fi # pynvim @@ -116,17 +125,16 @@ if ! command -v oh-my-posh &>/dev/null; then echo "➤ Installing Oh-My-Posh latest release..." # GitHub /releases/latest/download will 302 redirect to actual asset BIN_URL="https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/posh-${OS}-${ARCH}" - THEME_URL="https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/jandedobbeleer.omp.json" + mkdir -p "${HOME}/.local/bin" TMPBIN="$(mktemp)" curl -fsSL -L "${BIN_URL}" -o "${TMPBIN}" - sudo install -m755 "${TMPBIN}" /usr/local/bin/oh-my-posh + install -m755 "${TMPBIN}" "${HOME}/.local/bin/oh-my-posh" rm -f "${TMPBIN}" - echo "Installed oh-my-posh to /usr/local/bin/oh-my-posh" + echo "Installed oh-my-posh to ~/.local/bin/oh-my-posh" - mkdir -p "${HOME}/.poshthemes" - curl -fsSL -L "${THEME_URL}" -o "${HOME}/.poshthemes/jandedobbeleer.omp.json" - echo "Downloaded default theme to ~/.poshthemes/" + echo "Theme is managed via dotfiles repo at terminal/posh-theme.omp.json" + echo "Run 04-config-symlinks.sh to link it to ~/.config/oh-my-posh/theme.omp.json" else echo "✔ Oh-My-Posh already installed: $(oh-my-posh --version | head -n1)" @@ -144,18 +152,5 @@ else echo "For the current session, you can run: source \"\$HOME/.cargo/env\"" fi -# Setup Starship -echo "Installing Starship prompt..." -if command -v starship &>/dev/null; then - echo "Starship already installed." -else - # The -y flag attempts a non-interactive install - if curl -sS https://starship.rs/install.sh | sh -s -- -y; then - echo "Starship installed. Add 'eval \"\$(starship init zsh)\"' (or bash/fish) to your shell config." - else - echo "ERROR: Starship installation failed." - fi -fi - echo "--- Development Tools Setup Finished ---" diff --git a/scripts/04-config-symlinks.sh b/scripts/04-config-symlinks.sh index 856b9c4..7d3e9de 100755 --- a/scripts/04-config-symlinks.sh +++ b/scripts/04-config-symlinks.sh @@ -11,19 +11,19 @@ if [ -z "$SCRIPT_ROOT_DIR" ]; then exit 1 fi -# Starship Config File -STARSHIP_CONFIG_SOURCE="${SCRIPT_ROOT_DIR}/terminal/starship.toml" -STARSHIP_CONFIG_DEST_DIR="$HOME/.config" -STARSHIP_CONFIG_DEST_FILE="${STARSHIP_CONFIG_DEST_DIR}/starship.toml" - +# Oh My Posh theme echo "" -echo "Setting up Starship configuration..." -if [ -f "$STARSHIP_CONFIG_SOURCE" ]; then - mkdir -p "$STARSHIP_CONFIG_DEST_DIR" - cp "$STARSHIP_CONFIG_SOURCE" "$STARSHIP_CONFIG_DEST_FILE" - echo "Copied starship.toml to $STARSHIP_CONFIG_DEST_FILE" +echo "Setting up Oh My Posh theme..." +POSH_THEME_SOURCE="${SCRIPT_ROOT_DIR}/terminal/posh-theme.omp.json" +POSH_THEME_DEST_DIR="$HOME/.config/oh-my-posh" +POSH_THEME_DEST="${POSH_THEME_DEST_DIR}/theme.omp.json" + +if [ -f "$POSH_THEME_SOURCE" ]; then + mkdir -p "$POSH_THEME_DEST_DIR" + ln -sf "$POSH_THEME_SOURCE" "$POSH_THEME_DEST" + echo "${POSH_THEME_SOURCE} ~> ${POSH_THEME_DEST}" else - echo "WARNING: Starship config source not found: $STARSHIP_CONFIG_SOURCE. Skipping copy." + echo "WARNING: Oh My Posh theme not found: ${POSH_THEME_SOURCE}. Skipping." fi # Teams for Linux Configuration @@ -58,7 +58,7 @@ fi echo "" echo "Symlinking dotfiles..." -FILES=('vimrc' 'vim' 'bashrc' 'zsh' 'agignore' 'gitconfig' 'gitignore' 'commit-conventions.txt' 'aliases.zsh') +FILES=('bashrc' 'zshrc' 'aliases.bash' 'aliases.zsh' 'agignore' 'gitconfig' 'gitignore' 'commit-conventions.txt') for file in "${FILES[@]}"; do echo "" @@ -78,5 +78,31 @@ for file in "${FILES[@]}"; do fi done +# Nushell config (~/.config/nushell) +echo "" +echo "Symlinking nushell config to ~/.config/nushell..." +NUSHELL_SRC="${SCRIPT_ROOT_DIR}/terminal/nushell" +NUSHELL_DEST="$HOME/.config/nushell" +if [ -d "$NUSHELL_SRC" ]; then + mkdir -p "$HOME/.config" + ln -sf "$NUSHELL_SRC" "$NUSHELL_DEST" + echo "${NUSHELL_SRC} ~> ${NUSHELL_DEST}" +else + echo "WARNING: nushell config source not found: ${NUSHELL_SRC}. Skipping." +fi + +# Neovim config (~/.config/nvim) +echo "" +echo "Symlinking nvim config to ~/.config/nvim..." +NVIM_SRC="${SCRIPT_ROOT_DIR}/nvim" +NVIM_DEST="$HOME/.config/nvim" +if [ -e "$NVIM_SRC" ]; then + mkdir -p "$HOME/.config" + ln -sf "$NVIM_SRC" "$NVIM_DEST" + echo "${NVIM_SRC} ~> ${NVIM_DEST}" +else + echo "WARNING: nvim config source not found: ${NVIM_SRC}. Skipping." +fi + echo "" echo "--- Configuration and Symlinking Finished ---" \ No newline at end of file diff --git a/steam/steam_dev.cfg b/steam/steam_dev.cfg deleted file mode 100644 index 970522f..0000000 --- a/steam/steam_dev.cfg +++ /dev/null @@ -1,2 +0,0 @@ -@nClientDownloadEnableHTTP2PlatformLinux 0 -@fDownloadRateImprovementToAddAnotherConnection 1.0 diff --git a/temp_dotnet_checklist.md b/temp_dotnet_checklist.md deleted file mode 100644 index 25a0d50..0000000 --- a/temp_dotnet_checklist.md +++ /dev/null @@ -1,105 +0,0 @@ -**Fedora 42 DotNet Setup Checklist** - -**Important Preliminary Note:** -* [ ] **Fedora 42 Specifics:** Since Fedora 42 is a future release, always double-check the *exact* package names and commands against the official Fedora and Microsoft documentation once Fedora 42 is available. The commands below are based on current Fedora practices. - ---- - -**I. Core .NET Development Environment** - -* [ ] **Register Microsoft Package Repository:** - * [ ] Import Microsoft GPG key (e.g., `sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc`). - * [ ] Add Microsoft package repository for Fedora 42 (e.g., `sudo wget https://packages.microsoft.com/config/fedora/42/packages-microsoft-prod.rpm -O packages-microsoft-prod.rpm` - *verify exact URL for F42*). - * [ ] Install the downloaded repository configuration (e.g., `sudo dnf install -y packages-microsoft-prod.rpm`). - * [ ] Clean up downloaded .rpm file (e.g., `rm packages-microsoft-prod.rpm`). -* [ ] **Install .NET SDK:** - * [ ] Install the desired .NET SDK version (e.g., `sudo dnf install -y dotnet-sdk-8.0` or latest LTS). -* [ ] **Verify .NET Installation:** - * [ ] Check SDK version: `dotnet --version` - * [ ] List installed SDKs: `dotnet --list-sdks` - * [ ] List installed runtimes: `dotnet --list-runtimes` - ---- - -**II. Code Editor/IDE (Visual Studio Code Recommended)** - -* [ ] **Install Visual Studio Code:** - * [ ] Option A: From Fedora repositories (e.g., `sudo dnf install -y code`). - * [ ] Option B: Download `.rpm` from [code.visualstudio.com](https://code.visualstudio.com/) and install (e.g., `sudo dnf install -y ./.rpm`). -* [ ] **Install Essential VS Code Extensions (Open VS Code to do this):** - * [ ] **C# Dev Kit** (from Microsoft - this is key and bundles other C# tools). - * [ ] (Optional but Recommended) NuGet Package Manager GUI. - * [ ] (Optional but Recommended) GitLens. - * [ ] (Optional but Recommended) Prettier - Code formatter. - * [ ] (Optional) Any Blazor-specific snippet or tooling extensions you find useful. - * [ ] *Restart VS Code if prompted after extension installations.* - ---- - -**III. Version Control** - -* [ ] **Install Git:** - * [ ] `sudo dnf install -y git` -* [ ] **Configure Git (Global Settings):** - * [ ] Set user name: `git config --global user.name "Your Name"` - * [ ] Set user email: `git config --global user.email "youremail@example.com"` - ---- - -**IV. Web Browser for Frontend Testing** - -* [ ] **Install/Verify Modern Web Browser:** - * [ ] Firefox (usually pre-installed on Fedora). - * [ ] Or, install another like Chromium (e.g., `sudo dnf install -y chromium`) or Google Chrome. - * [ ] *Familiarize yourself with its Developer Tools (Inspector, Console, Network).* - ---- - -**V. Database (Optional - PostgreSQL Example)** - -* [ ] **Install PostgreSQL Server & Contrib Packages:** - * [ ] `sudo dnf install -y postgresql-server postgresql-contrib` -* [ ] **Initialize PostgreSQL Database Cluster:** - * [ ] `sudo postgresql-setup --initdb` -* [ ] **Enable and Start PostgreSQL Service:** - * [ ] `sudo systemctl enable --now postgresql` -* [ ] **Create PostgreSQL User and Database (via `psql`):** - * [ ] Access `psql`: `sudo -u postgres psql` - * [ ] Create user: `CREATE USER myappuser WITH PASSWORD 'yoursecurepassword';` (Replace with your details) - * [ ] Create database: `CREATE DATABASE myappdb OWNER myappuser;` (Replace with your details) - * [ ] Exit `psql`: `\q` -* [ ] **(Optional) Install PostgreSQL GUI Tool:** - * [ ] e.g., pgAdmin 4: `sudo dnf install -y pgadmin4` - * [ ] Or DBeaver (download from their website or check Fedora repos). - ---- - -**VI. Containerization (Optional but Recommended)** - -* [ ] **Install Docker Engine (moby-engine on Fedora):** - * [ ] `sudo dnf install -y moby-engine` -* [ ] **Enable and Start Docker Service:** - * [ ] `sudo systemctl enable --now docker` -* [ ] **Add User to Docker Group:** - * [ ] `sudo usermod -aG docker $USER` - * [ ] **IMPORTANT: Log out and log back in for this group change to take effect.** -* [ ] **Install Docker Compose:** - * [ ] `sudo dnf install -y docker-compose` (or check official Docker docs for other methods if needed). -* [ ] **Verify Docker Installation:** - * [ ] `docker --version` - * [ ] `docker-compose --version` - * [ ] `docker run hello-world` (after logging back in) - ---- - -**VII. Final Checks** - -* [ ] **Reboot (Optional but can ensure all services/paths are correctly initialized):** - * [ ] `sudo reboot` -* [ ] **Create a Test Project:** - * [ ] `dotnet new webapi -o TestApi` - * [ ] `cd TestApi` - * [ ] `dotnet run` (and check in browser) - * [ ] `dotnet new blazorserver -o TestBlazorApp` (or `blazorwasm`) - * [ ] `cd TestBlazorApp` - * [ ] `dotnet run` (and check in browser) diff --git a/terminal/nushell/nushell b/terminal/nushell/nushell new file mode 120000 index 0000000..41a2f1d --- /dev/null +++ b/terminal/nushell/nushell @@ -0,0 +1 @@ +/home/bridgway/dotfiles/terminal/nushell \ No newline at end of file diff --git a/terminal/posh-theme.omp.json b/terminal/posh-theme.omp.json new file mode 100644 index 0000000..eaa161d --- /dev/null +++ b/terminal/posh-theme.omp.json @@ -0,0 +1,164 @@ +{ + "$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json", + "blocks": [ + { + "alignment": "left", + "segments": [ + { + "background": "#c386f1", + "foreground": "#ffffff", + "leading_diamond": "\ue0b6", + "style": "diamond", + "template": " {{ .UserName }} ", + "trailing_diamond": "\ue0b0", + "type": "session" + }, + { + "background": "#ff479c", + "foreground": "#ffffff", + "powerline_symbol": "\ue0b0", + "options": { + "folder_separator_icon": " \ue0b1 ", + "home_icon": "~", + "style": "folder" + }, + "style": "powerline", + "template": " \uea83 {{ .Path }} ", + "type": "path" + }, + { + "background": "#fffb38", + "background_templates": [ + "{{ if or (.Working.Changed) (.Staging.Changed) }}#FF9248{{ end }}", + "{{ if and (gt .Ahead 0) (gt .Behind 0) }}#ff4500{{ end }}", + "{{ if gt .Ahead 0 }}#B388FF{{ end }}", + "{{ if gt .Behind 0 }}#B388FF{{ end }}" + ], + "foreground": "#193549", + "leading_diamond": "\ue0b6", + "powerline_symbol": "\ue0b0", + "options": { + "branch_template": "{{ trunc 25 .Branch }}", + "fetch_status": true, + "fetch_upstream_icon": true + }, + "style": "powerline", + "template": " {{ .UpstreamIcon }}{{ .HEAD }}{{if .BranchStatus }} {{ .BranchStatus }}{{ end }}{{ if .Working.Changed }} \uf044 {{ .Working.String }}{{ end }}{{ if and (.Working.Changed) (.Staging.Changed) }} |{{ end }}{{ if .Staging.Changed }} \uf046 {{ .Staging.String }}{{ end }}{{ if gt .StashCount 0 }} \ueb4b {{ .StashCount }}{{ end }} ", + "trailing_diamond": "\ue0b4", + "type": "git" + }, + { + "background": "#6CA35E", + "foreground": "#ffffff", + "powerline_symbol": "\ue0b0", + "options": { + "fetch_version": true + }, + "style": "powerline", + "template": " \ue718 {{ if .PackageManagerIcon }}{{ .PackageManagerIcon }} {{ end }}{{ .Full }} ", + "type": "node" + }, + { + "background": "#8ED1F7", + "foreground": "#111111", + "powerline_symbol": "\ue0b0", + "options": { + "fetch_version": true + }, + "style": "powerline", + "template": " \ue626 {{ if .Error }}{{ .Error }}{{ else }}{{ .Full }}{{ end }} ", + "type": "go" + }, + { + "background": "#FFDE57", + "foreground": "#111111", + "powerline_symbol": "\ue0b0", + "options": { + "display_mode": "files", + "fetch_virtual_env": false + }, + "style": "powerline", + "template": " \ue235 {{ if .Error }}{{ .Error }}{{ else }}{{ .Full }}{{ end }} ", + "type": "python" + }, + { + "background": "#ffff66", + "foreground": "#111111", + "powerline_symbol": "\ue0b0", + "style": "powerline", + "template": " \uf0ad ", + "type": "root" + }, + { + "background": "#83769c", + "foreground": "#ffffff", + "options": { + "always_enabled": true + }, + "style": "plain", + "template": "\ue0b0 \ueba2 {{ .FormattedMs }}\u2800", + "type": "executiontime" + }, + { + "background": "#00897b", + "background_templates": [ + "{{ if gt .Code 0 }}#e91e63{{ end }}" + ], + "foreground": "#ffffff", + "options": { + "always_enabled": true + }, + "style": "diamond", + "template": "\ue0b0 \ue23a ", + "trailing_diamond": "\ue0b4", + "type": "status" + } + ], + "type": "prompt" + }, + { + "segments": [ + { + "background": "#0077c2", + "foreground": "#ffffff", + "style": "plain", + "template": "<#0077c2,transparent>\ue0b6 \uf489 {{ .Name }} \ue0b2", + "type": "shell" + }, + { + "background": "#f36943", + "background_templates": [ + "{{if eq \"Charging\" .State.String}}#40c4ff{{end}}", + "{{if eq \"Discharging\" .State.String}}#ff5722{{end}}", + "{{if eq \"Full\" .State.String}}#4caf50{{end}}" + ], + "foreground": "#ffffff", + "invert_powerline": true, + "powerline_symbol": "\ue0b2", + "options": { + "charged_icon": "\ue22f ", + "charging_icon": "\ue234 ", + "discharging_icon": "\ue231 " + }, + "style": "powerline", + "template": " {{ if not .Error }}{{ .Icon }}{{ .Percentage }}{{ end }}{{ .Error }}\uf295 ", + "type": "battery" + }, + { + "background": "#2e9599", + "foreground": "#111111", + "invert_powerline": true, + "leading_diamond": "\ue0b2", + "style": "diamond", + "template": " {{ .CurrentDate | date .Format }} ", + "trailing_diamond": "\ue0b4", + "type": "time" + } + ], + "type": "rprompt" + } + ], + "console_title_template": "{{ .Shell }} in {{ .Folder }}", + "final_space": true, + "version": 4 +} diff --git a/terminal/starship.toml b/terminal/starship.toml deleted file mode 100644 index 7489fc1..0000000 --- a/terminal/starship.toml +++ /dev/null @@ -1,64 +0,0 @@ -format = """ -[](#a3aed2)\ -[ 󰌽 ](bg:#a3aed2 fg:#090c0c)\ -[](bg:#769ff0 fg:#a3aed2)\ -$directory\ -[](fg:#769ff0 bg:#394260)\ -$git_branch\ -$git_status\ -[](fg:#394260 bg:#212736)\ -$nodejs\ -$rust\ -$golang\ -$php\ -[](fg:#212736 bg:#1d2230)\ -$time\ -[ ](fg:#1d2230)\ -\n$character""" - -[directory] -style = "fg:#e3e5e5 bg:#769ff0" -format = "[ $path ]($style)" -truncation_length = 3 -truncation_symbol = "…/" - -[directory.substitutions] -"Documents" = "󰈙 " -"Downloads" = " " -"Music" = " " -"Pictures" = " " - -[git_branch] -symbol = "" -style = "bg:#394260" -format = '[[ $symbol $branch ](fg:#769ff0 bg:#394260)]($style)' - -[git_status] -style = "bg:#394260" -format = '[[($all_status$ahead_behind )](fg:#769ff0 bg:#394260)]($style)' - -[nodejs] -symbol = "" -style = "bg:#212736" -format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)' - -[rust] -symbol = "" -style = "bg:#212736" -format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)' - -[golang] -symbol = "" -style = "bg:#212736" -format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)' - -[php] -symbol = "" -style = "bg:#212736" -format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)' - -[time] -disabled = false -time_format = "%R" # Hour:Minute Format -style = "bg:#1d2230" -format = '[[  $time ](fg:#a0a9cb bg:#1d2230)]($style)' diff --git a/vim/.netrwhist b/vim/.netrwhist deleted file mode 100755 index 7771a52..0000000 --- a/vim/.netrwhist +++ /dev/null @@ -1,2 +0,0 @@ -let g:netrw_dirhistmax =10 -let g:netrw_dirhist_cnt =0 diff --git a/vim/autoload/plug.vim b/vim/autoload/plug.vim deleted file mode 100644 index 652caa8..0000000 --- a/vim/autoload/plug.vim +++ /dev/null @@ -1,2812 +0,0 @@ -" vim-plug: Vim plugin manager -" ============================ -" -" Download plug.vim and put it in ~/.vim/autoload -" -" curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ -" https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim -" -" Edit your .vimrc -" -" call plug#begin('~/.vim/plugged') -" -" " Make sure you use single quotes -" -" " Shorthand notation; fetches https://github.com/junegunn/vim-easy-align -" Plug 'junegunn/vim-easy-align' -" -" " Any valid git URL is allowed -" Plug 'https://github.com/junegunn/vim-github-dashboard.git' -" -" " Multiple Plug commands can be written in a single line using | separators -" Plug 'SirVer/ultisnips' | Plug 'honza/vim-snippets' -" -" " On-demand loading -" Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' } -" Plug 'tpope/vim-fireplace', { 'for': 'clojure' } -" -" " Using a non-default branch -" Plug 'rdnetto/YCM-Generator', { 'branch': 'stable' } -" -" " Using a tagged release; wildcard allowed (requires git 1.9.2 or above) -" Plug 'fatih/vim-go', { 'tag': '*' } -" -" " Plugin options -" Plug 'nsf/gocode', { 'tag': 'v.20150303', 'rtp': 'vim' } -" -" " Plugin outside ~/.vim/plugged with post-update hook -" Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } -" -" " Unmanaged plugin (manually installed and updated) -" Plug '~/my-prototype-plugin' -" -" " Initialize plugin system -" call plug#end() -" -" Then reload .vimrc and :PlugInstall to install plugins. -" -" Plug options: -" -"| Option | Description | -"| ----------------------- | ------------------------------------------------ | -"| `branch`/`tag`/`commit` | Branch/tag/commit of the repository to use | -"| `rtp` | Subdirectory that contains Vim plugin | -"| `dir` | Custom directory for the plugin | -"| `as` | Use different name for the plugin | -"| `do` | Post-update hook (string or funcref) | -"| `on` | On-demand loading: Commands or ``-mappings | -"| `for` | On-demand loading: File types | -"| `frozen` | Do not update unless explicitly specified | -" -" More information: https://github.com/junegunn/vim-plug -" -" -" Copyright (c) 2017 Junegunn Choi -" -" MIT License -" -" 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. - -if exists('g:loaded_plug') - finish -endif -let g:loaded_plug = 1 - -let s:cpo_save = &cpo -set cpo&vim - -let s:plug_src = 'https://github.com/junegunn/vim-plug.git' -let s:plug_tab = get(s:, 'plug_tab', -1) -let s:plug_buf = get(s:, 'plug_buf', -1) -let s:mac_gui = has('gui_macvim') && has('gui_running') -let s:is_win = has('win32') -let s:nvim = has('nvim-0.2') || (has('nvim') && exists('*jobwait') && !s:is_win) -let s:vim8 = has('patch-8.0.0039') && exists('*job_start') -if s:is_win && &shellslash - set noshellslash - let s:me = resolve(expand(':p')) - set shellslash -else - let s:me = resolve(expand(':p')) -endif -let s:base_spec = { 'branch': '', 'frozen': 0 } -let s:TYPE = { -\ 'string': type(''), -\ 'list': type([]), -\ 'dict': type({}), -\ 'funcref': type(function('call')) -\ } -let s:loaded = get(s:, 'loaded', {}) -let s:triggers = get(s:, 'triggers', {}) - -function! s:is_powershell(shell) - return a:shell =~# 'powershell\(\.exe\)\?$' || a:shell =~# 'pwsh\(\.exe\)\?$' -endfunction - -function! s:isabsolute(dir) abort - return a:dir =~# '^/' || (has('win32') && a:dir =~? '^\%(\\\|[A-Z]:\)') -endfunction - -function! s:git_dir(dir) abort - let gitdir = s:trim(a:dir) . '/.git' - if isdirectory(gitdir) - return gitdir - endif - if !filereadable(gitdir) - return '' - endif - let gitdir = matchstr(get(readfile(gitdir), 0, ''), '^gitdir: \zs.*') - if len(gitdir) && !s:isabsolute(gitdir) - let gitdir = a:dir . '/' . gitdir - endif - return isdirectory(gitdir) ? gitdir : '' -endfunction - -function! s:git_origin_url(dir) abort - let gitdir = s:git_dir(a:dir) - let config = gitdir . '/config' - if empty(gitdir) || !filereadable(config) - return '' - endif - return matchstr(join(readfile(config)), '\[remote "origin"\].\{-}url\s*=\s*\zs\S*\ze') -endfunction - -function! s:git_revision(dir) abort - let gitdir = s:git_dir(a:dir) - let head = gitdir . '/HEAD' - if empty(gitdir) || !filereadable(head) - return '' - endif - - let line = get(readfile(head), 0, '') - let ref = matchstr(line, '^ref: \zs.*') - if empty(ref) - return line - endif - - if filereadable(gitdir . '/' . ref) - return get(readfile(gitdir . '/' . ref), 0, '') - endif - - if filereadable(gitdir . '/packed-refs') - for line in readfile(gitdir . '/packed-refs') - if line =~# ' ' . ref - return matchstr(line, '^[0-9a-f]*') - endif - endfor - endif - - return '' -endfunction - -function! s:git_local_branch(dir) abort - let gitdir = s:git_dir(a:dir) - let head = gitdir . '/HEAD' - if empty(gitdir) || !filereadable(head) - return '' - endif - let branch = matchstr(get(readfile(head), 0, ''), '^ref: refs/heads/\zs.*') - return len(branch) ? branch : 'HEAD' -endfunction - -function! s:git_origin_branch(spec) - if len(a:spec.branch) - return a:spec.branch - endif - - " The file may not be present if this is a local repository - let gitdir = s:git_dir(a:spec.dir) - let origin_head = gitdir.'/refs/remotes/origin/HEAD' - if len(gitdir) && filereadable(origin_head) - return matchstr(get(readfile(origin_head), 0, ''), - \ '^ref: refs/remotes/origin/\zs.*') - endif - - " The command may not return the name of a branch in detached HEAD state - let result = s:lines(s:system('git symbolic-ref --short HEAD', a:spec.dir)) - return v:shell_error ? '' : result[-1] -endfunction - -if s:is_win - function! s:plug_call(fn, ...) - let shellslash = &shellslash - try - set noshellslash - return call(a:fn, a:000) - finally - let &shellslash = shellslash - endtry - endfunction -else - function! s:plug_call(fn, ...) - return call(a:fn, a:000) - endfunction -endif - -function! s:plug_getcwd() - return s:plug_call('getcwd') -endfunction - -function! s:plug_fnamemodify(fname, mods) - return s:plug_call('fnamemodify', a:fname, a:mods) -endfunction - -function! s:plug_expand(fmt) - return s:plug_call('expand', a:fmt, 1) -endfunction - -function! s:plug_tempname() - return s:plug_call('tempname') -endfunction - -function! plug#begin(...) - if a:0 > 0 - let s:plug_home_org = a:1 - let home = s:path(s:plug_fnamemodify(s:plug_expand(a:1), ':p')) - elseif exists('g:plug_home') - let home = s:path(g:plug_home) - elseif has('nvim') - let home = stdpath('data') . '/plugged' - elseif !empty(&rtp) - let home = s:path(split(&rtp, ',')[0]) . '/plugged' - else - return s:err('Unable to determine plug home. Try calling plug#begin() with a path argument.') - endif - if s:plug_fnamemodify(home, ':t') ==# 'plugin' && s:plug_fnamemodify(home, ':h') ==# s:first_rtp - return s:err('Invalid plug home. '.home.' is a standard Vim runtime path and is not allowed.') - endif - - let g:plug_home = home - let g:plugs = {} - let g:plugs_order = [] - let s:triggers = {} - - call s:define_commands() - return 1 -endfunction - -function! s:define_commands() - command! -nargs=+ -bar Plug call plug#() - if !executable('git') - return s:err('`git` executable not found. Most commands will not be available. To suppress this message, prepend `silent!` to `call plug#begin(...)`.') - endif - if has('win32') - \ && &shellslash - \ && (&shell =~# 'cmd\(\.exe\)\?$' || s:is_powershell(&shell)) - return s:err('vim-plug does not support shell, ' . &shell . ', when shellslash is set.') - endif - if !has('nvim') - \ && (has('win32') || has('win32unix')) - \ && !has('multi_byte') - return s:err('Vim needs +multi_byte feature on Windows to run shell commands. Enable +iconv for best results.') - endif - command! -nargs=* -bar -bang -complete=customlist,s:names PlugInstall call s:install(0, []) - command! -nargs=* -bar -bang -complete=customlist,s:names PlugUpdate call s:update(0, []) - command! -nargs=0 -bar -bang PlugClean call s:clean(0) - command! -nargs=0 -bar PlugUpgrade if s:upgrade() | execute 'source' s:esc(s:me) | endif - command! -nargs=0 -bar PlugStatus call s:status() - command! -nargs=0 -bar PlugDiff call s:diff() - command! -nargs=? -bar -bang -complete=file PlugSnapshot call s:snapshot(0, ) -endfunction - -function! s:to_a(v) - return type(a:v) == s:TYPE.list ? a:v : [a:v] -endfunction - -function! s:to_s(v) - return type(a:v) == s:TYPE.string ? a:v : join(a:v, "\n") . "\n" -endfunction - -function! s:glob(from, pattern) - return s:lines(globpath(a:from, a:pattern)) -endfunction - -function! s:source(from, ...) - let found = 0 - for pattern in a:000 - for vim in s:glob(a:from, pattern) - execute 'source' s:esc(vim) - let found = 1 - endfor - endfor - return found -endfunction - -function! s:assoc(dict, key, val) - let a:dict[a:key] = add(get(a:dict, a:key, []), a:val) -endfunction - -function! s:ask(message, ...) - call inputsave() - echohl WarningMsg - let answer = input(a:message.(a:0 ? ' (y/N/a) ' : ' (y/N) ')) - echohl None - call inputrestore() - echo "\r" - return (a:0 && answer =~? '^a') ? 2 : (answer =~? '^y') ? 1 : 0 -endfunction - -function! s:ask_no_interrupt(...) - try - return call('s:ask', a:000) - catch - return 0 - endtry -endfunction - -function! s:lazy(plug, opt) - return has_key(a:plug, a:opt) && - \ (empty(s:to_a(a:plug[a:opt])) || - \ !isdirectory(a:plug.dir) || - \ len(s:glob(s:rtp(a:plug), 'plugin')) || - \ len(s:glob(s:rtp(a:plug), 'after/plugin'))) -endfunction - -function! plug#end() - if !exists('g:plugs') - return s:err('plug#end() called without calling plug#begin() first') - endif - - if exists('#PlugLOD') - augroup PlugLOD - autocmd! - augroup END - augroup! PlugLOD - endif - let lod = { 'ft': {}, 'map': {}, 'cmd': {} } - - if get(g:, 'did_load_filetypes', 0) - filetype off - endif - for name in g:plugs_order - if !has_key(g:plugs, name) - continue - endif - let plug = g:plugs[name] - if get(s:loaded, name, 0) || !s:lazy(plug, 'on') && !s:lazy(plug, 'for') - let s:loaded[name] = 1 - continue - endif - - if has_key(plug, 'on') - let s:triggers[name] = { 'map': [], 'cmd': [] } - for cmd in s:to_a(plug.on) - if cmd =~? '^.\+' - if empty(mapcheck(cmd)) && empty(mapcheck(cmd, 'i')) - call s:assoc(lod.map, cmd, name) - endif - call add(s:triggers[name].map, cmd) - elseif cmd =~# '^[A-Z]' - let cmd = substitute(cmd, '!*$', '', '') - if exists(':'.cmd) != 2 - call s:assoc(lod.cmd, cmd, name) - endif - call add(s:triggers[name].cmd, cmd) - else - call s:err('Invalid `on` option: '.cmd. - \ '. Should start with an uppercase letter or ``.') - endif - endfor - endif - - if has_key(plug, 'for') - let types = s:to_a(plug.for) - if !empty(types) - augroup filetypedetect - call s:source(s:rtp(plug), 'ftdetect/**/*.vim', 'after/ftdetect/**/*.vim') - augroup END - endif - for type in types - call s:assoc(lod.ft, type, name) - endfor - endif - endfor - - for [cmd, names] in items(lod.cmd) - execute printf( - \ 'command! -nargs=* -range -bang -complete=file %s call s:lod_cmd(%s, "", , , , %s)', - \ cmd, string(cmd), string(names)) - endfor - - for [map, names] in items(lod.map) - for [mode, map_prefix, key_prefix] in - \ [['i', '', ''], ['n', '', ''], ['v', '', 'gv'], ['o', '', '']] - execute printf( - \ '%snoremap %s %s:call lod_map(%s, %s, %s, "%s")', - \ mode, map, map_prefix, string(map), string(names), mode != 'i', key_prefix) - endfor - endfor - - for [ft, names] in items(lod.ft) - augroup PlugLOD - execute printf('autocmd FileType %s call lod_ft(%s, %s)', - \ ft, string(ft), string(names)) - augroup END - endfor - - call s:reorg_rtp() - filetype plugin indent on - if has('vim_starting') - if has('syntax') && !exists('g:syntax_on') - syntax enable - end - else - call s:reload_plugins() - endif -endfunction - -function! s:loaded_names() - return filter(copy(g:plugs_order), 'get(s:loaded, v:val, 0)') -endfunction - -function! s:load_plugin(spec) - call s:source(s:rtp(a:spec), 'plugin/**/*.vim', 'after/plugin/**/*.vim') -endfunction - -function! s:reload_plugins() - for name in s:loaded_names() - call s:load_plugin(g:plugs[name]) - endfor -endfunction - -function! s:trim(str) - return substitute(a:str, '[\/]\+$', '', '') -endfunction - -function! s:version_requirement(val, min) - for idx in range(0, len(a:min) - 1) - let v = get(a:val, idx, 0) - if v < a:min[idx] | return 0 - elseif v > a:min[idx] | return 1 - endif - endfor - return 1 -endfunction - -function! s:git_version_requirement(...) - if !exists('s:git_version') - let s:git_version = map(split(split(s:system(['git', '--version']))[2], '\.'), 'str2nr(v:val)') - endif - return s:version_requirement(s:git_version, a:000) -endfunction - -function! s:progress_opt(base) - return a:base && !s:is_win && - \ s:git_version_requirement(1, 7, 1) ? '--progress' : '' -endfunction - -function! s:rtp(spec) - return s:path(a:spec.dir . get(a:spec, 'rtp', '')) -endfunction - -if s:is_win - function! s:path(path) - return s:trim(substitute(a:path, '/', '\', 'g')) - endfunction - - function! s:dirpath(path) - return s:path(a:path) . '\' - endfunction - - function! s:is_local_plug(repo) - return a:repo =~? '^[a-z]:\|^[%~]' - endfunction - - " Copied from fzf - function! s:wrap_cmds(cmds) - let cmds = [ - \ '@echo off', - \ 'setlocal enabledelayedexpansion'] - \ + (type(a:cmds) == type([]) ? a:cmds : [a:cmds]) - \ + ['endlocal'] - if has('iconv') - if !exists('s:codepage') - let s:codepage = libcallnr('kernel32.dll', 'GetACP', 0) - endif - return map(cmds, printf('iconv(v:val."\r", "%s", "cp%d")', &encoding, s:codepage)) - endif - return map(cmds, 'v:val."\r"') - endfunction - - function! s:batchfile(cmd) - let batchfile = s:plug_tempname().'.bat' - call writefile(s:wrap_cmds(a:cmd), batchfile) - let cmd = plug#shellescape(batchfile, {'shell': &shell, 'script': 0}) - if s:is_powershell(&shell) - let cmd = '& ' . cmd - endif - return [batchfile, cmd] - endfunction -else - function! s:path(path) - return s:trim(a:path) - endfunction - - function! s:dirpath(path) - return substitute(a:path, '[/\\]*$', '/', '') - endfunction - - function! s:is_local_plug(repo) - return a:repo[0] =~ '[/$~]' - endfunction -endif - -function! s:err(msg) - echohl ErrorMsg - echom '[vim-plug] '.a:msg - echohl None -endfunction - -function! s:warn(cmd, msg) - echohl WarningMsg - execute a:cmd 'a:msg' - echohl None -endfunction - -function! s:esc(path) - return escape(a:path, ' ') -endfunction - -function! s:escrtp(path) - return escape(a:path, ' ,') -endfunction - -function! s:remove_rtp() - for name in s:loaded_names() - let rtp = s:rtp(g:plugs[name]) - execute 'set rtp-='.s:escrtp(rtp) - let after = globpath(rtp, 'after') - if isdirectory(after) - execute 'set rtp-='.s:escrtp(after) - endif - endfor -endfunction - -function! s:reorg_rtp() - if !empty(s:first_rtp) - execute 'set rtp-='.s:first_rtp - execute 'set rtp-='.s:last_rtp - endif - - " &rtp is modified from outside - if exists('s:prtp') && s:prtp !=# &rtp - call s:remove_rtp() - unlet! s:middle - endif - - let s:middle = get(s:, 'middle', &rtp) - let rtps = map(s:loaded_names(), 's:rtp(g:plugs[v:val])') - let afters = filter(map(copy(rtps), 'globpath(v:val, "after")'), '!empty(v:val)') - let rtp = join(map(rtps, 'escape(v:val, ",")'), ',') - \ . ','.s:middle.',' - \ . join(map(afters, 'escape(v:val, ",")'), ',') - let &rtp = substitute(substitute(rtp, ',,*', ',', 'g'), '^,\|,$', '', 'g') - let s:prtp = &rtp - - if !empty(s:first_rtp) - execute 'set rtp^='.s:first_rtp - execute 'set rtp+='.s:last_rtp - endif -endfunction - -function! s:doautocmd(...) - if exists('#'.join(a:000, '#')) - execute 'doautocmd' ((v:version > 703 || has('patch442')) ? '' : '') join(a:000) - endif -endfunction - -function! s:dobufread(names) - for name in a:names - let path = s:rtp(g:plugs[name]) - for dir in ['ftdetect', 'ftplugin', 'after/ftdetect', 'after/ftplugin'] - if len(finddir(dir, path)) - if exists('#BufRead') - doautocmd BufRead - endif - return - endif - endfor - endfor -endfunction - -function! plug#load(...) - if a:0 == 0 - return s:err('Argument missing: plugin name(s) required') - endif - if !exists('g:plugs') - return s:err('plug#begin was not called') - endif - let names = a:0 == 1 && type(a:1) == s:TYPE.list ? a:1 : a:000 - let unknowns = filter(copy(names), '!has_key(g:plugs, v:val)') - if !empty(unknowns) - let s = len(unknowns) > 1 ? 's' : '' - return s:err(printf('Unknown plugin%s: %s', s, join(unknowns, ', '))) - end - let unloaded = filter(copy(names), '!get(s:loaded, v:val, 0)') - if !empty(unloaded) - for name in unloaded - call s:lod([name], ['ftdetect', 'after/ftdetect', 'plugin', 'after/plugin']) - endfor - call s:dobufread(unloaded) - return 1 - end - return 0 -endfunction - -function! s:remove_triggers(name) - if !has_key(s:triggers, a:name) - return - endif - for cmd in s:triggers[a:name].cmd - execute 'silent! delc' cmd - endfor - for map in s:triggers[a:name].map - execute 'silent! unmap' map - execute 'silent! iunmap' map - endfor - call remove(s:triggers, a:name) -endfunction - -function! s:lod(names, types, ...) - for name in a:names - call s:remove_triggers(name) - let s:loaded[name] = 1 - endfor - call s:reorg_rtp() - - for name in a:names - let rtp = s:rtp(g:plugs[name]) - for dir in a:types - call s:source(rtp, dir.'/**/*.vim') - endfor - if a:0 - if !s:source(rtp, a:1) && !empty(s:glob(rtp, a:2)) - execute 'runtime' a:1 - endif - call s:source(rtp, a:2) - endif - call s:doautocmd('User', name) - endfor -endfunction - -function! s:lod_ft(pat, names) - let syn = 'syntax/'.a:pat.'.vim' - call s:lod(a:names, ['plugin', 'after/plugin'], syn, 'after/'.syn) - execute 'autocmd! PlugLOD FileType' a:pat - call s:doautocmd('filetypeplugin', 'FileType') - call s:doautocmd('filetypeindent', 'FileType') -endfunction - -function! s:lod_cmd(cmd, bang, l1, l2, args, names) - call s:lod(a:names, ['ftdetect', 'after/ftdetect', 'plugin', 'after/plugin']) - call s:dobufread(a:names) - execute printf('%s%s%s %s', (a:l1 == a:l2 ? '' : (a:l1.','.a:l2)), a:cmd, a:bang, a:args) -endfunction - -function! s:lod_map(map, names, with_prefix, prefix) - call s:lod(a:names, ['ftdetect', 'after/ftdetect', 'plugin', 'after/plugin']) - call s:dobufread(a:names) - let extra = '' - while 1 - let c = getchar(0) - if c == 0 - break - endif - let extra .= nr2char(c) - endwhile - - if a:with_prefix - let prefix = v:count ? v:count : '' - let prefix .= '"'.v:register.a:prefix - if mode(1) == 'no' - if v:operator == 'c' - let prefix = "\" . prefix - endif - let prefix .= v:operator - endif - call feedkeys(prefix, 'n') - endif - call feedkeys(substitute(a:map, '^', "\", '') . extra) -endfunction - -function! plug#(repo, ...) - if a:0 > 1 - return s:err('Invalid number of arguments (1..2)') - endif - - try - let repo = s:trim(a:repo) - let opts = a:0 == 1 ? s:parse_options(a:1) : s:base_spec - let name = get(opts, 'as', s:plug_fnamemodify(repo, ':t:s?\.git$??')) - let spec = extend(s:infer_properties(name, repo), opts) - if !has_key(g:plugs, name) - call add(g:plugs_order, name) - endif - let g:plugs[name] = spec - let s:loaded[name] = get(s:loaded, name, 0) - catch - return s:err(repo . ' ' . v:exception) - endtry -endfunction - -function! s:parse_options(arg) - let opts = copy(s:base_spec) - let type = type(a:arg) - let opt_errfmt = 'Invalid argument for "%s" option of :Plug (expected: %s)' - if type == s:TYPE.string - if empty(a:arg) - throw printf(opt_errfmt, 'tag', 'string') - endif - let opts.tag = a:arg - elseif type == s:TYPE.dict - for opt in ['branch', 'tag', 'commit', 'rtp', 'dir', 'as'] - if has_key(a:arg, opt) - \ && (type(a:arg[opt]) != s:TYPE.string || empty(a:arg[opt])) - throw printf(opt_errfmt, opt, 'string') - endif - endfor - for opt in ['on', 'for'] - if has_key(a:arg, opt) - \ && type(a:arg[opt]) != s:TYPE.list - \ && (type(a:arg[opt]) != s:TYPE.string || empty(a:arg[opt])) - throw printf(opt_errfmt, opt, 'string or list') - endif - endfor - if has_key(a:arg, 'do') - \ && type(a:arg.do) != s:TYPE.funcref - \ && (type(a:arg.do) != s:TYPE.string || empty(a:arg.do)) - throw printf(opt_errfmt, 'do', 'string or funcref') - endif - call extend(opts, a:arg) - if has_key(opts, 'dir') - let opts.dir = s:dirpath(s:plug_expand(opts.dir)) - endif - else - throw 'Invalid argument type (expected: string or dictionary)' - endif - return opts -endfunction - -function! s:infer_properties(name, repo) - let repo = a:repo - if s:is_local_plug(repo) - return { 'dir': s:dirpath(s:plug_expand(repo)) } - else - if repo =~ ':' - let uri = repo - else - if repo !~ '/' - throw printf('Invalid argument: %s (implicit `vim-scripts'' expansion is deprecated)', repo) - endif - let fmt = get(g:, 'plug_url_format', 'https://git::@github.com/%s.git') - let uri = printf(fmt, repo) - endif - return { 'dir': s:dirpath(g:plug_home.'/'.a:name), 'uri': uri } - endif -endfunction - -function! s:install(force, names) - call s:update_impl(0, a:force, a:names) -endfunction - -function! s:update(force, names) - call s:update_impl(1, a:force, a:names) -endfunction - -function! plug#helptags() - if !exists('g:plugs') - return s:err('plug#begin was not called') - endif - for spec in values(g:plugs) - let docd = join([s:rtp(spec), 'doc'], '/') - if isdirectory(docd) - silent! execute 'helptags' s:esc(docd) - endif - endfor - return 1 -endfunction - -function! s:syntax() - syntax clear - syntax region plug1 start=/\%1l/ end=/\%2l/ contains=plugNumber - syntax region plug2 start=/\%2l/ end=/\%3l/ contains=plugBracket,plugX - syn match plugNumber /[0-9]\+[0-9.]*/ contained - syn match plugBracket /[[\]]/ contained - syn match plugX /x/ contained - syn match plugDash /^-\{1}\ / - syn match plugPlus /^+/ - syn match plugStar /^*/ - syn match plugMessage /\(^- \)\@<=.*/ - syn match plugName /\(^- \)\@<=[^ ]*:/ - syn match plugSha /\%(: \)\@<=[0-9a-f]\{4,}$/ - syn match plugTag /(tag: [^)]\+)/ - syn match plugInstall /\(^+ \)\@<=[^:]*/ - syn match plugUpdate /\(^* \)\@<=[^:]*/ - syn match plugCommit /^ \X*[0-9a-f]\{7,9} .*/ contains=plugRelDate,plugEdge,plugTag - syn match plugEdge /^ \X\+$/ - syn match plugEdge /^ \X*/ contained nextgroup=plugSha - syn match plugSha /[0-9a-f]\{7,9}/ contained - syn match plugRelDate /([^)]*)$/ contained - syn match plugNotLoaded /(not loaded)$/ - syn match plugError /^x.*/ - syn region plugDeleted start=/^\~ .*/ end=/^\ze\S/ - syn match plugH2 /^.*:\n-\+$/ - syn match plugH2 /^-\{2,}/ - syn keyword Function PlugInstall PlugStatus PlugUpdate PlugClean - hi def link plug1 Title - hi def link plug2 Repeat - hi def link plugH2 Type - hi def link plugX Exception - hi def link plugBracket Structure - hi def link plugNumber Number - - hi def link plugDash Special - hi def link plugPlus Constant - hi def link plugStar Boolean - - hi def link plugMessage Function - hi def link plugName Label - hi def link plugInstall Function - hi def link plugUpdate Type - - hi def link plugError Error - hi def link plugDeleted Ignore - hi def link plugRelDate Comment - hi def link plugEdge PreProc - hi def link plugSha Identifier - hi def link plugTag Constant - - hi def link plugNotLoaded Comment -endfunction - -function! s:lpad(str, len) - return a:str . repeat(' ', a:len - len(a:str)) -endfunction - -function! s:lines(msg) - return split(a:msg, "[\r\n]") -endfunction - -function! s:lastline(msg) - return get(s:lines(a:msg), -1, '') -endfunction - -function! s:new_window() - execute get(g:, 'plug_window', 'vertical topleft new') -endfunction - -function! s:plug_window_exists() - let buflist = tabpagebuflist(s:plug_tab) - return !empty(buflist) && index(buflist, s:plug_buf) >= 0 -endfunction - -function! s:switch_in() - if !s:plug_window_exists() - return 0 - endif - - if winbufnr(0) != s:plug_buf - let s:pos = [tabpagenr(), winnr(), winsaveview()] - execute 'normal!' s:plug_tab.'gt' - let winnr = bufwinnr(s:plug_buf) - execute winnr.'wincmd w' - call add(s:pos, winsaveview()) - else - let s:pos = [winsaveview()] - endif - - setlocal modifiable - return 1 -endfunction - -function! s:switch_out(...) - call winrestview(s:pos[-1]) - setlocal nomodifiable - if a:0 > 0 - execute a:1 - endif - - if len(s:pos) > 1 - execute 'normal!' s:pos[0].'gt' - execute s:pos[1] 'wincmd w' - call winrestview(s:pos[2]) - endif -endfunction - -function! s:finish_bindings() - nnoremap R :call retry() - nnoremap D :PlugDiff - nnoremap S :PlugStatus - nnoremap U :call status_update() - xnoremap U :call status_update() - nnoremap ]] :silent! call section('') - nnoremap [[ :silent! call section('b') -endfunction - -function! s:prepare(...) - if empty(s:plug_getcwd()) - throw 'Invalid current working directory. Cannot proceed.' - endif - - for evar in ['$GIT_DIR', '$GIT_WORK_TREE'] - if exists(evar) - throw evar.' detected. Cannot proceed.' - endif - endfor - - call s:job_abort() - if s:switch_in() - if b:plug_preview == 1 - pc - endif - enew - else - call s:new_window() - endif - - nnoremap q :call close_pane() - if a:0 == 0 - call s:finish_bindings() - endif - let b:plug_preview = -1 - let s:plug_tab = tabpagenr() - let s:plug_buf = winbufnr(0) - call s:assign_name() - - for k in ['', 'L', 'o', 'X', 'd', 'dd'] - execute 'silent! unmap ' k - endfor - setlocal buftype=nofile bufhidden=wipe nobuflisted nolist noswapfile nowrap cursorline modifiable nospell - if exists('+colorcolumn') - setlocal colorcolumn= - endif - setf vim-plug - if exists('g:syntax_on') - call s:syntax() - endif -endfunction - -function! s:close_pane() - if b:plug_preview == 1 - pc - let b:plug_preview = -1 - else - bd - endif -endfunction - -function! s:assign_name() - " Assign buffer name - let prefix = '[Plugins]' - let name = prefix - let idx = 2 - while bufexists(name) - let name = printf('%s (%s)', prefix, idx) - let idx = idx + 1 - endwhile - silent! execute 'f' fnameescape(name) -endfunction - -function! s:chsh(swap) - let prev = [&shell, &shellcmdflag, &shellredir] - if !s:is_win - set shell=sh - endif - if a:swap - if s:is_powershell(&shell) - let &shellredir = '2>&1 | Out-File -Encoding UTF8 %s' - elseif &shell =~# 'sh' || &shell =~# 'cmd\(\.exe\)\?$' - set shellredir=>%s\ 2>&1 - endif - endif - return prev -endfunction - -function! s:bang(cmd, ...) - let batchfile = '' - try - let [sh, shellcmdflag, shrd] = s:chsh(a:0) - " FIXME: Escaping is incomplete. We could use shellescape with eval, - " but it won't work on Windows. - let cmd = a:0 ? s:with_cd(a:cmd, a:1) : a:cmd - if s:is_win - let [batchfile, cmd] = s:batchfile(cmd) - endif - let g:_plug_bang = (s:is_win && has('gui_running') ? 'silent ' : '').'!'.escape(cmd, '#!%') - execute "normal! :execute g:_plug_bang\\" - finally - unlet g:_plug_bang - let [&shell, &shellcmdflag, &shellredir] = [sh, shellcmdflag, shrd] - if s:is_win && filereadable(batchfile) - call delete(batchfile) - endif - endtry - return v:shell_error ? 'Exit status: ' . v:shell_error : '' -endfunction - -function! s:regress_bar() - let bar = substitute(getline(2)[1:-2], '.*\zs=', 'x', '') - call s:progress_bar(2, bar, len(bar)) -endfunction - -function! s:is_updated(dir) - return !empty(s:system_chomp(['git', 'log', '--pretty=format:%h', 'HEAD...HEAD@{1}'], a:dir)) -endfunction - -function! s:do(pull, force, todo) - for [name, spec] in items(a:todo) - if !isdirectory(spec.dir) - continue - endif - let installed = has_key(s:update.new, name) - let updated = installed ? 0 : - \ (a:pull && index(s:update.errors, name) < 0 && s:is_updated(spec.dir)) - if a:force || installed || updated - execute 'cd' s:esc(spec.dir) - call append(3, '- Post-update hook for '. name .' ... ') - let error = '' - let type = type(spec.do) - if type == s:TYPE.string - if spec.do[0] == ':' - if !get(s:loaded, name, 0) - let s:loaded[name] = 1 - call s:reorg_rtp() - endif - call s:load_plugin(spec) - try - execute spec.do[1:] - catch - let error = v:exception - endtry - if !s:plug_window_exists() - cd - - throw 'Warning: vim-plug was terminated by the post-update hook of '.name - endif - else - let error = s:bang(spec.do) - endif - elseif type == s:TYPE.funcref - try - call s:load_plugin(spec) - let status = installed ? 'installed' : (updated ? 'updated' : 'unchanged') - call spec.do({ 'name': name, 'status': status, 'force': a:force }) - catch - let error = v:exception - endtry - else - let error = 'Invalid hook type' - endif - call s:switch_in() - call setline(4, empty(error) ? (getline(4) . 'OK') - \ : ('x' . getline(4)[1:] . error)) - if !empty(error) - call add(s:update.errors, name) - call s:regress_bar() - endif - cd - - endif - endfor -endfunction - -function! s:hash_match(a, b) - return stridx(a:a, a:b) == 0 || stridx(a:b, a:a) == 0 -endfunction - -function! s:checkout(spec) - let sha = a:spec.commit - let output = s:git_revision(a:spec.dir) - if !empty(output) && !s:hash_match(sha, s:lines(output)[0]) - let credential_helper = s:git_version_requirement(2) ? '-c credential.helper= ' : '' - let output = s:system( - \ 'git '.credential_helper.'fetch --depth 999999 && git checkout '.plug#shellescape(sha).' --', a:spec.dir) - endif - return output -endfunction - -function! s:finish(pull) - let new_frozen = len(filter(keys(s:update.new), 'g:plugs[v:val].frozen')) - if new_frozen - let s = new_frozen > 1 ? 's' : '' - call append(3, printf('- Installed %d frozen plugin%s', new_frozen, s)) - endif - call append(3, '- Finishing ... ') | 4 - redraw - call plug#helptags() - call plug#end() - call setline(4, getline(4) . 'Done!') - redraw - let msgs = [] - if !empty(s:update.errors) - call add(msgs, "Press 'R' to retry.") - endif - if a:pull && len(s:update.new) < len(filter(getline(5, '$'), - \ "v:val =~ '^- ' && v:val !~# 'Already up.to.date'")) - call add(msgs, "Press 'D' to see the updated changes.") - endif - echo join(msgs, ' ') - call s:finish_bindings() -endfunction - -function! s:retry() - if empty(s:update.errors) - return - endif - echo - call s:update_impl(s:update.pull, s:update.force, - \ extend(copy(s:update.errors), [s:update.threads])) -endfunction - -function! s:is_managed(name) - return has_key(g:plugs[a:name], 'uri') -endfunction - -function! s:names(...) - return sort(filter(keys(g:plugs), 'stridx(v:val, a:1) == 0 && s:is_managed(v:val)')) -endfunction - -function! s:check_ruby() - silent! ruby require 'thread'; VIM::command("let g:plug_ruby = '#{RUBY_VERSION}'") - if !exists('g:plug_ruby') - redraw! - return s:warn('echom', 'Warning: Ruby interface is broken') - endif - let ruby_version = split(g:plug_ruby, '\.') - unlet g:plug_ruby - return s:version_requirement(ruby_version, [1, 8, 7]) -endfunction - -function! s:update_impl(pull, force, args) abort - let sync = index(a:args, '--sync') >= 0 || has('vim_starting') - let args = filter(copy(a:args), 'v:val != "--sync"') - let threads = (len(args) > 0 && args[-1] =~ '^[1-9][0-9]*$') ? - \ remove(args, -1) : get(g:, 'plug_threads', 16) - - let managed = filter(copy(g:plugs), 's:is_managed(v:key)') - let todo = empty(args) ? filter(managed, '!v:val.frozen || !isdirectory(v:val.dir)') : - \ filter(managed, 'index(args, v:key) >= 0') - - if empty(todo) - return s:warn('echo', 'No plugin to '. (a:pull ? 'update' : 'install')) - endif - - if !s:is_win && s:git_version_requirement(2, 3) - let s:git_terminal_prompt = exists('$GIT_TERMINAL_PROMPT') ? $GIT_TERMINAL_PROMPT : '' - let $GIT_TERMINAL_PROMPT = 0 - for plug in values(todo) - let plug.uri = substitute(plug.uri, - \ '^https://git::@github\.com', 'https://github.com', '') - endfor - endif - - if !isdirectory(g:plug_home) - try - call mkdir(g:plug_home, 'p') - catch - return s:err(printf('Invalid plug directory: %s. '. - \ 'Try to call plug#begin with a valid directory', g:plug_home)) - endtry - endif - - if has('nvim') && !exists('*jobwait') && threads > 1 - call s:warn('echom', '[vim-plug] Update Neovim for parallel installer') - endif - - let use_job = s:nvim || s:vim8 - let python = (has('python') || has('python3')) && !use_job - let ruby = has('ruby') && !use_job && (v:version >= 703 || v:version == 702 && has('patch374')) && !(s:is_win && has('gui_running')) && threads > 1 && s:check_ruby() - - let s:update = { - \ 'start': reltime(), - \ 'all': todo, - \ 'todo': copy(todo), - \ 'errors': [], - \ 'pull': a:pull, - \ 'force': a:force, - \ 'new': {}, - \ 'threads': (python || ruby || use_job) ? min([len(todo), threads]) : 1, - \ 'bar': '', - \ 'fin': 0 - \ } - - call s:prepare(1) - call append(0, ['', '']) - normal! 2G - silent! redraw - - " Set remote name, overriding a possible user git config's clone.defaultRemoteName - let s:clone_opt = ['--origin', 'origin'] - if get(g:, 'plug_shallow', 1) - call extend(s:clone_opt, ['--depth', '1']) - if s:git_version_requirement(1, 7, 10) - call add(s:clone_opt, '--no-single-branch') - endif - endif - - if has('win32unix') || has('wsl') - call extend(s:clone_opt, ['-c', 'core.eol=lf', '-c', 'core.autocrlf=input']) - endif - - let s:submodule_opt = s:git_version_requirement(2, 8) ? ' --jobs='.threads : '' - - " Python version requirement (>= 2.7) - if python && !has('python3') && !ruby && !use_job && s:update.threads > 1 - redir => pyv - silent python import platform; print platform.python_version() - redir END - let python = s:version_requirement( - \ map(split(split(pyv)[0], '\.'), 'str2nr(v:val)'), [2, 6]) - endif - - if (python || ruby) && s:update.threads > 1 - try - let imd = &imd - if s:mac_gui - set noimd - endif - if ruby - call s:update_ruby() - else - call s:update_python() - endif - catch - let lines = getline(4, '$') - let printed = {} - silent! 4,$d _ - for line in lines - let name = s:extract_name(line, '.', '') - if empty(name) || !has_key(printed, name) - call append('$', line) - if !empty(name) - let printed[name] = 1 - if line[0] == 'x' && index(s:update.errors, name) < 0 - call add(s:update.errors, name) - end - endif - endif - endfor - finally - let &imd = imd - call s:update_finish() - endtry - else - call s:update_vim() - while use_job && sync - sleep 100m - if s:update.fin - break - endif - endwhile - endif -endfunction - -function! s:log4(name, msg) - call setline(4, printf('- %s (%s)', a:msg, a:name)) - redraw -endfunction - -function! s:update_finish() - if exists('s:git_terminal_prompt') - let $GIT_TERMINAL_PROMPT = s:git_terminal_prompt - endif - if s:switch_in() - call append(3, '- Updating ...') | 4 - for [name, spec] in items(filter(copy(s:update.all), 'index(s:update.errors, v:key) < 0 && (s:update.force || s:update.pull || has_key(s:update.new, v:key))')) - let [pos, _] = s:logpos(name) - if !pos - continue - endif - if has_key(spec, 'commit') - call s:log4(name, 'Checking out '.spec.commit) - let out = s:checkout(spec) - elseif has_key(spec, 'tag') - let tag = spec.tag - if tag =~ '\*' - let tags = s:lines(s:system('git tag --list '.plug#shellescape(tag).' --sort -version:refname 2>&1', spec.dir)) - if !v:shell_error && !empty(tags) - let tag = tags[0] - call s:log4(name, printf('Latest tag for %s -> %s', spec.tag, tag)) - call append(3, '') - endif - endif - call s:log4(name, 'Checking out '.tag) - let out = s:system('git checkout -q '.plug#shellescape(tag).' -- 2>&1', spec.dir) - else - let branch = s:git_origin_branch(spec) - call s:log4(name, 'Merging origin/'.s:esc(branch)) - let out = s:system('git checkout -q '.plug#shellescape(branch).' -- 2>&1' - \. (has_key(s:update.new, name) ? '' : ('&& git merge --ff-only '.plug#shellescape('origin/'.branch).' 2>&1')), spec.dir) - endif - if !v:shell_error && filereadable(spec.dir.'/.gitmodules') && - \ (s:update.force || has_key(s:update.new, name) || s:is_updated(spec.dir)) - call s:log4(name, 'Updating submodules. This may take a while.') - let out .= s:bang('git submodule update --init --recursive'.s:submodule_opt.' 2>&1', spec.dir) - endif - let msg = s:format_message(v:shell_error ? 'x': '-', name, out) - if v:shell_error - call add(s:update.errors, name) - call s:regress_bar() - silent execute pos 'd _' - call append(4, msg) | 4 - elseif !empty(out) - call setline(pos, msg[0]) - endif - redraw - endfor - silent 4 d _ - try - call s:do(s:update.pull, s:update.force, filter(copy(s:update.all), 'index(s:update.errors, v:key) < 0 && has_key(v:val, "do")')) - catch - call s:warn('echom', v:exception) - call s:warn('echo', '') - return - endtry - call s:finish(s:update.pull) - call setline(1, 'Updated. Elapsed time: ' . split(reltimestr(reltime(s:update.start)))[0] . ' sec.') - call s:switch_out('normal! gg') - endif -endfunction - -function! s:job_abort() - if (!s:nvim && !s:vim8) || !exists('s:jobs') - return - endif - - for [name, j] in items(s:jobs) - if s:nvim - silent! call jobstop(j.jobid) - elseif s:vim8 - silent! call job_stop(j.jobid) - endif - if j.new - call s:rm_rf(g:plugs[name].dir) - endif - endfor - let s:jobs = {} -endfunction - -function! s:last_non_empty_line(lines) - let len = len(a:lines) - for idx in range(len) - let line = a:lines[len-idx-1] - if !empty(line) - return line - endif - endfor - return '' -endfunction - -function! s:job_out_cb(self, data) abort - let self = a:self - let data = remove(self.lines, -1) . a:data - let lines = map(split(data, "\n", 1), 'split(v:val, "\r", 1)[-1]') - call extend(self.lines, lines) - " To reduce the number of buffer updates - let self.tick = get(self, 'tick', -1) + 1 - if !self.running || self.tick % len(s:jobs) == 0 - let bullet = self.running ? (self.new ? '+' : '*') : (self.error ? 'x' : '-') - let result = self.error ? join(self.lines, "\n") : s:last_non_empty_line(self.lines) - call s:log(bullet, self.name, result) - endif -endfunction - -function! s:job_exit_cb(self, data) abort - let a:self.running = 0 - let a:self.error = a:data != 0 - call s:reap(a:self.name) - call s:tick() -endfunction - -function! s:job_cb(fn, job, ch, data) - if !s:plug_window_exists() " plug window closed - return s:job_abort() - endif - call call(a:fn, [a:job, a:data]) -endfunction - -function! s:nvim_cb(job_id, data, event) dict abort - return (a:event == 'stdout' || a:event == 'stderr') ? - \ s:job_cb('s:job_out_cb', self, 0, join(a:data, "\n")) : - \ s:job_cb('s:job_exit_cb', self, 0, a:data) -endfunction - -function! s:spawn(name, cmd, opts) - let job = { 'name': a:name, 'running': 1, 'error': 0, 'lines': [''], - \ 'new': get(a:opts, 'new', 0) } - let s:jobs[a:name] = job - - if s:nvim - if has_key(a:opts, 'dir') - let job.cwd = a:opts.dir - endif - let argv = a:cmd - call extend(job, { - \ 'on_stdout': function('s:nvim_cb'), - \ 'on_stderr': function('s:nvim_cb'), - \ 'on_exit': function('s:nvim_cb'), - \ }) - let jid = s:plug_call('jobstart', argv, job) - if jid > 0 - let job.jobid = jid - else - let job.running = 0 - let job.error = 1 - let job.lines = [jid < 0 ? argv[0].' is not executable' : - \ 'Invalid arguments (or job table is full)'] - endif - elseif s:vim8 - let cmd = join(map(copy(a:cmd), 'plug#shellescape(v:val, {"script": 0})')) - if has_key(a:opts, 'dir') - let cmd = s:with_cd(cmd, a:opts.dir, 0) - endif - let argv = s:is_win ? ['cmd', '/s', '/c', '"'.cmd.'"'] : ['sh', '-c', cmd] - let jid = job_start(s:is_win ? join(argv, ' ') : argv, { - \ 'out_cb': function('s:job_cb', ['s:job_out_cb', job]), - \ 'err_cb': function('s:job_cb', ['s:job_out_cb', job]), - \ 'exit_cb': function('s:job_cb', ['s:job_exit_cb', job]), - \ 'err_mode': 'raw', - \ 'out_mode': 'raw' - \}) - if job_status(jid) == 'run' - let job.jobid = jid - else - let job.running = 0 - let job.error = 1 - let job.lines = ['Failed to start job'] - endif - else - let job.lines = s:lines(call('s:system', has_key(a:opts, 'dir') ? [a:cmd, a:opts.dir] : [a:cmd])) - let job.error = v:shell_error != 0 - let job.running = 0 - endif -endfunction - -function! s:reap(name) - let job = s:jobs[a:name] - if job.error - call add(s:update.errors, a:name) - elseif get(job, 'new', 0) - let s:update.new[a:name] = 1 - endif - let s:update.bar .= job.error ? 'x' : '=' - - let bullet = job.error ? 'x' : '-' - let result = job.error ? join(job.lines, "\n") : s:last_non_empty_line(job.lines) - call s:log(bullet, a:name, empty(result) ? 'OK' : result) - call s:bar() - - call remove(s:jobs, a:name) -endfunction - -function! s:bar() - if s:switch_in() - let total = len(s:update.all) - call setline(1, (s:update.pull ? 'Updating' : 'Installing'). - \ ' plugins ('.len(s:update.bar).'/'.total.')') - call s:progress_bar(2, s:update.bar, total) - call s:switch_out() - endif -endfunction - -function! s:logpos(name) - let max = line('$') - for i in range(4, max > 4 ? max : 4) - if getline(i) =~# '^[-+x*] '.a:name.':' - for j in range(i + 1, max > 5 ? max : 5) - if getline(j) !~ '^ ' - return [i, j - 1] - endif - endfor - return [i, i] - endif - endfor - return [0, 0] -endfunction - -function! s:log(bullet, name, lines) - if s:switch_in() - let [b, e] = s:logpos(a:name) - if b > 0 - silent execute printf('%d,%d d _', b, e) - if b > winheight('.') - let b = 4 - endif - else - let b = 4 - endif - " FIXME For some reason, nomodifiable is set after :d in vim8 - setlocal modifiable - call append(b - 1, s:format_message(a:bullet, a:name, a:lines)) - call s:switch_out() - endif -endfunction - -function! s:update_vim() - let s:jobs = {} - - call s:bar() - call s:tick() -endfunction - -function! s:tick() - let pull = s:update.pull - let prog = s:progress_opt(s:nvim || s:vim8) -while 1 " Without TCO, Vim stack is bound to explode - if empty(s:update.todo) - if empty(s:jobs) && !s:update.fin - call s:update_finish() - let s:update.fin = 1 - endif - return - endif - - let name = keys(s:update.todo)[0] - let spec = remove(s:update.todo, name) - let new = empty(globpath(spec.dir, '.git', 1)) - - call s:log(new ? '+' : '*', name, pull ? 'Updating ...' : 'Installing ...') - redraw - - let has_tag = has_key(spec, 'tag') - if !new - let [error, _] = s:git_validate(spec, 0) - if empty(error) - if pull - let cmd = s:git_version_requirement(2) ? ['git', '-c', 'credential.helper=', 'fetch'] : ['git', 'fetch'] - if has_tag && !empty(globpath(spec.dir, '.git/shallow')) - call extend(cmd, ['--depth', '99999999']) - endif - if !empty(prog) - call add(cmd, prog) - endif - call s:spawn(name, cmd, { 'dir': spec.dir }) - else - let s:jobs[name] = { 'running': 0, 'lines': ['Already installed'], 'error': 0 } - endif - else - let s:jobs[name] = { 'running': 0, 'lines': s:lines(error), 'error': 1 } - endif - else - let cmd = ['git', 'clone'] - if !has_tag - call extend(cmd, s:clone_opt) - endif - if !empty(prog) - call add(cmd, prog) - endif - call s:spawn(name, extend(cmd, [spec.uri, s:trim(spec.dir)]), { 'new': 1 }) - endif - - if !s:jobs[name].running - call s:reap(name) - endif - if len(s:jobs) >= s:update.threads - break - endif -endwhile -endfunction - -function! s:update_python() -let py_exe = has('python') ? 'python' : 'python3' -execute py_exe "<< EOF" -import datetime -import functools -import os -try: - import queue -except ImportError: - import Queue as queue -import random -import re -import shutil -import signal -import subprocess -import tempfile -import threading as thr -import time -import traceback -import vim - -G_NVIM = vim.eval("has('nvim')") == '1' -G_PULL = vim.eval('s:update.pull') == '1' -G_RETRIES = int(vim.eval('get(g:, "plug_retries", 2)')) + 1 -G_TIMEOUT = int(vim.eval('get(g:, "plug_timeout", 60)')) -G_CLONE_OPT = ' '.join(vim.eval('s:clone_opt')) -G_PROGRESS = vim.eval('s:progress_opt(1)') -G_LOG_PROB = 1.0 / int(vim.eval('s:update.threads')) -G_STOP = thr.Event() -G_IS_WIN = vim.eval('s:is_win') == '1' - -class PlugError(Exception): - def __init__(self, msg): - self.msg = msg -class CmdTimedOut(PlugError): - pass -class CmdFailed(PlugError): - pass -class InvalidURI(PlugError): - pass -class Action(object): - INSTALL, UPDATE, ERROR, DONE = ['+', '*', 'x', '-'] - -class Buffer(object): - def __init__(self, lock, num_plugs, is_pull): - self.bar = '' - self.event = 'Updating' if is_pull else 'Installing' - self.lock = lock - self.maxy = int(vim.eval('winheight(".")')) - self.num_plugs = num_plugs - - def __where(self, name): - """ Find first line with name in current buffer. Return line num. """ - found, lnum = False, 0 - matcher = re.compile('^[-+x*] {0}:'.format(name)) - for line in vim.current.buffer: - if matcher.search(line) is not None: - found = True - break - lnum += 1 - - if not found: - lnum = -1 - return lnum - - def header(self): - curbuf = vim.current.buffer - curbuf[0] = self.event + ' plugins ({0}/{1})'.format(len(self.bar), self.num_plugs) - - num_spaces = self.num_plugs - len(self.bar) - curbuf[1] = '[{0}{1}]'.format(self.bar, num_spaces * ' ') - - with self.lock: - vim.command('normal! 2G') - vim.command('redraw') - - def write(self, action, name, lines): - first, rest = lines[0], lines[1:] - msg = ['{0} {1}{2}{3}'.format(action, name, ': ' if first else '', first)] - msg.extend([' ' + line for line in rest]) - - try: - if action == Action.ERROR: - self.bar += 'x' - vim.command("call add(s:update.errors, '{0}')".format(name)) - elif action == Action.DONE: - self.bar += '=' - - curbuf = vim.current.buffer - lnum = self.__where(name) - if lnum != -1: # Found matching line num - del curbuf[lnum] - if lnum > self.maxy and action in set([Action.INSTALL, Action.UPDATE]): - lnum = 3 - else: - lnum = 3 - curbuf.append(msg, lnum) - - self.header() - except vim.error: - pass - -class Command(object): - CD = 'cd /d' if G_IS_WIN else 'cd' - - def __init__(self, cmd, cmd_dir=None, timeout=60, cb=None, clean=None): - self.cmd = cmd - if cmd_dir: - self.cmd = '{0} {1} && {2}'.format(Command.CD, cmd_dir, self.cmd) - self.timeout = timeout - self.callback = cb if cb else (lambda msg: None) - self.clean = clean if clean else (lambda: None) - self.proc = None - - @property - def alive(self): - """ Returns true only if command still running. """ - return self.proc and self.proc.poll() is None - - def execute(self, ntries=3): - """ Execute the command with ntries if CmdTimedOut. - Returns the output of the command if no Exception. - """ - attempt, finished, limit = 0, False, self.timeout - - while not finished: - try: - attempt += 1 - result = self.try_command() - finished = True - return result - except CmdTimedOut: - if attempt != ntries: - self.notify_retry() - self.timeout += limit - else: - raise - - def notify_retry(self): - """ Retry required for command, notify user. """ - for count in range(3, 0, -1): - if G_STOP.is_set(): - raise KeyboardInterrupt - msg = 'Timeout. Will retry in {0} second{1} ...'.format( - count, 's' if count != 1 else '') - self.callback([msg]) - time.sleep(1) - self.callback(['Retrying ...']) - - def try_command(self): - """ Execute a cmd & poll for callback. Returns list of output. - Raises CmdFailed -> return code for Popen isn't 0 - Raises CmdTimedOut -> command exceeded timeout without new output - """ - first_line = True - - try: - tfile = tempfile.NamedTemporaryFile(mode='w+b') - preexec_fn = not G_IS_WIN and os.setsid or None - self.proc = subprocess.Popen(self.cmd, stdout=tfile, - stderr=subprocess.STDOUT, - stdin=subprocess.PIPE, shell=True, - preexec_fn=preexec_fn) - thrd = thr.Thread(target=(lambda proc: proc.wait()), args=(self.proc,)) - thrd.start() - - thread_not_started = True - while thread_not_started: - try: - thrd.join(0.1) - thread_not_started = False - except RuntimeError: - pass - - while self.alive: - if G_STOP.is_set(): - raise KeyboardInterrupt - - if first_line or random.random() < G_LOG_PROB: - first_line = False - line = '' if G_IS_WIN else nonblock_read(tfile.name) - if line: - self.callback([line]) - - time_diff = time.time() - os.path.getmtime(tfile.name) - if time_diff > self.timeout: - raise CmdTimedOut(['Timeout!']) - - thrd.join(0.5) - - tfile.seek(0) - result = [line.decode('utf-8', 'replace').rstrip() for line in tfile] - - if self.proc.returncode != 0: - raise CmdFailed([''] + result) - - return result - except: - self.terminate() - raise - - def terminate(self): - """ Terminate process and cleanup. """ - if self.alive: - if G_IS_WIN: - os.kill(self.proc.pid, signal.SIGINT) - else: - os.killpg(self.proc.pid, signal.SIGTERM) - self.clean() - -class Plugin(object): - def __init__(self, name, args, buf_q, lock): - self.name = name - self.args = args - self.buf_q = buf_q - self.lock = lock - self.tag = args.get('tag', 0) - - def manage(self): - try: - if os.path.exists(self.args['dir']): - self.update() - else: - self.install() - with self.lock: - thread_vim_command("let s:update.new['{0}'] = 1".format(self.name)) - except PlugError as exc: - self.write(Action.ERROR, self.name, exc.msg) - except KeyboardInterrupt: - G_STOP.set() - self.write(Action.ERROR, self.name, ['Interrupted!']) - except: - # Any exception except those above print stack trace - msg = 'Trace:\n{0}'.format(traceback.format_exc().rstrip()) - self.write(Action.ERROR, self.name, msg.split('\n')) - raise - - def install(self): - target = self.args['dir'] - if target[-1] == '\\': - target = target[0:-1] - - def clean(target): - def _clean(): - try: - shutil.rmtree(target) - except OSError: - pass - return _clean - - self.write(Action.INSTALL, self.name, ['Installing ...']) - callback = functools.partial(self.write, Action.INSTALL, self.name) - cmd = 'git clone {0} {1} {2} {3} 2>&1'.format( - '' if self.tag else G_CLONE_OPT, G_PROGRESS, self.args['uri'], - esc(target)) - com = Command(cmd, None, G_TIMEOUT, callback, clean(target)) - result = com.execute(G_RETRIES) - self.write(Action.DONE, self.name, result[-1:]) - - def repo_uri(self): - cmd = 'git rev-parse --abbrev-ref HEAD 2>&1 && git config -f .git/config remote.origin.url' - command = Command(cmd, self.args['dir'], G_TIMEOUT,) - result = command.execute(G_RETRIES) - return result[-1] - - def update(self): - actual_uri = self.repo_uri() - expect_uri = self.args['uri'] - regex = re.compile(r'^(?:\w+://)?(?:[^@/]*@)?([^:/]*(?::[0-9]*)?)[:/](.*?)(?:\.git)?/?$') - ma = regex.match(actual_uri) - mb = regex.match(expect_uri) - if ma is None or mb is None or ma.groups() != mb.groups(): - msg = ['', - 'Invalid URI: {0}'.format(actual_uri), - 'Expected {0}'.format(expect_uri), - 'PlugClean required.'] - raise InvalidURI(msg) - - if G_PULL: - self.write(Action.UPDATE, self.name, ['Updating ...']) - callback = functools.partial(self.write, Action.UPDATE, self.name) - fetch_opt = '--depth 99999999' if self.tag and os.path.isfile(os.path.join(self.args['dir'], '.git/shallow')) else '' - cmd = 'git fetch {0} {1} 2>&1'.format(fetch_opt, G_PROGRESS) - com = Command(cmd, self.args['dir'], G_TIMEOUT, callback) - result = com.execute(G_RETRIES) - self.write(Action.DONE, self.name, result[-1:]) - else: - self.write(Action.DONE, self.name, ['Already installed']) - - def write(self, action, name, msg): - self.buf_q.put((action, name, msg)) - -class PlugThread(thr.Thread): - def __init__(self, tname, args): - super(PlugThread, self).__init__() - self.tname = tname - self.args = args - - def run(self): - thr.current_thread().name = self.tname - buf_q, work_q, lock = self.args - - try: - while not G_STOP.is_set(): - name, args = work_q.get_nowait() - plug = Plugin(name, args, buf_q, lock) - plug.manage() - work_q.task_done() - except queue.Empty: - pass - -class RefreshThread(thr.Thread): - def __init__(self, lock): - super(RefreshThread, self).__init__() - self.lock = lock - self.running = True - - def run(self): - while self.running: - with self.lock: - thread_vim_command('noautocmd normal! a') - time.sleep(0.33) - - def stop(self): - self.running = False - -if G_NVIM: - def thread_vim_command(cmd): - vim.session.threadsafe_call(lambda: vim.command(cmd)) -else: - def thread_vim_command(cmd): - vim.command(cmd) - -def esc(name): - return '"' + name.replace('"', '\"') + '"' - -def nonblock_read(fname): - """ Read a file with nonblock flag. Return the last line. """ - fread = os.open(fname, os.O_RDONLY | os.O_NONBLOCK) - buf = os.read(fread, 100000).decode('utf-8', 'replace') - os.close(fread) - - line = buf.rstrip('\r\n') - left = max(line.rfind('\r'), line.rfind('\n')) - if left != -1: - left += 1 - line = line[left:] - - return line - -def main(): - thr.current_thread().name = 'main' - nthreads = int(vim.eval('s:update.threads')) - plugs = vim.eval('s:update.todo') - mac_gui = vim.eval('s:mac_gui') == '1' - - lock = thr.Lock() - buf = Buffer(lock, len(plugs), G_PULL) - buf_q, work_q = queue.Queue(), queue.Queue() - for work in plugs.items(): - work_q.put(work) - - start_cnt = thr.active_count() - for num in range(nthreads): - tname = 'PlugT-{0:02}'.format(num) - thread = PlugThread(tname, (buf_q, work_q, lock)) - thread.start() - if mac_gui: - rthread = RefreshThread(lock) - rthread.start() - - while not buf_q.empty() or thr.active_count() != start_cnt: - try: - action, name, msg = buf_q.get(True, 0.25) - buf.write(action, name, ['OK'] if not msg else msg) - buf_q.task_done() - except queue.Empty: - pass - except KeyboardInterrupt: - G_STOP.set() - - if mac_gui: - rthread.stop() - rthread.join() - -main() -EOF -endfunction - -function! s:update_ruby() - ruby << EOF - module PlugStream - SEP = ["\r", "\n", nil] - def get_line - buffer = '' - loop do - char = readchar rescue return - if SEP.include? char.chr - buffer << $/ - break - else - buffer << char - end - end - buffer - end - end unless defined?(PlugStream) - - def esc arg - %["#{arg.gsub('"', '\"')}"] - end - - def killall pid - pids = [pid] - if /mswin|mingw|bccwin/ =~ RUBY_PLATFORM - pids.each { |pid| Process.kill 'INT', pid.to_i rescue nil } - else - unless `which pgrep 2> /dev/null`.empty? - children = pids - until children.empty? - children = children.map { |pid| - `pgrep -P #{pid}`.lines.map { |l| l.chomp } - }.flatten - pids += children - end - end - pids.each { |pid| Process.kill 'TERM', pid.to_i rescue nil } - end - end - - def compare_git_uri a, b - regex = %r{^(?:\w+://)?(?:[^@/]*@)?([^:/]*(?::[0-9]*)?)[:/](.*?)(?:\.git)?/?$} - regex.match(a).to_a.drop(1) == regex.match(b).to_a.drop(1) - end - - require 'thread' - require 'fileutils' - require 'timeout' - running = true - iswin = VIM::evaluate('s:is_win').to_i == 1 - pull = VIM::evaluate('s:update.pull').to_i == 1 - base = VIM::evaluate('g:plug_home') - all = VIM::evaluate('s:update.todo') - limit = VIM::evaluate('get(g:, "plug_timeout", 60)') - tries = VIM::evaluate('get(g:, "plug_retries", 2)') + 1 - nthr = VIM::evaluate('s:update.threads').to_i - maxy = VIM::evaluate('winheight(".")').to_i - vim7 = VIM::evaluate('v:version').to_i <= 703 && RUBY_PLATFORM =~ /darwin/ - cd = iswin ? 'cd /d' : 'cd' - tot = VIM::evaluate('len(s:update.todo)') || 0 - bar = '' - skip = 'Already installed' - mtx = Mutex.new - take1 = proc { mtx.synchronize { running && all.shift } } - logh = proc { - cnt = bar.length - $curbuf[1] = "#{pull ? 'Updating' : 'Installing'} plugins (#{cnt}/#{tot})" - $curbuf[2] = '[' + bar.ljust(tot) + ']' - VIM::command('normal! 2G') - VIM::command('redraw') - } - where = proc { |name| (1..($curbuf.length)).find { |l| $curbuf[l] =~ /^[-+x*] #{name}:/ } } - log = proc { |name, result, type| - mtx.synchronize do - ing = ![true, false].include?(type) - bar += type ? '=' : 'x' unless ing - b = case type - when :install then '+' when :update then '*' - when true, nil then '-' else - VIM::command("call add(s:update.errors, '#{name}')") - 'x' - end - result = - if type || type.nil? - ["#{b} #{name}: #{result.lines.to_a.last || 'OK'}"] - elsif result =~ /^Interrupted|^Timeout/ - ["#{b} #{name}: #{result}"] - else - ["#{b} #{name}"] + result.lines.map { |l| " " << l } - end - if lnum = where.call(name) - $curbuf.delete lnum - lnum = 4 if ing && lnum > maxy - end - result.each_with_index do |line, offset| - $curbuf.append((lnum || 4) - 1 + offset, line.gsub(/\e\[./, '').chomp) - end - logh.call - end - } - bt = proc { |cmd, name, type, cleanup| - tried = timeout = 0 - begin - tried += 1 - timeout += limit - fd = nil - data = '' - if iswin - Timeout::timeout(timeout) do - tmp = VIM::evaluate('tempname()') - system("(#{cmd}) > #{tmp}") - data = File.read(tmp).chomp - File.unlink tmp rescue nil - end - else - fd = IO.popen(cmd).extend(PlugStream) - first_line = true - log_prob = 1.0 / nthr - while line = Timeout::timeout(timeout) { fd.get_line } - data << line - log.call name, line.chomp, type if name && (first_line || rand < log_prob) - first_line = false - end - fd.close - end - [$? == 0, data.chomp] - rescue Timeout::Error, Interrupt => e - if fd && !fd.closed? - killall fd.pid - fd.close - end - cleanup.call if cleanup - if e.is_a?(Timeout::Error) && tried < tries - 3.downto(1) do |countdown| - s = countdown > 1 ? 's' : '' - log.call name, "Timeout. Will retry in #{countdown} second#{s} ...", type - sleep 1 - end - log.call name, 'Retrying ...', type - retry - end - [false, e.is_a?(Interrupt) ? "Interrupted!" : "Timeout!"] - end - } - main = Thread.current - threads = [] - watcher = Thread.new { - if vim7 - while VIM::evaluate('getchar(1)') - sleep 0.1 - end - else - require 'io/console' # >= Ruby 1.9 - nil until IO.console.getch == 3.chr - end - mtx.synchronize do - running = false - threads.each { |t| t.raise Interrupt } unless vim7 - end - threads.each { |t| t.join rescue nil } - main.kill - } - refresh = Thread.new { - while true - mtx.synchronize do - break unless running - VIM::command('noautocmd normal! a') - end - sleep 0.2 - end - } if VIM::evaluate('s:mac_gui') == 1 - - clone_opt = VIM::evaluate('s:clone_opt').join(' ') - progress = VIM::evaluate('s:progress_opt(1)') - nthr.times do - mtx.synchronize do - threads << Thread.new { - while pair = take1.call - name = pair.first - dir, uri, tag = pair.last.values_at *%w[dir uri tag] - exists = File.directory? dir - ok, result = - if exists - chdir = "#{cd} #{iswin ? dir : esc(dir)}" - ret, data = bt.call "#{chdir} && git rev-parse --abbrev-ref HEAD 2>&1 && git config -f .git/config remote.origin.url", nil, nil, nil - current_uri = data.lines.to_a.last - if !ret - if data =~ /^Interrupted|^Timeout/ - [false, data] - else - [false, [data.chomp, "PlugClean required."].join($/)] - end - elsif !compare_git_uri(current_uri, uri) - [false, ["Invalid URI: #{current_uri}", - "Expected: #{uri}", - "PlugClean required."].join($/)] - else - if pull - log.call name, 'Updating ...', :update - fetch_opt = (tag && File.exist?(File.join(dir, '.git/shallow'))) ? '--depth 99999999' : '' - bt.call "#{chdir} && git fetch #{fetch_opt} #{progress} 2>&1", name, :update, nil - else - [true, skip] - end - end - else - d = esc dir.sub(%r{[\\/]+$}, '') - log.call name, 'Installing ...', :install - bt.call "git clone #{clone_opt unless tag} #{progress} #{uri} #{d} 2>&1", name, :install, proc { - FileUtils.rm_rf dir - } - end - mtx.synchronize { VIM::command("let s:update.new['#{name}'] = 1") } if !exists && ok - log.call name, result, ok - end - } if running - end - end - threads.each { |t| t.join rescue nil } - logh.call - refresh.kill if refresh - watcher.kill -EOF -endfunction - -function! s:shellesc_cmd(arg, script) - let escaped = substitute('"'.a:arg.'"', '[&|<>()@^!"]', '^&', 'g') - return substitute(escaped, '%', (a:script ? '%' : '^') . '&', 'g') -endfunction - -function! s:shellesc_ps1(arg) - return "'".substitute(escape(a:arg, '\"'), "'", "''", 'g')."'" -endfunction - -function! s:shellesc_sh(arg) - return "'".substitute(a:arg, "'", "'\\\\''", 'g')."'" -endfunction - -" Escape the shell argument based on the shell. -" Vim and Neovim's shellescape() are insufficient. -" 1. shellslash determines whether to use single/double quotes. -" Double-quote escaping is fragile for cmd.exe. -" 2. It does not work for powershell. -" 3. It does not work for *sh shells if the command is executed -" via cmd.exe (ie. cmd.exe /c sh -c command command_args) -" 4. It does not support batchfile syntax. -" -" Accepts an optional dictionary with the following keys: -" - shell: same as Vim/Neovim 'shell' option. -" If unset, fallback to 'cmd.exe' on Windows or 'sh'. -" - script: If truthy and shell is cmd.exe, escape for batchfile syntax. -function! plug#shellescape(arg, ...) - if a:arg =~# '^[A-Za-z0-9_/:.-]\+$' - return a:arg - endif - let opts = a:0 > 0 && type(a:1) == s:TYPE.dict ? a:1 : {} - let shell = get(opts, 'shell', s:is_win ? 'cmd.exe' : 'sh') - let script = get(opts, 'script', 1) - if shell =~# 'cmd\(\.exe\)\?$' - return s:shellesc_cmd(a:arg, script) - elseif s:is_powershell(shell) - return s:shellesc_ps1(a:arg) - endif - return s:shellesc_sh(a:arg) -endfunction - -function! s:glob_dir(path) - return map(filter(s:glob(a:path, '**'), 'isdirectory(v:val)'), 's:dirpath(v:val)') -endfunction - -function! s:progress_bar(line, bar, total) - call setline(a:line, '[' . s:lpad(a:bar, a:total) . ']') -endfunction - -function! s:compare_git_uri(a, b) - " See `git help clone' - " https:// [user@] github.com[:port] / junegunn/vim-plug [.git] - " [git@] github.com[:port] : junegunn/vim-plug [.git] - " file:// / junegunn/vim-plug [/] - " / junegunn/vim-plug [/] - let pat = '^\%(\w\+://\)\='.'\%([^@/]*@\)\='.'\([^:/]*\%(:[0-9]*\)\=\)'.'[:/]'.'\(.\{-}\)'.'\%(\.git\)\=/\?$' - let ma = matchlist(a:a, pat) - let mb = matchlist(a:b, pat) - return ma[1:2] ==# mb[1:2] -endfunction - -function! s:format_message(bullet, name, message) - if a:bullet != 'x' - return [printf('%s %s: %s', a:bullet, a:name, s:lastline(a:message))] - else - let lines = map(s:lines(a:message), '" ".v:val') - return extend([printf('x %s:', a:name)], lines) - endif -endfunction - -function! s:with_cd(cmd, dir, ...) - let script = a:0 > 0 ? a:1 : 1 - return printf('cd%s %s && %s', s:is_win ? ' /d' : '', plug#shellescape(a:dir, {'script': script}), a:cmd) -endfunction - -function! s:system(cmd, ...) - let batchfile = '' - try - let [sh, shellcmdflag, shrd] = s:chsh(1) - if type(a:cmd) == s:TYPE.list - " Neovim's system() supports list argument to bypass the shell - " but it cannot set the working directory for the command. - " Assume that the command does not rely on the shell. - if has('nvim') && a:0 == 0 - return system(a:cmd) - endif - let cmd = join(map(copy(a:cmd), 'plug#shellescape(v:val, {"shell": &shell, "script": 0})')) - if s:is_powershell(&shell) - let cmd = '& ' . cmd - endif - else - let cmd = a:cmd - endif - if a:0 > 0 - let cmd = s:with_cd(cmd, a:1, type(a:cmd) != s:TYPE.list) - endif - if s:is_win && type(a:cmd) != s:TYPE.list - let [batchfile, cmd] = s:batchfile(cmd) - endif - return system(cmd) - finally - let [&shell, &shellcmdflag, &shellredir] = [sh, shellcmdflag, shrd] - if s:is_win && filereadable(batchfile) - call delete(batchfile) - endif - endtry -endfunction - -function! s:system_chomp(...) - let ret = call('s:system', a:000) - return v:shell_error ? '' : substitute(ret, '\n$', '', '') -endfunction - -function! s:git_validate(spec, check_branch) - let err = '' - if isdirectory(a:spec.dir) - let result = [s:git_local_branch(a:spec.dir), s:git_origin_url(a:spec.dir)] - let remote = result[-1] - if empty(remote) - let err = join([remote, 'PlugClean required.'], "\n") - elseif !s:compare_git_uri(remote, a:spec.uri) - let err = join(['Invalid URI: '.remote, - \ 'Expected: '.a:spec.uri, - \ 'PlugClean required.'], "\n") - elseif a:check_branch && has_key(a:spec, 'commit') - let sha = s:git_revision(a:spec.dir) - if empty(sha) - let err = join(add(result, 'PlugClean required.'), "\n") - elseif !s:hash_match(sha, a:spec.commit) - let err = join([printf('Invalid HEAD (expected: %s, actual: %s)', - \ a:spec.commit[:6], sha[:6]), - \ 'PlugUpdate required.'], "\n") - endif - elseif a:check_branch - let current_branch = result[0] - " Check tag - let origin_branch = s:git_origin_branch(a:spec) - if has_key(a:spec, 'tag') - let tag = s:system_chomp('git describe --exact-match --tags HEAD 2>&1', a:spec.dir) - if a:spec.tag !=# tag && a:spec.tag !~ '\*' - let err = printf('Invalid tag: %s (expected: %s). Try PlugUpdate.', - \ (empty(tag) ? 'N/A' : tag), a:spec.tag) - endif - " Check branch - elseif origin_branch !=# current_branch - let err = printf('Invalid branch: %s (expected: %s). Try PlugUpdate.', - \ current_branch, origin_branch) - endif - if empty(err) - let [ahead, behind] = split(s:lastline(s:system([ - \ 'git', 'rev-list', '--count', '--left-right', - \ printf('HEAD...origin/%s', origin_branch) - \ ], a:spec.dir)), '\t') - if !v:shell_error && ahead - if behind - " Only mention PlugClean if diverged, otherwise it's likely to be - " pushable (and probably not that messed up). - let err = printf( - \ "Diverged from origin/%s (%d commit(s) ahead and %d commit(s) behind!\n" - \ .'Backup local changes and run PlugClean and PlugUpdate to reinstall it.', origin_branch, ahead, behind) - else - let err = printf("Ahead of origin/%s by %d commit(s).\n" - \ .'Cannot update until local changes are pushed.', - \ origin_branch, ahead) - endif - endif - endif - endif - else - let err = 'Not found' - endif - return [err, err =~# 'PlugClean'] -endfunction - -function! s:rm_rf(dir) - if isdirectory(a:dir) - return s:system(s:is_win - \ ? 'rmdir /S /Q '.plug#shellescape(a:dir) - \ : ['rm', '-rf', a:dir]) - endif -endfunction - -function! s:clean(force) - call s:prepare() - call append(0, 'Searching for invalid plugins in '.g:plug_home) - call append(1, '') - - " List of valid directories - let dirs = [] - let errs = {} - let [cnt, total] = [0, len(g:plugs)] - for [name, spec] in items(g:plugs) - if !s:is_managed(name) - call add(dirs, spec.dir) - else - let [err, clean] = s:git_validate(spec, 1) - if clean - let errs[spec.dir] = s:lines(err)[0] - else - call add(dirs, spec.dir) - endif - endif - let cnt += 1 - call s:progress_bar(2, repeat('=', cnt), total) - normal! 2G - redraw - endfor - - let allowed = {} - for dir in dirs - let allowed[s:dirpath(s:plug_fnamemodify(dir, ':h:h'))] = 1 - let allowed[dir] = 1 - for child in s:glob_dir(dir) - let allowed[child] = 1 - endfor - endfor - - let todo = [] - let found = sort(s:glob_dir(g:plug_home)) - while !empty(found) - let f = remove(found, 0) - if !has_key(allowed, f) && isdirectory(f) - call add(todo, f) - call append(line('$'), '- ' . f) - if has_key(errs, f) - call append(line('$'), ' ' . errs[f]) - endif - let found = filter(found, 'stridx(v:val, f) != 0') - end - endwhile - - 4 - redraw - if empty(todo) - call append(line('$'), 'Already clean.') - else - let s:clean_count = 0 - call append(3, ['Directories to delete:', '']) - redraw! - if a:force || s:ask_no_interrupt('Delete all directories?') - call s:delete([6, line('$')], 1) - else - call setline(4, 'Cancelled.') - nnoremap d :set opfunc=delete_opg@ - nmap dd d_ - xnoremap d :call delete_op(visualmode(), 1) - echo 'Delete the lines (d{motion}) to delete the corresponding directories' - endif - endif - 4 - setlocal nomodifiable -endfunction - -function! s:delete_op(type, ...) - call s:delete(a:0 ? [line("'<"), line("'>")] : [line("'["), line("']")], 0) -endfunction - -function! s:delete(range, force) - let [l1, l2] = a:range - let force = a:force - let err_count = 0 - while l1 <= l2 - let line = getline(l1) - if line =~ '^- ' && isdirectory(line[2:]) - execute l1 - redraw! - let answer = force ? 1 : s:ask('Delete '.line[2:].'?', 1) - let force = force || answer > 1 - if answer - let err = s:rm_rf(line[2:]) - setlocal modifiable - if empty(err) - call setline(l1, '~'.line[1:]) - let s:clean_count += 1 - else - delete _ - call append(l1 - 1, s:format_message('x', line[1:], err)) - let l2 += len(s:lines(err)) - let err_count += 1 - endif - let msg = printf('Removed %d directories.', s:clean_count) - if err_count > 0 - let msg .= printf(' Failed to remove %d directories.', err_count) - endif - call setline(4, msg) - setlocal nomodifiable - endif - endif - let l1 += 1 - endwhile -endfunction - -function! s:upgrade() - echo 'Downloading the latest version of vim-plug' - redraw - let tmp = s:plug_tempname() - let new = tmp . '/plug.vim' - - try - let out = s:system(['git', 'clone', '--depth', '1', s:plug_src, tmp]) - if v:shell_error - return s:err('Error upgrading vim-plug: '. out) - endif - - if readfile(s:me) ==# readfile(new) - echo 'vim-plug is already up-to-date' - return 0 - else - call rename(s:me, s:me . '.old') - call rename(new, s:me) - unlet g:loaded_plug - echo 'vim-plug has been upgraded' - return 1 - endif - finally - silent! call s:rm_rf(tmp) - endtry -endfunction - -function! s:upgrade_specs() - for spec in values(g:plugs) - let spec.frozen = get(spec, 'frozen', 0) - endfor -endfunction - -function! s:status() - call s:prepare() - call append(0, 'Checking plugins') - call append(1, '') - - let ecnt = 0 - let unloaded = 0 - let [cnt, total] = [0, len(g:plugs)] - for [name, spec] in items(g:plugs) - let is_dir = isdirectory(spec.dir) - if has_key(spec, 'uri') - if is_dir - let [err, _] = s:git_validate(spec, 1) - let [valid, msg] = [empty(err), empty(err) ? 'OK' : err] - else - let [valid, msg] = [0, 'Not found. Try PlugInstall.'] - endif - else - if is_dir - let [valid, msg] = [1, 'OK'] - else - let [valid, msg] = [0, 'Not found.'] - endif - endif - let cnt += 1 - let ecnt += !valid - " `s:loaded` entry can be missing if PlugUpgraded - if is_dir && get(s:loaded, name, -1) == 0 - let unloaded = 1 - let msg .= ' (not loaded)' - endif - call s:progress_bar(2, repeat('=', cnt), total) - call append(3, s:format_message(valid ? '-' : 'x', name, msg)) - normal! 2G - redraw - endfor - call setline(1, 'Finished. '.ecnt.' error(s).') - normal! gg - setlocal nomodifiable - if unloaded - echo "Press 'L' on each line to load plugin, or 'U' to update" - nnoremap L :call status_load(line('.')) - xnoremap L :call status_load(line('.')) - end -endfunction - -function! s:extract_name(str, prefix, suffix) - return matchstr(a:str, '^'.a:prefix.' \zs[^:]\+\ze:.*'.a:suffix.'$') -endfunction - -function! s:status_load(lnum) - let line = getline(a:lnum) - let name = s:extract_name(line, '-', '(not loaded)') - if !empty(name) - call plug#load(name) - setlocal modifiable - call setline(a:lnum, substitute(line, ' (not loaded)$', '', '')) - setlocal nomodifiable - endif -endfunction - -function! s:status_update() range - let lines = getline(a:firstline, a:lastline) - let names = filter(map(lines, 's:extract_name(v:val, "[x-]", "")'), '!empty(v:val)') - if !empty(names) - echo - execute 'PlugUpdate' join(names) - endif -endfunction - -function! s:is_preview_window_open() - silent! wincmd P - if &previewwindow - wincmd p - return 1 - endif -endfunction - -function! s:find_name(lnum) - for lnum in reverse(range(1, a:lnum)) - let line = getline(lnum) - if empty(line) - return '' - endif - let name = s:extract_name(line, '-', '') - if !empty(name) - return name - endif - endfor - return '' -endfunction - -function! s:preview_commit() - if b:plug_preview < 0 - let b:plug_preview = !s:is_preview_window_open() - endif - - let sha = matchstr(getline('.'), '^ \X*\zs[0-9a-f]\{7,9}') - if empty(sha) - let name = matchstr(getline('.'), '^- \zs[^:]*\ze:$') - if empty(name) - return - endif - let title = 'HEAD@{1}..' - let command = 'git diff --no-color HEAD@{1}' - else - let title = sha - let command = 'git show --no-color --pretty=medium '.sha - let name = s:find_name(line('.')) - endif - - if empty(name) || !has_key(g:plugs, name) || !isdirectory(g:plugs[name].dir) - return - endif - - if exists('g:plug_pwindow') && !s:is_preview_window_open() - execute g:plug_pwindow - execute 'e' title - else - execute 'pedit' title - wincmd P - endif - setlocal previewwindow filetype=git buftype=nofile bufhidden=wipe nobuflisted modifiable - let batchfile = '' - try - let [sh, shellcmdflag, shrd] = s:chsh(1) - let cmd = 'cd '.plug#shellescape(g:plugs[name].dir).' && '.command - if s:is_win - let [batchfile, cmd] = s:batchfile(cmd) - endif - execute 'silent %!' cmd - finally - let [&shell, &shellcmdflag, &shellredir] = [sh, shellcmdflag, shrd] - if s:is_win && filereadable(batchfile) - call delete(batchfile) - endif - endtry - setlocal nomodifiable - nnoremap q :q - wincmd p -endfunction - -function! s:section(flags) - call search('\(^[x-] \)\@<=[^:]\+:', a:flags) -endfunction - -function! s:format_git_log(line) - let indent = ' ' - let tokens = split(a:line, nr2char(1)) - if len(tokens) != 5 - return indent.substitute(a:line, '\s*$', '', '') - endif - let [graph, sha, refs, subject, date] = tokens - let tag = matchstr(refs, 'tag: [^,)]\+') - let tag = empty(tag) ? ' ' : ' ('.tag.') ' - return printf('%s%s%s%s%s (%s)', indent, graph, sha, tag, subject, date) -endfunction - -function! s:append_ul(lnum, text) - call append(a:lnum, ['', a:text, repeat('-', len(a:text))]) -endfunction - -function! s:diff() - call s:prepare() - call append(0, ['Collecting changes ...', '']) - let cnts = [0, 0] - let bar = '' - let total = filter(copy(g:plugs), 's:is_managed(v:key) && isdirectory(v:val.dir)') - call s:progress_bar(2, bar, len(total)) - for origin in [1, 0] - let plugs = reverse(sort(items(filter(copy(total), (origin ? '' : '!').'(has_key(v:val, "commit") || has_key(v:val, "tag"))')))) - if empty(plugs) - continue - endif - call s:append_ul(2, origin ? 'Pending updates:' : 'Last update:') - for [k, v] in plugs - let branch = s:git_origin_branch(v) - if len(branch) - let range = origin ? '..origin/'.branch : 'HEAD@{1}..' - let cmd = ['git', 'log', '--graph', '--color=never'] - if s:git_version_requirement(2, 10, 0) - call add(cmd, '--no-show-signature') - endif - call extend(cmd, ['--pretty=format:%x01%h%x01%d%x01%s%x01%cr', range]) - if has_key(v, 'rtp') - call extend(cmd, ['--', v.rtp]) - endif - let diff = s:system_chomp(cmd, v.dir) - if !empty(diff) - let ref = has_key(v, 'tag') ? (' (tag: '.v.tag.')') : has_key(v, 'commit') ? (' '.v.commit) : '' - call append(5, extend(['', '- '.k.':'.ref], map(s:lines(diff), 's:format_git_log(v:val)'))) - let cnts[origin] += 1 - endif - endif - let bar .= '=' - call s:progress_bar(2, bar, len(total)) - normal! 2G - redraw - endfor - if !cnts[origin] - call append(5, ['', 'N/A']) - endif - endfor - call setline(1, printf('%d plugin(s) updated.', cnts[0]) - \ . (cnts[1] ? printf(' %d plugin(s) have pending updates.', cnts[1]) : '')) - - if cnts[0] || cnts[1] - nnoremap (plug-preview) :silent! call preview_commit() - if empty(maparg("\", 'n')) - nmap (plug-preview) - endif - if empty(maparg('o', 'n')) - nmap o (plug-preview) - endif - endif - if cnts[0] - nnoremap X :call revert() - echo "Press 'X' on each block to revert the update" - endif - normal! gg - setlocal nomodifiable -endfunction - -function! s:revert() - if search('^Pending updates', 'bnW') - return - endif - - let name = s:find_name(line('.')) - if empty(name) || !has_key(g:plugs, name) || - \ input(printf('Revert the update of %s? (y/N) ', name)) !~? '^y' - return - endif - - call s:system('git reset --hard HEAD@{1} && git checkout '.plug#shellescape(g:plugs[name].branch).' --', g:plugs[name].dir) - setlocal modifiable - normal! "_dap - setlocal nomodifiable - echo 'Reverted' -endfunction - -function! s:snapshot(force, ...) abort - call s:prepare() - setf vim - call append(0, ['" Generated by vim-plug', - \ '" '.strftime("%c"), - \ '" :source this file in vim to restore the snapshot', - \ '" or execute: vim -S snapshot.vim', - \ '', '', 'PlugUpdate!']) - 1 - let anchor = line('$') - 3 - let names = sort(keys(filter(copy(g:plugs), - \'has_key(v:val, "uri") && isdirectory(v:val.dir)'))) - for name in reverse(names) - let sha = has_key(g:plugs[name], 'commit') ? g:plugs[name].commit : s:git_revision(g:plugs[name].dir) - if !empty(sha) - call append(anchor, printf("silent! let g:plugs['%s'].commit = '%s'", name, sha)) - redraw - endif - endfor - - if a:0 > 0 - let fn = s:plug_expand(a:1) - if filereadable(fn) && !(a:force || s:ask(a:1.' already exists. Overwrite?')) - return - endif - call writefile(getline(1, '$'), fn) - echo 'Saved as '.a:1 - silent execute 'e' s:esc(fn) - setf vim - endif -endfunction - -function! s:split_rtp() - return split(&rtp, '\\\@ - Plug 'terryma/vim-multiple-cursors' - - Plug 'itchyny/lightline.vim' - - Plug 'mileszs/ack.vim' - Plug 'scrooloose/nerdtree', { 'on': [ 'NERDTreeToggle', 'NERDTree' ] } - - " Syntax - Plug 'leafgarland/typescript-vim', { 'for': ['javascript', 'typescript'] } - Plug 'vim-ruby/vim-ruby', { 'for': 'ruby' } - Plug 'tpope/vim-rails', { 'for': 'ruby' } - - Plug 'w0rp/ale' - Plug 'sbdchd/neoformat' - - " Autonomous make integration (Compile) - Plug 'neomake/neomake' - - Plug 'artur-shaik/vim-javacomplete2' - Plug 'dansomething/vim-eclim' - - Plug 'Shougo/neosnippet' - Plug 'Shougo/neosnippet-snippets' - - " Javascript Plugins - Plug 'othree/javascript-libraries-syntax.vim', { 'for': ['javascript', 'typescript'] } - Plug 'claco/jasmine.vim', { 'for': ['javascript', 'typescript'] } - Plug 'pangloss/vim-javascript', { 'for': 'javascript' } - Plug 'mxw/vim-jsx', { 'for': 'javascript' } - -call plug#end() - -let mapleader="," -let python_highlight_all = 1 - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => Fast editing and reloading of vimrc configs -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -map e :e! ~/.vimrc -autocmd! bufwritepost vimrc source ~/.vimrc - -set timeoutlen=1000 ttimeoutlen=0 - -" CTags -set tags=./tags; - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => Colors and Fonts -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" Enable syntax highlighting -" For Neovim 0.1.3 and 0.1.4 -let $NVIM_TUI_ENABLE_TRUE_COLOR=1 - -" Or if you have Neovim >= 0.1.5 -if (has("termguicolors")) - set termguicolors -endif - -" for vim 7 -set t_Co=256 - -" for vim 8 -if (has("termguicolors")) - set termguicolors -endif - -syntax enable - -set noshowmode - -" Set utf8 as standard encoding and en_US as the standard language -set encoding=utf8 - -" Use Unix as the standard file type -set ffs=unix,dos,mac - - - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => Files, backups and undo -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" Turn backup off, since most stuff is in SVN, git et.c anyway... -set nobackup -set nowb -set noswapfile - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => Text, tab and indent related -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" Use spaces instead of tabs -set expandtab - -" Be smart when using tabs ;) -set smarttab - -" Linebreak on 500 characters -set lbr -set tw=500 - -set ai "Auto indent -set si "Smart indent -set wrap "Wrap lines - -set guifont=InputMono:h14 -set hidden -set history=500 - -set tabstop=2 -set softtabstop=2 -set shiftwidth=2 -set textwidth=79 -set expandtab -set autoindent -set fileformat=unix - -set number -set mouse=a - -set so=7 -let $LANG='en' -set langmenu=en - -"Always show current position -set ruler - -" Height of the command bar -set cmdheight=1 - -" A buffer becomes hidden when it is abandoned -set hid - -" Configure backspace so it acts as it should act -set backspace=eol,start,indent -set whichwrap+=<,>,h,l - -" Ignore case when searching -set ignorecase - -" When searching try to be smart about cases -set smartcase - -" Highlight search results -set hlsearch - -" Makes search act like search in modern browsers -set incsearch - -" Don't redraw while executing macros (good performance config) -set lazyredraw - -" For regular expressions turn magic on -set magic - -" Show matching brackets when text indicator is over them -set showmatch -" How many tenths of a second to blink when matching brackets -set mat=2 - -" No annoying sound on errors -set noerrorbells -set novisualbell -set t_vb= -set tm=500 - -" Add a bit extra margin to the left -set foldcolumn=1 - -" write quit map -nmap wq :wq -nmap q :q! -nmap w :w - -" NO MORE FAILED FILE SAVES BECAUSE MY FINGERS ARE TOO FAT TO LET UP ON SHIFT - -" Open and Close Location List (Error Messages) -nmap lc :lclose -nmap lo :lopen - -" Highlights single column if you go past 80 columns for code legibility, this comment is an example -highlight OverLength ctermbg=darkred ctermfg=white guibg=#592929 -match OverLength /\%81v./ - - -" Markdown and VimWiki Filetypes -autocmd BufRead,BufNewFile *.md setlocal spell -au BufNewFile,BufFilePre,BufRead *.md set filetype=markdown - -autocmd BufRead,BufNewFile *.wiki setlocal spell -au BufNewFile,BufFilePre,BufRead *.wiki set filetype=wiki - -" Vim yank to clipboard -set clipboard=unnamed - -" Fix airline fonts from not displaying correctly -let g:airline_powerline_fonts = 1 - -set statusline+=%#warningmsg# -set statusline+=%{SyntasticStatuslineFlag()} -set statusline+=%* - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => Nerd Tree -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" autocmd VimEnter * NERDTree | wincmd p - -let NERDTreeIgnore=['\~$', '.o$', 'bower_components', 'node_modules', '\.pyc$', '__pycache__'] -let g:NERDTreeWinPos = "right" -let NERDTreeShowHidden=0 -let g:NERDTreeWinSize=35 -nmap nn :NERDTreeToggle -nnoremap nb :NERDTreeFind - -" Close NerdTree when vim exits -autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif - -" NERDTress File highlighting -function! NERDTreeHighlightFile(extension, fg, bg, guifg, guibg) - exec 'autocmd filetype nerdtree highlight ' . a:extension .' ctermbg='. a:bg .' ctermfg='. a:fg .' guibg='. a:guibg .' guifg='. a:guifg - exec 'autocmd filetype nerdtree syn match ' . a:extension .' #^\s\+.*'. a:extension .'$#' -endfunction - -call NERDTreeHighlightFile('ini', 'yellow', 'none', 'yellow', '#151515') -call NERDTreeHighlightFile('md', 'blue', 'none', '#3366FF', '#151515') -call NERDTreeHighlightFile('yml', 'yellow', 'none', 'yellow', '#151515') -call NERDTreeHighlightFile('config', 'yellow', 'none', 'yellow', '#151515') -call NERDTreeHighlightFile('conf', 'yellow', 'none', 'yellow', '#151515') -call NERDTreeHighlightFile('json', 'yellow', 'none', 'yellow', '#151515') -call NERDTreeHighlightFile('html', 'yellow', 'none', 'yellow', '#151515') -call NERDTreeHighlightFile('css', 'Red', 'none', '#ffa500', '#151515') -call NERDTreeHighlightFile('sass', 'Red', 'none', '#ffa500', '#151515') -call NERDTreeHighlightFile('ts', 'cyan', 'none', 'cyan', '#151515') -call NERDTreeHighlightFile('js', 'cyan', 'none', 'cyan', '#151515') -call NERDTreeHighlightFile('rb', 'Magenta', 'none', '#ff00ff', '#151515') - - - -" Syntax Hilighting for ANTLR -au BufRead,BufNewFile *.g set syntax=antlr3 - -" New File Skeletons -autocmd BufNewFile * -\ let templatefile = expand("~/.dotfiles/templates/") . expand("%:e")| -\ if filereadable(templatefile)| -\ execute "silent! 0r " . templatefile| -\ execute "normal Gdd/CURSOR\dw"| -\ endif| - -" vim-markdown -set nofoldenable -let g:vim_markdown_new_list_item_indent = 2 -let g:markdown_fenced_languages = ['html', 'python', 'ruby', 'yaml', 'haml', 'bash=sh'] - -" vim-wiki -nmap whtml :VimwikiAll2HTML -nmap wit :VimwikiTable - -let g:user_emmet_leader_key='' -let g:user_emmet_settings = { - \ 'javascript.jsx' : { - \ 'extends' : 'jsx', - \ }, - \} - -"""""""""""""""""""""""""""""" -" => MRU plugin -"""""""""""""""""""""""""""""" -let MRU_Max_Entries = 400 -map f :MRU - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => vim-multiple-cursors -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -let g:multi_cursor_next_key="\" - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => Git gutter (Git diff) -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -let g:gitgutter_enabled=0 -let g:gitgutter_highlight_lines=1 -nnoremap d :GitGutterToggle - -"""""""""""""""""""""""""""""" -" => Visual mode related -"""""""""""""""""""""""""""""" -" Visual mode pressing * or # searches for the current selection -" Super useful! From an idea by Michael Naumann -vnoremap * :call VisualSelection('', '')/=@/ -vnoremap # :call VisualSelection('', '')?=@/ - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => Moving around, tabs, windows and buffers -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" Map to / (search) and Ctrl- to ? (backwards search) -map / -map ? - -" Disable highlight when is pressed -map :noh - -" Smart way to move between windows -map j -map k -map h -map l - -" Useful mappings for managing tabs -map tn :tabnew -map to :tabonly -map tc :tabclose -map tm :tabmove -map t :tabnext - -" Exit insert with JK -inoremap jk - -" Move lines of code around -nnoremap :m .+1== -nnoremap :m .-2== -inoremap :m .+1==gi -inoremap :m .-2==gi -vnoremap :m '>+1gv=gv -vnoremap :m '<-2gv=gv - -" Let 'tl' toggle between this and the last accessed tab -let g:lasttab = 1 -nmap tl :exe "tabn ".g:lasttab -au TabLeave * let g:lasttab = tabpagenr() - -" Opens a new tab with the current buffer's path -" Super useful when editing files in the same directory -map te :tabedit =expand("%:p:h")/ - -" Switch CWD to the directory of the open buffer -map cd :cd %:p:h:pwd - -" Specify the behavior when switching between buffers -try - set switchbuf=useopen,usetab,newtab - set stal=2 -catch -endtry - -" Return to last edit position when opening files (You want this!) -au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif - -"""""""""""""""""""""""""""""" -" => Status line -"""""""""""""""""""""""""""""" -" Always show the status line -set laststatus=2 - -" Format the status line -set statusline=\ %{HasPaste()}%F%m%r%h\ %w\ \ CWD:\ %r%{getcwd()}%h\ \ \ Line:\ %l\ \ Column:\ %c - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => Editing mappings -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" Remap VIM 0 to first non-blank character -map 0 ^ - -" Remaps jk to ignore wrapped lines -nmap j gj -nmap k gk - -" Delete trailing white space on save, useful for Python and CoffeeScript ;) -func! DeleteTrailingWS() - exe "normal mz" - %s/\s\+$//ge - exe "normal `z" -endfunc -autocmd BufWrite *.py :call DeleteTrailingWS() -autocmd BufWrite *.coffee :call DeleteTrailingWS() - - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" The Silver Searcher -" => Ag searching and cope displaying -" requires ag.vim - it's much better than vimgrep/grep -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" When you press gv you Ag after the selected text -vnoremap gv :call VisualSelection('gv', '') - -" Open Ag and put the cursor in the right position -map g :Ag - -" bind \ (backward slash) to grep shortcut -command! -nargs=+ -complete=file -bar Ag silent! grep! |cwindow|redraw! - -cnoreabbrev ag Ack -cnoreabbrev aG Ack -cnoreabbrev Ag Ack -cnoreabbrev AG Ack - -nnoremap \ :Ag -if executable('ag') - " Use ag over grep - set grepprg=ag\ --nogroup\ --nocolor - let g:ackprg = 'ag --vimgrep --smart-case' -endif - -" bind K to grep word under cursor -nnoremap K :grep! "\b\b":cw - - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => Spell checking -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" Pressing ,ss will toggle and untoggle spell checking -map ss :setlocal spell! - -" Shortcuts using -map sn ]s -map sp [s -map sa zg -map s? z= - - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => Misc -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" Remove the Windows ^M - when the encodings gets messed up -noremap m mmHmt:%s///ge'tzt'm - -" Toggle paste mode on and off -map pp :setlocal paste! - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => Helper functions -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - -function! VisualSelection(direction, extra_filter) range - let l:saved_reg = @" - execute "normal! vgvy" - - let l:pattern = escape(@", '\\/.*$^~[]') - let l:pattern = substitute(l:pattern, "\n$", "", "") - - if a:direction == 'gv' - call CmdLine("Ag \"" . l:pattern . "\" " ) - elseif a:direction == 'replace' - call CmdLine("%s" . '/'. l:pattern . '/') - endif - - let @/ = l:pattern - let @" = l:saved_reg -endfunction - -" Returns true if paste mode is enabled -function! HasPaste() - if &paste - return 'PASTE MODE ' - endif - return '' -endfunction - -" Disable scrollbars (real hackers don't use scrollbars for navigation!) -set guioptions-=r -set guioptions-=R -set guioptions-=l -set guioptions-=L - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => Turn persistent undo on -" means that you can undo even when you close a buffer/VIM -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -try - set undodir=~/.vim_runtime/temp_dirs/undodir - set undofile -catch -endtry - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => General abbreviations -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -iab xdate =strftime("%d/%m/%y %H:%M:%S") - -"""""""""""""""""""""""""""""" -" => Python section -"""""""""""""""""""""""""""""" -" let python_highlight_all = 1 -" au FileType python syn keyword pythonDecorator True None False self - -au BufNewFile,BufRead *.jinja set syntax=htmljinja -au BufNewFile,BufRead *.mako set ft=mako - - -au FileType gitcommit call setpos('.', [0, 1, 1, 0]) - -" important!! -set termguicolors - -" for dark version -set background=dark - -" the configuration options should be placed before `colorscheme edge` -let g:edge_disable_italic_comment = 1 -let g:edge_popup_menu_selection_background = 'green' - -" edge -colorscheme edge - -" or this line -let g:lightline = {'colorscheme' : 'edge'} - - -" vertical line indentation -let g:indentLine_color_term = 239 -let g:indentLine_color_gui = '#09AA08' -let g:indentLine_char = '│' - -" When reading a buffer (after 1s), and when writing. -" call neomake#configure#automake('rw', 1000) -autocmd! BufWritePost,BufEnter * Neomake - -let g:deoplete#enable_at_startup = 1 - -let g:AutoClosePumvisible = {"ENTER": "", "ESC": ""} - -nnoremap :FZF - -let g:syntastic_javascript_checkers = ['eslint'] - -" w0rp/ale -let g:ale_emit_conflict_warnings = 0 -let g:ale_sign_error = '●' " Less aggressive than the default '>>' -let g:ale_sign_warning = '.' -let g:ale_lint_on_enter = 0 " Less distracting when opening a new file - -" Neoformat / Prettier -autocmd BufWritePre *.js Neoformat -autocmd BufWritePre *.jsx Neoformat - -let g:ale_set_loclist = 0 -let g:ale_set_quickfix = 1 - -" Conceal Level is dumb -autocmd InsertEnter *.json setlocal conceallevel=0 concealcursor= -autocmd InsertLeave *.json setlocal conceallevel=2 concealcursor=inc -autocmd InsertEnter *.md setlocal conceallevel=0 concealcursor= -autocmd InsertLeave *.md setlocal conceallevel=2 concealcursor=inc - -" javacomplete config -autocmd FileType java setlocal omnifunc=javacomplete#Complete -nmap (JavaComplete-Imports-AddSmart) -imap (JavaComplete-Imports-AddSmart) - -nmap (JavaComplete-Imports-Add) -imap (JavaComplete-Imports-Add) - -nmap (JavaComplete-Imports-AddMissing) -imap (JavaComplete-Imports-AddMissing) - -nmap (JavaComplete-Imports-RemoveUnused) -imap (JavaComplete-Imports-RemoveUnused) - -" Run current file tests -map ju :JUnit % -" Run all tests -map ja :JUnit * diff --git a/zsh/antigen/.zcompdump b/zsh/antigen/.zcompdump deleted file mode 100755 index 5b3db55..0000000 --- a/zsh/antigen/.zcompdump +++ /dev/null @@ -1,2099 +0,0 @@ -#files: 868 version: 5.0.8 - -_comps=( -'-' '_precommand' -'-array-value-' '_value' -'-assign-parameter-' '_assign' -'-brace-parameter-' '_brace_parameter' -'-command-' '_autocd' -'-command-line-' '_normal' -'-condition-' '_condition' -'-default-' '_default' -'-equal-' '_equal' -'-first-' '_first' -'-math-' '_math' -'-parameter-' '_parameter' -'-redirect-' '_redirect' -'-redirect-,-default-,-default-' '_files' -'-redirect-,<,bunzip2' '_bzip2' -'-redirect-,<,bzip2' '_bzip2' -'-redirect-,<,compress' '_compress' -'-redirect-,<,gunzip' '_gzip' -'-redirect-,<,gzip' '_gzip' -'-redirect-,<,uncompress' '_compress' -'-redirect-,<,unxz' '_xz' -'-redirect-,<,xz' '_xz' -'-redirect-,>,bzip2' '_bzip2' -'-redirect-,>,compress' '_compress' -'-redirect-,>,gzip' '_gzip' -'-redirect-,>,xz' '_xz' -'-subscript-' '_subscript' -'-tilde-' '_tilde' -'-value-' '_value' -'-value-,-default-,-command-' '_zargs' -'-value-,-default-,-default-' '_value' -'-value-,ADB_TRACE,-default-' '_adb' -'-value-,ANDROID_LOG_TAGS,-default-' '_adb' -'-value-,ANDROID_SERIAL,-default-' '_adb' -'-value-,ANT_ARGS,-default-' '_ant' -'-value-,CFLAGS,-default-' '_gcc' -'-value-,CPPFLAGS,-default-' '_gcc' -'-value-,CXXFLAGS,-default-' '_gcc' -'-value-,DISPLAY,-default-' '_x_display' -'-value-,GREP_OPTIONS,-default-' '_grep' -'-value-,GZIP,-default-' '_gzip' -'-value-,LANG,-default-' '_locales' -'-value-,LANGUAGE,-default-' '_locales' -'-value-,LDFLAGS,-default-' '_gcc' -'-value-,LESS,-default-' '_less' -'-value-,LESSCHARSET,-default-' '_less' -'-value-,LPDEST,-default-' '_printers' -'-value-,P4CLIENT,-default-' '_perforce' -'-value-,P4MERGE,-default-' '_perforce' -'-value-,P4PORT,-default-' '_perforce' -'-value-,P4USER,-default-' '_perforce' -'-value-,PERLDOC,-default-' '_perldoc' -'-value-,PRINTER,-default-' '_printers' -'-value-,PROMPT,-default-' '_ps1234' -'-value-,PROMPT2,-default-' '_ps1234' -'-value-,PROMPT3,-default-' '_ps1234' -'-value-,PROMPT4,-default-' '_ps1234' -'-value-,PS1,-default-' '_ps1234' -'-value-,PS2,-default-' '_ps1234' -'-value-,PS3,-default-' '_ps1234' -'-value-,PS4,-default-' '_ps1234' -'-value-,RPROMPT,-default-' '_ps1234' -'-value-,RPROMPT2,-default-' '_ps1234' -'-value-,RPS1,-default-' '_ps1234' -'-value-,RPS2,-default-' '_ps1234' -'-value-,SPROMPT,-default-' '_ps1234' -'-value-,TERM,-default-' '_terminals' -'-value-,TERMINFO_DIRS,-default-' '_dir_list' -'-value-,TZ,-default-' '_time_zone' -'-value-,VALGRIND_OPTS,-default-' '_valgrind' -'-value-,WWW_HOME,-default-' '_urls' -'-value-,XML_CATALOG_FILES,-default-' '_xmlsoft' -'-value-,XZ_DEFAULTS,-default-' '_xz' -'-value-,XZ_OPT,-default-' '_xz' -'-vared-' '_in_vared' -'-zcalc-line-' '_zcalc_line' -'.' '_source' -'5g' '_go' -'5l' '_go' -'6g' '_go' -'6l' '_go' -'8g' '_go' -'8l' '_go' -'Mail' '_mail' -'Mosaic' '_webbrowser' -'SuSEconfig' '_SUSEconfig' -'VBoxHeadless' '_virtualbox' -'VBoxManage' '_virtualbox' -'a2dismod' '_a2utils' -'a2dissite' '_a2utils' -'a2enmod' '_a2utils' -'a2ensite' '_a2utils' -'a2ps' '_a2ps' -'aaaa' '_hosts' -'aap' '_aap' -'ack' '_ack' -'ack-grep' '_ack' -'ack-standalone' '_ack' -'ack2' '_ack' -'acpi' '_acpi' -'acpitool' '_acpitool' -'acroread' '_acroread' -'adb' '_adb' -'add-zsh-hook' '_add-zsh-hook' -'admin' '_sccs' -'afew' '_afew' -'ag' '_ag' -'ali' '_mh' -'alias' '_alias' -'amaya' '_webbrowser' -'analyseplugin' '_analyseplugin' -'android' '_android' -'animate' '_imagemagick' -'anno' '_mh' -'ansible' '_ansible' -'ansible-galaxy' '_ansible-galaxy' -'ansible-playbook' '_ansible-playbook' -'ansible-vault' '_ansible-vault' -'ant' '_ant' -'antigen' '_antigen' -'antiword' '_antiword' -'aoss' '_precommand' -'apache2ctl' '_apachectl' -'apachectl' '_apachectl' -'apm' '_apm' -'appletviewer' '_java' -'apropos' '_man' -'apt' '_apt' -'apt-cache' '_apt' -'apt-cdrom' '_apt' -'apt-config' '_apt' -'apt-file' '_apt-file' -'apt-get' '_apt' -'apt-mark' '_apt' -'apt-move' '_apt-move' -'apt-show-versions' '_apt-show-versions' -'aptitude' '_aptitude' -'apvlv' '_pdf' -'archlinux-java' '_archlinux-java' -'arena' '_webbrowser' -'arp' '_arp' -'arping' '_arping' -'artisan' '_artisan' -'at' '_at' -'atach' '_atach' -'atq' '_at' -'atrm' '_at' -'attr' '_attr' -'augtool' '_augeas' -'auto-apt' '_auto-apt' -'autoload' '_typeset' -'awk' '_awk' -'axi-cache' '_axi-cache' -'bash' '_sh' -'batch' '_at' -'baz' '_baz' -'beadm' '_beadm' -'bg' '_jobs_bg' -'bindkey' '_bindkey' -'bison' '_bison' -'bitcoin-cli' '_bitcoin-cli' -'bmake' '_make' -'bogofilter' '_bogofilter' -'bogotune' '_bogofilter' -'bogoutil' '_bogofilter' -'bower' '_bower' -'bpython' '_bpython' -'bpython-gtk' '_bpython' -'bpython-urwid' '_bpython' -'bpython2' '_bpython' -'bpython2-gtk' '_bpython' -'bpython2-urwid' '_bpython' -'bpython3' '_bpython' -'bpython3-gtk' '_bpython' -'bpython3-urwid' '_bpython' -'brctl' '_brctl' -'brew' '_brew' -'bsdconfig' '_bsdconfig' -'bsdgrep' '_grep' -'bsdinstall' '_bsdinstall' -'btdownloadcurses' '_bittorrent' -'btdownloadgui' '_bittorrent' -'btdownloadheadless' '_bittorrent' -'btlaunchmany' '_bittorrent' -'btlaunchmanycurses' '_bittorrent' -'btmakemetafile' '_bittorrent' -'btreannounce' '_bittorrent' -'btrename' '_bittorrent' -'btrfs' '_btrfs' -'bts' '_bts' -'btshowmetainfo' '_bittorrent' -'bttrack' '_bittorrent' -'bug' '_bug' -'buildhash' '_ispell' -'builtin' '_builtin' -'bundle' '_bundle' -'bunzip2' '_bzip2' -'burst' '_mh' -'bzcat' '_bzip2' -'bzip2' '_bzip2' -'bzip2recover' '_bzip2' -'bzr' '_bzr' -'c++' '_gcc' -'cabal' '_cabal' -'cal' '_cal' -'calendar' '_calendar' -'cap' '_cap' -'cask' '_cask' -'cat' '_cat' -'catchsegv' '_precommand' -'cc' '_gcc' -'ccal' '_ccal' -'cd' '_cd' -'cdbs-edit-patch' '_cdbs-edit-patch' -'cdc' '_sccs' -'cdcd' '_cdcd' -'cdr' '_cdr' -'cdrdao' '_cdrdao' -'cdrecord' '_cdrecord' -'certtool' '_gnutls' -'cf' '_cf' -'cftp' '_twisted' -'chage' '_users' -'chattr' '_chattr' -'chdir' '_cd' -'cheat' '_cheat' -'chflags' '_chflags' -'chfn' '_users' -'chgrp' '_chown' -'chimera' '_webbrowser' -'chkconfig' '_chkconfig' -'chmod' '_chmod' -'choc' '_choc' -'chown' '_chown' -'chpass' '_chsh' -'chrt' '_chrt' -'chsh' '_chsh' -'ci' '_rcs' -'ckeygen' '_twisted' -'clang' '_gcc' -'clang++' '_gcc' -'clay' '_clay' -'clear' '_nothing' -'cmake' '_cmake' -'cmp' '_cmp' -'co' '_rcs' -'coffee' '_coffee' -'column' '_column' -'comb' '_sccs' -'combine' '_imagemagick' -'comm' '_comm' -'command' '_command' -'comp' '_mh' -'compdef' '_compdef' -'composer' '_composer' -'composite' '_imagemagick' -'compress' '_compress' -'conch' '_twisted' -'config.status' '_configure' -'configure' '_configure' -'console' '_console' -'convert' '_imagemagick' -'coreadm' '_coreadm' -'cowsay' '_cowsay' -'cowthink' '_cowsay' -'cp' '_cp' -'cpio' '_cpio' -'cplay' '_cplay' -'createdb' '_pgsql_utils' -'createuser' '_pgsql_utils' -'crsh' '_cssh' -'cryptsetup' '_cryptsetup' -'csh' '_sh' -'cssh' '_cssh' -'csup' '_csup' -'curl' '_urls' -'cut' '_cut' -'cvs' '_cvs' -'cvsup' '_cvsup' -'cygcheck' '_cygcheck' -'cygcheck.exe' '_cygcheck' -'cygpath' '_cygpath' -'cygpath.exe' '_cygpath' -'cygrunsrv' '_cygrunsrv' -'cygrunsrv.exe' '_cygrunsrv' -'cygserver' '_cygserver' -'cygserver.exe' '_cygserver' -'cygstart' '_cygstart' -'cygstart.exe' '_cygstart' -'dad' '_dad' -'dak' '_dak' -'darcs' '_darcs' -'date' '_date' -'dbus-monitor' '_dbus' -'dbus-send' '_dbus' -'dch' '_debchange' -'dchroot' '_dchroot' -'dchroot-dsa' '_dchroot-dsa' -'dcop' '_dcop' -'dcopclient' '_dcop' -'dcopfind' '_dcop' -'dcopobject' '_dcop' -'dcopref' '_dcop' -'dcopstart' '_dcop' -'dcut' '_dcut' -'dd' '_dd' -'debchange' '_debchange' -'debdiff' '_debdiff' -'debfoster' '_debfoster' -'debsign' '_debsign' -'debuild' '_debuild' -'declare' '_typeset' -'defaults' '_defaults' -'delta' '_sccs' -'devtodo' '_devtodo' -'df' '_df' -'dget' '_dget' -'dhclient' '_dhclient' -'dhclient3' '_dhclient' -'dhcpcd' '_dhcpcd' -'dhcpinfo' '_dhcpinfo' -'diana' '_diana' -'dict' '_dict' -'diff' '_diff' -'diffstat' '_diffstat' -'dillo' '_webbrowser' -'dircmp' '_directories' -'dirs' '_dirs' -'disable' '_disable' -'disown' '_jobs_fg' -'display' '_imagemagick' -'dist' '_mh' -'django-admin' '_django' -'django-admin.py' '_django' -'dladm' '_dladm' -'dlocate' '_dlocate' -'dmake' '_make' -'dmidecode' '_dmidecode' -'docpad' '_docpad' -'domainname' '_yp' -'dosdel' '_floppy' -'dosread' '_floppy' -'dpatch-edit-patch' '_dpatch-edit-patch' -'dpkg' '_dpkg' -'dpkg-buildpackage' '_dpkg-buildpackage' -'dpkg-cross' '_dpkg-cross' -'dpkg-deb' '_dpkg' -'dpkg-query' '_dpkg' -'dpkg-reconfigure' '_dpkg' -'dpkg-repack' '_dpkg-repack' -'dpkg-source' '_dpkg_source' -'dput' '_dput' -'dropdb' '_pgsql_utils' -'dropuser' '_pgsql_utils' -'drush' '_drush' -'dsh' '_dsh' -'dtrace' '_dtrace' -'du' '_du' -'dumpadm' '_dumpadm' -'dumper' '_dumper' -'dumper.exe' '_dumper' -'dupload' '_dupload' -'dvibook' '_dvi' -'dviconcat' '_dvi' -'dvicopy' '_dvi' -'dvidvi' '_dvi' -'dvipdf' '_dvi' -'dvips' '_dvi' -'dviselect' '_dvi' -'dvitodvi' '_dvi' -'dvitype' '_dvi' -'dwb' '_webbrowser' -'ecasound' '_ecasound' -'echotc' '_echotc' -'echoti' '_echoti' -'egrep' '_grep' -'elfdump' '_elfdump' -'elinks' '_elinks' -'elm' '_elm' -'emulate' '_emulate' -'emulator' '_emulator' -'enable' '_enable' -'enscript' '_enscript' -'env' '_env' -'envdir' '_envdir' -'epdfview' '_pdf' -'epsffit' '_psutils' -'erb' '_ruby' -'espeak' '_espeak' -'etags' '_etags' -'ethtool' '_ethtool' -'eu-nm' '_nm' -'eu-readelf' '_readelf' -'eval' '_precommand' -'eview' '_vim' -'evim' '_vim' -'evince' '_pspdf' -'exec' '_precommand' -'exim' '_vim' -'explodepkg' '_pkgtool' -'export' '_typeset' -'exportfs' '_exportfs' -'express' '_webbrowser' -'extcheck' '_java' -'extractres' '_psutils' -'fab' '_fab' -'fakeroot' '_fakeroot' -'false' '_nothing' -'fc' '_fc' -'fc-list' '_xft_fonts' -'fc-match' '_xft_fonts' -'feh' '_feh' -'fetch' '_fetch' -'fetchmail' '_fetchmail' -'ffind' '_ffind' -'ffmpeg' '_ffmpeg' -'fg' '_jobs_fg' -'fgrep' '_grep' -'figlet' '_figlet' -'find' '_find' -'findaffix' '_ispell' -'finger' '_finger' -'fink' '_fink' -'firefox' '_mozilla' -'fixdlsrps' '_psutils' -'fixfmps' '_psutils' -'fixmacps' '_psutils' -'fixpsditps' '_psutils' -'fixpspps' '_psutils' -'fixscribeps' '_psutils' -'fixtpps' '_psutils' -'fixwfwps' '_psutils' -'fixwpps' '_psutils' -'fixwwps' '_psutils' -'flasher' '_flasher' -'fleetctl' '_fleetctl' -'flex' '_flex' -'flist' '_mh' -'flists' '_mh' -'float' '_typeset' -'flowadm' '_flowadm' -'fmadm' '_fmadm' -'fned' '_zed' -'folder' '_mh' -'folders' '_mh' -'force' '_force' -'fortune' '_fortune' -'forw' '_mh' -'freebsd-make' '_make' -'freebsd-update' '_freebsd-update' -'fsh' '_fsh' -'fstat' '_fstat' -'ftp' '_hosts' -'functions' '_typeset' -'fuser' '_fuser' -'fusermount' '_fusermount' -'fwhois' '_whois' -'g++' '_gcc' -'galeon' '_webbrowser' -'gas' '_gas' -'gcc' '_gcc' -'gccgo' '_go' -'gchmod' '_chmod' -'gcmp' '_cmp' -'gcomm' '_comm' -'gcore' '_gcore' -'gcp' '_cp' -'gdate' '_date' -'gdb' '_gdb' -'gdiff' '_diff' -'gdu' '_du' -'geany' '_geany' -'genisoimage' '_genisoimage' -'get' '_sccs' -'getafm' '_psutils' -'getclip' '_getclip' -'getclip.exe' '_getclip' -'getconf' '_getconf' -'getent' '_getent' -'getfacl' '_getfacl' -'getfacl.exe' '_getfacl' -'getfattr' '_attr' -'getmail' '_getmail' -'getopts' '_vars' -'gex' '_vim' -'gfind' '_find' -'ggv' '_gnome-gv' -'ghc' '_ghc' -'ghc-pkg' '_ghc' -'ghci' '_ghc' -'ghostscript' '_gs' -'ghostview' '_pspdf' -'gid' '_id' -'gist' '_gist' -'git' '_git' -'git-buildpackage' '_git-buildpackage' -'git-flow' '_git-flow' -'git-journal' '_git-journal' -'git-pulls' '_git-pulls' -'git-wtf' '_git-wtf' -'gitk' '_git' -'gjoin' '_join' -'glances' '_glances' -'gln' '_ln' -'global' '_global' -'gls' '_ls' -'gm' '_graphicsmagick' -'gmake' '_make' -'gmd5sum' '_md5sum' -'gmkdir' '_mkdir' -'gmplayer' '_mplayer' -'gnl' '_nl' -'gnome-gv' '_gnome-gv' -'gnupod_INIT' '_gnupod' -'gnupod_INIT.pl' '_gnupod' -'gnupod_addsong' '_gnupod' -'gnupod_addsong.pl' '_gnupod' -'gnupod_check' '_gnupod' -'gnupod_check.pl' '_gnupod' -'gnupod_search' '_gnupod' -'gnupod_search.pl' '_gnupod' -'gnutls-cli' '_gnutls' -'gnutls-cli-debug' '_gnutls' -'god' '_od' -'gofmt' '_go' -'google' '_google' -'gpatch' '_patch' -'gpg' '_gpg' -'gpg-zip' '_gpg' -'gpg2' '_gpg' -'gpgv' '_gpg' -'gphoto2' '_gphoto2' -'gprof' '_gprof' -'gqview' '_gqview' -'gradle' '_gradle' -'gradlew' '_gradle' -'grail' '_webbrowser' -'grep' '_grep' -'grep-excuses' '_grep-excuses' -'grm' '_rm' -'groff' '_groff' -'groupadd' '_user_admin' -'groupdel' '_groups' -'groupmod' '_user_admin' -'groups' '_users' -'growisofs' '_growisofs' -'gs' '_gs' -'gsbj' '_pspdf' -'gsdj' '_pspdf' -'gsdj500' '_pspdf' -'gsed' '_sed' -'gslj' '_pspdf' -'gslp' '_pspdf' -'gsnd' '_pspdf' -'gsort' '_sort' -'gtar' '_tar' -'gtk-launch' '_gtk-launch' -'guilt' '_guilt' -'guilt-add' '_guilt' -'guilt-applied' '_guilt' -'guilt-delete' '_guilt' -'guilt-files' '_guilt' -'guilt-fold' '_guilt' -'guilt-fork' '_guilt' -'guilt-header' '_guilt' -'guilt-help' '_guilt' -'guilt-import' '_guilt' -'guilt-import-commit' '_guilt' -'guilt-init' '_guilt' -'guilt-new' '_guilt' -'guilt-next' '_guilt' -'guilt-patchbomb' '_guilt' -'guilt-pop' '_guilt' -'guilt-prev' '_guilt' -'guilt-push' '_guilt' -'guilt-rebase' '_guilt' -'guilt-refresh' '_guilt' -'guilt-rm' '_guilt' -'guilt-series' '_guilt' -'guilt-status' '_guilt' -'guilt-top' '_guilt' -'guilt-unapplied' '_guilt' -'guniq' '_uniq' -'gunzip' '_gzip' -'gv' '_gv' -'gview' '_vim' -'gvim' '_vim' -'gvimdiff' '_vim' -'gwc' '_wc' -'gxargs' '_xargs' -'gzcat' '_gzip' -'gzilla' '_webbrowser' -'gzip' '_gzip' -'hash' '_hash' -'hdiutil' '_hdiutil' -'help' '_sccs' -'hg' '_hg' -'hilite' '_precommand' -'history' '_fc' -'homestead' '_homestead' -'host' '_hosts' -'hotjava' '_webbrowser' -'http' '_httpie' -'hwinfo' '_hwinfo' -'iceweasel' '_mozilla' -'icombine' '_ispell' -'iconv' '_iconv' -'id' '_id' -'identify' '_imagemagick' -'ifconfig' '_ifconfig' -'ifdown' '_net_interfaces' -'iftop' '_iftop' -'ifup' '_net_interfaces' -'ijoin' '_ispell' -'import' '_imagemagick' -'inc' '_mh' -'includeres' '_psutils' -'inetadm' '_inetadm' -'info' '_texinfo' -'infocmp' '_terminals' -'initctl' '_initctl' -'initdb' '_pgsql_utils' -'insmod' '_modutils' -'install-info' '_texinfo' -'installpkg' '_pkgtool' -'integer' '_typeset' -'invoke-rc.d' '_invoke-rc.d' -'ionice' '_ionice' -'ip' '_ip' -'ipadm' '_ipadm' -'ipset' '_ipset' -'iptables' '_iptables' -'iptables-restore' '_iptables' -'iptables-save' '_iptables' -'irb' '_ruby' -'irssi' '_irssi' -'ispell' '_ispell' -'iwconfig' '_iwconfig' -'jadetex' '_tex' -'jar' '_java' -'jarsigner' '_java' -'java' '_java' -'javac' '_java' -'javadoc' '_java' -'javah' '_java' -'javap' '_java' -'jdb' '_java' -'jexec' '_jexec' -'jls' '_jls' -'jmeter' '_jmeter' -'jmeter-plugins' '_jmeter-plugins' -'jobs' '_jobs_builtin' -'joe' '_joe' -'join' '_join' -'jonas' '_jonas' -'jq' '_jq' -'jrnl' '_jrnl' -'kak' '_kak' -'keytool' '_java' -'kfmclient' '_kfmclient' -'kill' '_kill' -'killall' '_killall' -'killall5' '_killall' -'kioclient' '_kfmclient' -'kitchen' '_kitchen' -'kldload' '_kld' -'kldunload' '_kld' -'knife' '_knife' -'knock' '_knock' -'konqueror' '_webbrowser' -'kpdf' '_pdf' -'ksh' '_sh' -'kvno' '_kvno' -'last' '_last' -'lastb' '_last' -'latex' '_tex' -'latexmk' '_tex' -'ldd' '_ldd' -'less' '_less' -'let' '_math' -'lftp' '_ncftp' -'lha' '_lha' -'light' '_webbrowser' -'lighty-disable-mod' '_lighttpd' -'lighty-enable-mod' '_lighttpd' -'limit' '_limit' -'links' '_links' -'lintian' '_lintian' -'lintian-info' '_lintian' -'linux' '_uml' -'llvm-g++' '_gcc' -'llvm-gcc' '_gcc' -'ln' '_ln' -'loadkeys' '_loadkeys' -'local' '_typeset' -'locate' '_locate' -'log' '_nothing' -'logname' '_nothing' -'look' '_look' -'lore' '_twisted' -'losetup' '_losetup' -'lp' '_lp' -'lpadmin' '_lp' -'lpinfo' '_lp' -'lpoptions' '_lp' -'lpq' '_lp' -'lpr' '_lp' -'lprm' '_lp' -'lpstat' '_lp' -'ls' '_ls' -'lsattr' '_lsattr' -'lsblk' '_lsblk' -'lscfg' '_lscfg' -'lsdev' '_lsdev' -'lslv' '_lslv' -'lsmod' '_modutils' -'lsof' '_lsof' -'lspv' '_lspv' -'lsusb' '_lsusb' -'lsvg' '_lsvg' -'lunchy' '_lunchy' -'lynx' '_lynx' -'lzcat' '_xz' -'lzma' '_xz' -'lzop' '_lzop' -'m-a' '_module-assistant' -'madison' '_madison' -'mail' '_mail' -'mailx' '_mail' -'make' '_make' -'make-kpkg' '_make-kpkg' -'makeinfo' '_texinfo' -'makepkg' '_pkgtool' -'man' '_man' -'manage.py' '_django' -'manhole' '_twisted' -'mark' '_mh' -'matlab' '_matlab' -'mattrib' '_mtools' -'mcd' '_mtools' -'mcopy' '_mtools' -'md5sum' '_md5sum' -'mdadm' '_mdadm' -'mdel' '_mtools' -'mdeltree' '_mtools' -'mdir' '_mtools' -'mdu' '_mtools' -'members' '_members' -'mencal' '_mencal' -'mere' '_mere' -'merge' '_rcs' -'mergechanges' '_mergechanges' -'metaflac' '_metaflac' -'mformat' '_mtools' -'mgv' '_pspdf' -'mhlist' '_mh' -'mhmail' '_mh' -'mhn' '_mh' -'mhparam' '_mh' -'mhpath' '_mh' -'mhshow' '_mh' -'mhstore' '_mh' -'middleman' '_middleman' -'mii-tool' '_mii-tool' -'mina' '_mina' -'mix' '_mix' -'mixerctl' '_mixerctl' -'mkdir' '_mkdir' -'mkisofs' '_growisofs' -'mkshortcut' '_mkshortcut' -'mkshortcut.exe' '_mkshortcut' -'mktunes' '_gnupod' -'mktunes.pl' '_gnupod' -'mkzsh' '_mkzsh' -'mkzsh.exe' '_mkzsh' -'mlabel' '_mtools' -'mlocate' '_locate' -'mmd' '_mtools' -'mmm' '_webbrowser' -'mmount' '_mtools' -'mmove' '_mtools' -'modinfo' '_modutils' -'modprobe' '_modutils' -'module' '_module' -'module-assistant' '_module-assistant' -'mogrify' '_imagemagick' -'mondoarchive' '_mondo' -'montage' '_imagemagick' -'moosic' '_moosic' -'mosh' '_mosh' -'mount' '_mount' -'mozilla' '_mozilla' -'mozilla-firefox' '_mozilla' -'mozilla-xremote-client' '_mozilla' -'mpc' '_mpc' -'mplayer' '_mplayer' -'mrd' '_mtools' -'mread' '_mtools' -'mren' '_mtools' -'msgchk' '_mh' -'mt' '_mt' -'mtn' '_monotone' -'mtoolstest' '_mtools' -'mtr' '_mtr' -'mtype' '_mtools' -'multirust' '_multirust' -'munchlist' '_ispell' -'mush' '_mail' -'mussh' '_mussh' -'mutt' '_mutt' -'mux' '_tmuxinator' -'mvn' '_mvn' -'mvnDebug' '_mvn' -'mx' '_hosts' -'mysql' '_mysql_utils' -'mysqladmin' '_mysql_utils' -'mysqldiff' '_mysqldiff' -'mysqldump' '_mysql_utils' -'mysqlimport' '_mysql_utils' -'mysqlshow' '_mysql_utils' -'nail' '_mail' -'native2ascii' '_java' -'nautilus' '_nautilus' -'nc' '_netcat' -'ncal' '_cal' -'ncftp' '_ncftp' -'ncl' '_nedit' -'nedit' '_nedit' -'nedit-nc' '_nedit' -'netcat' '_netcat' -'netrik' '_webbrowser' -'netscape' '_netscape' -'netstat' '_netstat' -'newgrp' '_groups' -'next' '_mh' -'nice' '_nice' -'nkf' '_nkf' -'nl' '_nl' -'nm' '_nm' -'nmap' '_nmap' -'nmblookup' '_samba' -'nmcli' '_nmcli' -'nocorrect' '_precommand' -'node' '_node' -'noglob' '_precommand' -'nohup' '_precommand' -'notmuch' '_notmuch' -'npm' '_npm' -'ns' '_hosts' -'nslookup' '_nslookup' -'ntalk' '_other_accounts' -'nvim' '_vim' -'nvm' '_nvm' -'od' '_od' -'odme' '_object_classes' -'odmget' '_object_classes' -'odmshow' '_object_classes' -'ogg123' '_vorbis' -'oggdec' '_vorbis' -'oggenc' '_vorbis' -'ogginfo' '_vorbis' -'okular' '_okular' -'open' '_open' -'openssl' '_openssl' -'opera' '_webbrowser' -'opera-next' '_webbrowser' -'optirun' '_optirun' -'osc' '_osc' -'p4' '_perforce' -'p4d' '_perforce' -'pack' '_pack' -'packf' '_mh' -'parsehdlist' '_urpmi' -'passwd' '_users' -'paste' '_paste' -'patch' '_patch' -'patool' '_patool' -'pax' '_pax' -'pbuilder' '_pbuilder' -'pcat' '_pack' -'pcred' '_pids' -'pdf2dsc' '_pdf' -'pdf2ps' '_pdf' -'pdffonts' '_pdf' -'pdfimages' '_pdf' -'pdfinfo' '_pdf' -'pdfjadetex' '_tex' -'pdflatex' '_tex' -'pdfopt' '_pdf' -'pdftex' '_tex' -'pdftk' '_pdftk' -'pdftopbm' '_pdf' -'pdftops' '_pdf' -'pdftotext' '_pdf' -'perf' '_perf' -'periscope' '_periscope' -'perl' '_perl' -'perldoc' '_perldoc' -'pfctl' '_pfctl' -'pfexec' '_pfexec' -'pfiles' '_pids' -'pflags' '_pids' -'pg_dump' '_pgsql_utils' -'pg_dumpall' '_pgsql_utils' -'pg_restore' '_pgsql_utils' -'pgrep' '_pgrep' -'phing' '_phing' -'php' '_php' -'pick' '_mh' -'pine' '_pine' -'pinef' '_pine' -'ping' '_ping' -'piuparts' '_piuparts' -'pixz' '_pixz' -'pkcon' '_pkcon' -'pkg' '_pkg5' -'pkg-config' '_pkg-config' -'pkg_add' '_bsd_pkg' -'pkg_create' '_bsd_pkg' -'pkg_delete' '_bsd_pkg' -'pkg_info' '_bsd_pkg' -'pkgadd' '_pkgadd' -'pkginfo' '_pkginfo' -'pkgrm' '_pkgrm' -'pkgtool' '_pkgtool' -'pkill' '_pgrep' -'play' '_play' -'pldd' '_pids' -'pmake' '_make' -'pman' '_perl_modules' -'pmap' '_pids' -'pmcat' '_perl_modules' -'pmdesc' '_perl_modules' -'pmeth' '_perl_modules' -'pmexp' '_perl_modules' -'pmfunc' '_perl_modules' -'pmload' '_perl_modules' -'pmls' '_perl_modules' -'pmpath' '_perl_modules' -'pmvers' '_perl_modules' -'podgrep' '_perl_modules' -'podpath' '_perl_modules' -'podtoc' '_perl_modules' -'poff' '_pon' -'policytool' '_java' -'pon' '_pon' -'popd' '_directory_stack' -'port' '_port' -'portaudit' '_portaudit' -'portlint' '_portlint' -'portmaster' '_portmaster' -'portsnap' '_portsnap' -'postsuper' '_postfix' -'powerd' '_powerd' -'prcs' '_prcs' -'prev' '_mh' -'print' '_print' -'printenv' '_printenv' -'printf' '_print' -'procstat' '_procstat' -'prompt' '_prompt' -'prove' '_prove' -'prs' '_sccs' -'prstat' '_prstat' -'prt' '_sccs' -'prun' '_pids' -'ps' '_ps' -'ps2ascii' '_pspdf' -'ps2epsi' '_postscript' -'ps2pdf' '_postscript' -'ps2pdf12' '_postscript' -'ps2pdf13' '_postscript' -'ps2pdf14' '_postscript' -'ps2pdfwr' '_postscript' -'ps2ps' '_postscript' -'psbook' '_psutils' -'pscp' '_pscp' -'pscp.exe' '_pscp' -'psed' '_sed' -'psig' '_pids' -'psmerge' '_psutils' -'psmulti' '_postscript' -'psnup' '_psutils' -'psql' '_pgsql_utils' -'psresize' '_psutils' -'psselect' '_psutils' -'pstack' '_pids' -'pstoedit' '_pspdf' -'pstop' '_pids' -'pstops' '_psutils' -'pstotgif' '_pspdf' -'pswrap' '_postscript' -'ptree' '_ptree' -'pump' '_pump' -'pushd' '_cd' -'putclip' '_putclip' -'putclip.exe' '_putclip' -'pwait' '_pids' -'pwdx' '_pids' -'pygmentize' '_pygmentize' -'pyhtmlizer' '_twisted' -'qdbus' '_qdbus' -'qiv' '_qiv' -'qtplay' '_qtplay' -'querybts' '_bug' -'quilt' '_quilt' -'r' '_fc' -'raggle' '_raggle' -'rails' '_rails' -'rake' '_rake' -'ralio' '_ralio' -'ranlib' '_ranlib' -'rar' '_rar' -'rc' '_sh' -'rclone' '_rclone' -'rcp' '_rlogin' -'rcs' '_rcs' -'rcsdiff' '_rcs' -'rdesktop' '_rdesktop' -'read' '_read' -'readelf' '_readelf' -'readonly' '_typeset' -'readshortcut' '_readshortcut' -'readshortcut.exe' '_readshortcut' -'rebootin' '_rebootin' -'rec' '_redis-cli' -'redis-cli' '_redis-cli' -'refile' '_mh' -'rehash' '_hash' -'reload' '_initctl' -'removepkg' '_pkgtool' -'remsh' '_rlogin' -'renice' '_renice' -'repl' '_mh' -'reportbug' '_bug' -'reprepro' '_reprepro' -'restart' '_initctl' -'retawq' '_webbrowser' -'rfkill' '_rfkill' -'rgview' '_vim' -'rgvim' '_vim' -'ri' '_ri' -'rkt' '_rkt' -'rlogin' '_rlogin' -'rm' '_rm' -'rmadison' '_madison' -'rmdel' '_sccs' -'rmdir' '_directories' -'rmf' '_mh' -'rmic' '_java' -'rmid' '_java' -'rmiregistry' '_java' -'rmm' '_mh' -'rmmod' '_modutils' -'rpm' '_rpm' -'rpmbuild' '_rpmbuild' -'rrdtool' '_rrdtool' -'rsh' '_rlogin' -'rslsync' '_rslsync' -'rspec' '_rspec' -'rsvm' '_rsvm' -'rsync' '_rsync' -'rtin' '_tin' -'rubber' '_rubber' -'rubber-info' '_rubber' -'rubber-pipe' '_rubber' -'rubocop' '_rubocop' -'ruby' '_ruby' -'run-help' '_run-help' -'rup' '_hosts' -'rusage' '_precommand' -'rview' '_vim' -'rvim' '_vim' -'rvm' '_rvm' -'rwho' '_hosts' -'rxvt' '_urxvt' -'s2p' '_sed' -'sabcmd' '_sablotron' -'sact' '_sccs' -'savecore' '_savecore' -'sbt' '_sbt' -'scala' '_scala' -'scalac' '_scala' -'scan' '_mh' -'sccs' '_sccs' -'sccsdiff' '_sccs' -'sched' '_sched' -'schedtool' '_schedtool' -'schroot' '_schroot' -'scl' '_scl' -'scp' '_ssh' -'screen' '_screen' -'scrub' '_scrub' -'sdd' '_sdd' -'sed' '_sed' -'serialver' '_java' -'service' '_service' -'set' '_set' -'setcap' '_setcap' -'setfacl' '_setfacl' -'setfacl.exe' '_setfacl' -'setfattr' '_attr' -'setopt' '_setopt' -'setup.py' '_setup.py' -'sftp' '_ssh' -'sh' '_sh' -'shift' '_arrays' -'show' '_mh' -'showchar' '_psutils' -'showmount' '_showmount' -'showoff' '_showoff' -'shutdown' '_shutdown' -'sisu' '_sisu' -'skipstone' '_webbrowser' -'slitex' '_tex' -'slocate' '_locate' -'slogin' '_ssh' -'slrn' '_slrn' -'smartctl' '_smartmontools' -'smartd' '_smartmontools' -'smbclient' '_samba' -'smbcontrol' '_samba' -'smbstatus' '_samba' -'smit' '_smit' -'smitty' '_smit' -'snoop' '_snoop' -'soa' '_hosts' -'socket' '_socket' -'sockstat' '_sockstat' -'softwareupdate' '_softwareupdate' -'sort' '_sort' -'sortm' '_mh' -'source' '_source' -'spamassassin' '_spamassassin' -'sqlite' '_sqlite' -'sqlite3' '_sqlite' -'sqsh' '_sqsh' -'sr' '_surfraw' -'srm' '_srm' -'srptool' '_gnutls' -'ss' '_ss' -'ssh' '_ssh' -'ssh-add' '_ssh' -'ssh-agent' '_ssh' -'ssh-copy-id' '_ssh' -'ssh-keygen' '_ssh' -'sshfs' '_sshfs' -'stack' '_stack' -'star' '_tar' -'start' '_initctl' -'stat' '_stat' -'status' '_initctl' -'stg' '_stgit' -'stop' '_initctl' -'strace' '_strace' -'strip' '_strip' -'stty' '_stty' -'su' '_su' -'subl' '_subl' -'subliminal' '_subliminal' -'sudo' '_sudo' -'sudoedit' '_sudo' -'supervisorctl' '_supervisorctl' -'surfraw' '_surfraw' -'sv' '_runit' -'svcadm' '_svcadm' -'svccfg' '_svccfg' -'svcprop' '_svcprop' -'svcs' '_svcs' -'svm' '_svm' -'svn' '_subversion' -'svn-buildpackage' '_svn-buildpackage' -'svnadmin' '_subversion' -'svnadmin-static' '_subversion' -'sync' '_nothing' -'sysctl' '_sysctl' -'system_profiler' '_system_profiler' -'systemctl' '_systemd' -'systemd-loginctl' '_systemd' -'talk' '_other_accounts' -'tap2deb' '_twisted' -'tap2rpm' '_twisted' -'tapconvert' '_twisted' -'tar' '_tar' -'tardy' '_tardy' -'tcp_open' '_tcpsys' -'tcpdump' '_tcpdump' -'tcptraceroute' '_tcptraceroute' -'tcsh' '_sh' -'tda' '_devtodo' -'tdd' '_devtodo' -'tde' '_devtodo' -'tdr' '_devtodo' -'teamocil' '_teamocil' -'telnet' '_telnet' -'tex' '_tex' -'texi2dvi' '_texinfo' -'texindex' '_texinfo' -'tg' '_topgit' -'thor' '_thor' -'tidy' '_tidy' -'time' '_precommand' -'times' '_nothing' -'tin' '_tin' -'tkconch' '_twisted' -'tkinfo' '_texinfo' -'tla' '_tla' -'tmux' '_tmux' -'tmuxinator' '_tmuxinator' -'todo' '_devtodo' -'todo.sh' '_todo.sh' -'toilet' '_toilet' -'totdconfig' '_totd' -'tpb' '_tpb' -'tpconfig' '_tpconfig' -'tpkg-debarch' '_toolchain-source' -'tpkg-install' '_toolchain-source' -'tpkg-install-libc' '_toolchain-source' -'tpkg-make' '_toolchain-source' -'tpkg-update' '_toolchain-source' -'tracepath' '_tracepath' -'tracepath6' '_tracepath' -'traceroute' '_hosts' -'trap' '_trap' -'trash' '_trash-put' -'trash-empty' '_trash-empty' -'trash-list' '_trash-list' -'trash-put' '_trash-put' -'trash-restore' '_trash-restore' -'tree' '_tree' -'trial' '_twisted' -'true' '_nothing' -'tryaffix' '_ispell' -'ttyctl' '_ttyctl' -'tunctl' '_uml' -'tune2fs' '_tune2fs' -'tunes2pod' '_gnupod' -'tunes2pod.pl' '_gnupod' -'twidge' '_twidge' -'twistd' '_twisted' -'txt' '_hosts' -'type' '_which' -'typeset' '_typeset' -'udisksctl' '_udisksctl' -'ufw' '_ufw' -'ulimit' '_ulimit' -'uml_mconsole' '_uml' -'uml_moo' '_uml' -'uml_switch' '_uml' -'umount' '_mount' -'unace' '_unace' -'unalias' '_aliases' -'uname' '_uname' -'uncompress' '_compress' -'unexpand' '_unexpand' -'unfunction' '_functions' -'unget' '_sccs' -'unhash' '_unhash' -'uniq' '_uniq' -'unison' '_unison' -'units' '_units' -'unlimit' '_limits' -'unlzma' '_xz' -'unpack' '_pack' -'unrar' '_rar' -'unset' '_vars' -'unsetopt' '_setopt' -'unxz' '_xz' -'unzip' '_zip' -'update-alternatives' '_update-alternatives' -'update-rc.d' '_update-rc.d' -'upgradepkg' '_pkgtool' -'urpme' '_urpmi' -'urpmf' '_urpmi' -'urpmi' '_urpmi' -'urpmi.addmedia' '_urpmi' -'urpmi.removemedia' '_urpmi' -'urpmi.update' '_urpmi' -'urpmq' '_urpmi' -'urxvt' '_urxvt' -'urxvt256c' '_urxvt' -'urxvt256c-ml' '_urxvt' -'urxvt256c-mlc' '_urxvt' -'urxvt256cc' '_urxvt' -'urxvtc' '_urxvt' -'uscan' '_uscan' -'useradd' '_user_admin' -'userdel' '_users' -'usermod' '_user_admin' -'uzbl' '_uzbl' -'uzbl-browser' '_uzbl' -'uzbl-tabbed' '_uzbl' -'vacuumdb' '_pgsql_utils' -'vagrant' '_vagrant' -'val' '_sccs' -'valgrind' '_valgrind' -'vared' '_vared' -'vcsh' '_vcsh' -'vim' '_vim' -'vim-addons' '_vim-addons' -'vimdiff' '_vim' -'virsh' '_virsh' -'vncserver' '_vnc' -'vncviewer' '_vnc' -'vnstat' '_vnstat' -'vorbiscomment' '_vorbiscomment' -'vpnc' '_vpnc' -'vpnc-connect' '_vpnc' -'vpnc-disconnect' '_vpnc' -'vserver' '_vserver' -'vux' '_vux' -'vuxctl' '_vux' -'w3m' '_w3m' -'wait' '_wait' -'wajig' '_wajig' -'wanna-build' '_wanna-build' -'wc' '_wc' -'wemux' '_wemux' -'wget' '_wget' -'what' '_sccs' -'whatis' '_man' -'whence' '_which' -'where' '_which' -'whereis' '_whereis' -'which' '_which' -'whoami' '_nothing' -'whois' '_whois' -'whom' '_mh' -'wiggle' '_wiggle' -'wodim' '_cdrecord' -'wpa_cli' '_wpa_cli' -'write' '_users_on' -'www' '_webbrowser' -'xargs' '_xargs' -'xauth' '_xauth' -'xautolock' '_xautolock' -'xclip' '_xclip' -'xdpyinfo' '_x_utils' -'xdvi' '_xdvi' -'xelatex' '_tex' -'xetex' '_tex' -'xev' '_x_utils' -'xfd' '_x_utils' -'xfig' '_xfig' -'xfontsel' '_x_utils' -'xhost' '_x_utils' -'xinput' '_xinput' -'xkill' '_x_utils' -'xli' '_xloadimage' -'xloadimage' '_xloadimage' -'xlsatoms' '_x_utils' -'xmllint' '_xmlsoft' -'xmms2' '_xmms2' -'xmodmap' '_xmodmap' -'xmosaic' '_webbrowser' -'xon' '_x_utils' -'xournal' '_xournal' -'xpdf' '_xpdf' -'xping' '_hosts' -'xprop' '_x_utils' -'xrandr' '_xrandr' -'xrdb' '_x_utils' -'xscreensaver-command' '_xscreensaver' -'xset' '_xset' -'xsetbg' '_xloadimage' -'xsetroot' '_x_utils' -'xsltproc' '_xmlsoft' -'xterm' '_xterm' -'xtightvncviewer' '_vnc' -'xtp' '_imagemagick' -'xv' '_xv' -'xview' '_xloadimage' -'xvnc4viewer' '_vnc' -'xvncviewer' '_vnc' -'xwd' '_x_utils' -'xwininfo' '_x_utils' -'xwit' '_xwit' -'xwud' '_x_utils' -'xxd' '_xxd' -'xz' '_xz' -'xzcat' '_xz' -'yaourt' '_yaourt' -'yaourt.static' '_yaourt' -'yarn' '_yarn' -'yast' '_yast' -'yast2' '_yast' -'ypbind' '_yp' -'ypcat' '_yp' -'ypmatch' '_yp' -'yppasswd' '_yp' -'yppoll' '_yp' -'yppush' '_yp' -'ypserv' '_yp' -'ypset' '_yp' -'ypwhich' '_yp' -'ypxfr' '_yp' -'ytalk' '_other_accounts' -'yum' '_yum' -'zargs' '_zargs' -'zathura' '_pspdf' -'zcalc' '_zcalc' -'zcash-cli' '_zcash-cli' -'zcat' '_zcat' -'zcompile' '_zcompile' -'zcp' '_zmv' -'zdelattr' '_zattr' -'zdump' '_zdump' -'zed' '_zed' -'zegrep,' '_grep' -'zen' '_webbrowser' -'zf_chgrp' '_chown' -'zf_chown' '_chown' -'zf_ln' '_ln' -'zf_mkdir' '_mkdir' -'zf_rm' '_rm' -'zf_rmdir' '_directories' -'zfgrep' '_grep' -'zfs' '_zfs' -'zgetattr' '_zattr' -'zgrep,' '_grep' -'zip' '_zip' -'zipinfo' '_zip' -'zle' '_zle' -'zlistattr' '_zattr' -'zln' '_zmv' -'zlogin' '_zlogin' -'zmail' '_mail' -'zmodload' '_zmodload' -'zmv' '_zmv' -'zone' '_hosts' -'zoneadm' '_zoneadm' -'zpool' '_zpool' -'zpty' '_zpty' -'zsetattr' '_zattr' -'zsh' '_sh' -'zsh-mime-handler' '_zsh-mime-handler' -'zstat' '_stat' -'zstyle' '_zstyle' -'ztodo' '_ztodo' -'zxpdf' '_xpdf' -'zypper' '_zypper' -) - -_services=( -'-redirect-,<,bunzip2' 'bunzip2' -'-redirect-,<,bzip2' 'bzip2' -'-redirect-,<,compress' 'compress' -'-redirect-,<,gunzip' 'gunzip' -'-redirect-,<,gzip' 'gzip' -'-redirect-,<,uncompress' 'uncompress' -'-redirect-,<,unxz' 'unxz' -'-redirect-,<,xz' 'xz' -'-redirect-,>,bzip2' 'bunzip2' -'-redirect-,>,compress' 'uncompress' -'-redirect-,>,gzip' 'gunzip' -'-redirect-,>,xz' 'unxz' -'Mail' 'mail' -'VBoxHeadless' 'vboxheadless' -'VBoxManage' 'vboxmanage' -'bzcat' 'bunzip2' -'dch' 'debchange' -'gnupod_INIT.pl' 'gnupod_INIT' -'gnupod_addsong.pl' 'gnupod_addsong' -'gnupod_check.pl' 'gnupod_check' -'gnupod_search.pl' 'gnupod_search' -'gpg2' 'gpg' -'gzcat' 'gunzip' -'iceweasel' 'firefox' -'lzcat' 'unxz' -'lzma' 'xz' -'mailx' 'mail' -'mktunes.pl' 'mktunes' -'nail' 'mail' -'ncl' 'nc' -'nedit-nc' 'nc' -'pcat' 'unpack' -'remsh' 'rsh' -'slogin' 'ssh' -'svnadmin-static' 'svnadmin' -'tunes2pod.pl' 'tunes2pod' -'unlzma' 'unxz' -'xelatex' 'latex' -'xetex' 'tex' -'xzcat' 'unxz' -'yaourt.static' 'yaourt' -'zf_chgrp' 'chgrp' -'zf_chown' 'chown' -) - -_patcomps=( -'*/(init|rc[0-9S]#).d/*' '_init_d' -'zf*' '_zftp' -) - -_postpatcomps=( -'(p[bgpn]m*|*top[bgpn]m)' '_pbm' -'(ruby|[ei]rb)[0-9.]#' '_ruby' -'(texi(2*|ndex))' '_texi' -'(tiff*|*2tiff|pal2rgb)' '_tiff' -'(|cifs)iostat' '_sysstat' -'*/X11(|R<4->)/*' '_x_arguments' -'-value-,(ftp|http(|s))_proxy,-default-' '_urls' -'-value-,*PATH,-default-' '_dir_list' -'-value-,*path,-default-' '_directories' -'-value-,LC_*,-default-' '_locales' -'-value-,RUBY(LIB|OPT|PATH),-default-' '_ruby' -'isag' '_sysstat' -'mpstat' '_sysstat' -'pidstat' '_sysstat' -'pydoc[0-9.]#' '_pydoc' -'python[0-9.]#' '_python' -'qemu(|-system-*)' '_qemu' -'sadf' '_sysstat' -'sar' '_sysstat' -'yodl(|2*)' '_yodl' -) - -_compautos=( -'_call_program' '+X' -) - -zle -C _bash_complete-word .complete-word _bash_completions -zle -C _bash_list-choices .list-choices _bash_completions -zle -C _complete_debug .complete-word _complete_debug -zle -C _complete_help .complete-word _complete_help -zle -C _complete_tag .complete-word _complete_tag -zle -C _correct_filename .complete-word _correct_filename -zle -C _correct_word .complete-word _correct_word -zle -C _expand_alias .complete-word _expand_alias -zle -C _expand_word .complete-word _expand_word -zle -C _history-complete-newer .complete-word _history_complete_word -zle -C _history-complete-older .complete-word _history_complete_word -zle -C _list_expansions .list-choices _expand_word -zle -C _most_recent_file .complete-word _most_recent_file -zle -C _next_tags .list-choices _next_tags -zle -C _read_comp .complete-word _read_comp -bindkey '^X^R' _read_comp -bindkey '^X?' _complete_debug -bindkey '^XC' _correct_filename -bindkey '^Xa' _expand_alias -bindkey '^Xc' _correct_word -bindkey '^Xd' _list_expansions -bindkey '^Xe' _expand_word -bindkey '^Xh' _complete_help -bindkey '^Xm' _most_recent_file -bindkey '^Xn' _next_tags -bindkey '^Xt' _complete_tag -bindkey '^X~' _bash_list-choices -bindkey '^[,' _history-complete-newer -bindkey '^[/' _history-complete-older -bindkey '^[~' _bash_complete-word - -autoload -Uz _SUSEconfig __function_on_stack __function_unset __list_remote_all __list_remote_for \ - __list_remote_for_index __list_remote_for_local __list_remote_for_s3 __rvm_add_once __rvm_add_to_path \ - __rvm_after_cd __rvm_ant __rvm_array_add_or_update __rvm_array_contains __rvm_array_prepend_or_ignore \ - __rvm_ask_for __rvm_ask_to_trust __rvm_automake __rvm_autoreconf __rvm_awk \ - __rvm_become __rvm_calculate_remote_file __rvm_calculate_space_free __rvm_calculate_space_used __rvm_call_with_restored_umask \ - __rvm_cd __rvm_cd_functions_set __rvm_check_pipestatus __rvm_check_rvmrc_trustworthiness __rvm_checksum_all \ - __rvm_checksum_any __rvm_checksum_calculate_file __rvm_checksum_for_contents __rvm_checksum_none __rvm_checksum_read \ - __rvm_checksum_validate_file __rvm_checksum_write __rvm_cleanse_variables __rvm_cleanup_tmp __rvm_cli_autoreload \ - __rvm_cli_autoupdate __rvm_cli_autoupdate_execute __rvm_cli_autoupdate_version_old __rvm_cli_autoupdate_warning __rvm_cli_get_and_execute_installer \ - __rvm_cli_get_and_verify_pgp __rvm_cli_get_installer_cleanup __rvm_cli_install_ruby __rvm_cli_load_rvmrc __rvm_cli_posix_check \ - __rvm_cli_rubies_not_installed __rvm_cli_rubies_select __rvm_cli_rvm_get __rvm_cli_rvm_reload __rvm_cli_version_check \ - __rvm_conditionally_add_bin_path __rvm_conditionally_do_with_env __rvm_cp __rvm_curl __rvm_curl_output_control \ - __rvm_current_gemset __rvm_custom_separated_array __rvm_date __rvm_db __rvm_db_ \ - __rvm_db_add __rvm_db_get __rvm_db_remove __rvm_db_system __rvm_debug_command \ - __rvm_detect_debian_major_version_from_codename __rvm_detect_system __rvm_detect_system_override __rvm_detect_xcode_version __rvm_detect_xcode_version_at_least \ - __rvm_display_rvmrc __rvm_do_with_env __rvm_do_with_env_after __rvm_do_with_env_before __rvm_dotted \ - __rvm_ensure_has_environment_files __rvm_ensure_is_a_function __rvm_env_file_notice_display_post __rvm_env_file_notice_initial __rvm_env_print \ - __rvm_env_string __rvm_expand_ruby_string __rvm_export __rvm_file_env_check_unload __rvm_file_load_env \ - __rvm_file_load_env_and_trust __rvm_file_notice_display_post __rvm_file_notice_display_pre __rvm_file_notice_initial __rvm_file_set_env \ - __rvm_find __rvm_find_first_file __rvm_fix_group_permissions __rvm_fix_path_from_gem_path __rvm_fix_selected_ruby \ - __rvm_fold __rvm_gemset_clear __rvm_gemset_handle_default __rvm_gemset_pristine __rvm_gemset_select \ - __rvm_gemset_select_cli __rvm_gemset_select_cli_validation __rvm_gemset_select_only __rvm_gemset_select_validation __rvm_gemset_use \ - __rvm_gemset_use_ensure __rvm_get_user_shell __rvm_grep __rvm_has_opt __rvm_include_travis_binaries \ - __rvm_initial_gemsets_create __rvm_initial_gemsets_create_without_rubygems __rvm_initialize __rvm_join_array __rvm_libtoolize \ - __rvm_lines_with_gems __rvm_lines_without_comments __rvm_lines_without_gems __rvm_list_gems __rvm_list_gemset_strings \ - __rvm_list_known_strings __rvm_list_strings __rvm_load_environment __rvm_load_project_config __rvm_load_rvmrc \ - __rvm_log_command __rvm_log_command_caclulate_log_file_name __rvm_log_command_caclulate_log_filesystem __rvm_log_command_caclulate_log_namelen __rvm_log_command_caclulate_log_timestamp \ - __rvm_log_command_debug __rvm_log_command_internal __rvm_log_command_simple __rvm_log_dotted __rvm_make \ - __rvm_md5_calculate __rvm_md5_for_contents __rvm_meta __rvm_mount __rvm_nuke_rvm_variables \ - __rvm_package_create __rvm_package_extract __rvm_package_extract_run __rvm_package_list __rvm_pager_or_cat_v \ - __rvm_parse_args __rvm_parse_args_error_finding_project_file __rvm_parse_args_find_known_flags __rvm_parse_gems_args __rvm_patch \ - __rvm_path_match_gem_home_check __rvm_path_match_gem_home_check_warn __rvm_path_match_gem_home_check_warning __rvm_path_match_gem_home_check_warning_missing __rvm_project_dir_check \ - __rvm_project_ruby_env_check_unload __rvm_project_ruby_env_load __rvm_project_ruby_env_load_parse_file __rvm_project_ruby_env_load_set_env __rvm_project_rvmrc \ - __rvm_read_lines __rvm_readlink __rvm_readlink_deep __rvm_record_install __rvm_record_ruby_configs \ - __rvm_recorded_install_command __rvm_remote_extension __rvm_remote_server_path __rvm_remote_server_path_single __rvm_remote_version \ - __rvm_remove_broken_symlinks __rvm_remove_from_array __rvm_remove_from_path __rvm_remove_install_record __rvm_remove_rvm_from_path \ - __rvm_remove_without_gems __rvm_reset_rvmrc_trust __rvm_rm_rf __rvm_rm_rf_verbose __rvm_ruby_config_get \ - __rvm_ruby_config_save __rvm_ruby_config_save_generic __rvm_ruby_config_save_mruby __rvm_ruby_package_file __rvm_ruby_string \ - __rvm_ruby_string_autodetect __rvm_ruby_string_find __rvm_ruby_string_fuzzy __rvm_ruby_string_fuzzy_remote __rvm_ruby_string_installed \ - __rvm_ruby_string_latest __rvm_ruby_string_parse __rvm_ruby_string_parse_ __rvm_ruby_string_paths_under __rvm_ruby_string_remotely_available \ - __rvm_ruby_strings_exist __rvm_rubygems_create_link __rvm_run_wrapper __rvm_rvmrc_key __rvm_rvmrc_match_all \ - __rvm_rvmrc_notice_display_post __rvm_rvmrc_notice_initial __rvm_rvmrc_stored_trust __rvm_rvmrc_stored_trust_check __rvm_rvmrc_to \ - __rvm_rvmrc_to_ruby_version __rvm_rvmrc_tools __rvm_rvmrc_tools_read_ruby __rvm_rvmrc_tools_try_to_read_ruby __rvm_save_variables \ - __rvm_sed __rvm_sed_i __rvm_select __rvm_select_after_parse __rvm_select_default_variables \ - __rvm_select_detect_ruby_string __rvm_select_interpreter_common __rvm_select_interpreter_current __rvm_select_interpreter_default __rvm_select_interpreter_ext \ - __rvm_select_interpreter_goruby __rvm_select_interpreter_ironruby __rvm_select_interpreter_jruby __rvm_select_interpreter_macruby __rvm_select_interpreter_maglev \ - __rvm_select_interpreter_missing __rvm_select_interpreter_mruby __rvm_select_interpreter_opal __rvm_select_interpreter_rbx __rvm_select_interpreter_ree \ - __rvm_select_interpreter_rubinius __rvm_select_interpreter_ruby __rvm_select_interpreter_system __rvm_select_interpreter_topaz __rvm_select_interpreter_user \ - __rvm_select_interpreter_variables __rvm_select_late __rvm_select_late_rbx __rvm_select_late_rbx_partial __rvm_select_macruby_nightly \ - __rvm_select_macruby_nightly_detect __rvm_select_macruby_nightly_selected __rvm_select_rbx_compatibility_branch __rvm_select_rbx_nightly __rvm_select_set_variable_defaults \ - __rvm_select_version_variables __rvm_set_color __rvm_set_color_single __rvm_set_env __rvm_set_executable \ - __rvm_set_ruby_version __rvm_set_rvmrc __rvm_set_versions_conf __rvm_setup __rvm_setup_statf_function \ - __rvm_setup_sudo_function __rvm_setup_sudo_function_Other __rvm_setup_sudo_function_PCLinuxOS __rvm_setup_sudo_function_Solaris __rvm_setup_utils_functions \ - __rvm_setup_utils_functions_OSX __rvm_setup_utils_functions_Other __rvm_setup_utils_functions_Solaris __rvm_setup_utils_functions_common __rvm_sha256_for_contents \ - __rvm_sha__calculate __rvm_stat __rvm_statf __rvm_string_includes __rvm_string_match \ - __rvm_strings __rvm_strip __rvm_sudo __rvm_switch __rvm_system_path \ - __rvm_table __rvm_table_br __rvm_table_wrap_text __rvm_tail __rvm_take_n \ - __rvm_tar __rvm_teardown __rvm_teardown_final __rvm_teardown_if_broken __rvm_trust_rvmrc \ - __rvm_try_sudo __rvm_unload __rvm_unload_action __rvm_unset_exports __rvm_unset_ruby_variables \ - __rvm_untrust_rvmrc __rvm_use __rvm_use_ __rvm_use_common __rvm_use_ruby_warnings \ - __rvm_use_system __rvm_using_gemset_globalcache __rvm_version __rvm_version_compare __rvm_version_sort \ - __rvm_wait_anykey __rvm_which __rvm_with __rvm_xargs __rvmrc_full_path_to_file \ - __rvmrc_warning __rvmrc_warning_check __rvmrc_warning_check_quiet __rvmrc_warning_display_for_Gemfile __rvmrc_warning_display_for_rvmrc \ - __rvmrc_warning_ignore __rvmrc_warning_list __rvmrc_warning_reset __setup_lang_fallback __variables_definition \ - __zsh_like_cd _a2ps _a2utils _aap _ack \ - _acpi _acpitool _acroread _adb _add-zsh-hook \ - _afew _ag _alias _aliases _all_labels \ - _all_matches _alternative _analyseplugin _android _ansible \ - _ansible-galaxy _ansible-playbook _ansible-vault _ant _antigen \ - _antigen_compinit _antiword _apachectl _apm _approximate \ - _apt _apt-file _apt-move _apt-show-versions _aptitude \ - _arch_archives _arch_namespace _archlinux-java _arg_compile _arguments \ - _arp _arping _arrays _artisan _assign \ - _at _atach _attr _augeas _auto-apt \ - _autocd _awk _axi-cache _bash_completions _baz \ - _be_name _beadm _bind_addresses _bindkey _bison \ - _bitcoin-cli _bittorrent _bogofilter _bower _bpython \ - _brace_parameter _brctl _brew _bsd_pkg _bsdconfig \ - _bsdinstall _btrfs _bts _bug _builtin \ - _bundle _bzip2 _bzr _cabal _cache_invalid \ - _cal _calendar _call_function _canonical_paths _cap \ - _cask _cat _ccal _cd _cd_options \ - _cdbs-edit-patch _cdcd _cdr _cdrdao _cdrecord \ - _cf _chattr _cheat _chflags _chkconfig \ - _chmod _choc _chown _chrt _chsh \ - _clay _cmake _cmdstring _cmp _coffee \ - _column _combination _comm _command _command_names \ - _comp_locale _compdef _complete _complete_debug _complete_help \ - _complete_help_generic _complete_tag _composer _compress _condition \ - _configure _console _coreadm _correct _correct_filename \ - _correct_word _cowsay _cp _cpio _cplay \ - _cryptsetup _cssh _csup _ctags_tags _cut \ - _cvs _cvsup _cygcheck _cygpath _cygrunsrv \ - _cygserver _cygstart _dad _dak _darcs \ - _date _dbus _dchroot _dchroot-dsa _dcop \ - _dcut _dd _deb_architectures _deb_packages _debchange \ - _debdiff _debfoster _debsign _debuild _default \ - _defaults _delimiters _describe _description _devtodo \ - _df _dget _dhclient _dhcpcd _dhcpinfo \ - _diana _dict _dict_words _diff _diff_options \ - _diffstat _dir_list _directories _directory_stack _dirs \ - _disable _dispatch _django _dladm _dlocate \ - _dmidecode _docpad _domains _dpatch-edit-patch _dpkg \ - _dpkg-buildpackage _dpkg-cross _dpkg-repack _dpkg_source _dput \ - _drush _dsh _dtrace _du _dumpadm \ - _dumper _dupload _dvi _dynamic_directory_name _ecasound \ - _echotc _echoti _elfdump _elinks _elm \ - _email_addresses _emulate _emulator _enable _enscript \ - _env _envdir _equal _espeak _etags \ - _ethtool _expand _expand_alias _expand_word _exportfs \ - _extensions _external_pwds _fab _fakeroot _fc \ - _feh _fetch _fetchmail _ffind _ffmpeg \ - _figlet _file_descriptors _file_systems _files _find \ - _find_net_interfaces _finger _fink _first _flasher \ - _fleetctl _flex _floppy _flowadm _fmadm \ - _force _fortune _freebsd-update _fsh _fstat \ - _functions _fuse_arguments _fuse_values _fuser _fusermount \ - _gas _gcc _gcore _gdb _geany \ - _generic _genisoimage _getclip _getconf _getent \ - _getfacl _getmail _ghc _gist _git \ - _git-buildpackage _git-flow _git-journal _git-pulls _git-wtf \ - _glances _global _global_tags _globflags _globqual_delims \ - _globquals _gnome-gv _gnu_generic _gnupod _gnutls \ - _go _google _gpg _gphoto2 _gprof \ - _gqview _gradle _graphicsmagick _grep _grep-excuses \ - _groff _groups _growisofs _gs _gtk-launch \ - _guard _guilt _gv _gzip _hash \ - _have_glob_qual _hdiutil _hg _history _history-substring-search-begin \ - _history-substring-search-down-buffer _history-substring-search-down-history _history-substring-search-down-search _history-substring-search-end _history-substring-search-found \ - _history-substring-search-has-next _history-substring-search-has-prev _history-substring-search-not-found _history-substring-search-up-buffer _history-substring-search-up-history \ - _history-substring-search-up-search _history_complete_word _history_modifiers _history_substring_search_process_raw_matches _homestead \ - _hosts _httpie _hwinfo _iconv _id \ - _ifconfig _iftop _ignored _imagemagick _in_vared \ - _inetadm _init_d _initctl _invoke-rc.d _ionice \ - _ip _ipadm _ipset _iptables _irssi \ - _ispell _iwconfig _jails _java _java_class \ - _jexec _jls _jmeter _jmeter-plugins _jobs \ - _jobs_bg _jobs_builtin _jobs_fg _joe _join \ - _jonas _jq _jrnl _kak _kfmclient \ - _kill _killall _kitchen _kld _knife \ - _knock _kvno _language_codes _last _ldd \ - _less _lha _lighttpd _limit _limits \ - _links _lintian _list _list_files _ln \ - _loadkeys _locales _locate _logical_volumes _look \ - _losetup _lp _ls _lsattr _lsblk \ - _lscfg _lsdev _lslv _lsof _lspv \ - _lsusb _lsvg _lunchy _lynx _lzop \ - _mac_applications _mac_files_for_application _madison _maglev_gemstone _mail \ - _mailboxes _main_complete _make _make-kpkg _man \ - _match _math _math_params _matlab _md5sum \ - _mdadm _members _mencal _menu _mere \ - _mergechanges _message _metaflac _mh _middleman \ - _mii-tool _mime_types _mina _mix _mixerctl \ - _mkdir _mkshortcut _mkzsh _module _module-assistant \ - _module_math_func _modutils _mondo _monotone _moosic \ - _mosh _most_recent_file _mount _mozilla _mpc \ - _mplayer _mt _mtools _mtr _multi_parts \ - _multirust _mussh _mutt _mvn _my_accounts \ - _mysql_utils _mysqldiff _nautilus _ncftp _nedit \ - _net_interfaces _netcat _netscape _netstat _newsgroups \ - _next_label _next_tags _nice _nkf _nl \ - _nm _nmap _nmcli _node _normal \ - _nothing _notmuch _npm _nslookup _nvm \ - _object_classes _od _okular _oldlist _open \ - _openssl _options _options_set _options_unset _optirun \ - _osc _other_accounts _pack _parameter _parameters \ - _paste _patch _path_commands _path_files _patool \ - _pax _pbm _pbuilder _pdf _pdftk \ - _perf _perforce _periscope _perl _perl_basepods \ - _perl_modules _perldoc _pfctl _pfexec _pgrep \ - _pgsql_utils _phing _php _physical_volumes _pick_variant \ - _pids _pine _ping _piuparts _pixz \ - _pkcon _pkg-config _pkg5 _pkg_instance _pkgadd \ - _pkginfo _pkgrm _pkgtool _play _pon \ - _port _portaudit _portlint _portmaster _ports \ - _portsnap _postfix _postscript _powerd _prcs \ - _precommand _prefix _print _printenv _printers \ - _procstat _prompt _prove _prstat _ps \ - _ps1234 _pscp _pspdf _psutils _ptree \ - _pump _putclip _pydoc _pygmentize _python \ - _python_modules _qdbus _qemu _qiv _qtplay \ - _quilt _raggle _rails _rake _ralio \ - _ranlib _rar _rclone _rcs _rdesktop \ - _read _read_comp _readelf _readshortcut _rebootin \ - _redirect _redis-cli _regex_arguments _regex_words _remote_files \ - _renice _reprepro _requested _retrieve_cache _retrieve_mac_apps \ - _rfkill _ri _rkt _rlogin _rm \ - _rpm _rpmbuild _rrdtool _rslsync _rspec \ - _rsvm _rsync _rubber _rubocop _ruby \ - _run-help _runit _rvm _sablotron _samba \ - _savecore _sbt _scala _sccs _sched \ - _schedtool _schroot _scl _screen _scrub \ - _sdd _sed _sep_parts _sequence _service \ - _services _set _set_command _setcap _setfacl \ - _setopt _setup _setup.py _sh _showmount \ - _showoff _shutdown _signals _sisu _slrn \ - _smartmontools _smit _snoop _socket _sockstat \ - _softwareupdate _sort _source _spamassassin _sqlite \ - _sqsh _srm _ss _ssh _ssh-copy-id \ - _sshfs _stack _stat _stgit _store_cache \ - _strace _strip _stty _su _sub_commands \ - _subl _subliminal _subscript _subversion _sudo \ - _suffix_alias_files _supervisorctl _surfraw _svcadm _svccfg \ - _svcprop _svcs _svcs_fmri _svm _svn-buildpackage \ - _sysctl _sysstat _system_profiler _systemd _tags \ - _tar _tar_archive _tardy _tcpdump _tcpsys \ - _tcptraceroute _teamocil _telnet _terminals _tex \ - _texi _texinfo _thor _tidy _tiff \ - _tilde _tilde_files _time_zone _tin _tla \ - _tmux _tmuxinator _todo.sh _toilet _toolchain-source \ - _topgit _totd _tpb _tpconfig _tracepath \ - _trap _trash-empty _trash-list _trash-put _trash-restore \ - _tree _ttyctl _tune2fs _twidge _twisted \ - _typeset _udisksctl _ufw _ulimit _uml \ - _unace _uname _unexpand _unhash _uniq \ - _unison _units _update-alternatives _update-rc.d _urls \ - _urpmi _urxvt _uscan _user_admin _user_at_host \ - _user_expand _user_math_func _users _users_on _uzbl \ - _vagrant _valgrind _value _values _vared \ - _vars _vcsh _vim _vim-addons _vim_files \ - _virsh _virtualbox _vnc _vnstat _volume_groups \ - _vorbis _vorbiscomment _vpnc _vserver _vux \ - _w3m _wait _wajig _wakeup_capable_devices _wanna-build \ - _wanted _wc _webbrowser _wemux _wget \ - _whereis _which _whois _wiggle _wpa_cli \ - _x_arguments _x_borderwidth _x_color _x_colormapid _x_cursor \ - _x_display _x_extension _x_font _x_geometry _x_keysym \ - _x_locale _x_modifier _x_name _x_resource _x_selection_timeout \ - _x_title _x_utils _x_visual _x_window _xargs \ - _xauth _xautolock _xclip _xdvi _xfig \ - _xft_fonts _xinput _xloadimage _xmlsoft _xmms2 \ - _xmodmap _xournal _xpdf _xrandr _xscreensaver \ - _xset _xt_arguments _xt_session_id _xterm _xv \ - _xwit _xxd _xz _yaourt _yarn \ - _yast _yodl _yp _yum _zargs \ - _zattr _zcalc _zcalc_line _zcash-cli _zcat \ - _zcompile _zdump _zed _zfs _zfs_dataset \ - _zfs_keysource_props _zfs_pool _zftp _zip _zle \ - _zlogin _zmodload _zmv _zoneadm _zones \ - _zpool _zpty _zsh-mime-handler _zsh_autosuggest_accept _zsh_autosuggest_async_pty_create \ - _zsh_autosuggest_async_pty_destroy _zsh_autosuggest_async_pty_recreate _zsh_autosuggest_async_request _zsh_autosuggest_async_response _zsh_autosuggest_async_server \ - _zsh_autosuggest_async_start _zsh_autosuggest_bind_widget _zsh_autosuggest_bind_widgets _zsh_autosuggest_bound_1_accept-and-hold _zsh_autosuggest_bound_1_accept-and-infer-next-history \ - _zsh_autosuggest_bound_1_accept-and-menu-complete _zsh_autosuggest_bound_1_accept-line _zsh_autosuggest_bound_1_accept-line-and-down-history _zsh_autosuggest_bound_1_accept-search _zsh_autosuggest_bound_1_argument-base \ - _zsh_autosuggest_bound_1_auto-suffix-remove _zsh_autosuggest_bound_1_auto-suffix-retain _zsh_autosuggest_bound_1_backward-char _zsh_autosuggest_bound_1_backward-delete-char _zsh_autosuggest_bound_1_backward-delete-word \ - _zsh_autosuggest_bound_1_backward-kill-line _zsh_autosuggest_bound_1_backward-kill-word _zsh_autosuggest_bound_1_backward-word _zsh_autosuggest_bound_1_beginning-of-buffer-or-history _zsh_autosuggest_bound_1_beginning-of-history \ - _zsh_autosuggest_bound_1_beginning-of-line _zsh_autosuggest_bound_1_beginning-of-line-hist _zsh_autosuggest_bound_1_capitalize-word _zsh_autosuggest_bound_1_clear-screen _zsh_autosuggest_bound_1_complete-word \ - _zsh_autosuggest_bound_1_copy-prev-shell-word _zsh_autosuggest_bound_1_copy-prev-word _zsh_autosuggest_bound_1_copy-region-as-kill _zsh_autosuggest_bound_1_delete-char _zsh_autosuggest_bound_1_delete-char-or-list \ - _zsh_autosuggest_bound_1_delete-word _zsh_autosuggest_bound_1_describe-key-briefly _zsh_autosuggest_bound_1_digit-argument _zsh_autosuggest_bound_1_down-case-word _zsh_autosuggest_bound_1_down-history \ - _zsh_autosuggest_bound_1_down-line _zsh_autosuggest_bound_1_down-line-or-history _zsh_autosuggest_bound_1_down-line-or-search _zsh_autosuggest_bound_1_emacs-backward-word _zsh_autosuggest_bound_1_emacs-forward-word \ - _zsh_autosuggest_bound_1_end-of-buffer-or-history _zsh_autosuggest_bound_1_end-of-history _zsh_autosuggest_bound_1_end-of-line _zsh_autosuggest_bound_1_end-of-line-hist _zsh_autosuggest_bound_1_end-of-list \ - _zsh_autosuggest_bound_1_exchange-point-and-mark _zsh_autosuggest_bound_1_execute-last-named-cmd _zsh_autosuggest_bound_1_execute-named-cmd _zsh_autosuggest_bound_1_expand-cmd-path _zsh_autosuggest_bound_1_expand-history \ - _zsh_autosuggest_bound_1_expand-or-complete _zsh_autosuggest_bound_1_expand-or-complete-prefix _zsh_autosuggest_bound_1_expand-word _zsh_autosuggest_bound_1_forward-char _zsh_autosuggest_bound_1_forward-word \ - _zsh_autosuggest_bound_1_get-line _zsh_autosuggest_bound_1_gosmacs-transpose-chars _zsh_autosuggest_bound_1_history-beginning-search-backward _zsh_autosuggest_bound_1_history-beginning-search-forward _zsh_autosuggest_bound_1_history-incremental-pattern-search-backward \ - _zsh_autosuggest_bound_1_history-incremental-pattern-search-forward _zsh_autosuggest_bound_1_history-incremental-search-backward _zsh_autosuggest_bound_1_history-incremental-search-forward _zsh_autosuggest_bound_1_history-search-backward _zsh_autosuggest_bound_1_history-search-forward \ - _zsh_autosuggest_bound_1_history-substring-search-down _zsh_autosuggest_bound_1_history-substring-search-up _zsh_autosuggest_bound_1_infer-next-history _zsh_autosuggest_bound_1_insert-last-word _zsh_autosuggest_bound_1_kill-buffer \ - _zsh_autosuggest_bound_1_kill-line _zsh_autosuggest_bound_1_kill-region _zsh_autosuggest_bound_1_kill-whole-line _zsh_autosuggest_bound_1_kill-word _zsh_autosuggest_bound_1_list-choices \ - _zsh_autosuggest_bound_1_list-expand _zsh_autosuggest_bound_1_magic-space _zsh_autosuggest_bound_1_menu-complete _zsh_autosuggest_bound_1_menu-expand-or-complete _zsh_autosuggest_bound_1_menu-select \ - _zsh_autosuggest_bound_1_neg-argument _zsh_autosuggest_bound_1_overwrite-mode _zsh_autosuggest_bound_1_pound-insert _zsh_autosuggest_bound_1_push-input _zsh_autosuggest_bound_1_push-line \ - _zsh_autosuggest_bound_1_push-line-or-edit _zsh_autosuggest_bound_1_put-replace-selection _zsh_autosuggest_bound_1_quote-line _zsh_autosuggest_bound_1_quote-region _zsh_autosuggest_bound_1_quoted-insert \ - _zsh_autosuggest_bound_1_read-command _zsh_autosuggest_bound_1_recursive-edit _zsh_autosuggest_bound_1_redisplay _zsh_autosuggest_bound_1_redo _zsh_autosuggest_bound_1_reset-prompt \ - _zsh_autosuggest_bound_1_reverse-menu-complete _zsh_autosuggest_bound_1_select-a-blank-word _zsh_autosuggest_bound_1_select-a-shell-word _zsh_autosuggest_bound_1_select-a-word _zsh_autosuggest_bound_1_select-in-blank-word \ - _zsh_autosuggest_bound_1_select-in-shell-word _zsh_autosuggest_bound_1_select-in-word _zsh_autosuggest_bound_1_self-insert _zsh_autosuggest_bound_1_self-insert-unmeta _zsh_autosuggest_bound_1_send-break \ - _zsh_autosuggest_bound_1_set-mark-command _zsh_autosuggest_bound_1_spell-word _zsh_autosuggest_bound_1_split-undo _zsh_autosuggest_bound_1_transpose-chars _zsh_autosuggest_bound_1_transpose-words \ - _zsh_autosuggest_bound_1_undefined-key _zsh_autosuggest_bound_1_undo _zsh_autosuggest_bound_1_universal-argument _zsh_autosuggest_bound_1_up-case-word _zsh_autosuggest_bound_1_up-history \ - _zsh_autosuggest_bound_1_up-line _zsh_autosuggest_bound_1_up-line-or-history _zsh_autosuggest_bound_1_up-line-or-search _zsh_autosuggest_bound_1_vi-add-eol _zsh_autosuggest_bound_1_vi-add-next \ - _zsh_autosuggest_bound_1_vi-backward-blank-word _zsh_autosuggest_bound_1_vi-backward-blank-word-end _zsh_autosuggest_bound_1_vi-backward-char _zsh_autosuggest_bound_1_vi-backward-delete-char _zsh_autosuggest_bound_1_vi-backward-kill-word \ - _zsh_autosuggest_bound_1_vi-backward-word _zsh_autosuggest_bound_1_vi-backward-word-end _zsh_autosuggest_bound_1_vi-beginning-of-line _zsh_autosuggest_bound_1_vi-caps-lock-panic _zsh_autosuggest_bound_1_vi-change \ - _zsh_autosuggest_bound_1_vi-change-eol _zsh_autosuggest_bound_1_vi-change-whole-line _zsh_autosuggest_bound_1_vi-cmd-mode _zsh_autosuggest_bound_1_vi-delete _zsh_autosuggest_bound_1_vi-delete-char \ - _zsh_autosuggest_bound_1_vi-digit-or-beginning-of-line _zsh_autosuggest_bound_1_vi-down-line-or-history _zsh_autosuggest_bound_1_vi-end-of-line _zsh_autosuggest_bound_1_vi-fetch-history _zsh_autosuggest_bound_1_vi-find-next-char \ - _zsh_autosuggest_bound_1_vi-find-next-char-skip _zsh_autosuggest_bound_1_vi-find-prev-char _zsh_autosuggest_bound_1_vi-find-prev-char-skip _zsh_autosuggest_bound_1_vi-first-non-blank _zsh_autosuggest_bound_1_vi-forward-blank-word \ - _zsh_autosuggest_bound_1_vi-forward-blank-word-end _zsh_autosuggest_bound_1_vi-forward-char _zsh_autosuggest_bound_1_vi-forward-word _zsh_autosuggest_bound_1_vi-forward-word-end _zsh_autosuggest_bound_1_vi-goto-column \ - _zsh_autosuggest_bound_1_vi-goto-mark _zsh_autosuggest_bound_1_vi-goto-mark-line _zsh_autosuggest_bound_1_vi-history-search-backward _zsh_autosuggest_bound_1_vi-history-search-forward _zsh_autosuggest_bound_1_vi-indent \ - _zsh_autosuggest_bound_1_vi-insert _zsh_autosuggest_bound_1_vi-insert-bol _zsh_autosuggest_bound_1_vi-join _zsh_autosuggest_bound_1_vi-kill-eol _zsh_autosuggest_bound_1_vi-kill-line \ - _zsh_autosuggest_bound_1_vi-match-bracket _zsh_autosuggest_bound_1_vi-open-line-above _zsh_autosuggest_bound_1_vi-open-line-below _zsh_autosuggest_bound_1_vi-oper-swap-case _zsh_autosuggest_bound_1_vi-pound-insert \ - _zsh_autosuggest_bound_1_vi-put-after _zsh_autosuggest_bound_1_vi-put-before _zsh_autosuggest_bound_1_vi-quoted-insert _zsh_autosuggest_bound_1_vi-repeat-change _zsh_autosuggest_bound_1_vi-repeat-find \ - _zsh_autosuggest_bound_1_vi-repeat-search _zsh_autosuggest_bound_1_vi-replace _zsh_autosuggest_bound_1_vi-replace-chars _zsh_autosuggest_bound_1_vi-rev-repeat-find _zsh_autosuggest_bound_1_vi-rev-repeat-search \ - _zsh_autosuggest_bound_1_vi-set-buffer _zsh_autosuggest_bound_1_vi-set-mark _zsh_autosuggest_bound_1_vi-substitute _zsh_autosuggest_bound_1_vi-swap-case _zsh_autosuggest_bound_1_vi-undo-change \ - _zsh_autosuggest_bound_1_vi-unindent _zsh_autosuggest_bound_1_vi-up-line-or-history _zsh_autosuggest_bound_1_vi-yank _zsh_autosuggest_bound_1_vi-yank-eol _zsh_autosuggest_bound_1_vi-yank-whole-line \ - _zsh_autosuggest_bound_1_visual-line-mode _zsh_autosuggest_bound_1_visual-mode _zsh_autosuggest_bound_1_what-cursor-position _zsh_autosuggest_bound_1_where-is _zsh_autosuggest_bound_1_yank-pop \ - _zsh_autosuggest_bound_2_accept-and-hold _zsh_autosuggest_bound_2_accept-and-infer-next-history _zsh_autosuggest_bound_2_accept-and-menu-complete _zsh_autosuggest_bound_2_accept-line _zsh_autosuggest_bound_2_accept-line-and-down-history \ - _zsh_autosuggest_bound_2_accept-search _zsh_autosuggest_bound_2_argument-base _zsh_autosuggest_bound_2_auto-suffix-remove _zsh_autosuggest_bound_2_auto-suffix-retain _zsh_autosuggest_bound_2_backward-char \ - _zsh_autosuggest_bound_2_backward-delete-char _zsh_autosuggest_bound_2_backward-delete-word _zsh_autosuggest_bound_2_backward-kill-line _zsh_autosuggest_bound_2_backward-kill-word _zsh_autosuggest_bound_2_backward-word \ - _zsh_autosuggest_bound_2_beginning-of-buffer-or-history _zsh_autosuggest_bound_2_beginning-of-history _zsh_autosuggest_bound_2_beginning-of-line _zsh_autosuggest_bound_2_beginning-of-line-hist _zsh_autosuggest_bound_2_capitalize-word \ - _zsh_autosuggest_bound_2_clear-screen _zsh_autosuggest_bound_2_complete-word _zsh_autosuggest_bound_2_copy-prev-shell-word _zsh_autosuggest_bound_2_copy-prev-word _zsh_autosuggest_bound_2_copy-region-as-kill \ - _zsh_autosuggest_bound_2_delete-char _zsh_autosuggest_bound_2_delete-char-or-list _zsh_autosuggest_bound_2_delete-word _zsh_autosuggest_bound_2_describe-key-briefly _zsh_autosuggest_bound_2_digit-argument \ - _zsh_autosuggest_bound_2_down-case-word _zsh_autosuggest_bound_2_down-history _zsh_autosuggest_bound_2_down-line _zsh_autosuggest_bound_2_down-line-or-history _zsh_autosuggest_bound_2_down-line-or-search \ - _zsh_autosuggest_bound_2_emacs-backward-word _zsh_autosuggest_bound_2_emacs-forward-word _zsh_autosuggest_bound_2_end-of-buffer-or-history _zsh_autosuggest_bound_2_end-of-history _zsh_autosuggest_bound_2_end-of-line \ - _zsh_autosuggest_bound_2_end-of-line-hist _zsh_autosuggest_bound_2_end-of-list _zsh_autosuggest_bound_2_exchange-point-and-mark _zsh_autosuggest_bound_2_execute-last-named-cmd _zsh_autosuggest_bound_2_execute-named-cmd \ - _zsh_autosuggest_bound_2_expand-cmd-path _zsh_autosuggest_bound_2_expand-history _zsh_autosuggest_bound_2_expand-or-complete _zsh_autosuggest_bound_2_expand-or-complete-prefix _zsh_autosuggest_bound_2_expand-word \ - _zsh_autosuggest_bound_2_forward-char _zsh_autosuggest_bound_2_forward-word _zsh_autosuggest_bound_2_get-line _zsh_autosuggest_bound_2_gosmacs-transpose-chars _zsh_autosuggest_bound_2_history-beginning-search-backward \ - _zsh_autosuggest_bound_2_history-beginning-search-forward _zsh_autosuggest_bound_2_history-incremental-pattern-search-backward _zsh_autosuggest_bound_2_history-incremental-pattern-search-forward _zsh_autosuggest_bound_2_history-incremental-search-backward _zsh_autosuggest_bound_2_history-incremental-search-forward \ - _zsh_autosuggest_bound_2_history-search-backward _zsh_autosuggest_bound_2_history-search-forward _zsh_autosuggest_bound_2_history-substring-search-down _zsh_autosuggest_bound_2_history-substring-search-up _zsh_autosuggest_bound_2_infer-next-history \ - _zsh_autosuggest_bound_2_insert-last-word _zsh_autosuggest_bound_2_kill-buffer _zsh_autosuggest_bound_2_kill-line _zsh_autosuggest_bound_2_kill-region _zsh_autosuggest_bound_2_kill-whole-line \ - _zsh_autosuggest_bound_2_kill-word _zsh_autosuggest_bound_2_list-choices _zsh_autosuggest_bound_2_list-expand _zsh_autosuggest_bound_2_magic-space _zsh_autosuggest_bound_2_menu-complete \ - _zsh_autosuggest_bound_2_menu-expand-or-complete _zsh_autosuggest_bound_2_menu-select _zsh_autosuggest_bound_2_neg-argument _zsh_autosuggest_bound_2_overwrite-mode _zsh_autosuggest_bound_2_pound-insert \ - _zsh_autosuggest_bound_2_push-input _zsh_autosuggest_bound_2_push-line _zsh_autosuggest_bound_2_push-line-or-edit _zsh_autosuggest_bound_2_put-replace-selection _zsh_autosuggest_bound_2_quote-line \ - _zsh_autosuggest_bound_2_quote-region _zsh_autosuggest_bound_2_quoted-insert _zsh_autosuggest_bound_2_read-command _zsh_autosuggest_bound_2_recursive-edit _zsh_autosuggest_bound_2_redisplay \ - _zsh_autosuggest_bound_2_redo _zsh_autosuggest_bound_2_reset-prompt _zsh_autosuggest_bound_2_reverse-menu-complete _zsh_autosuggest_bound_2_select-a-blank-word _zsh_autosuggest_bound_2_select-a-shell-word \ - _zsh_autosuggest_bound_2_select-a-word _zsh_autosuggest_bound_2_select-in-blank-word _zsh_autosuggest_bound_2_select-in-shell-word _zsh_autosuggest_bound_2_select-in-word _zsh_autosuggest_bound_2_self-insert \ - _zsh_autosuggest_bound_2_self-insert-unmeta _zsh_autosuggest_bound_2_send-break _zsh_autosuggest_bound_2_set-mark-command _zsh_autosuggest_bound_2_spell-word _zsh_autosuggest_bound_2_split-undo \ - _zsh_autosuggest_bound_2_transpose-chars _zsh_autosuggest_bound_2_transpose-words _zsh_autosuggest_bound_2_undefined-key _zsh_autosuggest_bound_2_undo _zsh_autosuggest_bound_2_universal-argument \ - _zsh_autosuggest_bound_2_up-case-word _zsh_autosuggest_bound_2_up-history _zsh_autosuggest_bound_2_up-line _zsh_autosuggest_bound_2_up-line-or-history _zsh_autosuggest_bound_2_up-line-or-search \ - _zsh_autosuggest_bound_2_vi-add-eol _zsh_autosuggest_bound_2_vi-add-next _zsh_autosuggest_bound_2_vi-backward-blank-word _zsh_autosuggest_bound_2_vi-backward-blank-word-end _zsh_autosuggest_bound_2_vi-backward-char \ - _zsh_autosuggest_bound_2_vi-backward-delete-char _zsh_autosuggest_bound_2_vi-backward-kill-word _zsh_autosuggest_bound_2_vi-backward-word _zsh_autosuggest_bound_2_vi-backward-word-end _zsh_autosuggest_bound_2_vi-beginning-of-line \ - _zsh_autosuggest_bound_2_vi-caps-lock-panic _zsh_autosuggest_bound_2_vi-change _zsh_autosuggest_bound_2_vi-change-eol _zsh_autosuggest_bound_2_vi-change-whole-line _zsh_autosuggest_bound_2_vi-cmd-mode \ - _zsh_autosuggest_bound_2_vi-delete _zsh_autosuggest_bound_2_vi-delete-char _zsh_autosuggest_bound_2_vi-digit-or-beginning-of-line _zsh_autosuggest_bound_2_vi-down-line-or-history _zsh_autosuggest_bound_2_vi-end-of-line \ - _zsh_autosuggest_bound_2_vi-fetch-history _zsh_autosuggest_bound_2_vi-find-next-char _zsh_autosuggest_bound_2_vi-find-next-char-skip _zsh_autosuggest_bound_2_vi-find-prev-char _zsh_autosuggest_bound_2_vi-find-prev-char-skip \ - _zsh_autosuggest_bound_2_vi-first-non-blank _zsh_autosuggest_bound_2_vi-forward-blank-word _zsh_autosuggest_bound_2_vi-forward-blank-word-end _zsh_autosuggest_bound_2_vi-forward-char _zsh_autosuggest_bound_2_vi-forward-word \ - _zsh_autosuggest_bound_2_vi-forward-word-end _zsh_autosuggest_bound_2_vi-goto-column _zsh_autosuggest_bound_2_vi-goto-mark _zsh_autosuggest_bound_2_vi-goto-mark-line _zsh_autosuggest_bound_2_vi-history-search-backward \ - _zsh_autosuggest_bound_2_vi-history-search-forward _zsh_autosuggest_bound_2_vi-indent _zsh_autosuggest_bound_2_vi-insert _zsh_autosuggest_bound_2_vi-insert-bol _zsh_autosuggest_bound_2_vi-join \ - _zsh_autosuggest_bound_2_vi-kill-eol _zsh_autosuggest_bound_2_vi-kill-line _zsh_autosuggest_bound_2_vi-match-bracket _zsh_autosuggest_bound_2_vi-open-line-above _zsh_autosuggest_bound_2_vi-open-line-below \ - _zsh_autosuggest_bound_2_vi-oper-swap-case _zsh_autosuggest_bound_2_vi-pound-insert _zsh_autosuggest_bound_2_vi-put-after _zsh_autosuggest_bound_2_vi-put-before _zsh_autosuggest_bound_2_vi-quoted-insert \ - _zsh_autosuggest_bound_2_vi-repeat-change _zsh_autosuggest_bound_2_vi-repeat-find _zsh_autosuggest_bound_2_vi-repeat-search _zsh_autosuggest_bound_2_vi-replace _zsh_autosuggest_bound_2_vi-replace-chars \ - _zsh_autosuggest_bound_2_vi-rev-repeat-find _zsh_autosuggest_bound_2_vi-rev-repeat-search _zsh_autosuggest_bound_2_vi-set-buffer _zsh_autosuggest_bound_2_vi-set-mark _zsh_autosuggest_bound_2_vi-substitute \ - _zsh_autosuggest_bound_2_vi-swap-case _zsh_autosuggest_bound_2_vi-undo-change _zsh_autosuggest_bound_2_vi-unindent _zsh_autosuggest_bound_2_vi-up-line-or-history _zsh_autosuggest_bound_2_vi-yank \ - _zsh_autosuggest_bound_2_vi-yank-eol _zsh_autosuggest_bound_2_vi-yank-whole-line _zsh_autosuggest_bound_2_visual-line-mode _zsh_autosuggest_bound_2_visual-mode _zsh_autosuggest_bound_2_what-cursor-position \ - _zsh_autosuggest_bound_2_where-is _zsh_autosuggest_bound_2_yank-pop _zsh_autosuggest_clear _zsh_autosuggest_disable _zsh_autosuggest_enable \ - _zsh_autosuggest_escape_command _zsh_autosuggest_execute _zsh_autosuggest_feature_detect_zpty_returns_fd _zsh_autosuggest_fetch _zsh_autosuggest_get_bind_count \ - _zsh_autosuggest_highlight_apply _zsh_autosuggest_highlight_reset _zsh_autosuggest_incr_bind_count _zsh_autosuggest_invoke_original_widget _zsh_autosuggest_modify \ - _zsh_autosuggest_orig_menu-select _zsh_autosuggest_partial_accept _zsh_autosuggest_start _zsh_autosuggest_strategy_default _zsh_autosuggest_strategy_match_prev_cmd \ - _zsh_autosuggest_suggest _zsh_autosuggest_toggle _zsh_autosuggest_widget_accept _zsh_autosuggest_widget_clear _zsh_autosuggest_widget_disable \ - _zsh_autosuggest_widget_enable _zsh_autosuggest_widget_execute _zsh_autosuggest_widget_fetch _zsh_autosuggest_widget_modify _zsh_autosuggest_widget_partial_accept \ - _zsh_autosuggest_widget_suggest _zsh_autosuggest_widget_toggle _zsh_highlight _zsh_highlight_add_highlight _zsh_highlight_apply_zle_highlight \ - _zsh_highlight_bind_widgets _zsh_highlight_brackets_match _zsh_highlight_buffer_modified _zsh_highlight_call_widget _zsh_highlight_cursor_moved \ - _zsh_highlight_highlighter_brackets_paint _zsh_highlight_highlighter_brackets_predicate _zsh_highlight_highlighter_cursor_paint _zsh_highlight_highlighter_cursor_predicate _zsh_highlight_highlighter_line_paint \ - _zsh_highlight_highlighter_line_predicate _zsh_highlight_highlighter_main_paint _zsh_highlight_highlighter_main_predicate _zsh_highlight_highlighter_pattern_paint _zsh_highlight_highlighter_pattern_predicate \ - _zsh_highlight_highlighter_root_paint _zsh_highlight_highlighter_root_predicate _zsh_highlight_load_highlighters _zsh_highlight_main__is_redirection _zsh_highlight_main__precmd_hook \ - _zsh_highlight_main__resolve_alias _zsh_highlight_main__stack_pop _zsh_highlight_main__type _zsh_highlight_main_add_region_highlight _zsh_highlight_main_highlighter_check_assign \ - _zsh_highlight_main_highlighter_check_path _zsh_highlight_main_highlighter_expand_path _zsh_highlight_main_highlighter_highlight_dollar_string _zsh_highlight_main_highlighter_highlight_path_separators _zsh_highlight_main_highlighter_highlight_string \ - _zsh_highlight_pattern_highlighter_loop _zsh_highlight_preexec_hook _zsh_highlight_widget_orig-s0.0000040000-r16309-_bash_complete-word _zsh_highlight_widget_orig-s0.0000040000-r16309-_bash_list-choices _zsh_highlight_widget_orig-s0.0000040000-r16309-_complete_debug \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-_complete_help _zsh_highlight_widget_orig-s0.0000040000-r16309-_complete_tag _zsh_highlight_widget_orig-s0.0000040000-r16309-_correct_filename _zsh_highlight_widget_orig-s0.0000040000-r16309-_correct_word _zsh_highlight_widget_orig-s0.0000040000-r16309-_expand_alias \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-_expand_word _zsh_highlight_widget_orig-s0.0000040000-r16309-_history-complete-newer _zsh_highlight_widget_orig-s0.0000040000-r16309-_history-complete-older _zsh_highlight_widget_orig-s0.0000040000-r16309-_list_expansions _zsh_highlight_widget_orig-s0.0000040000-r16309-_most_recent_file \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-_next_tags _zsh_highlight_widget_orig-s0.0000040000-r16309-_read_comp _zsh_highlight_widget_orig-s0.0000040000-r16309-accept-and-hold _zsh_highlight_widget_orig-s0.0000040000-r16309-accept-and-infer-next-history _zsh_highlight_widget_orig-s0.0000040000-r16309-accept-and-menu-complete \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-accept-line _zsh_highlight_widget_orig-s0.0000040000-r16309-accept-line-and-down-history _zsh_highlight_widget_orig-s0.0000040000-r16309-accept-search _zsh_highlight_widget_orig-s0.0000040000-r16309-argument-base _zsh_highlight_widget_orig-s0.0000040000-r16309-auto-suffix-remove \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-auto-suffix-retain _zsh_highlight_widget_orig-s0.0000040000-r16309-autosuggest-accept _zsh_highlight_widget_orig-s0.0000040000-r16309-autosuggest-clear _zsh_highlight_widget_orig-s0.0000040000-r16309-autosuggest-disable _zsh_highlight_widget_orig-s0.0000040000-r16309-autosuggest-enable \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-autosuggest-execute _zsh_highlight_widget_orig-s0.0000040000-r16309-autosuggest-fetch _zsh_highlight_widget_orig-s0.0000040000-r16309-autosuggest-orig-2-complete-word _zsh_highlight_widget_orig-s0.0000040000-r16309-autosuggest-orig-2-delete-char-or-list _zsh_highlight_widget_orig-s0.0000040000-r16309-autosuggest-orig-2-expand-or-complete \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-autosuggest-orig-2-expand-or-complete-prefix _zsh_highlight_widget_orig-s0.0000040000-r16309-autosuggest-orig-2-history-substring-search-down _zsh_highlight_widget_orig-s0.0000040000-r16309-autosuggest-orig-2-history-substring-search-up _zsh_highlight_widget_orig-s0.0000040000-r16309-autosuggest-orig-2-list-choices _zsh_highlight_widget_orig-s0.0000040000-r16309-autosuggest-orig-2-menu-complete \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-autosuggest-orig-2-menu-expand-or-complete _zsh_highlight_widget_orig-s0.0000040000-r16309-autosuggest-orig-2-menu-select _zsh_highlight_widget_orig-s0.0000040000-r16309-autosuggest-orig-2-reverse-menu-complete _zsh_highlight_widget_orig-s0.0000040000-r16309-autosuggest-suggest _zsh_highlight_widget_orig-s0.0000040000-r16309-autosuggest-toggle \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-backward-char _zsh_highlight_widget_orig-s0.0000040000-r16309-backward-delete-char _zsh_highlight_widget_orig-s0.0000040000-r16309-backward-delete-word _zsh_highlight_widget_orig-s0.0000040000-r16309-backward-kill-line _zsh_highlight_widget_orig-s0.0000040000-r16309-backward-kill-word \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-backward-word _zsh_highlight_widget_orig-s0.0000040000-r16309-beginning-of-buffer-or-history _zsh_highlight_widget_orig-s0.0000040000-r16309-beginning-of-history _zsh_highlight_widget_orig-s0.0000040000-r16309-beginning-of-line _zsh_highlight_widget_orig-s0.0000040000-r16309-beginning-of-line-hist \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-capitalize-word _zsh_highlight_widget_orig-s0.0000040000-r16309-clear-screen _zsh_highlight_widget_orig-s0.0000040000-r16309-complete-word _zsh_highlight_widget_orig-s0.0000040000-r16309-copy-prev-shell-word _zsh_highlight_widget_orig-s0.0000040000-r16309-copy-prev-word \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-copy-region-as-kill _zsh_highlight_widget_orig-s0.0000040000-r16309-delete-char _zsh_highlight_widget_orig-s0.0000040000-r16309-delete-char-or-list _zsh_highlight_widget_orig-s0.0000040000-r16309-delete-word _zsh_highlight_widget_orig-s0.0000040000-r16309-describe-key-briefly \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-digit-argument _zsh_highlight_widget_orig-s0.0000040000-r16309-down-case-word _zsh_highlight_widget_orig-s0.0000040000-r16309-down-history _zsh_highlight_widget_orig-s0.0000040000-r16309-down-line _zsh_highlight_widget_orig-s0.0000040000-r16309-down-line-or-history \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-down-line-or-search _zsh_highlight_widget_orig-s0.0000040000-r16309-emacs-backward-word _zsh_highlight_widget_orig-s0.0000040000-r16309-emacs-forward-word _zsh_highlight_widget_orig-s0.0000040000-r16309-end-of-buffer-or-history _zsh_highlight_widget_orig-s0.0000040000-r16309-end-of-history \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-end-of-line _zsh_highlight_widget_orig-s0.0000040000-r16309-end-of-line-hist _zsh_highlight_widget_orig-s0.0000040000-r16309-end-of-list _zsh_highlight_widget_orig-s0.0000040000-r16309-exchange-point-and-mark _zsh_highlight_widget_orig-s0.0000040000-r16309-execute-last-named-cmd \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-execute-named-cmd _zsh_highlight_widget_orig-s0.0000040000-r16309-expand-cmd-path _zsh_highlight_widget_orig-s0.0000040000-r16309-expand-history _zsh_highlight_widget_orig-s0.0000040000-r16309-expand-or-complete _zsh_highlight_widget_orig-s0.0000040000-r16309-expand-or-complete-prefix \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-expand-word _zsh_highlight_widget_orig-s0.0000040000-r16309-forward-char _zsh_highlight_widget_orig-s0.0000040000-r16309-forward-word _zsh_highlight_widget_orig-s0.0000040000-r16309-get-line _zsh_highlight_widget_orig-s0.0000040000-r16309-gosmacs-transpose-chars \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-history-beginning-search-backward _zsh_highlight_widget_orig-s0.0000040000-r16309-history-beginning-search-forward _zsh_highlight_widget_orig-s0.0000040000-r16309-history-incremental-pattern-search-backward _zsh_highlight_widget_orig-s0.0000040000-r16309-history-incremental-pattern-search-forward _zsh_highlight_widget_orig-s0.0000040000-r16309-history-incremental-search-backward \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-history-incremental-search-forward _zsh_highlight_widget_orig-s0.0000040000-r16309-history-search-backward _zsh_highlight_widget_orig-s0.0000040000-r16309-history-search-forward _zsh_highlight_widget_orig-s0.0000040000-r16309-history-substring-search-down _zsh_highlight_widget_orig-s0.0000040000-r16309-history-substring-search-up \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-infer-next-history _zsh_highlight_widget_orig-s0.0000040000-r16309-insert-last-word _zsh_highlight_widget_orig-s0.0000040000-r16309-kill-buffer _zsh_highlight_widget_orig-s0.0000040000-r16309-kill-line _zsh_highlight_widget_orig-s0.0000040000-r16309-kill-region \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-kill-whole-line _zsh_highlight_widget_orig-s0.0000040000-r16309-kill-word _zsh_highlight_widget_orig-s0.0000040000-r16309-list-choices _zsh_highlight_widget_orig-s0.0000040000-r16309-list-expand _zsh_highlight_widget_orig-s0.0000040000-r16309-magic-space \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-menu-complete _zsh_highlight_widget_orig-s0.0000040000-r16309-menu-expand-or-complete _zsh_highlight_widget_orig-s0.0000040000-r16309-menu-select _zsh_highlight_widget_orig-s0.0000040000-r16309-neg-argument _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-_bash_complete-word \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-_bash_list-choices _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-_complete_debug _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-_complete_help _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-_complete_tag _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-_correct_filename \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-_correct_word _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-_expand_alias _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-_expand_word _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-_history-complete-newer _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-_history-complete-older \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-_list_expansions _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-_most_recent_file _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-_next_tags _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-_read_comp _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-accept-and-hold \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-accept-and-infer-next-history _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-accept-and-menu-complete _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-accept-line _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-accept-line-and-down-history _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-accept-search \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-argument-base _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-auto-suffix-remove _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-auto-suffix-retain _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-autosuggest-accept _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-autosuggest-clear \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-autosuggest-disable _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-autosuggest-enable _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-autosuggest-execute _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-autosuggest-fetch _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-autosuggest-orig-1-complete-word \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-autosuggest-orig-1-delete-char-or-list _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-autosuggest-orig-1-expand-or-complete _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-autosuggest-orig-1-expand-or-complete-prefix _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-autosuggest-orig-1-history-substring-search-down _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-autosuggest-orig-1-history-substring-search-up \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-autosuggest-orig-1-list-choices _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-autosuggest-orig-1-menu-complete _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-autosuggest-orig-1-menu-expand-or-complete _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-autosuggest-orig-1-menu-select _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-autosuggest-orig-1-reverse-menu-complete \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-autosuggest-suggest _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-autosuggest-toggle _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-backward-char _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-backward-delete-char _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-backward-delete-word \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-backward-kill-line _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-backward-kill-word _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-backward-word _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-beginning-of-buffer-or-history _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-beginning-of-history \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-beginning-of-line _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-beginning-of-line-hist _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-capitalize-word _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-clear-screen _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-complete-word \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-copy-prev-shell-word _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-copy-prev-word _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-copy-region-as-kill _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-delete-char _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-delete-char-or-list \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-delete-word _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-describe-key-briefly _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-digit-argument _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-down-case-word _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-down-history \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-down-line _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-down-line-or-history _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-down-line-or-search _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-emacs-backward-word _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-emacs-forward-word \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-end-of-buffer-or-history _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-end-of-history _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-end-of-line _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-end-of-line-hist _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-end-of-list \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-exchange-point-and-mark _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-execute-last-named-cmd _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-execute-named-cmd _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-expand-cmd-path _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-expand-history \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-expand-or-complete _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-expand-or-complete-prefix _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-expand-word _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-forward-char _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-forward-word \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-get-line _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-gosmacs-transpose-chars _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-history-beginning-search-backward _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-history-beginning-search-forward _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-history-incremental-pattern-search-backward \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-history-incremental-pattern-search-forward _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-history-incremental-search-backward _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-history-incremental-search-forward _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-history-search-backward _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-history-search-forward \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-history-substring-search-down _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-history-substring-search-up _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-infer-next-history _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-insert-last-word _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-kill-buffer \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-kill-line _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-kill-region _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-kill-whole-line _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-kill-word _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-list-choices \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-list-expand _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-magic-space _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-menu-complete _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-menu-expand-or-complete _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-menu-select \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-neg-argument _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-overwrite-mode _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-pound-insert _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-push-input _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-push-line \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-push-line-or-edit _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-put-replace-selection _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-quote-line _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-quote-region _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-quoted-insert \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-read-command _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-recursive-edit _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-redisplay _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-redo _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-reset-prompt \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-reverse-menu-complete _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-select-a-blank-word _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-select-a-shell-word _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-select-a-word _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-select-in-blank-word \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-select-in-shell-word _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-select-in-word _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-self-insert _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-self-insert-unmeta _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-send-break \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-set-mark-command _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-spell-word _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-split-undo _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-transpose-chars _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-transpose-words \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-undefined-key _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-undo _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-universal-argument _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-up-case-word _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-up-history \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-up-line _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-up-line-or-history _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-up-line-or-search _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-add-eol _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-add-next \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-backward-blank-word _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-backward-blank-word-end _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-backward-char _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-backward-delete-char _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-backward-kill-word \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-backward-word _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-backward-word-end _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-beginning-of-line _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-caps-lock-panic _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-change \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-change-eol _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-change-whole-line _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-cmd-mode _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-delete _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-delete-char \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-digit-or-beginning-of-line _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-down-line-or-history _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-end-of-line _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-fetch-history _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-find-next-char \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-find-next-char-skip _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-find-prev-char _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-find-prev-char-skip _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-first-non-blank _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-forward-blank-word \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-forward-blank-word-end _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-forward-char _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-forward-word _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-forward-word-end _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-goto-column \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-goto-mark _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-goto-mark-line _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-history-search-backward _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-history-search-forward _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-indent \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-insert _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-insert-bol _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-join _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-kill-eol _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-kill-line \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-match-bracket _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-open-line-above _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-open-line-below _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-oper-swap-case _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-pound-insert \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-put-after _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-put-before _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-quoted-insert _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-repeat-change _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-repeat-find \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-repeat-search _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-replace _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-replace-chars _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-rev-repeat-find _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-rev-repeat-search \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-set-buffer _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-set-mark _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-substitute _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-swap-case _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-undo-change \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-unindent _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-up-line-or-history _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-yank _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-yank-eol _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-vi-yank-whole-line \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-visual-line-mode _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-visual-mode _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-what-cursor-position _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-where-is _zsh_highlight_widget_orig-s0.0000040000-r16309-orig-s0.0000070000-r16561-yank-pop \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-overwrite-mode _zsh_highlight_widget_orig-s0.0000040000-r16309-pound-insert _zsh_highlight_widget_orig-s0.0000040000-r16309-push-input _zsh_highlight_widget_orig-s0.0000040000-r16309-push-line _zsh_highlight_widget_orig-s0.0000040000-r16309-push-line-or-edit \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-put-replace-selection _zsh_highlight_widget_orig-s0.0000040000-r16309-quote-line _zsh_highlight_widget_orig-s0.0000040000-r16309-quote-region _zsh_highlight_widget_orig-s0.0000040000-r16309-quoted-insert _zsh_highlight_widget_orig-s0.0000040000-r16309-read-command \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-recursive-edit _zsh_highlight_widget_orig-s0.0000040000-r16309-redisplay _zsh_highlight_widget_orig-s0.0000040000-r16309-redo _zsh_highlight_widget_orig-s0.0000040000-r16309-reset-prompt _zsh_highlight_widget_orig-s0.0000040000-r16309-reverse-menu-complete \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-select-a-blank-word _zsh_highlight_widget_orig-s0.0000040000-r16309-select-a-shell-word _zsh_highlight_widget_orig-s0.0000040000-r16309-select-a-word _zsh_highlight_widget_orig-s0.0000040000-r16309-select-in-blank-word _zsh_highlight_widget_orig-s0.0000040000-r16309-select-in-shell-word \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-select-in-word _zsh_highlight_widget_orig-s0.0000040000-r16309-self-insert _zsh_highlight_widget_orig-s0.0000040000-r16309-self-insert-unmeta _zsh_highlight_widget_orig-s0.0000040000-r16309-send-break _zsh_highlight_widget_orig-s0.0000040000-r16309-set-mark-command \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-spell-word _zsh_highlight_widget_orig-s0.0000040000-r16309-split-undo _zsh_highlight_widget_orig-s0.0000040000-r16309-transpose-chars _zsh_highlight_widget_orig-s0.0000040000-r16309-transpose-words _zsh_highlight_widget_orig-s0.0000040000-r16309-undefined-key \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-undo _zsh_highlight_widget_orig-s0.0000040000-r16309-universal-argument _zsh_highlight_widget_orig-s0.0000040000-r16309-up-case-word _zsh_highlight_widget_orig-s0.0000040000-r16309-up-history _zsh_highlight_widget_orig-s0.0000040000-r16309-up-line \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-up-line-or-history _zsh_highlight_widget_orig-s0.0000040000-r16309-up-line-or-search _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-add-eol _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-add-next _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-backward-blank-word \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-backward-blank-word-end _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-backward-char _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-backward-delete-char _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-backward-kill-word _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-backward-word \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-backward-word-end _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-beginning-of-line _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-caps-lock-panic _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-change _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-change-eol \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-change-whole-line _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-cmd-mode _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-delete _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-delete-char _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-digit-or-beginning-of-line \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-down-line-or-history _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-end-of-line _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-fetch-history _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-find-next-char _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-find-next-char-skip \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-find-prev-char _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-find-prev-char-skip _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-first-non-blank _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-forward-blank-word _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-forward-blank-word-end \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-forward-char _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-forward-word _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-forward-word-end _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-goto-column _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-goto-mark \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-goto-mark-line _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-history-search-backward _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-history-search-forward _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-indent _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-insert \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-insert-bol _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-join _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-kill-eol _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-kill-line _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-match-bracket \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-open-line-above _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-open-line-below _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-oper-swap-case _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-pound-insert _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-put-after \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-put-before _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-quoted-insert _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-repeat-change _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-repeat-find _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-repeat-search \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-replace _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-replace-chars _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-rev-repeat-find _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-rev-repeat-search _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-set-buffer \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-set-mark _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-substitute _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-swap-case _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-undo-change _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-unindent \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-up-line-or-history _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-yank _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-yank-eol _zsh_highlight_widget_orig-s0.0000040000-r16309-vi-yank-whole-line _zsh_highlight_widget_orig-s0.0000040000-r16309-visual-line-mode \ - _zsh_highlight_widget_orig-s0.0000040000-r16309-visual-mode _zsh_highlight_widget_orig-s0.0000040000-r16309-what-cursor-position _zsh_highlight_widget_orig-s0.0000040000-r16309-where-is _zsh_highlight_widget_orig-s0.0000040000-r16309-yank-pop _zsh_highlight_widget_orig-s0.0000040000-r3119-_bash_complete-word \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-_bash_list-choices _zsh_highlight_widget_orig-s0.0000040000-r3119-_complete_debug _zsh_highlight_widget_orig-s0.0000040000-r3119-_complete_help _zsh_highlight_widget_orig-s0.0000040000-r3119-_complete_tag _zsh_highlight_widget_orig-s0.0000040000-r3119-_correct_filename \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-_correct_word _zsh_highlight_widget_orig-s0.0000040000-r3119-_expand_alias _zsh_highlight_widget_orig-s0.0000040000-r3119-_expand_word _zsh_highlight_widget_orig-s0.0000040000-r3119-_history-complete-newer _zsh_highlight_widget_orig-s0.0000040000-r3119-_history-complete-older \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-_list_expansions _zsh_highlight_widget_orig-s0.0000040000-r3119-_most_recent_file _zsh_highlight_widget_orig-s0.0000040000-r3119-_next_tags _zsh_highlight_widget_orig-s0.0000040000-r3119-_read_comp _zsh_highlight_widget_orig-s0.0000040000-r3119-accept-and-hold \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-accept-and-infer-next-history _zsh_highlight_widget_orig-s0.0000040000-r3119-accept-and-menu-complete _zsh_highlight_widget_orig-s0.0000040000-r3119-accept-line _zsh_highlight_widget_orig-s0.0000040000-r3119-accept-line-and-down-history _zsh_highlight_widget_orig-s0.0000040000-r3119-accept-search \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-argument-base _zsh_highlight_widget_orig-s0.0000040000-r3119-auto-suffix-remove _zsh_highlight_widget_orig-s0.0000040000-r3119-auto-suffix-retain _zsh_highlight_widget_orig-s0.0000040000-r3119-backward-char _zsh_highlight_widget_orig-s0.0000040000-r3119-backward-delete-char \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-backward-delete-word _zsh_highlight_widget_orig-s0.0000040000-r3119-backward-kill-line _zsh_highlight_widget_orig-s0.0000040000-r3119-backward-kill-word _zsh_highlight_widget_orig-s0.0000040000-r3119-backward-word _zsh_highlight_widget_orig-s0.0000040000-r3119-beginning-of-buffer-or-history \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-beginning-of-history _zsh_highlight_widget_orig-s0.0000040000-r3119-beginning-of-line _zsh_highlight_widget_orig-s0.0000040000-r3119-beginning-of-line-hist _zsh_highlight_widget_orig-s0.0000040000-r3119-capitalize-word _zsh_highlight_widget_orig-s0.0000040000-r3119-clear-screen \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-complete-word _zsh_highlight_widget_orig-s0.0000040000-r3119-copy-prev-shell-word _zsh_highlight_widget_orig-s0.0000040000-r3119-copy-prev-word _zsh_highlight_widget_orig-s0.0000040000-r3119-copy-region-as-kill _zsh_highlight_widget_orig-s0.0000040000-r3119-delete-char \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-delete-char-or-list _zsh_highlight_widget_orig-s0.0000040000-r3119-delete-word _zsh_highlight_widget_orig-s0.0000040000-r3119-describe-key-briefly _zsh_highlight_widget_orig-s0.0000040000-r3119-digit-argument _zsh_highlight_widget_orig-s0.0000040000-r3119-down-case-word \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-down-history _zsh_highlight_widget_orig-s0.0000040000-r3119-down-line _zsh_highlight_widget_orig-s0.0000040000-r3119-down-line-or-history _zsh_highlight_widget_orig-s0.0000040000-r3119-down-line-or-search _zsh_highlight_widget_orig-s0.0000040000-r3119-emacs-backward-word \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-emacs-forward-word _zsh_highlight_widget_orig-s0.0000040000-r3119-end-of-buffer-or-history _zsh_highlight_widget_orig-s0.0000040000-r3119-end-of-history _zsh_highlight_widget_orig-s0.0000040000-r3119-end-of-line _zsh_highlight_widget_orig-s0.0000040000-r3119-end-of-line-hist \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-end-of-list _zsh_highlight_widget_orig-s0.0000040000-r3119-exchange-point-and-mark _zsh_highlight_widget_orig-s0.0000040000-r3119-execute-last-named-cmd _zsh_highlight_widget_orig-s0.0000040000-r3119-execute-named-cmd _zsh_highlight_widget_orig-s0.0000040000-r3119-expand-cmd-path \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-expand-history _zsh_highlight_widget_orig-s0.0000040000-r3119-expand-or-complete _zsh_highlight_widget_orig-s0.0000040000-r3119-expand-or-complete-prefix _zsh_highlight_widget_orig-s0.0000040000-r3119-expand-word _zsh_highlight_widget_orig-s0.0000040000-r3119-forward-char \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-forward-word _zsh_highlight_widget_orig-s0.0000040000-r3119-get-line _zsh_highlight_widget_orig-s0.0000040000-r3119-gosmacs-transpose-chars _zsh_highlight_widget_orig-s0.0000040000-r3119-history-beginning-search-backward _zsh_highlight_widget_orig-s0.0000040000-r3119-history-beginning-search-forward \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-history-incremental-pattern-search-backward _zsh_highlight_widget_orig-s0.0000040000-r3119-history-incremental-pattern-search-forward _zsh_highlight_widget_orig-s0.0000040000-r3119-history-incremental-search-backward _zsh_highlight_widget_orig-s0.0000040000-r3119-history-incremental-search-forward _zsh_highlight_widget_orig-s0.0000040000-r3119-history-search-backward \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-history-search-forward _zsh_highlight_widget_orig-s0.0000040000-r3119-infer-next-history _zsh_highlight_widget_orig-s0.0000040000-r3119-insert-last-word _zsh_highlight_widget_orig-s0.0000040000-r3119-kill-buffer _zsh_highlight_widget_orig-s0.0000040000-r3119-kill-line \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-kill-region _zsh_highlight_widget_orig-s0.0000040000-r3119-kill-whole-line _zsh_highlight_widget_orig-s0.0000040000-r3119-kill-word _zsh_highlight_widget_orig-s0.0000040000-r3119-list-choices _zsh_highlight_widget_orig-s0.0000040000-r3119-list-expand \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-magic-space _zsh_highlight_widget_orig-s0.0000040000-r3119-menu-complete _zsh_highlight_widget_orig-s0.0000040000-r3119-menu-expand-or-complete _zsh_highlight_widget_orig-s0.0000040000-r3119-neg-argument _zsh_highlight_widget_orig-s0.0000040000-r3119-overwrite-mode \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-pound-insert _zsh_highlight_widget_orig-s0.0000040000-r3119-push-input _zsh_highlight_widget_orig-s0.0000040000-r3119-push-line _zsh_highlight_widget_orig-s0.0000040000-r3119-push-line-or-edit _zsh_highlight_widget_orig-s0.0000040000-r3119-put-replace-selection \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-quote-line _zsh_highlight_widget_orig-s0.0000040000-r3119-quote-region _zsh_highlight_widget_orig-s0.0000040000-r3119-quoted-insert _zsh_highlight_widget_orig-s0.0000040000-r3119-read-command _zsh_highlight_widget_orig-s0.0000040000-r3119-recursive-edit \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-redisplay _zsh_highlight_widget_orig-s0.0000040000-r3119-redo _zsh_highlight_widget_orig-s0.0000040000-r3119-reset-prompt _zsh_highlight_widget_orig-s0.0000040000-r3119-reverse-menu-complete _zsh_highlight_widget_orig-s0.0000040000-r3119-select-a-blank-word \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-select-a-shell-word _zsh_highlight_widget_orig-s0.0000040000-r3119-select-a-word _zsh_highlight_widget_orig-s0.0000040000-r3119-select-in-blank-word _zsh_highlight_widget_orig-s0.0000040000-r3119-select-in-shell-word _zsh_highlight_widget_orig-s0.0000040000-r3119-select-in-word \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-self-insert _zsh_highlight_widget_orig-s0.0000040000-r3119-self-insert-unmeta _zsh_highlight_widget_orig-s0.0000040000-r3119-send-break _zsh_highlight_widget_orig-s0.0000040000-r3119-set-mark-command _zsh_highlight_widget_orig-s0.0000040000-r3119-spell-word \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-split-undo _zsh_highlight_widget_orig-s0.0000040000-r3119-transpose-chars _zsh_highlight_widget_orig-s0.0000040000-r3119-transpose-words _zsh_highlight_widget_orig-s0.0000040000-r3119-undefined-key _zsh_highlight_widget_orig-s0.0000040000-r3119-undo \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-universal-argument _zsh_highlight_widget_orig-s0.0000040000-r3119-up-case-word _zsh_highlight_widget_orig-s0.0000040000-r3119-up-history _zsh_highlight_widget_orig-s0.0000040000-r3119-up-line _zsh_highlight_widget_orig-s0.0000040000-r3119-up-line-or-history \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-up-line-or-search _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-add-eol _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-add-next _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-backward-blank-word _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-backward-blank-word-end \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-backward-char _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-backward-delete-char _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-backward-kill-word _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-backward-word _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-backward-word-end \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-beginning-of-line _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-caps-lock-panic _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-change _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-change-eol _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-change-whole-line \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-cmd-mode _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-delete _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-delete-char _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-digit-or-beginning-of-line _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-down-line-or-history \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-end-of-line _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-fetch-history _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-find-next-char _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-find-next-char-skip _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-find-prev-char \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-find-prev-char-skip _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-first-non-blank _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-forward-blank-word _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-forward-blank-word-end _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-forward-char \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-forward-word _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-forward-word-end _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-goto-column _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-goto-mark _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-goto-mark-line \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-history-search-backward _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-history-search-forward _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-indent _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-insert _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-insert-bol \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-join _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-kill-eol _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-kill-line _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-match-bracket _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-open-line-above \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-open-line-below _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-oper-swap-case _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-pound-insert _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-put-after _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-put-before \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-quoted-insert _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-repeat-change _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-repeat-find _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-repeat-search _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-replace \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-replace-chars _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-rev-repeat-find _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-rev-repeat-search _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-set-buffer _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-set-mark \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-substitute _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-swap-case _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-undo-change _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-unindent _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-up-line-or-history \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-yank _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-yank-eol _zsh_highlight_widget_orig-s0.0000040000-r3119-vi-yank-whole-line _zsh_highlight_widget_orig-s0.0000040000-r3119-visual-line-mode _zsh_highlight_widget_orig-s0.0000040000-r3119-visual-mode \ - _zsh_highlight_widget_orig-s0.0000040000-r3119-what-cursor-position _zsh_highlight_widget_orig-s0.0000040000-r3119-where-is _zsh_highlight_widget_orig-s0.0000040000-r3119-yank-pop _zsh_highlight_widget_orig-s0.0000060000-r1521-accept-and-hold _zsh_highlight_widget_orig-s0.0000060000-r1521-accept-and-infer-next-history \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-accept-and-menu-complete _zsh_highlight_widget_orig-s0.0000060000-r1521-accept-line _zsh_highlight_widget_orig-s0.0000060000-r1521-accept-line-and-down-history _zsh_highlight_widget_orig-s0.0000060000-r1521-accept-search _zsh_highlight_widget_orig-s0.0000060000-r1521-argument-base \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-auto-suffix-remove _zsh_highlight_widget_orig-s0.0000060000-r1521-auto-suffix-retain _zsh_highlight_widget_orig-s0.0000060000-r1521-backward-char _zsh_highlight_widget_orig-s0.0000060000-r1521-backward-delete-char _zsh_highlight_widget_orig-s0.0000060000-r1521-backward-delete-word \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-backward-kill-line _zsh_highlight_widget_orig-s0.0000060000-r1521-backward-kill-word _zsh_highlight_widget_orig-s0.0000060000-r1521-backward-word _zsh_highlight_widget_orig-s0.0000060000-r1521-beginning-of-buffer-or-history _zsh_highlight_widget_orig-s0.0000060000-r1521-beginning-of-history \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-beginning-of-line _zsh_highlight_widget_orig-s0.0000060000-r1521-beginning-of-line-hist _zsh_highlight_widget_orig-s0.0000060000-r1521-capitalize-word _zsh_highlight_widget_orig-s0.0000060000-r1521-clear-screen _zsh_highlight_widget_orig-s0.0000060000-r1521-complete-word \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-copy-prev-shell-word _zsh_highlight_widget_orig-s0.0000060000-r1521-copy-prev-word _zsh_highlight_widget_orig-s0.0000060000-r1521-copy-region-as-kill _zsh_highlight_widget_orig-s0.0000060000-r1521-delete-char _zsh_highlight_widget_orig-s0.0000060000-r1521-delete-char-or-list \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-delete-word _zsh_highlight_widget_orig-s0.0000060000-r1521-describe-key-briefly _zsh_highlight_widget_orig-s0.0000060000-r1521-digit-argument _zsh_highlight_widget_orig-s0.0000060000-r1521-down-case-word _zsh_highlight_widget_orig-s0.0000060000-r1521-down-history \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-down-line _zsh_highlight_widget_orig-s0.0000060000-r1521-down-line-or-history _zsh_highlight_widget_orig-s0.0000060000-r1521-down-line-or-search _zsh_highlight_widget_orig-s0.0000060000-r1521-emacs-backward-word _zsh_highlight_widget_orig-s0.0000060000-r1521-emacs-forward-word \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-end-of-buffer-or-history _zsh_highlight_widget_orig-s0.0000060000-r1521-end-of-history _zsh_highlight_widget_orig-s0.0000060000-r1521-end-of-line _zsh_highlight_widget_orig-s0.0000060000-r1521-end-of-line-hist _zsh_highlight_widget_orig-s0.0000060000-r1521-end-of-list \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-exchange-point-and-mark _zsh_highlight_widget_orig-s0.0000060000-r1521-execute-last-named-cmd _zsh_highlight_widget_orig-s0.0000060000-r1521-execute-named-cmd _zsh_highlight_widget_orig-s0.0000060000-r1521-expand-cmd-path _zsh_highlight_widget_orig-s0.0000060000-r1521-expand-history \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-expand-or-complete _zsh_highlight_widget_orig-s0.0000060000-r1521-expand-or-complete-prefix _zsh_highlight_widget_orig-s0.0000060000-r1521-expand-word _zsh_highlight_widget_orig-s0.0000060000-r1521-forward-char _zsh_highlight_widget_orig-s0.0000060000-r1521-forward-word \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-get-line _zsh_highlight_widget_orig-s0.0000060000-r1521-gosmacs-transpose-chars _zsh_highlight_widget_orig-s0.0000060000-r1521-history-beginning-search-backward _zsh_highlight_widget_orig-s0.0000060000-r1521-history-beginning-search-forward _zsh_highlight_widget_orig-s0.0000060000-r1521-history-incremental-pattern-search-backward \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-history-incremental-pattern-search-forward _zsh_highlight_widget_orig-s0.0000060000-r1521-history-incremental-search-backward _zsh_highlight_widget_orig-s0.0000060000-r1521-history-incremental-search-forward _zsh_highlight_widget_orig-s0.0000060000-r1521-history-search-backward _zsh_highlight_widget_orig-s0.0000060000-r1521-history-search-forward \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-infer-next-history _zsh_highlight_widget_orig-s0.0000060000-r1521-insert-last-word _zsh_highlight_widget_orig-s0.0000060000-r1521-kill-buffer _zsh_highlight_widget_orig-s0.0000060000-r1521-kill-line _zsh_highlight_widget_orig-s0.0000060000-r1521-kill-region \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-kill-whole-line _zsh_highlight_widget_orig-s0.0000060000-r1521-kill-word _zsh_highlight_widget_orig-s0.0000060000-r1521-list-choices _zsh_highlight_widget_orig-s0.0000060000-r1521-list-expand _zsh_highlight_widget_orig-s0.0000060000-r1521-magic-space \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-menu-complete _zsh_highlight_widget_orig-s0.0000060000-r1521-menu-expand-or-complete _zsh_highlight_widget_orig-s0.0000060000-r1521-neg-argument _zsh_highlight_widget_orig-s0.0000060000-r1521-overwrite-mode _zsh_highlight_widget_orig-s0.0000060000-r1521-pound-insert \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-push-input _zsh_highlight_widget_orig-s0.0000060000-r1521-push-line _zsh_highlight_widget_orig-s0.0000060000-r1521-push-line-or-edit _zsh_highlight_widget_orig-s0.0000060000-r1521-put-replace-selection _zsh_highlight_widget_orig-s0.0000060000-r1521-quote-line \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-quote-region _zsh_highlight_widget_orig-s0.0000060000-r1521-quoted-insert _zsh_highlight_widget_orig-s0.0000060000-r1521-read-command _zsh_highlight_widget_orig-s0.0000060000-r1521-recursive-edit _zsh_highlight_widget_orig-s0.0000060000-r1521-redisplay \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-redo _zsh_highlight_widget_orig-s0.0000060000-r1521-reset-prompt _zsh_highlight_widget_orig-s0.0000060000-r1521-reverse-menu-complete _zsh_highlight_widget_orig-s0.0000060000-r1521-select-a-blank-word _zsh_highlight_widget_orig-s0.0000060000-r1521-select-a-shell-word \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-select-a-word _zsh_highlight_widget_orig-s0.0000060000-r1521-select-in-blank-word _zsh_highlight_widget_orig-s0.0000060000-r1521-select-in-shell-word _zsh_highlight_widget_orig-s0.0000060000-r1521-select-in-word _zsh_highlight_widget_orig-s0.0000060000-r1521-self-insert \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-self-insert-unmeta _zsh_highlight_widget_orig-s0.0000060000-r1521-send-break _zsh_highlight_widget_orig-s0.0000060000-r1521-set-mark-command _zsh_highlight_widget_orig-s0.0000060000-r1521-spell-word _zsh_highlight_widget_orig-s0.0000060000-r1521-split-undo \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-transpose-chars _zsh_highlight_widget_orig-s0.0000060000-r1521-transpose-words _zsh_highlight_widget_orig-s0.0000060000-r1521-undefined-key _zsh_highlight_widget_orig-s0.0000060000-r1521-undo _zsh_highlight_widget_orig-s0.0000060000-r1521-universal-argument \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-up-case-word _zsh_highlight_widget_orig-s0.0000060000-r1521-up-history _zsh_highlight_widget_orig-s0.0000060000-r1521-up-line _zsh_highlight_widget_orig-s0.0000060000-r1521-up-line-or-history _zsh_highlight_widget_orig-s0.0000060000-r1521-up-line-or-search \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-add-eol _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-add-next _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-backward-blank-word _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-backward-blank-word-end _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-backward-char \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-backward-delete-char _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-backward-kill-word _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-backward-word _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-backward-word-end _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-beginning-of-line \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-caps-lock-panic _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-change _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-change-eol _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-change-whole-line _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-cmd-mode \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-delete _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-delete-char _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-digit-or-beginning-of-line _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-down-line-or-history _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-end-of-line \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-fetch-history _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-find-next-char _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-find-next-char-skip _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-find-prev-char _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-find-prev-char-skip \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-first-non-blank _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-forward-blank-word _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-forward-blank-word-end _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-forward-char _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-forward-word \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-forward-word-end _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-goto-column _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-goto-mark _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-goto-mark-line _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-history-search-backward \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-history-search-forward _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-indent _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-insert _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-insert-bol _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-join \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-kill-eol _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-kill-line _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-match-bracket _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-open-line-above _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-open-line-below \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-oper-swap-case _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-pound-insert _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-put-after _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-put-before _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-quoted-insert \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-repeat-change _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-repeat-find _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-repeat-search _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-replace _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-replace-chars \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-rev-repeat-find _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-rev-repeat-search _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-set-buffer _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-set-mark _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-substitute \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-swap-case _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-undo-change _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-unindent _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-up-line-or-history _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-yank \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-yank-eol _zsh_highlight_widget_orig-s0.0000060000-r1521-vi-yank-whole-line _zsh_highlight_widget_orig-s0.0000060000-r1521-visual-line-mode _zsh_highlight_widget_orig-s0.0000060000-r1521-visual-mode _zsh_highlight_widget_orig-s0.0000060000-r1521-what-cursor-position \ - _zsh_highlight_widget_orig-s0.0000060000-r1521-where-is _zsh_highlight_widget_orig-s0.0000060000-r1521-yank-pop _zsh_highlight_widget_orig-s0.0000070000-r16561-_bash_complete-word _zsh_highlight_widget_orig-s0.0000070000-r16561-_bash_list-choices _zsh_highlight_widget_orig-s0.0000070000-r16561-_complete_debug \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-_complete_help _zsh_highlight_widget_orig-s0.0000070000-r16561-_complete_tag _zsh_highlight_widget_orig-s0.0000070000-r16561-_correct_filename _zsh_highlight_widget_orig-s0.0000070000-r16561-_correct_word _zsh_highlight_widget_orig-s0.0000070000-r16561-_expand_alias \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-_expand_word _zsh_highlight_widget_orig-s0.0000070000-r16561-_history-complete-newer _zsh_highlight_widget_orig-s0.0000070000-r16561-_history-complete-older _zsh_highlight_widget_orig-s0.0000070000-r16561-_list_expansions _zsh_highlight_widget_orig-s0.0000070000-r16561-_most_recent_file \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-_next_tags _zsh_highlight_widget_orig-s0.0000070000-r16561-_read_comp _zsh_highlight_widget_orig-s0.0000070000-r16561-accept-and-hold _zsh_highlight_widget_orig-s0.0000070000-r16561-accept-and-infer-next-history _zsh_highlight_widget_orig-s0.0000070000-r16561-accept-and-menu-complete \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-accept-line _zsh_highlight_widget_orig-s0.0000070000-r16561-accept-line-and-down-history _zsh_highlight_widget_orig-s0.0000070000-r16561-accept-search _zsh_highlight_widget_orig-s0.0000070000-r16561-argument-base _zsh_highlight_widget_orig-s0.0000070000-r16561-auto-suffix-remove \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-auto-suffix-retain _zsh_highlight_widget_orig-s0.0000070000-r16561-autosuggest-accept _zsh_highlight_widget_orig-s0.0000070000-r16561-autosuggest-clear _zsh_highlight_widget_orig-s0.0000070000-r16561-autosuggest-disable _zsh_highlight_widget_orig-s0.0000070000-r16561-autosuggest-enable \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-autosuggest-execute _zsh_highlight_widget_orig-s0.0000070000-r16561-autosuggest-fetch _zsh_highlight_widget_orig-s0.0000070000-r16561-autosuggest-orig-1-complete-word _zsh_highlight_widget_orig-s0.0000070000-r16561-autosuggest-orig-1-delete-char-or-list _zsh_highlight_widget_orig-s0.0000070000-r16561-autosuggest-orig-1-expand-or-complete \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-autosuggest-orig-1-expand-or-complete-prefix _zsh_highlight_widget_orig-s0.0000070000-r16561-autosuggest-orig-1-history-substring-search-down _zsh_highlight_widget_orig-s0.0000070000-r16561-autosuggest-orig-1-history-substring-search-up _zsh_highlight_widget_orig-s0.0000070000-r16561-autosuggest-orig-1-list-choices _zsh_highlight_widget_orig-s0.0000070000-r16561-autosuggest-orig-1-menu-complete \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-autosuggest-orig-1-menu-expand-or-complete _zsh_highlight_widget_orig-s0.0000070000-r16561-autosuggest-orig-1-menu-select _zsh_highlight_widget_orig-s0.0000070000-r16561-autosuggest-orig-1-reverse-menu-complete _zsh_highlight_widget_orig-s0.0000070000-r16561-autosuggest-suggest _zsh_highlight_widget_orig-s0.0000070000-r16561-autosuggest-toggle \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-backward-char _zsh_highlight_widget_orig-s0.0000070000-r16561-backward-delete-char _zsh_highlight_widget_orig-s0.0000070000-r16561-backward-delete-word _zsh_highlight_widget_orig-s0.0000070000-r16561-backward-kill-line _zsh_highlight_widget_orig-s0.0000070000-r16561-backward-kill-word \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-backward-word _zsh_highlight_widget_orig-s0.0000070000-r16561-beginning-of-buffer-or-history _zsh_highlight_widget_orig-s0.0000070000-r16561-beginning-of-history _zsh_highlight_widget_orig-s0.0000070000-r16561-beginning-of-line _zsh_highlight_widget_orig-s0.0000070000-r16561-beginning-of-line-hist \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-capitalize-word _zsh_highlight_widget_orig-s0.0000070000-r16561-clear-screen _zsh_highlight_widget_orig-s0.0000070000-r16561-complete-word _zsh_highlight_widget_orig-s0.0000070000-r16561-copy-prev-shell-word _zsh_highlight_widget_orig-s0.0000070000-r16561-copy-prev-word \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-copy-region-as-kill _zsh_highlight_widget_orig-s0.0000070000-r16561-delete-char _zsh_highlight_widget_orig-s0.0000070000-r16561-delete-char-or-list _zsh_highlight_widget_orig-s0.0000070000-r16561-delete-word _zsh_highlight_widget_orig-s0.0000070000-r16561-describe-key-briefly \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-digit-argument _zsh_highlight_widget_orig-s0.0000070000-r16561-down-case-word _zsh_highlight_widget_orig-s0.0000070000-r16561-down-history _zsh_highlight_widget_orig-s0.0000070000-r16561-down-line _zsh_highlight_widget_orig-s0.0000070000-r16561-down-line-or-history \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-down-line-or-search _zsh_highlight_widget_orig-s0.0000070000-r16561-emacs-backward-word _zsh_highlight_widget_orig-s0.0000070000-r16561-emacs-forward-word _zsh_highlight_widget_orig-s0.0000070000-r16561-end-of-buffer-or-history _zsh_highlight_widget_orig-s0.0000070000-r16561-end-of-history \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-end-of-line _zsh_highlight_widget_orig-s0.0000070000-r16561-end-of-line-hist _zsh_highlight_widget_orig-s0.0000070000-r16561-end-of-list _zsh_highlight_widget_orig-s0.0000070000-r16561-exchange-point-and-mark _zsh_highlight_widget_orig-s0.0000070000-r16561-execute-last-named-cmd \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-execute-named-cmd _zsh_highlight_widget_orig-s0.0000070000-r16561-expand-cmd-path _zsh_highlight_widget_orig-s0.0000070000-r16561-expand-history _zsh_highlight_widget_orig-s0.0000070000-r16561-expand-or-complete _zsh_highlight_widget_orig-s0.0000070000-r16561-expand-or-complete-prefix \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-expand-word _zsh_highlight_widget_orig-s0.0000070000-r16561-forward-char _zsh_highlight_widget_orig-s0.0000070000-r16561-forward-word _zsh_highlight_widget_orig-s0.0000070000-r16561-get-line _zsh_highlight_widget_orig-s0.0000070000-r16561-gosmacs-transpose-chars \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-history-beginning-search-backward _zsh_highlight_widget_orig-s0.0000070000-r16561-history-beginning-search-forward _zsh_highlight_widget_orig-s0.0000070000-r16561-history-incremental-pattern-search-backward _zsh_highlight_widget_orig-s0.0000070000-r16561-history-incremental-pattern-search-forward _zsh_highlight_widget_orig-s0.0000070000-r16561-history-incremental-search-backward \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-history-incremental-search-forward _zsh_highlight_widget_orig-s0.0000070000-r16561-history-search-backward _zsh_highlight_widget_orig-s0.0000070000-r16561-history-search-forward _zsh_highlight_widget_orig-s0.0000070000-r16561-history-substring-search-down _zsh_highlight_widget_orig-s0.0000070000-r16561-history-substring-search-up \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-infer-next-history _zsh_highlight_widget_orig-s0.0000070000-r16561-insert-last-word _zsh_highlight_widget_orig-s0.0000070000-r16561-kill-buffer _zsh_highlight_widget_orig-s0.0000070000-r16561-kill-line _zsh_highlight_widget_orig-s0.0000070000-r16561-kill-region \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-kill-whole-line _zsh_highlight_widget_orig-s0.0000070000-r16561-kill-word _zsh_highlight_widget_orig-s0.0000070000-r16561-list-choices _zsh_highlight_widget_orig-s0.0000070000-r16561-list-expand _zsh_highlight_widget_orig-s0.0000070000-r16561-magic-space \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-menu-complete _zsh_highlight_widget_orig-s0.0000070000-r16561-menu-expand-or-complete _zsh_highlight_widget_orig-s0.0000070000-r16561-menu-select _zsh_highlight_widget_orig-s0.0000070000-r16561-neg-argument _zsh_highlight_widget_orig-s0.0000070000-r16561-overwrite-mode \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-pound-insert _zsh_highlight_widget_orig-s0.0000070000-r16561-push-input _zsh_highlight_widget_orig-s0.0000070000-r16561-push-line _zsh_highlight_widget_orig-s0.0000070000-r16561-push-line-or-edit _zsh_highlight_widget_orig-s0.0000070000-r16561-put-replace-selection \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-quote-line _zsh_highlight_widget_orig-s0.0000070000-r16561-quote-region _zsh_highlight_widget_orig-s0.0000070000-r16561-quoted-insert _zsh_highlight_widget_orig-s0.0000070000-r16561-read-command _zsh_highlight_widget_orig-s0.0000070000-r16561-recursive-edit \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-redisplay _zsh_highlight_widget_orig-s0.0000070000-r16561-redo _zsh_highlight_widget_orig-s0.0000070000-r16561-reset-prompt _zsh_highlight_widget_orig-s0.0000070000-r16561-reverse-menu-complete _zsh_highlight_widget_orig-s0.0000070000-r16561-select-a-blank-word \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-select-a-shell-word _zsh_highlight_widget_orig-s0.0000070000-r16561-select-a-word _zsh_highlight_widget_orig-s0.0000070000-r16561-select-in-blank-word _zsh_highlight_widget_orig-s0.0000070000-r16561-select-in-shell-word _zsh_highlight_widget_orig-s0.0000070000-r16561-select-in-word \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-self-insert _zsh_highlight_widget_orig-s0.0000070000-r16561-self-insert-unmeta _zsh_highlight_widget_orig-s0.0000070000-r16561-send-break _zsh_highlight_widget_orig-s0.0000070000-r16561-set-mark-command _zsh_highlight_widget_orig-s0.0000070000-r16561-spell-word \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-split-undo _zsh_highlight_widget_orig-s0.0000070000-r16561-transpose-chars _zsh_highlight_widget_orig-s0.0000070000-r16561-transpose-words _zsh_highlight_widget_orig-s0.0000070000-r16561-undefined-key _zsh_highlight_widget_orig-s0.0000070000-r16561-undo \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-universal-argument _zsh_highlight_widget_orig-s0.0000070000-r16561-up-case-word _zsh_highlight_widget_orig-s0.0000070000-r16561-up-history _zsh_highlight_widget_orig-s0.0000070000-r16561-up-line _zsh_highlight_widget_orig-s0.0000070000-r16561-up-line-or-history \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-up-line-or-search _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-add-eol _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-add-next _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-backward-blank-word _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-backward-blank-word-end \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-backward-char _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-backward-delete-char _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-backward-kill-word _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-backward-word _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-backward-word-end \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-beginning-of-line _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-caps-lock-panic _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-change _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-change-eol _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-change-whole-line \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-cmd-mode _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-delete _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-delete-char _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-digit-or-beginning-of-line _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-down-line-or-history \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-end-of-line _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-fetch-history _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-find-next-char _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-find-next-char-skip _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-find-prev-char \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-find-prev-char-skip _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-first-non-blank _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-forward-blank-word _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-forward-blank-word-end _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-forward-char \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-forward-word _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-forward-word-end _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-goto-column _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-goto-mark _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-goto-mark-line \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-history-search-backward _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-history-search-forward _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-indent _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-insert _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-insert-bol \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-join _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-kill-eol _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-kill-line _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-match-bracket _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-open-line-above \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-open-line-below _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-oper-swap-case _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-pound-insert _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-put-after _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-put-before \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-quoted-insert _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-repeat-change _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-repeat-find _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-repeat-search _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-replace \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-replace-chars _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-rev-repeat-find _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-rev-repeat-search _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-set-buffer _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-set-mark \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-substitute _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-swap-case _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-undo-change _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-unindent _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-up-line-or-history \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-yank _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-yank-eol _zsh_highlight_widget_orig-s0.0000070000-r16561-vi-yank-whole-line _zsh_highlight_widget_orig-s0.0000070000-r16561-visual-line-mode _zsh_highlight_widget_orig-s0.0000070000-r16561-visual-mode \ - _zsh_highlight_widget_orig-s0.0000070000-r16561-what-cursor-position _zsh_highlight_widget_orig-s0.0000070000-r16561-where-is _zsh_highlight_widget_orig-s0.0000070000-r16561-yank-pop _zsh_highlight_widget_zle-isearch-update _zsh_highlight_widget_zle-line-finish \ - _zstyle _ztodo _zypper -autoload -Uz +X _call_program - -typeset -gUa _comp_assocs -_comp_assocs=( '' ) diff --git a/zsh/antigen/.zcompdump.zwc b/zsh/antigen/.zcompdump.zwc deleted file mode 100755 index de4ab03..0000000 Binary files a/zsh/antigen/.zcompdump.zwc and /dev/null differ diff --git a/zsh/antigen/init.zsh b/zsh/antigen/init.zsh deleted file mode 100755 index ab5ae99..0000000 --- a/zsh/antigen/init.zsh +++ /dev/null @@ -1,51 +0,0 @@ -#-- START ZCACHE GENERATED FILE -#-- GENERATED: Wed Aug 9 14:15:05 CDT 2017 -#-- ANTIGEN v2.0.2 -_antigen () { - local -a _1st_arguments - _1st_arguments=('apply:Load all bundle completions' 'bundle:Install and load the given plugin' 'bundles:Bulk define bundles' 'cleanup:Clean up the clones of repos which are not used by any bundles currently loaded' 'cache-gen:Generate cache' 'init:Load Antigen configuration from file' 'list:List out the currently loaded bundles' 'purge:Remove a cloned bundle from filesystem' 'reset:Clears cache' 'restore:Restore the bundles state as specified in the snapshot' 'revert:Revert the state of all bundles to how they were before the last antigen update' 'selfupdate:Update antigen itself' 'snapshot:Create a snapshot of all the active clones' 'theme:Switch the prompt theme' 'update:Update all bundles' 'use:Load any (supported) zsh pre-packaged framework') - _1st_arguments+=('help:Show this message' 'version:Display Antigen version') - __bundle () { - _arguments '--loc[Path to the location ]' '--url[Path to the repository ]' '--branch[Git branch name]' '--no-local-clone[Do not create a clone]' - } - __list () { - _arguments '--simple[Show only bundle name]' '--short[Show only bundle name and branch]' '--long[Show bundle records]' - } - __cleanup () { - _arguments '--force[Do not ask for confirmation]' - } - _arguments '*:: :->command' - if (( CURRENT == 1 )) - then - _describe -t commands "antigen command" _1st_arguments - return - fi - local -a _command_args - case "$words[1]" in - (bundle) __bundle ;; - (use) compadd "$@" "oh-my-zsh" "prezto" ;; - (cleanup) __cleanup ;; - (update|purge) compadd $(type -f \-antigen-get-bundles &> /dev/null || antigen &> /dev/null; -antigen-get-bundles --simple 2> /dev/null) ;; - (theme) compadd $(type -f \-antigen-get-themes &> /dev/null || antigen &> /dev/null; -antigen-get-themes 2> /dev/null) ;; - (list) __list ;; - esac -} -antigen () { - [[ "$ZSH_EVAL_CONTEXT" =~ "toplevel:*" || "$ZSH_EVAL_CONTEXT" =~ "cmdarg:*" ]] && source "/Users/winterjd/.dotfiles/zsh/autoload/antigen.zsh" && eval antigen $@; - return 0; -} -fpath+=(/Users/winterjd/.zsh/antigen/bundles/zsh-users/zsh-syntax-highlighting /Users/winterjd/.zsh/antigen/bundles/zsh-users/zsh-autosuggestions /Users/winterjd/.zsh/antigen/bundles/zsh-users/zsh-completions /Users/winterjd/.zsh/antigen/bundles/zsh-users/zsh-history-substring-search); PATH="$PATH:" -_antigen_compinit () { - autoload -Uz compinit; compinit -C -d "/Users/winterjd/.zsh/antigen/.zcompdump"; compdef _antigen antigen - add-zsh-hook -D precmd _antigen_compinit -} -autoload -Uz add-zsh-hook; add-zsh-hook precmd _antigen_compinit -compdef () {} -source "/Users/winterjd/.zsh/antigen/bundles/zsh-users/zsh-syntax-highlighting/zsh-syntax-highlighting.plugin.zsh"; -source "/Users/winterjd/.zsh/antigen/bundles/zsh-users/zsh-autosuggestions/zsh-autosuggestions.plugin.zsh"; -source "/Users/winterjd/.zsh/antigen/bundles/zsh-users/zsh-completions/zsh-completions.plugin.zsh"; -source "/Users/winterjd/.zsh/antigen/bundles/zsh-users/zsh-history-substring-search/zsh-history-substring-search.zsh"; -typeset -aU _ANTIGEN_BUNDLE_RECORD; _ANTIGEN_BUNDLE_RECORD=('https://github.com/zsh-users/zsh-syntax-highlighting.git / plugin true' 'https://github.com/zsh-users/zsh-autosuggestions.git / plugin true' 'https://github.com/zsh-users/zsh-completions.git / plugin true' 'https://github.com/zsh-users/zsh-history-substring-search.git / plugin true') -_ANTIGEN_CACHE_LOADED=true ANTIGEN_CACHE_VERSION='v2.0.2' -#-- END ZCACHE GENERATED FILE - diff --git a/zsh/antigen/init.zsh.zwc b/zsh/antigen/init.zsh.zwc deleted file mode 100755 index 7b8802e..0000000 Binary files a/zsh/antigen/init.zsh.zwc and /dev/null differ diff --git a/zsh/zsh b/zsh/zsh deleted file mode 120000 index d67b096..0000000 --- a/zsh/zsh +++ /dev/null @@ -1 +0,0 @@ -/home/bridgway/dotfiles/zsh \ No newline at end of file diff --git a/zshrc b/zshrc index a9e7010..262e527 100755 --- a/zshrc +++ b/zshrc @@ -1,39 +1,45 @@ # Path to your oh-my-zsh installation. export ZSH=$HOME/.oh-my-zsh -GITSTATUS_LOG_LEVEL=DEBUG - -DEFAULT_USER="bridgway" +DEFAULT_USER="$USER" plugins=(git) -# User configuration +# Editor +export EDITOR='nvim' +# Go export GOPATH=$HOME/go -export PATH=$PATH:/usr/local/go/bin +export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin + +# Local bin +export PATH="$PATH:$HOME/.local/bin:$HOME/bin" + +# Node.js and NVM configuration export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" -export PATH="$PATH:$HOME/.cabal/bin:/opt/cabal/1.22/bin:/opt/ghc/7.10.3/bin:$HOME/.rvm/gems:$HOME/.rvm/bin:$HOME/bin:/usr/local/bin:/usr/local/nwjs:/usr/local/var/postgres" +# Rust/Cargo +[ -f "$HOME/.cargo/env" ] && source "$HOME/.cargo/env" -[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" - -export PATH="$PATH:/opt/nvim-linux64/bin" source $ZSH/oh-my-zsh.sh source $HOME/dotfiles/aliases.zsh -# source $HOME/.cargo/env -eval "$(ssh-agent -s)" -ssh-add -A 2>/dev/null; +# SSH agent +if [ -z "$SSH_AGENT_PID" ]; then + eval "$(ssh-agent -s)" + ssh-add -A 2>/dev/null +fi -# Set preferred editor -export EDITOR='vim' - -KEYTIMEOUT=1 +# Key timeout +export KEYTIMEOUT=1 +# C++ include path export CPLUS_INCLUDE_PATH=/usr/local/include +# FZF (if installed) [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh -eval "$(starship init zsh)" +# Oh My Posh prompt +eval "$(oh-my-posh init zsh --config ~/.config/oh-my-posh/theme.omp.json)"