diff --git a/.chezmoi.toml.tmpl b/.chezmoi.toml.tmpl
new file mode 100644
index 0000000..c5d0bb9
--- /dev/null
+++ b/.chezmoi.toml.tmpl
@@ -0,0 +1,2 @@
+[diff]
+reverse = true
diff --git a/.chezmoiexternal.toml b/.chezmoiexternal.toml
new file mode 100644
index 0000000..6df5d05
--- /dev/null
+++ b/.chezmoiexternal.toml
@@ -0,0 +1,4 @@
+[".tmux/plugins/tpm"]
+ type = "git-repo"
+ url = "https://github.com/tmux-plugins/tpm"
+ refreshPeriod = "168h"
diff --git a/.config/coc/extensions/package.json b/.config/coc/extensions/package.json
deleted file mode 100644
index a744de5..0000000
--- a/.config/coc/extensions/package.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "dependencies": {
- "coc-json": ">=1.3.2",
- "coc-python": ">=1.2.13",
- "coc-snippets": ">=2.2.3",
- "coc-ultisnips": ">=1.2.3"
- }
-}
diff --git a/.config/fish/config.fish b/.config/fish/config.fish
deleted file mode 100644
index b07e1e8..0000000
--- a/.config/fish/config.fish
+++ /dev/null
@@ -1,5 +0,0 @@
-set PATH ~/bin /bin /sbin /usr/local/bin /usr/local/sbin /usr/bin /usr/sbin ~/.cabal/bin /usr/lib/go/bin ~/.gem/ruby/1.9.1/bin $PATH
-
-set fish_greeting ""
-
-. ~/.bash_aliases
diff --git a/.config/nvim b/.config/nvim
deleted file mode 120000
index 815cbcc..0000000
--- a/.config/nvim
+++ /dev/null
@@ -1 +0,0 @@
-../.vim
\ No newline at end of file
diff --git a/.config/systemd/user/default.target.wants/ssh-agent.service b/.config/systemd/user/default.target.wants/ssh-agent.service
deleted file mode 120000
index 8c9a931..0000000
--- a/.config/systemd/user/default.target.wants/ssh-agent.service
+++ /dev/null
@@ -1 +0,0 @@
-/home/barak/.config/systemd/user/ssh-agent.service
\ No newline at end of file
diff --git a/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml b/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml
deleted file mode 100644
index bd82588..0000000
--- a/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml b/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml
deleted file mode 100644
index 4189958..0000000
--- a/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml
+++ /dev/null
@@ -1,91 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/.emacs.d/init.el b/.emacs.d/init.el
deleted file mode 100644
index 289257d..0000000
--- a/.emacs.d/init.el
+++ /dev/null
@@ -1,35 +0,0 @@
-;;; init.el --- Spacemacs Initialization File
-;;
-;; Copyright (c) 2012-2016 Sylvain Benner & Contributors
-;;
-;; Author: Sylvain Benner
-;; URL: https://github.com/syl20bnr/spacemacs
-;;
-;; This file is not part of GNU Emacs.
-;;
-;;; License: GPLv3
-
-;; Without this comment emacs25 adds (package-initialize) here
-;; (package-initialize)
-
-;; Increase gc-cons-threshold, depending on your system you may set it back to a
-;; lower value in your dotfile (function `dotspacemacs/user-config')
-(setq gc-cons-threshold 100000000)
-
-(defconst spacemacs-version "0.200.3" "Spacemacs version.")
-(defconst spacemacs-emacs-min-version "24.4" "Minimal version of Emacs.")
-
-(if (not (version<= spacemacs-emacs-min-version emacs-version))
- (message (concat "Your version of Emacs (%s) is too old. "
- "Spacemacs requires Emacs version %s or above.")
- emacs-version spacemacs-emacs-min-version)
- (load-file (concat (file-name-directory load-file-name)
- "core/core-load-paths.el"))
- (require 'core-spacemacs)
- (spacemacs/init)
- (spacemacs/maybe-install-dotfile)
- (configuration-layer/sync)
- (spacemacs-buffer/display-info-box)
- (spacemacs/setup-startup-hook)
- (require 'server)
- (unless (server-running-p) (server-start)))
diff --git a/.fonts.conf b/.fonts.conf
deleted file mode 120000
index 20d11f6..0000000
--- a/.fonts.conf
+++ /dev/null
@@ -1 +0,0 @@
-/home/barak/.config/fontconfig/fonts.conf
\ No newline at end of file
diff --git a/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-bold.ttf b/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-bold.ttf
deleted file mode 100644
index 52cd3f4..0000000
Binary files a/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-bold.ttf and /dev/null differ
diff --git a/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-bolditalic.ttf b/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-bolditalic.ttf
deleted file mode 100644
index 6116802..0000000
Binary files a/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-bolditalic.ttf and /dev/null differ
diff --git a/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-boldoblique.ttf b/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-boldoblique.ttf
deleted file mode 100644
index 188243b..0000000
Binary files a/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-boldoblique.ttf and /dev/null differ
diff --git a/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-book.ttf b/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-book.ttf
deleted file mode 100644
index 718fcfd..0000000
Binary files a/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-book.ttf and /dev/null differ
diff --git a/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-bookitalic.ttf b/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-bookitalic.ttf
deleted file mode 100644
index a871862..0000000
Binary files a/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-bookitalic.ttf and /dev/null differ
diff --git a/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-bookoblique.ttf b/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-bookoblique.ttf
deleted file mode 100644
index 2e16ab7..0000000
Binary files a/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-bookoblique.ttf and /dev/null differ
diff --git a/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-italic.ttf b/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-italic.ttf
deleted file mode 100644
index 39391dd..0000000
Binary files a/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-italic.ttf and /dev/null differ
diff --git a/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-light.ttf b/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-light.ttf
deleted file mode 100644
index 893c39c..0000000
Binary files a/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-light.ttf and /dev/null differ
diff --git a/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-lightitalic.ttf b/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-lightitalic.ttf
deleted file mode 100644
index 7b655f2..0000000
Binary files a/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-lightitalic.ttf and /dev/null differ
diff --git a/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-lightoblique.ttf b/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-lightoblique.ttf
deleted file mode 100644
index 220d713..0000000
Binary files a/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-lightoblique.ttf and /dev/null differ
diff --git a/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-medium.ttf b/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-medium.ttf
deleted file mode 100644
index 5e0aca6..0000000
Binary files a/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-medium.ttf and /dev/null differ
diff --git a/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-mediumitalic.ttf b/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-mediumitalic.ttf
deleted file mode 100644
index 5fb9af8..0000000
Binary files a/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-mediumitalic.ttf and /dev/null differ
diff --git a/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-mediumoblique.ttf b/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-mediumoblique.ttf
deleted file mode 100644
index 190319a..0000000
Binary files a/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-mediumoblique.ttf and /dev/null differ
diff --git a/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-oblique.ttf b/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-oblique.ttf
deleted file mode 100644
index 8ad08c0..0000000
Binary files a/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-oblique.ttf and /dev/null differ
diff --git a/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-regular.ttf b/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-regular.ttf
deleted file mode 100644
index 329a670..0000000
Binary files a/.fonts/iosevka-berkeley-wide/iosevka-berkeley-wide-regular.ttf and /dev/null differ
diff --git a/.fonts/iosevka-berkeley/iosevka-berkeley-bold.ttf b/.fonts/iosevka-berkeley/iosevka-berkeley-bold.ttf
deleted file mode 100644
index b213e7b..0000000
Binary files a/.fonts/iosevka-berkeley/iosevka-berkeley-bold.ttf and /dev/null differ
diff --git a/.fonts/iosevka-berkeley/iosevka-berkeley-bolditalic.ttf b/.fonts/iosevka-berkeley/iosevka-berkeley-bolditalic.ttf
deleted file mode 100644
index 5cf8650..0000000
Binary files a/.fonts/iosevka-berkeley/iosevka-berkeley-bolditalic.ttf and /dev/null differ
diff --git a/.fonts/iosevka-berkeley/iosevka-berkeley-boldoblique.ttf b/.fonts/iosevka-berkeley/iosevka-berkeley-boldoblique.ttf
deleted file mode 100644
index cee39d1..0000000
Binary files a/.fonts/iosevka-berkeley/iosevka-berkeley-boldoblique.ttf and /dev/null differ
diff --git a/.fonts/iosevka-berkeley/iosevka-berkeley-book.ttf b/.fonts/iosevka-berkeley/iosevka-berkeley-book.ttf
deleted file mode 100644
index 86b1d8b..0000000
Binary files a/.fonts/iosevka-berkeley/iosevka-berkeley-book.ttf and /dev/null differ
diff --git a/.fonts/iosevka-berkeley/iosevka-berkeley-bookitalic.ttf b/.fonts/iosevka-berkeley/iosevka-berkeley-bookitalic.ttf
deleted file mode 100644
index 94b30a6..0000000
Binary files a/.fonts/iosevka-berkeley/iosevka-berkeley-bookitalic.ttf and /dev/null differ
diff --git a/.fonts/iosevka-berkeley/iosevka-berkeley-bookoblique.ttf b/.fonts/iosevka-berkeley/iosevka-berkeley-bookoblique.ttf
deleted file mode 100644
index e834c88..0000000
Binary files a/.fonts/iosevka-berkeley/iosevka-berkeley-bookoblique.ttf and /dev/null differ
diff --git a/.fonts/iosevka-berkeley/iosevka-berkeley-italic.ttf b/.fonts/iosevka-berkeley/iosevka-berkeley-italic.ttf
deleted file mode 100644
index 0852e9d..0000000
Binary files a/.fonts/iosevka-berkeley/iosevka-berkeley-italic.ttf and /dev/null differ
diff --git a/.fonts/iosevka-berkeley/iosevka-berkeley-light.ttf b/.fonts/iosevka-berkeley/iosevka-berkeley-light.ttf
deleted file mode 100644
index e2588fd..0000000
Binary files a/.fonts/iosevka-berkeley/iosevka-berkeley-light.ttf and /dev/null differ
diff --git a/.fonts/iosevka-berkeley/iosevka-berkeley-lightitalic.ttf b/.fonts/iosevka-berkeley/iosevka-berkeley-lightitalic.ttf
deleted file mode 100644
index 09821ba..0000000
Binary files a/.fonts/iosevka-berkeley/iosevka-berkeley-lightitalic.ttf and /dev/null differ
diff --git a/.fonts/iosevka-berkeley/iosevka-berkeley-lightoblique.ttf b/.fonts/iosevka-berkeley/iosevka-berkeley-lightoblique.ttf
deleted file mode 100644
index 33a7d07..0000000
Binary files a/.fonts/iosevka-berkeley/iosevka-berkeley-lightoblique.ttf and /dev/null differ
diff --git a/.fonts/iosevka-berkeley/iosevka-berkeley-medium.ttf b/.fonts/iosevka-berkeley/iosevka-berkeley-medium.ttf
deleted file mode 100644
index 0d0a9f6..0000000
Binary files a/.fonts/iosevka-berkeley/iosevka-berkeley-medium.ttf and /dev/null differ
diff --git a/.fonts/iosevka-berkeley/iosevka-berkeley-mediumitalic.ttf b/.fonts/iosevka-berkeley/iosevka-berkeley-mediumitalic.ttf
deleted file mode 100644
index a7f4b96..0000000
Binary files a/.fonts/iosevka-berkeley/iosevka-berkeley-mediumitalic.ttf and /dev/null differ
diff --git a/.fonts/iosevka-berkeley/iosevka-berkeley-mediumoblique.ttf b/.fonts/iosevka-berkeley/iosevka-berkeley-mediumoblique.ttf
deleted file mode 100644
index b658c82..0000000
Binary files a/.fonts/iosevka-berkeley/iosevka-berkeley-mediumoblique.ttf and /dev/null differ
diff --git a/.fonts/iosevka-berkeley/iosevka-berkeley-oblique.ttf b/.fonts/iosevka-berkeley/iosevka-berkeley-oblique.ttf
deleted file mode 100644
index c622b86..0000000
Binary files a/.fonts/iosevka-berkeley/iosevka-berkeley-oblique.ttf and /dev/null differ
diff --git a/.fonts/iosevka-berkeley/iosevka-berkeley-regular.ttf b/.fonts/iosevka-berkeley/iosevka-berkeley-regular.ttf
deleted file mode 100644
index 45f8bcf..0000000
Binary files a/.fonts/iosevka-berkeley/iosevka-berkeley-regular.ttf and /dev/null differ
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index b25c15b..0000000
--- a/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-*~
diff --git a/.local/share/fonts b/.local/share/fonts
deleted file mode 120000
index fe8ce3a..0000000
--- a/.local/share/fonts
+++ /dev/null
@@ -1 +0,0 @@
-/home/barak/.fonts
\ No newline at end of file
diff --git a/.nvim b/.nvim
deleted file mode 120000
index 8355b52..0000000
--- a/.nvim
+++ /dev/null
@@ -1 +0,0 @@
-.vim
\ No newline at end of file
diff --git a/.nvimrc b/.nvimrc
deleted file mode 120000
index 1490f7a..0000000
--- a/.nvimrc
+++ /dev/null
@@ -1 +0,0 @@
-.vimrc
\ No newline at end of file
diff --git a/.tmux.conf b/.tmux.conf
deleted file mode 100644
index 2990352..0000000
--- a/.tmux.conf
+++ /dev/null
@@ -1,65 +0,0 @@
-set -g prefix C-a
-unbind C-b
-
-set -g base-index 1
-setw -g pane-base-index 1
-
-bind-key C-o last-window
-bind-key C-a select-pane -t :.+
-bind-key a send-prefix
-bind r source-file ~/.tmux.conf
-bind -n M-j select-pane -D
-bind -n M-k select-pane -U
-bind -n M-h select-pane -L
-bind -n M-l select-pane -R
-bind-key C-n next-window
-bind-key C-p previous-window
-set -g set-titles off
-set -g mouse on
-set -g default-terminal xterm-256color
-setw -g mode-keys vi
-new -d
-
-
-# shift-movement keys will resize panes
-bind -r H resize-pane -L 5
-bind -r J resize-pane -D 5
-bind -r K resize-pane -U 5
-bind -r L resize-pane -R 5
-
-# better mnemonics for splitting panes!
-bind | split-window -h
-bind - split-window -v
-
-bind v split-window -h
-bind = select-layout even-horizontal
-
-# Status Bar
-#set -g status-bg black
-set -g status-fg white
-set -g status-interval 1
-#set -g status-left '#[fg=green]#H#[default]'
-#set -g status-left-length 20
-#set -g status-right '#[fg=green]#(~/src/tpom/tpom) #[fg=cyan,bold]%Y-%m-%d %H:%M:%S#[default]'
-set -g status-justify centre # center align window list
-set -g status-fg white
-set -g status-bg default
-
-# default window title colors
-set-window-option -g window-status-style fg=white,bg=default,dim
-
-# active window title colors
-set-window-option -g window-status-current-style fg=cyan,bg=default,bright
-
-set-window-option -g window-style fg=#aaaaaa,bg=terminal
-set-window-option -g window-active-style fg=terminal,bg=terminal
-
-set -g status-left '#[fg=green][ #H ][ '
-set -g status-right '#[fg=green]][ #[bright]#[fg=blue]%Y-%m-%d #[fg=white]%I:%M #[dim]#[fg=green]]'
-
-# Notifying if other windows has activities
-setw -g monitor-activity on
-set -g visual-activity on
-
-# Highlighting the active window in status bar
-setw -g window-status-current-style bg=red,bright
diff --git a/.vimrc b/.vimrc
deleted file mode 100644
index 6f41f50..0000000
--- a/.vimrc
+++ /dev/null
@@ -1,867 +0,0 @@
-" ___ _ _ _
-" | _ ) __ _ _ _ __ _| |_( )___ __ _(_)_ __ _ _ __
-" | _ \/ _` | '_/ _` | / //(_-< \ V / | ' \| '_/ _|
-" |___/\__,_|_| \__,_|_\_\ /__/ (_)_/|_|_|_|_|_| \__|
-"
-"
-" ** BASIC EDITOR SETTINGS **
-"
-" First, we are vim, not vi, so start as many others do with
-set nocompatible
-
-" Allow background buffers. Super important for various tab modes.
-set hidden
-
-" Set default spacing.
-" Hard tabs should show as 8.
-set ts=8
-" Soft tabs should be 2 wide, and we should use spaces.
-" (This is the Googler in me. I've converted to spaces over
-" the years because it really is more consistent.)
-set softtabstop=2
-set shiftwidth=2
-set expandtab
-" I like comma instead of slash, but that probably comes from playing
-" Nethack and Angband
-let mapleader = ","
-let maplocalleader = "\\"
-
-" Set 'smart' things in Vim
-" Search case insensitive, unless it contains Uppercase letters
-set smartcase
-" Use all the indent features
-set autoindent
-set smartindent
-set cindent
-" Make backspace remove indents and line breaks, like a normal editor
-set backspace=indent,eol,start
-
-" Keep a bigger history
-set history=1000
-" Allow tab completion for files in command mode.
-set wildmenu
-set wildmode=list:longest
-" Show where you are in the file in the statusbar.
-set ruler
-
-" I hate split above, so make it split below. Likewise, to the right.
-set splitbelow
-" For autocomplete, show a menu, show it when there's only one option,
-" and only complete the longest common bit instead of the whole thing (like
-" bash).
-"set completeopt=menu,menuone,longest
-set completeopt=noinsert,menuone,noselect,longest
-
-set diffopt+=vertical
-" Some stuff for 256-Color consoles that I've forgotten.
-set t_Co=256
-set t_Sf=ESC[3%dm
-set t_Sb=ESC[4%dm
-set t_ut=
-"set t_SH=
-"set t_kb=
-
-" This is like HiglightTooLongLines below, but for modern vim. The problem is
-" that it highlights the column, even if your short. Good for measuring, bad for
-" my eyes.
-"if v:version >= 703
- "set relativenumber
- "set colorcolumn=81
-"endif
-" ** PATH SETTINGS **
-
-let $RUST_SRC_PATH="/usr/src/rust/src/"
-
-"let g:ft_ignore_pat = '.org'
-"
-
-if exists('veonim')
- let g:vscode_extensions = [
- \'ms-python.python',
- \'ms-vscode.go',
- \]
- set guifont=Droid\ Sans\ Mono\ Dotted:h20
-" set linespace=10
-endif
-" * Polyglot
-
-let g:tex_flavor = 'latex'
-let g:polyglot_disabled = ['latex']
-
-
-" Required:
-set runtimepath+=$HOME/.vim/bundle/repos/github.com/Shougo/dein.vim
-
-" Required:
-call plug#begin($HOME . '/.vim/bundle')
-
-" Plugins that must be first
-Plug $HOME . '/.vim/bundle/repos/github.com/Shougo/dein.vim'
-Plug 'let-def/vimbufsync'
-Plug 'lambdalisue/suda.vim'
-
-" Plugins that I almost never use
-"Plug 'vim-scripts/DrawIt'
-"Plug 'tpope/vim-speeddating'
-"Plug 'vim-scripts/EasyGrep'
-Plug 'chrisbra/NrrwRgn'
-"Plug 'mattn/calendar-vim'
-"Plug 'rstacruz/sparkup'
-"Plug 'tristen/vim-sparkup'
-"Plug 'tpope/vim-fireplace', {'for': 'clojure'}
-""Plug 'terryma/vim-multiple-cursors'
-"Plug 'ambv/black'
-Plug 'kana/vim-textobj-user'
-
-
-" Plugins I wish I used more
-"Plug 'hsitz/VimOrganizer'
-Plug 'jceb/vim-orgmode'
-Plug 'tpope/vim-fugitive'
-Plug 'tpope/vim-unimpaired'
-Plug 'b4winckler/vim-angry'
-Plug 'tpope/vim-surround'
-Plug 'junegunn/vim-easy-align'
-Plug 'bps/vim-textobj-python'
-
-" Plugins I NEED
-Plug 'scrooloose/nerdcommenter'
-Plug 'sjbach/lusty'
-"Plug 'w0rp/ale'
-"Plug 'airblade/vim-gitgutter'
-Plug 'mhinz/vim-signify'
-Plug 'vim-airline/vim-airline'
-Plug 'vim-airline/vim-airline-themes'
-Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
-Plug 'junegunn/fzf.vim'
-Plug 'bling/vim-bufferline'
-Plug 'majutsushi/tagbar'
-Plug 'SirVer/ultisnips'
-Plug 'honza/vim-snippets'
-Plug 'fatih/vim-go'
-Plug 'jiangmiao/auto-pairs'
-Plug 'tpope/vim-abolish'
-Plug 'sheerun/vim-polyglot'
-Plug 'Shougo/denite.nvim'
-Plug 'plytophogy/vim-virtualenv'
-Plug 'ervandew/supertab'
-"Plug 'ncm2/ncm2'
-"Plug 'roxma/nvim-yarp'
-
-
-" Plugins I NEEDED
-"Plug 'scrooloose/nerdtree'
-"Plug 'scrooloose/syntastic'
-"Plug 'Valloric/YouCompleteMe'
-"Plug 'vim-scripts/fish-syntax'
-"Plug 'kchmck/vim-coffee-script'
-"Plug 'rodjek/vim-puppet'
-"Plug 'JuliaLang/julia-vim'
-"Plug 'rust-lang/rust.vim'
-"Plug 'hashivim/vim-terraform'
-"Plug 'HerringtonDarkholme/yats.vim'
-"Plug 'kien/ctrlp.vim'
-"Plug 'farseer90718/vim-taskwarrior'
-"Plug 't-yuki/vim-go-coverlay'
-
-" Plugins for syntax
-Plug 'lunaru/vim-less'
-Plug 'hylang/vim-hy', {'for': 'hy'}
-Plug 'mhartington/nvim-typescript'
-Plug 'posva/vim-vue'
-Plug 'Shougo/context_filetype.vim'
-Plug 'idris-hackers/idris-vim', {'for': 'idris'}
-Plug 'derekwyatt/vim-scala', {'for': 'scala'}
-Plug 'hwayne/tla.vim'
-Plug 'zchee/vim-goasm'
-
-" Plugins that autocomplete
-"Plug 'Shougo/deoplete.nvim'
-"Plug 'zchee/deoplete-clang'
-"Plug 'zchee/deoplete-go', {'build': {'unix': 'make'}}
-"Plug 'zchee/deoplete-jedi'
-"Plug 'davidhalter/jedi-vim'
-"Plug 'eagletmt/neco-ghc', {'for': 'haskell'}
-"Plug 'eagletmt/ghcmod-vim', {'for': 'haskell'}
-"Plug 'racer-rust/vim-racer', {'for': 'rust'}
-"Plug 'autozimu/LanguageClient-neovim', {
- "\ 'branch': 'next',
- "\ 'do': 'bash install.sh',
- "\ }
-"Plug 'ensime/ensime-vim', { 'do': ':UpdateRemotePlugins' }
-Plug 'neoclide/coc.nvim', {'branch': 'release'}
-
-" Plugins that do specific things
-Plug 'Shougo/vimproc.vim'
-Plug 'Shougo/vimfiler.vim'
-Plug 'Shougo/unite.vim'
-"Plug 'lucas8/coquille', {'branch': 'error_on_coq_error', 'for': 'coq'}
-Plug 'whonore/coquille', {'branch': 'pathogen-bundle', 'for': 'coq'}
-"Plug 'dhruvasagar/vim-zoom'
-Plug 'gabrielelana/vim-markdown'
-Plug 'lervag/vimtex'
-
-
-" Unclear
-"Plug 'ncm2/float-preview.nvim'
-Plug 'lambdalisue/gina.vim'
-Plug 'barakmich/vim-code-dark'
-
-call plug#end()
-
-" enable ncm2 for all buffers
-"autocmd BufEnter * call ncm2#enable_for_buffer()
-
-nmap gd (coc-definition)
-nmap gy (coc-type-definition)
-nmap gi (coc-implementation)
-nmap gr (coc-references)
-imap , (coc-snippets-expand)
-
-" Use K to show documentation in preview window
-nnoremap K :call show_documentation()
-
-function! s:show_documentation()
- if (index(['vim','help'], &filetype) >= 0)
- execute 'h '.expand('')
- else
- call CocAction('doHover')
- endif
-endfunction
-
-"NeoBundle 'eclim'
-"https://git.wincent.com/command-t.git
-filetype plugin indent on " required
-syntax enable
-
-"filetype plugin indent on
-" If you prefer the Omni-Completion tip window to close when a selection is
-" made, these lines close it on movement in insert mode or when leaving
-" insert mode
-autocmd CursorMovedI * if pumvisible() == 0|pclose|endif
-autocmd InsertLeave * if pumvisible() == 0|pclose|endif
-
-" Sources
-"source ~/.vim/supertab.vim
-"source ~/.vim/charm.vim
-"source ~/.vim/plugin/AppleT.vim
-runtime macros/matchit.vim
-
-" Completion features (TODO: Add to filetype.vim)
-autocmd FileType ruby,eruby set omnifunc=rubycomplete#Complete
-autocmd FileType python set tags+=$HOME/.vim/tags/python.ctags
-"autocmd FileType python set omnifunc=pythoncomplete#Complete
-"autocmd FileType python call SuperTabSetCompletionType("")
-
-" Set filetype for VimOrganizer
-au! BufRead,BufWrite,BufWritePost,BufNewFile *.org
-au BufEnter *.org call org#SetOrgFileType()
-
-"au! BufRead,BufWrite,BufWritePost,BufNewFile *.org
-"au BufEnter *.org call org#SetOrgFileType()
-command! OrgCapture :call org#CaptureBuffer()
-command! OrgCaptureFile :call org#OpenCaptureFile()
-
-" Cull trailing whitespace for all files.
-autocmd BufWritePre * :call AutoTrimWhitespace()
-
-" Set syntax and highlighting
-syntax on
-" baraknew is my own colorscheme. I used to use slate or dante.
-"colorscheme baraknew
-"let g:codedark_conservative = 1
-colorscheme codedark
-"colorscheme slate
-"colorscheme dante
-
-" Turn on the cursorline (highlight on line under cursor) but only for the
-" window and buffer you're currently in. A handy trick, I'm trying out as of
-" 2013-04-12 but the jury is still out.
-autocmd BufEnter * setlocal cursorline
-autocmd WinEnter * setlocal cursorline
-autocmd WinLeave * setlocal nocursorline
-setlocal cursorline
-
-
-" ** PLUGIN CONFIGURATION **
-
-" * SuperTab
-let g:SuperTabDefaultCompletionType = ""
-
-" Change the source rank
-"call deoplete#custom#option('sources', {
- "\ 'python': ['LanguageClient'],
- "\ 'cpp': ['LanguageClient'],
- "\})
-"call deoplete#custom#source('buffer', 'rank', 1)
-"let g:deoplete#sources#clang#libclang_path = '/usr/lib/llvm-6.0/lib/libclang.so'
-"let g:deoplete#sources#clang#clang_header = '/usr/lib/llvm-6.0/lib/clang'
-let g:deoplete#enable_at_startup = 1
-"let g:deoplete#sources = {}
-"let g:deoplete#sources.scala = ['buffer', 'tags', 'omni']
-"let g:deoplete#omni#input_patterns = {}
-"let g:deoplete#omni#input_patterns.scala = ['[^. *\t0-9]\.\w*',': [A-Z]\w', '[\[\t\( ][A-Za-z]\w*']
-" * Vim general/Unknown
-let python_highlight_all = 1
-let g:Tb_MaxSize=0
-let g:Tb_MapCTabSwitchBufs = 1
-let g:UseGooglePythonSettings = 0
-
-" * Jedi
-let g:jedi#goto_command = "gd"
-"let g:jedi#completions_enabled = 0
-
-" * Eclim
-let g:EclimCompletionMethod = 'omnifunc'
-
-" * Syntastic
-let g:syntastic_python_checkers = ['python', 'pylint']
-let g:syntastic_go_checkers=['go', 'govet', 'govetshadow', 'golintc']
-let g:syntastic_always_populate_loc_list = 1
-let g:syntastic_auto_loc_list = 2
-let g:syntastic_loc_list_height = 10
-" E111 = Spaces should be multiples of 4. I use 2.
-"
-" * Polyglot
-let g:polyglot_disabled = ['latex']
-
-" * ALE
-let g:airline#extensions#ale#enabled = 1
-let g:ale_set_highlights = 0
-
-" * LanguageServer
-let g:LanguageClient_serverCommands = {
- \ 'python': ['pyls'],
- \ 'cpp': ['ccls'],
- \ 'go': ['gopls'],
- \ }
-let g:LanguageClient_diagnosticsDisplay = {
- \1: {'name': 'Error', 'texthl': 'ALEError', 'signText': 'E>', 'signTexthl': 'ALEErrorSign',},
- \2: {"name": "Warning", "texthl": "ALEWarning", "signText": "W>", "signTexthl": "ALEWarningSign",},
- \3: {"name": "Information", "texthl": "ALEInfo", "signText": "i-", "signTexthl": "ALEInfoSign",},
- \4: {"name": "Hint", "texthl": "ALEInfo", "signText": "--", "signTexthl": "ALEInfoSign",},
-\}
-"nmap gd (lcn-definition)
-"nmap K (lcn-hover)
-"nmap m (lcn-menu)
-
-" * Configure browser for haskell_doc.vim
-let g:haddock_browser = "open"
-let g:haddock_browser_callformat = "%s %s"
-
-" * Lusty plugins
-let g:LustyExplorerSuppressRubyWarning = 1
-let g:LustyJugglerSuppressRubyWarning = 1
-let g:LustyJugglerShowKeys = 'a'
-
-" * Buftabs
-let g:buftabs_only_basename = 1
-"let g:buftabs_in_statusline=1
-
-" Bufferline
-let g:bufferline_echo = 0
-let g:bufferline_modified = '+'
-let g:bufferline_show_bufnr = 1
-let g:bufferline_rotate = 1
-
-" * NERDTree
-"let g:NERDChristmasTree = 1
-"let g:NERDChristmasTree = 1
-let g:NERDTreeQuitOnOpen = 1
-let g:NERDTreeWinPos = "right"
-let g:NERDTreeWinSize = 40
-let g:NERDTreeDirArrows=0
-
-let g:NERDTreeMarkBookmarks = 0
-let g:NERDTreeMinimalUI = 1
-
-" * Signify
-let g:signify_realtime = 0
-let g:signify_vcs_list = ['git']
-let g:signify_sign_change = '~'
-let g:signify_sign_changedelete = g:signify_sign_change
-let g:signify_sign_show_count = 0
-
-" * VimFiler
-let g:vimfiler_tree_indentation = 2
-
-" * Tagbar plugin settings
-let g:tagbar_width = 40
-let g:tagbar_autofocus = 1
-let g:tagbar_autoclose = 1
-let g:tagbar_compact = 1
-
-" * Taglist plugin settings (deprecated)
-let Tlist_GainFocus_On_ToggleOpen = 1
-let Tlist_Use_Right_Window = 1
-let Tlist_Inc_Winwidth = 0
-let Tlist_File_Fold_Auto_Close = 1
-let Tlist_WinWidth = 40
-let Tlist_Show_One_File = 0
-
-" * ConqueTerm
-let g:ConqueTerm_CWInsert = 1
-let g:ConqueTerm_InsertOnEnter = 0
-let g:ConqueTerm_SendVisKey = 'ss'
-
-" * YouCompleteMe
-let g:ycm_global_ycm_extra_conf = '~/.ycm_extra_conf.py'
-let g:ycm_confirm_extra_conf = 0
-let g:ycm_key_invoke_completion = ""
-let g:ycm_use_ultisnips_completer = 1
-"let g:ycm_add_preview_to_completeopt = 1
-"let g:ycm_autoclose_preview_window_after_completion = 1
-
-" * UltiSnips
-let g:UltiSnipsSnippetDirectories=["UltiSnips", "usnips"]
-let g:UltiSnipsExpandTrigger=","
-"let g:UltiSnipsJumpForwardTrigger=","
-let g:UltiSnipsJumpBackwardTrigger=""
-
-" * MinBufExplorer
-"let g:miniBufExplMapWindowNavVim = 1
-"let g:miniBufExplMapWindowNavArrows = 1
-"let g:miniBufExplMapCTabSwitchBufs = 1
-"let g:miniBufExplModSelTarget = 1
-"let g:miniBufExplForceSyntaxEnable = 1
-
-" Markdown
-"let g:markdown_enable_folding = 1
-let g:markdown_enable_mappings = 0
-let g:markdown_enable_spell_checking = 0
-let g:markdown_enable_input_abbreviations = 0
-
-" * CommandT
-let g:CommandTMaxFiles = 1000
-let g:CommandTMaxDepth = 7
-
-" * FZF
-let g:rg_command = '
- \ rg --column --line-number --no-heading --fixed-strings --ignore-case --no-ignore --hidden --follow --color "always"
- \ -g "!{.git,node_modules,vendor}/*" '
-
-"\ -g "*.{js,json,php,md,styl,jade,html,config,py,cpp,c,go,hs,rb,conf}"
-
-command! -bang -nargs=* RipGrep call fzf#vim#grep(g:rg_command .shellescape(), 1, 0)
-command! -bang -nargs=* RipGrepCword call fzf#vim#grep(g:rg_command . "-q " . expand(''), 1, 0)
-
-let g:fzf_buffers_jump = 1
-" Empty value to disable preview window altogether
-let g:fzf_preview_window = ''
-
-" * VimOrganizer
-" default Tag list. Will be changed in near future so
-" that these are defined by config lines in each .org
-" file itself, but now these are where you can change things:
-" let g:org_todo_setup='TODO | DONE'
-" while g:org_tag_setup is itself a string
-"let g:org_tag_setup='{@home(h) @work(w) @tennisclub(t)} \n {easy(e) hard(d)} \n {computer(c) phone(p)}'
-"au! BufRead,BufWrite,BufWritePost,BufNewFile *.org
-"au BufEnter *.org call org#SetOrgFileType()
-
-" * Airline
-set noshowmode
-let g:airline#extensions#branch#enabled = 1
-let g:airline#extensions#syntastic#enabled = 1
-let g:airline#extensions#tagbar#enabled = 1
-let g:airline_theme="murmur"
-let g:airline_left_sep = ''
-let g:airline_right_sep = ''
-let g:airline#extensions#syntastic#enabled = 1
-let g:airline#extensions#hunks#non_zero_only = 1
-let g:airline#extensions#whitespace#enabled = 0
-let g:airline_mode_map = {
- \ '__' : '-',
- \ 'n' : 'N',
- \ 'i' : 'I',
- \ 'R' : 'R',
- \ 'c' : 'C',
- \ 'v' : 'V',
- \ 'V' : 'V',
- \ '' : 'V',
- \ 's' : 'S',
- \ 'S' : 'S',
- \ '' : 'S',
- \ }
-
-
-" * CtrlP
-let g:ctrlp_map = ',t'
-let g:ctrlp_cmd = 'CtrlP'
-let g:ctrlp_working_path_mode = 'ra'
-let g:ctrlp_match_window = 'bottom,order:ttb,min:1,max:15'
-
-" * Vim-Go
-let g:go_fmt_command = "goimports"
-"let g:go_auto_type_info = 1
-let g:go_updatetime = 300
-let g:go_bin_path = $HOME . "/.go/bin"
-"let g:go_def_mode = 'gopls'
-"let g:go_info_mode = 'gopls'
-
-let g:go_highlight_functions = 1
-let g:go_highlight_function_calls = 1
-"let g:go_highlight_variable_declarations = 1
-"let g:go_highlight_variable_assignments = 1
-
-" ** STATUSLINE **
-set laststatus=2
-set statusline=%t "tail of the filename
-"set statusline+=[%{&ff}] "file format
-"set statusline+=%h "help file flag
-set statusline+=\ %w "help file flag
-set statusline+=%r "read only flag
-set statusline+=%y "filetype
-set statusline+=\ %m "modified flag
-set statusline+=%= "left/right separator
-set statusline+=%{fugitive#statusline()}\ \
-set statusline+=%c, "cursor column
-set statusline+=%l/%L "cursor line/total lines
-set statusline+=\ %P "percent through file
-set statusline+=%{zoom#statusline()}\
-
-" ** SMALL FUNCTIONS THAT DON'T FIT AS PLUGINS ***
-
-" Add capital W so I can be lazy about my shift key
-if !exists(":W")
- command W :w
-endif
-
-" CD to the path of the file I'm editing.
-command Cdf :cd %:p:h
-
-" Print path of file
-command Filepath :echo expand('%:p')
-
-" Save a vim session! Useful if you want to save buffer states and so on
-command SaveSession :mksession! ~/.vim_last_session
-command LoadSession :source ~/.vim_last_session
-
-" This is a quick way to edit a persistent scratch buffer for me...
-command ScratchOpen :e scp://barak@barakmich.com//home/barak/notes/scratch
-
-" Sudo-make-me-a-sandwich write. For when I forget to be root.
-"command Wdammit :w !sudo tee > /dev/null %
-command Wdammit :w suda://%
-
-
-" I can never remember markdown fully. Open me a cheatsheet
-command MarkdownCheatsheet :rightb vsplit ~/.vim/markdown_cheatsheet.md
-
-
-" Doesn't quite work right but can be a real savior if needed.
-" Oh-shit-what-was-this-like-before-I-changed-it?
-function! s:DiffWithSaved()
- let filetype=&ft
- diffthis
- vnew | r # | normal! 1Gdd
- diffthis
- exe "setlocal bt=nofile bh=wipe nobl noswf ro ft=" . filetype
-endfunction
-com! DiffSaved call s:DiffWithSaved()
-
-" Highlight lines that are longer than textwidth for the filetype, commonly 80
-" characters.
-function! HighlightTooLongLines()
- highlight def link RightMargin Error
- if &textwidth != 0
- exec 'match RightMargin /\%<' . (&textwidth + 3) . 'v.\%>' . (&textwidth + 1) . 'v/'
- endif
-endfunction
-
-" Toggles the quickfix window split.
-command -bang -nargs=? QFix call QFixToggle(0)
-function! QFixToggle(forced)
- if exists("g:qfix_win") && a:forced == 0
- cclose
- else
- execute "copen " . 15
- endif
-endfunction
-
-" Toggle LocationList
-command -bang -nargs=? LFix call LFixToggle(0)
-function! LFixToggle(forced)
- if exists("g:lfix_win") && a:forced == 0
- unlet! g:lfix_win
- lclose
- else
- execute "lopen " . 10
- let g:lfix_win = "t"
- endif
-endfunction
-
-"au FileType go nmap C (go-clearlay)
-"clear overlay
-command -bang -nargs=? GoCoverlayT call GoCoverlayToggle(0)
-function! GoCoverlayToggle(forced)
- if exists("g:go_coverlay_t") && a:forced == 0
- unlet! g:go_coverlay_t
- GoClearlay
- "call (go-clearlay)
- else
- "call (go-coverlay)
- GoCoverlay
- let g:go_coverlay_t = "t"
- endif
-endfunction
-
-
-" Toggle GoCoverlay
-au FileType go nmap c :GoCoverlayT
-
-" Coquille
-au FileType coq nmap a :CoqToCursor
-au FileType coq imap a :CoqToCursor
-
-" Make the Quickfix window respond well to commands (for instance, q to close,
-" Enter to select, etc). In tandem with the above.
-augroup QFixToggle
- autocmd!
- autocmd BufWinEnter quickfix let g:qfix_win = bufnr("$")
- autocmd BufWinEnter quickfix exec "nnoremap q :QFix"
- autocmd BufWinLeave * if exists("g:qfix_win") && expand("") == g:qfix_win | unlet! g:qfix_win | endif
-augroup END
-
-
-" Execute a command that pipes output to window. Captures output into a new,
-" appropriately titled, buffer.
-function! s:ExecuteInShellOutput(command)
- let command = join(map(split(a:command), 'expand(v:val)'))
- let winnr = bufwinnr('^' . command . '$')
- silent! execute winnr < 0 ? 'botright new ' . fnameescape(command) : winnr . 'wincmd w'
- setlocal buftype=nowrite bufhidden=wipe nobuflisted noswapfile wrap number
- echo 'Executing ' . command . '...'
- silent! execute 'silent %!'. command
-" uncomment this if you want the new buffer to try to grow to accommodate the output
- "silent! execute 'resize ' . line('$')
- silent! redraw
- silent! execute 'au BufUnload execute bufwinnr(' . bufnr('#') . ') . ''wincmd w'''
- silent! execute 'nnoremap r :call ExecuteInShell(''' . command . ''')'
- echo 'Execution of ' . command . ' complete.'
-endfunction
-
-" Same as above, doesn't capture output
-function! s:ExecuteInShell(command)
- let command = join(map(split(a:command), 'expand(v:val)'))
- silent! execute 'silent !'. command
- redraw!
- echo 'Execution of ' . command . ' complete.'
-endfunction
-
-command! -complete=shellcmd -nargs=+ Shell call s:ExecuteInShellOutput()
-command! -complete=shellcmd -nargs=+ Exec call s:ExecuteInShell()
-command! -nargs=* Make call s:ExecuteInShellOutput('make '.)
-command! -nargs=* PTW call s:ExecuteInShell('ptw post --client=vim "'..'"')
-
-" Highlight all instances of word under cursor, when idle.
-" Useful when studying strange source code.
-" Type z/ to toggle highlighting on/off.
-nnoremap z/ :if AutoHighlightToggle()set hlselseset nohlsendif
-function! AutoHighlightToggle()
- let @/ = ''
- if exists('#auto_highlight')
- au! auto_highlight
- augroup! auto_highlight
- setl updatetime=4000
- echo 'Highlight current word: off'
- return 0
- else
- augroup auto_highlight
- au!
- au CursorHold * let @/ = '\V\<'.escape(expand(''), '\').'\>'
- augroup end
- setl updatetime=500
- echo 'Highlight current word: ON'
- return 1
- endif
-endfunction
-
-" Removes trailing spaces
-function AutoTrimWhitespace()
- if exists("b:auto_trim_whitespace")
- if b:auto_trim_whitespace == 1
- let l:winview = winsaveview()
- silent! %s/\s\+$//
- call winrestview(l:winview)
- endif
- endif
-endfunction
-
-function InstallEverything()
- GoUpdateBinaries
- BlackUpgrade
-endfunction
-" ** KEY REMAPPINGS **
-"
-" I used to use tabs, but then I took an arrow to the knee.
-" Tabs in vim suck because they aren't what you want. Use tabbar.
-"nnoremap gc :tabnew
-"nnoremap gK :tabclose
-"nnoremap gn gt
-"nnoremap gp gT
-
-" I don't know how I came up with gt for opening the tree, but it stuck.
-"nmap gt :NERDTreeToggle
-"nmap gt :VimFilerExplorer -winwidth=40 -toggle -direction=rightbelow -parent -status -force-hide
-nmap gt :VimFiler -status -auto-cd -parent -force-quit
-" The same for the TagList, useful for large C files.
-"nmap gb :TlistToggle
-nmap gb :TagbarToggle
-"nnoremap gx :Kwbd
-" :Kwbd (defined below) really kills a buffer dead, and closes the window.
-" gK is similar.
-nnoremap gc :Kwbd
-"nnoremap gc :bdelete
-nnoremap gK :bdelete!
-
-" I use gn/gp to cycle through open tabs/buffers
-nnoremap gn :bn
-nnoremap gp :bp
-nnoremap gz :pclose
-" The single most handy way to get around a file. Cursor over a word, and then
-" type g* -- you'll go to the next instance of that word in the file. Make it
-" easier to reach by calling it gw (go-word) instead of hidden away.
-nnoremap gw g*
-" Make shift-p like p except, put the line above instead of below.
-nmap P op
-" Line-based movement is cute, but it's tricky for files with lines that wrap.
-" Attune more to what you see on the screen instead of where the lines actually
-" are.
-nnoremap j gj
-nnoremap k gk
-xnoremap j gj
-xnoremap k gk
-nnoremap gj
-nnoremap gk
-xnoremap gj
-xnoremap gk
-inoremap gj
-inoremap gk
-"nnoremap
-" Years of using bash and zsh have caused my fingers to expect these Emacs-like
-" mappings to exist. Make them exist in vim as well. But eye them with
-" suspicion, as they come from Emacs.
-nnoremap ^
-nnoremap $
-xnoremap ^
-xnoremap $
-inoremap ^
-inoremap $
-
-" Dealing with split windows is a pain. Make it less of a pain, by making
-" Ctrl-direction appropriate.
-"nnoremap j
-"nnoremap k
-"nnoremap l
-"nnoremap h
-""nnoremap w
-""nnoremap W
-"inoremap j
-"inoremap k
-"inoremap l
-"inoremap h
-
-"if has('nvim')
- "tnoremap
- "tnoremap j
- "tnoremap k
- "tnoremap l
- "tnoremap h
-"endif
-
-" Make it easier to clear highlighting, with no functionality penalty
-nnoremap :noh
-
-" Better fold mappings
-nnoremap @=(foldlevel('.')?'za':'l')
-vnoremap zf
-" Just to be handy, Ctrl-C acts like escape. So does jj, which never really
-" comes up in practice. If you really need to type jj do so slowly.
-imap
-inoremap jj
-
-" Leader key functions
-" See quickfix.
-nnoremap ff :LFix
-" See quickfix.
-nnoremap ss :SyntasticSetLoclist
-" Next quickfix.
-nnoremap fn :lnext
-" Prev quickfix.
-nnoremap fp :lprev
-"nnoremap aa :Denite -mode=normal -buffer-name=search-buffer grep
-nnoremap ac :Denite -resume -buffer-name=search-buffer grep
-nnoremap aw :DeniteCursorWord -buffer-name=search-buffer grep
-call denite#custom#map('insert', '', '')
-"call denite#custom#var('grep', 'command', ['rg'])
-"call denite#custom#var('grep', 'default_opts',
- "\ ['--no-heading', '--color', 'never', '--smart-case'])
-"call denite#custom#var('grep', 'recursive_opts', [])
-"call denite#custom#var('grep', 'pattern_opt', [])
-"call denite#custom#var('grep', 'separator', ['--'])
-"call denite#custom#var('grep', 'final_opts', [])
-"call denite#custom#option('search-buffer', 'highlight_matched_char', 'deniteMatchedChar')
-call denite#custom#var('grep', {
- \ 'command': ['rg'],
- \ 'default_opts': ['-i', '--vimgrep', '--no-heading'],
- \ 'recursive_opts': [],
- \ 'pattern_opt': ['--regexp'],
- \ 'separator': ['--'],
- \ 'final_opts': [],
- \ })
-nnoremap g :Denite -buffer-name=search-buffer grep
-nnoremap aa :RipGrep!
-"nnoremap :Files! `git rev-parse --show-toplevel`
-nnoremap :GFiles
-" For C++ -- A is a great plugin which allows you to jump from the c file to the
-" header and vice-versa. Mneumonic here is headerheader.
-nnoremap hh :A
-" CommandT is useful, but if I'm juggling lots of buffers, limit it to another
-" one I have open (instead of standard t).
-nnoremap o :Buffers
-"nnoremap j
-"nnoremap p :PTW
-nnoremap p :LustyJugglePrevious
-nnoremap jd :YcmCompleter GoToDefinitionElseDeclaration
-nnoremap mm :w:make!
-
-" ** EXTRA INCLUDES **
-"
-let s:extrarc = expand($HOME . '/.vimrc_google')
-if filereadable(s:extrarc)
- exec ':so ' . s:extrarc
-endif
-
-" ** SEE ALSO **
-" filetype.vim
-
-command Comments lexpr system($HOME . '/src/gogh/src/github.com/barakmich/gogh/gogh')
-
-
-"call remote#host#RegisterPlugin('python3', '/home/barak/.vim/bundle/deoplete.nvim/rplugin/python3/deoplete', [
- "\ {'sync': v:true, 'name': '_deoplete', 'type': 'function', 'opts': {}},
- "\ ])
-"
-if !empty($VIRTUAL_ENV)
-" let g:python_host_prog = $VIRTUAL_ENV . '/bin/python'
-" let g:python3_host_prog = $VIRUTAL_ENV . '3/bin/python'
-endif
-
-autocmd FileType denite call s:denite_my_settings()
-function! s:denite_my_settings() abort
- nnoremap
- \ denite#do_map('do_action')
- "nnoremap d
- "\ denite#do_map('do_action', 'delete')
- "nnoremap p
- "\ denite#do_map('do_action', 'preview')
- nnoremap q
- \ denite#do_map('quit')
- nnoremap i
- \ denite#do_map('open_filter_buffer')
- nnoremap
- \ denite#do_map('toggle_select').'j'
-endfunction
-
-map :echo "hi<" . synIDattr(synID(line("."),col("."),1),"name") . '> trans<' . synIDattr(synID(line("."),col("."),0),"name") . "> lo<" . synIDattr(synIDtrans(synID(line("."),col("."),1)),"name") . ">"
diff --git a/.xsession b/.xsession
deleted file mode 120000
index 03280df..0000000
--- a/.xsession
+++ /dev/null
@@ -1 +0,0 @@
-.xinitrc
\ No newline at end of file
diff --git a/.zsh_profile b/.zsh_profile
deleted file mode 120000
index 12f501c..0000000
--- a/.zsh_profile
+++ /dev/null
@@ -1 +0,0 @@
-./.zprofile
\ No newline at end of file
diff --git a/bin/appimage/.gitignore b/bin/appimage/.gitignore
new file mode 100644
index 0000000..e005b29
--- /dev/null
+++ b/bin/appimage/.gitignore
@@ -0,0 +1,2 @@
+*.appimage
+rust-analyzer-linux
diff --git a/bin/neovim/update.sh b/bin/appimage/nvim.sh
similarity index 100%
rename from bin/neovim/update.sh
rename to bin/appimage/nvim.sh
diff --git a/bin/appimage/obsidian.sh b/bin/appimage/obsidian.sh
new file mode 100755
index 0000000..53e75ca
--- /dev/null
+++ b/bin/appimage/obsidian.sh
@@ -0,0 +1,6 @@
+wget -q -O - https://api.github.com/repos/obsidianmd/obsidian-releases/releases/latest \
+| grep -i "browser_download_url.*appimage" \
+| cut -d '"' -f 4 \
+| wget -O obsidian.appimage -i -
+
+chmod +x obsidian.appimage
diff --git a/bin/appimage/rust-analyzer.sh b/bin/appimage/rust-analyzer.sh
new file mode 100755
index 0000000..1ecc0e9
--- /dev/null
+++ b/bin/appimage/rust-analyzer.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+curl -LO https://github.com/rust-analyzer/rust-analyzer/releases/download/nightly/rust-analyzer-linux
+chmod +x rust-analyzer-linux
diff --git a/bin/appimage/update_all.sh b/bin/appimage/update_all.sh
new file mode 100755
index 0000000..43d00d0
--- /dev/null
+++ b/bin/appimage/update_all.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+./rust-analyzer.sh
+./nvim.sh
+./obsidian.sh
diff --git a/bin/capture b/bin/capture
new file mode 100755
index 0000000..0f28e2c
--- /dev/null
+++ b/bin/capture
@@ -0,0 +1,48 @@
+#!/bin/bash
+set -euo pipefail
+
+VAULT_FILE="capture.md"
+VAULT_PATH="$HOME/notebook"
+FILE_IN_VIEW=""
+POSITIONAL=()
+while [[ $# -gt 0 ]]
+do
+key="$1"
+
+case $key in
+ -f|--file)
+ VAULT_FILE="$2"
+ shift # past argument
+ shift # past value
+ ;;
+ --viewing)
+ FILE_IN_VIEW="$2"
+ shift
+ shift
+ ;;
+ *) # unknown option
+ POSITIONAL+=("$1") # save it in an array for later
+ shift # past argument
+ ;;
+esac
+done
+
+TO_PATH="${VAULT_PATH}/${VAULT_FILE}"
+
+cd ${VAULT_PATH}
+git pull -q
+
+echo "" >> ${TO_PATH}
+echo "##### `date`" >> ${TO_PATH}
+if [ -n "${FILE_IN_VIEW}" ]; then
+ echo "In file _${FILE_IN_VIEW}_" >> ${TO_PATH}
+fi
+for s in "${POSITIONAL[@]}" # restore positional parameters
+do
+ echo -n "${s} " >> ${TO_PATH}
+done
+echo "" >> TO_PATH
+
+git add ${TO_PATH}
+git commit -q -m "capture `date +%FT%T`"
+git push -q 2>&1 > /dev/null
diff --git a/bin/ack b/bin/executable_ack
old mode 100755
new mode 100644
similarity index 100%
rename from bin/ack
rename to bin/executable_ack
diff --git a/bin/average b/bin/executable_average
old mode 100755
new mode 100644
similarity index 100%
rename from bin/average
rename to bin/executable_average
diff --git a/bin/executable_battery b/bin/executable_battery
new file mode 100644
index 0000000..03ce28b
--- /dev/null
+++ b/bin/executable_battery
@@ -0,0 +1,132 @@
+#!/bin/sh
+
+HEART_FULL=♥
+HEART_EMPTY=♡
+[ -z "$NUM_HEARTS" ] &&
+ NUM_HEARTS=5
+
+cutinate()
+{
+ perc=$1
+ inc=$(( 100 / $NUM_HEARTS))
+
+
+ for i in `seq $NUM_HEARTS`; do
+ if [ $perc -lt 100 ]; then
+ echo $HEART_EMPTY
+ else
+ echo $HEART_FULL
+ fi
+ perc=$(( $perc + $inc ))
+ done
+}
+
+linux_get_bat ()
+{
+ echo $(( $BAT_TOTAL / $BAT_COUNT ))
+}
+
+
+openbsd_get_bat ()
+{
+ bf=$(sysctl -n hw.sensors.acpibat0.amphour0 | cut -d ' ' -f 1)
+ bn=$(sysctl -n hw.sensors.acpibat0.amphour3 | cut -d ' ' -f 1)
+ echo "(($bn * 100) / $bf)" | bc -l | awk -F '.' '{ print $1 }';
+}
+
+freebsd_get_bat ()
+{
+ sysctl -n hw.acpi.battery.life
+}
+
+battery_status()
+{
+case $(uname -s) in
+ "Linux")
+ BATTERIES=$(ls /sys/class/power_supply | grep BAT)
+ BAT_COUNT=$(ls /sys/class/power_supply | grep BAT | wc -l)
+ [ $BAT_COUNT -eq 0 ] && return
+ for BATTERY in $BATTERIES; do
+ BAT_PATH=/sys/class/power_supply/$BATTERY
+ STATUS=$BAT_PATH/status
+ [ "$1" = `cat $STATUS` ] || [ "$1" = "" ] || return 0
+ if [ -f "$BAT_PATH/energy_full" ]; then
+ naming="energy"
+ elif [ -f "$BAT_PATH/charge_full" ]; then
+ naming="charge"
+ elif [ -f "$BAT_PATH/capacity" ]; then
+ cat "$BAT_PATH/capacity"
+ return 0
+ fi
+ BAT_PERCENT=$(( 100 * $(cat $BAT_PATH/${naming}_now) / $(cat $BAT_PATH/${naming}_full) ))
+ BAT_TOTAL=$(( ${BAT_TOTAL-0} + $BAT_PERCENT ))
+ done
+ linux_get_bat
+ ;;
+ "FreeBSD")
+ STATUS=`sysctl -n hw.acpi.battery.state`
+ case $1 in
+ "Discharging")
+ if [ $STATUS -eq 1 ]; then
+ freebsd_get_bat
+ fi
+ ;;
+ "Charging")
+ if [ $STATUS -eq 2 ]; then
+ freebsd_get_bat
+ fi
+ ;;
+ "")
+ freebsd_get_bat
+ ;;
+ esac
+ ;;
+ "OpenBSD")
+ openbsd_get_bat
+ ;;
+ "Darwin")
+ case $1 in
+ "Discharging")
+ ext="No";;
+ "Charging")
+ ext="Yes";;
+ esac
+
+ ioreg -c AppleSmartBattery -w0 | \
+ grep -o '"[^"]*" = [^ ]*' | \
+ sed -e 's/= //g' -e 's/"//g' | \
+ sort | \
+ while read key value; do
+ case $key in
+ "MaxCapacity")
+ export maxcap=$value;;
+ "CurrentCapacity")
+ export curcap=$value;;
+ "ExternalConnected")
+ if [ -n "$ext" ] && [ "$ext" != "$value" ]; then
+ exit
+ fi
+ ;;
+ "FullyCharged")
+ if [ "$value" = "Yes" ]; then
+ exit
+ fi
+ ;;
+ esac
+ if [[ -n "$maxcap" && -n $curcap ]]; then
+ echo $(( 100 * $curcap / $maxcap ))
+ break
+ fi
+ done
+esac
+}
+
+BATTERY_STATUS=`battery_status $1`
+[ -z "$BATTERY_STATUS" ] && exit
+
+if [ -n "$CUTE_BATTERY_INDICATOR" ]; then
+ cutinate $BATTERY_STATUS
+else
+ echo ${BATTERY_STATUS}%
+fi
+
diff --git a/bin/callout b/bin/executable_callout
old mode 100755
new mode 100644
similarity index 100%
rename from bin/callout
rename to bin/executable_callout
diff --git a/bin/contract b/bin/executable_contract
old mode 100755
new mode 100644
similarity index 100%
rename from bin/contract
rename to bin/executable_contract
diff --git a/bin/cronic b/bin/executable_cronic
old mode 100755
new mode 100644
similarity index 100%
rename from bin/cronic
rename to bin/executable_cronic
diff --git a/bin/gblame b/bin/executable_gblame
old mode 100755
new mode 100644
similarity index 100%
rename from bin/gblame
rename to bin/executable_gblame
diff --git a/bin/executable_gocov.sh b/bin/executable_gocov.sh
new file mode 100644
index 0000000..53c3cef
--- /dev/null
+++ b/bin/executable_gocov.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+set -euo pipefail
+
+POSITIONAL=()
+while [[ $# -gt 0 ]]
+do
+key="$1"
+
+case $key in
+ *) # unknown option
+ POSITIONAL+=("$1") # save it in an array for later
+ shift # past argument
+ ;;
+esac
+done
+set -- "${POSITIONAL[@]}" # restore positional parameters
+
+FILENAME="${POSITIONAL[0]}"
+
+go tool cover -html="$FILENAME" -o "$FILENAME.html"
+elinks "$FILENAME.html"
+rm "$FILENAME.html"
diff --git a/bin/golintc b/bin/executable_golintc
old mode 100755
new mode 100644
similarity index 100%
rename from bin/golintc
rename to bin/executable_golintc
diff --git a/bin/orly b/bin/executable_orly
old mode 100755
new mode 100644
similarity index 100%
rename from bin/orly
rename to bin/executable_orly
diff --git a/bin/pk b/bin/executable_pk
old mode 100755
new mode 100644
similarity index 100%
rename from bin/pk
rename to bin/executable_pk
diff --git a/bin/theyfightcrime b/bin/executable_theyfightcrime
old mode 100755
new mode 100644
similarity index 100%
rename from bin/theyfightcrime
rename to bin/executable_theyfightcrime
diff --git a/bin/vi b/bin/executable_vi
old mode 100755
new mode 100644
similarity index 61%
rename from bin/vi
rename to bin/executable_vi
index faeface..fe58154
--- a/bin/vi
+++ b/bin/executable_vi
@@ -2,7 +2,7 @@
export TERM=xterm-256color
if [ -n "`which nvim`" ]; then
- nvim "$@"
+ exec -a nvim nvim "$@"
else
- vim "$@"
+ exec -a vim vim "$@"
fi
diff --git a/bin/xinput-toggle b/bin/executable_xinput-toggle
old mode 100755
new mode 100644
similarity index 100%
rename from bin/xinput-toggle
rename to bin/executable_xinput-toggle
diff --git a/bin/gettermsize b/bin/gettermsize
deleted file mode 100755
index fdd6482..0000000
Binary files a/bin/gettermsize and /dev/null differ
diff --git a/bin/nvim b/bin/nvim
deleted file mode 120000
index 2f030ee..0000000
--- a/bin/nvim
+++ /dev/null
@@ -1 +0,0 @@
-./neovim/nvim.appimage
\ No newline at end of file
diff --git a/bin/rename_git_branch.sh b/bin/rename_git_branch.sh
new file mode 100644
index 0000000..9eec62f
--- /dev/null
+++ b/bin/rename_git_branch.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+git checkout $1
+git branch -m $1 $2
+git fetch
+git branch --unset-upstream
+git branch -u origin/$2
diff --git a/bin/run_browser b/bin/run_browser
deleted file mode 100755
index 15440ea..0000000
--- a/bin/run_browser
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/bash
-
-if [ -n "`which firefox`" ]; then
- firefox
-elif [ -n "`which iceweasel`" ]; then
- iceweasel
-elif [ -n "`which google-chrome`" ]; then
- google-chrome
-else
- exit 1
-fi
diff --git a/bin/run_terminal b/bin/run_terminal
deleted file mode 100755
index de6d438..0000000
--- a/bin/run_terminal
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/usr/bin/env bash
-
-if [ -n "`which gnome-terminal`" ]; then
- gnome-terminal $@
-elif [ -n "`which terminator`" ]; then
- terminator $@
-elif [ -n "`which urxvt`" ]; then
- urxvt $@
-else
- xterm $@
-fi
diff --git a/bin/run_zotero b/bin/run_zotero
deleted file mode 100755
index 55c0630..0000000
--- a/bin/run_zotero
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/bash
-
-tunnelwrap -i "$HOME/.ssh/id_ed25519" -p 2222 8082:docdav.dav.svc.k8s.barakmich.com:80 barak@barakmich.com "$HOME/local/Zotero_linux-x86_64/zotero"
diff --git a/bin/unborkify b/bin/unborkify
index 120f56d..111940a 100755
--- a/bin/unborkify
+++ b/bin/unborkify
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl
+#!/usr/bin/perl
use Getopt::Std;
getopts('u');
diff --git a/.Xmodmap b/dot_Xmodmap
similarity index 100%
rename from .Xmodmap
rename to dot_Xmodmap
diff --git a/.barak-theme.el b/dot_barak-theme.el
similarity index 100%
rename from .barak-theme.el
rename to dot_barak-theme.el
diff --git a/.bash_aliases b/dot_bash_aliases
similarity index 96%
rename from .bash_aliases
rename to dot_bash_aliases
index 272f2bb..045adcf 100644
--- a/.bash_aliases
+++ b/dot_bash_aliases
@@ -104,6 +104,10 @@ dobenchx() {
}
alias benchx=dobenchx
+do_killgrep() {
+ ps auxwww | grep $1 | awk '{print $2}' | xargs kill
+}
+alias killgrep=do_killgrep
#function gvim () {
#`which gvim` $* &> /dev/null
#}
diff --git a/dot_bash_k8s_aliases b/dot_bash_k8s_aliases
new file mode 100644
index 0000000..fd669eb
--- /dev/null
+++ b/dot_bash_k8s_aliases
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+k8s-configmap-from-dir () {
+ local name=$1
+ shift
+ local dir=$1
+ shift
+ if
+ kubectl create configmap "$1" --from-file="$2" -o yaml --dry-run "$@"
+}
diff --git a/.bash_logout b/dot_bash_logout
similarity index 100%
rename from .bash_logout
rename to dot_bash_logout
diff --git a/.bash_profile b/dot_bash_profile
similarity index 96%
rename from .bash_profile
rename to dot_bash_profile
index 9aee501..6df125f 100644
--- a/.bash_profile
+++ b/dot_bash_profile
@@ -20,3 +20,4 @@ fi
# Added by ~/.emacs.d/install.sh
export PATH=$HOME/.cask/bin:$PATH
+. "$HOME/.cargo/env"
diff --git a/.bashrc b/dot_bashrc
similarity index 99%
rename from .bashrc
rename to dot_bashrc
index f714772..57a4468 100644
--- a/.bashrc
+++ b/dot_bashrc
@@ -161,3 +161,4 @@ fi
if [ -f ~/local/google-cloud-sdk/completion.bash.inc ]; then
. ~/local/google-cloud-sdk/completion.bash.inc
fi
+. "$HOME/.cargo/env"
diff --git a/.cargo/config.toml b/dot_cargo/config.toml
similarity index 100%
rename from .cargo/config.toml
rename to dot_cargo/config.toml
diff --git a/.compton.conf b/dot_compton.conf
similarity index 86%
rename from .compton.conf
rename to dot_compton.conf
index d96022a..e46d1aa 100644
--- a/.compton.conf
+++ b/dot_compton.conf
@@ -1,8 +1,8 @@
# Shadow
shadow = true;
-no-dnd-shadow = true;
-no-dock-shadow = true;
-clear-shadow = true;
+#no-dnd-shadow = true;
+#no-dock-shadow = true;
+#clear-shadow = true;
shadow-radius = 7;
shadow-offset-x = -7;
shadow-offset-y = -7;
@@ -23,12 +23,11 @@ shadow-exclude = [
# xinerama-shadow-crop = true;
# Opacity
-menu-opacity = 0.9;
#inactive-opacity = 0.9;
# active-opacity = 0.8;
frame-opacity = 0.7;
#inactive-opacity-override = false;
-alpha-step = 0.06;
+#alpha-step = 0.06;
inactive-dim = 0.12;
# inactive-dim-fixed = true;
# blur-background = true;
@@ -60,9 +59,9 @@ mark-ovredir-focused = true;
detect-rounded-corners = true;
detect-client-opacity = true;
refresh-rate = 0;
-vsync = "none";
+vsync = false;
dbe = false;
-paint-on-overlay = true;
+#paint-on-overlay = true;
# unredir-if-possible-delay = 5000;
# unredir-if-possible-exclude = [ ];
focus-exclude = [ "class_g = 'Cairo-clock'" ];
@@ -76,7 +75,8 @@ invert-color-include = [ ];
glx-copy-from-front = false;
# glx-use-copysubbuffermesa = true;
# glx-no-rebind-pixmap = true;
-glx-swap-method = "undefined";
+#glx-swap-method = "undefined";
+use-damage = true;
# glx-use-gpushader4 = true;
# xrender-sync = true;
# xrender-sync-fence = true;
@@ -85,4 +85,8 @@ glx-swap-method = "undefined";
wintypes:
{
tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; };
+ dock = { shadow = false; }
+ dnd = { shadow = false; }
+ popup_menu = { opacity = 0.9; }
+ dropdown_menu = { opacity = 0.9; }
};
diff --git a/dot_config/alacritty/alacritty.toml.tmpl b/dot_config/alacritty/alacritty.toml.tmpl
new file mode 100644
index 0000000..2d92f29
--- /dev/null
+++ b/dot_config/alacritty/alacritty.toml.tmpl
@@ -0,0 +1,148 @@
+[bell]
+color = "#ffffff"
+duration = 200
+
+[colors]
+draw_bold_text_with_bright_colors = false
+
+[colors.bright]
+black = "#565656"
+blue = "#49a4f8"
+cyan = "#99faf2"
+green = "#c0e17d"
+magenta = "#a47de9"
+red = "#ec5357"
+white = "#ffffff"
+yellow = "#f9da6a"
+
+[colors.normal]
+black = "#2e2e2e"
+blue = "#47a0f3"
+cyan = "#64dbed"
+green = "#abe047"
+magenta = "#7b5cb0"
+red = "#eb4129"
+white = "#e5e9f0"
+yellow = "#f6c744"
+
+[colors.primary]
+background = "#000000"
+foreground = "#fffbf6"
+
+[env]
+TERM = "xterm-256color"
+
+[font]
+{{if eq .chezmoi.hostname "lysander" -}}
+size = 15.5
+{{ else if eq .chezmoi.hostname "mercutio" -}}
+size = 19.0
+{{ else if eq .chezmoi.hostname "rosencrantz" -}}
+size = 15.0
+{{ else if eq .chezmoi.hostname "altair" -}}
+size = 22
+{{ else if eq .chezmoi.hostname "hermia" -}}
+size = 20.5
+{{ else -}}
+size = 19.0
+{{ end }}
+
+[font.bold]
+style = "Semi-Condensed"
+#style = "Regular"
+
+[font.bold_italic]
+style = "Semi-Condensed Oblique"
+#style = "Italic"
+
+[font.italic]
+style = "Light Semi-Condensed Oblique"
+#style = "Light Italic"
+
+[font.normal]
+family = "Iosevka Berkeley"
+style = "Light Semi-Condensed"
+#style = "Light"
+
+[hints]
+alphabet = "jfkdls;ahgurieowpq"
+
+[[hints.enabled]]
+action = "Copy"
+regex = "[a-f0-9]{7,}"
+
+[hints.enabled.binding]
+key = "H"
+mods = "Control|Shift"
+
+[[hints.enabled]]
+action = "Copy"
+regex = "(magnet:|mailto:|https:|http:|news:|file:|git:|ssh:|ftp:)[^\u0000-\u001F\u007F-<>\"\\s{-}\\^⟨⟩`]+"
+
+[hints.enabled.binding]
+key = "U"
+mods = "Control|Shift"
+
+[[hints.enabled]]
+post_processing = true
+regex = "(magnet:|mailto:|https:|http:|news:|file:|git:|ssh:|ftp:)[^\u0000-\u001F\u007F-<>\"\\s{-}\\^⟨⟩`]+"
+{{if eq .chezmoi.os "darwin" -}}
+command = "open"
+{{ else -}}
+command = "xdg-open"
+{{ end }}
+
+[hints.enabled.binding]
+key = "L"
+mods = "Control|Shift"
+
+[hints.enabled.mouse]
+enabled = true
+mods = "None"
+
+[[keyboard.bindings]]
+action = "ToggleViMode"
+key = "Q"
+mode = "Vi|~Search"
+
+[[keyboard.bindings]]
+action = "Paste"
+key = "P"
+mode = "Vi|~Search"
+
+[[keyboard.bindings]]
+{{if eq .chezmoi.hostname "rosencrantz" -}}
+action = "ToggleFullscreen"
+{{ else -}}
+action = "ToggleMaximized"
+{{ end }}
+key = "Return"
+mods = "Alt"
+
+[[keyboard.bindings]]
+action = "ToggleSimpleFullscreen"
+key = "Return"
+mods = "Command"
+
+[[keyboard.bindings]]
+chars = "\u001B."
+key = "Period"
+mods = "Command"
+
+[scrolling]
+history = 10000
+multiplier = 3
+
+[window]
+opacity = 0.88
+startup_mode = "Windowed"
+option_as_alt = "Both"
+#decorations = "None"
+
+[window.dimensions]
+columns = 106
+lines = 24
+
+[window.padding]
+x = 3
+y = 3
diff --git a/.config/awesome/btheme/README b/dot_config/awesome/btheme/README
similarity index 100%
rename from .config/awesome/btheme/README
rename to dot_config/awesome/btheme/README
diff --git a/.config/awesome/btheme/background.png b/dot_config/awesome/btheme/background.png
similarity index 100%
rename from .config/awesome/btheme/background.png
rename to dot_config/awesome/btheme/background.png
diff --git a/.config/awesome/btheme/background_white.png b/dot_config/awesome/btheme/background_white.png
similarity index 100%
rename from .config/awesome/btheme/background_white.png
rename to dot_config/awesome/btheme/background_white.png
diff --git a/.config/awesome/btheme/layouts/dwindle.png b/dot_config/awesome/btheme/layouts/dwindle.png
similarity index 100%
rename from .config/awesome/btheme/layouts/dwindle.png
rename to dot_config/awesome/btheme/layouts/dwindle.png
diff --git a/.config/awesome/btheme/layouts/dwindlew.png b/dot_config/awesome/btheme/layouts/dwindlew.png
similarity index 100%
rename from .config/awesome/btheme/layouts/dwindlew.png
rename to dot_config/awesome/btheme/layouts/dwindlew.png
diff --git a/.config/awesome/btheme/layouts/fairh.png b/dot_config/awesome/btheme/layouts/fairh.png
similarity index 100%
rename from .config/awesome/btheme/layouts/fairh.png
rename to dot_config/awesome/btheme/layouts/fairh.png
diff --git a/.config/awesome/btheme/layouts/fairhw.png b/dot_config/awesome/btheme/layouts/fairhw.png
similarity index 100%
rename from .config/awesome/btheme/layouts/fairhw.png
rename to dot_config/awesome/btheme/layouts/fairhw.png
diff --git a/.config/awesome/btheme/layouts/fairv.png b/dot_config/awesome/btheme/layouts/fairv.png
similarity index 100%
rename from .config/awesome/btheme/layouts/fairv.png
rename to dot_config/awesome/btheme/layouts/fairv.png
diff --git a/.config/awesome/btheme/layouts/fairvw.png b/dot_config/awesome/btheme/layouts/fairvw.png
similarity index 100%
rename from .config/awesome/btheme/layouts/fairvw.png
rename to dot_config/awesome/btheme/layouts/fairvw.png
diff --git a/.config/awesome/btheme/layouts/floating.png b/dot_config/awesome/btheme/layouts/floating.png
similarity index 100%
rename from .config/awesome/btheme/layouts/floating.png
rename to dot_config/awesome/btheme/layouts/floating.png
diff --git a/.config/awesome/btheme/layouts/floatingw.png b/dot_config/awesome/btheme/layouts/floatingw.png
similarity index 100%
rename from .config/awesome/btheme/layouts/floatingw.png
rename to dot_config/awesome/btheme/layouts/floatingw.png
diff --git a/.config/awesome/btheme/layouts/fullscreen.png b/dot_config/awesome/btheme/layouts/fullscreen.png
similarity index 100%
rename from .config/awesome/btheme/layouts/fullscreen.png
rename to dot_config/awesome/btheme/layouts/fullscreen.png
diff --git a/.config/awesome/btheme/layouts/fullscreenw.png b/dot_config/awesome/btheme/layouts/fullscreenw.png
similarity index 100%
rename from .config/awesome/btheme/layouts/fullscreenw.png
rename to dot_config/awesome/btheme/layouts/fullscreenw.png
diff --git a/.config/awesome/btheme/layouts/magnifier.png b/dot_config/awesome/btheme/layouts/magnifier.png
similarity index 100%
rename from .config/awesome/btheme/layouts/magnifier.png
rename to dot_config/awesome/btheme/layouts/magnifier.png
diff --git a/.config/awesome/btheme/layouts/magnifierw.png b/dot_config/awesome/btheme/layouts/magnifierw.png
similarity index 100%
rename from .config/awesome/btheme/layouts/magnifierw.png
rename to dot_config/awesome/btheme/layouts/magnifierw.png
diff --git a/.config/awesome/btheme/layouts/max.png b/dot_config/awesome/btheme/layouts/max.png
similarity index 100%
rename from .config/awesome/btheme/layouts/max.png
rename to dot_config/awesome/btheme/layouts/max.png
diff --git a/.config/awesome/btheme/layouts/maxw.png b/dot_config/awesome/btheme/layouts/maxw.png
similarity index 100%
rename from .config/awesome/btheme/layouts/maxw.png
rename to dot_config/awesome/btheme/layouts/maxw.png
diff --git a/.config/awesome/btheme/layouts/spiral.png b/dot_config/awesome/btheme/layouts/spiral.png
similarity index 100%
rename from .config/awesome/btheme/layouts/spiral.png
rename to dot_config/awesome/btheme/layouts/spiral.png
diff --git a/.config/awesome/btheme/layouts/spiralw.png b/dot_config/awesome/btheme/layouts/spiralw.png
similarity index 100%
rename from .config/awesome/btheme/layouts/spiralw.png
rename to dot_config/awesome/btheme/layouts/spiralw.png
diff --git a/.config/awesome/btheme/layouts/tile.png b/dot_config/awesome/btheme/layouts/tile.png
similarity index 100%
rename from .config/awesome/btheme/layouts/tile.png
rename to dot_config/awesome/btheme/layouts/tile.png
diff --git a/.config/awesome/btheme/layouts/tilebottom.png b/dot_config/awesome/btheme/layouts/tilebottom.png
similarity index 100%
rename from .config/awesome/btheme/layouts/tilebottom.png
rename to dot_config/awesome/btheme/layouts/tilebottom.png
diff --git a/.config/awesome/btheme/layouts/tilebottomw.png b/dot_config/awesome/btheme/layouts/tilebottomw.png
similarity index 100%
rename from .config/awesome/btheme/layouts/tilebottomw.png
rename to dot_config/awesome/btheme/layouts/tilebottomw.png
diff --git a/.config/awesome/btheme/layouts/tileleft.png b/dot_config/awesome/btheme/layouts/tileleft.png
similarity index 100%
rename from .config/awesome/btheme/layouts/tileleft.png
rename to dot_config/awesome/btheme/layouts/tileleft.png
diff --git a/.config/awesome/btheme/layouts/tileleftw.png b/dot_config/awesome/btheme/layouts/tileleftw.png
similarity index 100%
rename from .config/awesome/btheme/layouts/tileleftw.png
rename to dot_config/awesome/btheme/layouts/tileleftw.png
diff --git a/.config/awesome/btheme/layouts/tiletop.png b/dot_config/awesome/btheme/layouts/tiletop.png
similarity index 100%
rename from .config/awesome/btheme/layouts/tiletop.png
rename to dot_config/awesome/btheme/layouts/tiletop.png
diff --git a/.config/awesome/btheme/layouts/tiletopw.png b/dot_config/awesome/btheme/layouts/tiletopw.png
similarity index 100%
rename from .config/awesome/btheme/layouts/tiletopw.png
rename to dot_config/awesome/btheme/layouts/tiletopw.png
diff --git a/.config/awesome/btheme/layouts/tilew.png b/dot_config/awesome/btheme/layouts/tilew.png
similarity index 100%
rename from .config/awesome/btheme/layouts/tilew.png
rename to dot_config/awesome/btheme/layouts/tilew.png
diff --git a/.config/awesome/btheme/submenu.png b/dot_config/awesome/btheme/submenu.png
similarity index 100%
rename from .config/awesome/btheme/submenu.png
rename to dot_config/awesome/btheme/submenu.png
diff --git a/.config/awesome/btheme/taglist/squarefw.png b/dot_config/awesome/btheme/taglist/squarefw.png
similarity index 100%
rename from .config/awesome/btheme/taglist/squarefw.png
rename to dot_config/awesome/btheme/taglist/squarefw.png
diff --git a/.config/awesome/btheme/taglist/squarew.png b/dot_config/awesome/btheme/taglist/squarew.png
similarity index 100%
rename from .config/awesome/btheme/taglist/squarew.png
rename to dot_config/awesome/btheme/taglist/squarew.png
diff --git a/.config/awesome/btheme/tasklist/floating.png b/dot_config/awesome/btheme/tasklist/floating.png
similarity index 100%
rename from .config/awesome/btheme/tasklist/floating.png
rename to dot_config/awesome/btheme/tasklist/floating.png
diff --git a/.config/awesome/btheme/tasklist/floatingw.png b/dot_config/awesome/btheme/tasklist/floatingw.png
similarity index 100%
rename from .config/awesome/btheme/tasklist/floatingw.png
rename to dot_config/awesome/btheme/tasklist/floatingw.png
diff --git a/.config/awesome/btheme/theme.lua b/dot_config/awesome/btheme/theme.lua
similarity index 100%
rename from .config/awesome/btheme/theme.lua
rename to dot_config/awesome/btheme/theme.lua
diff --git a/.config/awesome/btheme/titlebar/close_focus.png b/dot_config/awesome/btheme/titlebar/close_focus.png
similarity index 100%
rename from .config/awesome/btheme/titlebar/close_focus.png
rename to dot_config/awesome/btheme/titlebar/close_focus.png
diff --git a/.config/awesome/btheme/titlebar/close_normal.png b/dot_config/awesome/btheme/titlebar/close_normal.png
similarity index 100%
rename from .config/awesome/btheme/titlebar/close_normal.png
rename to dot_config/awesome/btheme/titlebar/close_normal.png
diff --git a/.config/awesome/btheme/titlebar/floating_focus_active.png b/dot_config/awesome/btheme/titlebar/floating_focus_active.png
similarity index 100%
rename from .config/awesome/btheme/titlebar/floating_focus_active.png
rename to dot_config/awesome/btheme/titlebar/floating_focus_active.png
diff --git a/.config/awesome/btheme/titlebar/floating_focus_inactive.png b/dot_config/awesome/btheme/titlebar/floating_focus_inactive.png
similarity index 100%
rename from .config/awesome/btheme/titlebar/floating_focus_inactive.png
rename to dot_config/awesome/btheme/titlebar/floating_focus_inactive.png
diff --git a/.config/awesome/btheme/titlebar/floating_normal_active.png b/dot_config/awesome/btheme/titlebar/floating_normal_active.png
similarity index 100%
rename from .config/awesome/btheme/titlebar/floating_normal_active.png
rename to dot_config/awesome/btheme/titlebar/floating_normal_active.png
diff --git a/.config/awesome/btheme/titlebar/floating_normal_inactive.png b/dot_config/awesome/btheme/titlebar/floating_normal_inactive.png
similarity index 100%
rename from .config/awesome/btheme/titlebar/floating_normal_inactive.png
rename to dot_config/awesome/btheme/titlebar/floating_normal_inactive.png
diff --git a/.config/awesome/btheme/titlebar/maximized_focus_active.png b/dot_config/awesome/btheme/titlebar/maximized_focus_active.png
similarity index 100%
rename from .config/awesome/btheme/titlebar/maximized_focus_active.png
rename to dot_config/awesome/btheme/titlebar/maximized_focus_active.png
diff --git a/.config/awesome/btheme/titlebar/maximized_focus_inactive.png b/dot_config/awesome/btheme/titlebar/maximized_focus_inactive.png
similarity index 100%
rename from .config/awesome/btheme/titlebar/maximized_focus_inactive.png
rename to dot_config/awesome/btheme/titlebar/maximized_focus_inactive.png
diff --git a/.config/awesome/btheme/titlebar/maximized_normal_active.png b/dot_config/awesome/btheme/titlebar/maximized_normal_active.png
similarity index 100%
rename from .config/awesome/btheme/titlebar/maximized_normal_active.png
rename to dot_config/awesome/btheme/titlebar/maximized_normal_active.png
diff --git a/.config/awesome/btheme/titlebar/maximized_normal_inactive.png b/dot_config/awesome/btheme/titlebar/maximized_normal_inactive.png
similarity index 100%
rename from .config/awesome/btheme/titlebar/maximized_normal_inactive.png
rename to dot_config/awesome/btheme/titlebar/maximized_normal_inactive.png
diff --git a/.config/awesome/btheme/titlebar/ontop_focus_active.png b/dot_config/awesome/btheme/titlebar/ontop_focus_active.png
similarity index 100%
rename from .config/awesome/btheme/titlebar/ontop_focus_active.png
rename to dot_config/awesome/btheme/titlebar/ontop_focus_active.png
diff --git a/.config/awesome/btheme/titlebar/ontop_focus_inactive.png b/dot_config/awesome/btheme/titlebar/ontop_focus_inactive.png
similarity index 100%
rename from .config/awesome/btheme/titlebar/ontop_focus_inactive.png
rename to dot_config/awesome/btheme/titlebar/ontop_focus_inactive.png
diff --git a/.config/awesome/btheme/titlebar/ontop_normal_active.png b/dot_config/awesome/btheme/titlebar/ontop_normal_active.png
similarity index 100%
rename from .config/awesome/btheme/titlebar/ontop_normal_active.png
rename to dot_config/awesome/btheme/titlebar/ontop_normal_active.png
diff --git a/.config/awesome/btheme/titlebar/ontop_normal_inactive.png b/dot_config/awesome/btheme/titlebar/ontop_normal_inactive.png
similarity index 100%
rename from .config/awesome/btheme/titlebar/ontop_normal_inactive.png
rename to dot_config/awesome/btheme/titlebar/ontop_normal_inactive.png
diff --git a/.config/awesome/btheme/titlebar/sticky_focus_active.png b/dot_config/awesome/btheme/titlebar/sticky_focus_active.png
similarity index 100%
rename from .config/awesome/btheme/titlebar/sticky_focus_active.png
rename to dot_config/awesome/btheme/titlebar/sticky_focus_active.png
diff --git a/.config/awesome/btheme/titlebar/sticky_focus_inactive.png b/dot_config/awesome/btheme/titlebar/sticky_focus_inactive.png
similarity index 100%
rename from .config/awesome/btheme/titlebar/sticky_focus_inactive.png
rename to dot_config/awesome/btheme/titlebar/sticky_focus_inactive.png
diff --git a/.config/awesome/btheme/titlebar/sticky_normal_active.png b/dot_config/awesome/btheme/titlebar/sticky_normal_active.png
similarity index 100%
rename from .config/awesome/btheme/titlebar/sticky_normal_active.png
rename to dot_config/awesome/btheme/titlebar/sticky_normal_active.png
diff --git a/.config/awesome/btheme/titlebar/sticky_normal_inactive.png b/dot_config/awesome/btheme/titlebar/sticky_normal_inactive.png
similarity index 100%
rename from .config/awesome/btheme/titlebar/sticky_normal_inactive.png
rename to dot_config/awesome/btheme/titlebar/sticky_normal_inactive.png
diff --git a/.config/awesome/rc.lua b/dot_config/awesome/rc.lua
similarity index 100%
rename from .config/awesome/rc.lua
rename to dot_config/awesome/rc.lua
diff --git a/dot_config/coc/extensions/package.json b/dot_config/coc/extensions/package.json
new file mode 100644
index 0000000..007e69a
--- /dev/null
+++ b/dot_config/coc/extensions/package.json
@@ -0,0 +1,11 @@
+{
+ "dependencies": {
+ "coc-json": ">=1.3.4",
+ "coc-pyright": ">=1.1.129",
+ "coc-rust-analyzer": ">=0.32.0",
+ "coc-snippets": ">=2.4.1",
+ "coc-svelte": ">=0.2.2",
+ "coc-tsserver": ">=1.7.0",
+ "coc-ultisnips": ">=1.2.3"
+ }
+}
\ No newline at end of file
diff --git a/dot_config/elinks/elinks.conf b/dot_config/elinks/elinks.conf
new file mode 100644
index 0000000..eb38a51
--- /dev/null
+++ b/dot_config/elinks/elinks.conf
@@ -0,0 +1,50 @@
+## ELinks 0.17.0 configuration file
+
+## This is ELinks configuration file. You can edit it manually,
+## if you wish so; this file is edited by ELinks when you save
+## options through UI, however only option values will be altered
+## and missing options will be added at the end of file; if option
+## is not written in this file, but in some file included from it,
+## it is NOT counted as missing. Note that all your formatting,
+## own comments and so on will be kept as-is.
+##
+## Obviously, if you don't like what ELinks is going to do with
+## this file, you can change it by altering the config.saving_style
+## option. Come on, aren't we friendly guys after all?
+
+
+
+##############################
+# Automatically saved options
+#
+
+## config
+# Configuration handling options.
+
+ ## config.saving_style_w [0|1]
+ # This is internal option used when displaying a warning about obsolete
+ # config.saving_style. You shouldn't touch it.
+ set config.saving_style_w = 1
+
+
+## terminal
+# Terminal options.
+
+ ## terminal.tmux-256color
+ # Options specific to this terminal type (according to $TERM value).
+
+ ## terminal.tmux-256color.colors
+ set terminal.tmux-256color.colors = 3
+ ## terminal.tmux-256color.type
+ set terminal.tmux-256color.type = 0
+
+
+## ui
+# User interface options.
+
+ ## ui.language
+ # Language of user interface. 'System' means that the language will be
+ # extracted from the environment dynamically.
+ set ui.language = "System"
+
+
diff --git a/dot_config/fish/.gitignore b/dot_config/fish/.gitignore
new file mode 100644
index 0000000..44e4e55
--- /dev/null
+++ b/dot_config/fish/.gitignore
@@ -0,0 +1 @@
+work.fish
diff --git a/dot_config/fish/completions/cargo.fish b/dot_config/fish/completions/cargo.fish
new file mode 100644
index 0000000..3c1f8c5
--- /dev/null
+++ b/dot_config/fish/completions/cargo.fish
@@ -0,0 +1,802 @@
+# Tab completion for cargo (https://github.com/rust-lang/cargo).
+
+## --- WRITTEN MANUALLY ---
+set -l __fish_cargo_subcommands (cargo --list 2>&1 | string replace -rf '^\s+([^\s]+)\s*(.*)' '$1\t$2' | string escape)
+
+complete -c cargo -f -c cargo -n __fish_use_subcommand -a "$__fish_cargo_subcommands"
+complete -c cargo -x -c cargo -n '__fish_seen_subcommand_from help' -a "$__fish_cargo_subcommands"
+
+for x in bench b build rustc t test
+ complete -c cargo -x -n "__fish_seen_subcommand_from $x" -l bench -a "(cargo bench --bench 2>&1 | string replace -rf '^\s+' '')"
+ complete -c cargo -n "__fish_seen_subcommand_from $x" -l lib -d 'Only this package\'s library'
+ complete -c cargo -x -n "__fish_seen_subcommand_from $x" -l test -a "(cargo test --test 2>&1 | string replace -rf '^\s+' '')"
+end
+
+for x in bench b build r run rustc t test
+ complete -c cargo -x -n "__fish_seen_subcommand_from $x" -l bin -a "(cargo run --bin 2>&1 | string replace -rf '^\s+' '')"
+ complete -c cargo -x -n "__fish_seen_subcommand_from $x" -l example -a "(cargo run --example 2>&1 | string replace -rf '^\s+' '')"
+end
+
+function __fish_cargo_packages
+ find . -name Cargo.toml | string replace -rf '.*/([^/]+)/?Cargo.toml' '$1'
+end
+complete -c cargo -n '__fish_seen_subcommand_from run test build debug check' -l package \
+ -xa "(__fish_cargo_packages)"
+
+## --- AUTO-GENERATED WITH `cargo complete fish` ---
+complete -c cargo -n __fish_use_subcommand -l explain -d 'Run `rustc --explain CODE`'
+complete -c cargo -n __fish_use_subcommand -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n __fish_use_subcommand -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n __fish_use_subcommand -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n __fish_use_subcommand -s V -l version -d 'Print version info and exit'
+complete -c cargo -n __fish_use_subcommand -l list -d 'List installed commands'
+complete -c cargo -n __fish_use_subcommand -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n __fish_use_subcommand -s q -l quiet -d 'No output printed to stdout'
+complete -c cargo -n __fish_use_subcommand -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n __fish_use_subcommand -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n __fish_use_subcommand -l offline -d 'Run without accessing the network'
+complete -c cargo -n __fish_use_subcommand -s h -l help -d 'Prints help information'
+complete -c cargo -n __fish_use_subcommand -f -a bench -d 'Execute all benchmarks of a local package'
+complete -c cargo -n __fish_use_subcommand -f -a build -d 'Compile a local package and all of its dependencies'
+complete -c cargo -n __fish_use_subcommand -f -a check -d 'Check a local package and all of its dependencies for errors'
+complete -c cargo -n __fish_use_subcommand -f -a clean -d 'Remove artifacts that cargo has generated in the past'
+complete -c cargo -n __fish_use_subcommand -f -a complete -d 'Generate completion file for a shell'
+complete -c cargo -n __fish_use_subcommand -f -a describe-future-incompatibilities -d 'Reports any crates which will eventually stop compiling'
+complete -c cargo -n __fish_use_subcommand -f -a doc -d 'Build a package\'s documentation'
+complete -c cargo -n __fish_use_subcommand -f -a fetch -d 'Fetch dependencies of a package from the network'
+complete -c cargo -n __fish_use_subcommand -f -a fix -d 'Automatically fix lint warnings reported by rustc'
+complete -c cargo -n __fish_use_subcommand -f -a generate-lockfile -d 'Generate the lockfile for a package'
+complete -c cargo -n __fish_use_subcommand -f -a git-checkout -d 'This subcommand has been removed'
+complete -c cargo -n __fish_use_subcommand -f -a init -d 'Create a new cargo package in an existing directory'
+complete -c cargo -n __fish_use_subcommand -f -a install -d 'Install a Rust binary. Default location is $HOME/.cargo/bin'
+complete -c cargo -n __fish_use_subcommand -f -a locate-project -d 'Print a JSON representation of a Cargo.toml file\'s location'
+complete -c cargo -n __fish_use_subcommand -f -a login -d 'Save an api token from the registry locally. If token is not specified, it will be read from stdin.'
+complete -c cargo -n __fish_use_subcommand -f -a logout -d 'Remove an API token from the registry locally'
+complete -c cargo -n __fish_use_subcommand -f -a metadata -d 'Output the resolved dependencies of a package, the concrete used versions including overrides, in machine-readable format'
+complete -c cargo -n __fish_use_subcommand -f -a new -d 'Create a new cargo package at '
+complete -c cargo -n __fish_use_subcommand -f -a owner -d 'Manage the owners of a crate on the registry'
+complete -c cargo -n __fish_use_subcommand -f -a package -d 'Assemble the local package into a distributable tarball'
+complete -c cargo -n __fish_use_subcommand -f -a pkgid -d 'Print a fully qualified package specification'
+complete -c cargo -n __fish_use_subcommand -f -a publish -d 'Upload a package to the registry'
+complete -c cargo -n __fish_use_subcommand -f -a read-manifest -d 'Print a JSON representation of a Cargo.toml manifest.
+
+Deprecated, use `cargo metadata --no-deps` instead.'
+complete -c cargo -n __fish_use_subcommand -f -a run -d 'Run a binary or example of the local package'
+complete -c cargo -n __fish_use_subcommand -f -a rustc -d 'Compile a package, and pass extra options to the compiler'
+complete -c cargo -n __fish_use_subcommand -f -a rustdoc -d 'Build a package\'s documentation, using specified custom flags.'
+complete -c cargo -n __fish_use_subcommand -f -a search -d 'Search packages in crates.io'
+complete -c cargo -n __fish_use_subcommand -f -a test -d 'Execute all unit and integration tests and build examples of a local package'
+complete -c cargo -n __fish_use_subcommand -f -a tree -d 'Display a tree visualization of a dependency graph'
+complete -c cargo -n __fish_use_subcommand -f -a uninstall -d 'Remove a Rust binary'
+complete -c cargo -n __fish_use_subcommand -f -a update -d 'Update dependencies as recorded in the local lock file'
+complete -c cargo -n __fish_use_subcommand -f -a vendor -d 'Vendor all dependencies for a project locally'
+complete -c cargo -n __fish_use_subcommand -f -a verify-project -d 'Check correctness of crate manifest'
+complete -c cargo -n __fish_use_subcommand -f -a version -d 'Show version information'
+complete -c cargo -n __fish_use_subcommand -f -a yank -d 'Remove a pushed crate from the index'
+complete -c cargo -n __fish_use_subcommand -f -a help -d 'Prints this message or the help of the given subcommand(s)'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -l bin -d 'Benchmark only the specified binary'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -l example -d 'Benchmark only the specified example'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -l test -d 'Benchmark only the specified test target'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -l bench -d 'Benchmark only the specified bench target'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -s p -l package -d 'Package to run benchmarks for'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -l exclude -d 'Exclude packages from the benchmark'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -s j -l jobs -d 'Number of parallel jobs, defaults to # of CPUs'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -l features -d 'Space or comma separated list of features to activate'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -l target -d 'Build for the target triple'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -l target-dir -d 'Directory for all generated artifacts'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -l manifest-path -d 'Path to Cargo.toml'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -l message-format -d 'Error format'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -s q -l quiet -d 'No output printed to stdout'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -l lib -d 'Benchmark only this package\'s library'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -l bins -d 'Benchmark all binaries'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -l examples -d 'Benchmark all examples'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -l tests -d 'Benchmark all tests'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -l benches -d 'Benchmark all benches'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -l all-targets -d 'Benchmark all targets'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -l no-run -d 'Compile, but don\'t run benchmarks'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -l all -d 'Alias for --workspace (deprecated)'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -l workspace -d 'Benchmark all packages in the workspace'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -l all-features -d 'Activate all available features'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -l no-default-features -d 'Do not activate the `default` feature'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -l ignore-rust-version -d 'Ignore `rust-version` specification in packages (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -l no-fail-fast -d 'Run all benchmarks regardless of failure'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -l unit-graph -d 'Output build graph in JSON (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -s V -l version -d 'Prints version information'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from bench" -l offline -d 'Run without accessing the network'
+complete -c cargo -n "__fish_seen_subcommand_from build" -s p -l package -d 'Package to build (see `cargo help pkgid`)'
+complete -c cargo -n "__fish_seen_subcommand_from build" -l exclude -d 'Exclude packages from the build'
+complete -c cargo -n "__fish_seen_subcommand_from build" -s j -l jobs -d 'Number of parallel jobs, defaults to # of CPUs'
+complete -c cargo -n "__fish_seen_subcommand_from build" -l bin -d 'Build only the specified binary'
+complete -c cargo -n "__fish_seen_subcommand_from build" -l example -d 'Build only the specified example'
+complete -c cargo -n "__fish_seen_subcommand_from build" -l test -d 'Build only the specified test target'
+complete -c cargo -n "__fish_seen_subcommand_from build" -l bench -d 'Build only the specified bench target'
+complete -c cargo -n "__fish_seen_subcommand_from build" -l profile -d 'Build artifacts with the specified profile'
+complete -c cargo -n "__fish_seen_subcommand_from build" -l features -d 'Space or comma separated list of features to activate'
+complete -c cargo -n "__fish_seen_subcommand_from build" -l target -d 'Build for the target triple'
+complete -c cargo -n "__fish_seen_subcommand_from build" -l target-dir -d 'Directory for all generated artifacts'
+complete -c cargo -n "__fish_seen_subcommand_from build" -l out-dir -d 'Copy final artifacts to this directory (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from build" -l manifest-path -d 'Path to Cargo.toml'
+complete -c cargo -n "__fish_seen_subcommand_from build" -l message-format -d 'Error format'
+complete -c cargo -n "__fish_seen_subcommand_from build" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from build" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from build" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from build" -s q -l quiet -d 'No output printed to stdout'
+complete -c cargo -n "__fish_seen_subcommand_from build" -l all -d 'Alias for --workspace (deprecated)'
+complete -c cargo -n "__fish_seen_subcommand_from build" -l workspace -d 'Build all packages in the workspace'
+complete -c cargo -n "__fish_seen_subcommand_from build" -l lib -d 'Build only this package\'s library'
+complete -c cargo -n "__fish_seen_subcommand_from build" -l bins -d 'Build all binaries'
+complete -c cargo -n "__fish_seen_subcommand_from build" -l examples -d 'Build all examples'
+complete -c cargo -n "__fish_seen_subcommand_from build" -l tests -d 'Build all tests'
+complete -c cargo -n "__fish_seen_subcommand_from build" -l benches -d 'Build all benches'
+complete -c cargo -n "__fish_seen_subcommand_from build" -l all-targets -d 'Build all targets'
+complete -c cargo -n "__fish_seen_subcommand_from build" -l release -d 'Build artifacts in release mode, with optimizations'
+complete -c cargo -n "__fish_seen_subcommand_from build" -l all-features -d 'Activate all available features'
+complete -c cargo -n "__fish_seen_subcommand_from build" -l no-default-features -d 'Do not activate the `default` feature'
+complete -c cargo -n "__fish_seen_subcommand_from build" -l ignore-rust-version -d 'Ignore `rust-version` specification in packages (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from build" -l build-plan -d 'Output the build plan in JSON (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from build" -l unit-graph -d 'Output build graph in JSON (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from build" -l future-incompat-report -d 'Ouputs a future incompatibility report at the end of the build (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from build" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from build" -s V -l version -d 'Prints version information'
+complete -c cargo -n "__fish_seen_subcommand_from build" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from build" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from build" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from build" -l offline -d 'Run without accessing the network'
+complete -c cargo -n "__fish_seen_subcommand_from check" -s p -l package -d 'Package(s) to check'
+complete -c cargo -n "__fish_seen_subcommand_from check" -l exclude -d 'Exclude packages from the check'
+complete -c cargo -n "__fish_seen_subcommand_from check" -s j -l jobs -d 'Number of parallel jobs, defaults to # of CPUs'
+complete -c cargo -n "__fish_seen_subcommand_from check" -l bin -d 'Check only the specified binary'
+complete -c cargo -n "__fish_seen_subcommand_from check" -l example -d 'Check only the specified example'
+complete -c cargo -n "__fish_seen_subcommand_from check" -l test -d 'Check only the specified test target'
+complete -c cargo -n "__fish_seen_subcommand_from check" -l bench -d 'Check only the specified bench target'
+complete -c cargo -n "__fish_seen_subcommand_from check" -l profile -d 'Check artifacts with the specified profile'
+complete -c cargo -n "__fish_seen_subcommand_from check" -l features -d 'Space or comma separated list of features to activate'
+complete -c cargo -n "__fish_seen_subcommand_from check" -l target -d 'Check for the target triple'
+complete -c cargo -n "__fish_seen_subcommand_from check" -l target-dir -d 'Directory for all generated artifacts'
+complete -c cargo -n "__fish_seen_subcommand_from check" -l manifest-path -d 'Path to Cargo.toml'
+complete -c cargo -n "__fish_seen_subcommand_from check" -l message-format -d 'Error format'
+complete -c cargo -n "__fish_seen_subcommand_from check" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from check" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from check" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from check" -s q -l quiet -d 'No output printed to stdout'
+complete -c cargo -n "__fish_seen_subcommand_from check" -l all -d 'Alias for --workspace (deprecated)'
+complete -c cargo -n "__fish_seen_subcommand_from check" -l workspace -d 'Check all packages in the workspace'
+complete -c cargo -n "__fish_seen_subcommand_from check" -l lib -d 'Check only this package\'s library'
+complete -c cargo -n "__fish_seen_subcommand_from check" -l bins -d 'Check all binaries'
+complete -c cargo -n "__fish_seen_subcommand_from check" -l examples -d 'Check all examples'
+complete -c cargo -n "__fish_seen_subcommand_from check" -l tests -d 'Check all tests'
+complete -c cargo -n "__fish_seen_subcommand_from check" -l benches -d 'Check all benches'
+complete -c cargo -n "__fish_seen_subcommand_from check" -l all-targets -d 'Check all targets'
+complete -c cargo -n "__fish_seen_subcommand_from check" -l release -d 'Check artifacts in release mode, with optimizations'
+complete -c cargo -n "__fish_seen_subcommand_from check" -l all-features -d 'Activate all available features'
+complete -c cargo -n "__fish_seen_subcommand_from check" -l no-default-features -d 'Do not activate the `default` feature'
+complete -c cargo -n "__fish_seen_subcommand_from check" -l ignore-rust-version -d 'Ignore `rust-version` specification in packages (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from check" -l unit-graph -d 'Output build graph in JSON (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from check" -l future-incompat-report -d 'Ouputs a future incompatibility report at the end of the build (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from check" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from check" -s V -l version -d 'Prints version information'
+complete -c cargo -n "__fish_seen_subcommand_from check" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from check" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from check" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from check" -l offline -d 'Run without accessing the network'
+complete -c cargo -n "__fish_seen_subcommand_from clean" -s p -l package -d 'Package to clean artifacts for'
+complete -c cargo -n "__fish_seen_subcommand_from clean" -l manifest-path -d 'Path to Cargo.toml'
+complete -c cargo -n "__fish_seen_subcommand_from clean" -l target -d 'Target triple to clean output for'
+complete -c cargo -n "__fish_seen_subcommand_from clean" -l target-dir -d 'Directory for all generated artifacts'
+complete -c cargo -n "__fish_seen_subcommand_from clean" -l profile -d 'Clean artifacts of the specified profile'
+complete -c cargo -n "__fish_seen_subcommand_from clean" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from clean" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from clean" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from clean" -s q -l quiet -d 'No output printed to stdout'
+complete -c cargo -n "__fish_seen_subcommand_from clean" -l release -d 'Whether or not to clean release artifacts'
+complete -c cargo -n "__fish_seen_subcommand_from clean" -l doc -d 'Whether or not to clean just the documentation directory'
+complete -c cargo -n "__fish_seen_subcommand_from clean" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from clean" -s V -l version -d 'Prints version information'
+complete -c cargo -n "__fish_seen_subcommand_from clean" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from clean" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from clean" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from clean" -l offline -d 'Run without accessing the network'
+complete -c cargo -n "__fish_seen_subcommand_from complete" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from complete" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from complete" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from complete" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from complete" -s V -l version -d 'Prints version information'
+complete -c cargo -n "__fish_seen_subcommand_from complete" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from complete" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from complete" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from complete" -l offline -d 'Run without accessing the network'
+complete -c cargo -n "__fish_seen_subcommand_from describe-future-incompatibilities" -l id -d 'identifier of the report [generated by a Cargo command invocation'
+complete -c cargo -n "__fish_seen_subcommand_from describe-future-incompatibilities" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from describe-future-incompatibilities" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from describe-future-incompatibilities" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from describe-future-incompatibilities" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from describe-future-incompatibilities" -s V -l version -d 'Prints version information'
+complete -c cargo -n "__fish_seen_subcommand_from describe-future-incompatibilities" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from describe-future-incompatibilities" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from describe-future-incompatibilities" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from describe-future-incompatibilities" -l offline -d 'Run without accessing the network'
+complete -c cargo -n "__fish_seen_subcommand_from doc" -s p -l package -d 'Package to document'
+complete -c cargo -n "__fish_seen_subcommand_from doc" -l exclude -d 'Exclude packages from the build'
+complete -c cargo -n "__fish_seen_subcommand_from doc" -s j -l jobs -d 'Number of parallel jobs, defaults to # of CPUs'
+complete -c cargo -n "__fish_seen_subcommand_from doc" -l bin -d 'Document only the specified binary'
+complete -c cargo -n "__fish_seen_subcommand_from doc" -l profile -d 'Build artifacts with the specified profile'
+complete -c cargo -n "__fish_seen_subcommand_from doc" -l features -d 'Space or comma separated list of features to activate'
+complete -c cargo -n "__fish_seen_subcommand_from doc" -l target -d 'Build for the target triple'
+complete -c cargo -n "__fish_seen_subcommand_from doc" -l target-dir -d 'Directory for all generated artifacts'
+complete -c cargo -n "__fish_seen_subcommand_from doc" -l manifest-path -d 'Path to Cargo.toml'
+complete -c cargo -n "__fish_seen_subcommand_from doc" -l message-format -d 'Error format'
+complete -c cargo -n "__fish_seen_subcommand_from doc" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from doc" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from doc" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from doc" -s q -l quiet -d 'No output printed to stdout'
+complete -c cargo -n "__fish_seen_subcommand_from doc" -l open -d 'Opens the docs in a browser after the operation'
+complete -c cargo -n "__fish_seen_subcommand_from doc" -l all -d 'Alias for --workspace (deprecated)'
+complete -c cargo -n "__fish_seen_subcommand_from doc" -l workspace -d 'Document all packages in the workspace'
+complete -c cargo -n "__fish_seen_subcommand_from doc" -l no-deps -d 'Don\'t build documentation for dependencies'
+complete -c cargo -n "__fish_seen_subcommand_from doc" -l document-private-items -d 'Document private items'
+complete -c cargo -n "__fish_seen_subcommand_from doc" -l lib -d 'Document only this package\'s library'
+complete -c cargo -n "__fish_seen_subcommand_from doc" -l bins -d 'Document all binaries'
+complete -c cargo -n "__fish_seen_subcommand_from doc" -l release -d 'Build artifacts in release mode, with optimizations'
+complete -c cargo -n "__fish_seen_subcommand_from doc" -l all-features -d 'Activate all available features'
+complete -c cargo -n "__fish_seen_subcommand_from doc" -l no-default-features -d 'Do not activate the `default` feature'
+complete -c cargo -n "__fish_seen_subcommand_from doc" -l ignore-rust-version -d 'Ignore `rust-version` specification in packages (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from doc" -l unit-graph -d 'Output build graph in JSON (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from doc" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from doc" -s V -l version -d 'Prints version information'
+complete -c cargo -n "__fish_seen_subcommand_from doc" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from doc" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from doc" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from doc" -l offline -d 'Run without accessing the network'
+complete -c cargo -n "__fish_seen_subcommand_from fetch" -l manifest-path -d 'Path to Cargo.toml'
+complete -c cargo -n "__fish_seen_subcommand_from fetch" -l target -d 'Fetch dependencies for the target triple'
+complete -c cargo -n "__fish_seen_subcommand_from fetch" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from fetch" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from fetch" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from fetch" -s q -l quiet -d 'No output printed to stdout'
+complete -c cargo -n "__fish_seen_subcommand_from fetch" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from fetch" -s V -l version -d 'Prints version information'
+complete -c cargo -n "__fish_seen_subcommand_from fetch" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from fetch" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from fetch" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from fetch" -l offline -d 'Run without accessing the network'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -s p -l package -d 'Package(s) to fix'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -l exclude -d 'Exclude packages from the fixes'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -s j -l jobs -d 'Number of parallel jobs, defaults to # of CPUs'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -l bin -d 'Fix only the specified binary'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -l example -d 'Fix only the specified example'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -l test -d 'Fix only the specified test target'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -l bench -d 'Fix only the specified bench target'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -l profile -d 'Build artifacts with the specified profile'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -l features -d 'Space or comma separated list of features to activate'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -l target -d 'Fix for the target triple'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -l target-dir -d 'Directory for all generated artifacts'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -l manifest-path -d 'Path to Cargo.toml'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -l message-format -d 'Error format'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -s q -l quiet -d 'No output printed to stdout'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -l all -d 'Alias for --workspace (deprecated)'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -l workspace -d 'Fix all packages in the workspace'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -l lib -d 'Fix only this package\'s library'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -l bins -d 'Fix all binaries'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -l examples -d 'Fix all examples'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -l tests -d 'Fix all tests'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -l benches -d 'Fix all benches'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -l all-targets -d 'Fix all targets (default)'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -l release -d 'Fix artifacts in release mode, with optimizations'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -l all-features -d 'Activate all available features'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -l no-default-features -d 'Do not activate the `default` feature'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -l broken-code -d 'Fix code even if it already has compiler errors'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -l edition -d 'Fix in preparation for the next edition'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -l edition-idioms -d 'Fix warnings to migrate to the idioms of an edition'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -l allow-no-vcs -d 'Fix code even if a VCS was not detected'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -l allow-dirty -d 'Fix code even if the working directory is dirty'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -l allow-staged -d 'Fix code even if the working directory has staged changes'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -l ignore-rust-version -d 'Ignore `rust-version` specification in packages (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -s V -l version -d 'Prints version information'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from fix" -l offline -d 'Run without accessing the network'
+complete -c cargo -n "__fish_seen_subcommand_from generate-lockfile" -l manifest-path -d 'Path to Cargo.toml'
+complete -c cargo -n "__fish_seen_subcommand_from generate-lockfile" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from generate-lockfile" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from generate-lockfile" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from generate-lockfile" -s q -l quiet -d 'No output printed to stdout'
+complete -c cargo -n "__fish_seen_subcommand_from generate-lockfile" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from generate-lockfile" -s V -l version -d 'Prints version information'
+complete -c cargo -n "__fish_seen_subcommand_from generate-lockfile" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from generate-lockfile" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from generate-lockfile" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from generate-lockfile" -l offline -d 'Run without accessing the network'
+complete -c cargo -n "__fish_seen_subcommand_from git-checkout" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from git-checkout" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from git-checkout" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from git-checkout" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from git-checkout" -s V -l version -d 'Prints version information'
+complete -c cargo -n "__fish_seen_subcommand_from git-checkout" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from git-checkout" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from git-checkout" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from git-checkout" -l offline -d 'Run without accessing the network'
+complete -c cargo -n "__fish_seen_subcommand_from init" -l registry -d 'Registry to use'
+complete -c cargo -n "__fish_seen_subcommand_from init" -l vcs -d 'Initialize a new repository for the given version control system (git, hg, pijul, or fossil) or do not initialize any version control at all (none), overriding a global configuration.' -r -f -a "git hg pijul fossil none"
+complete -c cargo -n "__fish_seen_subcommand_from init" -l edition -d 'Edition to set for the crate generated' -r -f -a "2015 2018 2021"
+complete -c cargo -n "__fish_seen_subcommand_from init" -l name -d 'Set the resulting package name, defaults to the directory name'
+complete -c cargo -n "__fish_seen_subcommand_from init" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from init" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from init" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from init" -s q -l quiet -d 'No output printed to stdout'
+complete -c cargo -n "__fish_seen_subcommand_from init" -l bin -d 'Use a binary (application) template [default]'
+complete -c cargo -n "__fish_seen_subcommand_from init" -l lib -d 'Use a library template'
+complete -c cargo -n "__fish_seen_subcommand_from init" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from init" -s V -l version -d 'Prints version information'
+complete -c cargo -n "__fish_seen_subcommand_from init" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from init" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from init" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from init" -l offline -d 'Run without accessing the network'
+complete -c cargo -n "__fish_seen_subcommand_from install" -l version -d 'Specify a version to install'
+complete -c cargo -n "__fish_seen_subcommand_from install" -l git -d 'Git URL to install the specified crate from'
+complete -c cargo -n "__fish_seen_subcommand_from install" -l branch -d 'Branch to use when installing from git'
+complete -c cargo -n "__fish_seen_subcommand_from install" -l tag -d 'Tag to use when installing from git'
+complete -c cargo -n "__fish_seen_subcommand_from install" -l rev -d 'Specific commit to use when installing from git'
+complete -c cargo -n "__fish_seen_subcommand_from install" -l path -d 'Filesystem path to local crate to install'
+complete -c cargo -n "__fish_seen_subcommand_from install" -s j -l jobs -d 'Number of parallel jobs, defaults to # of CPUs'
+complete -c cargo -n "__fish_seen_subcommand_from install" -l features -d 'Space or comma separated list of features to activate'
+complete -c cargo -n "__fish_seen_subcommand_from install" -l profile -d 'Install artifacts with the specified profile'
+complete -c cargo -n "__fish_seen_subcommand_from install" -l bin -d 'Install only the specified binary'
+complete -c cargo -n "__fish_seen_subcommand_from install" -l example -d 'Install only the specified example'
+complete -c cargo -n "__fish_seen_subcommand_from install" -l target -d 'Build for the target triple'
+complete -c cargo -n "__fish_seen_subcommand_from install" -l target-dir -d 'Directory for all generated artifacts'
+complete -c cargo -n "__fish_seen_subcommand_from install" -l root -d 'Directory to install packages into'
+complete -c cargo -n "__fish_seen_subcommand_from install" -l index -d 'Registry index to install from'
+complete -c cargo -n "__fish_seen_subcommand_from install" -l registry -d 'Registry to use'
+complete -c cargo -n "__fish_seen_subcommand_from install" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from install" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from install" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from install" -s q -l quiet -d 'No output printed to stdout'
+complete -c cargo -n "__fish_seen_subcommand_from install" -l list -d 'list all installed packages and their versions'
+complete -c cargo -n "__fish_seen_subcommand_from install" -s f -l force -d 'Force overwriting existing crates or binaries'
+complete -c cargo -n "__fish_seen_subcommand_from install" -l no-track -d 'Do not save tracking information'
+complete -c cargo -n "__fish_seen_subcommand_from install" -l all-features -d 'Activate all available features'
+complete -c cargo -n "__fish_seen_subcommand_from install" -l no-default-features -d 'Do not activate the `default` feature'
+complete -c cargo -n "__fish_seen_subcommand_from install" -l debug -d 'Build in debug mode instead of release mode'
+complete -c cargo -n "__fish_seen_subcommand_from install" -l bins -d 'Install all binaries'
+complete -c cargo -n "__fish_seen_subcommand_from install" -l examples -d 'Install all examples'
+complete -c cargo -n "__fish_seen_subcommand_from install" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from install" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from install" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from install" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from install" -l offline -d 'Run without accessing the network'
+complete -c cargo -n "__fish_seen_subcommand_from locate-project" -l manifest-path -d 'Path to Cargo.toml'
+complete -c cargo -n "__fish_seen_subcommand_from locate-project" -l message-format -d 'Output representation [possible values: json, plain]'
+complete -c cargo -n "__fish_seen_subcommand_from locate-project" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from locate-project" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from locate-project" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from locate-project" -s q -l quiet -d 'No output printed to stdout'
+complete -c cargo -n "__fish_seen_subcommand_from locate-project" -l workspace -d 'Locate Cargo.toml of the workspace root'
+complete -c cargo -n "__fish_seen_subcommand_from locate-project" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from locate-project" -s V -l version -d 'Prints version information'
+complete -c cargo -n "__fish_seen_subcommand_from locate-project" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from locate-project" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from locate-project" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from locate-project" -l offline -d 'Run without accessing the network'
+complete -c cargo -n "__fish_seen_subcommand_from login" -l host -d 'Host to set the token for'
+complete -c cargo -n "__fish_seen_subcommand_from login" -l registry -d 'Registry to use'
+complete -c cargo -n "__fish_seen_subcommand_from login" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from login" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from login" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from login" -s q -l quiet -d 'No output printed to stdout'
+complete -c cargo -n "__fish_seen_subcommand_from login" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from login" -s V -l version -d 'Prints version information'
+complete -c cargo -n "__fish_seen_subcommand_from login" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from login" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from login" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from login" -l offline -d 'Run without accessing the network'
+complete -c cargo -n "__fish_seen_subcommand_from logout" -l registry -d 'Registry to use'
+complete -c cargo -n "__fish_seen_subcommand_from logout" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from logout" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from logout" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from logout" -s q -l quiet -d 'No output printed to stdout'
+complete -c cargo -n "__fish_seen_subcommand_from logout" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from logout" -s V -l version -d 'Prints version information'
+complete -c cargo -n "__fish_seen_subcommand_from logout" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from logout" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from logout" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from logout" -l offline -d 'Run without accessing the network'
+complete -c cargo -n "__fish_seen_subcommand_from metadata" -l features -d 'Space or comma separated list of features to activate'
+complete -c cargo -n "__fish_seen_subcommand_from metadata" -l filter-platform -d 'Only include resolve dependencies matching the given target-triple'
+complete -c cargo -n "__fish_seen_subcommand_from metadata" -l manifest-path -d 'Path to Cargo.toml'
+complete -c cargo -n "__fish_seen_subcommand_from metadata" -l format-version -d 'Format version' -r -f -a 1
+complete -c cargo -n "__fish_seen_subcommand_from metadata" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from metadata" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from metadata" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from metadata" -s q -l quiet -d 'Do not print cargo log messages'
+complete -c cargo -n "__fish_seen_subcommand_from metadata" -l all-features -d 'Activate all available features'
+complete -c cargo -n "__fish_seen_subcommand_from metadata" -l no-default-features -d 'Do not activate the `default` feature'
+complete -c cargo -n "__fish_seen_subcommand_from metadata" -l no-deps -d 'Output information only about the workspace members and don\'t fetch dependencies'
+complete -c cargo -n "__fish_seen_subcommand_from metadata" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from metadata" -s V -l version -d 'Prints version information'
+complete -c cargo -n "__fish_seen_subcommand_from metadata" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from metadata" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from metadata" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from metadata" -l offline -d 'Run without accessing the network'
+complete -c cargo -n "__fish_seen_subcommand_from new" -l registry -d 'Registry to use'
+complete -c cargo -n "__fish_seen_subcommand_from new" -l vcs -d 'Initialize a new repository for the given version control system (git, hg, pijul, or fossil) or do not initialize any version control at all (none), overriding a global configuration.' -r -f -a "git hg pijul fossil none"
+complete -c cargo -n "__fish_seen_subcommand_from new" -l edition -d 'Edition to set for the crate generated' -r -f -a "2015 2018 2021"
+complete -c cargo -n "__fish_seen_subcommand_from new" -l name -d 'Set the resulting package name, defaults to the directory name'
+complete -c cargo -n "__fish_seen_subcommand_from new" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from new" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from new" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from new" -s q -l quiet -d 'No output printed to stdout'
+complete -c cargo -n "__fish_seen_subcommand_from new" -l bin -d 'Use a binary (application) template [default]'
+complete -c cargo -n "__fish_seen_subcommand_from new" -l lib -d 'Use a library template'
+complete -c cargo -n "__fish_seen_subcommand_from new" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from new" -s V -l version -d 'Prints version information'
+complete -c cargo -n "__fish_seen_subcommand_from new" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from new" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from new" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from new" -l offline -d 'Run without accessing the network'
+complete -c cargo -n "__fish_seen_subcommand_from owner" -s a -l add -d 'Name of a user or team to invite as an owner'
+complete -c cargo -n "__fish_seen_subcommand_from owner" -s r -l remove -d 'Name of a user or team to remove as an owner'
+complete -c cargo -n "__fish_seen_subcommand_from owner" -l index -d 'Registry index to modify owners for'
+complete -c cargo -n "__fish_seen_subcommand_from owner" -l token -d 'API token to use when authenticating'
+complete -c cargo -n "__fish_seen_subcommand_from owner" -l registry -d 'Registry to use'
+complete -c cargo -n "__fish_seen_subcommand_from owner" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from owner" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from owner" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from owner" -s q -l quiet -d 'No output printed to stdout'
+complete -c cargo -n "__fish_seen_subcommand_from owner" -s l -l list -d 'List owners of a crate'
+complete -c cargo -n "__fish_seen_subcommand_from owner" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from owner" -s V -l version -d 'Prints version information'
+complete -c cargo -n "__fish_seen_subcommand_from owner" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from owner" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from owner" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from owner" -l offline -d 'Run without accessing the network'
+complete -c cargo -n "__fish_seen_subcommand_from package" -l target -d 'Build for the target triple'
+complete -c cargo -n "__fish_seen_subcommand_from package" -l target-dir -d 'Directory for all generated artifacts'
+complete -c cargo -n "__fish_seen_subcommand_from package" -l features -d 'Space or comma separated list of features to activate'
+complete -c cargo -n "__fish_seen_subcommand_from package" -l manifest-path -d 'Path to Cargo.toml'
+complete -c cargo -n "__fish_seen_subcommand_from package" -s j -l jobs -d 'Number of parallel jobs, defaults to # of CPUs'
+complete -c cargo -n "__fish_seen_subcommand_from package" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from package" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from package" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from package" -s q -l quiet -d 'No output printed to stdout'
+complete -c cargo -n "__fish_seen_subcommand_from package" -s l -l list -d 'Print files included in a package without making one'
+complete -c cargo -n "__fish_seen_subcommand_from package" -l no-verify -d 'Don\'t verify the contents by building them'
+complete -c cargo -n "__fish_seen_subcommand_from package" -l no-metadata -d 'Ignore warnings about a lack of human-usable metadata'
+complete -c cargo -n "__fish_seen_subcommand_from package" -l allow-dirty -d 'Allow dirty working directories to be packaged'
+complete -c cargo -n "__fish_seen_subcommand_from package" -l all-features -d 'Activate all available features'
+complete -c cargo -n "__fish_seen_subcommand_from package" -l no-default-features -d 'Do not activate the `default` feature'
+complete -c cargo -n "__fish_seen_subcommand_from package" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from package" -s V -l version -d 'Prints version information'
+complete -c cargo -n "__fish_seen_subcommand_from package" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from package" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from package" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from package" -l offline -d 'Run without accessing the network'
+complete -c cargo -n "__fish_seen_subcommand_from pkgid" -s p -l package -d 'Argument to get the package ID specifier for'
+complete -c cargo -n "__fish_seen_subcommand_from pkgid" -l manifest-path -d 'Path to Cargo.toml'
+complete -c cargo -n "__fish_seen_subcommand_from pkgid" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from pkgid" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from pkgid" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from pkgid" -s q -l quiet -d 'No output printed to stdout'
+complete -c cargo -n "__fish_seen_subcommand_from pkgid" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from pkgid" -s V -l version -d 'Prints version information'
+complete -c cargo -n "__fish_seen_subcommand_from pkgid" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from pkgid" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from pkgid" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from pkgid" -l offline -d 'Run without accessing the network'
+complete -c cargo -n "__fish_seen_subcommand_from publish" -l index -d 'Registry index URL to upload the package to'
+complete -c cargo -n "__fish_seen_subcommand_from publish" -l host -d 'DEPRECATED, renamed to \'--index\''
+complete -c cargo -n "__fish_seen_subcommand_from publish" -l token -d 'Token to use when uploading'
+complete -c cargo -n "__fish_seen_subcommand_from publish" -l target -d 'Build for the target triple'
+complete -c cargo -n "__fish_seen_subcommand_from publish" -l target-dir -d 'Directory for all generated artifacts'
+complete -c cargo -n "__fish_seen_subcommand_from publish" -l manifest-path -d 'Path to Cargo.toml'
+complete -c cargo -n "__fish_seen_subcommand_from publish" -l features -d 'Space or comma separated list of features to activate'
+complete -c cargo -n "__fish_seen_subcommand_from publish" -s j -l jobs -d 'Number of parallel jobs, defaults to # of CPUs'
+complete -c cargo -n "__fish_seen_subcommand_from publish" -l registry -d 'Registry to publish to'
+complete -c cargo -n "__fish_seen_subcommand_from publish" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from publish" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from publish" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from publish" -s q -l quiet -d 'No output printed to stdout'
+complete -c cargo -n "__fish_seen_subcommand_from publish" -l no-verify -d 'Don\'t verify the contents by building them'
+complete -c cargo -n "__fish_seen_subcommand_from publish" -l allow-dirty -d 'Allow dirty working directories to be packaged'
+complete -c cargo -n "__fish_seen_subcommand_from publish" -l all-features -d 'Activate all available features'
+complete -c cargo -n "__fish_seen_subcommand_from publish" -l no-default-features -d 'Do not activate the `default` feature'
+complete -c cargo -n "__fish_seen_subcommand_from publish" -l dry-run -d 'Perform all checks without uploading'
+complete -c cargo -n "__fish_seen_subcommand_from publish" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from publish" -s V -l version -d 'Prints version information'
+complete -c cargo -n "__fish_seen_subcommand_from publish" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from publish" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from publish" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from publish" -l offline -d 'Run without accessing the network'
+complete -c cargo -n "__fish_seen_subcommand_from read-manifest" -l manifest-path -d 'Path to Cargo.toml'
+complete -c cargo -n "__fish_seen_subcommand_from read-manifest" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from read-manifest" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from read-manifest" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from read-manifest" -s q -l quiet -d 'No output printed to stdout'
+complete -c cargo -n "__fish_seen_subcommand_from read-manifest" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from read-manifest" -s V -l version -d 'Prints version information'
+complete -c cargo -n "__fish_seen_subcommand_from read-manifest" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from read-manifest" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from read-manifest" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from read-manifest" -l offline -d 'Run without accessing the network'
+complete -c cargo -n "__fish_seen_subcommand_from run" -l bin -d 'Name of the bin target to run'
+complete -c cargo -n "__fish_seen_subcommand_from run" -l example -d 'Name of the example target to run'
+complete -c cargo -n "__fish_seen_subcommand_from run" -s p -l package -d 'Package with the target to run'
+complete -c cargo -n "__fish_seen_subcommand_from run" -s j -l jobs -d 'Number of parallel jobs, defaults to # of CPUs'
+complete -c cargo -n "__fish_seen_subcommand_from run" -l profile -d 'Build artifacts with the specified profile'
+complete -c cargo -n "__fish_seen_subcommand_from run" -l features -d 'Space or comma separated list of features to activate'
+complete -c cargo -n "__fish_seen_subcommand_from run" -l target -d 'Build for the target triple'
+complete -c cargo -n "__fish_seen_subcommand_from run" -l target-dir -d 'Directory for all generated artifacts'
+complete -c cargo -n "__fish_seen_subcommand_from run" -l manifest-path -d 'Path to Cargo.toml'
+complete -c cargo -n "__fish_seen_subcommand_from run" -l message-format -d 'Error format'
+complete -c cargo -n "__fish_seen_subcommand_from run" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from run" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from run" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from run" -s q -l quiet -d 'No output printed to stdout'
+complete -c cargo -n "__fish_seen_subcommand_from run" -l release -d 'Build artifacts in release mode, with optimizations'
+complete -c cargo -n "__fish_seen_subcommand_from run" -l all-features -d 'Activate all available features'
+complete -c cargo -n "__fish_seen_subcommand_from run" -l no-default-features -d 'Do not activate the `default` feature'
+complete -c cargo -n "__fish_seen_subcommand_from run" -l unit-graph -d 'Output build graph in JSON (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from run" -l ignore-rust-version -d 'Ignore `rust-version` specification in packages (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from run" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from run" -s V -l version -d 'Prints version information'
+complete -c cargo -n "__fish_seen_subcommand_from run" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from run" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from run" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from run" -l offline -d 'Run without accessing the network'
+complete -c cargo -n "__fish_seen_subcommand_from rustc" -s p -l package -d 'Package to build'
+complete -c cargo -n "__fish_seen_subcommand_from rustc" -s j -l jobs -d 'Number of parallel jobs, defaults to # of CPUs'
+complete -c cargo -n "__fish_seen_subcommand_from rustc" -l bin -d 'Build only the specified binary'
+complete -c cargo -n "__fish_seen_subcommand_from rustc" -l example -d 'Build only the specified example'
+complete -c cargo -n "__fish_seen_subcommand_from rustc" -l test -d 'Build only the specified test target'
+complete -c cargo -n "__fish_seen_subcommand_from rustc" -l bench -d 'Build only the specified bench target'
+complete -c cargo -n "__fish_seen_subcommand_from rustc" -l profile -d 'Build artifacts with the specified profile'
+complete -c cargo -n "__fish_seen_subcommand_from rustc" -l features -d 'Space or comma separated list of features to activate'
+complete -c cargo -n "__fish_seen_subcommand_from rustc" -l target -d 'Target triple which compiles will be for'
+complete -c cargo -n "__fish_seen_subcommand_from rustc" -l print -d 'Output compiler information without compiling'
+complete -c cargo -n "__fish_seen_subcommand_from rustc" -l target-dir -d 'Directory for all generated artifacts'
+complete -c cargo -n "__fish_seen_subcommand_from rustc" -l manifest-path -d 'Path to Cargo.toml'
+complete -c cargo -n "__fish_seen_subcommand_from rustc" -l message-format -d 'Error format'
+complete -c cargo -n "__fish_seen_subcommand_from rustc" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from rustc" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from rustc" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from rustc" -s q -l quiet -d 'No output printed to stdout'
+complete -c cargo -n "__fish_seen_subcommand_from rustc" -l lib -d 'Build only this package\'s library'
+complete -c cargo -n "__fish_seen_subcommand_from rustc" -l bins -d 'Build all binaries'
+complete -c cargo -n "__fish_seen_subcommand_from rustc" -l examples -d 'Build all examples'
+complete -c cargo -n "__fish_seen_subcommand_from rustc" -l tests -d 'Build all tests'
+complete -c cargo -n "__fish_seen_subcommand_from rustc" -l benches -d 'Build all benches'
+complete -c cargo -n "__fish_seen_subcommand_from rustc" -l all-targets -d 'Build all targets'
+complete -c cargo -n "__fish_seen_subcommand_from rustc" -l release -d 'Build artifacts in release mode, with optimizations'
+complete -c cargo -n "__fish_seen_subcommand_from rustc" -l all-features -d 'Activate all available features'
+complete -c cargo -n "__fish_seen_subcommand_from rustc" -l no-default-features -d 'Do not activate the `default` feature'
+complete -c cargo -n "__fish_seen_subcommand_from rustc" -l unit-graph -d 'Output build graph in JSON (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from rustc" -l ignore-rust-version -d 'Ignore `rust-version` specification in packages (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from rustc" -l future-incompat-report -d 'Ouputs a future incompatibility report at the end of the build (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from rustc" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from rustc" -s V -l version -d 'Prints version information'
+complete -c cargo -n "__fish_seen_subcommand_from rustc" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from rustc" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from rustc" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from rustc" -l offline -d 'Run without accessing the network'
+complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -s p -l package -d 'Package to document'
+complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -s j -l jobs -d 'Number of parallel jobs, defaults to # of CPUs'
+complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l bin -d 'Build only the specified binary'
+complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l example -d 'Build only the specified example'
+complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l test -d 'Build only the specified test target'
+complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l bench -d 'Build only the specified bench target'
+complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l profile -d 'Build artifacts with the specified profile'
+complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l features -d 'Space or comma separated list of features to activate'
+complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l target -d 'Build for the target triple'
+complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l target-dir -d 'Directory for all generated artifacts'
+complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l manifest-path -d 'Path to Cargo.toml'
+complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l message-format -d 'Error format'
+complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -s q -l quiet -d 'No output printed to stdout'
+complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l open -d 'Opens the docs in a browser after the operation'
+complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l lib -d 'Build only this package\'s library'
+complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l bins -d 'Build all binaries'
+complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l examples -d 'Build all examples'
+complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l tests -d 'Build all tests'
+complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l benches -d 'Build all benches'
+complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l all-targets -d 'Build all targets'
+complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l release -d 'Build artifacts in release mode, with optimizations'
+complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l all-features -d 'Activate all available features'
+complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l no-default-features -d 'Do not activate the `default` feature'
+complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l unit-graph -d 'Output build graph in JSON (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l ignore-rust-version -d 'Ignore `rust-version` specification in packages (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -s V -l version -d 'Prints version information'
+complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from rustdoc" -l offline -d 'Run without accessing the network'
+complete -c cargo -n "__fish_seen_subcommand_from search" -l index -d 'Registry index URL to upload the package to'
+complete -c cargo -n "__fish_seen_subcommand_from search" -l host -d 'DEPRECATED, renamed to \'--index\''
+complete -c cargo -n "__fish_seen_subcommand_from search" -l limit -d 'Limit the number of results (default: 10, max: 100)'
+complete -c cargo -n "__fish_seen_subcommand_from search" -l registry -d 'Registry to use'
+complete -c cargo -n "__fish_seen_subcommand_from search" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from search" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from search" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from search" -s q -l quiet -d 'No output printed to stdout'
+complete -c cargo -n "__fish_seen_subcommand_from search" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from search" -s V -l version -d 'Prints version information'
+complete -c cargo -n "__fish_seen_subcommand_from search" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from search" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from search" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from search" -l offline -d 'Run without accessing the network'
+complete -c cargo -n "__fish_seen_subcommand_from test" -l bin -d 'Test only the specified binary'
+complete -c cargo -n "__fish_seen_subcommand_from test" -l example -d 'Test only the specified example'
+complete -c cargo -n "__fish_seen_subcommand_from test" -l test -d 'Test only the specified test target'
+complete -c cargo -n "__fish_seen_subcommand_from test" -l bench -d 'Test only the specified bench target'
+complete -c cargo -n "__fish_seen_subcommand_from test" -s p -l package -d 'Package to run tests for'
+complete -c cargo -n "__fish_seen_subcommand_from test" -l exclude -d 'Exclude packages from the test'
+complete -c cargo -n "__fish_seen_subcommand_from test" -s j -l jobs -d 'Number of parallel jobs, defaults to # of CPUs'
+complete -c cargo -n "__fish_seen_subcommand_from test" -l profile -d 'Build artifacts with the specified profile'
+complete -c cargo -n "__fish_seen_subcommand_from test" -l features -d 'Space or comma separated list of features to activate'
+complete -c cargo -n "__fish_seen_subcommand_from test" -l target -d 'Build for the target triple'
+complete -c cargo -n "__fish_seen_subcommand_from test" -l target-dir -d 'Directory for all generated artifacts'
+complete -c cargo -n "__fish_seen_subcommand_from test" -l manifest-path -d 'Path to Cargo.toml'
+complete -c cargo -n "__fish_seen_subcommand_from test" -l message-format -d 'Error format'
+complete -c cargo -n "__fish_seen_subcommand_from test" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from test" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from test" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from test" -s q -l quiet -d 'Display one character per test instead of one line'
+complete -c cargo -n "__fish_seen_subcommand_from test" -l lib -d 'Test only this package\'s library unit tests'
+complete -c cargo -n "__fish_seen_subcommand_from test" -l bins -d 'Test all binaries'
+complete -c cargo -n "__fish_seen_subcommand_from test" -l examples -d 'Test all examples'
+complete -c cargo -n "__fish_seen_subcommand_from test" -l tests -d 'Test all tests'
+complete -c cargo -n "__fish_seen_subcommand_from test" -l benches -d 'Test all benches'
+complete -c cargo -n "__fish_seen_subcommand_from test" -l all-targets -d 'Test all targets'
+complete -c cargo -n "__fish_seen_subcommand_from test" -l doc -d 'Test only this library\'s documentation'
+complete -c cargo -n "__fish_seen_subcommand_from test" -l no-run -d 'Compile, but don\'t run tests'
+complete -c cargo -n "__fish_seen_subcommand_from test" -l no-fail-fast -d 'Run all tests regardless of failure'
+complete -c cargo -n "__fish_seen_subcommand_from test" -l all -d 'Alias for --workspace (deprecated)'
+complete -c cargo -n "__fish_seen_subcommand_from test" -l workspace -d 'Test all packages in the workspace'
+complete -c cargo -n "__fish_seen_subcommand_from test" -l release -d 'Build artifacts in release mode, with optimizations'
+complete -c cargo -n "__fish_seen_subcommand_from test" -l all-features -d 'Activate all available features'
+complete -c cargo -n "__fish_seen_subcommand_from test" -l no-default-features -d 'Do not activate the `default` feature'
+complete -c cargo -n "__fish_seen_subcommand_from test" -l ignore-rust-version -d 'Ignore `rust-version` specification in packages (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from test" -l unit-graph -d 'Output build graph in JSON (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from test" -l future-incompat-report -d 'Ouputs a future incompatibility report at the end of the build (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from test" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from test" -s V -l version -d 'Prints version information'
+complete -c cargo -n "__fish_seen_subcommand_from test" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from test" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from test" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from test" -l offline -d 'Run without accessing the network'
+complete -c cargo -n "__fish_seen_subcommand_from tree" -l manifest-path -d 'Path to Cargo.toml'
+complete -c cargo -n "__fish_seen_subcommand_from tree" -s p -l package -d 'Package to be used as the root of the tree'
+complete -c cargo -n "__fish_seen_subcommand_from tree" -l exclude -d 'Exclude specific workspace members'
+complete -c cargo -n "__fish_seen_subcommand_from tree" -l features -d 'Space or comma separated list of features to activate'
+complete -c cargo -n "__fish_seen_subcommand_from tree" -l target -d 'Filter dependencies matching the given target-triple (default host platform). Pass `all` to include all targets.'
+complete -c cargo -n "__fish_seen_subcommand_from tree" -s e -l edges -d 'The kinds of dependencies to display (features, normal, build, dev, all, no-dev, no-build, no-normal)'
+complete -c cargo -n "__fish_seen_subcommand_from tree" -s i -l invert -d 'Invert the tree direction and focus on the given package'
+complete -c cargo -n "__fish_seen_subcommand_from tree" -l prefix -d 'Change the prefix (indentation) of how each entry is displayed' -r -f -a "depth indent none"
+complete -c cargo -n "__fish_seen_subcommand_from tree" -l charset -d 'Character set to use in output: utf8, ascii' -r -f -a "utf8 ascii"
+complete -c cargo -n "__fish_seen_subcommand_from tree" -s f -l format -d 'Format string used for printing dependencies'
+complete -c cargo -n "__fish_seen_subcommand_from tree" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from tree" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from tree" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from tree" -s q -l quiet -d 'Suppress status messages'
+complete -c cargo -n "__fish_seen_subcommand_from tree" -l workspace -d 'Display the tree for all packages in the workspace'
+complete -c cargo -n "__fish_seen_subcommand_from tree" -s a -l all
+complete -c cargo -n "__fish_seen_subcommand_from tree" -l all-targets
+complete -c cargo -n "__fish_seen_subcommand_from tree" -l all-features -d 'Activate all available features'
+complete -c cargo -n "__fish_seen_subcommand_from tree" -l no-default-features -d 'Do not activate the `default` feature'
+complete -c cargo -n "__fish_seen_subcommand_from tree" -l no-dev-dependencies
+complete -c cargo -n "__fish_seen_subcommand_from tree" -l no-indent
+complete -c cargo -n "__fish_seen_subcommand_from tree" -l prefix-depth
+complete -c cargo -n "__fish_seen_subcommand_from tree" -l no-dedupe -d 'Do not de-duplicate (repeats all shared dependencies)'
+complete -c cargo -n "__fish_seen_subcommand_from tree" -s d -l duplicates -d 'Show only dependencies which come in multiple versions (implies -i)'
+complete -c cargo -n "__fish_seen_subcommand_from tree" -s V -l version
+complete -c cargo -n "__fish_seen_subcommand_from tree" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from tree" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from tree" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from tree" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from tree" -l offline -d 'Run without accessing the network'
+complete -c cargo -n "__fish_seen_subcommand_from uninstall" -s p -l package -d 'Package to uninstall'
+complete -c cargo -n "__fish_seen_subcommand_from uninstall" -l bin -d 'Only uninstall the binary NAME'
+complete -c cargo -n "__fish_seen_subcommand_from uninstall" -l root -d 'Directory to uninstall packages from'
+complete -c cargo -n "__fish_seen_subcommand_from uninstall" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from uninstall" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from uninstall" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from uninstall" -s q -l quiet -d 'No output printed to stdout'
+complete -c cargo -n "__fish_seen_subcommand_from uninstall" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from uninstall" -s V -l version -d 'Prints version information'
+complete -c cargo -n "__fish_seen_subcommand_from uninstall" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from uninstall" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from uninstall" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from uninstall" -l offline -d 'Run without accessing the network'
+complete -c cargo -n "__fish_seen_subcommand_from update" -s p -l package -d 'Package to update'
+complete -c cargo -n "__fish_seen_subcommand_from update" -l precise -d 'Update a single dependency to exactly PRECISE when used with -p'
+complete -c cargo -n "__fish_seen_subcommand_from update" -l manifest-path -d 'Path to Cargo.toml'
+complete -c cargo -n "__fish_seen_subcommand_from update" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from update" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from update" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from update" -s q -l quiet -d 'No output printed to stdout'
+complete -c cargo -n "__fish_seen_subcommand_from update" -s w -l workspace -d 'Only update the workspace packages'
+complete -c cargo -n "__fish_seen_subcommand_from update" -l aggressive -d 'Force updating all dependencies of SPEC as well when used with -p'
+complete -c cargo -n "__fish_seen_subcommand_from update" -l dry-run -d 'Don\'t actually write the lockfile'
+complete -c cargo -n "__fish_seen_subcommand_from update" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from update" -s V -l version -d 'Prints version information'
+complete -c cargo -n "__fish_seen_subcommand_from update" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from update" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from update" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from update" -l offline -d 'Run without accessing the network'
+complete -c cargo -n "__fish_seen_subcommand_from vendor" -l manifest-path -d 'Path to Cargo.toml'
+complete -c cargo -n "__fish_seen_subcommand_from vendor" -s s -l sync -d 'Additional `Cargo.toml` to sync and vendor'
+complete -c cargo -n "__fish_seen_subcommand_from vendor" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from vendor" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from vendor" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from vendor" -s q -l quiet -d 'No output printed to stdout'
+complete -c cargo -n "__fish_seen_subcommand_from vendor" -l no-delete -d 'Don\'t delete older crates in the vendor directory'
+complete -c cargo -n "__fish_seen_subcommand_from vendor" -l respect-source-config -d 'Respect `[source]` config in `.cargo/config`'
+complete -c cargo -n "__fish_seen_subcommand_from vendor" -l versioned-dirs -d 'Always include version in subdir name'
+complete -c cargo -n "__fish_seen_subcommand_from vendor" -l no-merge-sources
+complete -c cargo -n "__fish_seen_subcommand_from vendor" -l relative-path
+complete -c cargo -n "__fish_seen_subcommand_from vendor" -l only-git-deps
+complete -c cargo -n "__fish_seen_subcommand_from vendor" -l disallow-duplicates
+complete -c cargo -n "__fish_seen_subcommand_from vendor" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from vendor" -s V -l version -d 'Prints version information'
+complete -c cargo -n "__fish_seen_subcommand_from vendor" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from vendor" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from vendor" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from vendor" -l offline -d 'Run without accessing the network'
+complete -c cargo -n "__fish_seen_subcommand_from verify-project" -l manifest-path -d 'Path to Cargo.toml'
+complete -c cargo -n "__fish_seen_subcommand_from verify-project" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from verify-project" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from verify-project" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from verify-project" -s q -l quiet -d 'No output printed to stdout'
+complete -c cargo -n "__fish_seen_subcommand_from verify-project" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from verify-project" -s V -l version -d 'Prints version information'
+complete -c cargo -n "__fish_seen_subcommand_from verify-project" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from verify-project" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from verify-project" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from verify-project" -l offline -d 'Run without accessing the network'
+complete -c cargo -n "__fish_seen_subcommand_from version" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from version" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from version" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from version" -s q -l quiet -d 'No output printed to stdout'
+complete -c cargo -n "__fish_seen_subcommand_from version" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from version" -s V -l version -d 'Prints version information'
+complete -c cargo -n "__fish_seen_subcommand_from version" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from version" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from version" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from version" -l offline -d 'Run without accessing the network'
+complete -c cargo -n "__fish_seen_subcommand_from yank" -l vers -d 'The version to yank or un-yank'
+complete -c cargo -n "__fish_seen_subcommand_from yank" -l index -d 'Registry index to yank from'
+complete -c cargo -n "__fish_seen_subcommand_from yank" -l token -d 'API token to use when authenticating'
+complete -c cargo -n "__fish_seen_subcommand_from yank" -l registry -d 'Registry to use'
+complete -c cargo -n "__fish_seen_subcommand_from yank" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from yank" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from yank" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from yank" -s q -l quiet -d 'No output printed to stdout'
+complete -c cargo -n "__fish_seen_subcommand_from yank" -l undo -d 'Undo a yank, putting a version back into the index'
+complete -c cargo -n "__fish_seen_subcommand_from yank" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from yank" -s V -l version -d 'Prints version information'
+complete -c cargo -n "__fish_seen_subcommand_from yank" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from yank" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from yank" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from yank" -l offline -d 'Run without accessing the network'
+complete -c cargo -n "__fish_seen_subcommand_from help" -l color -d 'Coloring: auto, always, never'
+complete -c cargo -n "__fish_seen_subcommand_from help" -l config -d 'Override a configuration value (unstable)'
+complete -c cargo -n "__fish_seen_subcommand_from help" -s Z -d 'Unstable (nightly-only) flags to Cargo, see \'cargo -Z help\' for details'
+complete -c cargo -n "__fish_seen_subcommand_from help" -s h -l help -d 'Prints help information'
+complete -c cargo -n "__fish_seen_subcommand_from help" -s V -l version -d 'Prints version information'
+complete -c cargo -n "__fish_seen_subcommand_from help" -s v -l verbose -d 'Use verbose output (-vv very verbose/build.rs output)'
+complete -c cargo -n "__fish_seen_subcommand_from help" -l frozen -d 'Require Cargo.lock and cache are up to date'
+complete -c cargo -n "__fish_seen_subcommand_from help" -l locked -d 'Require Cargo.lock is up to date'
+complete -c cargo -n "__fish_seen_subcommand_from help" -l offline -d 'Run without accessing the network'
diff --git a/dot_config/fish/completions/git.fish b/dot_config/fish/completions/git.fish
new file mode 100644
index 0000000..0fa768d
--- /dev/null
+++ b/dot_config/fish/completions/git.fish
@@ -0,0 +1,2162 @@
+# fish completion for git
+
+# Use this instead of calling git directly; it passes the commands that are
+# already present on the commandline to git. This is relevant for --work-tree etc, see issue #6219.
+function __fish_git
+ set -l saved_args $argv
+ set -l global_args
+ set -l cmd (commandline -opc)
+ # We assume that git is the first command until we have a better awareness of subcommands, see #2705.
+ set -e cmd[1]
+ if argparse -s (__fish_git_global_optspecs) -- $cmd 2>/dev/null
+ # All arguments that were parsed by argparse are global git options.
+ set -l num_global_args (math (count $cmd) - (count $argv))
+ if test $num_global_args -ne 0
+ set global_args $cmd[1..$num_global_args]
+ end
+ end
+ # Using 'command git' to avoid interactions for aliases from git to (e.g.) hub
+ # Using eval to expand ~ and variables specified on the commandline.
+ eval command git $global_args \$saved_args 2>/dev/null
+end
+
+# Print an optspec for argparse to handle git's options that are independent of any subcommand.
+function __fish_git_global_optspecs
+ string join \n v-version h/help C= c=+ 'e-exec-path=?' H-html-path M-man-path I-info-path p/paginate \
+ P/no-pager o-no-replace-objects b-bare G-git-dir= W-work-tree= N-namespace= S-super-prefix= \
+ l-literal-pathspecs g-glob-pathspecs O-noglob-pathspecs i-icase-pathspecs
+end
+
+function __fish_git_commits
+ # Complete commits with their subject line as the description
+ # This allows filtering by subject with the new pager!
+ # Because even subject lines can be quite long,
+ # trim them (abbrev'd hash+tab+subject) to 73 characters
+ #
+ # Hashes we just truncate ourselves to 10 characters, without disambiguating.
+ # That technically means that sometimes we don't give usable SHAs,
+ # but according to https://stackoverflow.com/a/37403152/3150338,
+ # that happens for 3 commits out of 600k.
+ # For fish, at the time of writing, out of 12200 commits, 7 commits need 8 characters.
+ # And since this takes about 1/3rd of the time that disambiguating takes...
+ __fish_git log --pretty=tformat:"%H"\t"%<(64,trunc)%s" --all --max-count=1000 2>/dev/null \
+ | string replace -r '^([0-9a-f]{10})[0-9a-f]*\t(.*)' '$1\t$2'
+end
+
+function __fish_git_recent_commits
+ # Like __fish_git_commits, but not on all branches and limited to
+ # the last 50 commits. Used for fixup, where only the current branch
+ # and the latest commits make sense.
+ __fish_git log --pretty=tformat:"%h"\t"%<(64,trunc)%s" --max-count=50 $argv 2>/dev/null
+end
+
+function __fish_git_branches
+ # This is much faster than using `git branch`,
+ # and avoids having to deal with localized "detached HEAD" messages.
+ __fish_git for-each-ref --format='%(refname)' refs/heads/ refs/remotes/ 2>/dev/null \
+ | string replace -r '^refs/heads/(.*)$' '$1\tLocal Branch' \
+ | string replace -r '^refs/remotes/(.*)$' '$1\tRemote Branch'
+end
+
+function __fish_git_submodules
+ __fish_git submodule 2>/dev/null \
+ | string replace -r '^.[^ ]+ ([^ ]+).*$' '$1'
+end
+
+function __fish_git_local_branches
+ __fish_git for-each-ref --format='%(refname:strip=2)' refs/heads/ 2>/dev/null \
+ | string replace -rf '.*' '$0\tLocal Branch'
+end
+
+function __fish_git_unique_remote_branches
+ # `git checkout` accepts remote branches without the remote part
+ # if they are unambiguous.
+ # E.g. if only alice has a "frobulate" branch
+ # `git checkout frobulate` is equivalent to `git checkout -b frobulate --track alice/frobulate`.
+ __fish_git for-each-ref --format="%(refname:strip=3)" \
+ --sort="refname:strip=3" \
+ "refs/remotes/*/$match*" "refs/remotes/*/*/**" 2>/dev/null | uniq -u
+end
+
+function __fish_git_tags
+ __fish_git tag --sort=-creatordate 2>/dev/null
+end
+
+function __fish_git_heads
+ set -l gitdir (__fish_git rev-parse --git-dir 2>/dev/null)
+ or return # No git dir, no need to even test.
+ for head in HEAD FETCH_HEAD ORIG_HEAD MERGE_HEAD
+ if test -f $gitdir/$head
+ echo $head
+ end
+ end
+end
+
+function __fish_git_refs
+ __fish_git_branches
+ __fish_git_tags
+ __fish_git_heads
+end
+
+function __fish_git_remotes
+ __fish_git remote 2>/dev/null
+end
+
+function __fish_git_files
+ # A function to show various kinds of files git knows about,
+ # by parsing `git status --porcelain`.
+ #
+ # This accepts arguments to denote the kind of files:
+ # - added: Staged added files (unstaged adds are untracked)
+ # - copied
+ # - deleted
+ # - deleted-staged
+ # - ignored
+ # - modified: Files that have been modified (but aren't staged)
+ # - modified-staged: Staged modified files
+ # - renamed
+ # - untracked
+ # and as a convenience "all-staged"
+ # to get _all_ kinds of staged files.
+
+ # Save the repo root to remove it from the path later.
+ set -l root (__fish_git rev-parse --show-toplevel --is-bare-repository 2>/dev/null)
+ or return
+
+ # Skip bare repositories.
+ test "$root[2]" = true
+ and return
+ or set -e root[2]
+
+ # Cache the translated descriptions so we don't have to get it
+ # once per file.
+ contains -- all-staged $argv; and set -l all_staged
+ contains -- unmerged $argv; and set -l unmerged
+ and set -l unmerged_desc "Unmerged File"
+ contains -- added $argv; or set -ql all_staged; and set -l added
+ and set -l added_desc "Added file"
+ contains -- modified $argv; and set -l modified
+ and set -l modified_desc "Modified file"
+ contains -- untracked $argv; and set -l untracked
+ and set -l untracked_desc "Untracked file"
+ contains -- modified-staged $argv; or set -ql all_staged; and set -l modified_staged
+ and set -l staged_modified_desc "Staged modified file"
+ contains -- modified-staged-deleted $argv; or set -ql modified_staged; and set -l modified_staged_deleted
+ and set -l modified_staged_deleted_desc "Staged modified and deleted file"
+ contains -- deleted $argv; and set -l deleted
+ and set -l deleted_desc "Deleted file"
+ contains -- deleted-staged $argv; or set -ql all_staged; and set -l deleted_staged
+ and set -l staged_deleted_desc "Staged deleted file"
+ contains -- ignored $argv; and set -l ignored
+ and set -l ignored_desc "Ignored file"
+ contains -- renamed $argv; and set -l renamed
+ and set -l renamed_desc "Renamed file"
+ contains -- copied $argv; and set -l copied
+ and set -l copied_desc "Copied file"
+
+ # A literal "?" for use in `case`.
+ set -l q '\\?'
+ if status test-feature qmark-noglob
+ set q '?'
+ end
+ set -l use_next
+ # git status --porcelain gives us all the info we need, in a format we don't.
+ # The v2 format has better documentation and doesn't use " " to denote anything,
+ # but it's only been added in git 2.11.0, which was released November 2016.
+
+ # Also, we ignore submodules because they aren't useful as arguments (generally),
+ # and they slow things down quite significantly.
+ # E.g. `git reset $submodule` won't do anything (not even print an error).
+ # --ignore-submodules=all was added in git 1.7.2, released July 2010.
+ #
+ set -l status_opt --ignore-submodules=all
+
+ # If we aren't looking for ignored files, let git status skip them.
+ # (don't use --ignored=no because that was only added in git 2.16, from Jan 2018.
+ set -q ignored; and set -a status_opt --ignored
+
+ # If we're looking for untracked files, we give untracked files even inside untracked directories.
+ # This makes it nicer if e.g. you're in an untracked directory and want to just add one file.
+ set -q untracked; and set -a status_opt -uall
+ or set -a status_opt -uno
+
+ # We need to set status.relativePaths to true because the porcelain v2 format still honors that,
+ # and core.quotePath to false so characters > 0x80 (i.e. non-ASCII) aren't considered special.
+ # We explicitly enable globs so we can use that to match the current token.
+ set -l git_opt -c status.relativePaths -c core.quotePath=
+
+ # We pick the v2 format if we can, because it shows relative filenames (if used without "-z").
+ # We fall back on the v1 format by reading git's _version_, because trying v2 first is too slow.
+ set -l ver (__fish_git --version | string replace -rf 'git version (\d+)\.(\d+)\.?.*' '$1\n$2')
+ # Version >= 2.11.* has the v2 format.
+ if test "$ver[1]" -gt 2 2>/dev/null; or test "$ver[1]" -eq 2 -a "$ver[2]" -ge 11 2>/dev/null
+ __fish_git $git_opt status --porcelain=2 $status_opt \
+ | while read -la -d ' ' line
+ set -l file
+ set -l desc
+ # The basic status format is "XY", where X is "our" state (meaning the staging area),
+ # and "Y" is "their" state.
+ # A "." means it's unmodified.
+ switch "$line[1..2]"
+ case 'u *'
+ # Unmerged
+ # "Unmerged entries have the following format; the first character is a "u" to distinguish from ordinary changed entries."
+ # "u "
+ # This is first to distinguish it from normal modifications et al.
+ set -ql unmerged
+ and set file "$line[11..-1]"
+ and set desc $unmerged_desc
+ case '2 .R*' '2 R.*'
+ # Renamed/Copied
+ # From the docs: "Renamed or copied entries have the following format:"
+ # "2