Compare commits

..

3 commits
main ... porky

Author SHA1 Message Date
Daniel Lundin
b670d6007d wip: add dln-dim nvim theme 2020-01-12 19:28:28 +01:00
Daniel Lundin
88e0e4a28a resolution changes 2019-12-06 10:08:50 +01:00
Daniel Lundin
23d3b9c71f work 2019-12-02 11:30:17 +01:00
159 changed files with 7584 additions and 5101 deletions

25
.Xmodmap Normal file
View file

@ -0,0 +1,25 @@
keysym semicolon = semicolon colon odiaeresis Odiaeresis
keysym apostrophe = apostrophe quotedbl adiaeresis Adiaeresis
keysym bracketleft = bracketleft braceleft aring Aring
remove Lock = Caps_Lock
!remove Control = Control_L
!keysym Control_L = Caps_Lock
keysym Caps_Lock = Control_L
!add Lock = Caps_Lock
add Control = Control_L
remove Control = Control_R
clear mod5
clear mod1
add mod1 = Alt_L
add mod4 = Control_R
add mod3 = Alt_R
keysym Alt_R = Mode_switch
! Pgup/Down on dell
keycode 112 = Left
keycode 117 = Right

20
.Xresources Normal file
View file

@ -0,0 +1,20 @@
!Xft.dpi: 210
!Xft.dpi: 144
Xft.dpi: 96
Xft.antialias: 1
Xft.rgba: rgb
Xft.hinting: 1
Xft.autohint: 0
Xft.hintstyle: hintslight
Xft.lcdfilter: lcddefault
Xcursor.theme: Bibata_Oil
Xcursor.size: 48
XTerm*metaSendsEscape: true
XTerm.VT100.translations: #override \
Meta <Key> minus: smaller-vt-font() \n\
Meta <Key> plus: larger-vt-font() \n\
Super <Key> minus: smaller-vt-font() \n\
Super <Key> plus: larger-vt-font() \n\

15
.agignore Normal file
View file

@ -0,0 +1,15 @@
*~
*.a
*.class
*.iml
*.ipr
*.iwr
*.iws
*.la
*.min.css
*.min.js
*.o
*.out
*.pyc
*.so
*.swp

24
.bash_aliases Normal file
View file

@ -0,0 +1,24 @@
alias ag='ag --pager less'
alias cdiff='colordiff -u'
alias dotgit='git --work-tree $HOME --git-dir $HOME/.dot_git'
alias hs='history -a; history -n'
alias l='less -nS'
alias lower="tr '[:upper:]' '[:lower:]'"
alias pstree="pstree -Auh | less"
alias tail='tail -n $LINES'
alias timestamp='TZ=Z date "+%Y%m%dT%H%M%SZ"'
alias tree='tree -C'
alias upper="tr '[:lower:]' '[:upper:]'"
alias vimdiff='vimdiff -R'
alias vim=nvim
alias v='nvim $(fzf-tmux)'
ls --group-directories-first >/dev/null 2>&1
if [ $? -gt 0 ] ; then
alias ls='ls --color=auto'
else
alias ls='ls --color=auto --group-directories-first'
fi
alias lsc='ls -C'
# vim: ft=sh

24
.bash_completion Normal file
View file

@ -0,0 +1,24 @@
function _src {
[ -f $1 ] && source $1
}
# Bash
_src /etc/bash_completion
# Bazel
_src /usr/local/lib/bazel/bin/bazel-complete.bash
# Rust
_src /usr/local/etc/bash_completion.d/cargo
# fzf
_src /usr/share/fzf/completion.bash
_src /usr/share/fzf/key-bindings.bash
# Kubernetes
source <(kubectl completion bash)
source <(kops completion bash)
# kops
[ -f $HOME/bin/kops ] && source <($HOME/bin/kops completion bash)

85
.bash_exports Normal file
View file

@ -0,0 +1,85 @@
#!/bin/bash
mylib=$HOME/lib
export REALNAME="Daniel Lundin"
export EMAIL="dln@eintr.org"
export SSH_AUTH_SOCK=$HOME/.ssh/ssh_auth_sock
## Shell stuff
export PATH=$HOME/bin:$PATH:/bin:/sbin:/usr/sbin:/usr/local/sbin
export LANG=en_US.UTF-8
export HISTCONTROL=ignoreboth
export HISTSIZE=3000
export WORDCHARS='*?_[]~=&;!#$%^(){}'
export EDITOR=nvim
export VISUAL=nvim
# ssh
export SSH_AUTH_SOCK=$HOME/.ssh/ssh_auth_sock
## fzf
export FZF_DEFAULT_COMMAND='ag --hidden --ignore .git -l -g ""'
## Parquet
export PATH=$mylib/parquet-tools:$PATH
## Packer
export PATH=$mylib/packer:$PATH
## Terraform
export PATH=$mylib/terraform:$PATH
## Pager
export LESS='-BNJFXRgiM -h512 -x2'
export PAGER='less -nL'
export ACK_PAGER='less -nLR'
## fzf
export FZF_TMUX=1
export FZF_COMPLETION_TRIGGER="."
## Git
export GIT_AUTHOR_NAME=$REALNAME
export GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME
export GIT_PAGER='/usr/share/git/diff-highlight/diff-highlight | less -+F -x8 -nBJXRgiM -h512'
## Java
export IDEA_VM_OPTIONS="$HOME/Dropbox/dotfiles/idea.vmoptions"
export IDEA_JDK=$HOME/lib/jdk-8u5-tuxjdk-b08
## CMake
export CTEST_OUTPUT_ON_FAILURE=1
## GTest
export GTEST_COLOR=1
## GCC
export CGCC_FORCE_COLOR=1
## Go
export GOPATH=$HOME
## Rust
export PATH=$HOME/.vim/bundle/racer/target/release:$PATH
export RUST_SRC_PATH=$HOME/src/github.com/rust-lang/rust/src
## grep
export GREP_COLOR='38;5;232;48;5;214;1'
export TERM=st-256color
if [ "$TERM" != "dumb" ]; then
if [ -x /usr/bin/pygmentize ]; then
export LESSOPEN="|/usr/bin/pygmentize -f terminal256 -O style=tango %s"
elif [ -x /usr/local/bin/lesspipe.sh ]; then
export LESSOPEN="|/usr/local/bin/lesspipe.sh %s"
elif [ -x /usr/bin/lesspipe.sh ]; then
export LESSOPEN="|/usr/local/bin/lesspipe.sh %s"
fi
fi
# local exports
[ -f $HOME/.bash_exports_local ] && source <($HOME/.bash_exports_local)

73
.bash_prompt Normal file
View file

@ -0,0 +1,73 @@
#!/bin/sh
# Fancy prompt
export GIT_PS1_SHOWDIRTYSTATE=1
unset GIT_PS1_SHOWUPSTREAM
export GIT_PS1_SHOWSTASHSTATE=1
if [ -f "$HOME/.bash_completion" ] ; then
source ~/.bash_completion
fi
if [ -f "/usr/share/git/completion/git-completion.bash" ] ; then
source /usr/share/git/completion/git-completion.bash
elif [ -f "/etc/bash_completion.d/git" ] ; then
source /etc/bash_completion.d/git
fi
if [ -f "/usr/share/git/git-prompt.sh" ] ; then
source /usr/share/git/git-prompt.sh
elif [ -f "/usr/share/git/completion/git-prompt.sh" ] ; then
source /usr/share/git/completion/git-prompt.sh
elif [ -f "/etc/bash_completion.d/git-prompt" ] ; then
source /etc/bash_completion.d/git-prompt
fi
function short_pwd {
echo $PWD | sed "s:${HOME}:~:" | sed "s:/\(.\)[^/]*:/\1:g" | sed "s:/[^/]*$:/$(basename $PWD):"
}
function prompt_command {
banner="$HOSTNAME"
let prompt_x=$(tput cols)-$(expr length ${banner})-3
tput sc
tput cup 0 ${prompt_x}
if [ "$USER" = "root" ]; then
echo -ne " \e[38;5;228;48;5;160m ${banner} \e[0m"
else
echo -ne " \e[38;5;195;48;5;33m ${banner} \e[0m"
fi
tput rc
#tmux rename-window `basename $PWD`
tmux rename-window $(short_pwd) 2>/dev/null
eval $(tmux switch-client \; show-environment -s 2>/dev/null)
}
export PROMPT_COMMAND=prompt_command
#PS1_EXTRA=";38;5;22"
PS1_EXTRA=""
PS1_TITLE="\[\e]2;\w\a\e[0m\]"
if [ "$SSH_TTY" ]; then
HOST_NAME=$(hostname -f | sed 's/.tvoli.com//')
PS1_PREFIX="\u@${HOST_NAME}: "
PS1_TITLE="\[\e]2;\u@\h : \w\a\e[0m\]"
fi
# Root has red inverse prompt
PS1_ROOT="\[\e[38;5;228;48;5;196m\] ### ROOT ### "
case "$TERM" in
putty|putty*|xterm|xterm*|screen|screen.xterm|screen-bce|rxvt|rxvt-unicode|st|st-*)
PS1="\[\e[1${PS1_EXTRA}m\]\$(__git_ps1 2>/dev/null)\$([ "\$USER" = "root" ] && echo -e \"$PS1_ROOT\") ${PS1_PREFIX}\W\\$\[\e[0m\]${PS1_TITLE} "
;;
*)
PS1="${PS1_PREFIX}\w\\$ "
;;
esac
export PS1
#export PROMPT_COMMAND='echo -ne "\033]0;${PWD}\007"'
# Automatically update DISPLAY, ssh agent
tmux_env() { $(tmux show-env 2>/dev/null | grep '^SSH_AUTH_SOCK\|DISPLAY' | xargs echo export); }

116
.bashrc Normal file
View file

@ -0,0 +1,116 @@
export DOTFILES="$(cd "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" && pwd)"
export PATH=$DOTFILES/bin:$PATH
# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(lesspipe)"
export LESSCLOSE=''
export LESSOPEN="|/usr/local/bin/lesspipe.sh %s"
#export LESSOPEN="|less-pygmentize %s"
export LESS_TERMCAP_mb=$'\E[01;34PS1_PREFIX="\u@\h:"m'
export LESS_TERMCAP_md=$'\E[01;34m'
export LESS_TERMCAP_me=$'\E[0m'
export LESS_TERMCAP_se=$'\E[0m'
export LESS_TERMCAP_so=$'\E[01;44;33m'
export LESS_TERMCAP_ue=$'\E[0m'
export LESS_TERMCAP_us=$'\E[01;32m'
# git
export GIT_PS1_SHOWDIRTYSTATE=1
if [ -f "$HOME/.bash_completion_git" ] ; then
source ~/.bash_completion_git
fi
unset bash bminor bmajor
# Bash settings
export IGNOREEOF=1
# bind '"\t":menu-complete' # cycle completion
# set -o ignoreeof # don't exit on C-d
shopt -s cdspell # spellcheck cd
shopt -s histappend # Save history
PROMPT_COMMAND='history -a ; ${PROMPT_COMMAND}'
# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize
# acd_func 1.0.5, 10-nov-2004
# petar marinov, http:/geocities.com/h2428, this is public domain
cd_func ()
{
local x2 the_new_dir adir index
local -i cnt
if [[ $1 == "--" ]]; then
dirs -v
return 0
fi
the_new_dir=$1
[[ -z $1 ]] && the_new_dir=$HOME
if [[ ${the_new_dir:0:1} == '-' ]]; then
# Extract dir N from dirs
index=${the_new_dir:1}
[[ -z $index ]] && index=1
adir=$(dirs +$index)
[[ -z $adir ]] && return 1
the_new_dir=$adir
fi
# '~' has to be substituted by ${HOME}
[[ ${the_new_dir:0:1} == '~' ]] && the_new_dir="${HOME}${the_new_dir:1}"
# Now change to the new dir and add to the top of the stack
pushd "${the_new_dir}" > /dev/null
[[ $? -ne 0 ]] && return 1
the_new_dir=$(pwd)
# Trim down everything beyond 11th entry
popd -n +11 2>/dev/null 1>/dev/null
# Remove any other occurence of this dir, skipping the top of the stack
for ((cnt=1; cnt <= 10; cnt++)); do
x2=$(dirs +${cnt} 2>/dev/null)
[[ $? -ne 0 ]] && return 0
[[ ${x2:0:1} == '~' ]] && x2="${HOME}${x2:1}"
if [[ "${x2}" == "${the_new_dir}" ]]; then
popd -n +$cnt 2>/dev/null 1>/dev/null
cnt=cnt-1
fi
done
return 0
}
alias cd=cd_func
umask 2
stty speed 115200 >> /dev/null 2>&1
# Terminal setup
tput smkx
# OpenPGP applet support for YubiKey NEO
#if [ ! -f /tmp/gpg-agent.env ]; then
# killall gpg-agent;
# eval $(gpg-agent --daemon --enable-ssh-support > /tmp/gpg-agent.env);
#fi
#. /tmp/gpg-agent.env
# Check for interactive shell.
if [ -n "$PS1" ]; then
source $HOME/.bash_completion
fi
source $HOME/.bash_aliases
source $HOME/.bash_exports
source $HOME/.bash_prompt
[ -f ~/.fzf.bash ] && source ~/.fzf.bash

5
.clusterssh/config Normal file
View file

@ -0,0 +1,5 @@
auto_close=2
ssh_args=-o StrictHostKeyChecking=no -o ForwardAgent=yes
terminal=xterm
terminal_args=-fa "xft:Pragmata Pro Mono:size=7"
terminal_bg_style=dark

View file

@ -0,0 +1,470 @@
# Configuration for Alacritty, the GPU enhanced terminal emulator.
# Any items in the `env` entry below will be added as
# environment variables. Some entries may override variables
# set by alacritty itself.
#env:
# TERM variable
#
# This value is used to set the `$TERM` environment variable for
# each instance of Alacritty. If it is not present, alacritty will
# check the local terminfo database and use 'alacritty' if it is
# available, otherwise 'xterm-256color' is used.
#TERM: xterm-256color
window:
# Window dimensions (changes require restart)
#
# Specified in number of columns/lines, not pixels.
# If both are `0`, this setting is ignored.
dimensions:
columns: 119
lines: 41
# Window padding (changes require restart)
#
# Blank space added around the window in pixels. This padding is scaled
# by DPI and the specified value is always added at both opposing sides.
padding:
x: 0
y: 0
# Spread additional padding evenly around the terminal content.
dynamic_padding: true
# Window decorations
#
# Values for `decorations`:
# - full: Borders and title bar
# - none: Neither borders nor title bar
decorations: full
scrolling:
# Maximum number of lines in the scrollback buffer.
# Specifying '0' will disable scrolling.
history: 10000
# Number of lines the viewport will move for every line scrolled when
# scrollback is enabled (history > 0).
multiplier: 3
# Scroll to the bottom when new text is written to the terminal.
auto_scroll: false
# Spaces per Tab (changes require restart)
#
# This setting defines the width of a tab in cells.
#
# Some applications, like Emacs, rely on knowing about the width of a tab.
# To prevent unexpected behavior in these applications, it's also required to
# change the `it` value in terminfo when altering this setting.
tabspaces: 8
# Font configuration (changes require restart)
#
# Important font attributes like antialiasing, subpixel aa, and hinting can be
# controlled through fontconfig. Specifically, the following attributes should
# have an effect:
# - hintstyle
# - antialias
# - lcdfilter
# - rgba
#
# For instance, if you wish to disable subpixel antialiasing, you might set the
# rgba property to `none`. If you wish to completely disable antialiasing, you
# can set antialias to `false`.
#
# Please see these resources for more information on how to use fontconfig:
# - https://wiki.archlinux.org/index.php/font_configuration#Fontconfig_configuration
# - file:///usr/share/doc/fontconfig/fontconfig-user.html
font:
# Normal (roman) font face
normal:
family: IBM Plex Mono
style: Regular
# Bold font face
bold:
family: IBM Plex Mono
style: SemiBold
# Italic font face
italic:
family: IBM Plex Mono
style: Italic
# Point size
size: 10
# Offset is the extra space around each character. `offset.y` can be thought of
# as modifying the line spacing, and `offset.x` as modifying the letter spacing.
offset:
x: 0
y: 2
# Glyph offset determines the locations of the glyphs within their cells with
# the default being at the bottom. Increasing `x` moves the glyph to the right,
# increasing `y` moves the glyph upwards.
glyph_offset:
x: 0
y: 0
# If `true`, bold text is drawn using the bright color variants.
draw_bold_text_with_bright_colors: true
# Colors (Tomorrow Night Bright)
colors:
# Default colors
primary:
background: '0x000000'
foreground: '0xeaeaea'
# Bright and dim foreground colors
#
# The dimmed foreground color is calculated automatically if it is not present.
# If the bright foreground color is not set, or `draw_bold_text_with_bright_colors`
# is `false`, the normal foreground color will be used.
#dim_foreground: '0x9a9a9a'
#bright_foreground: '0xffffff'
# Cursor colors
#
# Colors which should be used to draw the terminal cursor. If these are unset,
# the cursor color will be the inverse of the cell color.
#cursor:
# text: '0x000000'
# cursor: '0xffffff'
# Normal colors
normal:
black: '0x000000'
red: '0xd54e53'
green: '0xb9ca4a'
yellow: '0xe6c547'
blue: '0x7aa6da'
magenta: '0xc397d8'
cyan: '0x70c0ba'
white: '0xffffff'
# Bright colors
bright:
black: '0x666666'
red: '0xff3334'
green: '0x9ec400'
yellow: '0xe7c547'
blue: '0x7aa6da'
magenta: '0xb77ee0'
cyan: '0x54ced6'
white: '0xffffff'
# Dim colors
#
# If the dim colors are not set, they will be calculated automatically based
# on the `normal` colors.
dim:
black: '0x333333'
red: '0xf2777a'
green: '0x99cc99'
yellow: '0xffcc66'
blue: '0x6699cc'
magenta: '0xcc99cc'
cyan: '0x66cccc'
white: '0xdddddd'
# Visual Bell
#
# Any time the BEL code is received, Alacritty "rings" the visual bell. Once
# rung, the terminal background will be set to white and transition back to the
# default background color. You can control the rate of this transition by
# setting the `duration` property (represented in milliseconds). You can also
# configure the transition function by setting the `animation` property.
#
# Values for `animation`:
# - Ease
# - EaseOut
# - EaseOutSine
# - EaseOutQuad
# - EaseOutCubic
# - EaseOutQuart
# - EaseOutQuint
# - EaseOutExpo
# - EaseOutCirc
# - Linear
#
# Specifying a `duration` of `0` will disable the visual bell.
visual_bell:
animation: EaseOutExpo
duration: 0
# Background opacity
#
# Window opacity as a floating point number from `0.0` to `1.0`.
# The value `0.0` is completely transparent and `1.0` is opaque.
background_opacity: 1.0
# Mouse bindings
#
# Available fields:
# - mouse
# - action
# - mods (optional)
#
# Values for `mouse`:
# - Middle
# - Left
# - Right
# - Numeric identifier such as `5`
#
# All available `mods` and `action` values are documented in the key binding
# section.
mouse_bindings:
- { mouse: Middle, action: PasteSelection }
mouse:
# Click settings
#
# The `double_click` and `triple_click` settings control the time
# alacritty should wait for accepting multiple clicks as one double
# or triple click.
double_click: { threshold: 300 }
triple_click: { threshold: 300 }
# If this is `true`, the cursor is temporarily hidden when typing.
hide_when_typing: true
url:
# URL launcher
#
# This program is executed when clicking on a text which is recognized as a URL.
# The URL is always added to the command as the last parameter.
launcher: xdg-open
# URL modifiers
#
# These are the modifiers that need to be held down for opening URLs when clicking
# on them. The available modifiers are documented in the key binding section.
#modifiers: Control|Shift
selection:
semantic_escape_chars: ",│`|:\"' ()[]{}<>"
# When set to `true`, selected text will be copied to both the primary and
# the selection clipboard. Otherwise, it will only be copied to the selection
# clipboard.
save_to_clipboard: false
dynamic_title: true
cursor:
# Cursor style
#
# Values for 'style':
# - ▇ Block
# - _ Underline
# - | Beam
style: Block
# If this is `true`, the cursor will be rendered as a hollow box when the
# window is not focused.
unfocused_hollow: true
# Live config reload (changes require restart)
live_config_reload: true
# Shell
#
# You can set `shell.program` to the path of your favorite shell, e.g. `/bin/fish`.
# Entries in `shell.args` are passed unmodified as arguments to the shell.
#shell:
# program: /bin/bash
# args:
# - --login
# Key bindings
#
# Key bindings are specified as a list of objects. Each binding will specify
# a key and modifiers required to trigger it, terminal modes where the binding
# is applicable, and what should be done when the key binding fires. It can
# either send a byte sequnce to the running application (`chars`), execute
# a predefined action (`action`) or fork and execute a specified command plus
# arguments (`command`).
#
# Example:
# `- { key: V, mods: Command, action: Paste }`
#
# Available fields:
# - key
# - mods (optional)
# - chars | action | command (exactly one required)
# - mode (optional)
#
# Values for `key`:
# - `A` -> `Z`
# - `F1` -> `F12`
# - `Key1` -> `Key0`
#
# A full list with available key codes can be found here:
# https://docs.rs/glutin/*/glutin/enum.VirtualKeyCode.html#variants
#
# Instead of using the name of the keys, the `key` field also supports using
# the scancode of the desired key. Scancodes have to be specified as a
# decimal number.
# This command will allow you to display the hex scancodes for certain keys:
# `showkey --scancodes`
#
# Values for `mods`:
# - Command
# - Control
# - Shift
# - Alt
#
# Multiple `mods` can be combined using `|` like this: `mods: Control|Shift`.
# Whitespace and capitalization is relevant and must match the example.
#
# Values for `chars`:
# The `chars` field writes the specified string to the terminal. This makes
# it possible to pass escape sequences.
# To find escape codes for bindings like `PageUp` ("\x1b[5~"), you can run
# the command `showkey -a` outside of tmux.
# Note that applications use terminfo to map escape sequences back to
# keys. It is therefore required to update the terminfo when
# changing an escape sequence.
#
# Values for `action`:
# - Paste
# - PasteSelection
# - Copy
# - IncreaseFontSize
# - DecreaseFontSize
# - ResetFontSize
# - ScrollPageUp
# - ScrollPageDown
# - ScrollToTop
# - ScrollToBottom
# - ClearHistory
# - Hide
# - Quit
# - ClearLogNotice
#
# Values for `command`:
# The `command` field must be a map containing a `program` string and
# an `args` array of command line parameter strings.
#
# Example:
# `command: { program: "alacritty", args: ["-e", "vttest"] }`
#
# Values for `mode`:
# - ~AppCursor
# - AppCursor
# - ~AppKeypad
# - AppKeypad
key_bindings:
- { key: V, mods: Alt|Shift, action: Paste }
- { key: C, mods: Alt|Shift, action: Copy }
- { key: V, mods: Control|Shift, action: Paste }
- { key: C, mods: Control|Shift, action: Copy }
- { key: Paste, action: Paste }
- { key: Copy, action: Copy }
- { key: Q, mods: Command, action: Quit }
- { key: W, mods: Command, action: Quit }
- { key: Insert, mods: Shift, action: PasteSelection }
- { key: Key0, mods: Control, action: ResetFontSize }
- { key: Equals, mods: Control, action: IncreaseFontSize }
- { key: Subtract, mods: Control, action: DecreaseFontSize }
- { key: L, mods: Control, action: ClearLogNotice }
- { key: L, mods: Control, chars: "\x0c" }
- { key: Home, chars: "\x1bOH", mode: AppCursor }
- { key: Home, chars: "\x1b[H", mode: ~AppCursor }
- { key: End, chars: "\x1bOF", mode: AppCursor }
- { key: End, chars: "\x1b[F", mode: ~AppCursor }
- { key: PageUp, mods: Shift, chars: "\x1b[5;2~" }
- { key: PageUp, mods: Control, chars: "\x1b[5;5~" }
- { key: PageUp, chars: "\x1b[5~" }
- { key: PageDown, mods: Shift, chars: "\x1b[6;2~" }
- { key: PageDown, mods: Control, chars: "\x1b[6;5~" }
- { key: PageDown, chars: "\x1b[6~" }
- { key: Tab, mods: Shift, chars: "\x1b[Z" }
- { key: Back, chars: "\x7f" }
- { key: Back, mods: Alt, chars: "\x1b\x7f" }
- { key: Insert, chars: "\x1b[2~" }
- { key: Delete, chars: "\x1b[3~" }
- { key: Left, mods: Shift, chars: "\x1b[1;2D" }
- { key: Left, mods: Control, chars: "\x1b[1;5D" }
- { key: Left, mods: Alt, chars: "\x1b[1;3D" }
- { key: Left, chars: "\x1b[D", mode: ~AppCursor }
- { key: Left, chars: "\x1bOD", mode: AppCursor }
- { key: Right, mods: Shift, chars: "\x1b[1;2C" }
- { key: Right, mods: Control, chars: "\x1b[1;5C" }
- { key: Right, mods: Alt, chars: "\x1b[1;3C" }
- { key: Right, chars: "\x1b[C", mode: ~AppCursor }
- { key: Right, chars: "\x1bOC", mode: AppCursor }
- { key: Up, mods: Shift, chars: "\x1b[1;2A" }
- { key: Up, mods: Control, chars: "\x1b[1;5A" }
- { key: Up, mods: Alt, chars: "\x1b[1;3A" }
- { key: Up, chars: "\x1b[A", mode: ~AppCursor }
- { key: Up, chars: "\x1bOA", mode: AppCursor }
- { key: Down, mods: Shift, chars: "\x1b[1;2B" }
- { key: Down, mods: Control, chars: "\x1b[1;5B" }
- { key: Down, mods: Alt, chars: "\x1b[1;3B" }
- { key: Down, chars: "\x1b[B", mode: ~AppCursor }
- { key: Down, chars: "\x1bOB", mode: AppCursor }
- { key: F1, chars: "\x1bOP" }
- { key: F2, chars: "\x1bOQ" }
- { key: F3, chars: "\x1bOR" }
- { key: F4, chars: "\x1bOS" }
- { key: F5, chars: "\x1b[15~" }
- { key: F6, chars: "\x1b[17~" }
- { key: F7, chars: "\x1b[18~" }
- { key: F8, chars: "\x1b[19~" }
- { key: F9, chars: "\x1b[20~" }
- { key: F10, chars: "\x1b[21~" }
- { key: F11, chars: "\x1b[23~" }
- { key: F12, chars: "\x1b[24~" }
- { key: F1, mods: Shift, chars: "\x1b[1;2P" }
- { key: F2, mods: Shift, chars: "\x1b[1;2Q" }
- { key: F3, mods: Shift, chars: "\x1b[1;2R" }
- { key: F4, mods: Shift, chars: "\x1b[1;2S" }
- { key: F5, mods: Shift, chars: "\x1b[15;2~" }
- { key: F6, mods: Shift, chars: "\x1b[17;2~" }
- { key: F7, mods: Shift, chars: "\x1b[18;2~" }
- { key: F8, mods: Shift, chars: "\x1b[19;2~" }
- { key: F9, mods: Shift, chars: "\x1b[20;2~" }
- { key: F10, mods: Shift, chars: "\x1b[21;2~" }
- { key: F11, mods: Shift, chars: "\x1b[23;2~" }
- { key: F12, mods: Shift, chars: "\x1b[24;2~" }
- { key: F1, mods: Control, chars: "\x1b[1;5P" }
- { key: F2, mods: Control, chars: "\x1b[1;5Q" }
- { key: F3, mods: Control, chars: "\x1b[1;5R" }
- { key: F4, mods: Control, chars: "\x1b[1;5S" }
- { key: F5, mods: Control, chars: "\x1b[15;5~" }
- { key: F6, mods: Control, chars: "\x1b[17;5~" }
- { key: F7, mods: Control, chars: "\x1b[18;5~" }
- { key: F8, mods: Control, chars: "\x1b[19;5~" }
- { key: F9, mods: Control, chars: "\x1b[20;5~" }
- { key: F10, mods: Control, chars: "\x1b[21;5~" }
- { key: F11, mods: Control, chars: "\x1b[23;5~" }
- { key: F12, mods: Control, chars: "\x1b[24;5~" }
- { key: F1, mods: Alt, chars: "\x1b[1;6P" }
- { key: F2, mods: Alt, chars: "\x1b[1;6Q" }
- { key: F3, mods: Alt, chars: "\x1b[1;6R" }
- { key: F4, mods: Alt, chars: "\x1b[1;6S" }
- { key: F5, mods: Alt, chars: "\x1b[15;6~" }
- { key: F6, mods: Alt, chars: "\x1b[17;6~" }
- { key: F7, mods: Alt, chars: "\x1b[18;6~" }
- { key: F8, mods: Alt, chars: "\x1b[19;6~" }
- { key: F9, mods: Alt, chars: "\x1b[20;6~" }
- { key: F10, mods: Alt, chars: "\x1b[21;6~" }
- { key: F11, mods: Alt, chars: "\x1b[23;6~" }
- { key: F12, mods: Alt, chars: "\x1b[24;6~" }
- { key: F1, mods: Super, chars: "\x1b[1;3P" }
- { key: F2, mods: Super, chars: "\x1b[1;3Q" }
- { key: F3, mods: Super, chars: "\x1b[1;3R" }
- { key: F4, mods: Super, chars: "\x1b[1;3S" }
- { key: F5, mods: Super, chars: "\x1b[15;3~" }
- { key: F6, mods: Super, chars: "\x1b[17;3~" }
- { key: F7, mods: Super, chars: "\x1b[18;3~" }
- { key: F8, mods: Super, chars: "\x1b[19;3~" }
- { key: F9, mods: Super, chars: "\x1b[20;3~" }
- { key: F10, mods: Super, chars: "\x1b[21;3~" }
- { key: F11, mods: Super, chars: "\x1b[23;3~" }
- { key: F12, mods: Super, chars: "\x1b[24;3~" }

View file

@ -0,0 +1,477 @@
# Configuration for Alacritty, the GPU enhanced terminal emulator.
# Any items in the `env` entry below will be added as
# environment variables. Some entries may override variables
# set by alacritty itself.
#env:
# TERM variable
#
# This value is used to set the `$TERM` environment variable for
# each instance of Alacritty. If it is not present, alacritty will
# check the local terminfo database and use 'alacritty' if it is
# available, otherwise 'xterm-256color' is used.
#TERM: xterm-256color
window:
# Window dimensions (changes require restart)
#
# Specified in number of columns/lines, not pixels.
# If both are `0`, this setting is ignored.
dimensions:
columns: 119
lines: 41
# Window padding (changes require restart)
#
# Blank space added around the window in pixels. This padding is scaled
# by DPI and the specified value is always added at both opposing sides.
padding:
x: 0
y: 0
# Spread additional padding evenly around the terminal content.
dynamic_padding: true
# Window decorations
#
# Values for `decorations`:
# - full: Borders and title bar
# - none: Neither borders nor title bar
decorations: full
scrolling:
# Maximum number of lines in the scrollback buffer.
# Specifying '0' will disable scrolling.
history: 10000
# Number of lines the viewport will move for every line scrolled when
# scrollback is enabled (history > 0).
multiplier: 3
# Scroll to the bottom when new text is written to the terminal.
auto_scroll: false
# Spaces per Tab (changes require restart)
#
# This setting defines the width of a tab in cells.
#
# Some applications, like Emacs, rely on knowing about the width of a tab.
# To prevent unexpected behavior in these applications, it's also required to
# change the `it` value in terminfo when altering this setting.
tabspaces: 8
# Font configuration (changes require restart)
#
# Important font attributes like antialiasing, subpixel aa, and hinting can be
# controlled through fontconfig. Specifically, the following attributes should
# have an effect:
# - hintstyle
# - antialias
# - lcdfilter
# - rgba
#
# For instance, if you wish to disable subpixel antialiasing, you might set the
# rgba property to `none`. If you wish to completely disable antialiasing, you
# can set antialias to `false`.
#
# Please see these resources for more information on how to use fontconfig:
# - https://wiki.archlinux.org/index.php/font_configuration#Fontconfig_configuration
# - file:///usr/share/doc/fontconfig/fontconfig-user.html
font:
# Normal (roman) font face
normal:
family: IBM Plex Mono
style: Regular
# Bold font face
bold:
family: IBM Plex Mono
style: SemiBold
# Italic font face
italic:
family: IBM Plex Mono
style: Italic
# Point size
size: 10
# Offset is the extra space around each character. `offset.y` can be thought of
# as modifying the line spacing, and `offset.x` as modifying the letter spacing.
offset:
x: 0
y: 2
# Glyph offset determines the locations of the glyphs within their cells with
# the default being at the bottom. Increasing `x` moves the glyph to the right,
# increasing `y` moves the glyph upwards.
glyph_offset:
x: 0
y: 0
# If `true`, bold text is drawn using the bright color variants.
draw_bold_text_with_bright_colors: true
# Colors (Tomorrow Night Bright)
colors:
# Default colors
primary:
background: '0xffffff'
foreground: '0x000000'
# Bright and dim foreground colors
#
# The dimmed foreground color is calculated automatically if it is not present.
# If the bright foreground color is not set, or `draw_bold_text_with_bright_colors`
# is `false`, the normal foreground color will be used.
#dim_foreground: '0x9a9a9a'
#bright_foreground: '0xffffff'
# Cursor colors
#
# Colors which should be used to draw the terminal cursor. If these are unset,
# the cursor color will be the inverse of the cell color.
#cursor:
# text: '0x000000'
# cursor: '0xffffff'
# Normal colors
normal:
black: '0x000000'
red: '0xd54e53'
green: '0xb9ca4a'
yellow: '0xe6c547'
blue: '0x7aa6da'
magenta: '0xc397d8'
cyan: '0x70c0ba'
white: '0xffffff'
# Bright colors
bright:
black: '0x666666'
red: '0xff3334'
green: '0x9ec400'
yellow: '0xe7c547'
blue: '0x7aa6da'
magenta: '0xb77ee0'
cyan: '0x54ced6'
white: '0xffffff'
# Dim colors
#
# If the dim colors are not set, they will be calculated automatically based
# on the `normal` colors.
dim:
black: '0x333333'
red: '0xf2777a'
green: '0x99cc99'
yellow: '0xffcc66'
blue: '0x6699cc'
magenta: '0xcc99cc'
cyan: '0x66cccc'
white: '0xdddddd'
# Indexed Colors
#
# The indexed colors include all colors from 16 to 256.
# When these are not set, they're filled with sensible defaults.
#indexed_colors:
# - { index: 16, color: '0x000000' }
# Visual Bell
#
# Any time the BEL code is received, Alacritty "rings" the visual bell. Once
# rung, the terminal background will be set to white and transition back to the
# default background color. You can control the rate of this transition by
# setting the `duration` property (represented in milliseconds). You can also
# configure the transition function by setting the `animation` property.
#
# Values for `animation`:
# - Ease
# - EaseOut
# - EaseOutSine
# - EaseOutQuad
# - EaseOutCubic
# - EaseOutQuart
# - EaseOutQuint
# - EaseOutExpo
# - EaseOutCirc
# - Linear
#
# Specifying a `duration` of `0` will disable the visual bell.
visual_bell:
animation: EaseOutExpo
duration: 0
# Background opacity
#
# Window opacity as a floating point number from `0.0` to `1.0`.
# The value `0.0` is completely transparent and `1.0` is opaque.
background_opacity: 1.0
# Mouse bindings
#
# Available fields:
# - mouse
# - action
# - mods (optional)
#
# Values for `mouse`:
# - Middle
# - Left
# - Right
# - Numeric identifier such as `5`
#
# All available `mods` and `action` values are documented in the key binding
# section.
mouse_bindings:
- { mouse: Middle, action: PasteSelection }
mouse:
# Click settings
#
# The `double_click` and `triple_click` settings control the time
# alacritty should wait for accepting multiple clicks as one double
# or triple click.
double_click: { threshold: 300 }
triple_click: { threshold: 300 }
# If this is `true`, the cursor is temporarily hidden when typing.
hide_when_typing: true
url:
# URL launcher
#
# This program is executed when clicking on a text which is recognized as a URL.
# The URL is always added to the command as the last parameter.
launcher: xdg-open
# URL modifiers
#
# These are the modifiers that need to be held down for opening URLs when clicking
# on them. The available modifiers are documented in the key binding section.
#modifiers: Control|Shift
selection:
semantic_escape_chars: ",│`|:\"' ()[]{}<>"
# When set to `true`, selected text will be copied to both the primary and
# the selection clipboard. Otherwise, it will only be copied to the selection
# clipboard.
save_to_clipboard: false
dynamic_title: true
cursor:
# Cursor style
#
# Values for 'style':
# - ▇ Block
# - _ Underline
# - | Beam
style: Block
# If this is `true`, the cursor will be rendered as a hollow box when the
# window is not focused.
unfocused_hollow: true
# Live config reload (changes require restart)
live_config_reload: true
# Shell
#
# You can set `shell.program` to the path of your favorite shell, e.g. `/bin/fish`.
# Entries in `shell.args` are passed unmodified as arguments to the shell.
#shell:
# program: /bin/bash
# args:
# - --login
# Key bindings
#
# Key bindings are specified as a list of objects. Each binding will specify
# a key and modifiers required to trigger it, terminal modes where the binding
# is applicable, and what should be done when the key binding fires. It can
# either send a byte sequnce to the running application (`chars`), execute
# a predefined action (`action`) or fork and execute a specified command plus
# arguments (`command`).
#
# Example:
# `- { key: V, mods: Command, action: Paste }`
#
# Available fields:
# - key
# - mods (optional)
# - chars | action | command (exactly one required)
# - mode (optional)
#
# Values for `key`:
# - `A` -> `Z`
# - `F1` -> `F12`
# - `Key1` -> `Key0`
#
# A full list with available key codes can be found here:
# https://docs.rs/glutin/*/glutin/enum.VirtualKeyCode.html#variants
#
# Instead of using the name of the keys, the `key` field also supports using
# the scancode of the desired key. Scancodes have to be specified as a
# decimal number.
# This command will allow you to display the hex scancodes for certain keys:
# `showkey --scancodes`
#
# Values for `mods`:
# - Command
# - Control
# - Shift
# - Alt
#
# Multiple `mods` can be combined using `|` like this: `mods: Control|Shift`.
# Whitespace and capitalization is relevant and must match the example.
#
# Values for `chars`:
# The `chars` field writes the specified string to the terminal. This makes
# it possible to pass escape sequences.
# To find escape codes for bindings like `PageUp` ("\x1b[5~"), you can run
# the command `showkey -a` outside of tmux.
# Note that applications use terminfo to map escape sequences back to
# keys. It is therefore required to update the terminfo when
# changing an escape sequence.
#
# Values for `action`:
# - Paste
# - PasteSelection
# - Copy
# - IncreaseFontSize
# - DecreaseFontSize
# - ResetFontSize
# - ScrollPageUp
# - ScrollPageDown
# - ScrollToTop
# - ScrollToBottom
# - ClearHistory
# - Hide
# - Quit
# - ClearLogNotice
#
# Values for `command`:
# The `command` field must be a map containing a `program` string and
# an `args` array of command line parameter strings.
#
# Example:
# `command: { program: "alacritty", args: ["-e", "vttest"] }`
#
# Values for `mode`:
# - ~AppCursor
# - AppCursor
# - ~AppKeypad
# - AppKeypad
key_bindings:
- { key: V, mods: Alt|Shift, action: Paste }
- { key: C, mods: Alt|Shift, action: Copy }
- { key: V, mods: Control|Shift, action: Paste }
- { key: C, mods: Control|Shift, action: Copy }
- { key: Paste, action: Paste }
- { key: Copy, action: Copy }
- { key: Q, mods: Command, action: Quit }
- { key: W, mods: Command, action: Quit }
- { key: Insert, mods: Shift, action: PasteSelection }
- { key: Key0, mods: Control, action: ResetFontSize }
- { key: Equals, mods: Control, action: IncreaseFontSize }
- { key: Subtract, mods: Control, action: DecreaseFontSize }
- { key: L, mods: Control, action: ClearLogNotice }
- { key: L, mods: Control, chars: "\x0c" }
- { key: Home, chars: "\x1bOH", mode: AppCursor }
- { key: Home, chars: "\x1b[H", mode: ~AppCursor }
- { key: End, chars: "\x1bOF", mode: AppCursor }
- { key: End, chars: "\x1b[F", mode: ~AppCursor }
- { key: PageUp, mods: Shift, chars: "\x1b[5;2~" }
- { key: PageUp, mods: Control, chars: "\x1b[5;5~" }
- { key: PageUp, chars: "\x1b[5~" }
- { key: PageDown, mods: Shift, chars: "\x1b[6;2~" }
- { key: PageDown, mods: Control, chars: "\x1b[6;5~" }
- { key: PageDown, chars: "\x1b[6~" }
- { key: Tab, mods: Shift, chars: "\x1b[Z" }
- { key: Back, chars: "\x7f" }
- { key: Back, mods: Alt, chars: "\x1b\x7f" }
- { key: Insert, chars: "\x1b[2~" }
- { key: Delete, chars: "\x1b[3~" }
- { key: Left, mods: Shift, chars: "\x1b[1;2D" }
- { key: Left, mods: Control, chars: "\x1b[1;5D" }
- { key: Left, mods: Alt, chars: "\x1b[1;3D" }
- { key: Left, chars: "\x1b[D", mode: ~AppCursor }
- { key: Left, chars: "\x1bOD", mode: AppCursor }
- { key: Right, mods: Shift, chars: "\x1b[1;2C" }
- { key: Right, mods: Control, chars: "\x1b[1;5C" }
- { key: Right, mods: Alt, chars: "\x1b[1;3C" }
- { key: Right, chars: "\x1b[C", mode: ~AppCursor }
- { key: Right, chars: "\x1bOC", mode: AppCursor }
- { key: Up, mods: Shift, chars: "\x1b[1;2A" }
- { key: Up, mods: Control, chars: "\x1b[1;5A" }
- { key: Up, mods: Alt, chars: "\x1b[1;3A" }
- { key: Up, chars: "\x1b[A", mode: ~AppCursor }
- { key: Up, chars: "\x1bOA", mode: AppCursor }
- { key: Down, mods: Shift, chars: "\x1b[1;2B" }
- { key: Down, mods: Control, chars: "\x1b[1;5B" }
- { key: Down, mods: Alt, chars: "\x1b[1;3B" }
- { key: Down, chars: "\x1b[B", mode: ~AppCursor }
- { key: Down, chars: "\x1bOB", mode: AppCursor }
- { key: F1, chars: "\x1bOP" }
- { key: F2, chars: "\x1bOQ" }
- { key: F3, chars: "\x1bOR" }
- { key: F4, chars: "\x1bOS" }
- { key: F5, chars: "\x1b[15~" }
- { key: F6, chars: "\x1b[17~" }
- { key: F7, chars: "\x1b[18~" }
- { key: F8, chars: "\x1b[19~" }
- { key: F9, chars: "\x1b[20~" }
- { key: F10, chars: "\x1b[21~" }
- { key: F11, chars: "\x1b[23~" }
- { key: F12, chars: "\x1b[24~" }
- { key: F1, mods: Shift, chars: "\x1b[1;2P" }
- { key: F2, mods: Shift, chars: "\x1b[1;2Q" }
- { key: F3, mods: Shift, chars: "\x1b[1;2R" }
- { key: F4, mods: Shift, chars: "\x1b[1;2S" }
- { key: F5, mods: Shift, chars: "\x1b[15;2~" }
- { key: F6, mods: Shift, chars: "\x1b[17;2~" }
- { key: F7, mods: Shift, chars: "\x1b[18;2~" }
- { key: F8, mods: Shift, chars: "\x1b[19;2~" }
- { key: F9, mods: Shift, chars: "\x1b[20;2~" }
- { key: F10, mods: Shift, chars: "\x1b[21;2~" }
- { key: F11, mods: Shift, chars: "\x1b[23;2~" }
- { key: F12, mods: Shift, chars: "\x1b[24;2~" }
- { key: F1, mods: Control, chars: "\x1b[1;5P" }
- { key: F2, mods: Control, chars: "\x1b[1;5Q" }
- { key: F3, mods: Control, chars: "\x1b[1;5R" }
- { key: F4, mods: Control, chars: "\x1b[1;5S" }
- { key: F5, mods: Control, chars: "\x1b[15;5~" }
- { key: F6, mods: Control, chars: "\x1b[17;5~" }
- { key: F7, mods: Control, chars: "\x1b[18;5~" }
- { key: F8, mods: Control, chars: "\x1b[19;5~" }
- { key: F9, mods: Control, chars: "\x1b[20;5~" }
- { key: F10, mods: Control, chars: "\x1b[21;5~" }
- { key: F11, mods: Control, chars: "\x1b[23;5~" }
- { key: F12, mods: Control, chars: "\x1b[24;5~" }
- { key: F1, mods: Alt, chars: "\x1b[1;6P" }
- { key: F2, mods: Alt, chars: "\x1b[1;6Q" }
- { key: F3, mods: Alt, chars: "\x1b[1;6R" }
- { key: F4, mods: Alt, chars: "\x1b[1;6S" }
- { key: F5, mods: Alt, chars: "\x1b[15;6~" }
- { key: F6, mods: Alt, chars: "\x1b[17;6~" }
- { key: F7, mods: Alt, chars: "\x1b[18;6~" }
- { key: F8, mods: Alt, chars: "\x1b[19;6~" }
- { key: F9, mods: Alt, chars: "\x1b[20;6~" }
- { key: F10, mods: Alt, chars: "\x1b[21;6~" }
- { key: F11, mods: Alt, chars: "\x1b[23;6~" }
- { key: F12, mods: Alt, chars: "\x1b[24;6~" }
- { key: F1, mods: Super, chars: "\x1b[1;3P" }
- { key: F2, mods: Super, chars: "\x1b[1;3Q" }
- { key: F3, mods: Super, chars: "\x1b[1;3R" }
- { key: F4, mods: Super, chars: "\x1b[1;3S" }
- { key: F5, mods: Super, chars: "\x1b[15;3~" }
- { key: F6, mods: Super, chars: "\x1b[17;3~" }
- { key: F7, mods: Super, chars: "\x1b[18;3~" }
- { key: F8, mods: Super, chars: "\x1b[19;3~" }
- { key: F9, mods: Super, chars: "\x1b[20;3~" }
- { key: F10, mods: Super, chars: "\x1b[21;3~" }
- { key: F11, mods: Super, chars: "\x1b[23;3~" }
- { key: F12, mods: Super, chars: "\x1b[24;3~" }

View file

@ -0,0 +1 @@
alacritty-dark.yml

View file

@ -0,0 +1 @@
--force-device-scale-factor=1.0

View file

@ -0,0 +1 @@
--force-device-scale-factor=1.6

327
.config/dunst/dunstrc Normal file
View file

@ -0,0 +1,327 @@
[global]
### Display ###
# Which monitor should the notifications be displayed on.
monitor = 0
# Display notification on focused monitor. Possible modes are:
# mouse: follow mouse pointer
# keyboard: follow window with keyboard focus
# none: don't follow anything
#
# "keyboard" needs a window manager that exports the
# _NET_ACTIVE_WINDOW property.
# This should be the case for almost all modern window managers.
#
# If this option is set to mouse or keyboard, the monitor option
# will be ignored.
follow = mouse
# The geometry of the window:
# [{width}]x{height}[+/-{x}+/-{y}]
# The geometry of the message window.
# The height is measured in number of notifications everything else
# in pixels. If the width is omitted but the height is given
# ("-geometry x2"), the message window expands over the whole screen
# (dmenu-like). If width is 0, the window expands to the longest
# message displayed. A positive x is measured from the left, a
# negative from the right side of the screen. Y is measured from
# the top and down respectively.
# The width can be negative. In this case the actual width is the
# screen width minus the width defined in within the geometry option.
geometry = "2373x5-0-0"
# Show how many messages are currently hidden (because of geometry).
indicate_hidden = yes
# Shrink window if it's smaller than the width. Will be ignored if
# width is 0.
shrink = yes
# The transparency of the window. Range: [0; 100].
# This option will only work if a compositing window manager is
# present (e.g. xcompmgr, compiz, etc.).
transparency = 0
# The height of the entire notification. If the height is smaller
# than the font height and padding combined, it will be raised
# to the font height and padding.
notification_height = 0
# Draw a line of "separator_height" pixel height between two
# notifications.
# Set to 0 to disable.
separator_height = 2
# Padding between text and separator.
padding = 3
# Horizontal padding.
horizontal_padding = 20
# Defines width in pixels of frame around the notification window.
# Set to 0 to disable.
frame_width = 1
# Defines color of the frame around the notification window.
frame_color = "cccccc"
# Define a color for the separator.
# possible values are:
# * auto: dunst tries to find a color fitting to the background;
# * foreground: use the same color as the foreground;
# * frame: use the same color as the frame;
# * anything else will be interpreted as a X color.
separator_color = frame
# Sort messages by urgency.
sort = yes
# Don't remove messages, if the user is idle (no mouse or keyboard input)
# for longer than idle_threshold seconds.
# Set to 0 to disable.
# Transient notifications ignore this setting.
idle_threshold = 120
### Text ###
font = IBM Plex Sans 12
# The spacing between lines. If the height is smaller than the
# font height, it will get raised to the font height.
line_height = 0
# Possible values are:
# full: Allow a small subset of html markup in notifications:
# <b>bold</b>
# <i>italic</i>
# <s>strikethrough</s>
# <u>underline</u>
#
# For a complete reference see
# <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
#
# strip: This setting is provided for compatibility with some broken
# clients that send markup even though it's not enabled on the
# server. Dunst will try to strip the markup but the parsing is
# simplistic so using this option outside of matching rules for
# specific applications *IS GREATLY DISCOURAGED*.
#
# no: Disable markup parsing, incoming notifications will be treated as
# plain text. Dunst will not advertise that it has the body-markup
# capability if this is set as a global setting.
#
# It's important to note that markup inside the format option will be parsed
# regardless of what this is set to.
markup = full
# The format of the message. Possible variables are:
# %a appname
# %s summary
# %b body
# %i iconname (including its path)
# %I iconname (without its path)
# %p progress value if set ([ 0%] to [100%]) or nothing
# %n progress value if set without any extra characters
# %% Literal %
# Markup is allowed
format = "<b>%a:</b>\n%s\n%b"
# Alignment of message text.
# Possible values are "left", "center" and "right".
alignment = left
# Show age of message if message is older than show_age_threshold
# seconds.
# Set to -1 to disable.
show_age_threshold = 60
# Split notifications into multiple lines if they don't fit into
# geometry.
word_wrap = yes
# When word_wrap is set to no, specify where to ellipsize long lines.
# Possible values are "start", "middle" and "end".
ellipsize = middle
# Ignore newlines '\n' in notifications.
ignore_newline = no
# Merge multiple notifications with the same content
stack_duplicates = true
# Hide the count of merged notifications with the same content
hide_duplicate_count = false
# Display indicators for URLs (U) and actions (A).
show_indicators = yes
### Icons ###
# Align icons left/right/off
icon_position = off
# Scale larger icons down to this size, set to 0 to disable
max_icon_size = 32
# Paths to default icons.
icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
### History ###
# Should a notification popped up from history be sticky or timeout
# as if it would normally do.
sticky_history = yes
# Maximum amount of notifications kept in history
history_length = 20
### Misc/Advanced ###
# dmenu path.
dmenu = /usr/bin/dmenu -p dunst:
# Browser for opening urls in context menu.
browser = /usr/bin/firefox -new-tab
# Always run rule-defined scripts, even if the notification is suppressed
always_run_script = true
# Define the title of the windows spawned by dunst
title = Dunst
# Define the class of the windows spawned by dunst
class = Dunst
# Print a notification on startup.
# This is mainly for error detection, since dbus (re-)starts dunst
# automatically after a crash.
startup_notification = false
### Legacy
# Use the Xinerama extension instead of RandR for multi-monitor support.
# This setting is provided for compatibility with older nVidia drivers that
# do not support RandR and using it on systems that support RandR is highly
# discouraged.
#
# By enabling this setting dunst will not be able to detect when a monitor
# is connected or disconnected which might break follow mode if the screen
# layout changes.
force_xinerama = false
# Experimental features that may or may not work correctly. Do not expect them
# to have a consistent behaviour across releases.
[experimental]
# Calculate the dpi to use on a per-monitor basis.
# If this setting is enabled the Xft.dpi value will be ignored and instead
# dunst will attempt to calculate an appropriate dpi value for each monitor
# using the resolution and physical size. This might be useful in setups
# where there are multiple screens with very different dpi values.
per_monitor_dpi = false
[shortcuts]
# Shortcuts are specified as [modifier+][modifier+]...key
# Available modifiers are "ctrl", "mod1" (the alt-key), "mod2",
# "mod3" and "mod4" (windows-key).
# Xev might be helpful to find names for keys.
# Close notification.
close = ctrl+space
# Close all notifications.
close_all = ctrl+shift+space
# Redisplay last message(s).
# On the US keyboard layout "grave" is normally above TAB and left
# of "1". Make sure this key actually exists on your keyboard layout,
# e.g. check output of 'xmodmap -pke'
history = ctrl+grave
# Context menu.
context = ctrl+shift+period
[urgency_low]
# IMPORTANT: colors have to be defined in quotation marks.
# Otherwise the "#" and following would be interpreted as a comment.
background = "#E1F5FE"
foreground = "#01579B"
timeout = 10
# Icon for notifications with low urgency, uncomment to enable
#icon = /path/to/icon
[urgency_normal]
# background = "#285577"
background = "#DCEDC8"
foreground = "#1B5E20"
timeout = 10
# Icon for notifications with normal urgency, uncomment to enable
#icon = /path/to/icon
[urgency_critical]
background = "#BF360C"
foreground = "#FFF59D"
frame_color = "#FF7043"
timeout = 0
# Icon for notifications with critical urgency, uncomment to enable
#icon = /path/to/icon
# Every section that isn't one of the above is interpreted as a rules to
# override settings for certain messages.
# Messages can be matched by "appname", "summary", "body", "icon", "category",
# "msg_urgency" and you can override the "timeout", "urgency", "foreground",
# "background", "new_icon" and "format".
# Shell-like globbing will get expanded.
#
# SCRIPTING
# You can specify a script that gets run when the rule matches by
# setting the "script" option.
# The script will be called as follows:
# script appname summary body icon urgency
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
#
# NOTE: if you don't want a notification to be displayed, set the format
# to "".
# NOTE: It might be helpful to run dunst -print in a terminal in order
# to find fitting options for rules.
#[espeak]
# summary = "*"
# script = dunst_espeak.sh
#[script-test]
# summary = "*script*"
# script = dunst_test.sh
#[ignore]
# # This notification will not be displayed
# summary = "foobar"
# format = ""
#[history-ignore]
# # This notification will not be saved in history
# summary = "foobar"
# history_ignore = yes
#[signed_on]
# appname = Pidgin
# summary = "*signed on*"
# urgency = low
#
#[signed_off]
# appname = Pidgin
# summary = *signed off*
# urgency = low
#
#[says]
# appname = Pidgin
# summary = *says*
# urgency = critical
#
#[twitter]
# appname = Pidgin
# summary = *twitter.com*
# urgency = normal
#
# vim: ft=cfg

View file

@ -0,0 +1 @@
/etc/fonts/conf.avail/10-sub-pixel-rgb.conf

View file

@ -0,0 +1 @@
/etc/fonts/conf.avail/11-lcdfilter-default.conf

View file

@ -0,0 +1,45 @@
{
"coc.preferences.diagnostic.errorSign": "",
"coc.preferences.diagnostic.warningSign": "",
"coc.preferences.noselect": false,
"json.format.enable": true,
"json.schemas": [
{
"fileMatch": [
"/deployment.jsonnet",
"/deployment.json"
],
"url": "https://raw.githubusercontent.com/garethr/kubernetes-json-schema/master/v1.14.0/deployment.json"
}
],
"yaml.schemas": {
"kubernetes": "/*.yaml"
},
"languageserver": {
"bash": {
"command": "bash-language-server",
"args": ["start"],
"filetypes": ["sh"],
"ignoredRootPaths": ["~"]
},
"ccls": {
"command": "ccls",
"filetypes": ["c", "cpp", "objc", "objcpp"],
"rootPatterns": [".ccls", "compile_commands.json", ".vim/", ".git/", ".hg/"],
"initializationOptions": {
"cacheDirectory": "/tmp/ccls"
}
},
"dockerfile": {
"command": "docker-langserver",
"filetypes": ["dockerfile"],
"args": ["--stdio"]
},
"golang": {
"command": "gopls",
"args": [],
"rootPatterns": ["go.mod", ".vim/", ".git/", ".hg/"],
"filetypes": ["go"]
}
}
}

View file

@ -0,0 +1,352 @@
" Theme setup
hi clear
syntax reset
let g:colors_name = "dln-dark"
let s:red_50 = "#ffebee"
let s:red_100 = "#ffcdd2"
let s:red_200 = "#ef9a9a"
let s:red_300 = "#e57373"
let s:red_400 = "#ef5350"
let s:red_500 = "#f44336"
let s:red_600 = "#e53935"
let s:red_700 = "#d32f2f"
let s:red_800 = "#c62828"
let s:red_900 = "#b71c1c"
let s:red_a100 = "#ff8a80"
let s:red_a200 = "#ff5252"
let s:red_a400 = "#ff1744"
let s:red_a700 = "#d50000"
let s:pink_50 = "#fce4ec"
let s:pink_100 = "#f8bbd0"
let s:pink_200 = "#f48fb1"
let s:pink_300 = "#f06292"
let s:pink_400 = "#ec407a"
let s:pink_500 = "#e91e63"
let s:pink_600 = "#d81b60"
let s:pink_700 = "#c2185b"
let s:pink_800 = "#ad1457"
let s:pink_900 = "#880e4f"
let s:pink_a100 = "#ff80ab"
let s:pink_a200 = "#ff4081"
let s:pink_a400 = "#f50057"
let s:pink_a700 = "#c51162"
let s:purple_50 = "#f3e5f5"
let s:purple_100 = "#e1bee7"
let s:purple_200 = "#ce93d8"
let s:purple_300 = "#ba68c8"
let s:purple_400 = "#ab47bc"
let s:purple_500 = "#9c27b0"
let s:purple_600 = "#8e24aa"
let s:purple_700 = "#7b1fa2"
let s:purple_800 = "#6a1b9a"
let s:purple_900 = "#4a148c"
let s:purple_a100 = "#ea80fc"
let s:purple_a200 = "#e040fb"
let s:purple_a400 = "#d500f9"
let s:purple_a700 = "#aa00ff"
let s:deep_purple_50 = "#ede7f6"
let s:deep_purple_100 = "#d1c4e9"
let s:deep_purple_200 = "#b39ddb"
let s:deep_purple_300 = "#9575cd"
let s:deep_purple_400 = "#7e57c2"
let s:deep_purple_500 = "#673ab7"
let s:deep_purple_600 = "#5e35b1"
let s:deep_purple_700 = "#512da8"
let s:deep_purple_800 = "#4527a0"
let s:deep_purple_900 = "#311b92"
let s:deep_purple_a100 = "#b388ff"
let s:deep_purple_a200 = "#7c4dff"
let s:deep_purple_a400 = "#651fff"
let s:deep_purple_a700 = "#6200ea"
let s:indigo_50 = "#e8eaf6"
let s:indigo_100 = "#c5cae9"
let s:indigo_200 = "#9fa8da"
let s:indigo_300 = "#7986cb"
let s:indigo_400 = "#5c6bc0"
let s:indigo_500 = "#3f51b5"
let s:indigo_600 = "#3949ab"
let s:indigo_700 = "#303f9f"
let s:indigo_800 = "#283593"
let s:indigo_900 = "#1a237e"
let s:indigo_a100 = "#8c9eff"
let s:indigo_a200 = "#536dfe"
let s:indigo_a400 = "#3d5afe"
let s:indigo_a700 = "#304ffe"
let s:blue_50 = "#e3f2fd"
let s:blue_100 = "#bbdefb"
let s:blue_200 = "#90caf9"
let s:blue_300 = "#64b5f6"
let s:blue_400 = "#42a5f5"
let s:blue_500 = "#2196f3"
let s:blue_600 = "#1e88e5"
let s:blue_700 = "#1976d2"
let s:blue_800 = "#1565c0"
let s:blue_900 = "#0d47a1"
let s:blue_a100 = "#82b1ff"
let s:blue_a200 = "#448aff"
let s:blue_a400 = "#2979ff"
let s:blue_a700 = "#2962ff"
let s:light_blue_50 = "#e1f5fe"
let s:light_blue_100 = "#b3e5fc"
let s:light_blue_200 = "#81d4fa"
let s:light_blue_300 = "#4fc3f7"
let s:light_blue_400 = "#29b6fc"
let s:light_blue_500 = "#03a9f4"
let s:light_blue_600 = "#039be5"
let s:light_blue_700 = "#0288d1"
let s:light_blue_800 = "#0277bd"
let s:light_blue_900 = "#01579b"
let s:light_blue_a100 = "#80d8ff"
let s:light_blue_a200 = "#40c4ff"
let s:light_blue_a400 = "#00b0ff"
let s:light_blue_a700 = "#0091ea"
let s:cyan_50 = "#e0f7fa"
let s:cyan_100 = "#b2ebf2"
let s:cyan_200 = "#80deea"
let s:cyan_300 = "#4dd0e1"
let s:cyan_400 = "#26c6da"
let s:cyan_500 = "#00bcd4"
let s:cyan_600 = "#00acc1"
let s:cyan_700 = "#0097a7"
let s:cyan_800 = "#00838f"
let s:cyan_900 = "#006064"
let s:cyan_a100 = "#84ffff"
let s:cyan_a200 = "#18ffff"
let s:cyan_a400 = "#00e5ff"
let s:cyan_a700 = "#00b8d4"
let s:teal_50 = "#e0f2f1"
let s:teal_100 = "#b2dfdb"
let s:teal_200 = "#80cbc4"
let s:teal_300 = "#4db6ac"
let s:teal_400 = "#26a69a"
let s:teal_500 = "#009688"
let s:teal_600 = "#00897b"
let s:teal_700 = "#00796b"
let s:teal_800 = "#00695c"
let s:teal_900 = "#004d40"
let s:teal_a100 = "#a7ffeb"
let s:teal_a200 = "#64ffda"
let s:teal_a400 = "#1de9b6"
let s:teal_a700 = "#00bfa5"
let s:green_50 = "#e8f5e9"
let s:green_100 = "#c8e6c9"
let s:green_200 = "#a5d6a7"
let s:green_300 = "#81c784"
let s:green_400 = "#66bb6a"
let s:green_500 = "#4caf50"
let s:green_600 = "#43a047"
let s:green_700 = "#388e3c"
let s:green_800 = "#2e7d32"
let s:green_900 = "#1b5e20"
let s:green_a100 = "#b9f6ca"
let s:green_a200 = "#69f0ae"
let s:green_a400 = "#00e676"
let s:green_a700 = "#00c853"
let s:light_green_50 = "#f1f8e9"
let s:light_green_100 = "#dcedc8"
let s:light_green_200 = "#c5e1a5"
let s:light_green_300 = "#aed581"
let s:light_green_400 = "#9ccc65"
let s:light_green_500 = "#8bc34a"
let s:light_green_600 = "#7cb342"
let s:light_green_700 = "#689f38"
let s:light_green_800 = "#558b2f"
let s:light_green_900 = "#33691e"
let s:light_green_a100 = "#ccff90"
let s:light_green_a200 = "#b2ff59"
let s:light_green_a400 = "#76ff03"
let s:light_green_a700 = "#64dd17"
let s:lime_50 = "#f9fbe7"
let s:lime_100 = "#f0f4c3"
let s:lime_200 = "#e6ee9c"
let s:lime_300 = "#dce775"
let s:lime_400 = "#d4e157"
let s:lime_500 = "#cddc39"
let s:lime_600 = "#c0ca33"
let s:lime_700 = "#a4b42b"
let s:lime_800 = "#9e9d24"
let s:lime_900 = "#827717"
let s:lime_a100 = "#f4ff81"
let s:lime_a200 = "#eeff41"
let s:lime_a400 = "#c6ff00"
let s:lime_a700 = "#aeea00"
let s:yellow_50 = "#fffde7"
let s:yellow_100 = "#fff9c4"
let s:yellow_200 = "#fff590"
let s:yellow_300 = "#fff176"
let s:yellow_400 = "#ffee58"
let s:yellow_500 = "#ffeb3b"
let s:yellow_600 = "#fdd835"
let s:yellow_700 = "#fbc02d"
let s:yellow_800 = "#f9a825"
let s:yellow_900 = "#f57f17"
let s:yellow_a100 = "#ffff82"
let s:yellow_a200 = "#ffff00"
let s:yellow_a400 = "#ffea00"
let s:yellow_a700 = "#ffd600"
let s:amber_50 = "#fff8e1"
let s:amber_100 = "#ffecb3"
let s:amber_200 = "#ffe082"
let s:amber_300 = "#ffd54f"
let s:amber_400 = "#ffca28"
let s:amber_500 = "#ffc107"
let s:amber_600 = "#ffb300"
let s:amber_700 = "#ffa000"
let s:amber_800 = "#ff8f00"
let s:amber_900 = "#ff6f00"
let s:amber_a100 = "#ffe57f"
let s:amber_a200 = "#ffd740"
let s:amber_a400 = "#ffc400"
let s:amber_a700 = "#ffab00"
let s:orange_50 = "#fff3e0"
let s:orange_100 = "#ffe0b2"
let s:orange_200 = "#ffcc80"
let s:orange_300 = "#ffb74d"
let s:orange_400 = "#ffa726"
let s:orange_500 = "#ff9800"
let s:orange_600 = "#fb8c00"
let s:orange_700 = "#f57c00"
let s:orange_800 = "#ef6c00"
let s:orange_900 = "#e65100"
let s:orange_a100 = "#ffd180"
let s:orange_a200 = "#ffab40"
let s:orange_a400 = "#ff9100"
let s:orange_a700 = "#ff6d00"
let s:deep_orange_50 = "#fbe9a7"
let s:deep_orange_100 = "#ffccbc"
let s:deep_orange_200 = "#ffab91"
let s:deep_orange_300 = "#ff8a65"
let s:deep_orange_400 = "#ff7043"
let s:deep_orange_500 = "#ff5722"
let s:deep_orange_600 = "#f4511e"
let s:deep_orange_700 = "#e64a19"
let s:deep_orange_800 = "#d84315"
let s:deep_orange_900 = "#bf360c"
let s:deep_orange_a100 = "#ff9e80"
let s:deep_orange_a200 = "#ff6e40"
let s:deep_orange_a400 = "#ff3d00"
let s:deep_orange_a700 = "#dd2600"
let s:brown_50 = "#efebe9"
let s:brown_100 = "#d7ccc8"
let s:brown_200 = "#bcaaa4"
let s:brown_300 = "#a1887f"
let s:brown_400 = "#8d6e63"
let s:brown_500 = "#795548"
let s:brown_600 = "#6d4c41"
let s:brown_700 = "#5d4037"
let s:brown_800 = "#4e342e"
let s:brown_900 = "#3e2723"
let s:grey_50 = "#fafafa"
let s:grey_100 = "#f5f5f5"
let s:grey_200 = "#eeeeee"
let s:grey_300 = "#e0e0e0"
let s:grey_400 = "#bdbdbd"
let s:grey_500 = "#9e9e9e"
let s:grey_600 = "#757575"
let s:grey_700 = "#616161"
let s:grey_800 = "#424242"
let s:grey_900 = "#212121"
let s:black_1000 = "#000000"
let s:white_1000 = "#ffffff"
let s:blue_grey_50 = "#eceff1"
let s:blue_grey_100 = "#cfd8dc"
let s:blue_grey_200 = "#b0bbc5"
let s:blue_grey_300 = "#90a4ae"
let s:blue_grey_400 = "#78909c"
let s:blue_grey_500 = "#607d8b"
let s:blue_grey_600 = "#546e7a"
let s:blue_grey_700 = "#455a64"
let s:blue_grey_800 = "#37474f"
let s:blue_grey_900 = "#263238"
" Highlighting function
fun! <sid>hi(group, guifg, guibg, attr)
if a:guifg != ""
exec "hi " . a:group . " guifg=" . a:guifg
endif
if a:guibg != ""
exec "hi " . a:group . " guibg=" . a:guibg
endif
if a:attr != ""
exec "hi " . a:group . " gui=" . a:attr
endif
endfun
" FIXME: This needs doing
call <sid>hi("Visual", s:cyan_a100, s:blue_900, "")
call <sid>hi("Folded", s:purple_100, s:purple_900, "")
call <sid>hi("NonText", s:grey_800, "", "")
call <sid>hi("Bookmark", s:black_1000, s:yellow_300, "none")
call <sid>hi("Todo", s:yellow_a100, s:yellow_900, "none")
call <sid>hi("SignColumn", s:blue_grey_100, s:black_1000, "")
call <sid>hi("VertSplit", s:blue_grey_800, s:blue_grey_300, "")
call <sid>hi("LineNr", s:blue_grey_700, s:black_1000, "italic")
call <sid>hi("CursorLine", "", "#171717", "")
call <sid>hi("CursorLineNR", s:blue_grey_200, s:blue_grey_900, "")
call <sid>hi("Normal", s:white_1000, "", "")
call <sid>hi("Bold", "", "", "bold")
call <sid>hi("Italic", "", "", "italic")
call <sid>hi("Boolean", s:orange_200, "", "")
call <sid>hi("Character", "", "", "")
call <sid>hi("Pmenu", s:light_green_50, s:blue_grey_800, "none")
call <sid>hi("PmenuSbar", s:light_green_50, s:blue_grey_800, "none")
call <sid>hi("PmenuSel", s:yellow_50, s:deep_purple_900, "")
call <sid>hi("Comment", s:blue_grey_400, "", "italic")
call <sid>hi("Conditional", "", "", "")
call <sid>hi("Constant", "", "", "")
call <sid>hi("Define", "", "", "")
call <sid>hi("Delimiter", "", "", "")
call <sid>hi("Float", "", "", "")
call <sid>hi("Function", s:blue_300, "", "bold")
call <sid>hi("Identifier", s:indigo_200, "", "")
call <sid>hi("Include", "", "", "")
call <sid>hi("Keyword", s:indigo_300, "", "")
call <sid>hi("Label", "", "", "")
call <sid>hi("Number", s:indigo_300, "", "")
call <sid>hi("Operator", s:cyan_200, "", "none")
call <sid>hi("PreProc", "", "", "")
call <sid>hi("Repeat", "", "", "")
call <sid>hi("Search", "", s:amber_700, "none")
call <sid>hi("Special", s:green_400, "", "")
call <sid>hi("SpecialChar", "", "", "")
call <sid>hi("Statement", s:indigo_100, "", "none")
call <sid>hi("StorageClass", "", "", "")
call <sid>hi("String", s:light_green_400, "", "italic")
call <sid>hi("Structure", "", "", "")
call <sid>hi("Tag", "", "", "")
call <sid>hi("Todo", "", "", "")
call <sid>hi("Type", s:cyan_200, "", "none")
call <sid>hi("Typedef", "", "", "")
call <sid>hi("goDeclaration", s:deep_purple_200, "", "none")
call <sid>hi("goReceiverType", s:cyan_200, "", "none")
call <sid>hi("goMethodCall", s:brown_100, "", "none")
call <sid>hi("goField", s:cyan_50, "", "none")
call <sid>hi("goFunctionCall", s:blue_grey_200, "", "none")
call <sid>hi("goSameId", s:lime_a400, "", "italic")
call <sid>hi("GitGutterAdd", s:light_green_500, "", "")
call <sid>hi("GitGutterChange",s:light_blue_300, "", "")
call <sid>hi("GitGutterDelete",s:yellow_300, "", "")
call <sid>hi("ALEErrorSign",s:black_1000, s:red_400, "none")
call <sid>hi("ALEWarningSign",s:orange_200, "", "none")

View file

@ -0,0 +1,309 @@
" Theme setup
hi clear
syntax reset
let g:colors_name = "dln-dim"
let s:red_50 = "#ffebee"
let s:red_100 = "#ffcdd2"
let s:red_200 = "#ef9a9a"
let s:red_300 = "#e57373"
let s:red_400 = "#ef5350"
let s:red_500 = "#f44336"
let s:red_600 = "#e53935"
let s:red_700 = "#d32f2f"
let s:red_800 = "#c62828"
let s:red_900 = "#b71c1c"
let s:red_a100 = "#ff8a80"
let s:red_a200 = "#ff5252"
let s:red_a400 = "#ff1744"
let s:red_a700 = "#d50000"
let s:pink_50 = "#fce4ec"
let s:pink_100 = "#f8bbd0"
let s:pink_200 = "#f48fb1"
let s:pink_300 = "#f06292"
let s:pink_400 = "#ec407a"
let s:pink_500 = "#e91e63"
let s:pink_600 = "#d81b60"
let s:pink_700 = "#c2185b"
let s:pink_800 = "#ad1457"
let s:pink_900 = "#880e4f"
let s:pink_a100 = "#ff80ab"
let s:pink_a200 = "#ff4081"
let s:pink_a400 = "#f50057"
let s:pink_a700 = "#c51162"
let s:purple_50 = "#f3e5f5"
let s:purple_100 = "#e1bee7"
let s:purple_200 = "#ce93d8"
let s:purple_300 = "#ba68c8"
let s:purple_400 = "#ab47bc"
let s:purple_500 = "#9c27b0"
let s:purple_600 = "#8e24aa"
let s:purple_700 = "#7b1fa2"
let s:purple_800 = "#6a1b9a"
let s:purple_900 = "#4a148c"
let s:purple_a100 = "#ea80fc"
let s:purple_a200 = "#e040fb"
let s:purple_a400 = "#d500f9"
let s:purple_a700 = "#aa00ff"
let s:deep_purple_50 = "#ede7f6"
let s:deep_purple_100 = "#d1c4e9"
let s:deep_purple_200 = "#b39ddb"
let s:deep_purple_300 = "#9575cd"
let s:deep_purple_400 = "#7e57c2"
let s:deep_purple_500 = "#673ab7"
let s:deep_purple_600 = "#5e35b1"
let s:deep_purple_700 = "#512da8"
let s:deep_purple_800 = "#4527a0"
let s:deep_purple_900 = "#311b92"
let s:deep_purple_a100 = "#b388ff"
let s:deep_purple_a200 = "#7c4dff"
let s:deep_purple_a400 = "#651fff"
let s:deep_purple_a700 = "#6200ea"
let s:indigo_50 = "#e8eaf6"
let s:indigo_100 = "#c5cae9"
let s:indigo_200 = "#9fa8da"
let s:indigo_300 = "#7986cb"
let s:indigo_400 = "#5c6bc0"
let s:indigo_500 = "#3f51b5"
let s:indigo_600 = "#3949ab"
let s:indigo_700 = "#303f9f"
let s:indigo_800 = "#283593"
let s:indigo_900 = "#1a237e"
let s:indigo_a100 = "#8c9eff"
let s:indigo_a200 = "#536dfe"
let s:indigo_a400 = "#3d5afe"
let s:indigo_a700 = "#304ffe"
let s:blue_50 = "#e3f2fd"
let s:blue_100 = "#bbdefb"
let s:blue_200 = "#90caf9"
let s:blue_300 = "#64b5f6"
let s:blue_400 = "#42a5f5"
let s:blue_500 = "#2196f3"
let s:blue_600 = "#1e88e5"
let s:blue_700 = "#1976d2"
let s:blue_800 = "#1565c0"
let s:blue_900 = "#0d47a1"
let s:blue_a100 = "#82b1ff"
let s:blue_a200 = "#448aff"
let s:blue_a400 = "#2979ff"
let s:blue_a700 = "#2962ff"
let s:light_blue_50 = "#e1f5fe"
let s:light_blue_100 = "#b3e5fc"
let s:light_blue_200 = "#81d4fa"
let s:light_blue_300 = "#4fc3f7"
let s:light_blue_400 = "#29b6fc"
let s:light_blue_500 = "#03a9f4"
let s:light_blue_600 = "#039be5"
let s:light_blue_700 = "#0288d1"
let s:light_blue_800 = "#0277bd"
let s:light_blue_900 = "#01579b"
let s:light_blue_a100 = "#80d8ff"
let s:light_blue_a200 = "#40c4ff"
let s:light_blue_a400 = "#00b0ff"
let s:light_blue_a700 = "#0091ea"
let s:cyan_50 = "#e0f7fa"
let s:cyan_100 = "#b2ebf2"
let s:cyan_200 = "#80deea"
let s:cyan_300 = "#4dd0e1"
let s:cyan_400 = "#26c6da"
let s:cyan_500 = "#00bcd4"
let s:cyan_600 = "#00acc1"
let s:cyan_700 = "#0097a7"
let s:cyan_800 = "#00838f"
let s:cyan_900 = "#006064"
let s:cyan_a100 = "#84ffff"
let s:cyan_a200 = "#18ffff"
let s:cyan_a400 = "#00e5ff"
let s:cyan_a700 = "#00b8d4"
let s:teal_50 = "#e0f2f1"
let s:teal_100 = "#b2dfdb"
let s:teal_200 = "#80cbc4"
let s:teal_300 = "#4db6ac"
let s:teal_400 = "#26a69a"
let s:teal_500 = "#009688"
let s:teal_600 = "#00897b"
let s:teal_700 = "#00796b"
let s:teal_800 = "#00695c"
let s:teal_900 = "#004d40"
let s:teal_a100 = "#a7ffeb"
let s:teal_a200 = "#64ffda"
let s:teal_a400 = "#1de9b6"
let s:teal_a700 = "#00bfa5"
let s:green_50 = "#e8f5e9"
let s:green_100 = "#c8e6c9"
let s:green_200 = "#a5d6a7"
let s:green_300 = "#81c784"
let s:green_400 = "#66bb6a"
let s:green_500 = "#4caf50"
let s:green_600 = "#43a047"
let s:green_700 = "#388e3c"
let s:green_800 = "#2e7d32"
let s:green_900 = "#1b5e20"
let s:green_a100 = "#b9f6ca"
let s:green_a200 = "#69f0ae"
let s:green_a400 = "#00e676"
let s:green_a700 = "#00c853"
let s:light_green_50 = "#f1f8e9"
let s:light_green_100 = "#dcedc8"
let s:light_green_200 = "#c5e1a5"
let s:light_green_300 = "#aed581"
let s:light_green_400 = "#9ccc65"
let s:light_green_500 = "#8bc34a"
let s:light_green_600 = "#7cb342"
let s:light_green_700 = "#689f38"
let s:light_green_800 = "#558b2f"
let s:light_green_900 = "#33691e"
let s:light_green_a100 = "#ccff90"
let s:light_green_a200 = "#b2ff59"
let s:light_green_a400 = "#76ff03"
let s:light_green_a700 = "#64dd17"
let s:lime_50 = "#f9fbe7"
let s:lime_100 = "#f0f4c3"
let s:lime_200 = "#e6ee9c"
let s:lime_300 = "#dce775"
let s:lime_400 = "#d4e157"
let s:lime_500 = "#cddc39"
let s:lime_600 = "#c0ca33"
let s:lime_700 = "#a4b42b"
let s:lime_800 = "#9e9d24"
let s:lime_900 = "#827717"
let s:lime_a100 = "#f4ff81"
let s:lime_a200 = "#eeff41"
let s:lime_a400 = "#c6ff00"
let s:lime_a700 = "#aeea00"
let s:yellow_50 = "#fffde7"
let s:yellow_100 = "#fff9c4"
let s:yellow_200 = "#fff590"
let s:yellow_300 = "#fff176"
let s:yellow_400 = "#ffee58"
let s:yellow_500 = "#ffeb3b"
let s:yellow_600 = "#fdd835"
let s:yellow_700 = "#fbc02d"
let s:yellow_800 = "#f9a825"
let s:yellow_900 = "#f57f17"
let s:yellow_a100 = "#ffff82"
let s:yellow_a200 = "#ffff00"
let s:yellow_a400 = "#ffea00"
let s:yellow_a700 = "#ffd600"
let s:amber_50 = "#fff8e1"
let s:amber_100 = "#ffecb3"
let s:amber_200 = "#ffe082"
let s:amber_300 = "#ffd54f"
let s:amber_400 = "#ffca28"
let s:amber_500 = "#ffc107"
let s:amber_600 = "#ffb300"
let s:amber_700 = "#ffa000"
let s:amber_800 = "#ff8f00"
let s:amber_900 = "#ff6f00"
let s:amber_a100 = "#ffe57f"
let s:amber_a200 = "#ffd740"
let s:amber_a400 = "#ffc400"
let s:amber_a700 = "#ffab00"
let s:orange_50 = "#fff3e0"
let s:orange_100 = "#ffe0b2"
let s:orange_200 = "#ffcc80"
let s:orange_300 = "#ffb74d"
let s:orange_400 = "#ffa726"
let s:orange_500 = "#ff9800"
let s:orange_600 = "#fb8c00"
let s:orange_700 = "#f57c00"
let s:orange_800 = "#ef6c00"
let s:orange_900 = "#e65100"
let s:orange_a100 = "#ffd180"
let s:orange_a200 = "#ffab40"
let s:orange_a400 = "#ff9100"
let s:orange_a700 = "#ff6d00"
let s:deep_orange_50 = "#fbe9a7"
let s:deep_orange_100 = "#ffccbc"
let s:deep_orange_200 = "#ffab91"
let s:deep_orange_300 = "#ff8a65"
let s:deep_orange_400 = "#ff7043"
let s:deep_orange_500 = "#ff5722"
let s:deep_orange_600 = "#f4511e"
let s:deep_orange_700 = "#e64a19"
let s:deep_orange_800 = "#d84315"
let s:deep_orange_900 = "#bf360c"
let s:deep_orange_a100 = "#ff9e80"
let s:deep_orange_a200 = "#ff6e40"
let s:deep_orange_a400 = "#ff3d00"
let s:deep_orange_a700 = "#dd2600"
let s:brown_50 = "#efebe9"
let s:brown_100 = "#d7ccc8"
let s:brown_200 = "#bcaaa4"
let s:brown_300 = "#a1887f"
let s:brown_400 = "#8d6e63"
let s:brown_500 = "#795548"
let s:brown_600 = "#6d4c41"
let s:brown_700 = "#5d4037"
let s:brown_800 = "#4e342e"
let s:brown_900 = "#3e2723"
let s:grey_50 = "#fafafa"
let s:grey_100 = "#f5f5f5"
let s:grey_200 = "#eeeeee"
let s:grey_300 = "#e0e0e0"
let s:grey_400 = "#bdbdbd"
let s:grey_500 = "#9e9e9e"
let s:grey_600 = "#757575"
let s:grey_700 = "#616161"
let s:grey_800 = "#424242"
let s:grey_900 = "#212121"
let s:black_1000 = "#000000"
let s:white_1000 = "#ffffff"
let s:blue_grey_50 = "#eceff1"
let s:blue_grey_100 = "#cfd8dc"
let s:blue_grey_200 = "#b0bbc5"
let s:blue_grey_300 = "#90a4ae"
let s:blue_grey_400 = "#78909c"
let s:blue_grey_500 = "#607d8b"
let s:blue_grey_600 = "#546e7a"
let s:blue_grey_700 = "#455a64"
let s:blue_grey_800 = "#37474f"
let s:blue_grey_900 = "#263238"
" Highlighting function
fun! <sid>hi(group, guifg, guibg, attr)
if a:guifg != ""
exec "hi " . a:group . " guifg=" . a:guifg
endif
if a:guibg != ""
exec "hi " . a:group . " guibg=" . a:guibg
endif
if a:attr != ""
exec "hi " . a:group . " gui=" . a:attr
endif
endfun
call <sid>hi("Normal", s:white_1000, "", "")
call <sid>hi("Bold", "", "", "bold")
call <sid>hi("Italic", "", "", "italic")
call <sid>hi("LineNr", s:grey_800, "", "italic")
call <sid>hi("CursorLine", "", "#112131", "")
call <sid>hi("CursorLineNR", s:grey_500, "#334455", "")
call <sid>hi("Statement", s:blue_grey_200, "", "bold")
call <sid>hi("String", s:light_green_400, "", "italic")
call <sid>hi("Comment", s:blue_grey_600, "", "italic")
call <sid>hi("Type", s:deep_purple_200, "", "none")
call <sid>hi("Identifier", s:orange_200, "", "")
call <sid>hi("goFunction", s:blue_300, "", "bold")
call <sid>hi("goOperator", s:teal_200, "", "")
call <sid>hi("Search", "", s:amber_700, "none")

View file

@ -0,0 +1,354 @@
" Theme setup
hi clear
syntax reset
let g:colors_name = "dln-dark"
let s:red_50 = "#ffebee"
let s:red_100 = "#ffcdd2"
let s:red_200 = "#ef9a9a"
let s:red_300 = "#e57373"
let s:red_400 = "#ef5350"
let s:red_500 = "#f44336"
let s:red_600 = "#e53935"
let s:red_700 = "#d32f2f"
let s:red_800 = "#c62828"
let s:red_900 = "#b71c1c"
let s:red_a100 = "#ff8a80"
let s:red_a200 = "#ff5252"
let s:red_a400 = "#ff1744"
let s:red_a700 = "#d50000"
let s:pink_50 = "#fce4ec"
let s:pink_100 = "#f8bbd0"
let s:pink_200 = "#f48fb1"
let s:pink_300 = "#f06292"
let s:pink_400 = "#ec407a"
let s:pink_500 = "#e91e63"
let s:pink_600 = "#d81b60"
let s:pink_700 = "#c2185b"
let s:pink_800 = "#ad1457"
let s:pink_900 = "#880e4f"
let s:pink_a100 = "#ff80ab"
let s:pink_a200 = "#ff4081"
let s:pink_a400 = "#f50057"
let s:pink_a700 = "#c51162"
let s:purple_50 = "#f3e5f5"
let s:purple_100 = "#e1bee7"
let s:purple_200 = "#ce93d8"
let s:purple_300 = "#ba68c8"
let s:purple_400 = "#ab47bc"
let s:purple_500 = "#9c27b0"
let s:purple_600 = "#8e24aa"
let s:purple_700 = "#7b1fa2"
let s:purple_800 = "#6a1b9a"
let s:purple_900 = "#4a148c"
let s:purple_a100 = "#ea80fc"
let s:purple_a200 = "#e040fb"
let s:purple_a400 = "#d500f9"
let s:purple_a700 = "#aa00ff"
let s:deep_purple_50 = "#ede7f6"
let s:deep_purple_100 = "#d1c4e9"
let s:deep_purple_200 = "#b39ddb"
let s:deep_purple_300 = "#9575cd"
let s:deep_purple_400 = "#7e57c2"
let s:deep_purple_500 = "#673ab7"
let s:deep_purple_600 = "#5e35b1"
let s:deep_purple_700 = "#512da8"
let s:deep_purple_800 = "#4527a0"
let s:deep_purple_900 = "#311b92"
let s:deep_purple_a100 = "#b388ff"
let s:deep_purple_a200 = "#7c4dff"
let s:deep_purple_a400 = "#651fff"
let s:deep_purple_a700 = "#6200ea"
let s:indigo_50 = "#e8eaf6"
let s:indigo_100 = "#c5cae9"
let s:indigo_200 = "#9fa8da"
let s:indigo_300 = "#7986cb"
let s:indigo_400 = "#5c6bc0"
let s:indigo_500 = "#3f51b5"
let s:indigo_600 = "#3949ab"
let s:indigo_700 = "#303f9f"
let s:indigo_800 = "#283593"
let s:indigo_900 = "#1a237e"
let s:indigo_a100 = "#8c9eff"
let s:indigo_a200 = "#536dfe"
let s:indigo_a400 = "#3d5afe"
let s:indigo_a700 = "#304ffe"
let s:blue_50 = "#e3f2fd"
let s:blue_100 = "#bbdefb"
let s:blue_200 = "#90caf9"
let s:blue_300 = "#64b5f6"
let s:blue_400 = "#42a5f5"
let s:blue_500 = "#2196f3"
let s:blue_600 = "#1e88e5"
let s:blue_700 = "#1976d2"
let s:blue_800 = "#1565c0"
let s:blue_900 = "#0d47a1"
let s:blue_a100 = "#82b1ff"
let s:blue_a200 = "#448aff"
let s:blue_a400 = "#2979ff"
let s:blue_a700 = "#2962ff"
let s:light_blue_50 = "#e1f5fe"
let s:light_blue_100 = "#b3e5fc"
let s:light_blue_200 = "#81d4fa"
let s:light_blue_300 = "#4fc3f7"
let s:light_blue_400 = "#29b6fc"
let s:light_blue_500 = "#03a9f4"
let s:light_blue_600 = "#039be5"
let s:light_blue_700 = "#0288d1"
let s:light_blue_800 = "#0277bd"
let s:light_blue_900 = "#01579b"
let s:light_blue_a100 = "#80d8ff"
let s:light_blue_a200 = "#40c4ff"
let s:light_blue_a400 = "#00b0ff"
let s:light_blue_a700 = "#0091ea"
let s:cyan_50 = "#e0f7fa"
let s:cyan_100 = "#b2ebf2"
let s:cyan_200 = "#80deea"
let s:cyan_300 = "#4dd0e1"
let s:cyan_400 = "#26c6da"
let s:cyan_500 = "#00bcd4"
let s:cyan_600 = "#00acc1"
let s:cyan_700 = "#0097a7"
let s:cyan_800 = "#00838f"
let s:cyan_900 = "#006064"
let s:cyan_a100 = "#84ffff"
let s:cyan_a200 = "#18ffff"
let s:cyan_a400 = "#00e5ff"
let s:cyan_a700 = "#00b8d4"
let s:teal_50 = "#e0f2f1"
let s:teal_100 = "#b2dfdb"
let s:teal_200 = "#80cbc4"
let s:teal_300 = "#4db6ac"
let s:teal_400 = "#26a69a"
let s:teal_500 = "#009688"
let s:teal_600 = "#00897b"
let s:teal_700 = "#00796b"
let s:teal_800 = "#00695c"
let s:teal_900 = "#004d40"
let s:teal_a100 = "#a7ffeb"
let s:teal_a200 = "#64ffda"
let s:teal_a400 = "#1de9b6"
let s:teal_a700 = "#00bfa5"
let s:green_50 = "#e8f5e9"
let s:green_100 = "#c8e6c9"
let s:green_200 = "#a5d6a7"
let s:green_300 = "#81c784"
let s:green_400 = "#66bb6a"
let s:green_500 = "#4caf50"
let s:green_600 = "#43a047"
let s:green_700 = "#388e3c"
let s:green_800 = "#2e7d32"
let s:green_900 = "#1b5e20"
let s:green_a100 = "#b9f6ca"
let s:green_a200 = "#69f0ae"
let s:green_a400 = "#00e676"
let s:green_a700 = "#00c853"
let s:light_green_50 = "#f1f8e9"
let s:light_green_100 = "#dcedc8"
let s:light_green_200 = "#c5e1a5"
let s:light_green_300 = "#aed581"
let s:light_green_400 = "#9ccc65"
let s:light_green_500 = "#8bc34a"
let s:light_green_600 = "#7cb342"
let s:light_green_700 = "#689f38"
let s:light_green_800 = "#558b2f"
let s:light_green_900 = "#33691e"
let s:light_green_a100 = "#ccff90"
let s:light_green_a200 = "#b2ff59"
let s:light_green_a400 = "#76ff03"
let s:light_green_a700 = "#64dd17"
let s:lime_50 = "#f9fbe7"
let s:lime_100 = "#f0f4c3"
let s:lime_200 = "#e6ee9c"
let s:lime_300 = "#dce775"
let s:lime_400 = "#d4e157"
let s:lime_500 = "#cddc39"
let s:lime_600 = "#c0ca33"
let s:lime_700 = "#a4b42b"
let s:lime_800 = "#9e9d24"
let s:lime_900 = "#827717"
let s:lime_a100 = "#f4ff81"
let s:lime_a200 = "#eeff41"
let s:lime_a400 = "#c6ff00"
let s:lime_a700 = "#aeea00"
let s:yellow_50 = "#fffde7"
let s:yellow_100 = "#fff9c4"
let s:yellow_200 = "#fff590"
let s:yellow_300 = "#fff176"
let s:yellow_400 = "#ffee58"
let s:yellow_500 = "#ffeb3b"
let s:yellow_600 = "#fdd835"
let s:yellow_700 = "#fbc02d"
let s:yellow_800 = "#f9a825"
let s:yellow_900 = "#f57f17"
let s:yellow_a100 = "#ffff82"
let s:yellow_a200 = "#ffff00"
let s:yellow_a400 = "#ffea00"
let s:yellow_a700 = "#ffd600"
let s:amber_50 = "#fff8e1"
let s:amber_100 = "#ffecb3"
let s:amber_200 = "#ffe082"
let s:amber_300 = "#ffd54f"
let s:amber_400 = "#ffca28"
let s:amber_500 = "#ffc107"
let s:amber_600 = "#ffb300"
let s:amber_700 = "#ffa000"
let s:amber_800 = "#ff8f00"
let s:amber_900 = "#ff6f00"
let s:amber_a100 = "#ffe57f"
let s:amber_a200 = "#ffd740"
let s:amber_a400 = "#ffc400"
let s:amber_a700 = "#ffab00"
let s:orange_50 = "#fff3e0"
let s:orange_100 = "#ffe0b2"
let s:orange_200 = "#ffcc80"
let s:orange_300 = "#ffb74d"
let s:orange_400 = "#ffa726"
let s:orange_500 = "#ff9800"
let s:orange_600 = "#fb8c00"
let s:orange_700 = "#f57c00"
let s:orange_800 = "#ef6c00"
let s:orange_900 = "#e65100"
let s:orange_a100 = "#ffd180"
let s:orange_a200 = "#ffab40"
let s:orange_a400 = "#ff9100"
let s:orange_a700 = "#ff6d00"
let s:deep_orange_50 = "#fbe9a7"
let s:deep_orange_100 = "#ffccbc"
let s:deep_orange_200 = "#ffab91"
let s:deep_orange_300 = "#ff8a65"
let s:deep_orange_400 = "#ff7043"
let s:deep_orange_500 = "#ff5722"
let s:deep_orange_600 = "#f4511e"
let s:deep_orange_700 = "#e64a19"
let s:deep_orange_800 = "#d84315"
let s:deep_orange_900 = "#bf360c"
let s:deep_orange_a100 = "#ff9e80"
let s:deep_orange_a200 = "#ff6e40"
let s:deep_orange_a400 = "#ff3d00"
let s:deep_orange_a700 = "#dd2600"
let s:brown_50 = "#efebe9"
let s:brown_100 = "#d7ccc8"
let s:brown_200 = "#bcaaa4"
let s:brown_300 = "#a1887f"
let s:brown_400 = "#8d6e63"
let s:brown_500 = "#795548"
let s:brown_600 = "#6d4c41"
let s:brown_700 = "#5d4037"
let s:brown_800 = "#4e342e"
let s:brown_900 = "#3e2723"
let s:grey_50 = "#fafafa"
let s:grey_100 = "#f5f5f5"
let s:grey_200 = "#eeeeee"
let s:grey_300 = "#e0e0e0"
let s:grey_400 = "#bdbdbd"
let s:grey_500 = "#9e9e9e"
let s:grey_600 = "#757575"
let s:grey_700 = "#616161"
let s:grey_800 = "#424242"
let s:grey_900 = "#212121"
let s:black_1000 = "#000000"
let s:white_1000 = "#ffffff"
let s:blue_grey_50 = "#eceff1"
let s:blue_grey_100 = "#cfd8dc"
let s:blue_grey_200 = "#b0bbc5"
let s:blue_grey_300 = "#90a4ae"
let s:blue_grey_400 = "#78909c"
let s:blue_grey_500 = "#607d8b"
let s:blue_grey_600 = "#546e7a"
let s:blue_grey_700 = "#455a64"
let s:blue_grey_800 = "#37474f"
let s:blue_grey_900 = "#263238"
" Highlighting function
fun! <sid>hi(group, guifg, guibg, attr)
if a:guifg != ""
exec "hi " . a:group . " guifg=" . a:guifg
endif
if a:guibg != ""
exec "hi " . a:group . " guibg=" . a:guibg
endif
if a:attr != ""
exec "hi " . a:group . " gui=" . a:attr
endif
endfun
" FIXME: This needs doing
call <sid>hi("Visual", s:cyan_a100, s:blue_900, "")
call <sid>hi("Folded", s:purple_500, s:purple_900, "")
call <sid>hi("NonText", s:grey_800, "", "")
call <sid>hi("Bookmark", s:black_1000, s:yellow_300, "none")
call <sid>hi("Todo", s:yellow_a100, s:yellow_900, "none")
call <sid>hi("SignColumn", s:blue_grey_100, s:white_1000, "")
call <sid>hi("VertSplit", s:blue_grey_800, s:blue_grey_300, "")
call <sid>hi("LineNr", s:blue_grey_100, s:white_1000, "italic")
call <sid>hi("CursorLine", "", "#fafaf3", "")
call <sid>hi("CursorLineNR", s:blue_grey_200, "#eaeaea", "")
call <sid>hi("Normal", s:black_1000, "", "")
call <sid>hi("Bold", "", "", "bold")
call <sid>hi("Italic", "", "", "italic")
call <sid>hi("Boolean", s:deep_orange_900, "", "")
call <sid>hi("Character", "", "", "")
call <sid>hi("CocFloating", s:green_900, s:lime_200, "none")
call <sid>hi("Pmenu", s:black_1000, s:blue_grey_200, "none")
call <sid>hi("PmenuSbar", s:light_green_50, s:blue_grey_800, "none")
call <sid>hi("PmenuSel", s:black_1000, s:amber_300, "")
call <sid>hi("Comment", s:blue_grey_400, "", "italic")
call <sid>hi("Conditional", "", "", "")
call <sid>hi("Constant", "", "", "")
call <sid>hi("Define", "", "", "")
call <sid>hi("Delimiter", "", "", "")
call <sid>hi("Float", "", "", "")
call <sid>hi("Function", s:blue_700, "", "bold")
call <sid>hi("Identifier", s:indigo_800, "", "")
call <sid>hi("Include", "", "", "")
call <sid>hi("Keyword", s:indigo_800, "", "")
call <sid>hi("Label", "", "", "")
call <sid>hi("Number", s:indigo_300, "", "")
call <sid>hi("Operator", s:cyan_800, "", "none")
call <sid>hi("PreProc", "", "", "")
call <sid>hi("Repeat", "", "", "")
call <sid>hi("Search", "", s:amber_700, "none")
call <sid>hi("Special", s:green_400, "", "")
call <sid>hi("SpecialChar", "", "", "")
call <sid>hi("Statement", s:indigo_700, "", "none")
call <sid>hi("StorageClass", "", "", "")
call <sid>hi("String", s:green_800, "", "italic")
call <sid>hi("Structure", "", "", "")
call <sid>hi("Tag", "", "", "")
call <sid>hi("Todo", "", "", "")
call <sid>hi("Type", s:cyan_700, "", "none")
call <sid>hi("Typedef", "", "", "")
call <sid>hi("goDeclaration", s:deep_purple_900, "", "none")
call <sid>hi("goReceiverType", s:cyan_700, "", "none")
call <sid>hi("goMethodCall", s:purple_900, "", "none")
call <sid>hi("goField", s:cyan_900, "", "none")
call <sid>hi("goFunctionCall", s:deep_purple_500, "", "none")
call <sid>hi("goSameId", s:green_900, "#f7f9e0", "italic")
call <sid>hi("GitGutterAdd", s:light_green_500, "", "")
call <sid>hi("GitGutterChange",s:light_blue_300, "", "")
call <sid>hi("GitGutterDelete",s:yellow_300, "", "")
call <sid>hi("ALEErrorSign",s:black_1000, s:red_400, "none")
call <sid>hi("ALEWarningSign",s:orange_200, "", "none")
call <sid>hi("CursorColumn", "", s:yellow_50, "none")

335
.config/nvim/colors/dln.vim Normal file
View file

@ -0,0 +1,335 @@
" Theme setup
hi clear
syntax reset
let g:colors_name = "dln"
let s:red_50 = "#ffebee"
let s:red_100 = "#ffcdd2"
let s:red_200 = "#ef9a9a"
let s:red_300 = "#e57373"
let s:red_400 = "#ef5350"
let s:red_500 = "#f44336"
let s:red_600 = "#e53935"
let s:red_700 = "#d32f2f"
let s:red_800 = "#c62828"
let s:red_900 = "#b71c1c"
let s:red_a100 = "#ff8a80"
let s:red_a200 = "#ff5252"
let s:red_a400 = "#ff1744"
let s:red_a700 = "#d50000"
let s:pink_50 = "#fce4ec"
let s:pink_100 = "#f8bbd0"
let s:pink_200 = "#f48fb1"
let s:pink_300 = "#f06292"
let s:pink_400 = "#ec407a"
let s:pink_500 = "#e91e63"
let s:pink_600 = "#d81b60"
let s:pink_700 = "#c2185b"
let s:pink_800 = "#ad1457"
let s:pink_900 = "#880e4f"
let s:pink_a100 = "#ff80ab"
let s:pink_a200 = "#ff4081"
let s:pink_a400 = "#f50057"
let s:pink_a700 = "#c51162"
let s:purple_50 = "#f3e5f5"
let s:purple_100 = "#e1bee7"
let s:purple_200 = "#ce93d8"
let s:purple_300 = "#ba68c8"
let s:purple_400 = "#ab47bc"
let s:purple_500 = "#9c27b0"
let s:purple_600 = "#8e24aa"
let s:purple_700 = "#7b1fa2"
let s:purple_800 = "#6a1b9a"
let s:purple_900 = "#4a148c"
let s:purple_a100 = "#ea80fc"
let s:purple_a200 = "#e040fb"
let s:purple_a400 = "#d500f9"
let s:purple_a700 = "#aa00ff"
let s:deep_purple_50 = "#ede7f6"
let s:deep_purple_100 = "#d1c4e9"
let s:deep_purple_200 = "#b39ddb"
let s:deep_purple_300 = "#9575cd"
let s:deep_purple_400 = "#7e57c2"
let s:deep_purple_500 = "#673ab7"
let s:deep_purple_600 = "#5e35b1"
let s:deep_purple_700 = "#512da8"
let s:deep_purple_800 = "#4527a0"
let s:deep_purple_900 = "#311b92"
let s:deep_purple_a100 = "#b388ff"
let s:deep_purple_a200 = "#7c4dff"
let s:deep_purple_a400 = "#651fff"
let s:deep_purple_a700 = "#6200ea"
let s:indigo_50 = "#e8eaf6"
let s:indigo_100 = "#c5cae9"
let s:indigo_200 = "#9fa8da"
let s:indigo_300 = "#7986cb"
let s:indigo_400 = "#5c6bc0"
let s:indigo_500 = "#3f51b5"
let s:indigo_600 = "#3949ab"
let s:indigo_700 = "#303f9f"
let s:indigo_800 = "#283593"
let s:indigo_900 = "#1a237e"
let s:indigo_a100 = "#8c9eff"
let s:indigo_a200 = "#536dfe"
let s:indigo_a400 = "#3d5afe"
let s:indigo_a700 = "#304ffe"
let s:blue_50 = "#e3f2fd"
let s:blue_100 = "#bbdefb"
let s:blue_200 = "#90caf9"
let s:blue_300 = "#64b5f6"
let s:blue_400 = "#42a5f5"
let s:blue_500 = "#2196f3"
let s:blue_600 = "#1e88e5"
let s:blue_700 = "#1976d2"
let s:blue_800 = "#1565c0"
let s:blue_900 = "#0d47a1"
let s:blue_a100 = "#82b1ff"
let s:blue_a200 = "#448aff"
let s:blue_a400 = "#2979ff"
let s:blue_a700 = "#2962ff"
let s:light_blue_50 = "#e1f5fe"
let s:light_blue_100 = "#b3e5fc"
let s:light_blue_200 = "#81d4fa"
let s:light_blue_300 = "#4fc3f7"
let s:light_blue_400 = "#29b6fc"
let s:light_blue_500 = "#03a9f4"
let s:light_blue_600 = "#039be5"
let s:light_blue_700 = "#0288d1"
let s:light_blue_800 = "#0277bd"
let s:light_blue_900 = "#01579b"
let s:light_blue_a100 = "#80d8ff"
let s:light_blue_a200 = "#40c4ff"
let s:light_blue_a400 = "#00b0ff"
let s:light_blue_a700 = "#0091ea"
let s:cyan_50 = "#e0f7fa"
let s:cyan_100 = "#b2ebf2"
let s:cyan_200 = "#80deea"
let s:cyan_300 = "#4dd0e1"
let s:cyan_400 = "#26c6da"
let s:cyan_500 = "#00bcd4"
let s:cyan_600 = "#00acc1"
let s:cyan_700 = "#0097a7"
let s:cyan_800 = "#00838f"
let s:cyan_900 = "#006064"
let s:cyan_a100 = "#84ffff"
let s:cyan_a200 = "#18ffff"
let s:cyan_a400 = "#00e5ff"
let s:cyan_a700 = "#00b8d4"
let s:teal_50 = "#e0f2f1"
let s:teal_100 = "#b2dfdb"
let s:teal_200 = "#80cbc4"
let s:teal_300 = "#4db6ac"
let s:teal_400 = "#26a69a"
let s:teal_500 = "#009688"
let s:teal_600 = "#00897b"
let s:teal_700 = "#00796b"
let s:teal_800 = "#00695c"
let s:teal_900 = "#004d40"
let s:teal_a100 = "#a7ffeb"
let s:teal_a200 = "#64ffda"
let s:teal_a400 = "#1de9b6"
let s:teal_a700 = "#00bfa5"
let s:green_50 = "#e8f5e9"
let s:green_100 = "#c8e6c9"
let s:green_200 = "#a5d6a7"
let s:green_300 = "#81c784"
let s:green_400 = "#66bb6a"
let s:green_500 = "#4caf50"
let s:green_600 = "#43a047"
let s:green_700 = "#388e3c"
let s:green_800 = "#2e7d32"
let s:green_900 = "#1b5e20"
let s:green_a100 = "#b9f6ca"
let s:green_a200 = "#69f0ae"
let s:green_a400 = "#00e676"
let s:green_a700 = "#00c853"
let s:light_green_50 = "#f1f8e9"
let s:light_green_100 = "#dcedc8"
let s:light_green_200 = "#c5e1a5"
let s:light_green_300 = "#aed581"
let s:light_green_400 = "#9ccc65"
let s:light_green_500 = "#8bc34a"
let s:light_green_600 = "#7cb342"
let s:light_green_700 = "#689f38"
let s:light_green_800 = "#558b2f"
let s:light_green_900 = "#33691e"
let s:light_green_a100 = "#ccff90"
let s:light_green_a200 = "#b2ff59"
let s:light_green_a400 = "#76ff03"
let s:light_green_a700 = "#64dd17"
let s:lime_50 = "#f9fbe7"
let s:lime_100 = "#f0f4c3"
let s:lime_200 = "#e6ee9c"
let s:lime_300 = "#dce775"
let s:lime_400 = "#d4e157"
let s:lime_500 = "#cddc39"
let s:lime_600 = "#c0ca33"
let s:lime_700 = "#a4b42b"
let s:lime_800 = "#9e9d24"
let s:lime_900 = "#827717"
let s:lime_a100 = "#f4ff81"
let s:lime_a200 = "#eeff41"
let s:lime_a400 = "#c6ff00"
let s:lime_a700 = "#aeea00"
let s:yellow_50 = "#fffde7"
let s:yellow_100 = "#fff9c4"
let s:yellow_200 = "#fff590"
let s:yellow_300 = "#fff176"
let s:yellow_400 = "#ffee58"
let s:yellow_500 = "#ffeb3b"
let s:yellow_600 = "#fdd835"
let s:yellow_700 = "#fbc02d"
let s:yellow_800 = "#f9a825"
let s:yellow_900 = "#f57f17"
let s:yellow_a100 = "#ffff82"
let s:yellow_a200 = "#ffff00"
let s:yellow_a400 = "#ffea00"
let s:yellow_a700 = "#ffd600"
let s:amber_50 = "#fff8e1"
let s:amber_100 = "#ffecb3"
let s:amber_200 = "#ffe082"
let s:amber_300 = "#ffd54f"
let s:amber_400 = "#ffca28"
let s:amber_500 = "#ffc107"
let s:amber_600 = "#ffb300"
let s:amber_700 = "#ffa000"
let s:amber_800 = "#ff8f00"
let s:amber_900 = "#ff6f00"
let s:amber_a100 = "#ffe57f"
let s:amber_a200 = "#ffd740"
let s:amber_a400 = "#ffc400"
let s:amber_a700 = "#ffab00"
let s:orange_50 = "#fff3e0"
let s:orange_100 = "#ffe0b2"
let s:orange_200 = "#ffcc80"
let s:orange_300 = "#ffb74d"
let s:orange_400 = "#ffa726"
let s:orange_500 = "#ff9800"
let s:orange_600 = "#fb8c00"
let s:orange_700 = "#f57c00"
let s:orange_800 = "#ef6c00"
let s:orange_900 = "#e65100"
let s:orange_a100 = "#ffd180"
let s:orange_a200 = "#ffab40"
let s:orange_a400 = "#ff9100"
let s:orange_a700 = "#ff6d00"
let s:deep_orange_50 = "#fbe9a7"
let s:deep_orange_100 = "#ffccbc"
let s:deep_orange_200 = "#ffab91"
let s:deep_orange_300 = "#ff8a65"
let s:deep_orange_400 = "#ff7043"
let s:deep_orange_500 = "#ff5722"
let s:deep_orange_600 = "#f4511e"
let s:deep_orange_700 = "#e64a19"
let s:deep_orange_800 = "#d84315"
let s:deep_orange_900 = "#bf360c"
let s:deep_orange_a100 = "#ff9e80"
let s:deep_orange_a200 = "#ff6e40"
let s:deep_orange_a400 = "#ff3d00"
let s:deep_orange_a700 = "#dd2600"
let s:brown_50 = "#efebe9"
let s:brown_100 = "#d7ccc8"
let s:brown_200 = "#bcaaa4"
let s:brown_300 = "#a1887f"
let s:brown_400 = "#8d6e63"
let s:brown_500 = "#795548"
let s:brown_600 = "#6d4c41"
let s:brown_700 = "#5d4037"
let s:brown_800 = "#4e342e"
let s:brown_900 = "#3e2723"
let s:grey_50 = "#fafafa"
let s:grey_100 = "#f5f5f5"
let s:grey_200 = "#eeeeee"
let s:grey_300 = "#e0e0e0"
let s:grey_400 = "#bdbdbd"
let s:grey_500 = "#9e9e9e"
let s:grey_600 = "#757575"
let s:grey_700 = "#616161"
let s:grey_800 = "#424242"
let s:grey_900 = "#212121"
let s:black_1000 = "#000000"
let s:white_1000 = "#ffffff"
let s:blue_grey_50 = "#eceff1"
let s:blue_grey_100 = "#cfd8dc"
let s:blue_grey_200 = "#b0bbc5"
let s:blue_grey_300 = "#90a4ae"
let s:blue_grey_400 = "#78909c"
let s:blue_grey_500 = "#607d8b"
let s:blue_grey_600 = "#546e7a"
let s:blue_grey_700 = "#455a64"
let s:blue_grey_800 = "#37474f"
let s:blue_grey_900 = "#263238"
" Highlighting function
fun! <sid>hi(group, guifg, guibg, attr)
if a:guifg != ""
exec "hi " . a:group . " guifg=" . a:guifg
endif
if a:guibg != ""
exec "hi " . a:group . " guibg=" . a:guibg
endif
if a:attr != ""
exec "hi " . a:group . " gui=" . a:attr
endif
endfun
call <sid>hi("LineNr", s:blue_grey_400, s:grey_50, "italic")
call <sid>hi("Normal", s:black_1000, s:white_1000, "")
call <sid>hi("Bold", "", "", "bold")
call <sid>hi("Italic", "", "", "italic")
call <sid>hi("Boolean", s:pink_900, "", "bold")
call <sid>hi("Character", "", "", "")
" call <sid>hi("Comment", s:deep_orange_900, "", "italic")
call <sid>hi("Comment", s:blue_grey_400, "", "italic")
" call <sid>hi("Comment", s:grey_600, "", "italic")
call <sid>hi("Conditional", "", "", "")
call <sid>hi("Constant", "", "", "")
call <sid>hi("Define", "", "", "")
call <sid>hi("Delimiter", "", "", "")
call <sid>hi("Float", "", "", "")
call <sid>hi("Function", s:red_900, "", "bold")
" call <sid>hi("Function", 5:grey_900, "", "bold")
call <sid>hi("Identifier", s:indigo_500, "", "bold")
call <sid>hi("Include", "", "", "")
call <sid>hi("Keyword", s:indigo_900, "", "")
call <sid>hi("Label", "", "", "")
call <sid>hi("Number", s:indigo_500, "", "")
call <sid>hi("Operator", s:cyan_900, "", "")
call <sid>hi("PreProc", "", "", "")
call <sid>hi("Repeat", "", "", "")
call <sid>hi("Search", "", s:yellow_100, "none")
call <sid>hi("Special", s:green_700, "", "")
call <sid>hi("SpecialChar", "", "", "")
call <sid>hi("Statement", s:blue_grey_700, "", "bold")
call <sid>hi("StorageClass", "", "", "")
call <sid>hi("String", s:light_green_900, "", "italic")
call <sid>hi("Structure", "", "", "")
call <sid>hi("Tag", "", "", "")
call <sid>hi("Todo", "", "", "")
call <sid>hi("Type", s:deep_purple_900, "", "none")
call <sid>hi("Typedef", "", "", "")
call <sid>hi("goDeclaration", "", "", "bold")
call <sid>hi("goReceiverType", s:teal_500, "", "none")
call <sid>hi("goMethodCall", s:brown_600, "", "none")
call <sid>hi("goField", s:cyan_900, "", "none")
call <sid>hi("goFunctionCall", s:brown_500, "", "none")

617
.config/nvim/init.vim Normal file
View file

@ -0,0 +1,617 @@
"" Vundle
" set rtp+=~/.vim/bundle/Vundle.vim
call plug#begin('~/.local/share/nvim/plugged')
" Autocomplete
" Plug 'ncm2/ncm2'
" Plug 'roxma/nvim-yarp'
" Plug 'ncm2/ncm2-bufword'
" Plug 'ncm2/ncm2-tmux'
" Plug 'ncm2/ncm2-path'
" Plug 'ncm2/ncm2-go'
" Plug 'ncm2/ncm2-racer'
" Plug 'neoclide/coc.nvim', {'tag': '*', 'do': { -> coc#util#install()}}
Plug 'neoclide/coc.nvim', {'do': 'yarn install --frozen-lockfile', 'branch': 'master'}
" Plugin outside ~/.vim/plugged with post-update hook
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
Plug 'junegunn/fzf.vim'
" Markdown
Plug 'jtratner/vim-flavored-markdown'
Plug 'tpope/vim-markdown'
" remove trailing whitespace
Plug 'bronson/vim-trailing-whitespace'
" comment lines out (gc in visual mode)
Plug 'tomtom/tcomment_vim'
" Pimped out bar at the bottom of current buffer
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
" Golang
Plug 'fatih/vim-go'
Plug 'mdempsky/gocode'
" Bazel
Plug 'bazelbuild/vim-bazel'
Plug 'bazelbuild/vim-ft-bzl'
" Rust
Plug 'racer-rust/vim-racer'
Plug 'roxma/nvim-cm-racer'
Plug 'rust-lang/rust.vim'
" Terraform
Plug 'b4b4r07/vim-hcl'
Plug 'hashivim/vim-terraform'
" Jsonnet filetype plugin
Plug 'google/vim-jsonnet'
" toml
Plug 'cespare/vim-toml'
" Plug 'ervandew/supertab'
Plug 'google/vim-maktaba'
Plug 'junegunn/vim-easy-align'
Plug 'junegunn/goyo.vim'
Plug 'junegunn/vim-peekaboo'
Plug 'kshenoy/vim-signature'
Plug 'Matt-Deacalion/vim-systemd-syntax'
Plug 'NLKNguyen/papercolor-theme'
Plug 'Shougo/neosnippet.vim'
Plug 'Shougo/neosnippet-snippets'
" Plug 'vim-syntastic/syntastic'
Plug 'w0rp/ale'
" Powershell
Plug 'PProvost/vim-ps1'
" Git
Plug 'airblade/vim-gitgutter'
Plug 'tpope/vim-fugitive'
Plug 'junegunn/gv.vim'
" PowerShell
Plug 'PProvost/vim-ps1'
" Webdev
Plug 'burner/vim-svelte'
call plug#end()
" language en_US
set encoding=utf8
set ffs=unix,dos,mac
set ttimeout
set ttimeoutlen=0
" set timeoutlen=150
" set ttimeoutlen=100
filetype on " detect the type of file
filetype plugin indent on " load filetype plugins
syntax on
set history=1000 " How many lines of history to remember
set viminfo='100,!,f1,\"100,:40,%,n~/.config/nvim/viminfo
set isk+=_,$,@,%,#,- " none of these should be word dividers, so make them not be
set hidden
set tabstop=2
set shiftwidth=2
set smarttab
set expandtab
set softtabstop=2
set autoindent
set copyindent
set smartindent " Don't mess with comments
set nojoinspaces
set autochdir
set autoread "Reload files changed outside vim
set nofoldenable " disable folding
" Wordwrap
" set formatoptions=l
" formatoptions:
" c - autowrap COMMENTS using textwidth
" r - insert comment leader (?) on <enter>
" o - insert comment leader on 'o' or 'O'
" q - gq formats comments (?)
" n - recon numbered lists
" v - wrap on blanks
" t - autowrap TEXT using textwidth
set fo=croqnvt
set lbr
set backspace=eol,start,indent
"Backspace and cursor keys wrap to
set whichwrap+=<,>,h,l
set wrap
"" GUI
set visualbell
set noerrorbells
set ruler
set cursorline
set guicursor=n-v-c:block,i-ci-ve:ver25,r-cr:hor20,o:hor50
set number " line numbers
set numberwidth=6
set lz " lazy redraw
set so=7 "scope
set sidescroll=1
set scrolloff=10
set mouse=a
set switchbuf=usetab
set showtabline=1
set selection=exclusive
set shortmess=atI
set wildmenu
set wildmode=list:longest
set wildignore=*.swp,*.bak,*.pyc,*.class
set splitbelow " Preview window
set splitright
let mapleader=","
"" Session
let g:session_autosave = 'no'
"" Fancy status line.
set laststatus=2
"" Powerline
"set rtp+=/home/dln/.vim/bundle/powerline/powerline/bindings/vim
"" Markers / Signature
let g:SignatureMarkTextHL="Bookmark"
"" Minibuffer
let g:miniBufExplModSelTarget = 1
let g:miniBufExplorerMoreThanOne = 0
let g:miniBufExplModSelTarget = 0
let g:miniBufExplUseSingleClick = 1
let g:miniBufExplMapWindowNavVim = 1
let g:miniBufExplVSplit = 25
let g:miniBufExplSplitBelow=1
"" X clipboard copy paste
map <silent> ,v :r!xclip -o<cr>
"" Searching
set showmatch
set incsearch
set ignorecase
set smartcase
set hlsearch
"" Use ack for grepping
set grepprg=ag
let g:ackprg='ag -H --nocolor --nogroup'
"" Bookmarks
let g:showmarks_enable=1
let g:showmarks_include="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
" Errormarker
let errormarker_errorgroup = "ErrorMsg"
let errormarker_warninggroup = "Todo"
"" Highlighting
map ,H :echo "hi<" . synIDattr(synID(line("."),col("."),1),"name") . '> trans<'
\ . synIDattr(synID(line("."),col("."),0),"name") . "> lo<"
\ . synIDattr(synIDtrans(synID(line("."),col("."),1)),"name") . ">"<CR>
"" Hide some files
let g:explHideFiles='^\.,.*\.class$,.*\.swp$,.*\.pyc$,.*\.swo$,\.DS_Store$,/tmp/v\d\d*'
let g:explDetailedHelp=1
"" Backup
set backup
set backupcopy=yes
set backupdir=~/.vim/backup,~/.tmp,~/tmp,/var/tmp,/tmp"
set directory=~/.vim/backup,~/.tmp,~/tmp,/var/tmp,/tmp"
let myvar = strftime("%y%m%d-%H%M")
let myvar = "set backupext=_". myvar
execute myvar
au BufWritePre * let &backupext = substitute(expand("%:p"), "\/", "_", "g")
set wildignore+=*/tmp/*,*.so,*.swp,*.zip,*.class,*/target/*,*/.git/*"
map <silent> <space> :Buffers<cr>
map <silent> <leader>` :Buffers<cr>
map <silent> <leader>; :Commits<cr>
map <silent> <leader>e :GitFiles<cr>
map <silent> <leader>d :Files<cr>
map <silent> <leader>f :History<cr>
" map <silent> <leader>g :BLines<cr>
map <silent> <leader>/ :Ag<cr>
map <silent> <leader>m :Marks<cr>
"" Key bindings
imap <silent>  <c-w>
inoremap <C-s> <esc>:w<cr>a
nnoremap <C-s> :w<cr>a
" C-Left, C-right
map <silent> <esc>[1;5D <C-Left>
map <silent> <esc>[1;5C <C-Right>
nnoremap <C-Left> b
vnoremap <C-S-Left> b
nnoremap <C-S-Left> gh<C-O>b
inoremap <C-S-Left> <C-\><C-O>gh<C-O>b
nnoremap <C-Right> w
vnoremap <C-S-Right> w
nnoremap <C-S-Right> gh<C-O>w
inoremap <C-S-Right> <C-\><C-O>gh<C-O>w
"" Align
" Start interactive EasyAlign in visual mode (e.g. vipga)
xmap ga <Plug>(EasyAlign)
" Start interactive EasyAlign for a motion/text object (e.g. gaip)
nmap ga <Plug>(EasyAlign)
"" Comments
map <silent> <c-/> :TComment<cr>
imap <silent> <c-/> <c--><c-->
"" Git
let g:SCMDiffCommand = "git"
let VCSCommandDeleteOnHide = 1
let g:git_branch_status_nogit=""
let g:git_branch_status_around="[]"
let g:git_branch_status_text=""
let g:git_branch_status_head_current=1
let g:gitgutter_override_sign_column_highlight = 0
let g:gitgutter_sign_added = ''
let g:gitgutter_sign_modified = ''
let g:gitgutter_sign_removed = ''
let g:gitgutter_sign_removed_first_line = ''
let g:gitgutter_sign_modified_removed = ''
"" Syntastic
let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0
let g:syntastic_enable_signs = 1
let g:syntastic_error_symbol = "✗"
let syntastic_style_error_symbol = "✗"
let g:syntastic_warning_symbol = "∙∙"
let syntastic_style_warning_symbol = "∙∙"
"" ALE
let g:airline#extensions#ale#enabled = 1
let g:ale_sign_column_always = 1
let g:ale_sign_error = '' "     ﱥ  ﬡ  樂
let g:ale_sign_warning = ''
" let g:ale_linters = {'go': ['gofmt']}
" let g:ale_linters = {'go': ['go build', 'gofmt', 'golint', 'gometalinter', 'gosimple', 'go vet', 'staticcheck']}
" let g:ale_linters = {'go': ['gofmt', 'golint', 'gometalinter', 'gosimple', 'go vet', 'staticcheck']}
let g:ale_linters = {'go': ['gofmt', 'gometalinter']}
let g:go_gometalinter_options = join([
\ '--fast'
\ ], ' ')
nmap <silent> <C-k> <Plug>(ale_previous_wrap)
nmap <silent> <C-j> <Plug>(ale_next_wrap)
"" Buffer navigation
map <silent> ` :b#<CR>
"" "Turn off search highlight
map <silent> <Bslash><cr> :noh<cr>
map <silent> <leader><cr> :noh<cr>
nmap <silent> ,/ :let @/=""<CR>
""
"" File types
""
au BufNewFile,BufRead manifest setlocal ft=json
au BufNewFile,BufRead *.aurora set filetype=python
au BufNewFile,BufRead *.avdl setlocal ft=avro-idl
au BufNewFile,BufRead *.avpr setlocal ft=json
au BufNewFile,BufRead *.bazel setlocal ft=bzl
au BufNewFile,BufRead *.cql set syntax=cql
au BufNewFile,BufRead *.go setlocal ft=go
au BufNewFile,BufRead *.g setlocal ft=antlr
au BufNewFile,BufRead *.js set ft=javascript
au BufNewFile,BufRead *.json setfiletype json
au BufNewFile,BufRead *.pig set filetype=pig syntax=pig
au BufNewFile,BufRead *.template setfiletype json
au BufNewFile,BufRead *.thrift setlocal ft=thrift
au BufNewFile,BufRead *.upstart set filetype=upstart
au BufNewFile,BufRead *.upstart.conf set filetype=upstart
au BufNewFile,BufRead SCons* set filetype=python
"" JavaScript, Json
let g:vim_json_syntax_conceal = 0
"" Jsonnet
let g:jsonnet_fmt_fail_silently = 0
autocmd BufNewFile,BufAdd,BufRead *.libjsonnet setlocal ft=jsonnet
"" Scala
autocmd BufNewFile,BufAdd,BufRead build.sbt setlocal ft=scala
autocmd BufNewFile,BufAdd,BufRead *.scala setlocal ft=scala
autocmd FileType scala setlocal expandtab shiftwidth=2 tabstop=2 softtabstop=2
"" Rust
autocmd FileType rust setlocal expandtab shiftwidth=4 tabstop=4 softtabstop=4
"" Clojure
let g:paredit_mode=0
let g:clj_highlight_builtins=1 " Highlight Clojure's builtins
let g:clj_paren_rainbow=1 " Rainbow parentheses'!
"" Python
au FileType python
\ setlocal efm=%C\ %.%#,%A\ \ File\ \"%f\"\\,\ line\ %l%.%#,%Z%[%^\ ]%\\@=%m |
\ setlocal makeprg=python\ % |
\ setlocal tabstop=4 softtabstop=4 shiftwidth=4 |
\ setlocal nosmartindent cinwords=if,elif,else,for,while,try,except,finally,def,class
autocmd BufWritePre *.py normal m`:%s/\s\+$//e ``
" pydoc integration
let g:pydoc_highlight = 0
let python_highlight_all = 1
let g:pcs_check_when_saving = 0
let g:pymode_lint = 0
let g:pymode_lint_checker = "pyflakes"
" enable ncm2 for all buffers
" autocmd BufEnter * call ncm2#enable_for_buffer()
set completeopt=noinsert,menuone,noselect
"" COC completion
" Use tab for trigger completion with characters ahead and navigate.
" Use command ':verbose imap <tab>' to make sure tab is not mapped by other plugin.
inoremap <silent><expr> <TAB>
\ pumvisible() ? "\<C-n>" :
\ <SID>check_back_space() ? "\<TAB>" :
\ coc#refresh()
inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"
function! s:check_back_space() abort
let col = col('.') - 1
return !col || getline('.')[col - 1] =~# '\s'
endfunction
" Remap for rename current word
nmap <leader>rn <Plug>(coc-rename)
" Use <c-space> for trigger completion.
inoremap <silent><expr> <c-space> coc#refresh()
" Use <cr> for confirm completion, `<C-g>u` means break undo chain at current position.
" Coc only does snippet and additional edit on confirm.
inoremap <expr> <cr> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>"
" Use `[c` and `]c` for navigate diagnostics
nmap <silent> [c <Plug>(coc-diagnostic-prev)
nmap <silent> ]c <Plug>(coc-diagnostic-next)
" Remap keys for gotos
nmap <silent> gd <Plug>(coc-definition)
nmap <silent> gy <Plug>(coc-type-definition)
nmap <silent> gi <Plug>(coc-implementation)
nmap <silent> gr <Plug>(coc-references)
" Use K for show documentation in preview window
nnoremap <silent> K :call <SID>show_documentation()<CR>
" Use U to show documentation in preview window
nnoremap <silent> U :call <SID>show_documentation()<CR>
function! s:show_documentation()
if &filetype == 'vim'
execute 'h '.expand('<cword>')
else
call CocAction('doHover')
endif
endfunction
" Highlight symbol under cursor on CursorHold
" autocmd CursorHold * silent call CocActionAsync('highlight')
autocmd CursorHold * silent call CocActionAsync('doHover')
" Remap for rename current word
nmap <leader>rn <Plug>(coc-rename)
" Remap for format selected region
" vmap <leader>f <Plug>(coc-format-selected)
" nmap <leader>f <Plug>(coc-format-selected)
augroup mygroup
autocmd!
" Setup formatexpr specified filetype(s).
autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected')
" Update signature help on jump placeholder
autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp')
augroup end
" Remap for do codeAction of selected region, ex: `<leader>aap` for current paragraph
vmap <leader>a <Plug>(coc-codeaction-selected)
nmap <leader>a <Plug>(coc-codeaction-selected)
" Remap for do codeAction of current line
nmap <leader>ac <Plug>(coc-codeaction)
" Fix autofix problem of current line
nmap <leader>qf <Plug>(coc-fix-current)
" tags
set tags=./tags;/
" C++
" Add highlighting for function definition in C++
function! EnhanceCppSyntax()
syn match cppFuncDef "::\~\?\zs\h\w*\ze([^)]*\()\s*\(const\)\?\)\?$"
hi def link cppFuncDef Special
endfunction
autocmd Syntax cpp call EnhanceCppSyntax()
autocmd FileType cpp setlocal expandtab shiftwidth=2 tabstop=2 softtabstop=2
" HTML
au FileType html
\ set makeprg=tidy\ -qe\ -access\ 3\ % |
\ set errorformat=line\ %l\ column\ %c\ \-\ %m
" let g:html_indent_tags .= '\|p'
" let g:html_indent_tags .= '\|li'
au FileType xml
\ set makeprg=tidy\ -qe\ -access\ 3\ % |
\ set errorformat=line\ %l\ column\ %c\ \-\ %m
"" fzf
let g:fzf_layout = { 'up': '~40%' }
let g:fzf_colors =
\ { 'fg': ['fg', 'Comment'],
\ 'bg': ['bg', 'Comment'],
\ 'hl': ['fg', 'Comment'],
\ 'fg+': ['fg', 'PMenuSel', 'PMenuSel', 'Normal'],
\ 'bg+': ['bg', 'PMenuSel', 'PMenuSel'],
\ 'hl+': ['fg', 'Statement'],
\ 'info': ['fg', 'PreProc'],
\ 'border': ['fg', 'Ignore'],
\ 'prompt': ['fg', 'Conditional'],
\ 'pointer': ['fg', 'Exception'],
\ 'marker': ['fg', 'Keyword'],
\ 'spinner': ['fg', 'Label'],
\ 'header': ['fg', 'Normal'] }
" Show syntax highlight group in the status bar
map ,h :echo "hi<" . synIDattr(synID(line("."),col("."),1),"name") . '> trans<'
\ . synIDattr(synID(line("."),col("."),0),"name") . "> lo<"
\ . synIDattr(synIDtrans(synID(line("."),col("."),1)),"name") . ">"<CR>
set background=dark
let g:one_allow_italics=1
let g:PaperColor_Light_Override = { 'Background' : '#fefe00' }
" Golang
let g:go_highlight_build_constraints = 1
let g:go_highlight_extra_types = 1
let g:go_highlight_fields = 1
let g:go_highlight_functions = 1
let g:go_highlight_function_calls = 1
let g:go_highlight_interfaces = 1
let g:go_highlight_methods = 1
let g:go_highlight_operators = 1
let g:go_highlight_structs = 1
let g:go_highlight_types = 1
let g:go_auto_sameids = 1
let g:go_def_mode='gopls'
let g:go_info_mode='gopls'
let g:go_updatetime = 200
let g:go_snippet_engine = "neosnippet"
" Let coc.nvim handle GoDef.
let g:go_def_mapping_enabled = 0
autocmd FileType go nmap <Leader>i <Plug>(go-info)
autocmd FileType go nmap <S-k> <Plug>(go-doc)
autocmd FileType go nmap <Leader>d <Plug>(go-doc-vertical)
"" Neosnippet
" imap <C-k> <Plug>(neosnippet_expand_or_jump)
" smap <C-k> <Plug>(neosnippet_expand_or_jump)
" xmap <C-k> <Plug>(neosnippet_expand_target)
" imap <expr> <CR> (pumvisible() ? "\<c-y>\<Plug>(expand_or_nl)" : "\<CR>")
" imap <expr> <Plug>(expand_or_nl) (cm#completed_is_snippet() ? "\<C-k>":"\<CR>")
"
imap <c-j> <Plug>(neosnippet_expand_or_jump)
vmap <c-j> <Plug>(neosnippet_expand_or_jump)
inoremap <silent> <c-u> <c-r>=cm#sources#neosnippet#trigger_or_popup("\<Plug>(neosnippet_expand_or_jump)")<cr>
vmap <c-u> <Plug>(neosnippet_expand_target)
" expand parameters
let g:neosnippet#enable_completed_snippet=1
" Hugo
let g:vim_markdown_frontmatter = 1
let g:vim_markdown_toml_frontmatter = 1
"" Airline
let g:airline_theme='distinguished'
let g:airline_powerline_fonts = 1
let g:airline_skip_empty_sections = 1
let g:airline#parts#ffenc#skip_expected_string='utf-8[unix]'
let g:airline_section_x = '' " Hide file type
let g:airline_section_z = "\uf0c9 %l \ufb87 %c"
let g:airline_mode_map = {
\ '__' : '-',
\ 'c' : 'C',
\ 'i' : 'I',
\ 'ic' : 'I',
\ 'ix' : 'I',
\ 'n' : "\ue62b",
\ 'ni' : "\ue62b",
\ 'no' : "\ue62b",
\ 'R' : 'R',
\ 'Rv' : 'R',
\ 's' : 'S',
\ 'S' : 'S',
\ '' : 'S',
\ 't' : 'T',
\ 'v' : 'V',
\ 'V' : 'V',
\ '' : 'V',
\ }
"" Terminal
let $NVIM_TUI_ENABLE_TRUE_COLOR=1
set termguicolors
let &t_8f = "<Esc>[38;2;%lu;%lu;%lum"
let &t_8b = "<Esc>[48;2;%lu;%lu;%lum"
color dln-light
" color dln-dark
map ,l :color dln-light<CR>
let s:hidden_all = 1
set noshowmode
set noruler
set laststatus=0
set noshowcmd
function! ToggleHiddenAll()
if s:hidden_all == 0
let s:hidden_all = 1
set noshowmode
set noruler
set laststatus=0
set noshowcmd
else
let s:hidden_all = 0
set showmode
set ruler
set laststatus=2
set showcmd
endif
endfunction
nnoremap <S-h> :call ToggleHiddenAll()<CR>

View file

@ -0,0 +1,124 @@
{
"colors": {
"black": 16,
"white": 231,
"green": 2,
"darkestgreen": 22,
"darkgreen": 28,
"mediumgreen": 70,
"brightgreen": 148,
"darkestcyan": 23,
"darkcyan": 74,
"mediumcyan": 117,
"brightcyan": 159,
"darkestblue": 24,
"darkblue": 31,
"red": 1,
"darkestred": 52,
"darkred": 88,
"mediumred": 124,
"brightred": 160,
"brightestred": 196,
"darkestpurple": 55,
"mediumpurple": 98,
"brightpurple": 189,
"darkorange": 94,
"mediumorange": 166,
"brightorange": 208,
"brightestorange": 214,
"yellow": 11,
"brightyellow": 220,
"gray0": 233,
"gray1": 235,
"gray2": 236,
"gray3": 239,
"gray4": 240,
"gray5": 241,
"gray6": 244,
"gray7": 245,
"gray8": 247,
"gray9": 250,
"gray10": 252,
"gray11": 234,
"gray90": 254,
"gray70": [249, "b3b3b3"],
"lightyellowgreen": 106,
"gold3": 178,
"orangered": 202,
"steelblue": 67,
"darkorange3": 166,
"skyblue1": 117,
"khaki1": 228,
"solarized:base03": [8, "002b36"],
"solarized:base02": [0, "073642"],
"solarized:base01": [10, "586e75"],
"solarized:base00": [11, "657b83"],
"solarized:base0": [12, "839496"],
"solarized:base1": [14, "93a1a1"],
"solarized:base2": [7, "eee8d5"],
"solarized:base3": [15, "fdf6e3"],
"solarized:yellow": [3, "b58900"],
"solarized:orange": [9, "cb4b16"],
"solarized:red": [1, "dc322f"],
"solarized:magenta": [5, "d33682"],
"solarized:violet": [13, "6c71c4"],
"solarized:blue": [4, "268bd2"],
"solarized:cyan": [6, "2aa198"],
"solarized:green": [2, "859900"]
},
"gradients": {
"dark_GREEN_Orange_red": [
[22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 94, 94, 94, 94, 94, 94, 94, 88, 52],
["006000", "006000", "006000", "006000", "006000", "006000", "006000", "006000", "006000", "036000", "076000", "0a6000", "0d6000", "106000", "126000", "146000", "166000", "186000", "1a6000", "1b6000", "1d6000", "1e6000", "206000", "216000", "236000", "246000", "256000", "266000", "286000", "296000", "2a6000", "2b6000", "2c6100", "2d6100", "2f6100", "306100", "316100", "326100", "336100", "346100", "356100", "366100", "376100", "386100", "386100", "396100", "3a6100", "3b6100", "3c6100", "3d6100", "3e6100", "3f6100", "406100", "406100", "416100", "426000", "436000", "446000", "456000", "456000", "466000", "476000", "486000", "496000", "496000", "4a6000", "4b6000", "4c6000", "4d6000", "4d6000", "4e6000", "4f6000", "506000", "506000", "516000", "526000", "536000", "536000", "546000", "556000", "566000", "566000", "576000", "586000", "596000", "596000", "5a6000", "5d6000", "616000", "646000", "686000", "6b6000", "6f6000", "726000", "766000", "796000", "7d6000", "806000", "7e5500", "6f3105", "5d0001"]
],
"GREEN_Orange_red": [
[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1],
["005f00", "015f00", "025f00", "035f00", "045f00", "055f00", "065f00", "075f00", "085f00", "095f00", "0b5f00", "0c5f00", "0d5f00", "0e5f00", "0f5f00", "105f00", "115f00", "125f00", "135f00", "145f00", "165f00", "175f00", "185f00", "195f00", "1a5f00", "1b5f00", "1c5f00", "1d5f00", "1e5f00", "1f5f00", "215f00", "225f00", "235f00", "245f00", "255f00", "265f00", "275f00", "285f00", "295f00", "2a5f00", "2c5f00", "2d5f00", "2e5f00", "2f5f00", "305f00", "315f00", "325f00", "335f00", "345f00", "355f00", "375f00", "385f00", "395f00", "3a5f00", "3b5f00", "3c5f00", "3d5f00", "3e5f00", "3f5f00", "415f00", "425f00", "435f00", "445f00", "455f00", "465f00", "475f00", "485f00", "495f00", "4a5f00", "4c5f00", "4d5f00", "4e5f00", "4f5f00", "505f00", "515f00", "525f00", "535f00", "545f00", "555f00", "575f00", "585f00", "595f00", "5a5f00", "5b5f00", "5c5f00", "5d5f00", "5e5f00", "615f00", "655f00", "685f00", "6c5f00", "6f5f00", "735f00", "765f00", "7a5f00", "7d5f00", "815f00", "845f00", "815200", "702900"]
],
"green_yellow_red": [
[190, 184, 178, 172, 166, 160],
["8ae71c", "8ce71c", "8fe71c", "92e71c", "95e71d", "98e71d", "9ae71d", "9de71d", "a0e71e", "a3e71e", "a6e71e", "a8e71e", "abe71f", "aee71f", "b1e71f", "b4e71f", "b6e720", "b9e720", "bce720", "bfe720", "c2e821", "c3e721", "c5e621", "c7e521", "c9e522", "cbe422", "cde322", "cfe222", "d1e223", "d3e123", "d5e023", "d7df23", "d9df24", "dbde24", "dddd24", "dfdc24", "e1dc25", "e3db25", "e5da25", "e7d925", "e9d926", "e9d626", "e9d426", "e9d126", "e9cf27", "e9cc27", "e9ca27", "e9c727", "e9c528", "e9c228", "e9c028", "e9bd28", "e9bb29", "e9b829", "e9b629", "e9b329", "e9b12a", "e9ae2a", "e9ac2a", "e9a92a", "eaa72b", "eaa42b", "eaa22b", "ea9f2b", "ea9d2c", "ea9b2c", "ea982c", "ea962c", "ea942d", "ea912d", "ea8f2d", "ea8d2d", "ea8a2e", "ea882e", "ea862e", "ea832e", "ea812f", "ea7f2f", "ea7c2f", "ea7a2f", "eb7830", "eb7530", "eb7330", "eb7130", "eb6f31", "eb6c31", "eb6a31", "eb6831", "eb6632", "eb6332", "eb6132", "eb5f32", "eb5d33", "eb5a33", "eb5833", "eb5633", "eb5434", "eb5134", "eb4f34", "eb4d34", "ec4b35"]
],
"green_yellow_orange_red": [
[2, 3, 9, 1],
["719e07", "739d06", "759c06", "779c06", "799b06", "7b9a05", "7d9a05", "7f9905", "819805", "839805", "859704", "879704", "899604", "8b9504", "8d9504", "8f9403", "919303", "949303", "969203", "989102", "9a9102", "9c9002", "9e9002", "a08f02", "a28e01", "a48e01", "a68d01", "a88c01", "aa8c01", "ac8b00", "ae8a00", "b08a00", "b28900", "b58900", "b58700", "b68501", "b78302", "b78102", "b87f03", "b97d04", "b97b04", "ba7905", "bb7806", "bb7606", "bc7407", "bd7208", "bd7008", "be6e09", "bf6c0a", "bf6a0a", "c0690b", "c1670c", "c1650c", "c2630d", "c3610e", "c35f0e", "c45d0f", "c55b10", "c55a10", "c65811", "c75612", "c75412", "c85213", "c95014", "c94e14", "ca4c15", "cb4b16", "cb4a16", "cc4917", "cc4818", "cd4719", "cd4719", "ce461a", "ce451b", "cf441c", "cf441c", "d0431d", "d0421e", "d1411f", "d1411f", "d24020", "d23f21", "d33e22", "d33e22", "d43d23", "d43c24", "d53b25", "d53b25", "d63a26", "d63927", "d73828", "d73828", "d83729", "d8362a", "d9352b", "d9352b", "da342c", "da332d", "db322e", "dc322f"]
],
"yellow_red": [
[220, 178, 172, 166, 160],
["ffd700", "fdd500", "fbd300", "fad200", "f8d000", "f7cf00", "f5cd00", "f3cb00", "f2ca00", "f0c800", "efc700", "edc500", "ebc300", "eac200", "e8c000", "e7bf00", "e5bd00", "e3bb00", "e2ba00", "e0b800", "dfb700", "ddb500", "dbb300", "dab200", "d8b000", "d7af00", "d7ad00", "d7ab00", "d7aa00", "d7a800", "d7a700", "d7a500", "d7a300", "d7a200", "d7a000", "d79f00", "d79d00", "d79b00", "d79a00", "d79800", "d79700", "d79500", "d79300", "d79200", "d79000", "d78f00", "d78d00", "d78b00", "d78a00", "d78800", "d78700", "d78500", "d78300", "d78200", "d78000", "d77f00", "d77d00", "d77b00", "d77a00", "d77800", "d77700", "d77500", "d77300", "d77200", "d77000", "d76f00", "d76d00", "d76b00", "d76a00", "d76800", "d76700", "d76500", "d76300", "d76200", "d76000", "d75f00", "d75b00", "d75700", "d75300", "d74f00", "d74c00", "d74800", "d74400", "d74000", "d73c00", "d73900", "d73500", "d73100", "d72d00", "d72900", "d72600", "d72200", "d71e00", "d71a00", "d71600", "d71300", "d70f00", "d70b00", "d70700"]
],
"yellow_orange_red": [
[3, 9, 1],
["b58900", "b58700", "b58600", "b68501", "b68401", "b78202", "b78102", "b88003", "b87f03", "b87d03", "b97c04", "b97b04", "ba7a05", "ba7805", "bb7706", "bb7606", "bc7507", "bc7307", "bc7207", "bd7108", "bd7008", "be6e09", "be6d09", "bf6c0a", "bf6b0a", "c06a0b", "c0680b", "c0670b", "c1660c", "c1650c", "c2630d", "c2620d", "c3610e", "c3600e", "c35e0e", "c45d0f", "c45c0f", "c55b10", "c55910", "c65811", "c65711", "c75612", "c75412", "c75312", "c85213", "c85113", "c94f14", "c94e14", "ca4d15", "ca4c15", "cb4b16", "cb4a16", "cb4a17", "cc4917", "cc4918", "cc4818", "cd4819", "cd4719", "cd471a", "ce461a", "ce461b", "ce451b", "cf451c", "cf441c", "cf441d", "d0431d", "d0431e", "d0421e", "d1421f", "d1411f", "d14120", "d24020", "d24021", "d23f21", "d33f22", "d33e22", "d33e23", "d43d23", "d43d24", "d43c24", "d53c25", "d53b25", "d53b26", "d63a26", "d63a27", "d63927", "d73928", "d73828", "d73829", "d83729", "d8372a", "d8362a", "d9362b", "d9352b", "d9352c", "da342c", "da342d", "da332d", "db332e"]
],
"blue_red": [
[39, 74, 68, 67, 103, 97, 96, 132, 131, 167, 203, 197],
["19b4fe", "1bb2fc", "1db1fa", "1faff8", "22aef6", "24adf4", "26abf2", "29aaf0", "2ba9ee", "2da7ec", "30a6ea", "32a5e8", "34a3e6", "36a2e4", "39a0e2", "3b9fe1", "3d9edf", "409cdd", "429bdb", "449ad9", "4798d7", "4997d5", "4b96d3", "4d94d1", "5093cf", "5292cd", "5490cb", "578fc9", "598dc7", "5b8cc6", "5e8bc4", "6089c2", "6288c0", "6487be", "6785bc", "6984ba", "6b83b8", "6e81b6", "7080b4", "727eb2", "757db0", "777cae", "797aac", "7b79ab", "7e78a9", "8076a7", "8275a5", "8574a3", "8772a1", "89719f", "8c709d", "8e6e9b", "906d99", "926b97", "956a95", "976993", "996791", "9c668f", "9e658e", "a0638c", "a3628a", "a56188", "a75f86", "a95e84", "ac5c82", "ae5b80", "b05a7e", "b3587c", "b5577a", "b75678", "ba5476", "bc5374", "be5273", "c05071", "c34f6f", "c54e6d", "c74c6b", "ca4b69", "cc4967", "ce4865", "d14763", "d34561", "d5445f", "d7435d", "da415b", "dc4059", "de3f58", "e13d56", "e33c54", "e53a52", "e83950", "ea384e", "ec364c", "ee354a", "f13448", "f33246", "f53144", "f83042", "fa2e40"]
],
"white_red": [
[231, 255, 223, 216, 209, 202, 196],
["ffffff", "fefefe", "fdfdfd", "fdfdfd", "fcfcfc", "fbfbfb", "fafafa", "fafafa", "f9f9f9", "f8f8f8", "f7f7f7", "f7f7f7", "f6f6f6", "f5f5f5", "f4f4f4", "f4f3f4", "f3f3f3", "f2f2f2", "f1f1f1", "f0f0f0", "f0f0f0", "efefef", "eeeeee", "efecea", "f1eae4", "f2e8de", "f3e6d8", "f5e4d3", "f6e2cd", "f7e0c7", "f8dec2", "f9dcbc", "fadab6", "fad8b1", "fbd5ac", "fbd2a9", "fbcea5", "fbcaa1", "fbc79e", "fbc39a", "fbc097", "fbbc93", "fbb88f", "fbb58c", "fab188", "faad85", "faaa81", "fba67e", "fba37a", "fb9f76", "fb9c73", "fb986f", "fb946c", "fb9168", "fa8d65", "fa8961", "fa865c", "fa8256", "fb7f4f", "fb7b48", "fb7841", "fb743a", "fb7133", "fb6d2c", "fa6a23", "fa661a", "fa620e", "fa5f03", "fa5d03", "fa5b03", "fa5a03", "fa5803", "fa5703", "fa5503", "fa5303", "fa5103", "fa4f03", "fa4e03", "fa4c03", "fa4a04", "fa4804", "fa4604", "fa4404", "fa4204", "fa3f04", "fa3d04", "fa3b04", "fa3805", "fa3605", "fa3305", "fb3105", "fb2e05", "fb2a05", "fb2705", "fb2306", "fb1f06", "fb1b06", "fb1506", "fb0e06", "fa0506", "fa0007"]
],
"dark_green_gray": [
[70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247],
["51b000", "52b000", "54b000", "55b002", "56b007", "57b00d", "58b011", "59af15", "5aaf18", "5caf1b", "5daf1e", "5eaf21", "5faf23", "60ae25", "61ae27", "62ae2a", "63ae2c", "64ae2e", "65ae30", "66ae31", "67ad33", "68ad35", "69ad37", "69ad38", "6aad3a", "6bad3c", "6cac3d", "6dac3f", "6eac40", "6fac42", "70ac44", "70ac45", "71ab47", "72ab48", "73ab49", "74ab4b", "75ab4c", "75ab4e", "76aa4f", "77aa51", "78aa52", "79aa53", "79aa55", "7aaa56", "7ba957", "7ca959", "7ca95a", "7da95b", "7ea95d", "7fa95e", "7fa85f", "80a861", "81a862", "81a863", "82a865", "83a766", "83a767", "84a768", "85a76a", "85a76b", "86a66c", "87a66d", "87a66f", "88a670", "89a671", "89a672", "8aa574", "8ba575", "8ba576", "8ca577", "8da579", "8da47a", "8ea47b", "8ea47c", "8fa47d", "90a47f", "90a380", "91a381", "91a382", "92a384", "93a385", "93a286", "94a287", "94a288", "95a28a", "95a18b", "96a18c", "97a18d", "97a18e", "98a190", "98a091", "99a092", "99a093", "9aa094", "9aa096", "9b9f97", "9b9f98", "9c9f99", "9c9f9a", "9d9e9c", "9d9e9d"]
],
"light_green_gray": [
[148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 187, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250],
["a3d900", "a4d800", "a4d800", "a5d805", "a5d80d", "a6d714", "a6d719", "a6d71d", "a7d621", "a7d625", "a8d628", "a8d62b", "a8d52e", "a9d531", "a9d533", "aad536", "aad438", "aad43a", "abd43d", "abd33f", "abd341", "acd343", "acd345", "acd247", "add249", "add24b", "add14d", "aed14f", "aed151", "aed152", "afd054", "afd056", "afd058", "b0d059", "b0cf5b", "b0cf5d", "b1cf5e", "b1ce60", "b1ce62", "b1ce63", "b2ce65", "b2cd67", "b2cd68", "b3cd6a", "b3cc6b", "b3cc6d", "b3cc6e", "b4cc70", "b4cb71", "b4cb73", "b4cb75", "b5ca76", "b5ca78", "b5ca79", "b5ca7a", "b6c97c", "b6c97d", "b6c97f", "b6c880", "b6c882", "b7c883", "b7c885", "b7c786", "b7c788", "b7c789", "b8c68a", "b8c68c", "b8c68d", "b8c68f", "b8c590", "b9c591", "b9c593", "b9c494", "b9c496", "b9c497", "b9c498", "bac39a", "bac39b", "bac39d", "bac29e", "bac29f", "bac2a1", "bac2a2", "bac1a4", "bbc1a5", "bbc1a6", "bbc0a8", "bbc0a9", "bbc0aa", "bbc0ac", "bbbfad", "bbbfae", "bbbfb0", "bbbeb1", "bcbeb3", "bcbeb4", "bcbdb5", "bcbdb7", "bcbdb8", "bcbdb9", "bcbcbb"]
]
}
}

View file

@ -0,0 +1,56 @@
{
"name": "Default",
"groups": {
"information:additional": { "fg": "gray9", "bg": "gray4", "attrs": [] },
"information:regular": { "fg": "gray10", "bg": "gray4", "attrs": ["bold"] },
"information:highlighted": { "fg": "white", "bg": "gray4", "attrs": [] },
"information:priority": { "fg": "brightyellow", "bg": "mediumorange", "attrs": [] },
"warning:regular": { "fg": "white", "bg": "brightred", "attrs": ["bold"] },
"critical:failure": { "fg": "white", "bg": "darkestred", "attrs": [] },
"critical:success": { "fg": "white", "bg": "darkestgreen", "attrs": [] },
"background": { "fg": "white", "bg": "gray0", "attrs": [] },
"background:divider": { "fg": "gray5", "bg": "gray0", "attrs": [] },
"session": { "fg": "black", "bg": "gray10", "attrs": ["bold"] },
"date": { "fg": "gray8", "bg": "gray2", "attrs": [] },
"time": { "fg": "gray10", "bg": "gray2", "attrs": ["bold"] },
"time:divider": { "fg": "gray5", "bg": "gray2", "attrs": [] },
"email_alert": "warning:regular",
"email_alert_gradient": { "fg": "white", "bg": "yellow_orange_red", "attrs": ["bold"] },
"hostname": { "fg": "black", "bg": "gray10", "attrs": ["bold"] },
"weather": { "fg": "gray8", "bg": "gray0", "attrs": [] },
"weather_temp_gradient": { "fg": "blue_red", "bg": "gray0", "attrs": [] },
"weather_condition_hot": { "fg": "khaki1", "bg": "gray0", "attrs": [] },
"weather_condition_snowy": { "fg": "skyblue1", "bg": "gray0", "attrs": [] },
"weather_condition_rainy": { "fg": "skyblue1", "bg": "gray0", "attrs": [] },
"uptime": { "fg": "gray8", "bg": "gray0", "attrs": [] },
"external_ip": { "fg": "gray8", "bg": "gray0", "attrs": [] },
"internal_ip": { "fg": "gray8", "bg": "gray0", "attrs": [] },
"network_load": { "fg": "gray8", "bg": "gray0", "attrs": [] },
"network_load_gradient": { "fg": "green_yellow_orange_red", "bg": "gray0", "attrs": [] },
"network_load_sent_gradient": "network_load_gradient",
"network_load_recv_gradient": "network_load_gradient",
"network_load:divider": "background:divider",
"system_load": { "fg": "gray8", "bg": "gray0", "attrs": [] },
"system_load_gradient": { "fg": "green_yellow_orange_red", "bg": "gray0", "attrs": [] },
"environment": { "fg": "gray8", "bg": "gray0", "attrs": [] },
"cpu_load_percent": { "fg": "gray8", "bg": "gray0", "attrs": [] },
"cpu_load_percent_gradient": { "fg": "green_yellow_orange_red", "bg": "gray0", "attrs": [] },
"battery": { "fg": "gray8", "bg": "gray0", "attrs": [] },
"battery_gradient": { "fg": "white_red", "bg": "gray0", "attrs": [] },
"battery_full": { "fg": "red", "bg": "gray0", "attrs": [] },
"battery_empty": { "fg": "white", "bg": "gray0", "attrs": [] },
"player": { "fg": "gray10", "bg": "black", "attrs": [] },
"user": { "fg": "skyblue1", "bg": "darkblue", "attrs": ["bold"] },
"branch": { "fg": "gray9", "bg": "gray2", "attrs": [] },
"branch_dirty": { "fg": "brightyellow", "bg": "gray2", "attrs": [] },
"branch_clean": { "fg": "gray9", "bg": "gray2", "attrs": [] },
"branch:divider": { "fg": "gray7", "bg": "gray2", "attrs": [] },
"stash": "branch_dirty",
"stash:divider": "branch:divider",
"cwd": "information:additional",
"cwd:current_folder": "information:regular",
"cwd:divider": { "fg": "gray7", "bg": "gray4", "attrs": [] },
"virtualenv": { "fg": "white", "bg": "darkcyan", "attrs": [] },
"attached_clients": { "fg": "gray8", "bg": "gray0", "attrs": [] }
}
}

View file

@ -0,0 +1,6 @@
{
"groups": {
"prompt": "information:additional",
"prompt_count": "information:highlighted"
}
}

View file

@ -0,0 +1,8 @@
{
"groups": {
"current_code_name": "information:additional",
"current_context": "current_code_name",
"current_line": "information:regular",
"current_file": "information:regular"
}
}

View file

@ -0,0 +1,5 @@
{
"groups": {
"stack_depth": { "fg": "gray1", "bg": "gray10", "attrs": ["bold"] }
}
}

View file

@ -0,0 +1,5 @@
{
"groups": {
"stack_depth": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": ["bold"] }
}
}

View file

@ -0,0 +1,10 @@
{
"groups": {
"continuation": "cwd",
"continuation:current": "cwd:current_folder",
"exit_fail": "critical:failure",
"exit_success": "critical:success",
"jobnum": "information:priority",
"superuser": "warning:regular"
}
}

View file

@ -0,0 +1,16 @@
{
"name": "Default color scheme for shell prompts",
"groups": {
"hostname": { "fg": "brightyellow", "bg": "mediumorange", "attrs": [] },
"environment": { "fg": "white", "bg": "darkestgreen", "attrs": [] },
"mode": { "fg": "darkestgreen", "bg": "brightgreen", "attrs": ["bold"] },
"attached_clients": { "fg": "white", "bg": "darkestgreen", "attrs": [] }
},
"mode_translations": {
"vicmd": {
"groups": {
"mode": {"fg": "darkestcyan", "bg": "white", "attrs": ["bold"]}
}
}
}
}

View file

@ -0,0 +1,13 @@
{
"name": "Solarized dark for shell",
"groups": {
"mode": { "fg": "solarized:base3", "bg": "solarized:green", "attrs": ["bold"] }
},
"mode_translations": {
"vicmd": {
"groups": {
"mode": { "fg": "solarized:base3", "bg": "solarized:blue", "attrs": ["bold"] }
}
}
}
}

View file

@ -0,0 +1,40 @@
{
"name": "Solarized dark",
"groups": {
"information:additional": { "fg": "solarized:base2", "bg": "solarized:base01", "attrs": [] },
"information:regular": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": ["bold"] },
"information:highlighted": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": ["bold"]},
"information:priority": { "fg": "solarized:base3", "bg": "solarized:yellow", "attrs": [] },
"warning:regular": { "fg": "solarized:base3", "bg": "solarized:red", "attrs": [] },
"critical:failure": { "fg": "solarized:base3", "bg": "solarized:red", "attrs": [] },
"critical:success": { "fg": "solarized:base3", "bg": "solarized:green", "attrs": [] },
"background": { "fg": "solarized:base3", "bg": "solarized:base02", "attrs": [] },
"background:divider": { "fg": "solarized:base1", "bg": "solarized:base02", "attrs": [] },
"user": { "fg": "solarized:base3", "bg": "solarized:blue", "attrs": ["bold"] },
"virtualenv": { "fg": "solarized:base3", "bg": "solarized:green", "attrs": [] },
"branch": { "fg": "solarized:base1", "bg": "solarized:base02", "attrs": [] },
"branch_dirty": { "fg": "solarized:yellow", "bg": "solarized:base02", "attrs": [] },
"branch_clean": { "fg": "solarized:base1", "bg": "solarized:base02", "attrs": [] },
"stash": "branch_dirty",
"email_alert_gradient": { "fg": "solarized:base3", "bg": "yellow_orange_red", "attrs": [] },
"email_alert": "warning:regular",
"cwd": "information:additional",
"cwd:current_folder": "information:regular",
"cwd:divider": { "fg": "solarized:base1", "bg": "solarized:base01", "attrs": [] },
"network_load": { "fg": "solarized:base1", "bg": "solarized:base03", "attrs": [] },
"network_load:divider": "network_load",
"network_load_gradient": { "fg": "green_yellow_orange_red", "bg": "solarized:base03", "attrs": [] },
"network_load_sent_gradient": "network_load_gradient",
"network_load_recv_gradient": "network_load_gradient",
"hostname": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": [] },
"environment": { "fg": "solarized:base3", "bg": "solarized:green", "attrs": [] },
"attached_clients": { "fg": "solarized:base3", "bg": "solarized:green", "attrs": [] },
"date": { "fg": "solarized:base1", "bg": "solarized:base02", "attrs": [] },
"time": { "fg": "solarized:base1", "bg": "solarized:base02", "attrs": ["bold"] },
"time:divider": { "fg": "solarized:base1", "bg": "solarized:base02", "attrs": [] },
"system_load": { "fg": "solarized:base1", "bg": "solarized:base03", "attrs": [] },
"weather_temp_gradient": { "fg": "blue_red", "bg": "solarized:base03", "attrs": [] },
"weather": { "fg": "solarized:base1", "bg": "solarized:base03", "attrs": [] },
"uptime": { "fg": "solarized:base1", "bg": "solarized:base03", "attrs": [] }
}
}

View file

@ -0,0 +1,14 @@
{
"groups": {
"active_window_status": {"fg": "darkblue", "bg": "gray0", "attrs": []},
"window_status": {"fg": "gray70", "bg": "gray0", "attrs": []},
"activity_status": {"fg": "yellow", "bg": "gray0", "attrs": []},
"bell_status": {"fg": "red", "bg": "gray0", "attrs": []},
"window": {"fg": "gray6", "bg": "gray0", "attrs": []},
"window:divider": {"fg": "gray4", "bg": "gray0", "attrs": []},
"window:current": {"fg": "mediumcyan", "bg": "darkblue", "attrs": []},
"window_name": {"fg": "white", "bg": "darkblue", "attrs": ["bold"]},
"session": {"fg": "black", "bg": "gray90", "attrs": ["bold"]},
"session:prefix": {"fg": "gray90", "bg": "darkblue", "attrs": ["bold"]}
}
}

View file

@ -0,0 +1,14 @@
{
"groups": {
"active_window_status": { "fg": "solarized:blue", "bg": "solarized:base02", "attrs": [] },
"window_status": { "fg": "solarized:base1", "bg": "solarized:base02", "attrs": [] },
"activity_status": { "fg": "solarized:yellow", "bg": "solarized:base02", "attrs": [] },
"bell_status": { "fg": "solarized:red", "bg": "solarized:base02", "attrs": [] },
"window": { "fg": "solarized:base1", "bg": "solarized:base02", "attrs": [] },
"window:divider": { "fg": "solarized:base01", "bg": "solarized:base02", "attrs": [] },
"window:current": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": [] },
"window_name": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": ["bold"] },
"session": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": [] },
"session:prefix": { "fg": "solarized:base01", "bg": "solarized:base3", "attrs": [] }
}
}

View file

@ -0,0 +1,50 @@
{
"groups": {
"branch_clean": "branch",
"environment": "information:unimportant",
"file_size": "information:unimportant",
"file_format": "information:unimportant",
"file_encoding": "file_format",
"file_type": "file_format",
"branch": "information:additional",
"file_scheme": "file_name",
"file_directory": "information:additional",
"file_name_empty": "file_directory",
"line_percent": "information:additional",
"line_count": "line_current",
"position": "information:additional",
"single_tab": "line_current",
"many_tabs": "line_current",
"bufnr": "file_directory",
"winnr": "information:unimportant",
"tabnr": "file_directory",
"capslock_indicator": "paste_indicator",
"csv:column_number": "line_current",
"csv:column_name": "line_current_symbol",
"tab:background": "background",
"tab:divider": "background:divider",
"tab_nc:modified_indicator": "modified_indicator",
"tab_nc:file_directory": "information:unimportant",
"tab_nc:file_name": "tab_nc:file_directory",
"tab_nc:tabnr": "tab_nc:file_directory",
"buf_nc:file_directory": "tab_nc:file_directory",
"buf_nc:file_name": "buf_nc:file_directory",
"buf_nc:bufnr": "buf_nc:file_directory",
"buf_nc:modified_indicator": "tab_nc:modified_indicator",
"buf_nc_mod:file_directory": "tab_nc:file_directory",
"buf_nc_mod:file_name": "buf_nc_mod:file_directory",
"buf_nc_mod:bufnr": "buf_nc_mod:file_directory",
"buf_nc_mod:modified_indicator": "tab_nc:modified_indicator",
"commandt:label": "file_name",
"commandt:background": "background",
"commandt:finder": "file_name",
"commandt:path": "file_directory"
}
}

View file

@ -0,0 +1,154 @@
{
"name": "Default color scheme",
"groups": {
"information:unimportant": { "fg": "gray8", "bg": "gray2", "attrs": [] },
"information:additional": { "fg": "gray9", "bg": "gray4", "attrs": [] },
"background": { "fg": "white", "bg": "gray2", "attrs": [] },
"background:divider": { "fg": "gray6", "bg": "gray2", "attrs": [] },
"mode": { "fg": "darkestgreen", "bg": "brightgreen", "attrs": ["bold"] },
"visual_range": { "fg": "brightestorange", "bg": "darkorange", "attrs": ["bold"] },
"modified_indicator": { "fg": "brightyellow", "bg": "gray4", "attrs": ["bold"] },
"paste_indicator": { "fg": "white", "bg": "mediumorange", "attrs": ["bold"] },
"readonly_indicator": { "fg": "brightestred", "bg": "gray4", "attrs": [] },
"branch_dirty": { "fg": "brightyellow", "bg": "gray4", "attrs": [] },
"branch:divider": { "fg": "gray7", "bg": "gray4", "attrs": [] },
"file_name": { "fg": "white", "bg": "gray4", "attrs": ["bold"] },
"window_title": { "fg": "white", "bg": "gray4", "attrs": [] },
"file_name_no_file": { "fg": "gray9", "bg": "gray4", "attrs": ["bold"] },
"file_vcs_status": { "fg": "brightestred", "bg": "gray4", "attrs": [] },
"file_vcs_status_M": { "fg": "brightyellow", "bg": "gray4", "attrs": [] },
"file_vcs_status_A": { "fg": "brightgreen", "bg": "gray4", "attrs": [] },
"line_percent": { "fg": "gray9", "bg": "gray4", "attrs": [] },
"line_percent_gradient": { "fg": "dark_green_gray", "bg": "gray4", "attrs": [] },
"position": { "fg": "gray9", "bg": "gray4", "attrs": [] },
"position_gradient": { "fg": "green_yellow_red", "bg": "gray4", "attrs": [] },
"line_current": { "fg": "gray1", "bg": "gray10", "attrs": ["bold"] },
"line_current_symbol": { "fg": "gray1", "bg": "gray10", "attrs": [] },
"virtcol_current_gradient": { "fg": "dark_GREEN_Orange_red", "bg": "gray10", "attrs": [] },
"col_current": { "fg": "gray6", "bg": "gray10", "attrs": [] },
"modified_buffers": { "fg": "brightyellow", "bg": "gray2", "attrs": [] },
"attached_clients": { "fg": "gray8", "bg": "gray2", "attrs": [] },
"error": { "fg": "brightestred", "bg": "darkred", "attrs": ["bold"] },
"warning": { "fg": "brightyellow", "bg": "darkorange", "attrs": ["bold"] },
"current_tag": { "fg": "gray9", "bg": "gray2", "attrs": [] },
"tab_nc:modified_indicator": { "fg": "brightyellow", "bg": "gray2", "attrs": ["bold"] }
},
"mode_translations": {
"nc": {
"colors": {
"brightyellow": "darkorange",
"brightestred": "darkred",
"gray0": "gray0",
"gray1": "gray0",
"gray2": "gray0",
"gray3": "gray1",
"gray4": "gray1",
"gray5": "gray1",
"gray6": "gray1",
"gray7": "gray4",
"gray8": "gray4",
"gray9": "gray4",
"gray10": "gray5",
"white": "gray6",
"dark_green_gray": "gray5"
}
},
"i": {
"colors": {
"gray0": "darkestblue",
"gray1": "darkestblue",
"gray2": "darkestblue",
"gray3": "darkblue",
"gray4": "darkblue",
"gray5": "darkestcyan",
"gray6": "darkestcyan",
"gray7": "darkestcyan",
"gray8": "mediumcyan",
"gray9": "mediumcyan",
"gray10": "mediumcyan",
"green_yellow_red": "gray5",
"dark_green_gray": "light_green_gray"
},
"groups": {
"mode": { "fg": "darkestcyan", "bg": "white", "attrs": ["bold"] },
"background:divider": { "fg": "darkcyan", "bg": "darkestblue", "attrs": [] },
"branch:divider": { "fg": "darkcyan", "bg": "darkblue", "attrs": [] }
}
},
"ic": {
"colors": {
"gray0": "darkestblue",
"gray1": "darkestblue",
"gray2": "darkestblue",
"gray3": "darkblue",
"gray4": "darkblue",
"gray5": "darkestcyan",
"gray6": "darkestcyan",
"gray7": "darkestcyan",
"gray8": "mediumcyan",
"gray9": "mediumcyan",
"gray10": "mediumcyan",
"green_yellow_red": "gray5",
"dark_green_gray": "light_green_gray"
},
"groups": {
"mode": { "fg": "darkestcyan", "bg": "white", "attrs": ["bold"] },
"background:divider": { "fg": "darkcyan", "bg": "darkestblue", "attrs": [] },
"branch:divider": { "fg": "darkcyan", "bg": "darkblue", "attrs": [] }
}
},
"ix": {
"colors": {
"gray0": "darkestblue",
"gray1": "darkestblue",
"gray2": "darkestblue",
"gray3": "darkblue",
"gray4": "darkblue",
"gray5": "darkestcyan",
"gray6": "darkestcyan",
"gray7": "darkestcyan",
"gray8": "mediumcyan",
"gray9": "mediumcyan",
"gray10": "mediumcyan",
"green_yellow_red": "gray5",
"dark_green_gray": "light_green_gray"
},
"groups": {
"mode": { "fg": "darkestcyan", "bg": "white", "attrs": ["bold"] },
"background:divider": { "fg": "darkcyan", "bg": "darkestblue", "attrs": [] },
"branch:divider": { "fg": "darkcyan", "bg": "darkblue", "attrs": [] }
}
},
"v": {
"groups": {
"mode": { "fg": "darkorange", "bg": "brightestorange", "attrs": ["bold"] }
}
},
"V": {
"groups": {
"mode": { "fg": "darkorange", "bg": "brightestorange", "attrs": ["bold"] }
}
},
"^V": {
"groups": {
"mode": { "fg": "darkorange", "bg": "brightestorange", "attrs": ["bold"] }
}
},
"R": {
"groups": {
"mode": { "fg": "white", "bg": "brightred", "attrs": ["bold"] }
}
},
"Rc": {
"groups": {
"mode": { "fg": "white", "bg": "brightred", "attrs": ["bold"] }
}
},
"Rx": {
"groups": {
"mode": { "fg": "white", "bg": "brightred", "attrs": ["bold"] }
}
}
}
}

View file

@ -0,0 +1,121 @@
{
"name": "Solarized dark for vim",
"groups": {
"information:additional": { "fg": "solarized:base2", "bg": "solarized:base01", "attrs": [] },
"information:unimportant": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": [] },
"background": { "fg": "solarized:base3", "bg": "solarized:base02", "attrs": [] },
"background:divider": { "fg": "solarized:base00", "bg": "solarized:base02", "attrs": [] },
"mode": { "fg": "solarized:base3", "bg": "solarized:green", "attrs": ["bold"] },
"visual_range": { "fg": "solarized:green", "bg": "solarized:base3", "attrs": ["bold"] },
"modified_indicator": { "fg": "solarized:yellow", "bg": "solarized:base01", "attrs": ["bold"] },
"paste_indicator": { "fg": "solarized:base3", "bg": "solarized:orange", "attrs": ["bold"] },
"readonly_indicator": { "fg": "solarized:red", "bg": "solarized:base01", "attrs": [] },
"branch_dirty": { "fg": "solarized:yellow", "bg": "solarized:base01", "attrs": [] },
"branch:divider": { "fg": "solarized:base1", "bg": "solarized:base01", "attrs": [] },
"stash:divider": "branch:divider",
"file_name": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": ["bold"] },
"window_title": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": [] },
"file_name_no_file": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": ["bold"] },
"file_format": { "fg": "solarized:base1", "bg": "solarized:base02", "attrs": [] },
"file_vcs_status": { "fg": "solarized:red", "bg": "solarized:base01", "attrs": [] },
"file_vcs_status_M": { "fg": "solarized:yellow", "bg": "solarized:base01", "attrs": [] },
"file_vcs_status_A": { "fg": "solarized:green", "bg": "solarized:base01", "attrs": [] },
"line_percent": { "fg": "solarized:base3", "bg": "solarized:base00", "attrs": [] },
"line_percent_gradient": { "fg": "green_yellow_orange_red", "bg": "solarized:base00", "attrs": [] },
"position": { "fg": "solarized:base3", "bg": "solarized:base00", "attrs": [] },
"position_gradient": { "fg": "green_yellow_orange_red", "bg": "solarized:base00", "attrs": [] },
"line_current": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": ["bold"] },
"line_current_symbol": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": [] },
"virtcol_current_gradient": { "fg": "GREEN_Orange_red", "bg": "solarized:base2", "attrs": [] },
"col_current": { "fg": "solarized:base0", "bg": "solarized:base2", "attrs": [] },
"environment": { "fg": "solarized:base1", "bg": "solarized:base02", "attrs": [] },
"attached_clients": { "fg": "solarized:base1", "bg": "solarized:base02", "attrs": [] },
"error": { "fg": "solarized:base3", "bg": "solarized:red", "attrs": ["bold"] },
"warning": { "fg": "solarized:base3", "bg": "solarized:orange", "attrs": ["bold"] },
"current_tag": { "fg": "solarized:base3", "bg": "solarized:base02", "attrs": ["bold"] }
},
"mode_translations": {
"nc": {
"colors": {
"solarized:base01": "solarized:base02",
"solarized:base00": "solarized:base02",
"solarized:base0": "solarized:base01",
"solarized:base1": "solarized:base00",
"solarized:base2": "solarized:base0",
"solarized:base3": "solarized:base1"
}
},
"i": {
"groups": {
"background": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": [] },
"background:divider": { "fg": "solarized:base2", "bg": "solarized:base01", "attrs": [] },
"mode": { "fg": "solarized:base3", "bg": "solarized:blue", "attrs": ["bold"] },
"modified_indicator": { "fg": "solarized:yellow", "bg": "solarized:base2", "attrs": ["bold"] },
"paste_indicator": { "fg": "solarized:base3", "bg": "solarized:orange", "attrs": ["bold"] },
"readonly_indicator": { "fg": "solarized:red", "bg": "solarized:base2", "attrs": [] },
"branch": { "fg": "solarized:base01", "bg": "solarized:base2", "attrs": [] },
"branch:divider": { "fg": "solarized:base00", "bg": "solarized:base2", "attrs": [] },
"file_directory": { "fg": "solarized:base01", "bg": "solarized:base2", "attrs": [] },
"file_name": { "fg": "solarized:base02", "bg": "solarized:base2", "attrs": ["bold"] },
"file_size": { "fg": "solarized:base02", "bg": "solarized:base2", "attrs": [] },
"file_name_no_file": { "fg": "solarized:base02", "bg": "solarized:base2", "attrs": ["bold"] },
"file_name_empty": { "fg": "solarized:base02", "bg": "solarized:base2", "attrs": [] },
"file_format": { "fg": "solarized:base2", "bg": "solarized:base01", "attrs": [] },
"file_vcs_status": { "fg": "solarized:red", "bg": "solarized:base2", "attrs": [] },
"file_vcs_status_M": { "fg": "solarized:yellow", "bg": "solarized:base2", "attrs": [] },
"file_vcs_status_A": { "fg": "solarized:green", "bg": "solarized:base2", "attrs": [] },
"line_percent": { "fg": "solarized:base3", "bg": "solarized:base1", "attrs": [] },
"line_percent_gradient": { "fg": "solarized:base3", "bg": "solarized:base1", "attrs": [] },
"position": { "fg": "solarized:base3", "bg": "solarized:base1", "attrs": [] },
"position_gradient": { "fg": "solarized:base3", "bg": "solarized:base1", "attrs": [] },
"line_current": { "fg": "solarized:base03", "bg": "solarized:base3", "attrs": ["bold"] },
"line_current_symbol": { "fg": "solarized:base03", "bg": "solarized:base3", "attrs": [] },
"col_current": { "fg": "solarized:base0", "bg": "solarized:base3", "attrs": [] }
}
},
"ic": {
"groups": {
"background": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": [] },
"background:divider": { "fg": "solarized:base2", "bg": "solarized:base01", "attrs": [] },
"mode": { "fg": "solarized:base3", "bg": "solarized:blue", "attrs": ["bold"] }
}
},
"ix": {
"groups": {
"background": { "fg": "solarized:base3", "bg": "solarized:base01", "attrs": [] },
"background:divider": { "fg": "solarized:base2", "bg": "solarized:base01", "attrs": [] },
"mode": { "fg": "solarized:base3", "bg": "solarized:blue", "attrs": ["bold"] }
}
},
"v": {
"groups": {
"mode": { "fg": "solarized:base3", "bg": "solarized:orange", "attrs": ["bold"] }
}
},
"V": {
"groups": {
"mode": { "fg": "solarized:base3", "bg": "solarized:orange", "attrs": ["bold"] }
}
},
"^V": {
"groups": {
"mode": { "fg": "solarized:base3", "bg": "solarized:orange", "attrs": ["bold"] }
}
},
"R": {
"groups": {
"mode": { "fg": "solarized:base3", "bg": "solarized:red", "attrs": ["bold"] }
}
},
"Rc": {
"groups": {
"mode": { "fg": "solarized:base3", "bg": "solarized:red", "attrs": ["bold"] }
}
},
"Rx": {
"groups": {
"mode": { "fg": "solarized:base3", "bg": "solarized:red", "attrs": ["bold"] }
}
}
}
}

View file

@ -0,0 +1,122 @@
{
"name": "Solarized light for vim",
"groups": {
"information:additional": { "fg": "solarized:base02", "bg": "solarized:base2", "attrs": [] },
"information:unimportant": { "fg": "solarized:base1", "bg": "solarized:base01", "attrs": [] },
"background": { "fg": "solarized:base03", "bg": "solarized:base01", "attrs": [] },
"background:divider": { "fg": "solarized:base0", "bg": "solarized:base01", "attrs": [] },
"mode": { "fg": "solarized:base3", "bg": "solarized:green", "attrs": ["bold"] },
"visual_range": { "fg": "solarized:green", "bg": "solarized:base3", "attrs": ["bold"] },
"modified_indicator": { "fg": "solarized:yellow", "bg": "solarized:base2", "attrs": ["bold"] },
"paste_indicator": { "fg": "solarized:red", "bg": "solarized:base2", "attrs": ["bold"] },
"readonly_indicator": { "fg": "solarized:red", "bg": "solarized:base2", "attrs": [] },
"branch_dirty": { "fg": "solarized:yellow", "bg": "solarized:base2", "attrs": [] },
"branch:divider": { "fg": "solarized:base1", "bg": "solarized:base2", "attrs": [] },
"stash": "branch_dirty",
"stash:divider": "branch:divider",
"file_name": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": ["bold"] },
"window_title": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": [] },
"file_size": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": [] },
"file_name_no_file": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": ["bold"] },
"file_name_empty": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": [] },
"file_vcs_status": { "fg": "solarized:red", "bg": "solarized:base2", "attrs": [] },
"file_vcs_status_M": { "fg": "solarized:yellow", "bg": "solarized:base2", "attrs": [] },
"file_vcs_status_A": { "fg": "solarized:green", "bg": "solarized:base2", "attrs": [] },
"line_percent": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": [] },
"line_percent_gradient": { "fg": "green_yellow_orange_red", "bg": "solarized:base2", "attrs": [] },
"position": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": [] },
"position_gradient": { "fg": "green_yellow_orange_red", "bg": "solarized:base2", "attrs": [] },
"line_current": { "fg": "solarized:base3", "bg": "solarized:base02", "attrs": ["bold"] },
"line_current_symbol": { "fg": "solarized:base3", "bg": "solarized:base02", "attrs": [] },
"virtcol_current_gradient": { "fg": "yellow_orange_red", "bg": "solarized:base02", "attrs": [] },
"col_current": { "fg": "solarized:base00", "bg": "solarized:base02", "attrs": [] },
"error": { "fg": "solarized:base03", "bg": "solarized:red", "attrs": ["bold"] },
"warning": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": ["bold"] },
"current_tag": { "fg": "solarized:base03", "bg": "solarized:base01", "attrs": ["bold"] }
},
"mode_translations": {
"nc": {
"colors": {
"solarized:base2": "solarized:base01",
"solarized:base0": "solarized:base01",
"solarized:base00": "solarized:base2",
"solarized:base1": "solarized:base0",
"solarized:base02": "solarized:base00",
"solarized:base03": "solarized:base1"
}
},
"i": {
"groups": {
"background": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": [] },
"background:divider": { "fg": "solarized:base02", "bg": "solarized:base2", "attrs": [] },
"mode": { "fg": "solarized:base3", "bg": "solarized:blue", "attrs": ["bold"] },
"modified_indicator": { "fg": "solarized:yellow", "bg": "solarized:base02", "attrs": ["bold"] },
"paste_indicator": { "fg": "solarized:base3", "bg": "solarized:orange", "attrs": ["bold"] },
"readonly_indicator": { "fg": "solarized:red", "bg": "solarized:base02", "attrs": [] },
"branch": { "fg": "solarized:base2", "bg": "solarized:base02", "attrs": [] },
"branch:divider": { "fg": "solarized:base0", "bg": "solarized:base02", "attrs": [] },
"file_directory": { "fg": "solarized:base2", "bg": "solarized:base02", "attrs": [] },
"file_name": { "fg": "solarized:base01", "bg": "solarized:base02", "attrs": ["bold"] },
"file_size": { "fg": "solarized:base01", "bg": "solarized:base02", "attrs": [] },
"file_name_no_file": { "fg": "solarized:base01", "bg": "solarized:base02", "attrs": ["bold"] },
"file_name_empty": { "fg": "solarized:base01", "bg": "solarized:base02", "attrs": [] },
"file_format": { "fg": "solarized:base02", "bg": "solarized:base2", "attrs": [] },
"file_vcs_status": { "fg": "solarized:red", "bg": "solarized:base02", "attrs": [] },
"file_vcs_status_M": { "fg": "solarized:yellow", "bg": "solarized:base02", "attrs": [] },
"file_vcs_status_A": { "fg": "solarized:green", "bg": "solarized:base02", "attrs": [] },
"line_percent": { "fg": "solarized:base03", "bg": "solarized:base1", "attrs": [] },
"line_percent_gradient": { "fg": "solarized:base03", "bg": "solarized:base1", "attrs": [] },
"position": { "fg": "solarized:base03", "bg": "solarized:base1", "attrs": [] },
"position_gradient": { "fg": "solarized:base03", "bg": "solarized:base1", "attrs": [] },
"line_current": { "fg": "solarized:base3", "bg": "solarized:base03", "attrs": ["bold"] },
"line_current_symbol": { "fg": "solarized:base3", "bg": "solarized:base03", "attrs": [] },
"virtcol_current_gradient": { "fg": "yellow_orange_red", "bg": "solarized:base03", "attrs": [] },
"col_current": { "fg": "solarized:base00", "bg": "solarized:base03", "attrs": [] }
}
},
"ic": {
"groups": {
"background": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": [] },
"background:divider": { "fg": "solarized:base02", "bg": "solarized:base2", "attrs": [] },
"mode": { "fg": "solarized:base3", "bg": "solarized:blue", "attrs": ["bold"] }
}
},
"ix": {
"groups": {
"background": { "fg": "solarized:base03", "bg": "solarized:base2", "attrs": [] },
"background:divider": { "fg": "solarized:base02", "bg": "solarized:base2", "attrs": [] },
"mode": { "fg": "solarized:base3", "bg": "solarized:blue", "attrs": ["bold"] }
}
},
"v": {
"groups": {
"mode": { "fg": "solarized:base3", "bg": "solarized:orange", "attrs": ["bold"] }
}
},
"V": {
"groups": {
"mode": { "fg": "solarized:base3", "bg": "solarized:orange", "attrs": ["bold"] }
}
},
"^V": {
"groups": {
"mode": { "fg": "solarized:base3", "bg": "solarized:orange", "attrs": ["bold"] }
}
},
"R": {
"groups": {
"mode": { "fg": "solarized:base3", "bg": "solarized:red", "attrs": ["bold"] }
}
},
"Rc": {
"groups": {
"mode": { "fg": "solarized:base3", "bg": "solarized:red", "attrs": ["bold"] }
}
},
"Rx": {
"groups": {
"mode": { "fg": "solarized:base3", "bg": "solarized:red", "attrs": ["bold"] }
}
}
}
}

View file

@ -0,0 +1,53 @@
{
"common": {
"term_truecolor": true
},
"ext": {
"ipython": {
"colorscheme": "default",
"theme": "in",
"local_themes": {
"rewrite": "rewrite",
"out": "out",
"in2": "in2"
}
},
"pdb": {
"colorscheme": "default",
"theme": "default"
},
"shell": {
"colorscheme": "default",
"theme": "default",
"local_themes": {
"continuation": "continuation",
"select": "select"
}
},
"tmux": {
"colorscheme": "default",
"theme": "default"
},
"vim": {
"colorscheme": "default",
"theme": "default",
"local_themes": {
"__tabline__": "tabline",
"cmdwin": "cmdwin",
"help": "help",
"quickfix": "quickfix",
"powerline.matchers.vim.plugin.nerdtree.nerdtree": "plugin_nerdtree",
"powerline.matchers.vim.plugin.commandt.commandt": "plugin_commandt",
"powerline.matchers.vim.plugin.gundo.gundo": "plugin_gundo",
"powerline.matchers.vim.plugin.gundo.gundo_preview": "plugin_gundo-preview"
}
},
"wm": {
"colorscheme": "default",
"theme": "default",
"update_interval": 2
}
}
}

View file

@ -0,0 +1,152 @@
{
"use_non_breaking_spaces": false,
"dividers": {
"left": {
"hard": " ",
"soft": "| "
},
"right": {
"hard": " ",
"soft": " |"
}
},
"spaces": 1,
"segment_data": {
"branch": {
"before": "BR "
},
"stash": {
"before": "ST "
},
"cwd": {
"args": {
"ellipsis": "..."
}
},
"player": {
"args": {
"state_symbols": {
"fallback": "",
"play": ">",
"pause": "~",
"stop": "X"
}
}
},
"line_current_symbol": {
"contents": "LN "
},
"time": {
"before": ""
},
"powerline.segments.common.net.network_load": {
"args": {
"recv_format": "DL {value:>8}",
"sent_format": "UL {value:>8}"
}
},
"powerline.segments.common.net.hostname": {
"before": "H "
},
"powerline.segments.common.bat.battery": {
"args": {
"full_heart": "O",
"empty_heart": "O",
"online": "C",
"offline": " "
}
},
"powerline.segments.common.sys.uptime": {
"before": "UP "
},
"powerline.segments.common.mail.email_imap_alert": {
"before": "MAIL "
},
"powerline.segments.common.env.virtualenv": {
"before": "(e) "
},
"powerline.segments.common.wthr.weather": {
"args": {
"icons": {
"day": "DAY",
"blustery": "WIND",
"rainy": "RAIN",
"cloudy": "CLOUDS",
"snowy": "SNOW",
"stormy": "STORM",
"foggy": "FOG",
"sunny": "SUN",
"night": "NIGHT",
"windy": "WINDY",
"not_available": "NA",
"unknown": "UKN"
},
"temp_format": "{temp:.0f} C"
}
},
"powerline.segments.common.time.fuzzy_time": {
"args": {
"unicode_text": false
}
},
"powerline.segments.vim.mode": {
"args": {
"override": {
"n": "NORMAL",
"no": "N-OPER",
"v": "VISUAL",
"V": "V-LINE",
"^V": "V-BLCK",
"s": "SELECT",
"S": "S-LINE",
"^S": "S-BLCK",
"i": "INSERT",
"ic": "I-COMP",
"ix": "I-C_X ",
"R": "RPLACE",
"Rv": "V-RPLC",
"Rc": "R-COMP",
"Rx": "R-C_X ",
"c": "COMMND",
"cv": "VIM-EX",
"ce": "NRM-EX",
"r": "PROMPT",
"rm": "-MORE-",
"r?": "CNFIRM",
"!": "!SHELL"
}
}
},
"powerline.segments.vim.visual_range": {
"args": {
"CTRL_V_text": "{rows} x {vcols}",
"v_text_oneline": "C:{vcols}",
"v_text_multiline": "L:{rows}",
"V_text": "L:{rows}"
}
},
"powerline.segments.vim.readonly_indicator": {
"args": {
"text": "RO"
}
},
"powerline.segments.vim.modified_indicator": {
"args": {
"text": "+"
}
},
"powerline.segments.i3wm.scratchpad": {
"args": {
"icons": {
"fresh": "O",
"changed": "X"
}
}
}
}
}

View file

@ -0,0 +1,25 @@
{
"segments": {
"left": [
{
"function": "powerline.segments.common.env.virtualenv",
"priority": 10
},
{
"type": "string",
"contents": "In [",
"draw_soft_divider": false,
"highlight_groups": ["prompt"]
},
{
"function": "powerline.segments.ipython.prompt_count",
"draw_soft_divider": false
},
{
"type": "string",
"contents": "]",
"highlight_groups": ["prompt"]
}
]
}
}

View file

@ -0,0 +1,12 @@
{
"segments": {
"left": [
{
"type": "string",
"contents": "",
"width": "auto",
"highlight_groups": ["prompt"]
}
]
}
}

View file

@ -0,0 +1,24 @@
{
"default_module": "powerline.segments.ipython",
"segments": {
"left": [
{
"type": "string",
"contents": "Out[",
"draw_soft_divider": false,
"width": "auto",
"align": "r",
"highlight_groups": ["prompt"]
},
{
"function": "prompt_count",
"draw_soft_divider": false
},
{
"type": "string",
"contents": "]",
"highlight_groups": ["prompt"]
}
]
}
}

View file

@ -0,0 +1,23 @@
{
"default_module": "powerline.segments.ipython",
"segments": {
"left": [
{
"type": "string",
"contents": "",
"draw_soft_divider": false,
"width": "auto",
"highlight_groups": ["prompt"]
},
{
"function": "prompt_count",
"draw_soft_divider": false
},
{
"type": "string",
"contents": ">",
"highlight_groups": ["prompt"]
}
]
}
}

View file

@ -0,0 +1,27 @@
{
"default_module": "powerline.segments.pdb",
"segments": {
"left": [
{
"function": "stack_depth"
},
{
"type": "segment_list",
"function": "powerline.listers.pdb.frame_lister",
"segments": [
{
"function": "current_file",
"after": ":"
},
{
"function": "current_line",
"after": " "
},
{
"function": "current_code_name"
}
]
}
]
}
}

View file

@ -0,0 +1,150 @@
{
"dividers": {
"left": {
"hard": " "
"soft": " "
},
"right": {
"hard": " ",
"soft": " "
}
},
"spaces": 1,
"segment_data": {
"branch": {
"before": " "
},
"stash": {
"before": "⌆ "
},
"cwd": {
"args": {
"ellipsis": "⋯"
}
},
"line_current_symbol": {
"contents": " "
},
"player": {
"args": {
"state_symbols": {
"fallback": "♫",
"play": "▶",
"pause": "▮▮",
"stop": "■"
}
}
},
"time": {
"before": "⌚ "
},
"powerline.segments.common.net.network_load": {
"args": {
"recv_format": "⬇ {value:>8}",
"sent_format": "⬆ {value:>8}"
}
},
"powerline.segments.common.net.hostname": {
"before": " "
},
"powerline.segments.common.bat.battery": {
"args": {
"full_heart": "♥",
"empty_heart": "♥",
"online": "⚡︎",
"offline": " "
}
},
"powerline.segments.common.sys.uptime": {
"before": "⇑ "
},
"powerline.segments.common.mail.email_imap_alert": {
"before": "✉ "
},
"powerline.segments.common.env.virtualenv": {
"before": "ⓔ "
},
"powerline.segments.common.wthr.weather": {
"args": {
"icons": {
"day": "",
"blustery": "⚑",
"rainy": "☔",
"cloudy": "☁",
"snowy": "❅",
"stormy": "☈",
"foggy": "≡",
"sunny": "☼",
"night": "☾",
"windy": "☴",
"not_available": "<22>",
"unknown": "⚠"
}
}
},
"powerline.segments.common.time.fuzzy_time": {
"args": {
"unicode_text": true
}
},
"powerline.segments.vim.mode": {
"args": {
"override": {
"n": "NORMAL",
"no": "N·OPER",
"v": "VISUAL",
"V": "V·LINE",
"^V": "V·BLCK",
"s": "SELECT",
"S": "S·LINE",
"^S": "S·BLCK",
"i": "INSERT",
"ic": "I·COMP",
"ix": "I·C-X ",
"R": "RPLACE",
"Rv": "V·RPLC",
"Rc": "R·COMP",
"Rx": "R·C-X ",
"c": "COMMND",
"cv": "VIM·EX",
"ce": "NRM·EX",
"r": "PROMPT",
"rm": "-MORE-",
"r?": "CNFIRM",
"!": "!SHELL"
}
}
},
"powerline.segments.vim.visual_range": {
"args": {
"CTRL_V_text": "↕{rows} ↔{vcols}",
"v_text_oneline": "↔{vcols}",
"v_text_multiline": "↕{rows}",
"V_text": "⇕{rows}"
}
},
"powerline.segments.vim.readonly_indicator": {
"args": {
"text": ""
}
},
"powerline.segments.vim.modified_indicator": {
"args": {
"text": "+"
}
},
"powerline.segments.i3wm.scratchpad": {
"args": {
"icons": {
"fresh": "●",
"changed": "○"
}
}
}
}
}

View file

@ -0,0 +1,150 @@
{
"dividers": {
"left": {
"hard": " ",
"soft": " "
},
"right": {
"hard": " ",
"soft": " "
}
},
"spaces": 1,
"segment_data": {
"branch": {
"before": " "
},
"stash": {
"before": "ST "
},
"cwd": {
"args": {
"ellipsis": "…"
}
},
"line_current_symbol": {
"contents": " "
},
"player": {
"args": {
"state_symbols": {
"fallback": "♫",
"play": "▶",
"pause": "▮▮",
"stop": "■"
}
}
},
"time": {
"before": ""
},
"powerline.segments.common.net.network_load": {
"args": {
"recv_format": "⇓ {value:>8}",
"sent_format": "⇑ {value:>8}"
}
},
"powerline.segments.common.net.hostname": {
"before": " "
},
"powerline.segments.common.bat.battery": {
"args": {
"full_heart": "♥",
"empty_heart": "♥",
"online": "⚡︎",
"offline": " "
}
},
"powerline.segments.common.sys.uptime": {
"before": "↑ "
},
"powerline.segments.common.mail.email_imap_alert": {
"before": "MAIL "
},
"powerline.segments.common.env.virtualenv": {
"before": "(e) "
},
"powerline.segments.common.wthr.weather": {
"args": {
"icons": {
"day": "DAY",
"blustery": "WIND",
"rainy": "RAIN",
"cloudy": "CLOUDS",
"snowy": "SNOW",
"stormy": "STORM",
"foggy": "FOG",
"sunny": "SUN",
"night": "NIGHT",
"windy": "WINDY",
"not_available": "NA",
"unknown": "UKN"
}
}
},
"powerline.segments.common.time.fuzzy_time": {
"args": {
"unicode_text": true
}
},
"powerline.segments.vim.mode": {
"args": {
"override": {
"n": "NORMAL",
"no": "N·OPER",
"v": "VISUAL",
"V": "V·LINE",
"^V": "V·BLCK",
"s": "SELECT",
"S": "S·LINE",
"^S": "S·BLCK",
"i": "INSERT",
"ic": "I·COMP",
"ix": "I·C-X ",
"R": "RPLACE",
"Rv": "V·RPLC",
"Rc": "R·COMP",
"Rx": "R·C-X ",
"c": "COMMND",
"cv": "VIM·EX",
"ce": "NRM·EX",
"r": "PROMPT",
"rm": "-MORE-",
"r?": "CNFIRM",
"!": "!SHELL"
}
}
},
"powerline.segments.vim.visual_range": {
"args": {
"CTRL_V_text": "↕{rows} ↔{vcols}",
"v_text_oneline": "↔{vcols}",
"v_text_multiline": "↕{rows}",
"V_text": "⇕{rows}"
}
},
"powerline.segments.vim.readonly_indicator": {
"args": {
"text": ""
}
},
"powerline.segments.vim.modified_indicator": {
"args": {
"text": "+"
}
},
"powerline.segments.i3wm.scratchpad": {
"args": {
"icons": {
"fresh": "●",
"changed": "○"
}
}
}
}
}

View file

@ -0,0 +1,164 @@
{
"dividers": {
"left": {
"hard": " ",
"soft": " "
},
"right": {
"hard": " ",
"soft": " "
}
},
"spaces": 1,
"segment_data": {
"branch": {
"before": "🔀 "
},
"stash": {
"before": "📝"
},
"cwd": {
"args": {
"ellipsis": "⋯"
}
},
"line_current_symbol": {
"contents": " "
},
"player": {
"args": {
"state_symbols": {
"fallback": "♫",
"play": "⏵",
"pause": "⏸",
"stop": "⏹"
}
}
},
"time": {
"before": "🕐 "
},
"powerline.segments.common.net.network_load": {
"args": {
"recv_format": "⬇ {value:>8}",
"sent_format": "⬆ {value:>8}"
}
},
"powerline.segments.common.net.hostname": {
"before": "🏠 "
},
"powerline.segments.common.bat.battery": {
"args": {
"full_heart": "💙",
"empty_heart": "💛",
"online": "⚡️",
"offline": " "
}
},
"powerline.segments.common.sys.uptime": {
"before": "⇑ "
},
"powerline.segments.common.mail.email_imap_alert": {
"before": "✉ "
},
"powerline.segments.common.env.virtualenv": {
"before": "🐍 "
},
"powerline.segments.common.wthr.weather": {
"args": {
"icons": {
"tornado": "🌪",
"hurricane": "🌀",
"showers": "☔",
"scattered_showers": "☔",
"thunderstorms": "🌩",
"isolated_thunderstorms": "🌩",
"scattered_thunderstorms": "🌩",
"dust": "🌫",
"fog": "🌫",
"cold": "❄",
"partly_cloudy_day": "🌤",
"mostly_cloudy_day": "🌥",
"sun": "🌣",
"hot": "♨",
"day": "☀",
"blustery": "⚑",
"rainy": "☂",
"cloudy": "☁",
"snowy": "☃",
"stormy": "☈",
"foggy": "🌁",
"sunny": "🌣",
"night": "☾",
"windy": "☴",
"not_available": "<22>",
"unknown": "⚠"
}
}
},
"powerline.segments.common.time.fuzzy_time": {
"args": {
"unicode_text": true
}
},
"powerline.segments.vim.mode": {
"args": {
"override": {
"n": "NORMAL",
"no": "N·OPER",
"v": "VISUAL",
"V": "V·LINE",
"^V": "V·BLCK",
"s": "SELECT",
"S": "S·LINE",
"^S": "S·BLCK",
"i": "INSERT",
"ic": "I·COMP",
"ix": "I·C-X ",
"R": "RPLACE",
"Rv": "V·RPLC",
"Rc": "R·COMP",
"Rx": "R·C-X ",
"c": "COMMND",
"cv": "VIM·EX",
"ce": "NRM·EX",
"r": "PROMPT",
"rm": "-MORE-",
"r?": "CNFIRM",
"!": "!SHELL"
}
}
},
"powerline.segments.vim.visual_range": {
"args": {
"CTRL_V_text": "↕{rows} ↔{vcols}",
"v_text_oneline": "↔{vcols}",
"v_text_multiline": "↕{rows}",
"V_text": "⇕{rows}"
}
},
"powerline.segments.vim.readonly_indicator": {
"args": {
"text": "🔏"
}
},
"powerline.segments.vim.modified_indicator": {
"args": {
"text": "🖫⃥"
}
},
"powerline.segments.i3wm.scratchpad": {
"args": {
"icons": {
"fresh": "●",
"changed": "○"
}
}
}
}
}

View file

@ -0,0 +1,25 @@
{
"segment_data": {
"user": {
"args": {
"only_if_ssh": true
}
},
"hostname": {
"args": {
"only_if_ssh": true
}
},
"branch": {
"args": {
"status_colors": true
}
},
"cwd": {
"args": {
"use_path_separator": true,
"dir_limit_depth": 6
}
}
}
}

View file

@ -0,0 +1,12 @@
{
"default_module": "powerline.segments.shell",
"segments": {
"left": [
{
"function": "continuation"
}
],
"right": [
]
}
}

View file

@ -0,0 +1,44 @@
{
"segments": {
"left": [
{
"function": "powerline.segments.shell.mode"
},
{
"function": "powerline.segments.common.net.hostname",
"priority": 10
},
{
"function": "powerline.segments.common.env.user",
"priority": 30
},
{
"function": "powerline.segments.common.env.virtualenv",
"priority": 50
},
{
"function": "powerline.segments.shell.cwd",
"priority": 10
},
{
"function": "powerline.segments.shell.jobnum",
"priority": 20
}
],
"right": [
{
"function": "powerline.segments.shell.last_pipe_status",
"priority": 10
},
{
"function": "powerline.segments.common.vcs.stash",
"priority": 50
},
{
"function": "powerline.segments.common.vcs.branch",
"priority": 40,
"status_colors": true
}
]
}
}

View file

@ -0,0 +1,34 @@
{
"segments": {
"left": [
{
"function": "powerline.segments.common.net.hostname",
"priority": 10
},
{
"function": "powerline.segments.common.env.user",
"priority": 30
},
{
"function": "powerline.segments.common.env.virtualenv",
"priority": 50
},
{
"function": "powerline.segments.common.vcs.branch",
"priority": 40
},
{
"function": "powerline.segments.shell.cwd",
"priority": 10
},
{
"function": "powerline.segments.shell.jobnum",
"priority": 20
},
{
"function": "powerline.segments.shell.last_status",
"priority": 10
}
]
}
}

View file

@ -0,0 +1,13 @@
{
"segments": {
"left": [
{
"type": "string",
"contents": "Select variant",
"width": "auto",
"align": "r",
"highlight_groups": ["continuation:current"]
}
]
}
}

View file

@ -0,0 +1,32 @@
{
"segments": {
"right": [
{
"function": "powerline.segments.common.bat.battery",
"priority": 50,
"args": {
"offline": "▽",
"online": "◉"
}
},
{
"function": "powerline.segments.common.sys.system_load",
"priority": 50
},
{
"function": "powerline.segments.common.time.date"
},
{
"function": "powerline.segments.common.time.date",
"name": "time",
"args": {
"format": "%H:%M",
"istime": true
}
},
{
"function": "powerline.segments.common.net.hostname"
}
]
}
}

View file

@ -0,0 +1,150 @@
{
"dividers": {
"left": {
"hard": "▌ ",
"soft": "│ "
},
"right": {
"hard": " ▐",
"soft": " │"
}
},
"spaces": 1,
"segment_data": {
"branch": {
"before": "⎇ "
},
"stash": {
"before": "⌆"
},
"cwd": {
"args": {
"ellipsis": "⋯"
}
},
"player": {
"args": {
"state_symbols": {
"fallback": "♫",
"play": "▶",
"pause": "▮▮",
"stop": "■"
}
}
},
"line_current_symbol": {
"contents": "␤ "
},
"time": {
"before": "⌚ "
},
"powerline.segments.common.net.network_load": {
"args": {
"recv_format": "⬇ {value:>8}",
"sent_format": "⬆ {value:>8}"
}
},
"powerline.segments.common.net.hostname": {
"before": "⌂ "
},
"powerline.segments.common.bat.battery": {
"args": {
"full_heart": "♥",
"empty_heart": "♥",
"online": "⚡︎",
"offline": " "
}
},
"powerline.segments.common.sys.uptime": {
"before": "⇑ "
},
"powerline.segments.common.mail.email_imap_alert": {
"before": "✉ "
},
"powerline.segments.common.env.virtualenv": {
"before": "ⓔ "
},
"powerline.segments.common.wthr.weather": {
"args": {
"icons": {
"day": "",
"blustery": "⚑",
"rainy": "☔",
"cloudy": "☁",
"snowy": "❅",
"stormy": "☈",
"foggy": "≡",
"sunny": "☼",
"night": "☾",
"windy": "☴",
"not_available": "<22>",
"unknown": "⚠"
}
}
},
"powerline.segments.common.time.fuzzy_time": {
"args": {
"unicode_text": true
}
},
"powerline.segments.vim.mode": {
"args": {
"override": {
"n": "NORMAL",
"no": "N·OPER",
"v": "VISUAL",
"V": "V·LINE",
"^V": "V·BLCK",
"s": "SELECT",
"S": "S·LINE",
"^S": "S·BLCK",
"i": "INSERT",
"ic": "I·COMP",
"ix": "I·C-X ",
"R": "RPLACE",
"Rv": "V·RPLC",
"Rc": "R·COMP",
"Rx": "R·C-X ",
"c": "COMMND",
"cv": "VIM·EX",
"ce": "NRM·EX",
"r": "PROMPT",
"rm": "-MORE-",
"r?": "CNFIRM",
"!": "!SHELL"
}
}
},
"powerline.segments.vim.visual_range": {
"args": {
"CTRL_V_text": "↕{rows} ↔{vcols}",
"v_text_oneline": "↔{vcols}",
"v_text_multiline": "↕{rows}",
"V_text": "⇕{rows}"
}
},
"powerline.segments.vim.readonly_indicator": {
"args": {
"text": "⊗"
}
},
"powerline.segments.vim.modified_indicator": {
"args": {
"text": "+"
}
},
"powerline.segments.i3wm.scratchpad": {
"args": {
"icons": {
"fresh": "●",
"changed": "○"
}
}
}
}
}

View file

@ -0,0 +1,150 @@
{
"dividers": {
"left": {
"hard": "▌ ",
"soft": "│ "
},
"right": {
"hard": " ▐",
"soft": " │"
}
},
"spaces": 1,
"segment_data": {
"branch": {
"before": "BR "
},
"stash": {
"before": "ST "
},
"cwd": {
"args": {
"ellipsis": "…"
}
},
"line_current_symbol": {
"contents": "␤ "
},
"player": {
"args": {
"state_symbols": {
"fallback": "♫",
"play": "▶",
"pause": "▮▮",
"stop": "■"
}
}
},
"time": {
"before": ""
},
"powerline.segments.common.net.network_load": {
"args": {
"recv_format": "⇓ {value:>8}",
"sent_format": "⇑ {value:>8}"
}
},
"powerline.segments.common.net.hostname": {
"before": "⌂ "
},
"powerline.segments.common.bat.battery": {
"args": {
"full_heart": "♥",
"empty_heart": "♥",
"online": "⚡︎",
"offline": " "
}
},
"powerline.segments.common.sys.uptime": {
"before": "↑ "
},
"powerline.segments.common.mail.email_imap_alert": {
"before": "MAIL "
},
"powerline.segments.common.env.virtualenv": {
"before": "(e) "
},
"powerline.segments.common.wthr.weather": {
"args": {
"icons": {
"day": "DAY",
"blustery": "WIND",
"rainy": "RAIN",
"cloudy": "CLOUDS",
"snowy": "SNOW",
"stormy": "STORM",
"foggy": "FOG",
"sunny": "SUN",
"night": "NIGHT",
"windy": "WINDY",
"not_available": "NA",
"unknown": "UKN"
}
}
},
"powerline.segments.common.time.fuzzy_time": {
"args": {
"unicode_text": true
}
},
"powerline.segments.vim.mode": {
"args": {
"override": {
"n": "NORMAL",
"no": "N·OPER",
"v": "VISUAL",
"V": "V·LINE",
"^V": "V·BLCK",
"s": "SELECT",
"S": "S·LINE",
"^S": "S·BLCK",
"i": "INSERT",
"ic": "I·COMP",
"ix": "I·C-X ",
"R": "RPLACE",
"Rv": "V·RPLC",
"Rc": "R·COMP",
"Rx": "R·C-X ",
"c": "COMMND",
"cv": "VIM·EX",
"ce": "NRM·EX",
"r": "PROMPT",
"rm": "-MORE-",
"r?": "CNFIRM",
"!": "!SHELL"
}
}
},
"powerline.segments.vim.visual_range": {
"args": {
"CTRL_V_text": "{rows} × {vcols}",
"v_text_oneline": "C:{vcols}",
"v_text_multiline": "L:{rows}",
"V_text": "L:{rows}"
}
},
"powerline.segments.vim.readonly_indicator": {
"args": {
"text": "RO"
}
},
"powerline.segments.vim.modified_indicator": {
"args": {
"text": "+"
}
},
"powerline.segments.i3wm.scratchpad": {
"args": {
"icons": {
"fresh": "●",
"changed": "○"
}
}
}
}
}

View file

@ -0,0 +1,151 @@
{
"dividers": {
"left": {
"hard": "▌",
"soft": "│"
},
"right": {
"hard": "▐",
"soft": "│"
}
},
"spaces": 0,
"segment_data": {
"branch": {
"before": "B "
},
"stash": {
"before": "S "
},
"cwd": {
"args": {
"use_path_separator": true,
"ellipsis": "…"
}
},
"line_current_symbol": {
"contents": "␤"
},
"player": {
"args": {
"state_symbols": {
"fallback": "♫",
"play": "▶",
"pause": "▮▮",
"stop": "■"
}
}
},
"time": {
"before": ""
},
"powerline.segments.common.net.network_load": {
"args": {
"recv_format": "⇓{value:>8}",
"sent_format": "⇑{value:>8}"
}
},
"powerline.segments.common.net.hostname": {
"before": "⌂"
},
"powerline.segments.common.bat.battery": {
"args": {
"full_heart": "♥",
"empty_heart": "♥",
"online": "⚡︎",
"offline": " "
}
},
"powerline.segments.common.sys.uptime": {
"before": "↑"
},
"powerline.segments.common.mail.email_imap_alert": {
"before": "M "
},
"powerline.segments.common.env.virtualenv": {
"before": "E "
},
"powerline.segments.common.wthr.weather": {
"args": {
"icons": {
"day": "D",
"blustery": "W",
"rainy": "R",
"cloudy": "c",
"snowy": "*",
"stormy": "S",
"foggy": "f",
"sunny": "s",
"night": "N",
"windy": "w",
"not_available": "-",
"unknown": "!"
}
}
},
"powerline.segments.common.time.fuzzy_time": {
"args": {
"unicode_text": true
}
},
"powerline.segments.vim.mode": {
"args": {
"override": {
"n": "NML",
"no": "NOP",
"v": "VIS",
"V": "VLN",
"^V": "VBL",
"s": "SEL",
"S": "SLN",
"^S": "SBL",
"i": "INS",
"ic": "I-C",
"ix": "I^X",
"R": "REP",
"Rv": "VRP",
"Rc": "R-C",
"Rx": "R^X",
"c": "CMD",
"cv": "VEX",
"ce": " EX",
"r": "PRT",
"rm": "MOR",
"r?": "CON",
"!": " SH"
}
}
},
"powerline.segments.vim.visual_range": {
"args": {
"CTRL_V_text": "{rows}×{vcols}",
"v_text_oneline": "↔{vcols}",
"v_text_multiline": "↕{rows}",
"V_text": "⇕{rows}"
}
},
"powerline.segments.vim.readonly_indicator": {
"args": {
"text": "RO"
}
},
"powerline.segments.vim.modified_indicator": {
"args": {
"text": "+"
}
},
"powerline.segments.i3wm.scratchpad": {
"args": {
"icons": {
"fresh": "●",
"changed": "○"
}
}
}
}
}

View file

@ -0,0 +1,10 @@
{
"segment_data": {
"line_percent": {
"args": {
"gradient": true
},
"after": "%"
}
}
}

View file

@ -0,0 +1,18 @@
{
"segments": {
"left": [
{
"type": "string",
"contents": "Command Line",
"highlight_groups": ["file_name"]
},
{
"type": "string",
"highlight_groups": ["background"],
"draw_soft_divider": false,
"draw_hard_divider": false,
"width": "auto"
}
]
}
}

View file

@ -0,0 +1,128 @@
{
"segments": {
"left": [
{
"function": "mode",
"exclude_modes": ["nc"]
},
{
"function": "visual_range",
"include_modes": ["v", "V", "^V", "s", "S", "^S"],
"priority": 10
},
{
"function": "paste_indicator",
"exclude_modes": ["nc"],
"priority": 10
},
{
"function": "powerline.segments.vim.plugin.capslock.capslock_indicator",
"include_modes": ["i", "R", "Rv"],
"priority": 10
},
{
"function": "branch",
"exclude_modes": ["nc"],
"priority": 30
},
{
"function": "readonly_indicator",
"draw_soft_divider": false,
"after": " "
},
{
"function": "file_scheme",
"priority": 20
},
{
"function": "file_directory",
"priority": 40,
"draw_soft_divider": false
},
{
"function": "file_name",
"draw_soft_divider": false
},
{
"function": "file_vcs_status",
"before": " ",
"draw_soft_divider": false
},
{
"function": "modified_indicator",
"before": " "
},
{
"exclude_modes": ["i", "R", "Rv"],
"function": "trailing_whitespace",
"display": false,
"priority": 60
},
{
"exclude_modes": ["nc"],
"function": "powerline.segments.vim.plugin.syntastic.syntastic",
"priority": 50
},
{
"exclude_modes": ["nc"],
"function": "powerline.segments.vim.plugin.tagbar.current_tag",
"draw_soft_divider": false,
"priority": 50
},
{
"type": "string",
"highlight_groups": ["background"],
"draw_soft_divider": false,
"draw_hard_divider": false,
"width": "auto"
}
],
"right": [
{
"function": "file_format",
"draw_soft_divider": false,
"exclude_modes": ["nc"],
"priority": 60
},
{
"function": "file_encoding",
"exclude_modes": ["nc"],
"priority": 60
},
{
"function": "file_type",
"exclude_modes": ["nc"],
"priority": 60
},
{
"function": "line_percent",
"priority": 50,
"width": 4,
"align": "r"
},
{
"function": "csv_col_current",
"priority": 30
},
{
"type": "string",
"name": "line_current_symbol",
"highlight_groups": ["line_current_symbol", "line_current"]
},
{
"function": "line_current",
"draw_soft_divider": false,
"width": 3,
"align": "r"
},
{
"function": "virtcol_current",
"draw_soft_divider": false,
"priority": 20,
"before": ":",
"width": 3,
"align": "l"
}
]
}
}

View file

@ -0,0 +1,36 @@
{
"segments": {
"left": [
{
"function": "file_name",
"draw_soft_divider": false
},
{
"type": "string",
"highlight_groups": ["background"],
"draw_soft_divider": false,
"draw_hard_divider": false,
"width": "auto"
}
],
"right": [
{
"function": "line_percent",
"priority": 30,
"width": 4,
"align": "r"
},
{
"type": "string",
"name": "line_current_symbol",
"highlight_groups": ["line_current_symbol", "line_current"]
},
{
"function": "line_current",
"draw_soft_divider": false,
"width": 3,
"align": "r"
}
]
}
}

View file

@ -0,0 +1,26 @@
{
"segments": {
"left": [
{
"type": "string",
"contents": "Command-T",
"highlight_groups": ["commandt:label"]
},
{
"function": "powerline.segments.vim.plugin.commandt.finder"
},
{
"function": "powerline.segments.vim.plugin.commandt.path"
},
{
"type": "string",
"highlight_groups": ["commandt:background"],
"draw_soft_divider": false,
"draw_hard_divider": false,
"width": "auto"
}
],
"right": [
]
}
}

View file

@ -0,0 +1,18 @@
{
"segments": {
"left": [
{
"type": "string",
"highlight_groups": ["gundo:name", "file_name"],
"contents": "Undo diff"
},
{
"type": "string",
"highlight_groups": ["gundo:background", "background"],
"draw_soft_divider": false,
"draw_hard_divider": false,
"width": "auto"
}
]
}
}

View file

@ -0,0 +1,18 @@
{
"segments": {
"left": [
{
"type": "string",
"highlight_groups": ["gundo:name", "file_name"],
"contents": "Undo tree"
},
{
"type": "string",
"highlight_groups": ["gundo:background", "background"],
"draw_soft_divider": false,
"draw_hard_divider": false,
"width": "auto"
}
]
}
}

View file

@ -0,0 +1,17 @@
{
"default_module": "powerline.segments.vim.plugin.nerdtree",
"segments": {
"left": [
{
"function": "nerdtree"
},
{
"type": "string",
"highlight_groups": ["background"],
"draw_soft_divider": false,
"draw_hard_divider": false,
"width": "auto"
}
]
}
}

View file

@ -0,0 +1,40 @@
{
"segment_data": {
"buffer_name": {
"contents": "Location List"
}
},
"segments": {
"left": [
{
"type": "string",
"name": "buffer_name",
"highlight_groups": ["file_name"]
},
{
"function": "window_title",
"draw_soft_divider": false
},
{
"type": "string",
"highlight_groups": ["background"],
"draw_soft_divider": false,
"draw_hard_divider": false,
"width": "auto"
}
],
"right": [
{
"type": "string",
"name": "line_current_symbol",
"highlight_groups": ["line_current_symbol", "line_current"]
},
{
"function": "line_current",
"draw_soft_divider": false,
"width": 3,
"align": "r"
}
]
}
}

View file

@ -0,0 +1,93 @@
{
"default_module": "powerline.segments.vim",
"segments": {
"left": [
{
"type": "segment_list",
"function": "powerline.listers.vim.tablister",
"exclude_function": "single_tab",
"segments": [
{
"function": "tab"
},
{
"function": "tabnr",
"after": " ",
"priority": 5
},
{
"function": "file_directory",
"priority": 40
},
{
"function": "file_name",
"args": {
"display_no_file": true
},
"priority": 10
},
{
"function": "tab_modified_indicator",
"priority": 5
}
]
},
{
"function": "tab",
"args": {
"end": true
}
},
{
"type": "segment_list",
"function": "powerline.listers.vim.bufferlister",
"include_function": "single_tab",
"segments": [
{
"function": "bufnr",
"after": " ",
"priority": 5
},
{
"function": "file_directory",
"priority": 40
},
{
"function": "file_name",
"args": {
"display_no_file": true
},
"priority": 10
},
{
"function": "modified_indicator",
"priority": 5
}
]
},
{
"type": "string",
"highlight_groups": ["tab:background"],
"draw_soft_divider": false,
"draw_hard_divider": false,
"width": "auto"
}
],
"right": [
{
"type": "string",
"contents": "Bufs",
"name": "single_tab",
"highlight_groups": ["single_tab"],
"include_function": "single_tab"
},
{
"type": "string",
"contents": "Tabs",
"name": "many_tabs",
"highlight_groups": ["many_tabs"],
"exclude_function": "single_tab"
}
]
}
}

View file

@ -0,0 +1,29 @@
{
"segments": {
"right": [
{
"function": "powerline.segments.common.wthr.weather",
"priority": 50
},
{
"function": "powerline.segments.common.time.date"
},
{
"function": "powerline.segments.common.time.date",
"name": "time",
"args": {
"format": "%H:%M",
"istime": true
}
},
{
"function": "powerline.segments.common.mail.email_imap_alert",
"priority": 10,
"args": {
"username": "",
"password": ""
}
}
]
}
}

12
.config/redshift.conf Normal file
View file

@ -0,0 +1,12 @@
[redshift]
temp-day=5500
temp-night=2900
brightness-day=0.99
brightness-night=0.75
location-provider=manual
transition=0
[manual]
lat=59.316
lon=18.065

4
.config/rofi/config Normal file
View file

@ -0,0 +1,4 @@
rofi.font: Blex Mono Regular 12
rofi.dpi: 210
rofi.theme: solarized_alternate
rofi.columns: 1

58
.config/sway/config Normal file
View file

@ -0,0 +1,58 @@
input "2:7:SynPS/2_Synaptics_TouchPad" {
tap enabled
natural_scroll enabled
pointer_accel 0.5
}
input "1:1:AT_Translated_Set_2_keyboard" {
xkb_layout us-se-umlauts
}
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5%
bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5%
bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle
bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle
bindsym XF86MonBrightnessDown exec brightnessctl set 5%-
bindsym XF86MonBrightnessUp exec brightnessctl set +5%
bindsym XF86AudioPlay exec playerctl play-pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous
bindsym F1 workspace 1
bindsym F2 workspace 2
bindsym F3 workspace 3
bindsym F4 workspace 4
bindsym F5 workspace 5
bindsym F6 workspace 6
bindsym F7 workspace 7
bindsym F8 workspace 8
bindsym F9 workspace 9
bindsym Shift+F1 move container to workspace 1
bindsym Shift+F2 move container to workspace 2
bindsym Shift+F3 move container to workspace 3
bindsym Shift+F4 move container to workspace 4
bindsym Shift+F5 move container to workspace 5
bindsym Shift+F6 move container to workspace 6
bindsym Shift+F7 move container to workspace 7
bindsym Shift+F8 move container to workspace 8
bindsym Shift+F9 move container to workspace 9
bindsym Mod4+Shift+c kill
bindsym Mod4+Shift+q exit
bindsym Mod4+Return exec alacritty
bindsym Mod4+p exec rofi -font "Roboto Mono 10" -show run
bindsym Mod4+l exec swaylock -c 000000 -i /home/dln/i3lock.png
bindsym Mod4+space exec makoctl dismiss -a
bindsym Mod4+print exec grim -g "$(slurp)" - | wl-copy
floating_modifier Mod4
bindsym Mod4+Shift+f floating toggle
bindsym Mod4+f focus mode_toggle
hide_edge_borders both
smart_borders on
default_border pixel
seat seat0 xcursor_theme Bibata_Oil 48
output "eDP-1" scale 1

View file

@ -0,0 +1,11 @@
[Unit]
Description=A lightweight Wayland notification daemon
Documentation=man:mako(1)
PartOf=graphical-session.target
[Service]
Type=simple
ExecStart=/usr/bin/mako --font 'IBM Plex Sans 20' --anchor bottom-right --margin 5
[Install]
WantedBy=sway-session.target

View file

@ -0,0 +1,12 @@
[Unit]
Description=SSH key agent
[Service]
Type=forking
Environment=SSH_AUTH_SOCK=%h/.ssh/ssh_auth_sock
ExecStartPre=/usr/bin/rm -f $SSH_AUTH_SOCK
ExecStart=/usr/bin/ssh-agent -a $SSH_AUTH_SOCK -t 18200
[Install]
WantedBy=default.target

View file

@ -0,0 +1,15 @@
[Unit]
Description=Idle manager for Wayland
Documentation=man:swayidle(1)
PartOf=graphical-session.target
[Service]
Type=simple
ExecStart=/usr/bin/swayidle -w \
timeout 300 'swaylock -f -c 000000 -i /home/dln/i3lock.png' \
timeout 600 'swaymsg "output * dpms off"' \
resume 'swaymsg "output * dpms on"' \
before-sleep 'swaylock -f -c 000000 -i /home/dln/i3lock.png'
[Install]
WantedBy=sway-session.target

View file

@ -0,0 +1,10 @@
[Unit]
Description=Start tmux in detached session
[Service]
Type=forking
ExecStart=/usr/bin/tmux new-session -s %u -d
ExecStop=/usr/bin/tmux kill-session -t %u
[Install]
WantedBy=default.target

View file

@ -0,0 +1,3 @@
include "linux-with-two-alt-keys"
keycode 58 = Control

2
.envrc
View file

@ -1,2 +0,0 @@
# shellcheck shell=bash
use flake

147
.gitconfig Normal file
View file

@ -0,0 +1,147 @@
[core]
excludesfile = "~/.gitignore"
editor = nvim
#pager = diff-so-fancy | less -+R -nBJFXRgiM -h512 -x4
[user]
name = Daniel Lundin
email = dln@eintr.org
[column]
ui = auto
[push]
default = tracking
[branch "master"]
rebase = true
[init]
templatedir = ~/.git_template
[alias]
b = branch -va
f = fetch
fa = fetch --all
t = tag
d = diff --stat -p -C
ds = diff --staged --stat -p -C
patch = !git --no-pager diff --no-color
co = checkout
st = status -sb
stu = status -sb --untracked=no
pullr = pull --rebase
wc = whatchanged --abbrev-commit --date=relative --date-order --pretty='format:%Cgreen%h %Cblue%ar %Credby %an%Creset -- %s' -n 45
ll = log --graph --date=relative --topo-order --pretty='format:%C(yellow)%h%C(yellow)%d %Cblue%ar %Cgreenby %an%Creset -- %s'
lla = log --graph --date=relative --topo-order --pretty='format:%Cgreen%h %Cblue%ar %Credby %an%Creset -- %s' --all
gl = log --decorate --graph --abbrev-commit --color --color-words --topo-order --pretty=medium
gla = log --decorate --graph --abbrev-commit --color --color-words --topo-order --pretty=medium --all
sl = log --decorate --graph --abbrev-commit --color --topo-order --pretty=oneline
sla = log --decorate --graph --abbrev-commit --color --topo-order --pretty=oneline --all
#lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative
plog = !GIT_PAGER='less -n +/^commit\\ \\[0-9a-f\\]+' git log --color --patch-with-stat
lg = !"git lg1"
lg1 = !"git lg1-specific --all"
lg2 = !"git lg2-specific --all"
lg3 = !"git lg3-specific --all"
lg1-specific = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(auto)%d%C(reset)'
lg2-specific = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(auto)%d%C(reset)%n'' %C(white)%s%C(reset) %C(dim white)- %an%C(reset)'
lg3-specific = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset) %C(bold cyan)(committed: %cD)%C(reset) %C(auto)%d%C(reset)%n'' %C(white)%s%C(reset)%n'' %C(dim white)- %an <%ae> %C(reset) %C(dim white)(committer: %cn <%ce>)%C(reset)'
cdiff = diff --color
diffs = diff --staged --stat -p
diffc = diff --staged --stat -p
vimdiff = difftool -t vimdiff
meld = difftool -d -t meld
kdiff3 = difftool -d -t kdiff3
guilt = "!f(){ git log --pretty='format:%an <%ae>' $@ | sort | uniq -c | sort -rn; }; f"
scat = show $1:`git ls-files --full-name $2`
serve = daemon --verbose --export-all --base-path=.git --reuseaddr --strict-paths .git/
[merge]
tool = meld
[mergetool]
prompt = false
[diff]
renames = true
tool = kdiff3
[difftool]
prompt = false
[difftool "kdiff3"]
cmd = kdiff3 $LOCAL $REMOTE
trustExitCode = false
[difftool "p4merge"]
cmd = p4merge $LOCAL $REMOTE
[color]
ui = auto
branch = auto
diff = auto
status = auto
[color "branch"]
current = yellow reverse
local = yellow
remote = green
[color "diff"]
meta = blue bold
frag = magenta bold
old = red
new = green
[color "status"]
added = blue bold
changed = green bold
untracked = cyan bold
[apply]
whitespace = nowarn
[pack]
threads = 0
[blame]
date = relative
[tig]
show-rev-graph = yes
show-refs = yes
line-graphics = yes
[tig "bind"]
generic = G !echo
stage = G !echo
main = G !echo
[tig "color"]
cursor = black green dim
author = green default normal
main-revgraph = yellow default normal
pp-commit = magenta default bold
diff-chunk = magenta default bold
# vim: ft=conf:
[diff-so-fancy]
useUnicodeRuler = true
stripLeadingSymbols = true
[hub]
protocol = git
[http]
[http]
cookiefile = /home/dln/.gitcookies
[filter "lfs"]
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true
clean = git-lfs clean -- %f
[credential]
helper = store

15
.gitignore vendored
View file

@ -1 +1,14 @@
/result
*~
*.a
*.class
/.idea
*.iml
*.ipr
*.iwr
*.iws
*.la
*.o
*.pyc
*.so
*.swp

11
.inputrc Normal file
View file

@ -0,0 +1,11 @@
set meta-flag on
set convert-meta off
set output-meta on
set completion-ignore-case on
set visible-stats on
set show-all-if-ambiguous on
set completion-query-items 150
"\C-p": history-search-backward
"\C-n": history-search-forward

1
.oh-my-zsh Submodule

@ -0,0 +1 @@
Subproject commit e273cf004e1ff0510aee61416885f3003bcd15d9

9
.ripgreprc Normal file
View file

@ -0,0 +1,9 @@
--glob=!/vendor/
--glob=!/.git/
--glob=!/.terraform/
--pretty
--colors=path:fg:100,150,210
--colors=match:style:nobold
--colors=match:bg:180,150,40
--colors=match:fg:0,0,0
--max-columns=150

129
.tmux.conf Normal file
View file

@ -0,0 +1,129 @@
set -g prefix ^o
set -g base-index 1
set -g display-panes-time 3000
#set -s escape-time 7
set -s escape-time 10
set -g status on
set -g status-interval 30
set -g terminal-overrides "xterm*:XT:smcup@:rmcup@:kUP5=\eOA:kDN5=\eOB:kLFT5=\eOD:kRIT5=\eOC"
set -g terminal-overrides ",*:colors=256:smso=\e[3m:rmso=\e[23m:sitm=\e[3m:ritm=\e[23m"
set -g terminal-overrides ",xterm-256color:Tc"
set -ga terminal-overrides ",xterm-256color:Tc"
set-option -ag terminal-overrides ",xterm-256color:Ms=\\E]52;c;%p2%s\\7"
set -g default-terminal "xterm-256color"
# clipboard
set -g set-clipboard on
bind-key ] paste-buffer -p
set-option -g mouse on
#bind -n WheelUpPane copy-mode
set -g update-environment "XAUTHORITY DISPLAY WINDOWID SSH_ASKPASS SSH_AGENT_PID SSH_CONNECTION"
setenv -g SSH_AUTH_SOCK $HOME/.ssh/ssh_auth_sock
set -g default-command zsh
#set -g mouse-select-pane on
set -g history-limit 50000
setw -g alternate-screen on
setw -g aggressive-resize on
setw -g automatic-rename off
setw -g mode-keys vi
# Status and Titles
set -g status-justify left
set -g status-left-length 30
set -g status-right-length 90
set -g set-titles off
set -g set-titles-string "###I : #T"
#set -g set-titles-string '#H:#S.#I.#P #W #T' # window number,program name, active(or not)
# Key bindings
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D
bind -n M-Tab last-pane
bind -n M-1 select-window -t 1
bind -n M-- select-window -t 2
bind -n M-2 select-window -t 2
bind -n M-3 select-window -t 3
bind -n M-4 select-window -t 4
bind -n M-5 select-window -t 5
bind -n M-6 select-window -t 6
bind -n M-7 select-window -t 7
bind -n M-8 select-window -t 8
bind -n M-9 select-window -t 9
bind -n M-0 select-window -t 10
bind -n M-m send-keys -t 9 q C-u "clear; tmux clear-history -t 9" C-m C-p C-p C-p C-m
bind 1 select-window -t 1
bind 2 select-window -t 2
bind 3 select-window -t 3
bind 4 select-window -t 4
bind 5 select-window -t 5
bind 6 select-window -t 6
bind 7 select-window -t 7
bind 8 select-window -t 8
bind 9 select-window -t 9
bind 0 select-window -t 10
bind -n M-` last-window
bind C-o last-window
bind k next-window
bind j previous-window
bind l next-window
bind h previous-window
bind r source-file ~/.tmux.conf
bind -n C-Right next-window
bind -n C-Left previous-window
bind C-k next-window
bind C-l next-window
bind C-j previous-window
bind C-h previous-window
bind C-s set-option -g status
bind s split-window -h
bind S split-window -v
bind q kill-pane
bind Tab last-pane
bind C-p select-pane -U
bind K confirm kill-server
bind C-k clear-history
bind -n C-l send-keys C-l \; clear-history
setw -g window-status-format ""
setw -g window-status-current-format "#W"
setw -g window-status-separator ""
set -g status-fg "#B0BEC5"
set -g status-bg "#37474F"
set -g status-left '#[bg=#335566,fg=#1a2a3a] #I #[default] '
# set -g status-right '#[fg=#666666]|#[bg=#222222,fg=#99cc99] #{?#(tmux show-buffer -b project),#(tmux show-buffer -b project),-} #[bg=#222222,fg=#666666]| #{battery_percentage} #{battery_remain} |  %a %h-%d %H:%M | #(date +"%R") '
set -g status-right '#{battery_icon} #{battery_percentage}  %a %h-%d %H:%M '
# Startup
new -d -s0 'exec zsh'
neww -d 'exec zsh'
neww -d 'exec zsh'
neww -d 'exec zsh'
neww -d 'exec zsh'
neww -d 'exec zsh'
neww -d 'exec zsh'
neww -d 'exec zsh'
neww -d 'exec zsh'
neww -d 'exec zsh'
selectw -t 1
run-shell ~/.tmux/plugins/tmux-battery/battery.tmux
# source /usr/lib/python3.6/site-packages/powerline/bindings/tmux/powerline.conf
#
# if -F "#{==:#{session_windows},1}" "set -g status off" "set -g status on"
# set-hook -g window-linked 'if -F "#{==:#{session_windows},1}" "set -g status off" "set -g status on"'
# set-hook -g window-unlinked 'if -F "#{==:#{session_windows},1}" "set -g status off" "set -g status on"'
#set-hook -g session-window-changed 'if -F "#{==:#{window_index},1}" "set -g status off" "set -g status on"'
# vim:set ft=tmux:

40
.vim/colors/dln-light.vim Normal file
View file

@ -0,0 +1,40 @@
" Vim color file
color s
" Maintainer: Daniel Lundin <dln@eintr.org>
" Last Change: Mon Oct 17 13:18:58 CEST 2016
" Set 'background' back to the default. The value can't always be estimated
" and is then guessed.
hi clear Normal
set bg&
" Remove all existing highlighting and set the defaults.
hi clear
" Load the syntax highlighting defaults, if it's enabled.
if exists("syntax_on")
syntax reset
endif
let colors_name = "dln-light"
hi LineNr ctermfg=252 cterm=italic
hi Visual ctermbg=220
hi Search ctermbg=226
hi CursorLine ctermbg=255 cterm=NONE
hi CursorLineNr ctermfg=245 ctermbg=255 cterm=italic
hi Type ctermfg=5 cterm=NONE
" hi Comment ctermfg=243 cterm=italic
hi Comment ctermfg=1 cterm=italic
hi String ctermfg=2 cterm=italic
" hi Statement ctermfg=4 cterm=NONE
hi Statement ctermfg=17 cterm=bold
hi Constant ctermfg=6 cterm=NONE
hi PreProc ctermfg=25 cterm=bold
hi rustFuncName ctermfg=124 cterm=bold
hi rustCommentLineDoc ctermfg=137 cterm=italic
hi rustModPath ctermfg=4 cterm=NONE
" vim: sw=2

11
.xinitrc Executable file
View file

@ -0,0 +1,11 @@
#!/bin/bash
xsetroot -solid \#99aab0 -cursor_name left_ptr
xmodmap $HOME/.Xmodmap
#compton --daemon -c -t -25 -l -25 --shadow-radius=25 --inactive-opacity 0.99 --inactive-dim 0.2 -e 0.7
setxkbmap -option ctrl:nocaps,grp:switch,grp_led:scroll us,se
xcalib $HOME/.config/B140QAN02_0.icm
alacritty -e tmux attach -t0 &
xrdb $HOME/.Xresources
hsetroot -solid \#99aab0
#exec $HOME/bin/2bwm
exec $HOME/bin/dwm

View file

@ -0,0 +1,10 @@
default partial alphanumeric_keys
xkb_symbols "basic" {
include "us"
include "level3(ralt_switch)"
include "ctrl(nocaps)"
name[Group1] = "English (US, international with umlaut)";
key <AC10> { [ semicolon, colon, odiaeresis, Odiaeresis ] };
key <AC11> { [ apostrophe, quotedbl, adiaeresis, Adiaeresis ] };
key <AD11> { [ bracketleft, braceleft, aring, Aring ] };
};

296
.zshrc Normal file
View file

@ -0,0 +1,296 @@
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH
# Path to your oh-my-zsh installation.
# export ZSH=/home/dln/.oh-my-zsh
# Set name of the theme to load. Optionally, if you set this to "random"
# it'll load a random theme each time that oh-my-zsh is loaded.
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
export PATH=$HOME/bin:$PATH:/bin:/sbin:/usr/sbin:/usr/local/sbin
export EDITOR=nvim
#export DISPLAY=:0
export GDK_SCALE=1.5
export SSH_AUTH_SOCK=$HOME/.ssh/ssh_auth_sock
fpath=(~/.zsh/functions $fpath)
ZSH_THEME="robbyrussell"
export DIRENV_LOG_FORMAT=
export RIPGREP_CONFIG_PATH=$HOME/.ripgreprc
export HISTFILE=~/.zsh_history
export HISTSIZE=20000
export SAVEHIST=20000
export LPASS_AGENT_TIMEOUT=900
export WORDCHARS='*?_-.[]~=&;!#$%^(){}<>'
typeset -A ZSH_HIGHLIGHT_STYLES
export ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets pattern)
export ZSH_HIGHLIGHT_STYLES[alias]='fg=31'
export ZSH_HIGHLIGHT_STYLES[builtin]='fg=71'
export ZSH_HIGHLIGHT_STYLES[command]='fg=35'
export ZSH_HIGHLIGHT_STYLES[function]='fg=35'
export ZSH_HIGHLIGHT_STYLES[path]='fg=31'
export PROMPT_LEAN_COLOR1=78
export PROMPT_LEAN_COLOR2=67
export PROMPT_LEAN_TMUX=""
export PROMPT_LEAN_PATH_PERCENT=50
export PROMPT_LEAN_LEFT=_dln_prompt_left
# export PROMPT_LEAN_RIGHT=_dln_prompt_right
setopt extended_history
setopt hist_expire_dups_first
setopt hist_ignore_dups
setopt hist_ignore_space
setopt hist_verify
setopt inc_append_history
# setopt append_history
setopt share_history
source ~/.zplug/init.zsh
zplug "dln/lean"
zplug "zplug/zplug", hook-build:"zplug --self-manage"
zplug "plugins/git", from:oh-my-zsh
zplug "plugins/history-substring-search", from:oh-my-zsh
zplug "zsh-users/zsh-syntax-highlighting", defer:2
zplug "arunvelsriram/kube-fzf", use:'kube-fzf.sh'
zplug "thecasualcoder/kube-fzf", as:command, use:"{*pod,*.sh}"
zplug "~/.zsh", from:local
if ! zplug check --verbose; then
printf "Install? [y/N]: "
if read -q; then
echo; zplug install
fi
fi
zplug load
# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"
# Uncomment the following line to use hyphen-insensitive completion. Case
# sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"
# Uncomment the following line to disable bi-weekly auto-update checks.
# DISABLE_AUTO_UPDATE="true"
# Uncomment the following line to change how often to auto-update (in days).
# export UPDATE_ZSH_DAYS=13
# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"
# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"
# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"
# Uncomment the following line to display red dots whilst waiting for completion.
# COMPLETION_WAITING_DOTS="true"
# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"
# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# HIST_STAMPS="mm/dd/yyyy"
# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
# plugins=(git git-extras history-substring-search vault)
#
# source $ZSH/oh-my-zsh.sh
# source ~/.oh-my-zsh/plugins/zsh-titles/titles.plugin.zsh
function short_pwd {
echo $PWD | sed "s:${HOME}:~:" | sed "s:/\(.\)[^/]*:/\1:g" | sed "s:/[^/]*$:/$(basename $PWD):"
}
function _dln_prompt_left {
_pw="$(short_pwd)"
# _host="%{\e[48;5;32;38;5;15m%} $HOST %{\e[0m%}"
_host="%{\e[38;5;244m%}$HOST:%{\e[0m%}"
echo -e "$_host%{\e[38;5;16m%}$_pw"
}
function _dln_prompt_right {
_tmux_win=`tmux display-message -p "#I" 2>/dev/null`
echo -e " %{\e[38;5;16;48;5;30m%} ${_tmux_win} %{\e[0m%}"
}
function prompt_command {
banner="$USER@$HOST"
((prompt_x = $(tput cols) - $(expr length ${banner}) - 3))
tput sc
tput cup 0 ${prompt_x}
if [ "$USER" = "root" ]; then
echo -ne " \e[38;5;228;48;5;160m ${banner} \e[0m"
else
echo -ne " \e[38;5;195;48;5;33m ${banner} \e[0m"
fi
tput rc
#tmux rename-window `basename $PWD`
tmux rename-window $(short_pwd) 2>/dev/null
eval $(tmux switch-client \; show-environment -s 2>/dev/null)
}
# User configuration
# export MANPATH="/usr/local/man:$MANPATH"
# You may need to manually set your language environment
# export LANG=en_US.UTF-8
# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
# export EDITOR='vim'
# else
# export EDITOR='mvim'
# fi
# Compilation flags
# export ARCHFLAGS="-arch x86_64"
# ssh
# export SSH_KEY_PATH="~/.ssh/rsa_id"
# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
#
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
# alias ls='ls --color=auto --group-directories-first --human-readable --almost-all'
alias ls=exa
alias bat=bat --theme=ansi-light
bindkey -e
bindkey "^[[A" history-substring-search-up
bindkey "^[[B" history-substring-search-down
bindkey -M emacs '^P' history-beginning-search-backward
bindkey -M emacs '^N' history-beginning-search-forward
cd_func () {
local dir
if [[ $1 == "--" ]]; then
_jump || return 1
return 0
elif [[ -z "$1" ]]; then
dir="$HOME"
else
dir="$@"
fi
"cd" "${dir}"
fasd -A $PWD
eval $(direnv export zsh)
}
alias cd=cd_func
redraw-prompt() {
local precmd
for precmd in $precmd_functions; do
$precmd
done
zle reset-prompt
}
zle -N redraw-prompt
_jump() {
dir="$(fasd -Rdlt | fzf --tiebreak=end -1 -0 --no-sort +m --height 10)" && cd_func "${dir}"
zle && zle redraw-prompt
}
zle -N _jump
bindkey '^g' _jump
## vim
export NVIM_LISTEN_ADDRESS=/tmp/nvimsocket
e ()
{
tmux select-window -t1
nvr --remote $(readlink -f "$@")
}
## Powerline
# . /usr/lib/python3.6/site-packages/powerline/bindings/zsh/powerline.zsh
## fzf
export FZF_TMUX=1
export FZF_COMPLETION_TRIGGER=";"
export FZF_DEFAULT_COMMAND='fd --type f --hidden --follow --exclude .git'
. /usr/share/fzf/completion.zsh
. /usr/share/fzf/key-bindings.zsh
# Kubernetes
command -v kubectl >/dev/null 2>&1 && source <(kubectl completion zsh)
command -v helm >/dev/null 2>&1 && source <(helm completion zsh)
command -v ark >/dev/null 2>&1 && source <(ark completion zsh)
command -v stern >/dev/null 2>&1 && source <(stern --completion zsh)
export PATH=$HOME/.krew/bin:$PATH
# Flux
export FLUX_FORWARD_NAMESPACE=flux
[ -f /usr/share/bash-completion/completions/aws ] && source /usr/share/bash-completion/completions/aws
[ -f /opt/google-cloud-sdk/completion.zsh.inc ] && source /opt/google-cloud-sdk/completion.zsh.inc
# Pager
command -v pygmentize >/dev/null 2>&1 && export LESSOPEN="|/usr/bin/pygmentize -f terminal16m -O style=native %s"
## Aliases
alias ag='ag --pager less'
alias cdiff='colordiff -u'
alias dotgit='git --work-tree $HOME --git-dir $HOME/.dot_git'
alias hs='history -a; history -n'
alias l='less -nRS'
alias lower="tr '[:upper:]' '[:lower:]'"
alias pstree="pstree -Auh | less"
alias tail='tail -n $LINES'
alias timestamp='TZ=Z date "+%Y%m%dT%H%M%SZ"'
alias tree='tree -C'
alias upper="tr '[:lower:]' '[:upper:]'"
alias vimdiff='vimdiff -R'
alias vim=nvim
alias xc='xclip -selection clipboard'
# alias e='nvr --remote'
## JavaScript
export PATH="./node_modules/.bin:$PATH"
## Golang
export GOPATH=$HOME
export GO111MODULE=on
GOPROXY=https://proxy.golang.org/
## Ansible
export ANSIBLE_NOCOWS=1
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh

View file

@ -1,3 +0,0 @@
# Configuration and various sundries
IT in a box.

2
bin/alacritty-light Executable file
View file

@ -0,0 +1,2 @@
#!/bin/sh
exec alacritty --config-file /home/dln/.config/alacritty/alacritty-light.yml "$@"

3
bin/bw-login Executable file
View file

@ -0,0 +1,3 @@
#!/bin/bash
set -e
bw-ssh-add id_rsa id_rsa_embark

57
bin/bw-ssh-add Executable file
View file

@ -0,0 +1,57 @@
#!/bin/bash
set -eu
AUTO_LOCK=3600
BW_SESSION=
exit_error() {
echo "$2"
keyctl purge user bw_master || true
keyctl purge user bw_session || true
exit "$1"
}
ask_password() {
systemd-ask-password --keyname=bw_master --accept-cached --timeout=10 "Master Password: " \
| bw unlock --raw 2>/dev/null || exit_error $? "Could not unlock vault"
}
get_session_key() {
if [ $AUTO_LOCK -eq 0 ]; then
keyctl purge user bw_session &>/dev/null
BW_SESSION=$(ask_password)
else
if ! key_id=$(keyctl request user bw_session 2>/dev/null); then
session=$(ask_password)
[[ -z "$session" ]] && exit_error 1 "Could not unlock vault"
key_id=$(echo "$session" | keyctl padd user bw_session @u)
fi
keyctl timeout "$key_id" $AUTO_LOCK
BW_SESSION=$(keyctl pipe "$key_id")
fi
}
get_session_key
folder=$(bw list folders --session ${BW_SESSION} --search ssh | jq -r '.[].id')
items=$(bw list items --session ${BW_SESSION} --folderid ${folder})
keys="$@"
if [[ -z "$keys" ]]; then
keys=$(jq -r '.[].name' <<< $items | fzf -1 -0)
fi
for key in $keys; do
_tmp=$(mktemp -d)
cd $_tmp
mkdir -p $(dirname $key)
ln -s /dev/stdin $key
function cleanup {
rm -rf $_tmp
}
trap cleanup EXIT
jq -r ".[] | select(.name == \"${key}\") | .notes" <<< $items | ssh-add $key
done

4
bin/clip Executable file
View file

@ -0,0 +1,4 @@
#!/bin/sh
set -e
# exec echo -en "\x1b]52;c;$(base64 -w0)\x07"
printf "\033]52;c;$(base64 -w0)\a"

BIN
bin/dwm Executable file

Binary file not shown.

364
bin/git-wtf Executable file
View file

@ -0,0 +1,364 @@
#!/usr/bin/env ruby
HELP = <<EOS
git-wtf displays the state of your repository in a readable, easy-to-scan
format. It's useful for getting a summary of how a branch relates to a remote
server, and for wrangling many topic branches.
git-wtf can show you:
- How a branch relates to the remote repo, if it's a tracking branch.
- How a branch relates to integration branches, if it's a feature branch.
- How a branch relates to the feature branches, if it's an integration
branch.
git-wtf is best used before a git push, or between a git fetch and a git
merge. Be sure to set color.ui to auto or yes for maximum viewing pleasure.
EOS
KEY = <<EOS
KEY:
() branch only exists locally
{} branch only exists on a remote repo
[] branch exists locally and remotely
x merge occurs both locally and remotely
~ merge occurs only locally
(space) branch isn't merged in
(It's possible for merges to occur remotely and not locally, of course, but
that's a less common case and git-wtf currently doesn't display anything
special for it.)
EOS
USAGE = <<EOS
Usage: git wtf [branch+] [options]
If [branch] is not specified, git-wtf will use the current branch. The possible
[options] are:
-l, --long include author info and date for each commit
-a, --all show all branches across all remote repos, not just
those from origin
-A, --all-commits show all commits, not just the first 5
-s, --short don't show commits
-k, --key show key
-r, --relations show relation to features / integration branches
--dump-config print out current configuration and exit
git-wtf uses some heuristics to determine which branches are integration
branches, and which are feature branches. (Specifically, it assumes the
integration branches are named "master", "next" and "edge".) If it guesses
incorrectly, you will have to create a .git-wtfrc file.
To start building a configuration file, run "git-wtf --dump-config >
.git-wtfrc" and edit it. The config file is a YAML file that specifies the
integration branches, any branches to ignore, and the max number of commits to
display when --all-commits isn't used. git-wtf will look for a .git-wtfrc file
starting in the current directory, and recursively up to the root.
IMPORTANT NOTE: all local branches referenced in .git-wtfrc must be prefixed
with heads/, e.g. "heads/master". Remote branches must be of the form
remotes/<remote>/<branch>.
EOS
COPYRIGHT = <<EOS
git-wtf Copyright 2008--2009 William Morgan <wmorgan at the masanjin dot nets>.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
Software Foundation, either version 3 of the License, or (at your option)
any later version.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details.
You can find the GNU General Public License at: http://www.gnu.org/licenses/
EOS
require 'yaml'
CONFIG_FN = ".git-wtfrc"
class Numeric; def pluralize s; "#{to_s} #{s}" + (self != 1 ? "s" : "") end end
if ARGV.delete("--help") || ARGV.delete("-h")
puts USAGE
exit
end
## poor man's trollop
$long = ARGV.delete("--long") || ARGV.delete("-l")
$short = ARGV.delete("--short") || ARGV.delete("-s")
$all = ARGV.delete("--all") || ARGV.delete("-a")
$all_commits = ARGV.delete("--all-commits") || ARGV.delete("-A")
$dump_config = ARGV.delete("--dump-config")
$key = ARGV.delete("--key") || ARGV.delete("-k")
$show_relations = ARGV.delete("--relations") || ARGV.delete("-r")
ARGV.each { |a| abort "Error: unknown argument #{a}." if a =~ /^--/ }
## search up the path for a file
def find_file fn
while true
return fn if File.exist? fn
fn2 = File.join("..", fn)
return nil if File.expand_path(fn2) == File.expand_path(fn)
fn = fn2
end
end
want_color = `git config color.wtf`
want_color = `git config color.ui` if want_color.empty?
$color = case want_color.chomp
when "true"; true
when "auto"; $stdout.tty?
end
def red s; $color ? "\033[31m#{s}\033[0m" : s end
def green s; $color ? "\033[32m#{s}\033[0m" : s end
def yellow s; $color ? "\033[33m#{s}\033[0m" : s end
def cyan s; $color ? "\033[36m#{s}\033[0m" : s end
def grey s; $color ? "\033[1;30m#{s}\033[0m" : s end
def purple s; $color ? "\033[35m#{s}\033[0m" : s end
## the set of commits in 'to' that aren't in 'from'.
## if empty, 'to' has been merged into 'from'.
def commits_between from, to
if $long
`git log --pretty=format:"- %s [#{yellow "%h"}] (#{purple "%ae"}; %ar)" #{from}..#{to}`
else
`git log --pretty=format:"- %s [#{yellow "%h"}]" #{from}..#{to}`
end.split(/[\r\n]+/)
end
def show_commits commits, prefix=" "
if commits.empty?
puts "#{prefix} none"
else
max = $all_commits ? commits.size : $config["max_commits"]
max -= 1 if max == commits.size - 1 # never show "and 1 more"
commits[0 ... max].each { |c| puts "#{prefix}#{c}" }
puts grey("#{prefix}... and #{commits.size - max} more (use -A to see all).") if commits.size > max
end
end
def ahead_behind_string ahead, behind
[ahead.empty? ? nil : "#{ahead.size.pluralize 'commit'} ahead",
behind.empty? ? nil : "#{behind.size.pluralize 'commit'} behind"].
compact.join("; ")
end
def widget merged_in, remote_only=false, local_only=false, local_only_merge=false
left, right = case
when remote_only; %w({ })
when local_only; %w{( )}
else %w([ ])
end
middle = case
when merged_in && local_only_merge; green("~")
when merged_in; green("x")
else " "
end
print left, middle, right
end
def show b
have_both = b[:local_branch] && b[:remote_branch]
pushc, pullc, oosync = if have_both
[x = commits_between(b[:remote_branch], b[:local_branch]),
y = commits_between(b[:local_branch], b[:remote_branch]),
!x.empty? && !y.empty?]
end
if b[:local_branch]
puts "Local branch: " + green(b[:local_branch].sub(/^heads\//, ""))
if have_both
if pushc.empty?
puts "#{widget true} in sync with remote"
else
action = oosync ? "push after rebase / merge" : "push"
puts "#{widget false} NOT in sync with remote (you should #{action})"
show_commits pushc unless $short
end
end
end
if b[:remote_branch]
puts "Remote branch: #{cyan b[:remote_branch]} (#{b[:remote_url]})"
if have_both
if pullc.empty?
puts "#{widget true} in sync with local"
else
action = pushc.empty? ? "merge" : "rebase / merge"
puts "#{widget false} NOT in sync with local (you should #{action})"
show_commits pullc unless $short
end
end
end
puts "\n#{red "WARNING"}: local and remote branches have diverged. A merge will occur unless you rebase." if oosync
end
def show_relations b, all_branches
ibs, fbs = all_branches.partition { |name, br| $config["integration-branches"].include?(br[:local_branch]) || $config["integration-branches"].include?(br[:remote_branch]) }
if $config["integration-branches"].include? b[:local_branch]
puts "\nFeature branches:" unless fbs.empty?
fbs.each do |name, br|
next if $config["ignore"].member?(br[:local_branch]) || $config["ignore"].member?(br[:remote_branch])
next if br[:ignore]
local_only = br[:remote_branch].nil?
remote_only = br[:local_branch].nil?
name = if local_only
purple br[:name]
elsif remote_only
cyan br[:name]
else
green br[:name]
end
## for remote_only branches, we'll compute wrt the remote branch head. otherwise, we'll
## use the local branch head.
head = remote_only ? br[:remote_branch] : br[:local_branch]
remote_ahead = b[:remote_branch] ? commits_between(b[:remote_branch], head) : []
local_ahead = b[:local_branch] ? commits_between(b[:local_branch], head) : []
if local_ahead.empty? && remote_ahead.empty?
puts "#{widget true, remote_only, local_only} #{name} #{local_only ? "(local-only) " : ""}is merged in"
elsif local_ahead.empty?
puts "#{widget true, remote_only, local_only, true} #{name} merged in (only locally)"
else
behind = commits_between head, (br[:local_branch] || br[:remote_branch])
ahead = remote_only ? remote_ahead : local_ahead
puts "#{widget false, remote_only, local_only} #{name} #{local_only ? "(local-only) " : ""}is NOT merged in (#{ahead_behind_string ahead, behind})"
show_commits ahead unless $short
end
end
else
puts "\nIntegration branches:" unless ibs.empty? # unlikely
ibs.sort_by { |v, br| v }.each do |v, br|
next if $config["ignore"].member?(br[:local_branch]) || $config["ignore"].member?(br[:remote_branch])
next if br[:ignore]
local_only = br[:remote_branch].nil?
remote_only = br[:local_branch].nil?
name = remote_only ? cyan(br[:name]) : green(br[:name])
ahead = commits_between v, (b[:local_branch] || b[:remote_branch])
if ahead.empty?
puts "#{widget true, local_only} merged into #{name}"
else
#behind = commits_between b[:local_branch], v
puts "#{widget false, local_only} NOT merged into #{name} (#{ahead.size.pluralize 'commit'} ahead)"
show_commits ahead unless $short
end
end
end
end
#### EXECUTION STARTS HERE ####
## find config file and load it
$config = { "integration-branches" => %w(heads/master heads/next heads/edge), "ignore" => [], "max_commits" => 5 }.merge begin
fn = find_file CONFIG_FN
if fn && (h = YAML::load_file(fn)) # yaml turns empty files into false
h["integration-branches"] ||= h["versions"] # support old nomenclature
h
else
{}
end
end
if $dump_config
puts $config.to_yaml
exit
end
## first, index registered remotes
remotes = `git config --get-regexp ^remote\.\*\.url`.split(/[\r\n]+/).inject({}) do |hash, l|
l =~ /^remote\.(.+?)\.url (.+)$/ or next hash
hash[$1] ||= $2
hash
end
## next, index followed branches
branches = `git config --get-regexp ^branch\.`.split(/[\r\n]+/).inject({}) do |hash, l|
case l
when /branch\.(.*?)\.remote (.+)/
name, remote = $1, $2
hash[name] ||= {}
hash[name].merge! :remote => remote, :remote_url => remotes[remote]
when /branch\.(.*?)\.merge ((refs\/)?heads\/)?(.+)/
name, remote_branch = $1, $4
hash[name] ||= {}
hash[name].merge! :remote_mergepoint => remote_branch
end
hash
end
## finally, index all branches
remote_branches = {}
`git show-ref`.split(/[\r\n]+/).each do |l|
sha1, ref = l.chomp.split " refs/"
if ref =~ /^heads\/(.+)$/ # local branch
name = $1
next if name == "HEAD"
branches[name] ||= {}
branches[name].merge! :name => name, :local_branch => ref
elsif ref =~ /^remotes\/(.+?)\/(.+)$/ # remote branch
remote, name = $1, $2
remote_branches["#{remote}/#{name}"] = true
next if name == "HEAD"
ignore = !($all || remote == "origin")
branch = name
if branches[name] && branches[name][:remote] == remote
# nothing
else
name = "#{remote}/#{branch}"
end
branches[name] ||= {}
branches[name].merge! :name => name, :remote => remote, :remote_branch => "#{remote}/#{branch}", :remote_url => remotes[remote], :ignore => ignore
end
end
## assemble remotes
branches.each do |k, b|
next unless b[:remote] && b[:remote_mergepoint]
b[:remote_branch] = if b[:remote] == "."
b[:remote_mergepoint]
else
t = "#{b[:remote]}/#{b[:remote_mergepoint]}"
remote_branches[t] && t # only if it's still alive
end
end
show_dirty = ARGV.empty?
targets = if ARGV.empty?
[`git symbolic-ref HEAD`.chomp.sub(/^refs\/heads\//, "")]
else
ARGV.map { |x| x.sub(/^heads\//, "") }
end.map { |t| branches[t] or abort "Error: can't find branch #{t.inspect}." }
targets.each do |t|
show t
show_relations t, branches if $show_relations || t[:remote_branch].nil?
end
modified = show_dirty && `git ls-files -m` != ""
uncommitted = show_dirty && `git diff-index --cached HEAD` != ""
if $key
puts
puts KEY
end
puts if modified || uncommitted
puts "#{red "NOTE"}: working directory contains modified files." if modified
puts "#{red "NOTE"}: staging area contains staged but uncommitted files." if uncommitted
# the end!

12
bin/ksecret Executable file
View file

@ -0,0 +1,12 @@
#!/bin/bash
set -e
if [ "$#" -lt 2 ]; then
echo "Usage: ${0} [kubectl options] secret key"
exit 0
fi
secret="${@:$(($#-1)):1}"
key="${@:$(($#)):1}"
set -- "${@:1:$(($#-2))}"
kubectl get secret "$@" "${secret}" -o "go-template={{index .data \"${key}\"}}" | base64 -d

1
bin/ktoolbox Symbolic link
View file

@ -0,0 +1 @@
/home/dln/src/github.com/dln/ktoolbox/ktoolbox

8
bin/kube-portforward Executable file
View file

@ -0,0 +1,8 @@
#!/bin/bash
set -xeuo pipefail
selector="$1"
shift
pod=$(kubectl get pods -l ${selector} --field-selector=status.phase=Running -o template --template="{{with index .items 0}}{{.metadata.name}}{{end}}")
kubectl port-forward $pod "$@"

3
bin/kube-setns Executable file
View file

@ -0,0 +1,3 @@
#!/bin/bash
set -xeuo pipefail
kubectl config set-context $(kubectl config current-context) --namespace "$1"

8
bin/kube-sh Executable file
View file

@ -0,0 +1,8 @@
#!/bin/bash
set -xe
ns=$1
shift
selector="$@"
pod=$(kubectl get pods --namespace=$ns $selector -o template --template="{{with index .items 0}}{{.metadata.name}}{{end}}")
exec kubectl --namespace=$ns exec -ti $pod /bin/sh

Some files were not shown because too many files have changed in this diff Show more