@ -0,0 +1,2 @@ | |||
# defaults | |||
hostname_color="red" |
@ -0,0 +1,8 @@ | |||
README.md | |||
{{ if (hasKey . "firefox") | not }} | |||
.mozilla | |||
{{- end }} | |||
{{ if (hasKey . "git") | not }} | |||
.gitconfig | |||
{{- end }} |
@ -0,0 +1,2 @@ | |||
# Swap files | |||
*.sw[a-p] |
@ -0,0 +1,39 @@ | |||
[submodule "dot_vim/bundle/gruvbox"] | |||
path = dot_vim/bundle/gruvbox | |||
url = https://github.com/morhetz/gruvbox.git | |||
[submodule "dot_vim/bundle/indentLine"] | |||
path = dot_vim/bundle/indentLine | |||
url = https://github.com/Yggdroot/indentLine.git | |||
[submodule "dot_vim/bundle/lightline.vim"] | |||
path = dot_vim/bundle/lightline.vim | |||
url = https://github.com/itchyny/lightline.vim.git | |||
[submodule "dot_vim/bundle/nerdcommenter"] | |||
path = dot_vim/bundle/nerdcommenter | |||
url = https://github.com/preservim/nerdcommenter.git | |||
[submodule "dot_vim/bundle/nerdtree"] | |||
path = dot_vim/bundle/nerdtree | |||
url = https://github.com/preservim/nerdtree.git | |||
[submodule "dot_vim/bundle/python-syntax"] | |||
path = dot_vim/bundle/python-syntax | |||
url = https://github.com/hdima/python-syntax.git | |||
[submodule "dot_vim/bundle/tabular"] | |||
path = dot_vim/bundle/tabular | |||
url = https://github.com/godlygeek/tabular.git | |||
[submodule "dot_vim/bundle/vim-indent-guides"] | |||
path = dot_vim/bundle/vim-indent-guides | |||
url = https://github.com/nathanaelkane/vim-indent-guides.git | |||
[submodule "dot_vim/bundle/vim-markdown-toc"] | |||
path = dot_vim/bundle/vim-markdown-toc | |||
url = https://github.com/mzlogin/vim-markdown-toc.git | |||
[submodule "dot_vim/bundle/vim-rainbow"] | |||
path = dot_vim/bundle/vim-rainbow | |||
url = https://github.com/frazrepo/vim-rainbow.git | |||
[submodule "dot_vim/bundle/vim-surround"] | |||
path = dot_vim/bundle/vim-surround | |||
url = https://github.com/tpope/vim-surround.git | |||
[submodule "dot_vim/pack/dist/opt/vim-matchit"] | |||
path = dot_vim/pack/dist/opt/vim-matchit | |||
url = https://github.com/adelarsq/vim-matchit.git | |||
[submodule "dot_vim/pack/git-plugins/start/ale"] | |||
path = dot_vim/pack/git-plugins/start/ale | |||
url = https://github.com/dense-analysis/ale.git |
@ -0,0 +1,126 @@ | |||
``` | |||
_ _ __ _ _ | |||
| | | | / _(_) | | |||
__| | ___ | |_| |_ _| | ___ ___ | |||
/ _` |/ _ \| __| _| | |/ _ \/ __| | |||
| (_| | (_) | |_| | | | | __/\__ \ | |||
\__,_|\___/ \__|_| |_|_|\___||___/ | |||
``` | |||
## Table of Contents | |||
<!-- vim-markdown-toc GFM --> | |||
* [Overview](#overview) | |||
* [Chezmoi TLDR](#chezmoi-tldr) | |||
* [Configs and Applications](#configs-and-applications) | |||
* [Requirements](#requirements) | |||
* [Chezmoi Configuration File (Optional)](#chezmoi-configuration-file-optional) | |||
* [Initial Setup](#initial-setup) | |||
* [Special Notes](#special-notes) | |||
* [Mozilla Firefox](#mozilla-firefox) | |||
<!-- vim-markdown-toc --> | |||
# Overview | |||
These are my dotfiles for various systems which are managed using [chezmoi](https://www.chezmoi.io/) | |||
This includes custom profiles for various machines | |||
# Chezmoi TLDR | |||
``` | |||
chezmoi init ssh://git@gitea.ryanreed.net:3001/ryanreed/dotfiles-chezmoi.git | |||
chezmoi apply -n # Apply changes to ~ (Dry run) | |||
chezmoi archive # Create an archive of the dotfiles | |||
chezmoi cd # cd to chosmoi source path | |||
chezmoi merge # Merge changes made to local copy with chezmoi managed | |||
chezmoi update # Pull latest version from git and apply changes | |||
chezmoi add ~/.my_file # Manage new file | |||
chezmoi forget ~/.my_file # Stop managing a file | |||
chezmoi managed # View managed files | |||
``` | |||
# Configs and Applications | |||
Check out the README's of the various apps for shortcuts, plugin info, etc: | |||
* [Tmux](dot_tmux/README.md) | |||
* [Vim](dot_vim/README.md) | |||
* [ZSH](dot_zsh/README.md) | |||
# Requirements | |||
| Application | Min Version | | |||
| ----------- | ----------- | | |||
| Chezmoi | 2.3 | | |||
| Tmux | 3.0 | | |||
| Vim | 8.2 | | |||
| zsh | 5.8 | | |||
The above are only the versions that each package was last known working with. It's likely most would work on earlier versions. | |||
# Chezmoi Configuration File (Optional) | |||
Create the chezmoi configuration at `~/.config/chezmoi/chezmoi.toml`: | |||
``` | |||
[data] | |||
hostname_color = "blue" | |||
[data.firefox] | |||
enabled = true | |||
bookmarks = "/home/user/bookmarks.html" | |||
[data.git] | |||
email = "git@email.com" | |||
name = "My User" | |||
ssl_verify = false | |||
# The following is not currently in use | |||
[keepassxc] | |||
database = "/home/user/database.kdbx" | |||
``` | |||
# Initial Setup | |||
Chezmoi does not support submodules. However, submodules are how we want to handle this rather than having to use the chezmoi configuration | |||
``` | |||
sh -c "$(curl -fsLS git.io/chezmoi)" | |||
chezmoi init ssh://git@gitea.ryanreed.net:3001/ryanreed/dotfiles-chezmoi.git | |||
chezmoi apply -v -n # Remove -n to actually apply | |||
``` | |||
# Special Notes | |||
## Mozilla Firefox | |||
I utilize various [user.js](private_dot_mozilla/private_firefox/private_personal-profile.default/user.js.tmpl) and userChrome.css tweaks. These are setup within `~/.mozilla/firefox/personal-profile.default/`. | |||
Because of how firefox creates profile directories with randomish names, the best method is to: | |||
1. **Make Sure Firefox is Closed** | |||
2. Rename your current profile to `personal-profile.default` | |||
3. Symlink `personal-profile.default` to your original directory's name | |||
For example: | |||
``` | |||
mv ~/.mozilla/firefox/yyaabb123.default ~/.mozilla/firefox/personal-profile.default | |||
ln -s ~/.mozilla/firefox/personal-profile.default ~/.mozilla/firefox/yyaabb123.default | |||
``` | |||
Renaming the profile (`firefox -p`), renaming the directory, and modifying `profiles.ini` isn't enough either. You would need to check the profile directory for any files where the path is hardcoded. | |||
Unfortunately, it can't be automated with Chezmoi. Chezmoi can NOT add files to the symlink directory. It will delete the symlink and create just the directory needed. | |||
The above implementation seems to get around these issues. |
@ -0,0 +1,18 @@ | |||
[user] | |||
email = {{ default "unknown@unknown.com" .git.email | quote }} | |||
name = {{ default "Unknown" .git.name | quote }} | |||
[http] | |||
{{- if hasKey .git "ssl_verify" }} | |||
sslVerify = {{ .git.ssl_verify }} | |||
{{- else }} | |||
sslVerify = true | |||
{{- end }} | |||
[apply] | |||
# Detect whitespace errors when applying a patch. | |||
whitespace = fix | |||
[fetch] | |||
# Remove any remote-tracking references that no longer exist on the remote. | |||
prune = true |
@ -0,0 +1,96 @@ | |||
# ========================== | |||
# === General settings === | |||
# ========================== | |||
set -g default-terminal "screen-256color" | |||
set -g history-limit 50000 | |||
#set -sg escape-time 0 # fix for delay in switching modes in vim | |||
# set -g display-time 4000 # Tmux messages are displayed for 4 seconds | |||
# set -g remain-on-exit off | |||
set -g repeat-time 200 # Allow multiple tmux commands to be run within time period (ms) without pressing the prefix (Default: 500) | |||
setw -g aggressive-resize on | |||
setw -g mode-keys vi # Prefer vi style key table | |||
# =========================== | |||
# === Windows and Panes === | |||
# =========================== | |||
#set-hook -g after-new-window 'command-prompt -I "#{window_name}" "rename-window '%%'"' # Prompt to rename window right after it's created | |||
# Set parent terminal title to reflect current window in tmux session | |||
# set -g set-titles on | |||
# set -g set-titles-string "#I:#W" | |||
#setw -g allow-rename off # Don't allow rename of window name (\o33k...\033\\) | |||
#setw -g automatic-rename off # Don't rename window based on command being run | |||
set -g base-index 1 # start session number from 1 rather than 0 | |||
set -g pane-base-index 1 # start pane number from 1 | |||
set -g renumber-windows on # renumber windows sequentially after closing any of them | |||
# Silence | |||
set-option -g visual-activity off | |||
set-option -g visual-bell off | |||
set-option -g visual-silence off | |||
set-window-option -g monitor-activity off | |||
set-option -g bell-action none | |||
# ====================== | |||
# === Key bindings === | |||
# ====================== | |||
# Add secondary prefix of Ctrl-a; easier to type, same to "screen" | |||
# Leave Ctrl-b for legacy purposes | |||
set -g prefix2 C-a | |||
bind C-a send-prefix # dont mess with other ctrl-a options by pressing ctrl-a twice | |||
bind r source-file ~/.tmux.conf \; display "Config reloaded" # Reload tmux configuration | |||
# bind c new-window -c "#{pane_current_path}" # new window and retain cwd | |||
bind | split-window -h -c "#{pane_current_path}" # split panes vertically | |||
bind - split-window -v -c "#{pane_current_path}" # split panes horizontally | |||
bind -r Tab last-window # cycle through most recently used tabs | |||
bind T swap-window -t 1 # Make the current window the first window | |||
bind + resize-pane -Z # zoom on pane | |||
bind -n M-Up copy-mode # trigger copy mode with PgUp | |||
bind d detach # detach session | |||
# Force home/end to only move to start/end of line | |||
unbind-key -T copy-mode-vi 'Home' | |||
unbind-key -T copy-mode-vi 'End' | |||
bind-key -T copy-mode-vi 'Home' send -X start-of-line | |||
bind-key -T copy-mode-vi 'End' send -X end-of-line | |||
bind m set -g mouse \; display 'Mouse Mode Toggled' | |||
# Save Last 32000 lines to file | |||
bind-key P command-prompt -p 'save history to filename:' -I '~/tmux.history' 'capture-pane -S -32000 ; save-buffer %1 ; delete-buffer' | |||
# Start capture of current pane | |||
bind-key H pipe-pane -o "exec cat >>$HOME/'tmux-#W.log'" \; display-message 'Toggled logging to $HOME/tmux-#W.log' | |||
# =================================== | |||
# === Appearence and status bar === | |||
# =================================== | |||
# Load the tmux theme, based on the environment variable TMUX_THEME | |||
# If TMUX_THEME is not set or empty, use ~/.tmux/themes/material.tmux | |||
# Taken from https://github.com/PeterMosmans/dotfiles | |||
run-shell "tmux source-file ~/.tmux/themes/\${TMUX_THEME:-widecentered}.tmux" | |||
set -g status-position top | |||
# =============== | |||
# === Final === | |||
# =============== | |||
# Load local config, if it exists | |||
if-shell "[ -f ~/.tmux.conf.local ]" 'source ~/.tmux.conf.local' |
@ -0,0 +1,42 @@ | |||
# Tmux | |||
## Table of Contents | |||
<!-- vim-markdown-toc GFM --> | |||
* [Shortcuts](#shortcuts) | |||
* [Notes](#notes) | |||
* [Copying and save buffer](#copying-and-save-buffer) | |||
<!-- vim-markdown-toc --> | |||
## Shortcuts | |||
**Leader Combo:** `ctrl + a` | |||
| Shortcut | Description | | |||
| -------------- | ----------------------------------------- | | |||
| `<leader>| ` | Split Vertically | | |||
| `<leader>-` | Split Horizontally | | |||
| `<leader>m` | Toggle mouse mode | | |||
| `<leader>P` | Save current window to file (32000 lines) | | |||
| `<leader>H` | Toggle logging of session | | |||
| `<leader>r` | Reload tmux configuration | | |||
| `<leader>T` | Make current window first window | | |||
| `<leader>PgUp` | Enter copy mode | | |||
## Notes | |||
### Copying and save buffer | |||
This can be done through the shortcut `<leader>P` which will ask where to | |||
save the entire buffer of the current window, up to 32000 lines. | |||
Below is the manual method for saving a selection rather than the whole buffer | |||
1. `<leader><pgup>` | |||
2. Move to line you want to start copying from | |||
3. `<space>` | |||
4. Move to last line | |||
5. ` <enter>` | |||
6. `<leader> :save-buffer <filepath>` |
@ -0,0 +1,19 @@ | |||
set -g status on | |||
set -g status-bg black | |||
set -g status-fg white | |||
set -g status-position top | |||
set -g status-justify left | |||
set -g status-interval 2 | |||
setw -g window-status-current-format ' #I#[fg=colour250]:#[fg=colour255]#W#[fg=colour50]#F ' | |||
set -g window-status-format "#[fg=colour244,bg=colour234]#I #[fg=colour240] #[default]#W " | |||
set -g window-status-current-format "#[fg=colour234,bg=colour31]#[fg=colour117,bg=colour31] #I #[fg=colour231,bold]#W #[fg=colour31,bg=colour234,nobold]" | |||
set -g window-status-last-style fg=colour31 | |||
set -g status-left-length 30 | |||
set -g status-left '#{?client_prefix,#[fg=colour254]#[bg=colour31]#[bold],#[fg=colour16]#[bg=colour254]#[bold]} #S #{?client_prefix,#[fg=colour31]#[bg=colour234]#[nobold],#[fg=colour254]#[bg=colour234]#[nobold]} ' | |||
set -g status-right-length 150 | |||
set -g status-right '#[bg=black,fg=yellow] #[bg=yellow, fg=black] #(cut -d " " -f 1-3 /proc/loadavg) #[bg=yellow,fg=colour241]#[fg=colour233,bg=colour241,bold] %d/%m #[bg=colour241,fg=colour245]#[fg=colour233,bg=colour245,bold] %H:%M:%S ' |
@ -0,0 +1,19 @@ | |||
set -g status on | |||
set -g status-bg black | |||
set -g status-fg white | |||
set -g status-position top | |||
set -g status-justify left | |||
set -g status-interval 2 | |||
setw -g window-status-current-format ' #I#[fg=colour250]:#[fg=colour255]#W#[fg=colour50]#F ' | |||
set -g window-status-format "#[fg=colour244,bg=colour234]#I #[fg=colour240]| #[default]#W " | |||
set -g window-status-current-format "#[fg=colour117,bg=colour31] #I #[fg=colour231,bold]#W " | |||
#set -g window-status-last-style fg=colour31 | |||
set -g status-left-length 30 | |||
set -g status-left '#{?client_prefix,#[fg=colour254]#[bg=colour31]#[bold],#[fg=colour16]#[bg=colour254]#[bold]} #S #{?client_prefix,#[fg=colour31]#[bg=colour234]#[nobold],#[fg=colour254]#[bg=colour234]#[nobold]} #(whoami) ' | |||
set -g status-right-length 150 | |||
set -g status-right '#[bg=yellow, fg=black] #(cut -d " " -f 1-3 /proc/loadavg) #[fg=colour254,bg=black] #[fg=colour233,bg=colour241,bold] %d/%m #[fg=colour254,bg=black] #[fg=colour233,bg=colour245,bold] %H:%M ' |
@ -0,0 +1,62 @@ | |||
# Original Source: https://github.com/mit17k/tmux-material-dark-theme/blob/master/tmux-onedark-theme.tmux | |||
material_dark_black="#292929" | |||
material_dark_blue="#82aaff" | |||
material_dark_yellow="#ffcb6b" | |||
material_dark_red="#f07178" | |||
material_dark_white="#B0BEC5" | |||
material_dark_green="#c3e88d" | |||
material_dark_visual_grey="#3F3F3F" | |||
material_dark_comment_grey="#5c6370" | |||
set -g "status" "on" | |||
set -g "status-justify" "left" | |||
set -g "status-left-length" "100" | |||
set -g "status-right-length" "100" | |||
set -g "status-right-attr" "none" | |||
set -g "message-fg" "$material_dark_white" | |||
set -g "message-bg" "$material_dark_black" | |||
set -g "message-command-fg" "$material_dark_white" | |||
set -g "message-command-bg" "$material_dark_black" | |||
set -g "status-attr" "none" | |||
set -g "status-left-attr" "none" | |||
setw -g "window-status-fg" "$material_dark_black" | |||
setw -g "window-status-bg" "$material_dark_black" | |||
setw -g "window-status-attr" "none" | |||
setw -g "window-status-activity-bg" "$material_dark_black" | |||
setw -g "window-status-activity-fg" "$material_dark_black" | |||
setw -g "window-status-activity-attr" "none" | |||
setw -g "window-status-separator" "" | |||
set -g "window-style" "fg=$material_dark_comment_grey" | |||
set -g "window-active-style" "fg=$material_dark_white" | |||
set -g "pane-border-fg" "$material_dark_white" | |||
set -g "pane-border-bg" "$material_dark_black" | |||
set -g "pane-active-border-fg" "$material_dark_green" | |||
set -g "pane-active-border-bg" "$material_dark_black" | |||
set -g "display-panes-active-colour" "$material_dark_yellow" | |||
set -g "display-panes-colour" "$material_dark_blue" | |||
set -g "status-bg" "$material_dark_black" | |||
set -g "status-fg" "$material_dark_white" | |||
set -g "@prefix_highlight_fg" "$material_dark_black" | |||
set -g "@prefix_highlight_bg" "$material_dark_green" | |||
set -g "@prefix_highlight_copy_mode_attr" "fg=$material_dark_black,bg=$material_dark_green" | |||
set -g "@prefix_highlight_output_prefix" " " | |||
set -g "status-left" "#[fg=$material_dark_black,bg=$material_dark_green,bold] #S #{prefix_highlight}#[fg=$material_dark_green,bg=$material_dark_black,nobold,nounderscore,noitalics]" | |||
set -g status-right ' #(cut -d " " -f 1-3 /proc/loadavg) #[fg=colour233,bg=colour241,bold] %d/%m #[fg=colour254,bg=black] #[fg=colour233,bg=colour245,bold] %H:%M ' | |||
set -g status-right-length 150 | |||
set -g "window-status-format" "#[fg=$material_dark_black,bg=$material_dark_black,nobold,nounderscore,noitalics]#[fg=$material_dark_white,bg=$material_dark_black] #I #W #[fg=$material_dark_black,bg=$material_dark_black,nobold,nounderscore,noitalics]" | |||
set -g "window-status-current-format" "#[fg=$material_dark_black,bg=$material_dark_visual_grey,nobold,nounderscore,noitalics]#[fg=$material_dark_white,bg=$material_dark_visual_grey,nobold] #I #W #[fg=$material_dark_visual_grey,bg=$material_dark_black,nobold,nounderscore,noitalics]" |
@ -0,0 +1,20 @@ | |||
set -g status 'on' | |||
set -g status-position top | |||
set -g status-bg 'colour235' | |||
set -g status-justify 'centre' | |||
set -g status-left-length '100' | |||
set -g status-right-length '100' | |||
set -g message-style fg='colour222',bg='colour238' | |||
set -g message-command-style fg='colour222',bg='colour238' | |||
set -g pane-border-style fg='colour238' | |||
set -g pane-active-border-style fg='colour202' | |||
setw -g window-status-activity-style fg='colour202',bg='colour235',none | |||
setw -g window-status-separator '' | |||
setw -g window-status-style fg='colour172',bg='colour235',none | |||
set -g status-left '#[fg=colour232,bg=colour202] #S #[fg=colour202,bg=colour238,nobold,nounderscore,noitalics]#[fg=colour222,bg=colour238] #W #[fg=colour238,bg=colour235,nobold,nounderscore,noitalics]#[fg=colour172,bg=colour235] #(whoami) #[fg=colour235,bg=colour235,nobold,nounderscore,noitalics]' | |||
set -g status-right '#[fg=colour235,bg=colour235,nobold,nounderscore,noitalics]#[fg=colour172,bg=colour235] %r %a %Y #[fg=colour238,bg=colour235,nobold,nounderscore,noitalics]#[fg=colour222,bg=colour238] #H #[fg=colour202,bg=colour238,nobold,nounderscore,noitalics]#[fg=colour232,bg=colour202] #(rainbarf --battery --remaining --no-rgb) ' | |||
setw -g window-status-format '#[fg=colour235,bg=colour235,nobold,nounderscore,noitalics]#[default] #I #W #[fg=colour235,bg=colour235,nobold,nounderscore,noitalics]' | |||
setw -g window-status-current-format '#[fg=colour235,bg=colour238,nobold,nounderscore,noitalics]#[fg=colour222,bg=colour238] #I #W #[fg=colour238,bg=colour235,nobold,nounderscore,noitalics]' |
@ -0,0 +1,114 @@ | |||
# VIM | |||
Note: Some features require version 8+ of vim. For instance, the ALE plugin which utilizes the built-in `~/.vim/pack/` for autoloading plugins | |||
## Table of Contents | |||
<!-- vim-markdown-toc GFM --> | |||
* [Snippets](#snippets) | |||
* [Incrementing a column of numbers](#incrementing-a-column-of-numbers) | |||
* [Plugins](#plugins) | |||
* [Keybindings](#keybindings) | |||
* [Display Related](#display-related) | |||
* [Formatting Related](#formatting-related) | |||
* [Navigation Related](#navigation-related) | |||
* [Tabs and Windows Related](#tabs-and-windows-related) | |||
* [Misc Related](#misc-related) | |||
<!-- vim-markdown-toc --> | |||
## Snippets | |||
``` | |||
<v><e><y> # select to end of word/variable and yank | |||
<c><t><)> # cut everything before ) [eg func(text-to-cut)] | |||
``` | |||
### Incrementing a column of numbers | |||
``` | |||
<ctrl><v> # Select all number columns to increment | |||
<g><ctrl+a> # If using tmux config, may need to hit a twice (e.g. <ctrl+a+a> | |||
``` | |||
## Plugins | |||
* ~~[Easymotion](https://github.com/easymotion/vim-easymotion) - Easily navigate documents~~ Disabled recently as unused, although useful | |||
* [Asynchronous Lint Engine (ALE)](https://github.com/dense-analysis/ale) - Linting while working | |||
* [Gruvbox](https://github.com/morhetz/gruvbox) - Retro colorscheme (colorscheme in vimrc) | |||
* [Matchit](https://github.com/adelarsq/vim-matchit) - For expanding % matching (matches start/end tags for html, for example) | |||
* [Lightline](https://github.com/itchyny/lightline.vim) - Configurable statusline/tabline | |||
* [Markdown TOC](https://github.com/mzlogin/vim-markdown-toc) - A markdown Table of Contents generator | |||
* [NERDCommenter](https://github.com/preservim/nerdcommenter) - Quick commenting/uncommenting of lines | |||
* [NERDTree](https://github.com/scrooloose/nerdtree) - Local file explorer | |||
* [python-syntax](https://github.com/vim-python/python-syntax) - Better syntax highlighting for python | |||
* [Tabular](https://github.com/godlygeek/tabular/) - Easily align text based on delimeters (e.g. |) | |||
* [surround.vim](https://github.com/tpope/vim-surround) - Easily surround with delimeters (e.g. "Something") | |||
* [IndentLines](https://github.com/Yggdroot/indentLine) - View the indentations (`<leader>i`) | |||
* [vim-rainbow](https://github.com/frazrepo/vim-rainbow.git) - Different colors for different levels of brackets | |||
## Keybindings | |||
**Leader Key:** `,` (comma) | |||
### Display Related | |||
| Shortcut | Description | Plugin | | |||
| ---------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------- | | |||
| `<leader><F3>` | Toggle wordwrap | | | |||
| `<leader>bg` | Toggle dark/light background | | | |||
| `<leader>h` | Disable search highlight | | | |||
| `<leader>f<0-9>` | Set foldlevel (0-9) | | | |||
| `<leader>i` | Toggle indent guides | IndentLines | | |||
### Formatting Related | |||
| Shortcut | Description | Plugin | | |||
| ---------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------- | | |||
| `-` | Comment out selected lines (filetype needs to be configured in vimrc for support) | NERDcommenter | | |||
| `_` | Uncomment selected lines (filetype needs to be configured in vimrc for support) | NERDcommenter | | |||
| `<leader><F2>` | Remove trailing whitespace from file | | | |||
| `<leader>a<delimiter>` | Accept various common delimiters for tabulizing blocks of code (e.g. `varname = something`, = being the delimiter) | Tabular | | |||
| `<leader>d` | Add delimiters around entire line (normal mode) or selection (visual mode) | vim-surround | | |||
| `<leader>j` | Pretty print json (current open file) | | | |||
| `<leader>D` | Add delimiters around current word (normal mode) | vim-surround | | |||
| `<leader>q` | Format a paragraph/line to better fit the textwidth | | | |||
| `<leader>p` | Toggle paste mode | | | |||
| `S)` | Add delimiters current selection | vim-surround | | |||
| `cs<delimiter><delimiter>` | Replace a character with anothere charcter (e.g. `cs"'`, or `cs'<p class="test">`) | vim-surround | | |||
| `ds<delimiter>` | Remove a delimiter | vim-surround | | |||
| `ysiw]` | Add delimiters around current word | vim-surround | | |||
| `yss)` | Add delimiters around entire line | vim-surround | | |||
### Navigation Related | |||
| Shortcut | Description | Plugin | | |||
| ---------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------- | | |||
| `%` | Find the end {}, [], or start/end tags (e.g. html) | Base, Matchit | | |||
| `*` | Highlight all occurences of word under cursor (default in vim) | | | |||
| `ff` | Display all occurences of word under cursor | | | |||
| `cwd` | Change working dirctory to current file's | | | |||
| `<leader>n` | Toggle NERDTree | NERDTree | | |||
| `<leader>j` | Move to next linting error | ALE | | |||
| `<leader>k` | Move to previous linting error | ALE | | |||
### Tabs and Windows Related | |||
| Shortcut | Description | Plugin | | |||
| ---------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------- | | |||
| `<leader>sh` | Split horizontally | | | |||
| `<leader>sv` | Split vertically | | | |||
| `<leader>t` | Tab Next | | | |||
| `<leader>T` | Tab Previous | | | |||
| `<leader>w` | cycle through split windows | | | |||
| `<leader><+>` | Resize horizontal pane (3/2) | | | |||
| `<leader><->` | Resize horizontal pane (2/3) | | | |||
| `<leader><<>` | Resize vertical pane (3/2) | | | |||
| `<leader><>>` | Resize vertical pane (2/3) | | | |||
### Misc Related | |||
| Shortcut | Description | Plugin | | |||
| ---------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------- | | |||
| `<leader><F4>` | Reload vimrc file | | | |||
| `w!!` | Attempt to sudo and write to file | | | |||
@ -0,0 +1,4 @@ | |||
setlocal colorcolumn=80 | |||
setlocal textwidth=80 | |||
setlocal spell | |||
setlocal spelllang=en_us |
@ -0,0 +1,5 @@ | |||
setlocal shiftwidth=4 | |||
setlocal softtabstop=4 | |||
setlocal tabstop=4 | |||
setlocal foldmethod=indent | |||
setlocal colorcolumn=79 |
@ -0,0 +1,4 @@ | |||
setlocal shiftwidth=2 | |||
setlocal softtabstop=2 | |||
setlocal tabstop=2 | |||
setlocal foldmethod=indent |
@ -0,0 +1,2 @@ | |||
" Do not expand tabs into spaces for 'make' files. 'make' files MUST use tabs | |||
setlocal noexpandtab |
@ -0,0 +1,2 @@ | |||
setlocal colorcolumn=80 | |||
setlocal foldmethod=manual |
@ -0,0 +1,2 @@ | |||
setlocal foldmethod=marker | |||
setlocal wrapmargin=0 |
@ -0,0 +1,4 @@ | |||
setlocal shiftwidth=2 | |||
setlocal softtabstop=2 | |||
setlocal tabstop=2 | |||
setlocal foldmethod=indent |
@ -0,0 +1,264 @@ | |||
" pathogen.vim - path option manipulation | |||
" Maintainer: Tim Pope <http://tpo.pe/> | |||
" Version: 2.4 | |||
" Install in ~/.vim/autoload (or ~\vimfiles\autoload). | |||
" | |||
" For management of individually installed plugins in ~/.vim/bundle (or | |||
" ~\vimfiles\bundle), adding `execute pathogen#infect()` to the top of your | |||
" .vimrc is the only other setup necessary. | |||
" | |||
" The API is documented inline below. | |||
if exists("g:loaded_pathogen") || &cp | |||
finish | |||
endif | |||
let g:loaded_pathogen = 1 | |||
" Point of entry for basic default usage. Give a relative path to invoke | |||
" pathogen#interpose() or an absolute path to invoke pathogen#surround(). | |||
" Curly braces are expanded with pathogen#expand(): "bundle/{}" finds all | |||
" subdirectories inside "bundle" inside all directories in the runtime path. | |||
" If no arguments are given, defaults "bundle/{}", and also "pack/{}/start/{}" | |||
" on versions of Vim without native package support. | |||
function! pathogen#infect(...) abort | |||
if a:0 | |||
let paths = filter(reverse(copy(a:000)), 'type(v:val) == type("")') | |||
else | |||
let paths = ['bundle/{}', 'pack/{}/start/{}'] | |||
endif | |||
if has('packages') | |||
call filter(paths, 'v:val !~# "^pack/[^/]*/start/[^/]*$"') | |||
endif | |||
let static = '^\%([$~\\/]\|\w:[\\/]\)[^{}*]*$' | |||
for path in filter(copy(paths), 'v:val =~# static') | |||
call pathogen#surround(path) | |||
endfor | |||
for path in filter(copy(paths), 'v:val !~# static') | |||
if path =~# '^\%([$~\\/]\|\w:[\\/]\)' | |||
call pathogen#surround(path) | |||
else | |||
call pathogen#interpose(path) | |||
endif | |||
endfor | |||
call pathogen#cycle_filetype() | |||
if pathogen#is_disabled($MYVIMRC) | |||
return 'finish' | |||
endif | |||
return '' | |||
endfunction | |||
" Split a path into a list. | |||
function! pathogen#split(path) abort | |||
if type(a:path) == type([]) | return a:path | endif | |||
if empty(a:path) | return [] | endif | |||
let split = split(a:path,'\\\@<!\%(\\\\\)*\zs,') | |||
return map(split,'substitute(v:val,''\\\([\\,]\)'',''\1'',"g")') | |||
endfunction | |||
" Convert a list to a path. | |||
function! pathogen#join(...) abort | |||
if type(a:1) == type(1) && a:1 | |||
let i = 1 | |||
let space = ' ' | |||
else | |||
let i = 0 | |||
let space = '' | |||
endif | |||
let path = "" | |||
while i < a:0 | |||
if type(a:000[i]) == type([]) | |||
let list = a:000[i] | |||
let j = 0 | |||
while j < len(list) | |||
let escaped = substitute(list[j],'[,'.space.']\|\\[\,'.space.']\@=','\\&','g') | |||
let path .= ',' . escaped | |||
let j += 1 | |||
endwhile | |||
else | |||
let path .= "," . a:000[i] | |||
endif | |||
let i += 1 | |||
endwhile | |||
return substitute(path,'^,','','') | |||
endfunction | |||
" Convert a list to a path with escaped spaces for 'path', 'tag', etc. | |||
function! pathogen#legacyjoin(...) abort | |||
return call('pathogen#join',[1] + a:000) | |||
endfunction | |||
" Turn filetype detection off and back on again if it was already enabled. | |||
function! pathogen#cycle_filetype() abort | |||
if exists('g:did_load_filetypes') | |||
filetype off | |||
filetype on | |||
endif | |||
endfunction | |||
" Check if a bundle is disabled. A bundle is considered disabled if its | |||
" basename or full name is included in the list g:pathogen_blacklist or the | |||
" comma delimited environment variable $VIMBLACKLIST. | |||
function! pathogen#is_disabled(path) abort | |||
if a:path =~# '\~$' | |||
return 1 | |||
endif | |||
let sep = pathogen#slash() | |||
let blacklist = get(g:, 'pathogen_blacklist', get(g:, 'pathogen_disabled', [])) + pathogen#split($VIMBLACKLIST) | |||
if !empty(blacklist) | |||
call map(blacklist, 'substitute(v:val, "[\\/]$", "", "")') | |||
endif | |||
return index(blacklist, fnamemodify(a:path, ':t')) != -1 || index(blacklist, a:path) != -1 | |||
endfunction | |||
" Prepend the given directory to the runtime path and append its corresponding | |||
" after directory. Curly braces are expanded with pathogen#expand(). | |||
function! pathogen#surround(path) abort | |||
let sep = pathogen#slash() | |||
let rtp = pathogen#split(&rtp) | |||
let path = fnamemodify(a:path, ':s?[\\/]\=$??') | |||
let before = filter(pathogen#expand(path), '!pathogen#is_disabled(v:val)') | |||
let after = filter(reverse(pathogen#expand(path, sep.'after')), '!pathogen#is_disabled(v:val[0:-7])') | |||
call filter(rtp, 'index(before + after, v:val) == -1') | |||
let &rtp = pathogen#join(before, rtp, after) | |||
return &rtp | |||
endfunction | |||
" For each directory in the runtime path, add a second entry with the given | |||
" argument appended. Curly braces are expanded with pathogen#expand(). | |||
function! pathogen#interpose(name) abort | |||
let sep = pathogen#slash() | |||
let name = a:name | |||
if has_key(s:done_bundles, name) | |||
return "" | |||
endif | |||
let s:done_bundles[name] = 1 | |||
let list = [] | |||
for dir in pathogen#split(&rtp) | |||
if dir =~# '\<after$' | |||
let list += reverse(filter(pathogen#expand(dir[0:-6].name, sep.'after'), '!pathogen#is_disabled(v:val[0:-7])')) + [dir] | |||
else | |||
let list += [dir] + filter(pathogen#expand(dir.sep.name), '!pathogen#is_disabled(v:val)') | |||
endif | |||
endfor | |||
let &rtp = pathogen#join(pathogen#uniq(list)) | |||
return 1 | |||
endfunction | |||
let s:done_bundles = {} | |||
" Invoke :helptags on all non-$VIM doc directories in runtimepath. | |||
function! pathogen#helptags() abort | |||
let sep = pathogen#slash() | |||
for glob in pathogen#split(&rtp) | |||
for dir in map(split(glob(glob), "\n"), 'v:val.sep."/doc/".sep') | |||
if (dir)[0 : strlen($VIMRUNTIME)] !=# $VIMRUNTIME.sep && filewritable(dir) == 2 && !empty(split(glob(dir.'*.txt'))) && (!filereadable(dir.'tags') || filewritable(dir.'tags')) | |||
silent! execute 'helptags' pathogen#fnameescape(dir) | |||
endif | |||
endfor | |||
endfor | |||
endfunction | |||
command! -bar Helptags :call pathogen#helptags() | |||
" Execute the given command. This is basically a backdoor for --remote-expr. | |||
function! pathogen#execute(...) abort | |||
for command in a:000 | |||
execute command | |||
endfor | |||
return '' | |||
endfunction | |||
" Section: Unofficial | |||
function! pathogen#is_absolute(path) abort | |||
return a:path =~# (has('win32') ? '^\%([\\/]\|\w:\)[\\/]\|^[~$]' : '^[/~$]') | |||
endfunction | |||
" Given a string, returns all possible permutations of comma delimited braced | |||
" alternatives of that string. pathogen#expand('/{a,b}/{c,d}') yields | |||
" ['/a/c', '/a/d', '/b/c', '/b/d']. Empty braces are treated as a wildcard | |||
" and globbed. Actual globs are preserved. | |||
function! pathogen#expand(pattern, ...) abort | |||
let after = a:0 ? a:1 : '' | |||
let pattern = substitute(a:pattern, '^[~$][^\/]*', '\=expand(submatch(0))', '') | |||
if pattern =~# '{[^{}]\+}' | |||
let [pre, pat, post] = split(substitute(pattern, '\(.\{-\}\){\([^{}]\+\)}\(.*\)', "\\1\001\\2\001\\3", ''), "\001", 1) | |||
let found = map(split(pat, ',', 1), 'pre.v:val.post') | |||
let results = [] | |||
for pattern in found | |||
call extend(results, pathogen#expand(pattern)) | |||
endfor | |||
elseif pattern =~# '{}' | |||
let pat = matchstr(pattern, '^.*{}[^*]*\%($\|[\\/]\)') | |||
let post = pattern[strlen(pat) : -1] | |||
let results = map(split(glob(substitute(pat, '{}', '*', 'g')), "\n"), 'v:val.post') | |||
else | |||
let results = [pattern] | |||
endif | |||
let vf = pathogen#slash() . 'vimfiles' | |||
call map(results, 'v:val =~# "\\*" ? v:val.after : isdirectory(v:val.vf.after) ? v:val.vf.after : isdirectory(v:val.after) ? v:val.after : ""') | |||
return filter(results, '!empty(v:val)') | |||
endfunction | |||
" \ on Windows unless shellslash is set, / everywhere else. | |||
function! pathogen#slash() abort | |||
return !exists("+shellslash") || &shellslash ? '/' : '\' | |||
endfunction | |||
function! pathogen#separator() abort | |||
return pathogen#slash() | |||
endfunction | |||
" Convenience wrapper around glob() which returns a list. | |||
function! pathogen#glob(pattern) abort | |||
let files = split(glob(a:pattern),"\n") | |||
return map(files,'substitute(v:val,"[".pathogen#slash()."/]$","","")') | |||
endfunction | |||
" Like pathogen#glob(), only limit the results to directories. | |||
function! pathogen#glob_directories(pattern) abort | |||
return filter(pathogen#glob(a:pattern),'isdirectory(v:val)') | |||
endfunction | |||
" Remove duplicates from a list. | |||
function! pathogen#uniq(list) abort | |||
let i = 0 | |||
let seen = {} | |||
while i < len(a:list) | |||
if (a:list[i] ==# '' && exists('empty')) || has_key(seen,a:list[i]) | |||
call remove(a:list,i) | |||
elseif a:list[i] ==# '' | |||
let i += 1 | |||
let empty = 1 | |||
else | |||
let seen[a:list[i]] = 1 | |||
let i += 1 | |||
endif | |||
endwhile | |||
return a:list | |||
endfunction | |||
" Backport of fnameescape(). | |||
function! pathogen#fnameescape(string) abort | |||
if exists('*fnameescape') | |||
return fnameescape(a:string) | |||
elseif a:string ==# '-' | |||
return '\-' | |||
else | |||
return substitute(escape(a:string," \t\n*?[{`$\\%#'\"|!<"),'^[+>]','\\&','') | |||
endif | |||
endfunction | |||
" Like findfile(), but hardcoded to use the runtimepath. | |||
function! pathogen#runtime_findfile(file,count) abort | |||
let rtp = pathogen#join(1,pathogen#split(&rtp)) | |||
let file = findfile(a:file,rtp,a:count) | |||
if file ==# '' | |||
return '' | |||
else | |||
return fnamemodify(file,':p') | |||
endif | |||
endfunction | |||
" vim:set et sw=2 foldmethod=expr foldexpr=getline(v\:lnum)=~'^\"\ Section\:'?'>1'\:getline(v\:lnum)=~#'^fu'?'a1'\:getline(v\:lnum)=~#'^endf'?'s1'\:'=': |
@ -0,0 +1 @@ | |||
Subproject commit bf2885a95efdad7bd5e4794dd0213917770d79b7 |
@ -0,0 +1 @@ | |||
Subproject commit 5617a1cf7d315e6e6f84d825c85e3b669d220bfa |
@ -0,0 +1 @@ | |||
Subproject commit b06d921023cf6536bcbee5754071d122296e8942 |
@ -0,0 +1 @@ | |||
Subproject commit a65465d321f2f8a74b2ffa540b9b87563f7e12e8 |
@ -0,0 +1 @@ | |||
Subproject commit e5f24e2b8bc09ce6fc3488215d69ddb7cadc5f8d |
@ -0,0 +1 @@ | |||
Subproject commit 69760cb3accce488cc072772ca918ac2cbf384ba |
@ -0,0 +1 @@ | |||
Subproject commit 339091ac4dd1f17e225fe7d57b48aff55f99b23a |
@ -0,0 +1 @@ | |||
Subproject commit 54d889a63716ee2f1818aa2ec5082db47147147b |
@ -0,0 +1 @@ | |||
Subproject commit b7bb6c37033d3a6c93906af48dc0e689bd948638 |
@ -0,0 +1 @@ | |||
Subproject commit a6c7fd5a2b0193b5dbd03f62ad820b521dea3290 |
@ -0,0 +1 @@ | |||
Subproject commit f51a26d3710629d031806305b6c8727189cd1935 |
@ -0,0 +1 @@ | |||
Subproject commit d297e643627fe996f909c5e86e450ac04d17e93d |
@ -0,0 +1 @@ | |||
Subproject commit c5c58f5bf82bf1cd6782d66e08d22af41de8e8f7 |
@ -0,0 +1,288 @@ | |||
"""""""" | |||
" If error when loading about 'Unknown Command: ^M', run the following: | |||
" :w ++ff=unix | |||
"""""""" | |||
" 01 - General | |||
filetype plugin on " Enable filetype-specific plugins | |||
set foldenable " Fold by default | |||
set foldmethod=indent | |||
set foldlevel=2 " Default fold levelss to leave open | |||
set modelines=0 " Dont need modelines and the potential security hazard | |||
"set mouse=a " Automatically enable mouse usage | |||
"set mousehide " Hide the mouse cursor while typing | |||
set encoding=utf-8 | |||
set history=300 " Default is 20 | |||
set undolevels=300 | |||
set backspace=indent,eol,start " Make backspace act like most other applications | |||
let g:netrw_dirhistmax=0 " Do not create the network history files | |||
let mapleader = "," " Leader key (default: \) | |||
" 02 - Plugin/Bundle Related | |||
packadd! matchit | |||
packloadall " Load plugins (for utilizing ~/.vim/pack loading in vim 8+) | |||
" ALE - Asynchronous Line Engine | |||
nmap <silent> <leader>k <Plug>(ale_previous_wrap) | |||
nmap <silent> <leader>j <Plug>(ale_next_wrap) | |||
let g:airline#extensions#ale#enabled = 1 | |||
let g:ale_echo_msg_error_str = 'E' | |||
let g:ale_echo_msg_warning_str = 'W' | |||
let g:ale_echo_msg_format = '[%linter%] %s [%severity%]' | |||
function! LinterStatus() abort | |||
" Display all errors as one figure, and all non-errors as another figure | |||
let l:counts = ale#statusline#Count(bufnr('')) | |||
let l:all_errors = l:counts.error + l:counts.style_error | |||
let l:all_non_errors = l:counts.total - l:all_errors | |||
return l:counts.total == 0 ? 'OK' : printf( | |||
\ '%dW %dE', | |||
\ all_non_errors, | |||
\ all_errors | |||
\) | |||
endfunction | |||
set statusline=%{LinterStatus()} | |||
" Pathogen | |||
execute pathogen#infect() | |||
call pathogen#helptags() " generate helptags for everything in ‘runtimepath’ | |||
" Python Syntax | |||
let g:python_highlight_all = 1 | |||
" Plugin - indentLine | |||
let g:indentLine_enabled = 0 " Disable by default (messes with syntax highlighting) | |||
" Plugin - lightline | |||
if isdirectory(expand("~/.vim/bundle/lightline.vim")) | |||
let g:lightline = { | |||
\ 'active': { | |||
\ 'left': [ [ 'mode', 'paste' ], | |||
\ [ 'readonly', 'filename', 'modified', 'charvaluehex' ] ] | |||
\ }, | |||
\ 'component': { | |||
\ 'charvaluehex': '0x%B' | |||
\ }, | |||
\ } | |||
endif | |||
" Plugin - NERDCommenter | |||
let g:NERDSpaceDelims = 1 " Add spaces after comment delimiters by default | |||
map - <plug>NERDCommenterToggle | |||
map _ <plug>NERDCommenterUncomment | |||
" Plugin - NERDTree related | |||
if isdirectory(expand("~/.vim/bundle/nerdtree")) | |||
" Open NERDTree when opening nothing (just vim) | |||
"autocmd StdinReadPre * let s:std_in=1 | |||
"autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif | |||
" Open NERDTree when opening directory | |||
autocmd StdinReadPre * let s:std_in=1 | |||
autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists("s:std_in") | exe 'NERDTree' argv()[0] | wincmd p | ene | endif | |||
map <leader>n :NERDTreeToggle<CR> | |||
let NERDTreeShowBookmarks=1 | |||
let NERDTreeIgnore=['\\.pyc', '\\\~$', '\\.swo$', '\\.swp$', '\\.git', '\\.hg', '\\.svn', '\\.bzr'] | |||
endif | |||
" Plugin - Tabular | |||
if isdirectory(expand("~/.vim/bundle/tabular")) | |||
nmap <leader>a& :Tab /&<CR> | |||
vmap <leader>a& :Tab /&<CR> | |||
nmap <leader>a# :Tab /#<CR> | |||
vmap <leader>a# :Tab /#<CR> | |||
nmap <leader>a= :Tab /^[^=]*\zs=<CR> | |||
vmap <leader>a= :Tab /^[^=]*\zs=<CR> | |||
nmap <leader>a=> :Tab /=><CR> | |||
vmap <leader>a=> :Tab /=><CR> | |||
nmap <leader>a: :Tab /:<CR> | |||
vmap <leader>a: :Tab /:<CR> | |||
nmap <leader>a:: :Tab /:\zs<CR> | |||
vmap <leader>a:: :Tab /:\zs<CR> | |||
nmap <leader>a, :Tab /,<CR> | |||
vmap <leader>a, :Tab /,<CR> | |||
nmap <leader>a,, :Tab /,\zs<CR> | |||
vmap <leader>a,, :Tab /,\zs<CR> | |||
nmap <leader>a<Bar> :Tab /<Bar><CR> | |||
vmap <leader>a<Bar> :Tab /<Bar><CR> | |||
endif | |||
" Plugin - vim-rainbow | |||
let g:rainbow_active = 1 | |||
" Plugin - vim-surround | |||
" This allows for surrounding test with something | |||
" Note: In the following, [ will add a space around text, ] will not (e.g. [ TEST ] vs [TEST]) | |||
" Examples: | |||
" cs"' " Replace double quotes with single on the current line | |||
" cs'<q class="test"> " Replace single quote with <p></p> tagging | |||
" ds" " Remove a delimeter (double quotes) | |||
" ysiw] " Add delimeters around current work | |||
" yss) " Add delimeters around entire line | |||
" S( " Add delimeters around current selected line (Shift+V) | |||
" | |||
silent! helptags ALL " Load all helptags after plugins loaded, all messages and errors are ignored | |||
" 03 - VIM UI | |||
syntax on " Enable syntax highlighting | |||
match ErrorMsg '\s\+$' " Highlight spaces (makes it obvious when trailing) | |||
" Theme - PaperColor | |||
let g:PaperColor_Theme_Options = { | |||
\ 'theme': { | |||
\ 'default.dark': { | |||
\ 'override' : { | |||
\ 'folded_fg' : ['#34FB42', ''], | |||
\ 'folded_bg' : ['#686868', ''], | |||
\ } | |||
\ } | |||
\ } | |||
\ } | |||
"\ 'folded_fg' : ['#3B1317', ''], | |||
" 'folded_bg' : ['#009494', ''], | |||
colorscheme gruvbox | |||
set background=dark | |||
set cul " Highlight the current line | |||
set ignorecase " Case insensitive search | |||
set smartcase " If a capital lever is included in search, make it case-sensitive | |||
set incsearch " Show matches as you type | |||
set hlsearch " Highlight search results | |||
set laststatus=2 " 0 to never show status line, 1 means only if >1 windows, 2 means always | |||
set number " Enable line numbers | |||
set ruler " Enable the ruler | |||
set scrolljump=5 " Lines to scroll when cursor leaves screen | |||
set scrolloff=3 " Always show two lines around the cursor when scrolling | |||
set noerrorbells | |||
set noerrorbells " Don't sound warning on error | |||
set visualbell " Don't blink on error | |||
set t_vb= " Disable visual blink | |||
" Allow for transparent consoles | |||
hi Normal guibg=NONE ctermbg=NONE | |||
hi NonText ctermbg=NONE | |||
set wildmenu " visual autocomplete for command menu (below settings ignore this option for certain file types) | |||
set wildmode=list:longest,full " Command <Tab> completion, list matches, then longest common part, then all. | |||
set wildignore+=*.o,*.obj,.git,*.rbc,*.class,.svn,vendor/gems/*,*.bak,*.exe | |||
set wildignore+=*.pyc,*.DS_Store,*.db | |||
function! ToggleBG() | |||
let s:tbg = &background | |||
if s:tbg == "dark" | |||
set background=light | |||
else | |||
set background=dark | |||
endif | |||
endfunction | |||
" 04 - Formatting Layout | |||
set autoindent " Use indent of previous line after hitting enter to create a new line | |||
set copyindent " Copy the previous indentation on autoindenting | |||
set expandtab " Change tabs to spaces | |||
set shiftround " use multiple of shiftwidth when indenting with '<' and '>' | |||
set smarttab " Insert tabs on the start of a line according to shiftwidth, not tabstop | |||
set shiftwidth=4 " Number of spaces to use for autoindenting | |||
set softtabstop=4 " Let backspace delete indent | |||
set tabstop=4 " A tab is x spaces | |||
set textwidth=0 | |||
set wrapmargin=0 | |||
" 05 - Keybindings | |||
" Modes - Prefex of map and remap (ie modes 'n' and 'o' for nomap) | |||
" * n: normal only | |||
" * v: visual and select | |||
" * o: operator-pending | |||
" * x: visual only | |||
" * s: select only | |||
" * i: insert | |||
" * c: command-line | |||
" * l: insert, command-line, regexp-search (and others. Collectively called 'Lang-Arg' pseudo-mode) | |||
" Don't remap the numpad | |||
inoremap <Esc>Oq 1 | |||
inoremap <Esc>Or 2 | |||
inoremap <Esc>Os 3 | |||
inoremap <Esc>Ot 4 | |||
inoremap <Esc>Ou 5 | |||
inoremap <Esc>Ov 6 | |||
inoremap <Esc>Ow 7 | |||
inoremap <Esc>Ox 8 | |||
inoremap <Esc>Oy 9 | |||
inoremap <Esc>Op 0 | |||
inoremap <Esc>On . | |||
inoremap <Esc>OQ / | |||
inoremap <Esc>OR * | |||
inoremap <Esc>Ol + | |||
inoremap <Esc>OS - | |||
inoremap <Esc>OM <Enter> | |||
cmap cwd lcd %:p:h " change working directory to current file | |||
nnoremap j gj " Move to next line (not remapped line from wordwrap) | |||
nnoremap k gk " Move to previous line (not remapped line from wordwrap) | |||
vnoremap Q gq " Word wrap visually highlighted line | |||
nnoremap Q gqap " Word wrap line | |||
vnoremap < <gv " Retain visual selection when indenting | |||
vnoremap > >gv " Retain visual selection when outdenting | |||
nnoremap n nzzzv " Keep next search result in middle of view | |||
nnoremap N Nzzzv " Keey previous search results in middle of view | |||
" Map <leader>f to toggle folds | |||
" If in visual mode, will create a fold | |||
" If capital F, will toggle ALL folds below cursor | |||
inoremap <leader>f <C-0>za | |||
nnoremap <leader>f za | |||
nnoremap <leader>F zA | |||
onoremap <leader>f <C-C>za | |||
vnoremap <leader>f zf | |||
nnoremap <silent><Leader>+ :exe "resize " . (winheight(0) * 3/2)<CR> | |||
nnoremap <silent><Leader>- :exe "resize " . (winheight(0) * 2/3)<CR> | |||
nnoremap <silent><Leader>> :exe "vertical resize " . (winwidth(0) * 3/2)<CR> | |||
nnoremap <silent><Leader>< :exe "vertical resize " . (winwidth(0) * 2/3)<CR> | |||
nnoremap <leader><F2> :%s/\s\+$//<cr>:let @/=''<CR> " Remove trailing whitespace on lines | |||
nnoremap <leader><F3> :set invwrap wrap?<CR> " Toggle wordwrap | |||
nnoremap <leader><F4> :source $MYVIMRC<CR> " Reload .vimrc file | |||
noremap <leader>bg :call ToggleBG()<CR> " Toggle dark/light colors | |||
nnoremap <silent> <leader>q gwip " format paragraph | |||
nmap <leader>h :nohl<CR> " Toggle search hilight | |||
nmap <leader>p :set paste!<CR> " Toggle paste mode | |||
nmap <leader>sh :split<CR> " Split window horizontally | |||
nmap <leader>sv :vsplit<CR> " Split window veritcally | |||
nmap <leader>i :IndentLinesToggle<CR> " Toggle indent guides | |||
nmap <leader>t :tabn<CR> " Next tab | |||
nmap <leader>T :tabp<CR> " Previous tab | |||
nmap <leader>w <C-w>w " Cycle through splits | |||
nnoremap <leader>j :%!python -m json.tool<CR> " Pretty print json | |||
cmap w!! w !sudo tee % >/dev/null " When you forget to sudo first | |||
" Display all occurences of word under cursor and allow quick navigation | |||
nmap ff [I:let nr = input("Which one: ")<Bar>exe "normal " . nr ."[\t"<CR> | |||
" Wrap line and word with delimiter (follow with [ similar delimiter) | |||
nmap <leader>d yss | |||
nmap <leader>D ysiw | |||
" Wrap selection with delimiter | |||
xmap <leader>d S | |||
" 06 - Auto Commands | |||
autocmd BufNewFile,BufRead *.markdown,*.md set filetype=markdown | |||
autocmd BufRead,BufNewFile *.go setfiletype go | |||
"autocmd CursorMoved * exe printf('match IncSearch /\V\<%s\>/', escape(expand('<cword>'), '/\')) " highlight all occurences of word under cursor (* does this as well) |
@ -0,0 +1,83 @@ | |||
# ZSH | |||
## Table of Contents | |||
<!-- vim-markdown-toc GFM --> | |||
* [Aliases](#aliases) | |||
* [Functions](#functions) | |||
* [Customizations - ~/.zshrc.local](#customizations---zshrclocal) | |||
* [Useful Examples](#useful-examples) | |||
<!-- vim-markdown-toc --> | |||
## Aliases | |||
| Alias | Command | Description | | |||
| --------------------------------- | ------------------------------------------------ | --------------------------------------------------------------------------------- | | |||
| `<cp,ln,mv> <args>` | `<cp,ln,mv> -i <args>` | Require confirmation when overwriting | | |||
| `ch<grp,mod,own> <args>` | `ch<grp,mod,own> --preserve-root <args>` | Don't allow modifying / | | |||
| `ff` | `find . -name $1` | Quick find with ff and the pattern | | |||
| `gitlog` | | Provide an easy method for view git commit logs | | |||
| `grep <args>` | `grep --color=always` | Ensure color is enabled | | |||
| `mkdir <args>` | `mkdir -p <args>` | Always create the full path if it doesn't exit | | |||
| `mountt` | `mount [pipe] columnt -t` | Better display of mount, with columns | | |||
| `ports` | `netstat -tulanp` | Provide a list of open ports | | |||
| `rm <args>` | `rm -I --preserve-root <args>` | Don't allow removing / and require confirmation when deleting more then 3 files | | |||
| `tmux` | `tmux -2` | Forcing 256 color mode for tmux | | |||
| `prettyjson <file>` | `python -m json.tool <file>` | Pretty printing of json | | |||
## Functions | |||
| Function | Example | Description | | |||
| -------------- | -------------------------------------- | ---------------------------------------------------------------------------- | | |||
| `calc` | `calc "3*3"` | Run a quick calculation | | |||
| `curl_json` | `curl_json https://something.com/json` | Download and prettyprint JSON | | |||
| `extract` | `extract archive.zip` | Extract various types of archives (tgz, zip, etc) | | |||
| `fix` | `fix` | Fix the current terminal after cating a binary file | | |||
| `man` | `man <command>` | Set colors for man | | |||
| `mktmpdir` | `mktmpdir [name]` | Uses mktmp to make a dir and cd into (add name for /tmp/<name>.XXXXXXX name) | | |||
| `prettyjson` | `prettyjson <filepath>` | Pretty print json file | | |||
| `prettyjson_s` | `prettyjson "<json_string>"` | Pretty print json string | | |||
| `server` | `server [port]` | Start a simple http server in the current dir (optional port) | | |||
| `systemload` | `systemload` | Display the current system load | | |||
## Customizations - ~/.zshrc.local | |||
Source File: ~/.zshrc.local | |||
| Variable | Default | Example | Description | | |||
| ------------------------- | ------- | ----------------------------------- | -------------------------------------------------------------------- | | |||
| LS_COLORS_THEME | simple | `export LS_COLORS_THEME='complex'` | Allows multiple ls colors themes (only simple and complex currently) | | |||
| PROMPT_POST | | `export PROMPT_POST=' :-)'` | Adds some text or information after the ZSH shell prompt | | |||
| PROMPT_PRE | | `export PROMPT_PRE=':-) '` | Adds some text or information before the ZSH shell prompt | | |||
### Useful Examples | |||
The following will add a warning when you've dropped to shell from VIM. This makes it obvious when you should or shouldn't exit out, thinking you're in a VIM shell. | |||
``` | |||
if [ ! -z "${VIMRUNTIME}" ]; then | |||
PROMPT_PRE="%F{yellow}[VIM SHELL] " | |||
fi | |||
``` | |||
The following allows for encrypting decrypting a file using yubikey | |||
``` | |||
export KEYID=0x123A4E56789AB123 | |||
yubiencrypt () { | |||
default=~/"${1}".$(date +%s).enc | |||
output="${2:-$default}" | |||
gpg --encrypt --armor --output ${output} -r "${KEYID}" "${1}" && echo "${1} -> ${output}" | |||
} | |||
yubidecrypt () { | |||
# Must use full path for some reason | |||
default=$(echo "${1}" | rev | cut -c16- | rev) | |||
output="${2:-$default}" | |||
gpg --decrypt --output "${output}" "${1}" && echo "${1} -> ${output}" | |||
} | |||
``` | |||
@ -0,0 +1,59 @@ | |||
# | |||
# Suffix Aliases | |||
# Open commands if running filetype (e.g. myfile.yml opens in vim) | |||
# | |||
alias -s {ini,md,txt,yml,yaml}=vim | |||
# Non-BSD Aliases | |||
# | |||
if [ -x /usr/bin/dircolors ]; then | |||
export COLUMNS # Remember columns for subprocesses. | |||
alias grep='grep --color=auto' | |||
alias fgrep='fgrep --color' | |||
alias egrep='egrep --color' | |||
alias ls='ls --color --time-style=long-iso --group-directories-first' | |||
fi | |||
# | |||
# Various command defaults | |||
# | |||
alias cp='cp -i' # confirm on overwrite | |||
alias ln='ln -i' # confirm on overwrite | |||
alias mv='mv -i' # confirm on overwrite | |||
alias mkdir='mkdir -p' | |||
alias tmux='tmux -2' # ensure tmux is run in 256 color mode | |||
alias wget='wget -c' # Resume wget by default | |||
alias ip='ip -c' | |||
# Don't allow changing permissions on / | |||
# Doesn't work for Mac or Freebsd distros | |||
if [[ "$OSTYPE" == "linux-gnu"* ]]; then | |||
alias rm='rm -I --preserve-root' # Don't allow removing / and require confirmation for more than 3 deletions | |||
alias chgrp='chgrp --preserve-root' | |||
alias chmod='chmod --preserve-root' | |||
alias chown='chown --preserve-root' | |||
fi | |||
# | |||
# Quick Commands | |||
# | |||
alias -g ll='ls -lAhF' | |||
alias -g l='ls -lhF' | |||
alias -g ff='find . -name $1' | |||
alias digga='dig +nocmd any +multiline +noall +answer' | |||
alias ipbrief='ip -c -br a' | |||
alias tm='tmux attach || tmux new' # attach tmux or start a new session if no sessions | |||
alias gitlog='git log --graph --abbrev-commit --decorate --date=relative --format=format:"%C(bold red)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(bold blue)<%an>%C(reset)%C(bold yellow)%d%C(reset)" --all' | |||
alias mountt='mount | column -t' # Make mount output easier to read | |||
alias ports='netstat -tulanp' | |||
# | |||
# Misc | |||
# | |||
alias :q='echo You are not editing a file, dummy.' | |||
alias :wq=':q' | |||
alias boss='while [ TRUE ]; do head -n 100 /dev/urandom; sleep .1; done | hexdump -C | grep "ca fe"' |
@ -0,0 +1,22 @@ | |||
export CLICOLOR=1 # enable colored output from ls, etc. on FreeBSD-based systems | |||
if [ -x /usr/bin/dircolors ]; then | |||
export GREP_COLOR='1;32' | |||
LS_COLORS_AUDIO="38;5;218" | |||
LS_COLORS_VIDEO="38;5;216" | |||
LS_COLORS_ARCHIVE="38;5;204" | |||
LS_COLORS_IMAGES="38;5;147" | |||
LS_COLORS_DOCS="38;5;121" | |||
export LS_COLORS="di=1;33:cd=38;5;225:or=30;48;5;202:ow=38;5;75:so=38;5;177:su=36;48;5;63:ex=38;5;156:mi=38;5;115:\ | |||
*.tar=${LS_COLORS_ARCHIVE}:*.tgz=${LS_COLORS_ARCHIVE}:*.tbz2=${LS_COLORS_ARCHIVE}:*.zip=${LS_COLORS_ARCHIVE}:\ | |||
*.7z=${LS_COLORS_ARCHIVE}:*.gz=${LS_COLORS_ARCHIVE}:*.bz2=${LS_COLORS_ARCHIVE}:*.rar=${LS_COLORS_ARCHIVE}:\ | |||
*.jpg=${LS_COLORS_IMAGES}:*.jpeg=${LS_COLORS_IMAGES}:*.png=${LS_COLORS_IMAGES}:\ | |||
*.mpg=${LS_COLORS_VIDEO}:*.avi=${LS_COLORS_VIDEO}:*.mov=${LS_COLORS_VIDEO}:*.wmv=${LS_COLORS_VIDEO}:*.mp4=${LS_COLORS_VIDEO}:*.mkv=${LS_COLORS_VIDEO}:\ | |||
*.flac=${LS_COLORS_AUDIO}:*.mp3=${LS_COLORS_AUDIO}:\ | |||
*.conf=${LS_COLORS_DOCS}:*.ini=${LS_COLORS_DOCS}:*.txt=${LS_COLORS_DOCS}:*.yml=${LS_COLORS_DOCS}:*yaml=${LS_COLORS_DOCS}:*.md=${LS_COLORS_DOCS}:\ | |||
*.exe=38;5;156:*.bat=38;5;156:*.rpm=38;5;173:*.deb=38;5;173:*.dmg=38;5;173:*.iso=38;5;205:\ | |||
*README=38;5;224" | |||
# export LS_COLORS='no=00:fi=00:di=01;33:ln=01;36:pi=33:so=01;35:bd=33;01:cd=33;01:or=01;05;37;41:mi=01;37;41:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:' | |||
export LSCOLORS='ExGxFxdxCxDxDxcxcxxCxc' | |||
fi |
@ -0,0 +1,2 @@ | |||
export VISUAL=vim | |||
export EDITOR=$VISUAL |
@ -0,0 +1,6 @@ | |||
export TMUX_PLUGIN_ENABLE="true" | |||
{{- if (ne .chezmoi.os "darwin") }} | |||
export GIT_ASKPASS='/usr/bin/ksshaskpass' | |||
export SSH_ASKPASS='/usr/bin/ksshaskpass' | |||
{{- end }} |
@ -0,0 +1,14 @@ | |||
setopt extended_history # Give timestamp and time to run in history file | |||
setopt share_history # Share history between different shell instances | |||
setopt inc_append_history # Add commands to history as entered, not at shell exit | |||
setopt hist_ignore_all_dups # Ignore duplicates | |||
setopt hist_find_no_dups # Ignore duplicates when searching | |||
setopt hist_reduce_blanks # Hide blank lines | |||
setopt hist_ignore_space # Ignore commands in history beginning with a space | |||
setopt hist_expire_dups_first # Expire duplicate entries first | |||
setopt hist_verify # Do not submit history searches before allowing for editing | |||
#HISTCONTRO=ignoreboth:erasedups # Ignore duplicates in the history and commands starting with space | |||
HISTSIZE=10000 | |||
SAVEHIST=10000 | |||
HISTFILE=${ZDOTDIR:-$HOME}/.zsh_history |
@ -0,0 +1,36 @@ | |||
bindkey -v # vim bindings | |||
# Correct various commond binding issues | |||
bindkey '\e[3~' delete-char | |||
# Home/End keys | |||
bindkey '\e[1~' beginning-of-line | |||
bindkey '\e[4~' end-of-line | |||
bindkey '\e[H' beginning-of-line | |||
bindkey '\e[F' end-of-line | |||
# Ctrl + arrow to go back/forward a word at a time in a command | |||
bindkey '\e[1;5D' backward-word | |||
bindkey '\e[1;5C' forward-word | |||
# | |||
# Search history with partial completion | |||
# | |||
autoload -Uz up-line-or-beginning-search down-line-or-beginning-search | |||
zle -N up-line-or-beginning-search | |||
zle -N down-line-or-beginning-search | |||
{{ if (eq .chezmoi.os "darwin") }} | |||
bindkey '^[[A' history-beginning-search-backward | |||
bindkey '^[[B' history-beginning-search-forward | |||
{{ else if (eq .chezmoi.os "linux") }} | |||
[[ -n "${key[Control-Left]}" ]] && bindkey -- "${key[Control-Left]}" backward-word | |||
[[ -n "${key[Control-Right]}" ]] && bindkey -- "${key[Control-Right]}" forward-word | |||
[[ -n "${key[Up]}" ]] && bindkey -- "${key[Up]}" up-line-or-beginning-search | |||
[[ -n "${key[Down]}" ]] && bindkey -- "${key[Down]}" down-line-or-beginning-search | |||
{{- end }} | |||
bindkey '\e[A' up-line-or-beginning-search | |||
bindkey '\e[B' down-line-or-beginning-search | |||
bindkey '^R' history-incremental-search-backward |
@ -0,0 +1,21 @@ | |||
setopt NO_CASE_GLOB | |||
# Allow for suggesting corrections on mistyped commands/files | |||
setopt CORRECT | |||
setopt CORRECT_ALL | |||
setopt auto_list # Automatically list choices on ambiguous completion | |||
setopt always_to_end # Move cursor to end if word had only 1 match | |||
setopt auto_menu # Automatically use menu completion | |||
# AUTOCOMPLETION RELATED | |||
# zstyles and settings should come BEFORE the compinit autoload | |||
setopt autocd # cd if directory (e.g. forgot 'cd' in command) | |||
zstyle ':completion:*' matcher-list 'm:{[:lower:][:upper:]}={[:upper:][:lower:]}' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]} l:|=* r:|=*' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]} l:|=* r:|=*' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]} l:|=* r:|=*' # Case insensitive completion | |||
zstyle ':completion:*' list-suffixes zstyle ':completion:*' expand prefix suffix # Partial/fragmented completion | |||
zstyle ':completion:*' menu select # select completions with arrow keys | |||
zstyle ':completion:*' group-name '' # group results by category | |||
zstyle ':completion:::::' completer _expand _complete _ignored _approximate # enable approximate matches for completion | |||
autoload -Uz compinit && compinit |
@ -0,0 +1,4 @@ | |||
# ensure dotfiles bin directory is loaded first | |||
PATH="$HOME/.bin:$HOME/bin:/usr/local/sbin:$PATH" | |||
export -U PATH |
@ -0,0 +1,3 @@ | |||
function calc() { | |||
awk "BEGIN{ print $* }" ; | |||
} |
@ -0,0 +1,3 @@ | |||
function curl_json() { | |||
curl -s $1 | python -m json.tool | |||
} |
@ -0,0 +1,32 @@ | |||
# extract most file type automatically | |||
function extract() { | |||
if [ -z "$1" ]; then | |||
# display usage if no parameters given | |||
echo "Usage: extract <path/file_name>.<zip|rar|bz2|gz|tar|tbz2|tgz|Z|7z|xz|ex|tar.bz2|tar.gz|tar.xz>" | |||
else | |||
if [ -f $1 ] ; then | |||
# NAME=${1%.*} | |||
# mkdir $NAME && cd $NAME | |||
case $1 in | |||
*.tar.bz2) tar -xvjf $1 ;; | |||
*.tar.gz) tar -xvzf $1 ;; | |||
*.tar.xz) tar -xvJf $1 ;; | |||
*.lzma) unlzma $1 ;; | |||
*.bz2) bunzip2 $1 ;; | |||
*.rar) unrar x -ad $1 ;; | |||
*.gz) gunzip $1 ;; | |||
*.tar) tar xvf $1 ;; | |||
*.tbz2) tar xvjf $1 ;; | |||
*.tgz) tar xvzf $1 ;; | |||
*.zip) unzip $1 ;; | |||
*.Z) uncompress $1 ;; | |||
*.7z) 7z x $1 ;; | |||
*.xz) unxz $1 ;; | |||
*.exe) cabextract $1 ;; | |||
*) echo "extract: '$1' - unknown archive method" ;; | |||
esac | |||
else | |||
echo "$1 - file does not exist" | |||
fi | |||
fi | |||
} |
@ -0,0 +1,8 @@ | |||
function fix(){ | |||
# Reset terminal after cating binary file | |||
reset; | |||
stty sane; | |||
tput rs1; | |||
clear; | |||
echo -e "\e[0m"; | |||
} |
@ -0,0 +1,12 @@ | |||
# Set colors for man | |||
function man() { | |||
env \ | |||
LESS_TERMCAP_mb="$(printf '\e[1;31m')" \ | |||
LESS_TERMCAP_md="$(printf '\e[1;31m')" \ | |||
LESS_TERMCAP_me="$(printf '\e[0m')" \ | |||
LESS_TERMCAP_se="$(printf '\e[0m')" \ | |||
LESS_TERMCAP_so="$(printf '\e[1;44;33m')" \ | |||
LESS_TERMCAP_ue="$(printf '\e[0m')" \ | |||
LESS_TERMCAP_us="$(printf '\e[1;32m')" \ | |||
man "$@" | |||
} |
@ -0,0 +1,10 @@ | |||
# Make a temporary directory and enter it | |||
mktmpdir() { | |||
local dir | |||
if [ $# -eq 0 ]; then | |||
dir=$(mktemp -d) | |||
else | |||
dir=$(mktemp -d -t "${1}.XXXXXXXXXX") | |||
fi | |||
cd "$dir" || exit | |||
} |
@ -0,0 +1,7 @@ | |||
prettyjson_s() { | |||
echo "$1" | python -m json.tool | |||
} | |||
prettyjson() { | |||
python3 -m json.tool "$1" | |||
} |
@ -0,0 +1,8 @@ | |||
# Start an HTTP server from a directory, optionally specifying the port | |||
function server() { | |||
local port="${1:-8000}" | |||
sleep 1 && open "http://localhost:${port}/" & | |||
# Set the default Content-Type to `text/plain` instead of `application/octet-stream` | |||
# And serve everything as UTF-8 (although not technically correct, this doesn’t break anything for binary files) | |||
python -c $'import SimpleHTTPServer;\nmap = SimpleHTTPServer.SimpleHTTPRequestHandler.extensions_map;\nmap[""] = "text/plain";\nfor key, value in map.items():\n\tmap[key] = value + ";charset=UTF-8";\nSimpleHTTPServer.test();' "$port" | |||
} |
@ -0,0 +1,7 @@ | |||
# Show current system load average and what the max load average is for your system (max = full system resource utilization) | |||
function systemload() { | |||
loadAverage=$(uptime | cut -d',' -f4 | grep -o "[0-9]*\.[0-9]*$") | |||
processors=$(cat /proc/cpuinfo | grep processor | tail -n1 | awk '{ print $3 }') | |||
let processors=$processors+1 | |||
echo "$loadAverage ($processors.00 max)" | |||
} |
@ -0,0 +1,12 @@ | |||
yubiencrypt () { | |||
default=~/"${1}".$(date +%s).enc | |||
output="${2:-$default}" | |||
gpg --encrypt --armor --output ${output} -r "${KEYID}" "${1}" && echo "${1} -> ${output}" | |||
} | |||
yubidecrypt () { | |||
# Must use full path for some reason | |||
default=$(echo "${1}" | rev | cut -c16- | rev) | |||
output="${2:-$default}" | |||
gpg --decrypt --output "${output}" "${1}" && echo "${1} -> ${output}" | |||
} |
@ -0,0 +1,29 @@ | |||
# Taken from https://github.com/thoughtbot/dotfiles/blob/master/zshenv | |||
local _old_path="$PATH" | |||
# Set local env file if exists | |||
[[ -f ~/.zshenv.local ]] && source ~/.zshenv.local | |||
if [[ $PATH != $_old_path ]]; then | |||
# `colors` isn't initialized yet, so define a few manually | |||
typeset -AHg fg fg_bold | |||
if [ -t 2 ]; then | |||
fg[red]=$'\e[31m' | |||
fg_bold[white]=$'\e[1;37m' | |||
reset_color=$'\e[m' | |||
else | |||
fg[red]="" | |||
fg_bold[white]="" | |||
reset_color="" | |||
fi | |||
cat <<MSG >&2 | |||
${fg[red]}Warning:${reset_color} your \`~/.zshenv.local' configuration seems to edit PATH entries. | |||
Please move that configuration to \`.zshrc.local' like so: | |||
${fg_bold[white]}cat ~/.zshenv.local >> ~/.zshrc.local && rm ~/.zshenv.local${reset_color} | |||
(called from ${(%):-%N:%i}) | |||
MSG | |||
fi | |||
unset _old_path |
@ -0,0 +1,60 @@ | |||
# load custom executable functions | |||
for function in ~/.zsh/functions/*; do | |||
source $function | |||
done | |||
# extra files in ~/.zsh/configs/pre , ~/.zsh/configs , and ~/.zsh/configs/post | |||
# these are loaded first, second, and third, respectively. | |||
_load_settings() { | |||
_dir="$1" | |||
if [ -d "$_dir" ]; then | |||
if [ -d "$_dir/pre" ]; then | |||
for config in "$_dir"/pre/**/*~*.zwc(N-.); do | |||
. $config | |||
done | |||
fi | |||
for config in "$_dir"/**/*(N-.); do | |||
case "$config" in | |||
"$_dir"/(pre|post)/*|*.zwc) | |||
: | |||
;; | |||
*) | |||
. $config | |||
;; | |||
esac | |||
done | |||
if [ -d "$_dir/post" ]; then | |||
for config in "$_dir"/post/**/*~*.zwc(N-.); do | |||
. $config | |||
done | |||
fi | |||
fi | |||
} | |||
_load_settings "$HOME/.zsh/configs" | |||
declare -A hostname_colors | |||
# Load local override configs | |||
[[ -f ~/.zshrc.local ]] && source ~/.zshrc.local | |||
# | |||
# PROMPT | |||
# I'd like to move this into it's own file but am having issues with the git branch extrapolating correctly | |||
# | |||
if [ ! -z "${VIMRUNTIME}" ]; then | |||
PROMPT_PRE="%F{yellow}[VIM SHELL] " | |||
fi | |||
HOSTNAME_COLOR="${HOSTNAME_COLOR:={{ .hostname_color }}}" | |||
PROMPT="${PROMPT_PRE:=}%F{blue}%n%f@%F{$HOSTNAME_COLOR}%m%f:%F{cyan}%~%f [%F{214}%*%f] \$vcs_info_msg_0_%(?.%F{green}:).%F{red}:()%f"$' ${PROMPT_POST:=}\n'"|--%# " | |||
# The following is to configure git branch info | |||
# Git branch appears on right side of prompt, where available | |||
autoload -Uz vcs_info | |||
precmd_vcs_info() { vcs_info } | |||
precmd_functions+=( precmd_vcs_info ) | |||
setopt prompt_subst | |||
zstyle ':vcs_info:git:*' formats '%F{5}(%b)%f ' | |||
zstyle ':vcs_info:*' enable git |
@ -0,0 +1,3 @@ | |||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> | |||
<path style="fill:context-fill;fill-opacity:context-fill-opacity" d="M9.957.502a.501.501 0 0 0-.37.783l.06.069 1.656 1.656c-.1-.006-.201-.01-.303-.01H5l-.217.004a5 5 0 0 0-3.69 8.119.5.5 0 1 0 .8-.602A4 4 0 0 1 5 4h6.002l.143.002.14.008-1.637 1.636-.058.069a.503.503 0 0 0 0 .57l.058.069.069.058c.17.118.4.118.57 0l.069-.058 2.5-2.5.058-.069a.503.503 0 0 0 0-.57l-.058-.069-2.5-2.5-.069-.058a.502.502 0 0 0-.328-.086zm4.543 4.17a.5.5 0 0 0-.39.812A4 4 0 0 1 11 12H5l-.143-.002-.14-.008 1.637-1.636.058-.069a.501.501 0 0 0-.766-.639l-2.5 2.5-.058.069a.501.501 0 0 0 .058.639l2.5 2.5.069.058a.501.501 0 0 0 .639-.058l.058-.069a.501.501 0 0 0-.058-.639L4.697 12.99c.1.006.201.01.303.01h6l.217-.004a5 5 0 0 0 3.676-8.135l-.018-.021-.066-.063a.498.498 0 0 0-.309-.105z"/> | |||
</svg> |
@ -0,0 +1,3 @@ | |||
<svg width="16" height="16" viewBox="0 0 16 16" fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"> | |||
<path d="M8.85355 10.8536L5.85355 13.8536C5.65829 14.0488 5.34171 14.0488 5.14645 13.8536L2.14645 10.8536C1.95118 10.6583 1.95118 10.3417 2.14645 10.1464C2.34171 9.95118 2.65829 9.95118 2.85355 10.1464L5 12.2929V2.5C5 2.22386 5.22386 2 5.5 2C5.77614 2 6 2.22386 6 2.5V12.2929L8.14645 10.1464C8.34171 9.95118 8.65829 9.95118 8.85355 10.1464C9.04882 10.3417 9.04882 10.6583 8.85355 10.8536ZM8.5 3C8.22386 3 8 3.22386 8 3.5C8 3.77614 8.22386 4 8.5 4H13.5C13.7761 4 14 3.77614 14 3.5C14 3.22386 13.7761 3 13.5 3H8.5ZM8.5 5C8.22386 5 8 5.22386 8 5.5C8 5.77614 8.22386 6 8.5 6H11.5C11.7761 6 12 5.77614 12 5.5C12 5.22386 11.7761 5 11.5 5H8.5ZM8.5 7C8.22386 7 8 7.22386 8 7.5C8 7.77614 8.22386 8 8.5 8H9.5C9.77614 8 10 7.77614 10 7.5C10 7.22386 9.77614 7 9.5 7H8.5Z"/> | |||
</svg> |
@ -0,0 +1,4 @@ | |||
<svg width="20" height="20" viewBox="0 0 20 20" fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"> | |||
<path d="M12.1464 3.14645C12.3417 2.95118 12.6583 2.95118 12.8536 3.14645L15.8536 6.14645C16.0488 6.34171 16.0488 6.65829 15.8536 6.85355L12.8536 9.85355C12.6583 10.0488 12.3417 10.0488 12.1464 9.85355C11.9512 9.65829 11.9512 9.34171 12.1464 9.14645L14.2929 7H4.5C4.22386 7 4 6.77614 4 6.5C4 6.22386 4.22386 6 4.5 6H14.2929L12.1464 3.85355C11.9512 3.65829 11.9512 3.34171 12.1464 3.14645Z"/> | |||
<path d="M7.85355 10.1464C8.04882 10.3417 8.04882 10.6583 7.85355 10.8536L5.70711 13H15.5C15.7761 13 16 13.2239 16 13.5C16 13.7761 15.7761 14 15.5 14H5.70711L7.85355 16.1464C8.04882 16.3417 8.04882 16.6583 7.85355 16.8536C7.65829 17.0488 7.34171 17.0488 7.14645 16.8536L4.14645 13.8536C3.95118 13.6583 3.95118 13.3417 4.14645 13.1464L7.14645 10.1464C7.34171 9.95118 7.65829 9.95118 7.85355 10.1464Z"/> | |||
</svg> |
@ -0,0 +1,3 @@ | |||
<svg width="20" height="20" viewBox="0 0 20 20" fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"> | |||
<path d="M14 3H6C5.44772 3 5 3.44772 5 4V15H9.02242C9.05337 15.3434 9.11588 15.6777 9.20703 16H5C5 16.5523 5.44772 17 6 17H9.59971C9.78261 17.3578 10.0035 17.6929 10.2572 18H6C4.89543 18 4 17.1046 4 16V4C4 2.89543 4.89543 2 6 2H14C15.1046 2 16 2.89543 16 4V9.20703C15.6777 9.11588 15.3434 9.05337 15 9.02242V4C15 3.44772 14.5523 3 14 3ZM6 5V6C6 6.55228 6.44772 7 7 7H13C13.5523 7 14 6.55228 14 6V5C14 4.44772 13.5523 4 13 4H7C6.44772 4 6 4.44772 6 5ZM7 5H13V6H7V5ZM19 14.5C19 16.9853 16.9853 19 14.5 19C12.0147 19 10 16.9853 10 14.5C10 12.0147 12.0147 10 14.5 10C16.9853 10 19 12.0147 19 14.5ZM15 12.5C15 12.2239 14.7761 12 14.5 12C14.2239 12 14 12.2239 14 12.5V14H12.5C12.2239 14 12 14.2239 12 14.5C12 14.7761 12.2239 15 12.5 15H14V16.5C14 16.7761 14.2239 17 14.5 17C14.7761 17 15 16.7761 15 16.5V15H16.5C16.7761 15 17 14.7761 17 14.5C17 14.2239 16.7761 14 16.5 14H15V12.5Z"/> | |||
</svg> |
@ -0,0 +1,4 @@ | |||
<svg width="20" height="20" viewBox="0 0 20 20" fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"> | |||
<path d="M6 5C6 4.44772 6.44772 4 7 4H13C13.5523 4 14 4.44772 14 5V6C14 6.55228 13.5523 7 13 7H7C6.44772 7 6 6.55228 6 6V5ZM7 5V6H13V5H7Z"/> | |||
<path d="M4 4V16C4 17.1046 4.89543 18 6 18H15.5C15.7761 18 16 17.7761 16 17.5C16 17.2239 15.7761 17 15.5 17H6C5.44772 17 5 16.5523 5 16H15C15.5523 16 16 15.5523 16 15V4C16 2.89543 15.1046 2 14 2H6C4.89543 2 4 2.89543 4 4ZM14 3C14.5523 3 15 3.44772 15 4V15H5V4C5 3.44772 5.44772 3 6 3H14Z"/> | |||
</svg> |
@ -0,0 +1,3 @@ | |||
<svg width="16" height="16" viewBox="0 0 16 16" fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"> | |||
<path d="M14.8536 1.14639C14.6583 0.951123 14.3417 0.951123 14.1465 1.14639L9.47596 5.81688C8.02361 4.71413 5.96894 4.87994 4.65264 6.19021L3.96853 6.82872L1.29311 8.04475C1.14382 8.11261 1.03729 8.24936 1.00803 8.41072C0.978769 8.57208 1.03049 8.73753 1.14645 8.85349L7.14645 14.8535C7.26241 14.9695 7.42787 15.0212 7.58923 14.9919C7.75058 14.9627 7.88734 14.8561 7.9552 14.7068L9.16755 12.0395L9.85344 11.3536C11.1784 10.0287 11.2884 7.97029 10.1835 6.52353L14.8536 1.85349C15.0488 1.65823 15.0488 1.34165 14.8536 1.14639ZM4.14134 7.84862L8.15132 11.8586L7.34337 13.6362L2.36375 8.65658L4.14134 7.84862ZM8.74989 11.043L4.96939 7.26246L5.34104 6.91559L5.35344 6.90362C6.41819 5.83887 8.10209 5.80937 9.14633 6.85361C10.2007 7.90803 10.2007 9.59209 9.14633 10.6465L8.74989 11.043Z"/> | |||
</svg> |
@ -0,0 +1,5 @@ | |||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"> | |||
<path | |||
style="fill:context-fill;fill-opacity:context-fill-opacity" | |||
d="M 7,0.5 C 7,0.22386 6.77614,0 6.5,0 6.22386,0 6,0.22386 6,0.5 V 1 C 6,1.39716 6.11577,1.76729 6.3154,2.07847 4.98842,2.38821 4,3.57867 4,5 H 3.5 C 2.67157,5 2,4.32843 2,3.5 v -2 C 2,1.22386 1.77614,1 1.5,1 1.22386,1 1,1.22386 1,1.5 v 2 C 1,4.88071 2.11929,6 3.5,6 H 4 V 8 H 0.5 C 0.22386,8 0,8.22386 0,8.5 0,8.7761 0.22386,9 0.5,9 H 4 v 2 H 3.5 C 2.11929,11 1,12.1193 1,13.5 v 2 C 1,15.7761 1.22386,16 1.5,16 1.77614,16 2,15.7761 2,15.5 v -2 C 2,12.6716 2.67157,12 3.5,12 H 4 c 0,2.2091 1.79086,4 4,4 2.2091,0 4,-1.7909 4,-4 h 0.5 c 0.8284,0 1.5,0.6716 1.5,1.5 v 2 c 0,0.2761 0.2239,0.5 0.5,0.5 0.2761,0 0.5,-0.2239 0.5,-0.5 v -2 C 15,12.1193 13.117468,12.234936 12.5,11 H 12 V 9 h 3.5 C 15.7761,9 16,8.7761 16,8.5 16,8.22386 15.7761,8 15.5,8 H 12 V 6 h 0.5 C 13.8807,6 15,4.88071 15,3.5 v -2 C 15,1.22386 14.7761,1 14.5,1 14.2239,1 14,1.22386 14,1.5 v 2 C 14,4.32843 13.3284,5 12.5,5 H 12 C 12,3.57867 11.0116,2.38821 9.6846,2.07847 9.8842,1.76729 10,1.39716 10,1 V 0.5 C 10,0.22386 9.7761,0 9.5,0 9.2239,0 9,0.22386 9,0.5 V 1 C 9,1.55228 8.5523,2 8,2 7.44772,2 7,1.55228 7,1 Z M 11,5 v 7 C 11,13.6569 9.6569,15 8,15 6.34315,15 5,13.6569 5,12 V 5 C 5,3.89543 5.89543,3 7,3 h 2 c 1.1046,0 2,0.89543 2,2 z" /> | |||
</svg> |
@ -0,0 +1,3 @@ | |||
<svg width="20" height="20" viewBox="0 0 20 20" fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"> | |||
<path d="M17 14.5C17 15.8807 15.8807 17 14.5 17H5.5C4.11929 17 3 15.8807 3 14.5V5.5C3 4.11929 4.11929 3 5.5 3H14.5C15.8807 3 17 4.11929 17 5.5V14.5ZM16 14.5V5.5C16 4.67157 15.3284 4 14.5 4H5.5C4.67157 4 4 4.67157 4 5.5V14.5C4 15.3284 4.67157 16 5.5 16H14.5C15.3284 16 16 15.3284 16 14.5ZM14 6.5C14 6.74546 13.8231 6.94961 13.5899 6.99194L13.5 7H6.5C6.22386 7 6 6.77614 6 6.5C6 6.25454 6.17688 6.05039 6.41012 6.00806L6.5 6H13.5C13.7761 6 14 6.22386 14 6.5ZM14 10C14 10.2455 13.8231 10.4496 13.5899 10.4919L13.5 10.5H6.5C6.22386 10.5 6 10.2761 6 10C6 9.75454 6.17688 9.55039 6.41012 9.50806L6.5 9.5H13.5C13.7761 9.5 14 9.72386 14 10ZM14 13.5C14 13.7455 13.8231 13.9496 13.5899 13.9919L13.5 14H6.5C6.22386 14 6 13.7761 6 13.5C6 13.2545 6.17688 13.0504 6.41012 13.0081L6.5 13H13.5C13.7761 13 14 13.2239 14 13.5Z"/> | |||
</svg> |
@ -0,0 +1,3 @@ | |||
<svg width="16" height="16" viewBox="0 0 16 16" fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"> | |||
<path d="M8 2C11.3137 2 14 4.68629 14 8C14 11.3137 11.3137 14 8 14C4.68629 14 2 11.3137 2 8C2 4.68629 4.68629 2 8 2ZM8 3C5.23858 3 3 5.23858 3 8C3 10.7614 5.23858 13 8 13C10.7614 13 13 10.7614 13 8C13 5.23858 10.7614 3 8 3ZM7.24953 9.04242L10.1203 6.16398C10.3153 5.96846 10.6319 5.96803 10.8274 6.16304C11.0012 6.33637 11.0208 6.60577 10.8861 6.80082L10.8283 6.87014L7.60403 10.1031C7.43053 10.277 7.16082 10.2965 6.96576 10.1615L6.89645 10.1036L5.14645 8.35355C4.95118 8.15829 4.95118 7.84171 5.14645 7.64645C5.32001 7.47288 5.58944 7.4536 5.78431 7.58859L5.85355 7.64645L7.24953 9.04242L10.1203 6.16398L7.24953 9.04242Z"/> | |||
</svg> |
@ -0,0 +1,3 @@ | |||
<svg width="16" height="16" viewBox="0 0 16 16" fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"> | |||
<path d="M9.80307 3.0431C10.0554 3.15525 10.1691 3.45073 10.0569 3.70307L6.05691 12.7031C5.94475 12.9554 5.64927 13.0691 5.39693 12.9569C5.14459 12.8448 5.03094 12.5493 5.14309 12.2969L9.14309 3.29693C9.25525 3.04459 9.55073 2.93094 9.80307 3.0431ZM4.33218 5.3763C4.53857 5.55976 4.55716 5.87579 4.3737 6.08218L2.66898 8L4.3737 9.91782C4.55716 10.1242 4.53857 10.4402 4.33218 10.6237C4.12579 10.8072 3.80975 10.7886 3.6263 10.5822L1.6263 8.33218C1.4579 8.14274 1.4579 7.85726 1.6263 7.66782L3.6263 5.41782C3.80975 5.21143 4.12579 5.19284 4.33218 5.3763ZM11.6678 5.3763C11.8742 5.19284 12.1902 5.21143 12.3737 5.41782L14.3737 7.66782C14.5421 7.85726 14.5421 8.14274 14.3737 8.33218L12.3737 10.5822C12.1902 10.7886 11.8742 10.8072 11.6678 10.6237C11.4614 10.4402 11.4428 10.1242 11.6263 9.91782L13.331 8L11.6263 6.08218C11.4428 5.87579 11.4614 5.55976 11.6678 5.3763Z"/> | |||
</svg> |
@ -0,0 +1,6 @@ | |||
<!-- This Source Code Form is subject to the terms of the Mozilla Public | |||
- License, v. 2.0. If a copy of the MPL was not distributed with this | |||
- file, You can obtain one at http://mozilla.org/MPL/2.0/. --> | |||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="context-fill #0c0c0d"> | |||
<path fill-opacity="context-fill-opacity" d="M6 7v6H5V7H2V6h12v1H6zm7-6a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V4a3 3 0 0 1 3-3h10zM3 3a1 1 0 0 0-1 1v8c0 .6.4 1 1 1h10c.6 0 1-.4 1-1V4c0-.6-.4-1-1-1H3z"/> | |||
</svg> |
@ -0,0 +1,7 @@ | |||
<!-- This Source Code Form is subject to the terms of the Mozilla Public | |||
- License, v. 2.0. If a copy of the MPL was not distributed with this | |||
- file, You can obtain one at http://mozilla.org/MPL/2.0/. --> | |||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="context-fill #0c0c0d"> | |||
<path fill-opacity="context-fill-opacity" d="M1 4h5a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1zm0 2v8h5V6H1z"/> | |||
<path fill-opacity="context-fill-opacity" d="M5 0a2 2 0 0 0-2 2v1h2V2h8v12H8v2h5a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H5z"/> | |||
</svg> |
@ -0,0 +1,9 @@ | |||
<!-- This Source Code Form is subject to the terms of the Mozilla Public | |||
- License, v. 2.0. If a copy of the MPL was not distributed with this | |||
- file, You can obtain one at http://mozilla.org/MPL/2.0/. --> | |||
<svg data-name="icon" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"> | |||
<rect fill="context-fill" fill-opacity="context-fill-opacity" x="1" y="1" width="6" height="6" rx="1"/> | |||
<rect fill="context-fill" fill-opacity="context-fill-opacity" x="1" y="9" width="6" height="6" rx="1"/> | |||
<rect fill="context-fill" fill-opacity="context-fill-opacity" x="9" y="9" width="6" height="6" rx="1"/> | |||
<path fill="context-fill" fill-opacity="context-fill-opacity" d="M14.92 1.62a1 1 0 0 0-0.54-0.54A1 1 0 0 0 14 1h-4a1 1 0 0 0 0 2h1.59l-2.3 2.29a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0L13 4.41V6a1 1 0 0 0 2 0V2a1 1 0 0 0-0.08-0.38z"/> | |||
</svg> |
@ -0,0 +1,3 @@ | |||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> | |||
<path style="fill:context-fill;fill-opacity:context-fill-opacity" d="M6 0a2 2 0 0 0-2 2v.5a.5.5 0 0 0 1 0V2a1 1 0 0 1 1-1h.5a.5.5 0 0 0 0-1H6zm2.5 0a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zm5 0a.5.5 0 0 0 0 1h.5a1 1 0 0 1 1 1v.5a.5.5 0 0 0 1 0V2a2 2 0 0 0-2-2h-.5zM2 4a2 2 0 0 0-2 2v6.5A3.5 3.5 0 0 0 3.5 16H10a2 2 0 0 0 2-2v-1h-1v1a1 1 0 0 1-1 1H3.5A2.5 2.5 0 0 1 1 12.5V6a1 1 0 0 1 1-1h1V4H2zm2.5 0a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 1 0v-3a.5.5 0 0 0-.5-.5zm11 0a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 1 0v-3a.5.5 0 0 0-.5-.5zm-11 5a.5.5 0 0 0-.5.5v.5a2 2 0 0 0 2 2h.5a.5.5 0 0 0 0-1H6a1 1 0 0 1-1-1v-.5a.5.5 0 0 0-.5-.5zm11 0a.5.5 0 0 0-.5.5v.5a1 1 0 0 1-1 1h-.5a.5.5 0 0 0 0 1h.5a2 2 0 0 0 2-2v-.5a.5.5 0 0 0-.5-.5zm-7 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3z"/> | |||
</svg> |
@ -0,0 +1,6 @@ | |||
<!-- This Source Code Form is subject to the terms of the Mozilla Public | |||
- License, v. 2.0. If a copy of the MPL was not distributed with this | |||
- file, You can obtain one at http://mozilla.org/MPL/2.0/. --> | |||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"> | |||
<path fill="context-fill" fill-opacity="context-fill-opacity" d="M14.555 3.2l-2.434 2.436a1.243 1.243 0 1 1-1.757-1.757L12.8 1.445A3.956 3.956 0 0 0 11 1a3.976 3.976 0 0 0-3.434 6.02l-6.273 6.273a1 1 0 1 0 1.414 1.414L8.98 8.434A3.96 3.96 0 0 0 11 9a4 4 0 0 0 4-4 3.956 3.956 0 0 0-.445-1.8z"/> | |||
</svg> |
@ -0,0 +1,8 @@ | |||
<svg width="20" height="20" viewBox="0 0 20 20" fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"> | |||
<path d="M3 6C3 5.44772 3.44772 5 4 5H4.5C4.77614 5 5 4.77614 5 4.5C5 4.22386 4.77614 4 4.5 4H4C2.89543 4 2 4.89543 2 6V6.5C2 6.77614 2.22386 7 2.5 7C2.77614 7 3 6.77614 3 6.5V6Z"/> | |||
<path d="M9.5 4.00012C9.2239 4.00012 9.00007 4.22391 9 4.5L9 15.5C9 15.7761 9.22386 16.0001 9.5 16.0001H16C17.1046 16.0001 18 15.1047 18 14.0001V9.41434C18 9.01651 17.842 8.63498 17.5607 8.35368L13.6464 4.43946C13.3651 4.15816 12.9836 4.00012 12.5858 4.00012H9.5ZM10 15.0001L10 5.00012L12 5.00012V8.50012C12 9.32855 12.6716 10.0001 13.5 10.0001H17V14.0001C17 14.5524 16.5523 15.0001 16 15.0001H10ZM13.5 9.00012C13.2239 9.00012 13 8.77626 13 8.50012V5.20723L16.7929 9.00012H13.5Z"/> | |||
<path d="M3 14C3 14.5523 3.44772 15 4 15H4.5C4.77614 15 5 15.2239 5 15.5C5 15.7761 4.77614 16 4.5 16H4C2.89543 16 2 15.1046 2 14V13.5C2 13.2239 2.22386 13 2.5 13C2.77614 13 3 13.2239 3 13.5V14Z"/> | |||
<path d="M3 8.5C3 8.22386 2.77614 8 2.5 8C2.22386 8 2 8.22386 2 8.5V11.5C2 11.7761 2.22386 12 2.5 12C2.77614 12 3 11.7761 3 11.5L3 8.5Z"/> | |||
<path d="M6 4.5C6 4.22386 6.22386 4 6.5 4H7.5C7.77614 4 8 4.22386 8 4.5C8 4.77614 7.77614 5 7.5 5H6.5C6.22386 5 6 4.77614 6 4.5Z"/> | |||
<path d="M6.5 15C6.22386 15 6 15.2239 6 15.5C6 15.7761 6.22386 16 6.5 16H7.5C7.77614 16 8 15.7761 8 15.5C8 15.2239 7.77614 15 7.5 15H6.5Z"/> | |||
</svg> |
@ -0,0 +1,5 @@ | |||
<svg width="20" height="20" viewBox="0 0 20 20" fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"> | |||
<path d="M2.85355 2.14645C2.65829 1.95118 2.34171 1.95118 2.14645 2.14645C1.95118 2.34171 1.95118 2.65829 2.14645 2.85355L5.6453 6.35239C3.97044 7.49179 2.7234 9.27384 2.28017 11.3979C2.22377 11.6682 2.39718 11.9331 2.6675 11.9895C2.93782 12.0459 3.20268 11.8725 3.25909 11.6021C3.6629 9.66699 4.82367 8.06291 6.36714 7.07422L7.95336 8.66045C7.07297 9.29611 6.5 10.3311 6.5 11.5C6.5 13.433 8.067 15 10 15C11.1689 15 12.2039 14.427 12.8396 13.5466L17.1464 17.8536C17.3417 18.0488 17.6583 18.0488 17.8536 17.8536C18.0488 17.6583 18.0488 17.3417 17.8536 17.1464L2.85355 2.14645ZM12.1194 12.8265C11.6773 13.5314 10.8934 14 10 14C8.61929 14 7.5 12.8807 7.5 11.5C7.5 10.6066 7.96863 9.82265 8.67348 9.38057L12.1194 12.8265Z"/> | |||
<path d="M10.1235 8.00214L13.4979 11.3765C13.4342 9.54169 11.9583 8.06576 10.1235 8.00214Z"/> | |||
<path d="M10 6C9.43016 6 8.87149 6.07353 8.33419 6.21285L7.53113 5.40979C8.31349 5.14331 9.14485 5 10 5C13.6934 5 16.9425 7.67312 17.7199 11.3979C17.7763 11.6682 17.6029 11.933 17.3325 11.9895C17.0622 12.0459 16.7974 11.8725 16.7409 11.6021C16.0574 8.32688 13.2057 6 10 6Z"/> | |||
</svg> |
@ -0,0 +1,4 @@ | |||
<svg width="20" height="20" viewBox="0 0 20 20" fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"> | |||
<path d="M3.25909 11.6021C3.94254 8.32689 6.79437 6 10 6C13.2057 6 16.0574 8.32688 16.7409 11.6021C16.7974 11.8725 17.0622 12.0459 17.3325 11.9895C17.6029 11.933 17.7763 11.6682 17.7199 11.3979C16.9425 7.67312 13.6934 5 10 5C6.3066 5 3.05742 7.67311 2.28017 11.3979C2.22377 11.6682 2.39718 11.933 2.6675 11.9895C2.93782 12.0459 3.20268 11.8725 3.25909 11.6021Z"/> | |||
<path d="M10 8C8.067 8 6.5 9.567 6.5 11.5C6.5 13.433 8.067 15 10 15C11.933 15 13.5 13.433 13.5 11.5C13.5 9.567 11.933 8 10 8ZM7.5 11.5C7.5 10.1193 8.61929 9 10 9C11.3807 9 12.5 10.1193 12.5 11.5C12.5 12.8807 11.3807 14 10 14C8.61929 14 7.5 12.8807 7.5 11.5Z"/> | |||
</svg> |
@ -0,0 +1,3 @@ | |||
<svg width="24" height="24" viewBox="0 0 24 24" fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"> | |||
<path d="M18.75 4C20.5449 4 22 5.45507 22 7.25V18.75C22 20.5449 20.5449 22 18.75 22H7.25C5.45507 22 4 20.5449 4 18.75V12.5019C4.47425 12.6996 4.97687 12.8428 5.50009 12.9236L5.5 18.75C5.5 18.9584 5.53643 19.1583 5.60326 19.3437L11.4258 13.643C12.2589 12.8273 13.5675 12.7885 14.4458 13.5266L14.5742 13.6431L20.3964 19.3447C20.4634 19.159 20.5 18.9588 20.5 18.75V7.25C20.5 6.2835 19.7165 5.5 18.75 5.5L12.9236 5.50009C12.8428 4.97687 12.6996 4.47425 12.5019 4H18.75ZM12.5588 14.644L12.4752 14.7148L6.66845 20.4011C6.8504 20.4651 7.04613 20.5 7.25 20.5H18.75C18.9535 20.5 19.1489 20.4653 19.3305 20.4014L13.5247 14.7148C13.2596 14.4553 12.8501 14.4316 12.5588 14.644ZM16.2521 7.5C17.4959 7.5 18.5042 8.50831 18.5042 9.75212C18.5042 10.9959 17.4959 12.0042 16.2521 12.0042C15.0083 12.0042 14 10.9959 14 9.75212C14 8.50831 15.0083 7.5 16.2521 7.5ZM6.5 1C9.53757 1 12 3.46243 12 6.5C12 9.53757 9.53757 12 6.5 12C3.46243 12 1 9.53757 1 6.5C1 3.46243 3.46243 1 6.5 1ZM16.2521 9C15.8367 9 15.5 9.33673 15.5 9.75212C15.5 10.1675 15.8367 10.5042 16.2521 10.5042C16.6675 10.5042 17.0042 10.1675 17.0042 9.75212C17.0042 9.33673 16.6675 9 16.2521 9ZM6.5 2.99923L6.41012 3.00729C6.20603 3.04433 6.0451 3.20527 6.00806 3.40936L6 3.49923L5.99965 5.99923L3.49765 6L3.40777 6.00806C3.20368 6.0451 3.04275 6.20603 3.00571 6.41012L2.99765 6.5L3.00571 6.58988C3.04275 6.79397 3.20368 6.9549 3.40777 6.99194L3.49765 7L6.00065 6.99923L6.00111 9.50348L6.00916 9.59336C6.04621 9.79745 6.20714 9.95839 6.41123 9.99543L6.50111 10.0035L6.59098 9.99543C6.79508 9.95839 6.95601 9.79745 6.99305 9.59336L7.00111 9.50348L7.00065 6.99923L9.50457 7L9.59444 6.99194C9.79853 6.9549 9.95947 6.79397 9.99651 6.58988L10.0046 6.5L9.99651 6.41012C9.95947 6.20603 9.79853 6.0451 9.59444 6.00806L9.50457 6L6.99965 5.99923L7 3.49923L6.99194 3.40936C6.9549 3.20527 6.79397 3.04433 6.58988 3.00729L6.5 2.99923Z"/> | |||
</svg> |
@ -0,0 +1,5 @@ | |||
<svg width="20" height="20" viewBox="0 0 20 20" fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"> | |||
<path d="M3 1C1.89542 1 1 1.89539 1 3V7C1 8.10461 1.89542 9 3 9H8C9.10458 9 10 8.10461 10 7V3C10 1.89539 9.10458 1 8 1H3ZM3.5 6H7.5C7.77615 6 8 6.22388 8 6.5C8 6.77612 7.77615 7 7.5 7H3.5C3.22385 7 3 6.77612 3 6.5C3 6.22388 3.22385 6 3.5 6ZM3 3.5C3 3.22388 3.22385 3 3.5 3H7.5C7.77615 3 8 3.22388 8 3.5C8 3.77612 7.77615 4 7.5 4H3.5C3.22385 4 3 3.77612 3 3.5Z"/> | |||
<path d="M3 14V10H4V14C4 14.3727 4.1019 14.7214 4.27939 15.0201L8.94867 10.432C9.53226 9.85864 10.4677 9.85864 11.0513 10.432L15.7206 15.0201C15.8981 14.7214 16 14.3727 16 14V6C16 4.89539 15.1046 4 14 4H11V3H14C15.6569 3 17 4.34314 17 6V14C17 15.6569 15.6569 17 14 17H6C4.34314 17 3 15.6569 3 14ZM6 16H14C14.3691 16 14.7149 15.9 15.0117 15.7256L10.3504 11.1453C10.1559 10.9542 9.84409 10.9542 9.64957 11.1453L4.98825 15.7256C5.28506 15.9 5.63086 16 6 16Z"/> | |||
<path d="M12.5 9C11.6716 9 11 8.32837 11 7.5C11 6.67163 11.6716 6 12.5 6C13.3284 6 14 6.67163 14 7.5C14 8.32837 13.3284 9 12.5 9ZM13 7.5C13 7.22388 12.7762 7 12.5 7C12.2238 7 12 7.22388 12 7.5C12 7.77612 12.2238 8 12.5 8C12.7762 8 13 7.77612 13 7.5Z"/> | |||
</svg> |
@ -0,0 +1,5 @@ | |||
<svg width="24" height="24" viewBox="0 0 24 24" fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"> | |||
<path d="M12 6.5C12 3.46243 9.53757 1 6.5 1C3.46243 1 1 3.46243 1 6.5C1 9.53757 3.46243 12 6.5 12C9.53757 12 12 9.53757 12 6.5ZM4 3.5V4.05122C4.63531 3.40253 5.521 3 6.5007 3C8.43369 3 10.0007 4.567 10.0007 6.5C10.0007 8.433 8.43369 10 6.5007 10C5.42085 10 4.45521 9.51097 3.81318 8.74229C3.55009 8.4273 3.81102 8 4.22143 8C4.39713 8 4.55973 8.08547 4.68017 8.2134C5.13611 8.69765 5.78309 9 6.5007 9C7.88141 9 9.0007 7.88071 9.0007 6.5C9.0007 5.11929 7.88141 4 6.5007 4C5.68279 4 4.95662 4.39278 4.50051 5H5.5C5.77614 5 6 5.22386 6 5.5C6 5.77614 5.77614 6 5.5 6H3.5C3.22386 6 3 5.77614 3 5.5V3.5C3 3.22386 3.22386 3 3.5 3C3.77614 3 4 3.22386 4 3.5Z"/> | |||
<path d="M18.75 5.5H12.9236C12.8428 4.97679 12.6996 4.47417 12.5018 4H18.75C20.5449 4 22 5.45507 22 7.25V18.75C22 20.5449 20.5449 22 18.75 22H7.25C5.45507 22 4 20.5449 4 18.75V12.5018C4.47417 12.6996 4.97679 12.8428 5.5 12.9236V18.75C5.5 18.9584 5.53643 19.1583 5.60326 19.3437L11.4258 13.643C12.2589 12.8273 13.5675 12.7885 14.4458 13.5266L14.5742 13.6431L20.3964 19.3447C20.4634 19.159 20.5 18.9588 20.5 18.75V7.25C20.5 6.2835 19.7165 5.5 18.75 5.5ZM19.3305 20.4014L13.5247 14.7148C13.2596 14.4553 12.8501 14.4316 12.5588 14.644L12.4752 14.7148L6.66845 20.4011C6.8504 20.4651 7.04613 20.5 7.25 20.5H18.75C18.9535 20.5 19.1489 20.4653 19.3305 20.4014Z"/> | |||
<path d="M16.2521 7.5C17.4959 7.5 18.5042 8.50831 18.5042 9.75212C18.5042 10.9959 17.4959 12.0042 16.2521 12.0042C15.0083 12.0042 14 10.9959 14 9.75212C14 8.50831 15.0083 7.5 16.2521 7.5ZM16.2521 9C15.8367 9 15.5 9.33673 15.5 9.75212C15.5 10.1675 15.8367 10.5042 16.2521 10.5042C16.6675 10.5042 17.0042 10.1675 17.0042 9.75212C17.0042 9.33673 16.6675 9 16.2521 9Z"/> | |||
</svg> |
@ -0,0 +1,3 @@ | |||
<svg width="24" height="24" viewBox="0 0 24 24" fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"> | |||
<path d="M4.50678 6.00782C3.60124 6.58285 3 7.59621 3 8.75V15.25C3 18.1495 5.3505 20.5 8.25 20.5H14.75C15.9038 20.5 16.9172 19.8988 17.4939 18.9925L17.3717 18.9982L17.25 19H8.25C6.17893 19 4.5 17.3211 4.5 15.25V6.25C4.5 6.16872 4.50228 6.08798 4.50678 6.00782ZM8.75 3C6.95507 3 5.5 4.45507 5.5 6.25V14.75C5.5 16.5449 6.95507 18 8.75 18H17.25C19.0449 18 20.5 16.5449 20.5 14.75V6.25C20.5 4.45507 19.0449 3 17.25 3H8.75ZM13.4309 12.1373L13.523 12.2137L17.8295 16.4018C17.6481 16.4654 17.4531 16.5 17.25 16.5H8.75C8.54688 16.5 8.35185 16.4654 8.17047 16.4018L12.4774 12.2137C12.7394 11.959 13.141 11.9335 13.4309 12.1373ZM8.75 4.5H17.25C18.2165 4.5 19 5.2835 19 6.25V14.75C19 14.9588 18.9634 15.159 18.8964 15.3447L14.5687 11.1382C13.739 10.3316 12.4428 10.2913 11.5665 11.0172L11.4318 11.1382L7.10399 15.3457C7.03669 15.1597 7 14.9592 7 14.75V6.25C7 5.2835 7.7835 4.5 8.75 4.5ZM10.4996 6.75116C9.80959 6.75116 9.25026 7.31048 9.25026 8.00045C9.25026 8.69041 9.80959 9.24974 10.4996 9.24974C11.1895 9.24974 11.7488 8.69041 11.7488 8.00045C11.7488 7.31048 11.1895 6.75116 10.4996 6.75116Z"/> | |||
</svg> |
@ -0,0 +1,9 @@ | |||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> | |||
<style> | |||
#copy:not(:target),#copy:target+path{display:none} | |||
</style> | |||
<g style="fill:context-fill;fill-opacity:context-fill-opacity"> | |||
<path id="copy" d="M6 1a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h6a3 3 0 0 0 3-3V4a3 3 0 0 0-3-3H6zm0 1h6a2 2 0 0 1 2 2v6c0 .37-.101.718-.277 1.016l-3.514-3.514a1.71 1.71 0 0 0-2.418 0l-3.514 3.514A1.99 1.99 0 0 1 4 10V4a2 2 0 0 1 2-2zm.498 1.502a.997.997 0 1 0-.003 1.995.997.997 0 0 0 .003-1.995zM2 3.764C1.386 4.313 1 5.112 1 6v4.5A4.5 4.5 0 0 0 5.5 15H10a2.99 2.99 0 0 0 2.236-1H5.5A3.501 3.501 0 0 1 2 10.5V3.764zm7 4.238c.182 0 .363.068.502.207l3.514 3.514A1.99 1.99 0 0 1 12 12H6a1.99 1.99 0 0 1-1.016-.277l3.514-3.514A.706.706 0 0 1 9 8.002z"/> | |||
<path d="M4 1a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V4a3 3 0 0 0-3-3H4zm0 1h8a2 2 0 0 1 2 2v8c0 .373-.102.72-.28 1.02L9.05 8.432a1.499 1.499 0 0 0-2.1 0L2.28 13.02A1.988 1.988 0 0 1 2 12V4a2 2 0 0 1 2-2zm6.5 2a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm0 1a.5.5 0 1 1 0 1 .5.5 0 0 1 0-1zM8 9.002c.127 0 .252.047.35.143l4.662 4.582A1.99 1.99 0 0 1 12 14H4a1.99 1.99 0 0 1-1.012-.273L7.65 9.145A.496.496 0 0 1 8 9.002z"/> | |||
</g> | |||
</svg> |
@ -0,0 +1,3 @@ | |||
<svg width="20" height="20" viewBox="0 0 20 20" fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"> | |||
<path d="M10.3192 2.01255C10.2139 2.00424 10.1074 2 10 2C7.79086 2 6 3.79086 6 6C6 6.39211 6.05656 6.77171 6.16219 7.13071L2.17574 11.1172C2.06321 11.2297 2 11.3823 2 11.5414V14.4C2 14.7314 2.26863 15 2.6 15H5.4C5.73137 15 6 14.7314 6 14.4V13H7.9C8.23137 13 8.5 12.7314 8.5 12.4V10.7071L9.2346 9.9725C9.02029 9.70958 8.82981 9.42646 8.66644 9.12645L7.67574 10.1172C7.56321 10.2297 7.5 10.3823 7.5 10.5414V12H5.6C5.26863 12 5 12.2686 5 12.6V14H3V11.7071L7.3194 7.3877L7.20163 7.08386C7.07157 6.74835 7 6.38313 7 6C7 4.63404 7.91292 3.4813 9.1619 3.11863C9.49163 2.69621 9.88171 2.3232 10.3192 2.01255ZM13.5 6.25C13.9142 6.25 14.25 5.91421 14.25 5.5C14.25 5.08579 13.9142 4.75 13.5 4.75C13.0858 4.75 12.75 5.08579 12.75 5.5C12.75 5.91421 13.0858 6.25 13.5 6.25ZM9 6.5C9 4.01472 11.0147 2 13.5 2C15.9853 2 18 4.01472 18 6.5C18 8.06086 17.2051 9.43554 16 10.2422V12.2929L16.7828 13.0757C17.0172 13.31 17.0172 13.6899 16.7828 13.9243L15.7071 15L16.7746 16.0674C17.0274 16.3203 17.0043 16.7368 16.7251 16.9602L14.3748 18.8405C14.1557 19.0158 13.8443 19.0158 13.6252 18.8405L11.2252 16.9205C11.0829 16.8066 11 16.6342 11 16.4519V10.2422C9.7949 9.43554 9 8.06086 9 6.5ZM13.5 3C11.567 3 10 4.567 10 6.5C10 7.79486 10.7029 8.92615 11.7504 9.53207C11.9049 9.62144 12 9.78639 12 9.96487V16.2597L14 17.8597L15.7514 16.4585L14.7172 15.4243C14.4828 15.19 14.4828 14.8101 14.7172 14.5757L15.7929 13.5L15.1757 12.8828C15.0632 12.7703 15 12.6177 15 12.4586V9.96487C15 9.78639 15.0951 9.62144 15.2496 9.53207C16.2971 8.92615 17 7.79486 17 6.5C17 4.567 15.433 3 13.5 3Z"/> | |||
</svg> |
@ -0,0 +1,4 @@ | |||
<svg width="16" height="16" viewBox="0 0 16 16" fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"> | |||
<path d="M4 2C2.89543 2 2 2.89543 2 4V8C2 9.10457 2.89543 10 4 10H5V9H4C3.44772 9 3 8.55228 3 8V4C3 3.44772 3.44772 3 4 3H8C8.55228 3 9 3.44772 9 4V8C9 8.55228 8.55228 9 8 9V10C9.10457 10 10 9.10457 10 8V4C10 2.89543 9.10457 2 8 2H4Z"/> | |||
<path d="M11 6V7H12C12.5523 7 13 7.44772 13 8V12C13 12.5523 12.5523 13 12 13H8C7.44772 13 7 12.5523 7 12V8C7 7.44772 7.44772 7 8 7V6C6.89543 6 6 6.89543 6 8V12C6 13.1046 6.89543 14 8 14H12C13.1046 14 14 13.1046 14 12V8C14 6.89543 13.1046 6 12 6H11Z"/> | |||
</svg> |
@ -0,0 +1,7 @@ | |||
<!-- This Source Code Form is subject to the terms of the Mozilla Public | |||
- License, v. 2.0. If a copy of the MPL was not distributed with this | |||
- file, You can obtain one at http://mozilla.org/MPL/2.0/. --> | |||
<svg data-name="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | |||
<path fill="context-fill" fill-opacity="context-fill-opacity" d="M15.85 12.15l-3-3a0.49 0.49 0 0 0-0.7 0.7L14.29 12H9.5a0.5 0.5 0 0 0 0 1h4.79l-2.14 2.15a0.48 0.48 0 0 0 0 0.7 0.48 0.48 0 0 0 0.7 0l3-3a0.36 0.36 0 0 0 0.11-0.16 0.5 0.5 0 0 0 0-0.38 0.36 0.36 0 0 0-0.11-0.16z"/> | |||
<path fill="context-fill" fill-opacity="context-fill-opacity" d="M13 1H3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h4a1 1 0 0 0 0-2H3a1 1 0 0 1-1-1V6h12v2a1 1 0 0 0 2 0V4a3 3 0 0 0-3-3zM2 5V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v1z"/> | |||
</svg> |
@ -0,0 +1,9 @@ | |||
<!-- This Source Code Form is subject to the terms of the Mozilla Public | |||
- License, v. 2.0. If a copy of the MPL was not distributed with this | |||
- file, You can obtain one at http://mozilla.org/MPL/2.0/. --> | |||
<svg data-name="icon" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"> | |||
<path fill="context-fill" fill-opacity="context-fill-opacity" d="M12 7l-4 4a4 4 0 0 0 4-4z"/> | |||
<path fill="context-fill" fill-opacity="context-fill-opacity" d="M15.66 7.71a7.78 7.78 0 0 0-1.55-2.82L12.7 6.3a5.9 5.9 0 0 1 1 1.7A6 6 0 0 1 8 12a7.28 7.28 0 0 1-.93-.07l-1.64 1.64A7.92 7.92 0 0 0 8 14a8 8 0 0 0 7.66-5.71 1 1 0 0 0 0-.58zM14.71 1.29a1 1 0 0 0-1.42 0l-1.63 1.64A7.8 7.8 0 0 0 8 2a8 8 0 0 0-7.66 5.71 1 1 0 0 0 0 .58 7.8 7.8 0 0 0 2.34 3.62l-1.39 1.38a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l12-12a1 1 0 0 0 0-1.42zM8.5 5a1.43 1.43 0 0 1 .82.26L7.26 7.32A1.43 1.43 0 0 1 7 6.5 1.5 1.5 0 0 1 8.5 5zM2.35 8a6 6 0 0 1 2.11-2.82A3.91 3.91 0 0 0 5 9.61l-.9.9A5.91 5.91 0 0 1 2.35 8z"/> | |||
<path fill="context-fill" fill-opacity="context-fill-opacity" d="M12 7l-4 4a4 4 0 0 0 4-4z"/> | |||
<path fill="context-fill" fill-opacity="context-fill-opacity" d="M16 7.7a8.06 8.06 0 0 0-1.72-2.94l-1.45 1.41A5.91 5.91 0 0 1 13.94 8 6.33 6.33 0 0 1 8 12a7.28 7.28 0 0 1-.93-.07l-1.66 1.66A8.56 8.56 0 0 0 8 14a8.34 8.34 0 0 0 8-5.7 1.22 1.22 0 0 0 0-.6zM14.71 1.29a1 1 0 0 0-1.42 0L11.7 2.88A8.43 8.43 0 0 0 8 2a8.34 8.34 0 0 0-8 5.7 1.22 1.22 0 0 0 0 .6A7.87 7.87 0 0 0 2.58 12l-1.29 1.29a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l12-12a1 1 0 0 0 0-1.42zM8.5 5a1.43 1.43 0 0 1 .82.26L7.26 7.32A1.43 1.43 0 0 1 7 6.5 1.5 1.5 0 0 1 8.5 5zM2.06 8a6 6 0 0 1 2.49-3A4 4 0 0 0 4 7a4 4 0 0 0 1 2.61l-1 1A5.94 5.94 0 0 1 2.06 8z"/> | |||
</svg> |
@ -0,0 +1,6 @@ | |||
<svg width="24" height="24" viewBox="0 0 24 24" fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"> | |||
<path d="M11.7802 10.2195C11.4872 9.92672 11.0124 9.92683 10.7195 10.2198C10.4267 10.5128 10.4268 10.9876 10.7198 11.2805L11.4395 11.9998L10.7197 12.7197C10.4268 13.0126 10.4268 13.4874 10.7197 13.7803C11.0126 14.0732 11.4874 14.0732 11.7803 13.7803L12.5004 13.0602L13.2198 13.7793C13.5128 14.0721 13.9876 14.072 14.2805 13.779C14.5733 13.4861 14.5732 13.0112 14.2802 12.7184L13.5611 11.9996L14.2803 11.2803C14.5732 10.9874 14.5732 10.5126 14.2803 10.2197C13.9874 9.92678 13.5126 9.92678 13.2197 10.2197L12.5002 10.9392L11.7802 10.2195Z"/> | |||
<path d="M5.21954 10.2198C5.51237 9.92683 5.98724 9.92672 6.2802 10.2195L7.00017 10.9392L7.71967 10.2197C8.01256 9.92678 8.48743 9.92678 8.78033 10.2197C9.07322 10.5126 9.07322 10.9874 8.78033 11.2803L8.06108 11.9996L8.7802 12.7184C9.07317 13.0112 9.07328 13.4861 8.78046 13.779C8.48763 14.072 8.01276 14.0721 7.7198 13.7793L7.00042 13.0602L6.28033 13.7803C5.98744 14.0732 5.51256 14.0732 5.21967 13.7803C4.92678 13.4874 4.92678 13.0126 5.21967 12.7197L5.93951 11.9998L5.21979 11.2805C4.92683 10.9876 4.92672 10.5128 5.21954 10.2198Z"/> | |||
<path d="M16.5 13.5C16.0858 13.5 15.75 13.8358 15.75 14.25C15.75 14.6642 16.0858 15 16.5 15H18.25C18.6642 15 19 14.6642 19 14.25C19 13.8358 18.6642 13.5 18.25 13.5H16.5Z"/> | |||
<path d="M5.24923 5C3.454 5 2 6.45538 2 8.25V15.75C2 17.5449 3.45507 19 5.25 19H18.75C20.5449 19 22 17.5449 22 15.75V8.25C22 6.45538 20.546 5 18.7508 5H5.24923ZM3.5 8.25C3.5 7.2832 4.28303 6.5 5.24923 6.5H18.7508C19.717 6.5 20.5 7.2832 20.5 8.25V15.75C20.5 16.7165 19.7165 17.5 18.75 17.5H5.25C4.2835 17.5 3.5 16.7165 3.5 15.75V8.25Z"/> | |||
</svg> |
@ -0,0 +1,9 @@ | |||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> | |||
<style> | |||
#url:not(:target),#url:target+#text{display:none} | |||
</style> | |||
<g style="fill:context-fill;fill-opacity:context-fill-opacity"> | |||
<path id="url" d="M5.5 0a1.5 1.5 0 0 0-1.414 1H2.5A1.5 1.5 0 0 0 1 2.5v12A1.5 1.5 0 0 0 2.5 16h5.844a5.536 5.536 0 0 1-1.086-1H2.5a.5.5 0 0 1-.5-.5v-12a.5.5 0 0 1 .5-.5h1.586A1.5 1.5 0 0 0 5.5 3h3a1.5 1.5 0 0 0 1.414-1H11.5a.5.5 0 0 1 .5.5v3.525c.344.031.677.096 1 .188V2.5A1.5 1.5 0 0 0 11.5 1H9.914A1.5 1.5 0 0 0 8.5 0h-3zm0 1h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1zm6 6a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9zm0 2c.128 0 .256.049.354.146l2 2a.502.502 0 0 1 .146.35v.008a.495.495 0 0 1-.145.348l-.001.002-2 2a.5.5 0 0 1-.708-.708L12.293 12H9.5a.5.5 0 0 1 0-1h2.793l-1.147-1.146A.5.5 0 0 1 11.5 9z"/> | |||
<path id="text" d="M5.5 0a1.5 1.5 0 0 0-1.414 1H2.5A1.5 1.5 0 0 0 1 2.5v12A1.5 1.5 0 0 0 2.5 16h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 1-.5-.5v-12a.5.5 0 0 1 .5-.5h1.586A1.5 1.5 0 0 0 5.5 3h3a1.5 1.5 0 0 0 1.414-1H11.5a.5.5 0 0 1 .5.5v1a.5.5 0 0 0 1 0v-1A1.5 1.5 0 0 0 11.5 1H9.914A1.5 1.5 0 0 0 8.5 0h-3zm0 1h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1zm3 4A1.5 1.5 0 0 0 7 6.5v8A1.5 1.5 0 0 0 8.5 16h5a1.5 1.5 0 0 0 1.5-1.5v-8A1.5 1.5 0 0 0 13.5 5h-5zm0 1h5a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-8a.5.5 0 0 1 .5-.5z"/> | |||
</g> | |||
</svg> |
@ -0,0 +1,7 @@ | |||
<!-- This Source Code Form is subject to the terms of the Mozilla Public | |||
- License, v. 2.0. If a copy of the MPL was not distributed with this | |||
- file, You can obtain one at http://mozilla.org/MPL/2.0/. --> | |||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"> | |||
<path fill="context-fill" fill-opacity="context-fill-opacity" d="M8 1a8 8 0 0 0-8 8 7.89 7.89 0 0 0 .78 3.43 1 1 0 0 0 .9.57.94.94 0 0 0 .43-.1 1 1 0 0 0 .47-1.33A6.07 6.07 0 0 1 2 9a6 6 0 0 1 12 0 5.93 5.93 0 0 1-.59 2.57 1 1 0 0 0 1.81.86A7.89 7.89 0 0 0 16 9a8 8 0 0 0-8-8z"/> | |||
<path fill="context-fill" fill-opacity="context-fill-opacity" d="M11.77 7.08a.5.5 0 0 0-.69.15L8.62 11.1A2.12 2.12 0 0 0 8 11a2 2 0 0 0 0 4 2.05 2.05 0 0 0 1.12-.34 2.31 2.31 0 0 0 .54-.54 2 2 0 0 0 0-2.24 2.31 2.31 0 0 0-.2-.24l2.46-3.87a.5.5 0 0 0-.15-.69z"/> | |||
</svg> |
@ -0,0 +1,6 @@ | |||
<!-- This Source Code Form is subject to the terms of the Mozilla Public | |||
- License, v. 2.0. If a copy of the MPL was not distributed with this | |||
- file, You can obtain one at http://mozilla.org/MPL/2.0/. --> | |||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | |||
<path fill="context-fill" fill-opacity="context-fill-opacity" d="M14.707 13.293L11.414 10l2.293-2.293a1 1 0 0 0 0-1.414A4.384 4.384 0 0 0 10.586 5h-.172A2.415 2.415 0 0 1 8 2.586V2a1 1 0 0 0-1.707-.707l-5 5A1 1 0 0 0 2 8h.586A2.415 2.415 0 0 1 5 10.414v.169a4.036 4.036 0 0 0 1.337 3.166 1 1 0 0 0 1.37-.042L10 11.414l3.293 3.293a1 1 0 0 0 1.414-1.414zm-7.578-1.837A2.684 2.684 0 0 1 7 10.583v-.169a4.386 4.386 0 0 0-1.292-3.121 4.414 4.414 0 0 0-1.572-1.015l2.143-2.142a4.4 4.4 0 0 0 1.013 1.571A4.384 4.384 0 0 0 10.414 7h.172a2.4 2.4 0 0 1 .848.152z"/> | |||
</svg> |
@ -0,0 +1,3 @@ | |||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> | |||
<path style="fill:context-fill;fill-opacity:context-fill-opacity" d="M3.455 1A1.502 1.502 0 0 0 2 2.5v11a1.5 1.5 0 0 0 2.223 1.313l9.998-5.5a1.497 1.497 0 0 0 0-2.626l-9.998-5.5A1.483 1.483 0 0 0 3.455 1zm.03 1a.494.494 0 0 1 .255.063l9.998 5.5a.5.5 0 0 1 0 .875l-9.998 5.5A.5.5 0 0 1 3 13.5v-11a.5.5 0 0 1 .484-.5z"/> | |||
</svg> |
@ -0,0 +1,6 @@ | |||
<!-- This Source Code Form is subject to the terms of the Mozilla Public | |||
- License, v. 2.0. If a copy of the MPL was not distributed with this | |||
- file, You can obtain one at http://mozilla.org/MPL/2.0/. --> | |||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"> | |||
<path fill="context-fill" fill-opacity="context-fill-opacity" d="M8 6a1 1 0 0 0 1-1V1a1 1 0 0 0-2 0v4a1 1 0 0 0 1 1zm3.5-4.032a1 1 0 0 0-1 1.732A4.946 4.946 0 0 1 13 8 5 5 0 0 1 3 8a4.946 4.946 0 0 1 2.5-4.3 1 1 0 0 0-1-1.732 7 7 0 1 0 7.006 0z"/> | |||
</svg> |
@ -0,0 +1,3 @@ | |||
<svg width="24" height="24" viewBox="0 0 24 24" fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"> | |||
<path d="M21.25 13C21.6297 13 21.9435 13.2822 21.9932 13.6482L22 13.75V18.75C22 20.483 20.6436 21.8992 18.9345 21.9949L18.75 22L14.0822 22.0002C14.6185 21.6147 15.0555 21.0997 15.3474 20.5011L18.75 20.5C19.6682 20.5 20.4212 19.7929 20.4942 18.8935L20.5 18.75V13.75C20.5 13.3358 20.8358 13 21.25 13ZM11.75 9C13.545 9 15 10.4551 15 12.25V18.75C15 20.5449 13.545 22 11.75 22H5.25003C3.4551 22 2.00003 20.5449 2.00003 18.75V12.25C2.00003 10.4551 3.4551 9 5.25003 9H11.75ZM7.71764 17.3534L7.61615 17.4445L4.66343 20.3993C4.84681 20.4645 5.04427 20.5 5.25003 20.5H11.75C11.9558 20.5 12.1533 20.4645 12.3366 20.3993L9.38391 17.4445C8.96084 17.0215 8.30996 16.9651 7.82615 17.2753L7.71764 17.3534ZM11.75 10.5H5.25003C4.28353 10.5 3.50003 11.2835 3.50003 12.25V18.75C3.50003 18.9558 3.53554 19.1532 3.60077 19.3366L6.55548 16.3839C7.58468 15.3547 9.22669 15.3118 10.307 16.2552L10.4446 16.3839L13.3993 19.3366C13.4645 19.1532 13.5 18.9558 13.5 18.75V12.25C13.5 11.2835 12.7165 10.5 11.75 10.5ZM11 12C11.5523 12 12 12.4477 12 13C12 13.5523 11.5523 14 11 14C10.4477 14 10 13.5523 10 13C10 12.4477 10.4477 12 11 12ZM18.75 2C20.4831 2 21.8993 3.35645 21.9949 5.06558L22 5.25V10.25C22 10.6642 21.6642 11 21.25 11C20.8703 11 20.5565 10.7178 20.5069 10.3518L20.5 10.25V5.25C20.5 4.33183 19.7929 3.57881 18.8936 3.5058L18.75 3.5H13.75C13.3358 3.5 13 3.16421 13 2.75C13 2.3703 13.2822 2.05651 13.6483 2.00685L13.75 2H18.75ZM10.25 2C10.6642 2 11 2.33579 11 2.75C11 3.1297 10.7179 3.44349 10.3518 3.49315L10.25 3.5H5.25003C4.33186 3.5 3.57884 4.20711 3.50583 5.10647L3.50003 5.25L3.49999 8.65214C2.9009 8.94409 2.38559 9.38126 1.99988 9.91785L2.00003 5.25C2.00003 3.51697 3.35648 2.10075 5.0656 2.00514L5.25003 2H10.25Z"/> | |||
</svg> |
@ -0,0 +1,6 @@ | |||
<!-- This Source Code Form is subject to the terms of the Mozilla Public | |||
- License, v. 2.0. If a copy of the MPL was not distributed with this | |||
- file, You can obtain one at http://mozilla.org/MPL/2.0/. --> | |||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="context-fill" fill-opacity="context-fill-opacity"> | |||
<path d="M13 0H3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h4l-.3.4a1 1 0 1 0 1.6 1.2l1.5-2a1 1 0 0 0 0-1.2l-1.5-2a1 1 0 0 0-1.6 1.2l.3.4H3a1 1 0 0 1-1-1V5h12v6a1 1 0 0 1-1 1 1 1 0 0 0 0 2 3 3 0 0 0 3-3V3a3 3 0 0 0-3-3zM2 4V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v1z"/> | |||
</svg> |
@ -0,0 +1,5 @@ | |||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"> | |||
<path | |||
style="fill:context-fill;fill-opacity:context-fill-opacity" | |||
d="M 3 1 C 1.89543 1 1 1.89543 1 3 L 1 13 C 1 14.1046 1.89543 15 3 15 L 13 15 C 14.1046 15 15 14.1046 15 13 L 15 3 C 15 1.89543 14.1046 1 13 1 L 3 1 z M 3 2 L 13 2 C 13.5523 2 14 2.44772 14 3 L 14 13 C 14 13.5523 13.5523 14 13 14 L 3 14 C 2.44772 14 2 13.5523 2 13 L 2 3 C 2 2.44772 2.44772 2 3 2 z M 4.5 3 C 3.67157 3 3 3.67157 3 4.5 L 3 6.5 C 3 6.77614 3.22386 7 3.5 7 C 3.77614 7 4 6.77614 4 6.5 L 4 4.5 C 4 4.22386 4.22386 4 4.5 4 L 6.5 4 C 6.77614 4 7 3.77614 7 3.5 C 7 3.22386 6.77614 3 6.5 3 L 4.5 3 z M 9.5 3 C 9.2239 3 9 3.22386 9 3.5 C 9 3.77614 9.2239 4 9.5 4 L 11.5 4 C 11.7761 4 12 4.22386 12 4.5 L 12 6.5 C 12 6.77614 12.2239 7 12.5 7 C 12.7761 7 13 6.77614 13 6.5 L 13 4.5 C 13 3.67157 12.3284 3 11.5 3 L 9.5 3 z M 3.5 9 C 3.22386 9 3 9.2239 3 9.5 L 3 11.5 C 3 12.3284 3.67157 13 4.5 13 L 6.5 13 C 6.77614 13 7 12.7761 7 12.5 C 7 12.2239 6.77614 12 6.5 12 L 4.5 12 C 4.22386 12 4 11.7761 4 11.5 L 4 9.5 C 4 9.2239 3.77614 9 3.5 9 z M 12.5 9 C 12.2239 9 12 9.2239 12 9.5 L 12 11.5 C 12 11.7761 11.7761 12 11.5 12 L 9.5 12 C 9.2239 12 9 12.2239 9 12.5 C 9 12.7761 9.2239 13 9.5 13 L 11.5 13 C 12.3284 13 13 12.3284 13 11.5 L 13 9.5 C 13 9.2239 12.7761 9 12.5 9 z " /> | |||
</svg> |
@ -0,0 +1,5 @@ | |||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"> | |||
<path | |||
style="fill:context-fill;fill-opacity:context-fill-opacity" | |||
d="M 3.5 0 C 2.67157 0 2 0.67157 2 1.5 L 2 5.4160156 C 2.3175 5.2772956 2.6522 5.1702094 3 5.0996094 L 3 1.5 C 3 1.22386 3.22386 1 3.5 1 L 8 1 L 8 4.5 C 8 5.32843 8.6716 6 9.5 6 L 13 6 L 13 14.5 C 13 14.7761 12.910861 15 12.634766 15 L 11.076172 15 C 11.139982 15.380805 11.123616 15.698627 11.103516 16 L 12.5 16 C 13.3284 16 14 15.3284 14 14.5 L 14 5.4140625 C 14 5.0162425 13.841847 4.6348256 13.560547 4.3535156 L 9.6464844 0.43945312 C 9.3651844 0.15815313 8.9837375 0 8.5859375 0 L 3.5 0 z M 9 1.2070312 L 12.792969 5 L 9.5 5 C 9.2239 5 9 4.77614 9 4.5 L 9 1.2070312 z M 4 6 C 1.79086 6 0 7.79086 0 10 C 0 12.2091 1.79086 14 4 14 C 4.92432 14 5.775795 13.686656 6.453125 13.160156 L 9.1445312 15.851562 C 9.3398312 16.046863 9.6562625 16.046862 9.8515625 15.851562 C 10.046862 15.656363 10.046862 15.339831 9.8515625 15.144531 L 7.1601562 12.453125 C 7.6867262 11.775725 8 10.9244 8 10 C 8 7.79086 6.20914 6 4 6 z M 4 7 C 5.65685 7 7 8.3431 7 10 C 7 11.6569 5.65685 13 4 13 C 2.34315 13 1 11.6569 1 10 C 1 8.3431 2.34315 7 4 7 z " /> | |||
</svg> |
@ -0,0 +1,3 @@ | |||
<svg width="24" height="24" viewBox="0 0 24 24" fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"> | |||
<path d="M20.4962 5.62668C21.3721 5.93448 22 6.76891 22 7.75V17.75C22 20.0972 20.0972 22 17.75 22H7.75C6.76891 22 5.93448 21.3721 5.62668 20.4962L7.72396 20.4996L17.75 20.5C19.2688 20.5 20.5 19.2688 20.5 17.75V7.75L20.496 7.69902L20.4962 5.62668ZM17.2468 2C18.4895 2 19.4968 3.00736 19.4968 4.25V17.2468C19.4968 18.4895 18.4895 19.4968 17.2468 19.4968H4.25C3.00736 19.4968 2 18.4895 2 17.2468V4.25C2 3.00736 3.00736 2 4.25 2H17.2468ZM17.2468 3.5H4.25C3.83579 3.5 3.5 3.83579 3.5 4.25V17.2468C3.5 17.661 3.83579 17.9968 4.25 17.9968H17.2468C17.661 17.9968 17.9968 17.661 17.9968 17.2468V4.25C17.9968 3.83579 17.661 3.5 17.2468 3.5ZM9.58115 11.3582L13.4697 7.46967C13.7626 7.17678 14.2374 7.17678 14.5303 7.46967C14.7966 7.73594 14.8208 8.1526 14.6029 8.44621L14.5303 8.53033L10.0303 13.0303C9.73449 13.3262 9.26134 13.3189 8.9736 13.0344L8.9 12.95L7.4 10.95C7.15147 10.6186 7.21863 10.1485 7.55 9.9C7.85125 9.67407 8.26715 9.70903 8.527 9.96622L8.6 10.05L9.58115 11.3582L13.4697 7.46967L9.58115 11.3582Z"/> | |||
</svg> |
@ -0,0 +1,7 @@ | |||
<!-- This Source Code Form is subject to the terms of the Mozilla Public | |||
- License, v. 2.0. If a copy of the MPL was not distributed with this | |||
- file, You can obtain one at http://mozilla.org/MPL/2.0/. --> | |||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"> | |||
<path fill="context-fill" fill-opacity="context-fill-opacity" d="M12 0H4a2 2 0 0 0-2 2v2a1 1 0 0 0 1 1 1 1 0 0 0 1-1V2.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v10a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5V11a1 1 0 0 0-1-1 1 1 0 0 0-1 1v3a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM9 15H7v-1h2z"/> | |||
<path fill="context-fill" fill-opacity="context-fill-opacity" d="M5.146 10.146a.5.5 0 1 0 .707.707l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.707.707L7.293 7H.5a.5.5 0 0 0 0 1h6.793z"/> | |||
</svg> |
@ -0,0 +1,44 @@ | |||
<?xml version="1.0" encoding="iso-8859-1"?> | |||
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> | |||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> | |||
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" | |||
width="16" height="16" viewBox="0 0 495.003 495.003" style="enable-background:new 0 0 495.003 495.003;" xml:space="preserve"> | |||
<g id="XMLID_51_"> | |||
<path id="XMLID_53_" fill="context-fill" fill-opacity="context-fill-opacity" d="M164.711,456.687c0,2.966,1.647,5.686,4.266,7.072c2.617,1.385,5.799,1.207,8.245-0.468l55.09-37.616 | |||
l-67.6-32.22V456.687z"/> | |||
<path id="XMLID_52_" fill="context-fill" fill-opacity="context-fill-opacity" d="M492.431,32.443c-1.513-1.395-3.466-2.125-5.44-2.125c-1.19,0-2.377,0.264-3.5,0.816L7.905,264.422 | |||
c-4.861,2.389-7.937,7.353-7.904,12.783c0.033,5.423,3.161,10.353,8.057,12.689l125.342,59.724l250.62-205.99L164.455,364.414 | |||
l156.145,74.4c1.918,0.919,4.012,1.376,6.084,1.376c1.768,0,3.519-0.322,5.186-0.977c3.637-1.438,6.527-4.318,7.97-7.956 | |||
L494.436,41.257C495.66,38.188,494.862,34.679,492.431,32.443z"/> | |||
</g> | |||
<g> | |||
</g> | |||
<g> | |||
</g> | |||
<g> | |||
</g> | |||
<g> | |||
</g> | |||
<g> | |||
</g> | |||
<g> | |||
</g> | |||
<g> | |||
</g> | |||
<g> | |||
</g> | |||
<g> | |||
</g> | |||
<g> | |||
</g> | |||
<g> | |||
</g> | |||
<g> | |||
</g> | |||
<g> | |||
</g> | |||
<g> | |||
</g> | |||
<g> | |||
</g> | |||
</svg> |