Compare commits

...

60 Commits

Author SHA1 Message Date
Jason Swank
4ff86c280d colorscheme + minor tweaks 2026-01-12 12:23:21 -05:00
Jason Swank
ade5ab61ba aws-get-secret: add comments 2026-01-10 22:44:07 +00:00
Jason Swank
1078045906 bat: change default theme to Nord 2026-01-10 16:34:42 +00:00
Jason Swank
5136fe2604 vim: better glyph for linewrapping 2026-01-10 09:45:33 -05:00
Jason Swank
9c0ad024a3 improve line wrapping 2026-01-10 14:27:22 +00:00
Jason Swank
c008ad9e3c vim/zk: minor tweaks 2026-01-09 17:29:41 -05:00
Jason Swank
cec2462d8b ssh: simplify 2026-01-09 17:29:41 -05:00
Jason Swank
29747c49a6 fix clipboard for sway 2026-01-08 01:20:24 +00:00
Jason Swank
a8b2252b40 88->89 2026-01-07 00:44:30 +00:00
Jason Swank
0fdc0903db vim config updates 2026-01-07 00:43:18 +00:00
Jason Swank
c3becf1566 add moonshot 2026-01-04 22:39:21 -05:00
Jason Swank
da19218b33 zsh: ignore files, improve secrets mgmt 2026-01-04 22:35:40 -05:00
Jason Swank
19ced517f3 foot: use solarized theme 2026-01-04 22:31:07 -05:00
Jason Swank
e0c651da62 docs: update README 2026-01-04 22:30:29 -05:00
Jason Swank
898ee818e8 sway: poweroff monitor 2026-01-04 22:29:44 -05:00
Jason Swank
45aeff98d0 run ping w/ sudo 2026-01-04 14:47:27 -05:00
Jason Swank
f71d579f0e update TZ 2026-01-04 14:47:06 -05:00
Jason Swank
f1aff7ad00 use 4 spaces for gh-md-toc 2026-01-04 14:46:25 -05:00
Jason Swank
a75e2a5732 minor tweaks 2026-01-03 12:26:54 -05:00
Jason Swank
75363a7d91 aichat cleanup 2026-01-03 12:11:15 -05:00
Jason Swank
89c3b86c47 new linux workstation 2026-01-02 22:21:13 -05:00
Jason Swank
252f2fdff7 add back submodules 2026-01-03 02:32:41 +00:00
Jason Swank
937deeddc7 cleanup submodules 2026-01-03 02:31:29 +00:00
Jason Swank
1f444be37a convert to vim9 2026-01-03 01:59:33 +00:00
Jason Swank
e285163442 bat + new zsh functions 2025-12-28 18:38:38 +00:00
Jason Swank
5b27f75da8 new apps 2025-12-28 05:28:46 +00:00
Jason Swank
1669c95044 vim + zk setup 2025-12-27 20:12:44 +00:00
Jason Swank
56530d7f39 wip 2025-12-27 17:24:17 +00:00
Jason Swank
f25f2e5364 update 2025-12-27 05:12:16 +00:00
Jason Swank
0b996ee0de add copilot 2025-12-27 04:53:31 +00:00
Jason Swank
139f71edb6 use vim 2025-12-27 04:46:27 +00:00
Jason Swank
9ba8e7c04e wip 2025-12-19 21:13:02 +00:00
Jason Swank
d34800d5b9 add direnv to default install 2025-12-19 17:28:24 +00:00
Jason Swank
f29b4cfd9d improve direnv 2025-12-19 17:27:33 +00:00
Jason Swank
e55369aa3e minor updates 2025-12-19 16:54:16 +00:00
Jason Swank
6722705f88 wip 2025-12-18 16:21:48 +00:00
Jason Swank
bb7f28b9fb support .tofu extension 2025-11-14 14:55:28 +00:00
Jason Swank
816b7e5bed improve functions 2025-11-14 14:54:54 +00:00
Jason Swank
95f233771a update tofu and aws-login 2025-10-28 18:02:51 +00:00
Jason Swank
fc1cddac13 more funcs 2025-10-24 15:27:01 +00:00
Jason Swank
a474758772 add zsh functions 2025-10-20 19:44:10 +00:00
Jason Swank
8fe8be5ad7 Merge branch 'main' of ssh://git.scalene.net:22023/jswank/dotfiles 2025-10-20 02:24:31 +00:00
Jason Swank
47c8f029d4 cfa 2025-10-20 01:07:11 +00:00
Jason Swank
e2d01a9698 add npm 2025-10-19 20:55:51 +00:00
Jason Swank
8dd3d0a5f4 s/terraform/tofu, add tofu completion, check in zsh functions 2025-10-19 20:23:33 +00:00
Jason Swank
ff8e3628cb Merge branch 'main' of https://git.scalene.net/jswank/dotfiles 2025-10-15 03:01:40 +00:00
Jason Swank
0b61b1738b nvim config update 2025-10-14 22:59:52 -04:00
Jason Swank
ca02e2960a update aichat, nvim config 2025-10-15 02:55:16 +00:00
Jason Swank
f8f686d9f9 update aichat config 2025-10-14 21:43:40 -04:00
Jason Swank
89eda6a79b remove some old aliases 2025-04-23 22:30:18 -04:00
Jason Swank
46947e8f9c update stow.sh usage 2025-04-23 22:03:54 -04:00
Jason Swank
b26a11c7ff add vim-go 2025-02-25 12:39:09 +00:00
Jason Swank
9991e791dd add aichat, zsh completion dir 2025-01-19 21:20:57 +00:00
Jason Swank
8cfa5d009d zsh: fix git/.env path 2025-01-15 21:13:57 +00:00
Jason Swank
167d94e98c nvim: shortcut for toc / tf fmt 2025-01-15 21:13:09 +00:00
Jason Swank
3970628dac simplify git prompt 2025-01-10 14:14:37 +00:00
Jason Swank
f31d40273c compinit 2025-01-10 01:50:20 +00:00
Jason Swank
74acb08ca2 local git 2025-01-10 01:30:26 +00:00
Jason Swank
061b0cc0f0 improve local net for git.scalene.net 2025-01-09 04:17:55 +00:00
Jason Swank
905449bbf4 wip 2025-01-09 04:10:48 +00:00
67 changed files with 6701 additions and 115 deletions

21
.gitmodules vendored
View File

@@ -10,3 +10,24 @@
[submodule "nvim/.config/nvim/pack/github/start/copilot.vim"]
path = nvim/.config/nvim/pack/github/start/copilot.vim
url = https://github.com/github/copilot.vim
[submodule "nvim/.config/nvim/pack/bundle/start/vim-go"]
path = nvim/.config/nvim/pack/bundle/start/vim-go
url = https://github.com/fatih/vim-go.git
[submodule "vim/.vim/pack/plugins/start/fzf.vim"]
path = vim/.vim/pack/plugins/start/fzf.vim
url = https://github.com/junegunn/fzf.vim.git
[submodule "vim/.vim/pack/plugins/start/copilot.vim"]
path = vim/.vim/pack/plugins/start/copilot.vim
url = https://github.com/github/copilot.vim.git
[submodule "vim/vim/pack/plugins/start/lsp"]
path = vim/vim/pack/plugins/start/lsp
url = https://github.com/yegappan/lsp.git
[submodule "vim/.config/vim/pack/plugins/start/lsp"]
path = vim/.config/vim/pack/plugins/start/lsp
url = https://github.com/yegappan/lsp.git
[submodule "vim/.config/vim/pack/plugins/start/copilot.vim"]
path = vim/.config/vim/pack/plugins/start/copilot.vim
url = https://github.com/github/copilot.vim.git
[submodule "vim/.config/vim/pack/plugins/start/fzf.vim"]
path = vim/.config/vim/pack/plugins/start/fzf.vim
url = https://github.com/junegunn/fzf.vim.git

View File

@@ -5,7 +5,7 @@ Clone this repo:
$ git clone --recurse-submodules https://git.sr.ht/~jswank/dotfiles
```
But since you forgot to grab the submodules, get them now:
But since you cloned the repo and forgot to grab the submodules, get them now:
```
$ git submodule update --init --recursive
```
@@ -15,18 +15,17 @@ Install my dotfiles:
$ ./install.sh
```
This will install most common dotfiles: if you want to install a set, provide
that as an argument:
This will install dotfiles for commonly used apps: if you want to install for an app not
included, provide that as an argument:
```console
$ ./install.sh i3 # installed i3 dotfiles
```
There are two potential gotchas:
1. `stow` is not installed on the system. There is a bash equivalent that is
close enough for most purposes in this repo that the install script will
use.
1. There are submodules in this repo (mostly vim/neovim plugins) which didn't get
populated when you cloned the repo. See above.
2. There submodules in this repo (mostly neovim plugins) and they didn't get
populated when you cloned the repo. See above.
2. `stow` is not installed on the system. There is a bash equivalent that is close
enough in this repo that the install script will automatically use.

View File

@@ -3,8 +3,14 @@
# set API keys via environment variables, like CLAUDE_API_KEY
# environment variables for aichat can be set at ~/.config/aichat/.env
model: claude
#model: claude:claude-sonnet-4-5-20250929
model: gemini:gemini-3-flash-preview
keybindings: vi
prelude: role:cloudops
repl_prelude: role:cloudops
clients:
- type: claude
- type: gemini
- type: openai
- type: openai-compatible
name: moonshot
api_base: https://api.moonshot.ai/v1

File diff suppressed because it is too large Load Diff

View File

@@ -1,10 +1,12 @@
I want you to act as a UNIX shell expert and senior software engineer.
You are working in an environment with services using Amazon Web Services (AWS), including EKS, ALB, VPC, Transit Gateways.
Tools you are currently using include Terraform, git (Github), the AWS CLI, kubectl, `jq`, `yy`.
You are working in an environment with services using Amazon Web Services
(AWS), including EKS, ALB, VPC, Transit Gateways. Tools you are currently
using include Terraform, git (Github), the AWS CLI, kubectl, `jq`, `yy`.
You are a Go program language expert.
Explanations should be terse.
Explanations should be terse. Do not include emojis in responses.
If relevant, include fenced code blocks as part of your response.
Please include relevant fenced code blocks as part of your response.

View File

@@ -0,0 +1,5 @@
I want you to act as a Linux shell expert and senior software engineer.
Explanations should be terse. Do not include emojis in responses.
If relevant, include fenced code blocks as part of your response.

View File

@@ -0,0 +1,3 @@
I'll be asking you questions about the text editor VIM v9.
My configuration is located in $XDG_CONFIG_HOME/vim.

29
bat/.config/bat/config Normal file
View File

@@ -0,0 +1,29 @@
# This is `bat`s configuration file. Each line either contains a comment or
# a command-line option that you want to pass to `bat` by default. You can
# run `bat --help` to get a list of all possible configuration options.
# Specify desired highlighting theme (e.g. "TwoDark"). Run `bat --list-themes`
# for a list of all available themes
#--theme="ansi"
#--theme="base16"
--theme="Nord"
# Enable this to use italic text on the terminal. This is not supported on all
# terminal emulators (like tmux, by default):
#--italic-text=always
# Uncomment the following line to disable automatic paging:
#--paging=never
# Uncomment the following line if you are using less version >= 551 and want to
# enable mouse scrolling support in `bat` when running inside tmux. This might
# disable text selection, unless you press shift.
#--pager="less --RAW-CONTROL-CHARS --quit-if-one-screen --mouse"
# Syntax mappings: map a certain filename pattern to a language.
# Example 1: use the C++ syntax for Arduino .ino files
# Example 2: Use ".gitignore"-style highlighting for ".ignore" files
#--map-syntax "*.ino:C++"
#--map-syntax ".ignore:Git Ignore"
--style="plain"

View File

@@ -1,2 +1,2 @@
[global]
load_dotenv = true
load_dotenv = false

View File

@@ -0,0 +1,15 @@
export_secret() {
local name="$1"
local file="/run/secrets/${name}"
if [[ ! -f "$file" ]]; then
printf "secret file not found: %s\n" $file >&2
return 1
fi
# Read first line, remove trailing spaces/tabs, convert nulls to newlines
local value
value=$(head -n1 "$file" | sed 's/[ \t]*$//' | tr '\0' '\n')
export "${name}=${value}"
}

View File

@@ -0,0 +1,5 @@
[main]
font=droid Sans Mono:size=13
include=/usr/share/foot/themes/solarized
#include=/usr/share/foot/themes/selenized
#include=/usr/share/foot/themes/jetbrains-darcula

View File

@@ -6,3 +6,9 @@
[push]
autoSetupRemote = true
default = current
[credential "https://github.com"]
helper =
helper = !/usr/bin/gh auth git-credential
[credential "https://gist.github.com"]
helper =
helper = !/usr/bin/gh auth git-credential

View File

@@ -5,7 +5,7 @@
STOW=$(which stow || echo -n "")
if [ -z "$STOW" ]; then
STOW=./stow.sh
STOW="./stow.sh -s"
fi
git submodule update --init --recursive
@@ -30,11 +30,14 @@ fi
# install general dotfiles
for dir in \
git \
nvim \
vim \
sh \
ssh \
tmux \
zsh
zsh \
aichat \
npm \
direnv
do
$STOW -t $HOME $dir
done

1
npm/.npmrc Normal file
View File

@@ -0,0 +1 @@
prefix=~/.local

View File

@@ -0,0 +1 @@
autocmd BufNewFile,BufRead *.tofu setlocal filetype=terraform

117
nvim/.config/nvim/init.lua Normal file
View File

@@ -0,0 +1,117 @@
-- Basic settings
vim.cmd('syntax on')
vim.opt.smarttab = true
vim.opt.tabstop = 2
vim.opt.shiftwidth = 2
vim.opt.softtabstop = 2
vim.opt.expandtab = true
vim.opt.autoindent = true
vim.opt.backspace = 'indent,eol,start'
vim.opt.background = 'dark'
vim.cmd('colorscheme theunixzoo')
-- vim.cmd('colorscheme solarized8')
-- vim.opt.guifont = 'Droid Sans Mono 10'
vim.opt.guifont = 'Inconsolata 12'
vim.opt.guioptions:remove('T')
-- Use semicolon as colon for commands
vim.keymap.set('n', ';', ':')
-- Disable mouse support
vim.opt.mouse = ''
-- Filetype settings
vim.cmd('filetype plugin on')
vim.cmd('filetype indent on')
vim.opt.omnifunc = 'syntaxcomplete#Complete'
-- Python-specific settings
vim.api.nvim_create_autocmd('FileType', {
pattern = 'python',
callback = function()
vim.opt_local.tabstop = 4
vim.opt_local.expandtab = true
vim.opt_local.shiftwidth = 4
vim.opt_local.softtabstop = 4
end,
})
-- UltiSnips settings
vim.g.UltiSnipsExpandTrigger = '<tab>'
vim.g.UltiSnipsListSnippets = '<c-l>'
-- Insert current date with idate
vim.cmd([[iab idate <c-r>=strftime("%Y-%m-%d")<cr>]])
-- Leader key mappings
vim.keymap.set('n', '<leader>toc', "<cmd>.put =execute('.,$write !gh-md-toc --hide-header --hide-footer')<cr>")
vim.keymap.set('n', '<leader>tf', '<cmd>% !tofu fmt -no-color -<cr>')
vim.keymap.set('n', '<leader>jn', '<cmd>% !jsonnetfmt -<cr>')
vim.keymap.set('n', '<leader>js', '<cmd>% !jq . -<cr>')
-- Display settings
vim.opt.lazyredraw = true
vim.opt.wildmenu = true
vim.opt.showmatch = true
vim.opt.cursorline = true
-- Search down into subfolders
vim.opt.path:append('**')
-- netrw config
vim.g.netrw_banner = 0
vim.g.netrw_browse_split = 0
vim.g.netrw_altv = 1
vim.g.netrw_liststyle = 3
vim.g.netrw_list_hide = ',\\(^\\|\\s\\s\\)\\zs\\.\\S\\+'
-- fzf-lua keymaps
vim.keymap.set('n', '<c-p>', "<cmd>lua require('fzf-lua').files()<CR>")
vim.keymap.set('n', '<c-\\>', "<cmd>lua require('fzf-lua').buffers()<CR>")
vim.keymap.set('n', '<c-g>', "<cmd>lua require('fzf-lua').grep()<CR>")
-- Github Copilot
vim.g.copilot_enabled = 0
vim.keymap.set('n', '<leader>cp', ':let g:copilot_enabled = 1<CR>')
-- GO settings
vim.g.go_fmt_command = 'goimports'
vim.g.go_highlight_functions = 1
vim.g.go_highlight_methods = 1
vim.g.go_highlight_structs = 1
vim.g.go_highlight_interfaces = 1
vim.g.go_highlight_operators = 1
vim.g.go_highlight_build_constraints = 1
-- Markdown settings
vim.g.vim_markdown_folding_disabled = 1
-- vim.pack.add({
-- "https://github.com/ibhagwan/fzf-lua.git",
-- "https://github.com/fatih/vim-go.git",
-- "https://github.com/github/copilot.vim.git",
-- })
require("fzf-lua").setup {
-- winopts = { ... }, -- UI Options
-- keymap = { ... }, -- Neovim keymaps / fzf binds
-- actions = { ... }, -- Fzf "accept" binds
-- fzf_opts = { ... }, -- Fzf CLI flags
-- fzf_colors = { ... }, -- Fzf `--color` specification
-- hls = { ... }, -- Highlights
previewers = {
builtin = {
treesitter = false
}
}, -- Previewers options
-- SPECIFIC COMMAND/PICKER OPTIONS, SEE BELOW
-- files = { ... },
}
-- HCL/Terraform/Nomad settings
-- vim.g.hcl_fmt_autosave = 1
-- vim.g.tf_fmt_autosave = 1
-- vim.g.nomad_fmt_autosave = 1

View File

@@ -6,10 +6,9 @@ set autoindent
set backspace=indent,eol,start
set t_Co=16
"set background=dark
set background=dark
colorscheme theunixzoo
"colorscheme solarized8
"source /home/jswank/.config/nvim/colors-now
@@ -37,8 +36,17 @@ let g:UltiSnipsListSnippets="<c-l>"
" typing idate inserts the current date
iab idate <c-r>=strftime("%Y-%m-%d")<cr>
" use Ctrl-M to insert a table of contents for markdown from the current line to EOF
noremap <c-m> <cmd>.put =execute('.,$write !gh-md-toc --hide-header --hide-footer')<cr>
" use \ toc to insert a table of contents for markdown from the current line to EOF
nmap <leader>toc <cmd>.put =execute('.,$write !gh-md-toc --hide-header --hide-footer')<cr>
" use \ tf to format a buffer as tofu / terraform
nmap <leader>tf <cmd>% !tofu fmt -no-color -<cr>
" use \ jn to format a buffer as Jsonnet
nmap <leader>jn <cmd>% !jsonnetfmt -<cr>
" use \ js to format a buffer as JSON
nmap <leader>js <cmd>% !jq . -<cr>
set lazyredraw " redraw only when req'd
set wildmenu " visual auto-complete
@@ -54,8 +62,9 @@ let g:netrw_banner=0 " disable annoying banner
let g:netrw_browse_split=0 " open in prior window
let g:netrw_altv=1 " open splits to the right
let g:netrw_liststyle=3 " tree view
let g:netrw_list_hide=netrw_gitignore#Hide()
let g:netrw_list_hide.=',\(^\|\s\s\)\zs\.\S\+'
" hide files in .gitignore - broken w/ neovim 0.11?
" let g:netrw_list_hide=netrw_gitignore#Hide()
let g:netrw_list_hide=',\(^\|\s\s\)\zs\.\S\+'
" NOW WE CAN:
" - :edit a folder to open a file browser

View File

@@ -1 +1,8 @@
set tabstop=4
set autoindent
set tabstop=2
set shiftwidth=2
set showmatch
set wrapscan
set ignorecase
map ; :

View File

@@ -5,4 +5,4 @@ export PAGER=less
export LESS=RX # R for ANSI color sequences, X to not clear screen on exit
export TMPDIR=/var/tmp
export PS1="\w $ "
export PATH=${PATH}:~/bin
export PATH=${PATH}:~/.local/bin

1
ssh/.ssh/.gitignore vendored
View File

@@ -1 +1,2 @@
local-config
id_*

View File

@@ -1,12 +1,23 @@
# local network -> local port
Match Host tuulikki.scalene.net exec "sudo ping -c 1 -W 1 -q 192.168.101.1"
Port 22
Host tuulikki.scalene.net
Port 22022
# local network -> local port
Match Host tonttu.scalene.net exec "sudo ping -c 1 -W 1 -q 192.168.101.1"
Port 22
Host tonttu.scalene.net
Port 22024
Host www.scalene.net
User scalene
Port 22022
Host tilde.club
User eke
Match host git.scalene.net exec "ip route |grep -q ^192.168.101.0/24"
Match Host git.scalene.net exec "sudo ping -c 1 -W 1 -q 192.168.101.1"
Hostname tonttu.scalene.net
Host *.scalene.net
User jswank

244
sway/.config/sway/config Normal file
View File

@@ -0,0 +1,244 @@
# Default config for sway
#
# Copy this to ~/.config/sway/config and edit it to your liking.
#
# Read `man 5 sway` for a complete reference.
### Variables
#
# Logo key. Use Mod1 for Alt.
set $mod Mod4
# Home row direction keys, like vim
set $left h
set $down j
set $up k
set $right l
# Your preferred terminal emulator
set $term foot
# Your preferred application launcher
set $menu wmenu-run
workspace_layout tabbed
# titlebar font
font Droid Sans Mono Bold 10
#font DejaVu Serif Italic Bold 10
### Output configuration
#
# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/)
#output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
#
# Example configuration:
#
# output HDMI-A-1 resolution 1920x1080 position 1920,0
#
# You can get the names of your outputs by running: swaymsg -t get_outputs
### Idle configuration
#
# Example configuration:
#
# This will lock your screen after 300 seconds of inactivity, then turn off
# your displays after another 300 seconds, and turn your screens back on when
# resumed. It will also lock your screen before your computer goes to sleep.
#
#exec swayidle -w \
# timeout 300 'swaylock -f -c 000000' \
# timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
# before-sleep 'swaylock -f -c 000000'
exec swayidle -w \
timeout 300 'swaymsg "output * power off"' resume 'swaymsg "output * power on"'
# exec dbus-update-activation-environment WAYLAND_DISPLAY DISPLAY XDG_CURRENT_DESKTOP=sway SWAYSOCK I3SOCK
#
### Input configuration
#
# Example configuration:
#
# input type:touchpad {
# dwt enabled
# tap enabled
# natural_scroll enabled
# middle_emulation enabled
# }
#
input type:keyboard {
xkb_options ctrl:nocaps
}
#
# You can also configure each device individually.
# Read `man 5 sway-input` for more information about this section.
### Key bindings
#
# Basics:
#
# Start a terminal
bindsym $mod+Return exec $term
# Kill focused window
bindsym $mod+Shift+q kill
# Start your launcher
bindsym $mod+Space exec $menu
# Drag floating windows by holding down $mod and left mouse button.
# Resize them with right mouse button + $mod.
# Despite the name, also works for non-floating windows.
# Change normal to inverse to use left mouse button for resizing and right
# mouse button for dragging.
floating_modifier $mod normal
# Reload the configuration file
bindsym $mod+Shift+c reload
# Exit sway (logs you out of your Wayland session)
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
#
# Moving around:
#
# Move your focus around
bindsym $mod+$left focus left
bindsym $mod+Shift+Tab focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
bindsym $mod+Tab focus right
# Or use $mod+[up|down|left|right]
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# Move the focused window with the same, but add Shift
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
# Ditto, with arrow keys
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
#
# Workspaces:
#
# Switch to workspace
bindsym $mod+1 workspace number 1
bindsym $mod+2 workspace number 2
bindsym $mod+3 workspace number 3
bindsym $mod+4 workspace number 4
bindsym $mod+5 workspace number 5
bindsym $mod+6 workspace number 6
bindsym $mod+7 workspace number 7
bindsym $mod+8 workspace number 8
bindsym $mod+9 workspace number 9
bindsym $mod+0 workspace number 10
# Move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number 1
bindsym $mod+Shift+2 move container to workspace number 2
bindsym $mod+Shift+3 move container to workspace number 3
bindsym $mod+Shift+4 move container to workspace number 4
bindsym $mod+Shift+5 move container to workspace number 5
bindsym $mod+Shift+6 move container to workspace number 6
bindsym $mod+Shift+7 move container to workspace number 7
bindsym $mod+Shift+8 move container to workspace number 8
bindsym $mod+Shift+9 move container to workspace number 9
bindsym $mod+Shift+0 move container to workspace number 10
# Note: workspaces can have any name you want, not just numbers.
# We just use 1-10 as the default.
#
# Layout stuff:
#
# You can "split" the current object of your focus with
# $mod+b or $mod+v, for horizontal and vertical splits
# respectively.
bindsym $mod+b splith
bindsym $mod+v splitv
# Switch the current container between different layout styles
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# Make the current focus fullscreen
bindsym $mod+f fullscreen
# Toggle the current focus between tiling and floating mode
bindsym $mod+Shift+space floating toggle
# Swap focus between the tiling area and the floating area
bindsym $mod+t focus mode_toggle
# Move focus to the parent container
bindsym $mod+a focus parent
#
# Scratchpad:
#
# Sway has a "scratchpad", which is a bag of holding for windows.
# You can send windows there and get them back later.
# Move the currently focused window to the scratchpad
bindsym $mod+Shift+minus move scratchpad
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
bindsym $mod+minus scratchpad show
#
# Resizing containers:
#
mode "resize" {
# left will shrink the containers width
# right will grow the containers width
# up will shrink the containers height
# down will grow the containers height
bindsym $left resize shrink width 10px
bindsym $down resize grow height 10px
bindsym $up resize shrink height 10px
bindsym $right resize grow width 10px
# Ditto, with arrow keys
bindsym Left resize shrink width 10px
bindsym Down resize grow height 10px
bindsym Up resize shrink height 10px
bindsym Right resize grow width 10px
# Return to default mode
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
#
# Utilities:
#
# Special keys to adjust volume via PulseAudio
bindsym --locked XF86AudioMute exec pactl set-sink-mute \@DEFAULT_SINK@ toggle
bindsym --locked XF86AudioLowerVolume exec pactl set-sink-volume \@DEFAULT_SINK@ -5%
bindsym --locked XF86AudioRaiseVolume exec pactl set-sink-volume \@DEFAULT_SINK@ +5%
bindsym --locked XF86AudioMicMute exec pactl set-source-mute \@DEFAULT_SOURCE@ toggle
# Special keys to adjust brightness via brightnessctl
bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%-
bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+
# Special key to take a screenshot with grim
bindsym Print exec grim
#
# Status Bar:
#
# Read `man 5 sway-bar` for more information about this section.
bar {
position bottom
# When the status_command prints a new line to stdout, swaybar updates.
# The default just shows the current date and time.
status_command while date +'%Y-%m-%d %X'; do sleep 1; done
colors {
statusline #ffffff
background #323232
inactive_workspace #32323200 #32323200 #5c5c5c
}
}

View File

@@ -19,4 +19,5 @@ set-environment -g SSH_AUTH_SOCK $HOME/.ssh/ssh_auth_sock
set -g escape-time 10
set -g set-clipboard
# maybe?
set-option -g set-clipboard external

1
vim/.config/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.netrwhist

View File

@@ -0,0 +1,3 @@
let g:netrw_dirhistmax =10
let g:netrw_dirhistcnt =1
let g:netrw_dirhist_1='/home/cli'

View File

@@ -0,0 +1,139 @@
hi clear
if exists("syntax_on")
syntax reset
endif
let g:colors_name = "aomi-grayscale"
" TODO: cterm colors
" Colors abbrev
let s:vmode = "gui"
let s:none = "NONE"
let s:black = "#0d1117"
let s:deep = "#171a1f"
let s:dull = "#40444a"
let s:gray = "#78808a"
let s:semiwhite = "#aeb9c2"
let s:white = "#e4ecf3"
if &background == 'light'
let s:black = "#ffffff"
let s:deep = "#e9eff5"
let s:dull = "#c7cfd6"
let s:gray = "#9097a3"
let s:semiwhite = "#6e7781"
let s:white = "#06070a"
endif
let s:bg_none = " " .s:vmode ."bg=" .s:none
let s:bg_black = " " .s:vmode ."bg=" .s:black
let s:bg_deep = " " .s:vmode ."bg=" .s:deep
let s:bg_dull = " " .s:vmode ."bg=" .s:dull
let s:bg_gray = " " .s:vmode ."bg=" .s:gray
let s:bg_semiwhite = " " .s:vmode ."bg=" .s:semiwhite
let s:bg_white = " " .s:vmode ."bg=" .s:white
let s:fg_none = " " .s:vmode ."fg=" .s:none
let s:fg_black = " " .s:vmode ."fg=" .s:black
let s:fg_deep = " " .s:vmode ."fg=" .s:deep
let s:fg_dull = " " .s:vmode ."fg=" .s:dull
let s:fg_gray = " " .s:vmode ."fg=" .s:gray
let s:fg_semiwhite = " " .s:vmode ."fg=" .s:semiwhite
let s:fg_white = " " .s:vmode ."fg=" .s:white
" Format abbrev
let s:none = "NONE"
let s:t_none = "NONE"
let s:n = "NONE"
let s:c = ",undercurl"
let s:r = ",reverse"
let s:s = ",standout"
let s:b = ",bold"
let s:u = ",underline"
let s:i = ",italic"
let s:vmode = "cterm"
let s:fmt_none = " " .s:vmode."=NONE". " term=NONE"
let s:fmt_bold = " " .s:vmode."=NONE".s:b. " term=NONE".s:b
let s:fmt_bldi = " " .s:vmode."=NONE".s:b. " term=NONE".s:b
let s:fmt_undr = " " .s:vmode."=NONE".s:u. " term=NONE".s:u
let s:fmt_undb = " " .s:vmode."=NONE".s:u.s:b. " term=NONE".s:u.s:b
let s:fmt_undi = " " .s:vmode."=NONE".s:u. " term=NONE".s:u
let s:fmt_curl = " " .s:vmode."=NONE".s:c. " term=NONE".s:c
let s:fmt_ital = " " .s:vmode."=NONE".s:i. " term=NONE".s:i
let s:fmt_stnd = " " .s:vmode."=NONE".s:s. " term=NONE".s:s
let s:fmt_revr = " " .s:vmode."=NONE".s:r. " term=NONE".s:r
let s:fmt_revb = " " .s:vmode."=NONE".s:r.s:b. " term=NONE".s:r.s:b
" Main colors
let s:normal = s:fmt_none .s:fg_white .s:bg_black
let s:keyword = s:fmt_none .s:fg_semiwhite .s:bg_none
let s:comment = s:fmt_none .s:fg_gray .s:bg_none
let s:attention = s:fmt_undr .s:fg_white .s:bg_none
" Basic highlights
exe "hi Normal" .s:normal
exe "hi Comment" .s:comment
exe "hi Constant" .s:normal
exe "hi String" .s:keyword
exe "hi Character" .s:keyword
exe "hi Identifier" .s:normal
exe "hi Statement" .s:keyword
exe "hi PreProc" .s:keyword
exe "hi Type" .s:normal
exe "hi Special" .s:normal
exe "hi Underlined" .s:fmt_undr .s:fg_white .s:bg_none
exe "hi Ignore" .s:fmt_none .s:fg_none .s:bg_none
exe "hi Error" .s:attention
exe "hi Todo" .s:fmt_bold .s:fg_white .s:bg_deep
exe "hi SpecialKey" .s:fmt_none .s:fg_dull .s:bg_none
exe "hi NonText" .s:fmt_none .s:fg_dull .s:bg_none
exe "hi StatusLine" .s:fmt_none .s:fg_white .s:bg_dull
exe "hi StatusLineNC" .s:fmt_none .s:fg_gray .s:bg_deep
exe "hi StatusLineTerm" .s:fmt_none .s:fg_white .s:bg_dull
exe "hi StatusLineTermNC" .s:fmt_none .s:fg_gray .s:bg_deep
exe "hi Visual" .s:fmt_none .s:fg_none .s:bg_dull
exe "hi Directory" .s:keyword
exe "hi ErrorMsg" .s:attention
exe "hi IncSearch" .s:fmt_revr .s:fg_gray .s:bg_black
exe "hi Search" .s:fmt_revr .s:fg_white .s:bg_black
exe "hi MoreMsg" .s:normal
exe "hi ModeMsg" .s:normal
exe "hi LineNr" .s:fmt_none .s:fg_dull .s:bg_none
exe "hi CursorLineNr" .s:fmt_none .s:fg_white .s:bg_none
exe "hi Question" .s:attention
exe "hi VertSplit" .s:fmt_none .s:fg_deep .s:bg_none
exe "hi Title" .s:normal
exe "hi VisualNOS" .s:fmt_none .s:fg_none .s:bg_dull
exe "hi WarningMsg" .s:attention
exe "hi WildMenu" .s:fmt_none .s:fg_white .s:bg_dull
exe "hi Folded" .s:fmt_none .s:fg_gray .s:bg_deep
exe "hi FoldColumn" .s:fmt_none .s:fg_white .s:bg_deep
" TODO: Diff
exe "hi SignColumn" .s:normal
exe "hi Conceal" .s:fmt_none
exe "hi SpellBad" .s:fmt_undr
exe "hi SpellCap" .s:fmt_undr
exe "hi SpellRare" .s:fmt_undr
exe "hi SpellLocal" .s:fmt_undr
exe "hi PMenu" .s:fmt_none .s:fg_white .s:bg_deep
exe "hi PMenuSel" .s:fmt_none .s:fg_white .s:bg_dull
exe "hi PMenuSbar" .s:fmt_none .s:fg_gray .s:bg_deep
exe "hi PMenuThumb" .s:fmt_none .s:fg_gray .s:bg_gray
exe "hi TabLine" .s:fmt_undr .s:fg_gray .s:bg_deep
exe "hi TabLineFill" .s:fmt_undr .s:fg_gray .s:bg_deep
exe "hi TabLineSel" .s:fmt_undr .s:fg_semiwhite .s:bg_deep
exe "hi CursorLine" .s:fmt_none .s:fg_none .s:bg_deep
exe "hi CursorColumn" .s:fmt_none .s:fg_none .s:bg_deep
exe "hi Cursor" .s:fmt_none .s:fg_none .s:bg_dull
exe "hi MatchParen" .s:fmt_none .s:fg_none .s:bg_dull
" Links
hi link CtrlPMatch Visual
hi link LspErrorVirtualText Comment
if &background == 'light'
exe "hi Visual" .s:fmt_none .s:fg_none .s:bg_deep
endif

View File

@@ -0,0 +1,534 @@
" Name: chill
" Description: A customized version of 'quiet' from https://github.com/vim/colorschemes
" License: Vim License (see `:help license`)`
" Last Change: 2026-01-10
" Generated by Colortemplate v3.0.0-beta10
hi clear
let g:colors_name = 'quiet'
let s:t_Co = has('gui_running') ? 16777216 : str2nr(&t_Co)
let s:tgc = has('termguicolors') && &termguicolors
hi! link Added Normal
hi! link Boolean Constant
hi! link Changed Normal
hi! link Character Constant
hi! link Conditional Statement
hi! link Debug Special
hi! link Define PreProc
hi! link Delimiter Special
hi! link Exception Statement
hi! link Float Constant
hi! link Function Identifier
hi! link Include PreProc
hi! link Keyword Statement
hi! link Label Statement
hi! link Macro PreProc
hi! link MessageWindow Pmenu
hi! link Number Constant
hi! link Operator Statement
hi! link PopupNotification Todo
hi! link PreCondit PreProc
hi! link Removed Normal
hi! link Repeat Statement
hi! link SpecialChar Special
hi! link SpecialComment Special
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi! link StorageClass Type
hi! link String Constant
hi! link Structure Type
hi! link Tag Special
hi! link Terminal Normal
hi! link Typedef Type
hi! link debugBreakpoint ModeMsg
hi! link debugPC CursorLine
hi! link lCursor Cursor
" Inline code: `code`
hi markdownCode gui=italic cterm=italic
" Multiline fenced code blocks: ```code```
hi markdownCodeBlock gui=italic cterm=italic
if &background == 'dark'
let g:terminal_ansi_colors = ['#000000', '#d7005f', '#00af5f', '#d78700', '#0087d7', '#d787d7', '#00afaf', '#dadada', '#707070', '#ff005f', '#00d75f', '#ffaf00', '#5fafff', '#ff87ff', '#00d7d7', '#ffffff']
" use the default / current terminal background color for ctermbg
" hi Normal guifg=#dadada guibg=#000000 guisp=NONE gui=NONE ctermfg=253 ctermbg=16 cterm=NONE term=NONE
hi Normal guifg=#dadada guibg=#000000 guisp=NONE gui=NONE ctermfg=253 ctermbg=NONE cterm=NONE term=NONE
hi ColorColumn guifg=NONE guibg=#1c1c1c guisp=NONE gui=NONE ctermfg=NONE ctermbg=234 cterm=NONE term=reverse
hi Comment guifg=#707070 guibg=NONE guisp=NONE gui=bold ctermfg=242 ctermbg=NONE cterm=bold term=bold
hi Conceal guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=NONE
hi Constant guifg=#dadada guibg=NONE guisp=NONE gui=NONE ctermfg=253 ctermbg=NONE cterm=NONE term=NONE
hi CurSearch guifg=#ff5fff guibg=#000000 guisp=NONE gui=reverse ctermfg=207 ctermbg=16 cterm=reverse term=reverse
hi Cursor guifg=NONE guibg=NONE guisp=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse term=reverse
hi CursorColumn guifg=NONE guibg=#303030 guisp=NONE gui=NONE ctermfg=NONE ctermbg=236 cterm=NONE term=NONE
hi CursorIM guifg=#000000 guibg=#afff00 guisp=NONE gui=NONE ctermfg=16 ctermbg=154 cterm=NONE term=NONE
hi CursorLine guifg=NONE guibg=#303030 guisp=NONE gui=NONE ctermfg=NONE ctermbg=236 cterm=NONE term=underline
hi CursorLineNr guifg=#dadada guibg=#303030 guisp=NONE gui=NONE ctermfg=253 ctermbg=236 cterm=NONE term=bold
hi DiffAdd guifg=#00af00 guibg=#000000 guisp=NONE gui=reverse ctermfg=34 ctermbg=16 cterm=reverse term=reverse
hi DiffChange guifg=#87afd7 guibg=#000000 guisp=NONE gui=reverse ctermfg=110 ctermbg=16 cterm=reverse term=NONE
hi DiffDelete guifg=#d75f5f guibg=#000000 guisp=NONE gui=reverse ctermfg=167 ctermbg=16 cterm=reverse term=reverse
hi DiffText guifg=#d787d7 guibg=#000000 guisp=NONE gui=reverse ctermfg=176 ctermbg=16 cterm=reverse term=reverse
hi Directory guifg=#dadada guibg=NONE guisp=NONE gui=NONE ctermfg=253 ctermbg=NONE cterm=NONE term=NONE
hi EndOfBuffer guifg=#707070 guibg=NONE guisp=NONE gui=NONE ctermfg=242 ctermbg=NONE cterm=NONE term=NONE
hi Error guifg=#ff005f guibg=#000000 guisp=NONE gui=bold,reverse ctermfg=197 ctermbg=16 cterm=bold,reverse term=bold,reverse
hi ErrorMsg guifg=#dadada guibg=#000000 guisp=NONE gui=reverse ctermfg=253 ctermbg=16 cterm=reverse term=bold,reverse
hi FoldColumn guifg=#707070 guibg=NONE guisp=NONE gui=NONE ctermfg=242 ctermbg=NONE cterm=NONE term=NONE
hi Folded guifg=#707070 guibg=#000000 guisp=NONE gui=NONE ctermfg=242 ctermbg=16 cterm=NONE term=NONE
hi Identifier guifg=#dadada guibg=NONE guisp=NONE gui=NONE ctermfg=253 ctermbg=NONE cterm=bold term=bold
hi Ignore guifg=#dadada guibg=NONE guisp=NONE gui=NONE ctermfg=253 ctermbg=NONE cterm=NONE term=NONE
hi IncSearch guifg=#ffaf00 guibg=#000000 guisp=NONE gui=reverse ctermfg=214 ctermbg=16 cterm=reverse term=bold,reverse,underline
hi LineNr guifg=#585858 guibg=NONE guisp=NONE gui=NONE ctermfg=240 ctermbg=NONE cterm=NONE term=NONE
hi MatchParen guifg=#ff00af guibg=NONE guisp=NONE gui=bold ctermfg=199 ctermbg=NONE cterm=bold term=bold,underline
hi ModeMsg guifg=#dadada guibg=NONE guisp=NONE gui=bold ctermfg=253 ctermbg=NONE cterm=bold term=bold
hi MoreMsg guifg=#dadada guibg=NONE guisp=NONE gui=NONE ctermfg=253 ctermbg=NONE cterm=NONE term=NONE
hi NonText guifg=#707070 guibg=NONE guisp=NONE gui=NONE ctermfg=242 ctermbg=NONE cterm=NONE term=NONE
hi Pmenu guifg=#000000 guibg=#a8a8a8 guisp=NONE gui=NONE ctermfg=16 ctermbg=248 cterm=NONE term=reverse
hi PmenuExtra guifg=#000000 guibg=#a8a8a8 guisp=NONE gui=NONE ctermfg=16 ctermbg=248 cterm=NONE term=NONE
hi PmenuExtraSel guifg=#000000 guibg=#dadada guisp=NONE gui=NONE ctermfg=16 ctermbg=253 cterm=NONE term=NONE
hi PmenuKind guifg=#000000 guibg=#a8a8a8 guisp=NONE gui=bold ctermfg=16 ctermbg=248 cterm=bold term=bold
hi PmenuKindSel guifg=#000000 guibg=#dadada guisp=NONE gui=bold ctermfg=16 ctermbg=253 cterm=bold term=bold
hi PmenuMatch guifg=#d7005f guibg=#a8a8a8 guisp=NONE gui=NONE ctermfg=161 ctermbg=248 cterm=NONE term=NONE
hi PmenuMatchSel guifg=#d7005f guibg=#dadada guisp=NONE gui=bold ctermfg=161 ctermbg=253 cterm=bold term=bold
hi PmenuSbar guifg=#707070 guibg=#585858 guisp=NONE gui=NONE ctermfg=242 ctermbg=240 cterm=NONE term=reverse
hi PmenuSel guifg=#000000 guibg=#dadada guisp=NONE gui=NONE ctermfg=16 ctermbg=253 cterm=NONE term=bold
hi PmenuThumb guifg=#dadada guibg=#dadada guisp=NONE gui=NONE ctermfg=253 ctermbg=253 cterm=NONE term=NONE
hi PreProc guifg=#dadada guibg=NONE guisp=NONE gui=NONE ctermfg=253 ctermbg=NONE cterm=NONE term=NONE
hi Question guifg=#dadada guibg=NONE guisp=NONE gui=NONE ctermfg=253 ctermbg=NONE cterm=NONE term=standout
hi QuickFixLine guifg=#ff5fff guibg=#000000 guisp=NONE gui=reverse ctermfg=207 ctermbg=16 cterm=reverse term=NONE
hi Search guifg=#00afff guibg=#000000 guisp=NONE gui=reverse ctermfg=39 ctermbg=16 cterm=reverse term=reverse
hi SignColumn guifg=#dadada guibg=NONE guisp=NONE gui=NONE ctermfg=253 ctermbg=NONE cterm=NONE term=reverse
hi Special guifg=#dadada guibg=NONE guisp=NONE gui=NONE ctermfg=253 ctermbg=NONE cterm=NONE term=NONE
hi SpecialKey guifg=#707070 guibg=NONE guisp=NONE gui=bold ctermfg=242 ctermbg=NONE cterm=bold term=bold
hi SpellBad guifg=#d7005f guibg=NONE guisp=#d7005f gui=undercurl ctermfg=161 ctermbg=NONE cterm=underline term=underline
hi SpellCap guifg=#0087d7 guibg=NONE guisp=#0087d7 gui=undercurl ctermfg=32 ctermbg=NONE cterm=underline term=underline
hi SpellLocal guifg=#d787d7 guibg=NONE guisp=#d787d7 gui=undercurl ctermfg=176 ctermbg=NONE cterm=underline term=underline
hi SpellRare guifg=#00afaf guibg=NONE guisp=#00afaf gui=undercurl ctermfg=37 ctermbg=NONE cterm=underline term=underline
hi Statement guifg=#dadada guibg=NONE guisp=NONE gui=NONE ctermfg=253 ctermbg=NONE cterm=bold term=bold
hi StatusLine guifg=#000000 guibg=#dadada guisp=NONE gui=bold ctermfg=16 ctermbg=253 cterm=bold term=bold,reverse
hi StatusLineNC guifg=#707070 guibg=#000000 guisp=NONE gui=reverse ctermfg=242 ctermbg=16 cterm=reverse term=bold,underline
hi TabLine guifg=#707070 guibg=#000000 guisp=NONE gui=reverse ctermfg=242 ctermbg=16 cterm=reverse term=bold,underline
hi TabLineFill guifg=#dadada guibg=NONE guisp=NONE gui=NONE ctermfg=253 ctermbg=NONE cterm=NONE term=NONE
hi TabLineSel guifg=#000000 guibg=#dadada guisp=NONE gui=bold ctermfg=16 ctermbg=253 cterm=bold term=bold,reverse
hi Title guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=bold term=bold
hi TitleBar guifg=#dadada guibg=#4c4c4c guisp=NONE gui=NONE ctermfg=253 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#707070 guibg=#3c3c3c guisp=NONE gui=NONE ctermfg=242 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=#00ffaf guibg=NONE guisp=NONE gui=bold,reverse ctermfg=49 ctermbg=NONE cterm=bold,reverse term=bold,reverse
hi ToolbarButton guifg=#dadada guibg=#000000 guisp=NONE gui=bold ctermfg=253 ctermbg=16 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=#000000 guisp=NONE gui=NONE ctermfg=NONE ctermbg=16 cterm=NONE term=reverse
hi Type guifg=#dadada guibg=NONE guisp=NONE gui=NONE ctermfg=253 ctermbg=NONE cterm=NONE term=NONE
hi Underlined guifg=#dadada guibg=NONE guisp=NONE gui=underline ctermfg=253 ctermbg=NONE cterm=underline term=underline
hi VertSplit guifg=#707070 guibg=#000000 guisp=NONE gui=NONE ctermfg=242 ctermbg=16 cterm=NONE term=NONE
hi Visual guifg=#ffaf00 guibg=#000000 guisp=NONE gui=reverse ctermfg=214 ctermbg=16 cterm=reverse term=reverse
hi VisualNOS guifg=NONE guibg=#303030 guisp=NONE gui=NONE ctermfg=NONE ctermbg=236 cterm=NONE term=NONE
hi WarningMsg guifg=#dadada guibg=NONE guisp=NONE gui=NONE ctermfg=253 ctermbg=NONE cterm=NONE term=standout
hi WildMenu guifg=#00afff guibg=#000000 guisp=NONE gui=bold ctermfg=39 ctermbg=16 cterm=bold term=bold
if s:tgc || s:t_Co >= 256
finish
endif
if s:t_Co >= 16
hi Normal ctermfg=NONE ctermbg=NONE cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=NONE cterm=reverse
hi Comment ctermfg=darkgrey ctermbg=NONE cterm=bold
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Constant ctermfg=NONE ctermbg=NONE cterm=NONE
hi CurSearch ctermfg=magenta ctermbg=black cterm=reverse
hi Cursor ctermfg=NONE ctermbg=NONE cterm=reverse
hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi CursorIM ctermfg=NONE ctermbg=NONE cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi CursorLineNr ctermfg=NONE ctermbg=NONE cterm=bold
hi DiffAdd ctermfg=darkgreen ctermbg=black cterm=reverse
hi DiffChange ctermfg=darkblue ctermbg=black cterm=reverse
hi DiffDelete ctermfg=darkred ctermbg=black cterm=reverse
hi DiffText ctermfg=darkmagenta ctermbg=black cterm=reverse
hi Directory ctermfg=NONE ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Error ctermfg=darkred ctermbg=black cterm=bold,reverse
hi ErrorMsg ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi FoldColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Folded ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Identifier ctermfg=NONE ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi IncSearch ctermfg=yellow ctermbg=black cterm=reverse
hi LineNr ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=NONE ctermbg=NONE cterm=NONE
hi NonText ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi PmenuKindSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuMatch ctermfg=NONE ctermbg=darkred cterm=reverse
hi PmenuMatchSel ctermfg=darkred ctermbg=NONE cterm=bold
hi PmenuSbar ctermfg=darkgrey ctermbg=NONE cterm=reverse
hi PmenuSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=NONE
hi PreProc ctermfg=NONE ctermbg=NONE cterm=NONE
hi Question ctermfg=NONE ctermbg=NONE cterm=standout
hi QuickFixLine ctermfg=darkmagenta ctermbg=black cterm=reverse
hi Search ctermfg=cyan ctermbg=black cterm=reverse
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=reverse
hi Special ctermfg=NONE ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=darkgrey ctermbg=NONE cterm=bold
hi SpellBad ctermfg=darkred ctermbg=NONE cterm=underline
hi SpellCap ctermfg=darkblue ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=darkmagenta ctermbg=NONE cterm=underline
hi SpellRare ctermfg=darkcyan ctermbg=NONE cterm=underline
hi Statement ctermfg=NONE ctermbg=bold cterm=bold
hi StatusLine ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi StatusLineNC ctermfg=darkgrey ctermbg=NONE cterm=reverse
hi TabLine ctermfg=darkgrey ctermbg=NONE cterm=reverse
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi Title ctermfg=NONE ctermbg=bold cterm=bold
hi TitleBar ctermfg=grey ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi ToolbarButton ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=reverse
hi Type ctermfg=NONE ctermbg=NONE cterm=NONE
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
hi VertSplit ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Visual ctermfg=darkyellow ctermbg=black cterm=reverse
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=NONE ctermbg=NONE cterm=standout
hi WildMenu ctermfg=NONE ctermbg=NONE cterm=bold
finish
endif
if s:t_Co >= 8
hi Normal ctermfg=NONE ctermbg=NONE cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=NONE cterm=reverse
hi Comment ctermfg=NONE ctermbg=NONE cterm=bold
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Constant ctermfg=NONE ctermbg=NONE cterm=NONE
hi CurSearch ctermfg=darkmagenta ctermbg=black cterm=reverse
hi Cursor ctermfg=NONE ctermbg=NONE cterm=reverse
hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi CursorIM ctermfg=NONE ctermbg=NONE cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi CursorLineNr ctermfg=NONE ctermbg=NONE cterm=bold
hi DiffAdd ctermfg=darkgreen ctermbg=black cterm=reverse
hi DiffChange ctermfg=darkblue ctermbg=black cterm=reverse
hi DiffDelete ctermfg=darkred ctermbg=black cterm=reverse
hi DiffText ctermfg=darkmagenta ctermbg=black cterm=reverse
hi Directory ctermfg=NONE ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=darkred ctermbg=black cterm=bold,reverse
hi ErrorMsg ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi FoldColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Folded ctermfg=NONE ctermbg=NONE cterm=NONE
hi Identifier ctermfg=NONE ctermbg=NONE cterm=bold
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi IncSearch ctermfg=darkyellow ctermbg=black cterm=reverse
hi LineNr ctermfg=NONE ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=NONE ctermbg=NONE cterm=NONE
hi NonText ctermfg=NONE ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi PmenuKindSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuMatch ctermfg=NONE ctermbg=darkred cterm=reverse
hi PmenuMatchSel ctermfg=darkred ctermbg=NONE cterm=bold
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=NONE
hi PreProc ctermfg=NONE ctermbg=NONE cterm=NONE
hi Question ctermfg=NONE ctermbg=NONE cterm=standout
hi QuickFixLine ctermfg=darkmagenta ctermbg=black cterm=reverse
hi Search ctermfg=darkcyan ctermbg=black cterm=reverse
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=reverse
hi Special ctermfg=NONE ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=NONE ctermbg=NONE cterm=bold
hi SpellBad ctermfg=darkred ctermbg=NONE cterm=underline
hi SpellCap ctermfg=darkblue ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=darkmagenta ctermbg=NONE cterm=underline
hi SpellRare ctermfg=darkcyan ctermbg=NONE cterm=underline
hi Statement ctermfg=NONE ctermbg=bold cterm=bold
hi StatusLine ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi StatusLineNC ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi TabLine ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
hi TitleBar ctermfg=grey ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi ToolbarButton ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=reverse
hi Type ctermfg=NONE ctermbg=NONE cterm=NONE
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
hi VertSplit ctermfg=NONE ctermbg=NONE cterm=NONE
hi Visual ctermfg=darkyellow ctermbg=black cterm=reverse
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=NONE ctermbg=NONE cterm=standout
hi WildMenu ctermfg=NONE ctermbg=NONE cterm=bold
finish
endif
if s:t_Co >= 0
hi CursorLineFold term=underline
hi CursorLineSign term=underline
hi Float term=NONE
hi Function term=NONE
hi Number term=NONE
hi StatusLineTerm term=bold,reverse
hi StatusLineTermNC term=bold,underline
hi Terminal term=NONE
finish
endif
finish
endif
if &background == 'light'
let g:terminal_ansi_colors = ['#000000', '#af0000', '#005f00', '#af5f00', '#005faf', '#870087', '#008787', '#d7d7d7', '#626262', '#d70000', '#008700', '#d78700', '#0087d7', '#af00af', '#00afaf', '#ffffff']
hi Normal guifg=#000000 guibg=#d7d7d7 guisp=NONE gui=NONE ctermfg=16 ctermbg=188 cterm=NONE term=NONE
hi ColorColumn guifg=NONE guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=NONE ctermbg=254 cterm=NONE term=reverse
hi Comment guifg=#000000 guibg=NONE guisp=NONE gui=bold ctermfg=16 ctermbg=NONE cterm=bold term=bold
hi Conceal guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=NONE
hi Constant guifg=#000000 guibg=NONE guisp=NONE gui=NONE ctermfg=16 ctermbg=NONE cterm=NONE term=NONE
hi CurSearch guifg=#ff5fff guibg=#000000 guisp=NONE gui=reverse ctermfg=207 ctermbg=16 cterm=reverse term=reverse
hi Cursor guifg=NONE guibg=NONE guisp=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse term=reverse
hi CursorColumn guifg=NONE guibg=#eeeeee guisp=NONE gui=NONE ctermfg=NONE ctermbg=255 cterm=NONE term=NONE
hi CursorIM guifg=#000000 guibg=#afff00 guisp=NONE gui=NONE ctermfg=16 ctermbg=154 cterm=NONE term=NONE
hi CursorLine guifg=NONE guibg=#eeeeee guisp=NONE gui=NONE ctermfg=NONE ctermbg=255 cterm=NONE term=underline
hi CursorLineNr guifg=#000000 guibg=#eeeeee guisp=NONE gui=NONE ctermfg=16 ctermbg=255 cterm=NONE term=bold
hi DiffAdd guifg=#87d787 guibg=#000000 guisp=NONE gui=reverse ctermfg=114 ctermbg=16 cterm=reverse term=reverse
hi DiffChange guifg=#afafd7 guibg=#000000 guisp=NONE gui=reverse ctermfg=146 ctermbg=16 cterm=reverse term=NONE
hi DiffDelete guifg=#d78787 guibg=#000000 guisp=NONE gui=reverse ctermfg=174 ctermbg=16 cterm=reverse term=reverse
hi DiffText guifg=#d787d7 guibg=#000000 guisp=NONE gui=reverse ctermfg=176 ctermbg=16 cterm=reverse term=reverse
hi Directory guifg=#000000 guibg=NONE guisp=NONE gui=NONE ctermfg=16 ctermbg=NONE cterm=NONE term=NONE
hi EndOfBuffer guifg=#626262 guibg=NONE guisp=NONE gui=NONE ctermfg=241 ctermbg=NONE cterm=NONE term=NONE
hi Error guifg=#ff005f guibg=#000000 guisp=NONE gui=bold,reverse ctermfg=197 ctermbg=16 cterm=bold,reverse term=bold,reverse
hi ErrorMsg guifg=#000000 guibg=#d7d7d7 guisp=NONE gui=reverse ctermfg=16 ctermbg=188 cterm=reverse term=bold,reverse
hi FoldColumn guifg=#626262 guibg=NONE guisp=NONE gui=NONE ctermfg=241 ctermbg=NONE cterm=NONE term=NONE
hi Folded guifg=#626262 guibg=#d7d7d7 guisp=NONE gui=NONE ctermfg=241 ctermbg=188 cterm=NONE term=NONE
hi Identifier guifg=#000000 guibg=NONE guisp=NONE gui=NONE ctermfg=16 ctermbg=NONE cterm=bold term=bold
hi Ignore guifg=#000000 guibg=NONE guisp=NONE gui=NONE ctermfg=16 ctermbg=NONE cterm=NONE term=NONE
hi IncSearch guifg=#ffaf00 guibg=#000000 guisp=NONE gui=reverse ctermfg=214 ctermbg=16 cterm=reverse term=bold,reverse,underline
hi LineNr guifg=#a8a8a8 guibg=NONE guisp=NONE gui=NONE ctermfg=248 ctermbg=NONE cterm=NONE term=NONE
hi MatchParen guifg=#ff00af guibg=#d7d7d7 guisp=NONE gui=bold ctermfg=199 ctermbg=188 cterm=bold term=bold,underline
hi ModeMsg guifg=#000000 guibg=NONE guisp=NONE gui=bold ctermfg=16 ctermbg=NONE cterm=bold term=bold
hi MoreMsg guifg=#000000 guibg=NONE guisp=NONE gui=NONE ctermfg=16 ctermbg=NONE cterm=NONE term=NONE
hi NonText guifg=#626262 guibg=NONE guisp=NONE gui=NONE ctermfg=241 ctermbg=NONE cterm=NONE term=NONE
hi Pmenu guifg=#000000 guibg=#a8a8a8 guisp=NONE gui=NONE ctermfg=16 ctermbg=248 cterm=NONE term=reverse
hi PmenuExtra guifg=#000000 guibg=#a8a8a8 guisp=NONE gui=NONE ctermfg=16 ctermbg=248 cterm=NONE term=NONE
hi PmenuExtraSel guifg=#d7d7d7 guibg=#000000 guisp=NONE gui=NONE ctermfg=188 ctermbg=16 cterm=NONE term=NONE
hi PmenuKind guifg=#000000 guibg=#a8a8a8 guisp=NONE gui=bold ctermfg=16 ctermbg=248 cterm=bold term=bold
hi PmenuKindSel guifg=#d7d7d7 guibg=#000000 guisp=NONE gui=bold ctermfg=188 ctermbg=16 cterm=bold term=bold
hi PmenuMatch guifg=#d70000 guibg=#a8a8a8 guisp=NONE gui=NONE ctermfg=160 ctermbg=248 cterm=NONE term=NONE
hi PmenuMatchSel guifg=#d70000 guibg=#000000 guisp=NONE gui=bold ctermfg=160 ctermbg=16 cterm=bold term=bold
hi PmenuSbar guifg=#000000 guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=16 ctermbg=254 cterm=NONE term=reverse
hi PmenuSel guifg=#d7d7d7 guibg=#000000 guisp=NONE gui=NONE ctermfg=188 ctermbg=16 cterm=NONE term=bold
hi PmenuThumb guifg=#000000 guibg=#000000 guisp=NONE gui=NONE ctermfg=16 ctermbg=16 cterm=NONE term=NONE
hi PreProc guifg=#000000 guibg=NONE guisp=NONE gui=NONE ctermfg=16 ctermbg=NONE cterm=NONE term=NONE
hi Question guifg=#000000 guibg=NONE guisp=NONE gui=NONE ctermfg=16 ctermbg=NONE cterm=NONE term=standout
hi QuickFixLine guifg=#ff5fff guibg=#000000 guisp=NONE gui=reverse ctermfg=207 ctermbg=16 cterm=reverse term=NONE
hi Search guifg=#00afff guibg=#000000 guisp=NONE gui=reverse ctermfg=39 ctermbg=16 cterm=reverse term=reverse
hi SignColumn guifg=#000000 guibg=NONE guisp=NONE gui=NONE ctermfg=16 ctermbg=NONE cterm=NONE term=reverse
hi Special guifg=#000000 guibg=NONE guisp=NONE gui=NONE ctermfg=16 ctermbg=NONE cterm=NONE term=NONE
hi SpecialKey guifg=#626262 guibg=NONE guisp=NONE gui=bold ctermfg=241 ctermbg=NONE cterm=bold term=bold
hi SpellBad guifg=#af0000 guibg=#d7d7d7 guisp=#af0000 gui=undercurl ctermfg=124 ctermbg=188 cterm=underline term=underline
hi SpellCap guifg=#005faf guibg=#d7d7d7 guisp=#005faf gui=undercurl ctermfg=25 ctermbg=188 cterm=underline term=underline
hi SpellLocal guifg=#870087 guibg=#d7d7d7 guisp=#870087 gui=undercurl ctermfg=90 ctermbg=188 cterm=underline term=underline
hi SpellRare guifg=#008787 guibg=#d7d7d7 guisp=#008787 gui=undercurl ctermfg=30 ctermbg=188 cterm=underline term=underline
hi Statement guifg=#000000 guibg=NONE guisp=NONE gui=NONE ctermfg=16 ctermbg=NONE cterm=bold term=bold
hi StatusLine guifg=#eeeeee guibg=#000000 guisp=NONE gui=bold ctermfg=255 ctermbg=16 cterm=bold term=bold,reverse
hi StatusLineNC guifg=#000000 guibg=#a8a8a8 guisp=NONE gui=NONE ctermfg=16 ctermbg=248 cterm=NONE term=bold,underline
hi TabLine guifg=#000000 guibg=#a8a8a8 guisp=NONE gui=NONE ctermfg=16 ctermbg=248 cterm=NONE term=bold,underline
hi TabLineFill guifg=#000000 guibg=#d7d7d7 guisp=NONE gui=NONE ctermfg=16 ctermbg=188 cterm=NONE term=NONE
hi TabLineSel guifg=#eeeeee guibg=#000000 guisp=NONE gui=bold ctermfg=255 ctermbg=16 cterm=bold term=bold,reverse
hi Title guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=NONE
hi TitleBar guifg=#000000 guibg=#ececec guisp=NONE gui=NONE ctermfg=16 ctermbg=255 cterm=NONE term=NONE
hi TitleBarNC guifg=#626262 guibg=#e7e7e7 guisp=NONE gui=NONE ctermfg=241 ctermbg=255 cterm=NONE term=NONE
hi Todo guifg=#00ffaf guibg=#000000 guisp=NONE gui=bold,reverse ctermfg=49 ctermbg=16 cterm=bold,reverse term=bold,reverse
hi ToolbarButton guifg=#000000 guibg=#d7d7d7 guisp=NONE gui=bold ctermfg=16 ctermbg=188 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=#d7d7d7 guisp=NONE gui=NONE ctermfg=NONE ctermbg=188 cterm=NONE term=reverse
hi Type guifg=#000000 guibg=NONE guisp=NONE gui=NONE ctermfg=16 ctermbg=NONE cterm=NONE term=NONE
hi Underlined guifg=#000000 guibg=NONE guisp=NONE gui=underline ctermfg=16 ctermbg=NONE cterm=underline term=underline
hi VertSplit guifg=#626262 guibg=#d7d7d7 guisp=NONE gui=NONE ctermfg=241 ctermbg=188 cterm=NONE term=NONE
hi Visual guifg=#ffaf00 guibg=#000000 guisp=NONE gui=reverse ctermfg=214 ctermbg=16 cterm=reverse term=reverse
hi VisualNOS guifg=NONE guibg=#eeeeee guisp=NONE gui=NONE ctermfg=NONE ctermbg=255 cterm=NONE term=NONE
hi WarningMsg guifg=#000000 guibg=NONE guisp=NONE gui=NONE ctermfg=16 ctermbg=NONE cterm=NONE term=standout
hi WildMenu guifg=#000000 guibg=#eeeeee guisp=NONE gui=bold ctermfg=16 ctermbg=255 cterm=bold term=bold
if s:tgc || s:t_Co >= 256
finish
endif
if s:t_Co >= 16
hi Normal ctermfg=NONE ctermbg=NONE cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=NONE cterm=reverse
hi Comment ctermfg=NONE ctermbg=NONE cterm=bold
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Constant ctermfg=NONE ctermbg=NONE cterm=NONE
hi CurSearch ctermfg=magenta ctermbg=black cterm=reverse
hi Cursor ctermfg=NONE ctermbg=NONE cterm=reverse
hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi CursorIM ctermfg=NONE ctermbg=NONE cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi CursorLineNr ctermfg=NONE ctermbg=NONE cterm=bold
hi DiffAdd ctermfg=darkgreen ctermbg=black cterm=reverse
hi DiffChange ctermfg=darkblue ctermbg=black cterm=reverse
hi DiffDelete ctermfg=darkred ctermbg=black cterm=reverse
hi DiffText ctermfg=darkmagenta ctermbg=black cterm=reverse
hi Directory ctermfg=NONE ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Error ctermfg=darkred ctermbg=black cterm=bold,reverse
hi ErrorMsg ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi FoldColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Folded ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Identifier ctermfg=NONE ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi IncSearch ctermfg=yellow ctermbg=black cterm=reverse
hi LineNr ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=NONE ctermbg=NONE cterm=NONE
hi NonText ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi PmenuKindSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuMatch ctermfg=NONE ctermbg=darkred cterm=reverse
hi PmenuMatchSel ctermfg=darkred ctermbg=NONE cterm=bold
hi PmenuSbar ctermfg=darkgrey ctermbg=NONE cterm=reverse
hi PmenuSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=NONE
hi PreProc ctermfg=NONE ctermbg=NONE cterm=NONE
hi Question ctermfg=NONE ctermbg=NONE cterm=standout
hi QuickFixLine ctermfg=darkmagenta ctermbg=black cterm=reverse
hi Search ctermfg=cyan ctermbg=black cterm=reverse
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=reverse
hi Special ctermfg=NONE ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=darkgrey ctermbg=NONE cterm=bold
hi SpellBad ctermfg=darkred ctermbg=NONE cterm=underline
hi SpellCap ctermfg=darkblue ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=darkmagenta ctermbg=NONE cterm=underline
hi SpellRare ctermfg=darkcyan ctermbg=NONE cterm=underline
hi Statement ctermfg=NONE ctermbg=NONE cterm=bold
hi StatusLine ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi StatusLineNC ctermfg=darkgrey ctermbg=NONE cterm=reverse
hi TabLine ctermfg=darkgrey ctermbg=NONE cterm=reverse
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
hi TitleBar ctermfg=black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=white cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi ToolbarButton ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=reverse
hi Type ctermfg=NONE ctermbg=NONE cterm=NONE
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
hi VertSplit ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Visual ctermfg=darkyellow ctermbg=black cterm=reverse
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=NONE ctermbg=NONE cterm=standout
hi WildMenu ctermfg=NONE ctermbg=NONE cterm=bold
finish
endif
if s:t_Co >= 8
hi Normal ctermfg=NONE ctermbg=NONE cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=NONE cterm=reverse
hi Comment ctermfg=NONE ctermbg=NONE cterm=bold
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Constant ctermfg=NONE ctermbg=NONE cterm=NONE
hi CurSearch ctermfg=darkmagenta ctermbg=black cterm=reverse
hi Cursor ctermfg=NONE ctermbg=NONE cterm=reverse
hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi CursorIM ctermfg=NONE ctermbg=NONE cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi CursorLineNr ctermfg=NONE ctermbg=NONE cterm=bold
hi DiffAdd ctermfg=darkgreen ctermbg=black cterm=reverse
hi DiffChange ctermfg=darkblue ctermbg=black cterm=reverse
hi DiffDelete ctermfg=darkred ctermbg=black cterm=reverse
hi DiffText ctermfg=darkmagenta ctermbg=black cterm=reverse
hi Directory ctermfg=NONE ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=darkred ctermbg=black cterm=bold,reverse
hi ErrorMsg ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi FoldColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Folded ctermfg=NONE ctermbg=NONE cterm=NONE
hi Identifier ctermfg=NONE ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi IncSearch ctermfg=darkyellow ctermbg=black cterm=reverse
hi LineNr ctermfg=NONE ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=NONE ctermbg=NONE cterm=NONE
hi NonText ctermfg=NONE ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi PmenuKindSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuMatch ctermfg=NONE ctermbg=darkred cterm=reverse
hi PmenuMatchSel ctermfg=darkred ctermbg=NONE cterm=bold
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=NONE
hi PreProc ctermfg=NONE ctermbg=NONE cterm=NONE
hi Question ctermfg=NONE ctermbg=NONE cterm=standout
hi QuickFixLine ctermfg=darkmagenta ctermbg=black cterm=reverse
hi Search ctermfg=darkcyan ctermbg=black cterm=reverse
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=reverse
hi Special ctermfg=NONE ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=NONE ctermbg=NONE cterm=bold
hi SpellBad ctermfg=darkred ctermbg=NONE cterm=underline
hi SpellCap ctermfg=darkblue ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=darkmagenta ctermbg=NONE cterm=underline
hi SpellRare ctermfg=darkcyan ctermbg=NONE cterm=underline
hi Statement ctermfg=NONE ctermbg=NONE cterm=bold
hi StatusLine ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi StatusLineNC ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi TabLine ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
hi TitleBar ctermfg=black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=white cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi ToolbarButton ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=reverse
hi Type ctermfg=NONE ctermbg=NONE cterm=NONE
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
hi VertSplit ctermfg=NONE ctermbg=NONE cterm=NONE
hi Visual ctermfg=darkyellow ctermbg=black cterm=reverse
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=NONE ctermbg=NONE cterm=standout
hi WildMenu ctermfg=NONE ctermbg=NONE cterm=bold
finish
endif
if s:t_Co >= 0
hi CursorLineFold term=underline
hi CursorLineSign term=underline
hi Float term=NONE
hi Function term=NONE
hi Number term=NONE
hi StatusLineTerm term=bold,reverse
hi StatusLineTermNC term=bold,underline
hi Terminal term=NONE
finish
endif
endif
" vim: et ts=8 sw=2 sts=2

View File

@@ -0,0 +1,54 @@
" vim color file
" Maintainer: Brian Nelson <nelsonbc@gmail.com>
" Last Change: $Revision: 1.1 $ $Date: 2003/12/15 17:25:08 $
"
" Less is More - A minimal color scheme.
" Disigned to work equally well on 8 or 16 colors, terminal or gui.
hi clear
set background=dark
if exists("syntax_on")
syntax reset
endif
let g:colors_name = "less"
hi Normal term=none ctermfg=none ctermbg=none gui=none guifg=LightGray guibg=black
hi Directory term=bold cterm=bold ctermfg=blue guifg=Blue
hi Search term=reverse ctermfg=white ctermbg=blue guifg=white guibg=Blue
hi MoreMsg term=bold cterm=bold ctermfg=darkgreen gui=bold guifg=DarkGreen
hi ModeMsg term=bold cterm=bold gui=bold guifg=White guibg=Blue
hi LineNr term=underline cterm=bold ctermfg=darkcyan guifg=DarkCyan
hi Question term=standout cterm=bold ctermfg=darkgreen gui=bold guifg=DarkGreen
hi Comment term=bold cterm=none ctermfg=10 gui=none guifg=DarkGray
hi Constant term=bold cterm=none ctermfg=7 gui=none guifg=LightGray
hi Special term=bold cterm=none ctermfg=3 gui=none guifg=Orange
hi Identifier term=none cterm=none ctermfg=7 gui=none guifg=LightGray
hi PreProc term=underline cterm=bold ctermfg=7 gui=bold guifg=White
hi Error term=reverse cterm=bold ctermfg=7 ctermbg=1 gui=bold guifg=Black guibg=Red
hi Todo term=standout cterm=none ctermfg=0 ctermbg=7 guifg=Black guibg=White
hi String term=none cterm=none ctermfg=3 gui=none guifg=LightYellow
hi Function term=bold cterm=bold ctermfg=3 gui=none guifg=Yellow
hi Statement term=bold cterm=bold ctermfg=7 gui=bold guifg=White
hi Include term=bold cterm=bold ctermfg=4 gui=none guifg=LightBlue
hi StorageClass term=bold cterm=bold ctermfg=5 gui=none guifg=LightMagenta
hi Type term=none cterm=none ctermfg=7 gui=none guifg=LightGray
hi Defined term=bold cterm=bold ctermfg=6 gui=none guifg=LightCyan
hi link Character String
hi link Number Constant
hi link Boolean Constant
hi link Float Number
hi link Conditional Statement
hi link Repeat Statement
hi link Label Statement
hi link Operator Statement
hi link Keyword Statement
hi link Exception Statement
hi link Macro Include
hi link PreCondit PreProc
hi link Structure Type
hi link Typedef Type
hi link Tag Special
hi link SpecialChar Special
hi link Delimiter Special
hi link SpecialComment Special
hi link Debug Special

View File

@@ -0,0 +1,276 @@
" Vim color file
"
" Author: Tomas Restrepo <tomas@winterdom.com>
" https://github.com/tomasr/molokai
"
" Note: Based on the Monokai theme for TextMate
" by Wimer Hazenberg and its darker variant
" by Hamish Stuart Macpherson
"
hi clear
if version > 580
" no guarantees for version 5.8 and below, but this makes it stop
" complaining
hi clear
if exists("syntax_on")
syntax reset
endif
endif
let g:colors_name="molokai"
if exists("g:molokai_original")
let s:molokai_original = g:molokai_original
else
let s:molokai_original = 0
endif
hi Boolean guifg=#AE81FF
hi Character guifg=#E6DB74
hi Number guifg=#AE81FF
hi String guifg=#E6DB74
hi Conditional guifg=#F92672 gui=bold
hi Constant guifg=#AE81FF gui=bold
hi Cursor guifg=#000000 guibg=#F8F8F0
hi iCursor guifg=#000000 guibg=#F8F8F0
hi Debug guifg=#BCA3A3 gui=bold
hi Define guifg=#66D9EF
hi Delimiter guifg=#8F8F8F
hi DiffAdd guibg=#13354A
hi DiffChange guifg=#89807D guibg=#4C4745
hi DiffDelete guifg=#960050 guibg=#1E0010
hi DiffText guibg=#4C4745 gui=italic,bold
hi Directory guifg=#A6E22E gui=bold
hi Error guifg=#E6DB74 guibg=#1E0010
hi ErrorMsg guifg=#F92672 guibg=#232526 gui=bold
hi Exception guifg=#A6E22E gui=bold
hi Float guifg=#AE81FF
hi FoldColumn guifg=#465457 guibg=#000000
hi Folded guifg=#465457 guibg=#000000
hi Function guifg=#A6E22E
hi Identifier guifg=#FD971F
hi Ignore guifg=#808080 guibg=bg
hi IncSearch guifg=#C4BE89 guibg=#000000
hi Keyword guifg=#F92672 gui=bold
hi Label guifg=#E6DB74 gui=none
hi Macro guifg=#C4BE89 gui=italic
hi SpecialKey guifg=#66D9EF gui=italic
hi MatchParen guifg=#000000 guibg=#FD971F gui=bold
hi ModeMsg guifg=#E6DB74
hi MoreMsg guifg=#E6DB74
hi Operator guifg=#F92672
" complete menu
hi Pmenu guifg=#66D9EF guibg=#000000
hi PmenuSel guibg=#808080
hi PmenuSbar guibg=#080808
hi PmenuThumb guifg=#66D9EF
hi PreCondit guifg=#A6E22E gui=bold
hi PreProc guifg=#A6E22E
hi Question guifg=#66D9EF
hi Repeat guifg=#F92672 gui=bold
hi Search guifg=#000000 guibg=#FFE792
" marks
hi SignColumn guifg=#A6E22E guibg=#232526
hi SpecialChar guifg=#F92672 gui=bold
hi SpecialComment guifg=#7E8E91 gui=bold
hi Special guifg=#66D9EF guibg=bg gui=italic
if has("spell")
hi SpellBad guisp=#FF0000 gui=undercurl
hi SpellCap guisp=#7070F0 gui=undercurl
hi SpellLocal guisp=#70F0F0 gui=undercurl
hi SpellRare guisp=#FFFFFF gui=undercurl
endif
hi Statement guifg=#F92672 gui=bold
hi StatusLine guifg=#455354 guibg=fg
hi StatusLineNC guifg=#808080 guibg=#080808
hi StorageClass guifg=#FD971F gui=italic
hi Structure guifg=#66D9EF
hi Tag guifg=#F92672 gui=italic
hi Title guifg=#ef5939
hi Todo guifg=#FFFFFF guibg=bg gui=bold
hi Typedef guifg=#66D9EF
hi Type guifg=#66D9EF gui=none
hi Underlined guifg=#808080 gui=underline
hi VertSplit guifg=#808080 guibg=#080808 gui=bold
hi VisualNOS guibg=#403D3D
hi Visual guibg=#403D3D
hi WarningMsg guifg=#FFFFFF guibg=#333333 gui=bold
hi WildMenu guifg=#66D9EF guibg=#000000
hi TabLineFill guifg=#1B1D1E guibg=#1B1D1E
hi TabLine guibg=#1B1D1E guifg=#808080 gui=none
if s:molokai_original == 1
hi Normal guifg=#F8F8F2 guibg=#272822
hi Comment guifg=#75715E
hi CursorLine guibg=#3E3D32
hi CursorLineNr guifg=#FD971F gui=none
hi CursorColumn guibg=#3E3D32
hi ColorColumn guibg=#3B3A32
hi LineNr guifg=#8F908A guibg=#272822
hi NonText guifg=#75715E
hi SpecialKey guifg=#75715E
else
hi Normal guifg=#F8F8F2 guibg=#1B1D1E
hi Comment guifg=#7E8E91
hi CursorLine guibg=#293739
hi CursorLineNr guifg=#FD971F gui=none
hi CursorColumn guibg=#293739
hi ColorColumn guibg=#232526
hi LineNr guifg=#465457 guibg=#232526
hi NonText guifg=#465457
hi SpecialKey guifg=#465457
end
"
" Support for 256-color terminal
"
if &t_Co > 255
if s:molokai_original == 1
hi Normal ctermbg=234
hi CursorLine ctermbg=235 cterm=none
hi CursorLineNr ctermfg=208 cterm=none
else
hi Normal ctermfg=252 ctermbg=233
hi CursorLine ctermbg=234 cterm=none
hi CursorLineNr ctermfg=208 cterm=none
endif
hi Boolean ctermfg=135
hi Character ctermfg=144
hi Number ctermfg=135
hi String ctermfg=144
hi Conditional ctermfg=161 cterm=bold
hi Constant ctermfg=135 cterm=bold
hi Cursor ctermfg=16 ctermbg=253
hi Debug ctermfg=225 cterm=bold
hi Define ctermfg=81
hi Delimiter ctermfg=241
hi DiffAdd ctermbg=24
hi DiffChange ctermfg=181 ctermbg=239
hi DiffDelete ctermfg=162 ctermbg=53
hi DiffText ctermbg=102 cterm=bold
hi Directory ctermfg=118 cterm=bold
hi Error ctermfg=219 ctermbg=89
hi ErrorMsg ctermfg=199 ctermbg=16 cterm=bold
hi Exception ctermfg=118 cterm=bold
hi Float ctermfg=135
hi FoldColumn ctermfg=67 ctermbg=16
hi Folded ctermfg=67 ctermbg=16
hi Function ctermfg=118
hi Identifier ctermfg=208 cterm=none
hi Ignore ctermfg=244 ctermbg=232
hi IncSearch ctermfg=193 ctermbg=16
hi keyword ctermfg=161 cterm=bold
hi Label ctermfg=229 cterm=none
hi Macro ctermfg=193
hi SpecialKey ctermfg=81
hi MatchParen ctermfg=233 ctermbg=208 cterm=bold
hi ModeMsg ctermfg=229
hi MoreMsg ctermfg=229
hi Operator ctermfg=161
" complete menu
hi Pmenu ctermfg=81 ctermbg=16
hi PmenuSel ctermfg=255 ctermbg=242
hi PmenuSbar ctermbg=232
hi PmenuThumb ctermfg=81
hi PreCondit ctermfg=118 cterm=bold
hi PreProc ctermfg=118
hi Question ctermfg=81
hi Repeat ctermfg=161 cterm=bold
hi Search ctermfg=0 ctermbg=222 cterm=NONE
" marks column
hi SignColumn ctermfg=118 ctermbg=235
hi SpecialChar ctermfg=161 cterm=bold
hi SpecialComment ctermfg=245 cterm=bold
hi Special ctermfg=81
if has("spell")
hi SpellBad ctermbg=52
hi SpellCap ctermbg=17
hi SpellLocal ctermbg=17
hi SpellRare ctermfg=none ctermbg=none cterm=reverse
endif
hi Statement ctermfg=161 cterm=bold
hi StatusLine ctermfg=238 ctermbg=253
hi StatusLineNC ctermfg=244 ctermbg=232
hi StorageClass ctermfg=208
hi Structure ctermfg=81
hi Tag ctermfg=161
hi Title ctermfg=166
hi Todo ctermfg=231 ctermbg=232 cterm=bold
hi Typedef ctermfg=81
hi Type ctermfg=81 cterm=none
hi Underlined ctermfg=244 cterm=underline
hi VertSplit ctermfg=244 ctermbg=232 cterm=bold
hi VisualNOS ctermbg=238
hi Visual ctermbg=235
hi WarningMsg ctermfg=231 ctermbg=238 cterm=bold
hi WildMenu ctermfg=81 ctermbg=16
hi Comment ctermfg=59
hi CursorColumn ctermbg=236
hi ColorColumn ctermbg=236
hi LineNr ctermfg=250 ctermbg=236
hi NonText ctermfg=59
hi SpecialKey ctermfg=59
if exists("g:rehash256") && g:rehash256 == 1
hi Normal ctermfg=252 ctermbg=234
hi CursorLine ctermbg=236 cterm=none
hi CursorLineNr ctermfg=208 cterm=none
hi Boolean ctermfg=141
hi Character ctermfg=222
hi Number ctermfg=141
hi String ctermfg=222
hi Conditional ctermfg=197 cterm=bold
hi Constant ctermfg=141 cterm=bold
hi DiffDelete ctermfg=125 ctermbg=233
hi Directory ctermfg=154 cterm=bold
hi Error ctermfg=222 ctermbg=233
hi Exception ctermfg=154 cterm=bold
hi Float ctermfg=141
hi Function ctermfg=154
hi Identifier ctermfg=208
hi Keyword ctermfg=197 cterm=bold
hi Operator ctermfg=197
hi PreCondit ctermfg=154 cterm=bold
hi PreProc ctermfg=154
hi Repeat ctermfg=197 cterm=bold
hi Statement ctermfg=197 cterm=bold
hi Tag ctermfg=197
hi Title ctermfg=203
hi Visual ctermbg=238
hi Comment ctermfg=244
hi LineNr ctermfg=239 ctermbg=235
hi NonText ctermfg=239
hi SpecialKey ctermfg=239
endif
end
" Must be at the end, because of ctermbg=234 bug.
" https://groups.google.com/forum/#!msg/vim_dev/afPqwAFNdrU/nqh6tOM87QUJ
set background=dark

View File

@@ -0,0 +1,315 @@
" Name: plain.vim
" Version: 0.1
" Maintainer: github.com/andreypopp
" License: The MIT License (MIT)
"
" Based on
"
" https://github.com/pbrisbin/vim-colors-off (MIT License)
"
" which in turn based on
"
" https://github.com/reedes/vim-colors-pencil (MIT License)
"
"""
hi clear
if exists('syntax on')
syntax reset
endif
let g:colors_name='plain'
let s:none = {"cterm": "NONE"}
let s:dark_black = {"cterm": "0"}
let s:black = {"cterm": "8"}
let s:dark_red = {"cterm": "1"}
let s:red = {"cterm": "9"}
let s:dark_green = {"cterm": "2"}
let s:green = {"cterm": "10"}
let s:dark_yellow = {"cterm": "3"}
let s:yellow = {"cterm": "11"}
let s:dark_blue = {"cterm": "4"}
let s:blue = {"cterm": "12"}
let s:dark_magenta = {"cterm": "5"}
let s:magenta = {"cterm": "13"}
let s:dark_cyan = {"cterm": "6"}
let s:cyan = {"cterm": "14"}
let s:dark_white = {"cterm": "7"}
let s:white = {"cterm": "15"}
let s:always_dark_black = {"cterm": "16"}
let s:always_black = {"cterm": "17"}
let s:always_dark_white = {"cterm": "18"}
let s:always_white = {"cterm": "19"}
let s:bg = s:none
let s:bg_subtle = s:dark_white
let s:norm = s:none
let s:norm_subtle = s:black
let s:visual = s:cyan
let s:visual_fg = s:white
let s:cursor_line = {"cterm": "none"}
let s:constant = s:cyan
let s:comment = s:black
let s:selection = s:yellow
let s:selection_fg = s:always_dark_black
let s:ok = s:green
let s:warning = s:dark_yellow
let s:error = s:dark_red
" https://github.com/noahfrederick/vim-hemisu/
function! s:h(group, style)
execute "highlight" a:group
\ "ctermfg=" (has_key(a:style, "fg") ? a:style.fg.cterm : "NONE")
\ "ctermbg=" (has_key(a:style, "bg") ? a:style.bg.cterm : "NONE")
\ "cterm=" (has_key(a:style, "cterm") ? a:style.cterm : "NONE")
\ "guisp=" (has_key(a:style, "guisp") ? a:style.guisp : "NONE")
\ "guifg=NONE"
\ "guibg=NONE"
\ "gui=NONE"
endfunction
" __Normal__
if has("gui")
call s:h("Normal", {"fg": s:norm, "bg": s:bg})
call s:h("Cursor", {"fg": s:bg, "bg": s:norm})
else
call s:h("Normal", {"fg": s:norm})
hi! link Cursor Identifier
endif
hi! link Identifier Normal
hi! link Function Identifier
hi! link Type Normal
hi! link StorageClass Type
hi! link Structure Type
hi! link Typedef Type
hi! link Special Normal
hi! link SpecialChar Special
hi! link Tag Special
hi! link Delimiter Special
hi! link SpecialComment Special
hi! link Debug Special
hi! link VertSplit Normal
hi! link PreProc Normal
hi! link Define PreProc
hi! link Macro PreProc
hi! link PreCondit PreProc
" __Operator__
call s:h("Noise", {"fg": s:norm_subtle})
hi! link Operator Noise
hi! link LineNr Noise
hi! link CursorLineNr LineNr
hi! link FoldColumn LineNr
hi! link SignColumn LineNr
" __Comment__
call s:h("Comment", {"fg": s:comment, "cterm": "none"})
" __Constant__
call s:h("Constant", {"fg": s:constant})
hi! link Character Constant
hi! link Number Constant
hi! link Boolean Constant
hi! link Float Constant
hi! link String Constant
hi! link Directory Constant
hi! link Title Constant
" __Statement__
call s:h("Statement", {"fg": s:norm, "cterm": "bold"})
hi! link Include Statement
hi! link Conditonal Statement
hi! link Repeat Statement
hi! link Label Statement
hi! link Keyword Statement
hi! link Exception Statement
" __Underlined__
call s:h("Underlined", {"fg": s:norm, "cterm": "underline"})
" __ExtraWhitespace__
call s:h("ExtraWhitespace", {"bg": s:error})
" __ErrorMsg__
call s:h("ErrorMsg", {"fg": s:error})
hi! link Error ErrorMsg
hi! link Question ErrorMsg
" __WarningMsg__
call s:h("WarningMsg", {"fg": s:warning})
" __InfoMsg__
call s:h("InfoMsg", {"fg": s:dark_magenta, "cterm": "bold"})
" __MoreMsg__
call s:h("MoreMsg", {"fg": s:norm_subtle, "cterm": "bold"})
hi! link ModeMsg MoreMsg
" __NonText__
call s:h("NonText", {"fg": s:norm_subtle})
hi! link Folded NonText
hi! link qfLineNr NonText
" __Visual__
call s:h("Visual", {"bg": s:visual, "fg": s:visual_fg})
" __VisualNOS__
call s:h("VisualNOS", {"bg": s:bg_subtle, "fg": s:visual_fg})
call s:h("Ignore", {"fg": s:bg})
" __DiffAdd__
call s:h("DiffAdd", {"fg": s:dark_green})
" __DiffDelete__
call s:h("DiffDelete", {"fg": s:dark_red})
" __DiffChange__
call s:h("DiffChange", {"fg": s:dark_yellow})
" __DiffText__
call s:h("DiffText", {"fg": s:constant})
if has("gui_running")
call s:h("SpellBad", {"sp": s:dark_red})
call s:h("SpellCap", {"sp": s:ok})
call s:h("SpellRare", {"sp": s:error})
call s:h("SpellLocal", {"sp": s:ok})
else
call s:h("SpellBad", {"cterm": "underline", "fg": s:dark_red})
call s:h("SpellCap", {"cterm": "underline", "fg": s:ok})
call s:h("SpellRare", {"cterm": "underline", "fg": s:error})
call s:h("SpellLocal", {"cterm": "underline", "fg": s:ok})
endif
hi! link helpHyperTextEntry Title
hi! link helpHyperTextJump String
call s:h("StatusLine", {
\"cterm": "bold,underline",
\"bg": s:bg,
\"fg": s:norm
\})
call s:h("StatusLineNC", {
\"cterm": "bold,underline",
\"bg": s:bg,
\"fg": s:bg_subtle
\})
" Semantic status line highlights
call s:h("StatusLineOk", {
\"cterm": "bold,underline",
\"bg": s:bg,
\"fg": s:ok
\})
call s:h("StatusLineError", {
\"cterm": "bold,underline",
\"bg": s:bg,
\"fg": s:error
\})
call s:h("StatusLineWarning", {
\"cterm": "bold,underline",
\"bg": s:bg,
\"fg": s:warning
\})
call s:h("WildMenu", {"cterm": "underline,bold", "bg": s:bg, "fg": s:norm})
" __Pmenu__
call s:h("Pmenu", {"fg": s:norm, "bg": s:cursor_line})
hi! link PmenuSbar Pmenu
hi! link PmenuThumb Pmenu
" __PmenuSel__
call s:h("PmenuSel", {"fg": s:norm, "bg": s:cursor_line, "cterm": "bold"})
hi! link TabLine Normal
hi! link TabLineSel Keyword
hi! link TabLineFill Normal
" __CursorLine__
call s:h("CursorLine", {"bg": s:cursor_line, "cterm": "underline"})
" __CursorColumn__
call s:h("ColorColumn", {"bg": s:cursor_line})
" __MatchParen__
call s:h("MatchParen", {"bg": s:yellow, "fg": s:always_dark_black})
hi! link htmlH1 Normal
hi! link htmlH2 Normal
hi! link htmlH3 Normal
hi! link htmlH4 Normal
hi! link htmlH5 Normal
hi! link htmlH6 Normal
hi link diffRemoved DiffDelete
hi link diffAdded DiffAdd
" Signify, git-gutter
hi link SignifySignAdd LineNr
hi link SignifySignDelete LineNr
hi link SignifySignChange LineNr
hi link GitGutterAdd LineNr
hi link GitGutterDelete LineNr
hi link GitGutterChange LineNr
hi link GitGutterChangeDelete LineNr
hi link jsFlowTypeKeyword Statement
hi link jsFlowImportType Statement
hi link jsFunction Statement
hi link jsGlobalObjects Normal
hi link jsGlobalNodeObjects Normal
hi link jsArrowFunction Noise
hi link StorageClass Statement
hi link xmlTag Constant
hi link xmlTagName xmlTag
hi link xmlEndTag xmlTag
hi link xmlAttrib xmlTag
hi link markdownH1 Statement
hi link markdownH2 Statement
hi link markdownH3 Statement
hi link markdownH4 Statement
hi link markdownH5 Statement
hi link markdownH6 Statement
hi link markdownListMarker Constant
hi link markdownCode Constant
hi link markdownCodeBlock Constant
hi link markdownCodeDelimiter Constant
hi link markdownHeadingDelimiter Constant
hi link yamlBlockMappingKey Statement
hi link pythonOperator Statement
hi link ALEWarning WarningMsg
hi link ALEWarningSign WarningMsg
hi link ALEError ErrorMsg
hi link ALEErrorSign ErrorMsg
hi link ALEInfo InfoMsg
hi link ALEInfoSign InfoMsg
hi link sqlStatement Statement
hi link sqlKeyword Keyword
hi link wikiHeader1 Statement
hi link wikiHeader2 Statement
hi link wikiHeader3 Statement
hi link wikiHeader4 Statement
hi link wikiHeader5 Statement
hi link wikiHeader6 Statement
hi link wikiList Statement
hi link wikiPre Constant
hi link wikiCode Constant
hi link tsxTag Constant
hi link tsxTagName Constant
hi link tsxCloseTagName Constant
hi link tsxAttrib Constant
" __Search__ (make sure it comes after everything else)
call s:h("Search", {"bg": s:selection, "fg": s:selection_fg})
hi! link IncSearch Search

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,100 @@
" UnixZoo Vim Theme
"
" Copyright (c) 2012, Edd Barrett <vext01@gmail.com>
"
" Permission to use, copy, modify, and/or distribute this software for any
" purpose with or without fee is hereby granted, provided that the above
" copyright notice and this permission notice appear in all copies.
"
" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
hi clear
let g:colors_name="theunixzoo"
" Base Colours
hi Normal guibg=#242429 guifg=#d48130 ctermfg=None ctermbg=None
" Vim Feature
hi Cursor ctermbg=None ctermfg=None cterm=inverse
hi VertSplit ctermbg=gray ctermfg=None cterm=None
hi Folded ctermbg=None ctermfg=None cterm=None
hi LineNr ctermbg=None ctermfg=None cterm=None
hi NonText ctermbg=None ctermfg=None cterm=None
hi Search ctermbg=yellow ctermfg=blue cterm=None
hi IncSearch ctermbg=blue ctermfg=yellow cterm=None
hi StatusLine ctermbg=gray ctermfg=black cterm=None
hi StatusLineNC ctermbg=gray ctermfg=black cterm=None
hi Visual ctermbg=None ctermfg=None cterm=inverse
hi ErrorMsg ctermbg=None ctermfg=None cterm=None
hi WarningMsg ctermbg=None ctermfg=None cterm=None
hi Error ctermbg=red ctermfg=None cterm=None
hi SpecialKey ctermbg=None ctermfg=None cterm=None
hi Directory ctermbg=None ctermfg=None cterm=None
hi ModeMsg ctermbg=None ctermfg=None cterm=None
hi CursorLine ctermbg=black ctermfg=None cterm=None
hi Pmenu ctermbg=gray ctermfg=black cterm=None
hi PmenuSel ctermbg=yellow ctermfg=black cterm=None
hi Question ctermbg=None ctermfg=None cterm=None
hi MoreMsg ctermbg=None ctermfg=None cterm=None
hi DiffDelete ctermbg=None ctermfg=None cterm=None
hi DiffChange ctermbg=None ctermfg=None cterm=None
hi DiffAdd ctermbg=None ctermfg=None cterm=None
hi DiffText ctermbg=None ctermfg=None cterm=None
hi FoldColumn ctermbg=None ctermfg=None cterm=None
hi Title ctermfg=None ctermbg=None cterm=bold
hi VimHiGroup ctermbg=None ctermfg=None cterm=None
hi VimHiLink ctermbg=None ctermfg=None cterm=None
hi VimGroup ctermbg=None ctermfg=None cterm=None
hi Underlined ctermbg=None ctermfg=None cterm=underline
hi SpellBad ctermbg=red ctermfg=yellow term=None
hi SpellCap ctermbg=red ctermfg=yellow term=None
hi SpellRare ctermbg=red ctermfg=yellow term=None
hi SpellLocal ctermbg=red ctermfg=yellow term=None
hi HelpStar ctermbg=None ctermfg=None cterm=None
" Language Features
hi Identifier ctermfg=None ctermbg=None cterm=bold
hi Function ctermfg=None ctermbg=None cterm=bold
hi Comment ctermfg=10 ctermbg=None cterm=None
hi javaCOmmentTitle ctermfg=red ctermbg=None cterm=None
hi Constant ctermfg=None ctermbg=None cterm=None
hi Statement ctermfg=None ctermbg=None cterm=bold
hi PreProc ctermfg=None ctermbg=None cterm=bold
hi Type ctermfg=None ctermbg=None cterm=None
hi Special ctermfg=None ctermbg=None cterm=None
hi Todo ctermfg=black ctermbg=cyan cterm=None
hi cTodo ctermfg=black ctermbg=cyan cterm=None
hi ColorColumn ctermfg=magenta ctermbg=None cterm=None
hi cPreCondit ctermfg=None ctermbg=None cterm=None
hi texMathZoneW ctermfg=None ctermbg=None cterm=None
hi texMathOper ctermfg=None ctermbg=None cterm=None
hi Delimiter ctermfg=None ctermbg=None cterm=bold
" colors
" 1 - red
" 2 - green
" 3 - orange
" 4 - cyan
" 5 - magenta
" 6 - cyan
" 7 - white
" Markdown
" Inline code: `code`
hi markdownCode ctermfg=3 cterm=italic
" Multiline fenced code blocks: ```code```
hi markdownCodeBlock ctermfg=3 cterm=italic
" **text** should be bold
hi markdownBold gui=bold cterm=bold
" *text* should be italic
hi markdownItalic gui=italic cterm=italic
" File Manager
hi netrwMarkFile ctermfg=None ctermbg=None cterm=inverse

View File

@@ -0,0 +1,425 @@
" Vim color file
" Maintainer: Jani Nurminen <slinky@iki.fi>
" Last Change: $Id: zenburn.vim,v 2.16 2010/10/24 10:55:30 slinky Exp slinky $
" URL: http://slinky.imukuppi.org/zenburnpage/
" License: GNU GPL <http://www.gnu.org/licenses/gpl.html>
"
" Nothing too fancy, just some alien fruit salad to keep you in the zone.
" This syntax file was designed to be used with dark environments and
" low light situations. Of course, if it works during a daybright office, go
" ahead :)
"
" Owes heavily to other Vim color files! With special mentions
" to "BlackDust", "Camo" and "Desert".
"
" To install, copy to ~/.vim/colors directory.
"
" Alternatively, you can use Vimball installation:
" vim zenburn.vba
" :so %
" :q
"
" For details, see :help vimball
"
" After installation, use it with :colorscheme zenburn.
" See also :help syntax
"
" Credits:
" - Jani Nurminen - original Zenburn, maintainer
" - Steve Hall & Cream posse - higher-contrast Visual selection
" - Kurt Maier - 256 color console coloring, low and high contrast toggle,
" bug fixing
" - Charlie - spotted too bright StatusLine in non-high contrast mode
" - Pablo Castellazzi - CursorLine fix for 256 color mode
" - Tim Smith - force dark background
" - John Gabriele - spotted bad Ignore-group handling
" - Zac Thompson - spotted invisible NonText in low contrast mode
" - Christophe-Marie Duquesne - suggested making a Vimball
" - Andrew Wagner - noted the CursorColumn bug (guifg was unintentionally set),
" unify CursorColumn colour
" - Martin Langasek - clarify the license, whitespace fixes
" - Marcin Szamotulski - support autocomplete for Zenburn configuration
" parameters
"
" CONFIGURABLE PARAMETERS:
"
" You can use the default (don't set any parameters), or you can
" set some parameters to tweak the Zenburn colours.
"
" To use them, put them into your .vimrc file before loading the color scheme,
" example:
" let g:zenburn_high_Contrast=1
" colors zenburn
"
" You can also do ":let g:zenburn" then hit Ctrl-d or Tab to scroll through the
" list of configurable parameters.
"
" * You can now set a darker background for bright environments. To activate, use:
" contrast Zenburn, use:
"
" let g:zenburn_high_Contrast = 1
"
" * For example, Vim help files uses the Ignore-group for the pipes in tags
" like "|somelink.txt|". By default, the pipes are not visible, as they
" map to Ignore group. If you wish to enable coloring of the Ignore group,
" set the following parameter to 1. Warning, it might make some syntax files
" look strange.
"
" let g:zenburn_color_also_Ignore = 1
"
" * To get more contrast to the Visual selection, use
"
" let g:zenburn_alternate_Visual = 1
"
" * To use alternate colouring for Error message, use
"
" let g:zenburn_alternate_Error = 1
"
" * The new default for Include is a duller orange. To use the original
" colouring for Include, use
"
" let g:zenburn_alternate_Include = 1
"
" * Work-around to a Vim bug, it seems to misinterpret ctermfg and 234 and 237
" as light values, and sets background to light for some people. If you have
" this problem, use:
"
" let g:zenburn_force_dark_Background = 1
"
" * By default the CursorColumn is of a lighter colour. I find it more readable
" that way, but some people may want to align it with the darker CursorLine
" color, for visual uniformity. To do so, use:
"
" let g:zenburn_unified_CursorColumn = 1
"
" Note: you can ignore this unless you use
" ":set cursorline cursorcolumn", since otherwise the effect won't be
" seen.
"
" NOTE:
"
" * To turn the parameter(s) back to defaults, use UNLET or set them to 0:
"
" unlet g:zenburn_alternate_Include
" or
" let g:zenburn_alternate_Include = 0
"
"
" That's it, enjoy!
"
" TODO
" - Visual alternate color is broken? Try GVim >= 7.0.66 if you have trouble
" - IME colouring (CursorIM)
" Set defaults, but keep any parameters already set by the user
if ! exists("g:zenburn_high_Contrast")
let g:zenburn_high_Contrast = 0
endif
if ! exists("g:zenburn_color_also_Ignore")
let g:zenburn_color_also_Ignore = 0
endif
if ! exists("g:zenburn_alternate_Error")
let g:zenburn_alternate_Error = 0
endif
if ! exists("g:zenburn_force_dark_Background")
let g:zenburn_force_dark_Background = 0
endif
if ! exists("g:zenburn_alternate_Visual")
let g:zenburn_alternate_Visual = 0
endif
if ! exists("g:zenburn_alternate_Include")
let g:zenburn_alternate_Include = 0
endif
if ! exists("g:zenburn_unified_CursorColumn")
let g:zenburn_unified_CursorColumn = 0
endif
" -----------------------------------------------
set background=dark
hi clear
if exists("syntax_on")
syntax reset
endif
let g:colors_name="zenburn"
hi Boolean guifg=#dca3a3
hi Character guifg=#dca3a3 gui=bold
hi Comment guifg=#7f9f7f gui=italic
hi Conditional guifg=#f0dfaf gui=bold
hi Constant guifg=#dca3a3 gui=bold
hi Cursor guifg=#000d18 guibg=#8faf9f gui=bold
hi Debug guifg=#bca3a3 gui=bold
hi Define guifg=#ffcfaf gui=bold
hi Delimiter guifg=#8f8f8f
hi DiffAdd guifg=#709080 guibg=#313c36 gui=bold
hi DiffChange guibg=#333333
hi DiffDelete guifg=#333333 guibg=#464646
hi DiffText guifg=#ecbcbc guibg=#41363c gui=bold
hi Directory guifg=#dcdccc gui=bold
hi ErrorMsg guifg=#80d4aa guibg=#2f2f2f gui=bold
hi Exception guifg=#c3bf9f gui=bold
hi Float guifg=#c0bed1
hi FoldColumn guifg=#93b3a3 guibg=#3f4040
hi Folded guifg=#93b3a3 guibg=#3f4040
hi Function guifg=#efef8f
hi Identifier guifg=#efdcbc
hi IncSearch guibg=#f8f893 guifg=#385f38
hi Keyword guifg=#f0dfaf gui=bold
hi Label guifg=#dfcfaf gui=underline
hi LineNr guifg=#9fafaf guibg=#262626
hi Macro guifg=#ffcfaf gui=bold
hi ModeMsg guifg=#ffcfaf gui=none
hi MoreMsg guifg=#ffffff gui=bold
hi Number guifg=#8cd0d3
hi Operator guifg=#f0efd0
hi PreCondit guifg=#dfaf8f gui=bold
hi PreProc guifg=#ffcfaf gui=bold
hi Question guifg=#ffffff gui=bold
hi Repeat guifg=#ffd7a7 gui=bold
hi Search guifg=#ffffe0 guibg=#284f28
hi SpecialChar guifg=#dca3a3 gui=bold
hi SpecialComment guifg=#82a282 gui=bold
hi Special guifg=#cfbfaf
hi SpecialKey guifg=#9ece9e
hi Statement guifg=#e3ceab gui=none
hi StatusLine guifg=#313633 guibg=#ccdc90
hi StatusLineNC guifg=#2e3330 guibg=#88b090
hi StorageClass guifg=#c3bf9f gui=bold
hi String guifg=#cc9393
hi Structure guifg=#efefaf gui=bold
hi Tag guifg=#e89393 gui=bold
hi Title guifg=#efefef gui=bold
hi Todo guifg=#dfdfdf guibg=bg gui=bold
hi Typedef guifg=#dfe4cf gui=bold
hi Type guifg=#dfdfbf gui=bold
hi Underlined guifg=#dcdccc gui=underline
hi VertSplit guifg=#2e3330 guibg=#688060
hi VisualNOS guifg=#333333 guibg=#f18c96 gui=bold,underline
hi WarningMsg guifg=#ffffff guibg=#333333 gui=bold
hi WildMenu guibg=#2c302d guifg=#cbecd0 gui=underline
hi SpellBad guisp=#bc6c4c guifg=#dc8c6c
hi SpellCap guisp=#6c6c9c guifg=#8c8cbc
hi SpellRare guisp=#bc6c9c guifg=#bc8cbc
hi SpellLocal guisp=#7cac7c guifg=#9ccc9c
" Entering Kurt zone
if &t_Co > 255
hi Boolean ctermfg=181
hi Character ctermfg=181 cterm=bold
hi Comment ctermfg=108
hi Conditional ctermfg=223 cterm=bold
hi Constant ctermfg=181 cterm=bold
hi Cursor ctermfg=233 ctermbg=109 cterm=bold
hi Debug ctermfg=181 cterm=bold
hi Define ctermfg=223 cterm=bold
hi Delimiter ctermfg=245
hi DiffAdd ctermfg=66 ctermbg=237 cterm=bold
hi DiffChange ctermbg=236
hi DiffDelete ctermfg=236 ctermbg=238
hi DiffText ctermfg=217 ctermbg=237 cterm=bold
hi Directory ctermfg=188 cterm=bold
hi ErrorMsg ctermfg=115 ctermbg=236 cterm=bold
hi Exception ctermfg=249 cterm=bold
hi Float ctermfg=251
hi FoldColumn ctermfg=109 ctermbg=238
hi Folded ctermfg=109 ctermbg=238
hi Function ctermfg=228
hi Identifier ctermfg=223
hi IncSearch ctermbg=228 ctermfg=238
hi Keyword ctermfg=223 cterm=bold
hi Label ctermfg=187 cterm=underline
hi LineNr ctermfg=248 ctermbg=235
hi Macro ctermfg=223 cterm=bold
hi ModeMsg ctermfg=223 cterm=none
hi MoreMsg ctermfg=15 cterm=bold
hi Number ctermfg=116
hi Operator ctermfg=230
hi PreCondit ctermfg=180 cterm=bold
hi PreProc ctermfg=223 cterm=bold
hi Question ctermfg=15 cterm=bold
hi Repeat ctermfg=223 cterm=bold
hi Search ctermfg=230 ctermbg=236
hi SpecialChar ctermfg=181 cterm=bold
hi SpecialComment ctermfg=108 cterm=bold
hi Special ctermfg=181
hi SpecialKey ctermfg=151
hi Statement ctermfg=187 ctermbg=234 cterm=none
hi StatusLine ctermfg=236 ctermbg=186
hi StatusLineNC ctermfg=235 ctermbg=108
hi StorageClass ctermfg=249 cterm=bold
hi String ctermfg=174
hi Structure ctermfg=229 cterm=bold
hi Tag ctermfg=181 cterm=bold
hi Title ctermfg=7 ctermbg=234 cterm=bold
hi Todo ctermfg=108 ctermbg=234 cterm=bold
hi Typedef ctermfg=253 cterm=bold
hi Type ctermfg=187 cterm=bold
hi Underlined ctermfg=188 ctermbg=234 cterm=bold
hi VertSplit ctermfg=236 ctermbg=65
hi VisualNOS ctermfg=236 ctermbg=210 cterm=bold
hi WarningMsg ctermfg=15 ctermbg=236 cterm=bold
hi WildMenu ctermbg=236 ctermfg=194 cterm=bold
" spellchecking, always "bright" background
hi SpellLocal ctermfg=14 ctermbg=237
hi SpellBad ctermfg=9 ctermbg=237
hi SpellCap ctermfg=12 ctermbg=237
hi SpellRare ctermfg=13 ctermbg=237
" pmenu
hi PMenu ctermfg=248 ctermbg=0
hi PMenuSel ctermfg=223 ctermbg=235
if exists("g:zenburn_high_Contrast") && g:zenburn_high_Contrast
hi Normal ctermfg=188 ctermbg=234
hi NonText ctermfg=238
if exists("g:zenburn_color_also_Ignore") && g:zenburn_color_also_Ignore
hi Ignore ctermfg=238
endif
" hc mode, darker CursorLine, default 236
hi CursorLine ctermbg=233 cterm=none
if exists("g:zenburn_unified_CursorColumn") && g:zenburn_unified_CursorColumn
hi CursorColumn ctermbg=233 cterm=none
else
hi CursorColumn ctermbg=235 cterm=none
endif
else
hi Normal ctermfg=188 ctermbg=237
hi Cursor ctermbg=109
hi diffadd ctermbg=237
hi diffdelete ctermbg=238
hi difftext ctermbg=237
hi errormsg ctermbg=237
hi foldcolumn ctermbg=238
hi folded ctermbg=238
hi incsearch ctermbg=228
hi linenr ctermbg=238
hi search ctermbg=238
hi statement ctermbg=237
hi statusline ctermbg=144
hi statuslinenc ctermbg=108
hi title ctermbg=237
hi todo ctermbg=237
hi underlined ctermbg=237
hi vertsplit ctermbg=65
hi visualnos ctermbg=210
hi warningmsg ctermbg=236
hi wildmenu ctermbg=236
hi NonText ctermfg=240
if exists("g:zenburn_color_also_Ignore") && g:zenburn_color_also_Ignore
hi Ignore ctermfg=240
endif
" normal mode, lighter CursorLine
hi CursorLine ctermbg=238 cterm=none
if exists("g:zenburn_unified_CursorColumn") && g:zenburn_unified_CursorColumn
hi CursorColumn ctermbg=238 cterm=none
else
hi CursorColumn ctermbg=239 cterm=none
endif
endif
if exists("g:zenburn_alternate_Error") && g:zenburn_alternate_Error
" use more jumpy Error
hi Error ctermfg=210 ctermbg=52 gui=bold
else
" default is something more zenburn-compatible
hi Error ctermfg=228 ctermbg=95 gui=bold
endif
endif
if exists("g:zenburn_force_dark_Background") && g:zenburn_force_dark_Background
" Force dark background, because of a bug in VIM: VIM sets background
" automatically during "hi Normal ctermfg=X"; it misinterprets the high
" value (234 or 237 above) as a light color, and wrongly sets background to
" light. See ":help highlight" for details.
set background=dark
endif
if exists("g:zenburn_high_Contrast") && g:zenburn_high_Contrast
" use new darker background
hi Normal guifg=#dcdccc guibg=#1f1f1f
hi CursorLine guibg=#121212 gui=bold
if exists("g:zenburn_unified_CursorColumn") && g:zenburn_unified_CursorColumn
hi CursorColumn guibg=#121212 gui=bold
else
hi CursorColumn guibg=#2b2b2b
endif
hi Pmenu guibg=#242424 guifg=#ccccbc
hi PMenuSel guibg=#353a37 guifg=#ccdc90 gui=bold
hi PmenuSbar guibg=#2e3330 guifg=#000000
hi PMenuThumb guibg=#a0afa0 guifg=#040404
hi MatchParen guifg=#f0f0c0 guibg=#383838 gui=bold
hi SignColumn guifg=#9fafaf guibg=#181818 gui=bold
hi TabLineFill guifg=#cfcfaf guibg=#181818 gui=bold
hi TabLineSel guifg=#efefef guibg=#1c1c1b gui=bold
hi TabLine guifg=#b6bf98 guibg=#181818 gui=bold
hi NonText guifg=#404040 gui=bold
else
" Original, lighter background
hi Normal guifg=#dcdccc guibg=#3f3f3f
hi CursorLine guibg=#434443
if exists("g:zenburn_unified_CursorColumn") && g:zenburn_unified_CursorColumn
hi CursorColumn guibg=#434343
else
hi CursorColumn guibg=#4f4f4f
endif
hi Pmenu guibg=#2c2e2e guifg=#9f9f9f
hi PMenuSel guibg=#242424 guifg=#d0d0a0 gui=bold
hi PmenuSbar guibg=#2e3330 guifg=#000000
hi PMenuThumb guibg=#a0afa0 guifg=#040404
hi MatchParen guifg=#b2b2a0 guibg=#2e2e2e gui=bold
hi SignColumn guifg=#9fafaf guibg=#343434 gui=bold
hi TabLineFill guifg=#cfcfaf guibg=#353535 gui=bold
hi TabLineSel guifg=#efefef guibg=#3a3a39 gui=bold
hi TabLine guifg=#b6bf98 guibg=#353535 gui=bold
hi NonText guifg=#5b605e gui=bold
endif
if exists("g:zenburn_alternate_Visual") && g:zenburn_alternate_Visual
" Visual with more contrast, thanks to Steve Hall & Cream posse
" gui=none fixes weird highlight problem in at least GVim 7.0.66, thanks to Kurt Maier
hi Visual guifg=#000000 guibg=#71d3b4 gui=none
hi VisualNOS guifg=#000000 guibg=#71d3b4 gui=none
else
" use default visual
hi Visual guifg=#233323 guibg=#71d3b4 gui=none
hi VisualNOS guifg=#233323 guibg=#71d3b4 gui=none
endif
if exists("g:zenburn_alternate_Error") && g:zenburn_alternate_Error
" use more jumpy Error
hi Error guifg=#e37170 guibg=#664040 gui=bold
else
" default is something more zenburn-compatible
hi Error guifg=#e37170 guibg=#3d3535 gui=none
endif
if exists("g:zenburn_alternate_Include") && g:zenburn_alternate_Include
" original setting
hi Include guifg=#ffcfaf gui=bold
else
" new, less contrasted one
hi Include guifg=#dfaf8f gui=bold
endif
if exists("g:zenburn_color_also_Ignore") && g:zenburn_color_also_Ignore
" color the Ignore groups
" note: if you get strange coloring for your files, turn this off (unlet)
hi Ignore guifg=#545a4f
endif
" TODO check for more obscure syntax groups that they're ok

View File

@@ -0,0 +1 @@
autocmd BufNewFile,BufRead *.tofu setlocal filetype=terraform

180
vim/.config/vim/vimrc Normal file
View File

@@ -0,0 +1,180 @@
syntax on
set smarttab ts=2 sw=2
set softtabstop=2
set expandtab
set autoindent
" line length is 89
set textwidth=89
" Default: No wrap for code and config
set nowrap
" Wrap at word boundaries
" set linebreak
" Maintain indentation on wrapped lines
" set breakindent
" Optional: visual indicator for wrapped lines
set showbreak=↪\
" a group for wrapping by filetype
augroup filetype_wrapping
autocmd!
" Enable soft wrap for prose
autocmd FileType markdown,text,gitcommit setlocal wrap linebreak breakindent
" Maintain no wrap for code and structured data
autocmd FileType go,python,sh,yaml,json setlocal nowrap
augroup END
" Navigate visual lines instead of logical lines
nnoremap j gj
nnoremap k gk
vnoremap j gj
vnoremap k gk
set backspace=indent,eol,start
set background=dark
colorscheme theunixzoo
"colorscheme chill
"colorscheme plain-cterm
"colorscheme aomi-grayscale
"colorscheme solarized8
" disabled by default- enable this as needed to show hidden characters
" set list
" any trailing spaces are indicated by a ·
" tabs are indicated by an arrow followed by a space
" arrows could be: → »
set listchars=tab:→\ ,trail
"source /home/jswank/.config/nvim/colors-now
"set gfn=Droid\ Sans\ Mono\ 10
set gfn=Inconsolata\ 12
set guioptions-=T
"use semicolon as colon for commands
nmap ; :
filetype plugin on
filetype indent on
set ofu=syntaxcomplete#Complete#
" au FileType python setlocal tabstop=4 expandtab shiftwidth=4 softtabstop=4
au FileType markdown setlocal tabstop=4 expandtab shiftwidth=4 softtabstop=4 wrap
" typing idate inserts the current date
iab idate <c-r>=strftime("%Y-%m-%d")<cr>
" use \ toc to insert a table of contents for markdown from the current line to EOF
" nmap <leader>toc <cmd>.put =execute('.,$write !gh-md-toc --hide-header --hide-footer')<cr>
nmap <leader>toc :put =system('gh-md-toc --hide-header --hide-footer --indent=4', getline('.', '$'))<cr>
" use \ tf to format a buffer as tofu / terraform
nmap <leader>tf <cmd>% !tofu fmt -no-color -<cr>
" use \ jn to format a buffer as Jsonnet
nmap <leader>jn <cmd>% !jsonnetfmt -<cr>
" use \ js to format a buffer as JSON
nmap <leader>js <cmd>% !jq . -<cr>
set lazyredraw " redraw only when req'd
set wildmenu " visual auto-complete
set wildmode=longest:full,full
set wildignore=*.pyc,*.swp,.git/**
set showmatch " highlights matching parens
set cursorline " highlights the current line
" Search down into subfolders
set path+=**
" netrw config
let g:netrw_banner=0 " disable annoying banner
let g:netrw_browse_split=0 " open in prior window
let g:netrw_altv=1 " open splits to the right
let g:netrw_liststyle=3 " tree view
" let g:netrw_list_hide=',\(^\|\s\s\)\zs\.\S\+'
" NOW WE CAN:
" - :edit a folder to open a file browser
" - <CR>/v/t to open in an h-split/v-split/tab
" - check |netrw-browse-maps| for more mappings
" fzf.vim shortcuts
nnoremap <c-p> <cmd>Files<CR>
nnoremap <c-\> <cmd>Buffers<CR>
nnoremap <c-g> <cmd>Rg<CR>
"
" Github Copilot
"
" disable Copilot ny default
let g:copilot_enabled = 0
" map key to enable copilot
nmap <leader>cp :let g:copilot_enabled = 1<CR>
def ShowPalette()
vnew
setlocal buftype=nofile bufhidden=wipe noswapfile
# Iterate through all highlight groups
for group in getcompletion('', 'highlight')
# Skip cleared/empty groups
if hlexists(group)
append(line('$'), group)
# Use syntax keyword to apply the highlight group to its own name
exec 'syntax keyword ' .. group .. ' ' .. group
endif
endfor
enddef
command! ShowPalette call ShowPalette()
" format any yaml file
" autocmd BufWritePre *.yaml :%!yq -i %
"
" GO stuff
"
" format with goimports instead of gofmt
let g:go_fmt_command = "goimports"
" more syntax highlighting
let g:go_highlight_functions = 1
let g:go_highlight_methods = 1
let g:go_highlight_structs = 1
let g:go_highlight_interfaces = 1
let g:go_highlight_operators = 1
let g:go_highlight_build_constraints = 1
" disable folding for markdown
let g:vim_markdown_folding_disabled = 1
" ancient stuff
"let g:hcl_fmt_autosave = 1
"let g:tf_fmt_autosave = 1
"let g:nomad_fmt_autosave = 1
"autocmd BufRead,BufNewFile *.go set makeprg=go\ build
"map <leader>gr <ESC>:!gorun %<CR>
"for javascript:
"use google closure to generate errors
":set makeprg=closure\ --js\ %
"javac style errors
":setl efm=%A%f:%l:\ %m,%+Z%p^,%+C%.%#,%-G%.%#
"autocmd BufRead,BufNewFile *.js :call My_JS()
"function! My_JS()
" set makeprg=closure\ --js\ %
" setl efm=%A%f:%l:\ %m,%+Z%p^,%+C%.%#,%-G%.%#
"endfunction
"map <leader>hh :!tidy -q -i --show-errors 0<CR>

View File

@@ -1,45 +0,0 @@
syntax on
set smarttab ts=2 sw=2
set softtabstop=2
set expandtab
set autoindent
set backspace=indent,eol,start
set t_Co=16
"use semicolon as colon for commands
nmap ; :
filetype plugin on
filetype indent on
set ofu=syntaxcomplete#Complete#
au FileType python setlocal tabstop=4 expandtab shiftwidth=4 softtabstop=4
" typing idate inserts the current date
iab idate <c-r>=strftime("%Y-%m-%d")<cr>
set lazyredraw " redraw only when req'd
set wildmenu " visual auto-complete
set showmatch
"set cursorline
" Search down into subfolders
" Provides tab-completion for all file-related tasks
set path+=**
" netrw config
let g:netrw_banner=0 " disable annoying banner
let g:netrw_browse_split=0 " open in prior window
let g:netrw_altv=1 " open splits to the right
let g:netrw_liststyle=3 " tree view
let g:netrw_list_hide=netrw_gitignore#Hide()
let g:netrw_list_hide.=',\(^\|\s\s\)\zs\.\S\+'
" NOW WE CAN:
" - :edit a folder to open a file browser
" - <CR>/v/t to open in an h-split/v-split/tab
" - check |netrw-browse-maps| for more mappings

211
zk/.config/zk/config.toml Normal file
View File

@@ -0,0 +1,211 @@
# zk configuration file
#
# Uncomment the properties you want to customize.
[notebook]
dir = "$HOME/notes/notebook"
# NOTE SETTINGS
#
# Defines the default options used when generating new notes.
[note]
# Language used when writing notes.
# This is used to generate slugs or with date formats.
#language = "en"
# The default title used for new note, if no `--title` flag is provided.
#default-title = "Untitled"
# Template used to generate a note's filename, without extension.
#filename = "{{id}}"
# The file extension used for the notes.
#extension = "md"
# Template used to generate a note's content.
# If not an absolute path or "~/unix/path", it's relative to .zk/templates/
template = "default.md"
# Path globs ignored while indexing existing notes.
#exclude = [
# "drafts/*",
# "log.md"
#]
# Configure random ID generation.
# The charset used for random IDs. You can use:
# * letters: only letters from a to z.
# * numbers: 0 to 9
# * alphanum: letters + numbers
# * hex: hexadecimal, from a to f and 0 to 9
# * custom string: will use any character from the provided value
#id-charset = "alphanum"
# Length of the generated IDs.
#id-length = 4
# Letter case for the random IDs, among lower, upper or mixed.
#id-case = "lower"
# EXTRA VARIABLES
#
# A dictionary of variables you can use for any custom values when generating
# new notes. They are accessible in templates with {{extra.<key>}}
[extra]
#key = "value"
# GROUP OVERRIDES
#
# You can override global settings from [note] and [extra] for a particular
# group of notes by declaring a [group."<name>"] section.
#
# Specify the list of directories which will automatically belong to the group
# with the optional `paths` property.
#
# Omitting `paths` is equivalent to providing a single path equal to the name of
# the group. This can be useful to quickly declare a group by the name of the
# directory it applies to.
#[group."<NAME>"]
#paths = ["<DIR1>", "<DIR2>"]
#[group."<NAME>".note]
#filename = "{{format-date now}}"
#[group."<NAME>".extra]
#key = "value"
[group.daily]
paths = ["daily"]
[group.daily.note]
# %Y-%m-%d is actually the default format, so you could use {{format-date now}} instead.
filename = "{{format-date now '%Y%m%d'}}"
extension = "md"
template = "daily.md"
# MARKDOWN SETTINGS
[format.markdown]
# Format used to generate links between notes.
# Either "wiki", "markdown" or a custom template. Default is "markdown".
#link-format = "wiki"
# Indicates whether a link's path will be percent-encoded.
# Defaults to true for "markdown" format and false for "wiki" format.
#link-encode-path = true
# Indicates whether a link's path file extension will be removed.
# Defaults to true.
#link-drop-extension = true
# Enable support for #hashtags.
hashtags = true
# Enable support for :colon:separated:tags:.
colon-tags = false
# Enable support for Bear's #multi-word tags#
# Hashtags must be enabled for multi-word tags to work.
multiword-tags = false
# EXTERNAL TOOLS
[tool]
# Default editor used to open notes. When not set, the EDITOR or VISUAL
# environment variables are used.
#editor = "vim"
# Pager used to scroll through long output. If you want to disable paging
# altogether, set it to an empty string "".
#pager = "less -FIRX"
# Command used to preview a note during interactive fzf mode.
# Set it to an empty string "" to disable preview.
# bat is a great tool to render Markdown document with syntax highlighting.
#https://github.com/sharkdp/bat
fzf-preview = "bat -p --color always {-1}"
# LSP
#
# Configure basic editor integration for LSP-compatible editors.
# See https://github.com/zk-org/zk/blob/main/docs/editors-integration.md
#
[lsp]
[lsp.diagnostics]
# Each diagnostic can have for value: none, hint, info, warning, error
# Report titles of wiki-links as hints.
#wiki-title = "hint"
# Warn for dead links between notes.
dead-link = "error"
[lsp.completion]
# Customize the completion pop-up of your LSP client.
# Show the note title in the completion pop-up, or fallback on its path if empty.
#note-label = "{{title-or-path}}"
# Filter out the completion pop-up using the note title or its path.
#note-filter-text = "{{title}} {{path}}"
# Show the note filename without extension as detail.
#note-detail = "{{filename-stem}}"
# NAMED FILTERS
#
# A named filter is a set of note filtering options used frequently together.
#
[filter]
# Matches the notes created the last two weeks. For example:
# $ zk list recents --limit 15
# $ zk edit recents --interactive
#recents = "--sort created- --created-after 'last two weeks'"
# COMMAND ALIASES
#
# Aliases are user commands called with `zk <alias> [<flags>] [<args>]`.
#
# The alias will be executed with `$SHELL -c`, please refer to your shell's
# man page to see the available syntax. In most shells:
# * $@ can be used to expand all the provided flags and arguments
# * you can pipe commands together with the usual | character
#
[alias]
# Here are a few aliases to get you started.
# Shortcut to a command.
ls = 'zk edit --interactive "$@"'
# Default flags for an existing command.
#list = "zk list --quiet $@"
edit = 'zk edit --interactive "$@"'
# Edit the last modified note.
#editlast = "zk edit --limit 1 --sort modified- $@"
# Edit the notes selected interactively among the notes created the last two weeks.
# This alias doesn't take any argument, so we don't use $@.
recent = "zk edit --sort created- --created-after 'last two weeks' --interactive"
daily = 'zk new daily "$@"'
# Print paths separated with colons for the notes found with the given
# arguments. This can be useful to expand a complex search query into a flag
# taking only paths. For example:
# zk list --link-to "`zk path -m potatoe`"
#path = "zk list --quiet --format {{path}} --delimiter , $@"
# Show a random note.
#lucky = "zk list --quiet --format full --sort random --limit 1"
# Returns the Git history for the notes found with the given arguments.
# Note the use of a pipe and the location of $@.
#hist = "zk list --format path --delimiter0 --quiet $@ | xargs -t -0 git log --patch --"
# Edit this configuration file.
conf = '$EDITOR "$ZK_NOTEBOOK_DIR/.zk/config.toml"'

View File

@@ -0,0 +1,14 @@
# {{format-date now '%Y-%m-%d'}}
[yesterday](daily/{{format-date (date "yesterday") '%Y%m%d'}}.md)
## goals
- a bullet
- another bullet
## tracking
- [ ] harvest time sheet
- [ ] exercise
- [ ] dinner / logistics
## notes

View File

@@ -0,0 +1,3 @@
# {{title}}
{{content}}

4
zsh/.local/share/.gitignore vendored Normal file
View File

@@ -0,0 +1,4 @@
# ignore all files in the stew directory
stew/*
containers/
direnv

View File

@@ -0,0 +1 @@
_task

View File

@@ -0,0 +1,71 @@
#compdef task
compdef _task task
typeset -A opt_args
_GO_TASK_COMPLETION_LIST_OPTION="${GO_TASK_COMPLETION_LIST_OPTION:---list-all}"
# Listing commands from Taskfile.yml
function __task_list() {
local -a scripts cmd
local -i enabled=0
local taskfile item task desc
cmd=(task)
taskfile=${(Qv)opt_args[(i)-t|--taskfile]}
taskfile=${taskfile//\~/$HOME}
if [[ -n "$taskfile" && -f "$taskfile" ]]; then
enabled=1
cmd+=(--taskfile "$taskfile")
else
for taskfile in {T,t}askfile{,.dist}.{yaml,yml}; do
if [[ -f "$taskfile" ]]; then
enabled=1
break
fi
done
fi
(( enabled )) || return 0
scripts=()
for item in "${(@)${(f)$("${cmd[@]}" $_GO_TASK_COMPLETION_LIST_OPTION)}[2,-1]#\* }"; do
task="${item%%:[[:space:]]*}"
desc="${item##[^[:space:]]##[[:space:]]##}"
scripts+=( "${task//:/\\:}:$desc" )
done
_describe 'Task to run' scripts
}
_task() {
_arguments \
'(-C --concurrency)'{-C,--concurrency}'[limit number of concurrent tasks]: ' \
'(-p --parallel)'{-p,--parallel}'[run command-line tasks in parallel]' \
'(-f --force)'{-f,--force}'[run even if task is up-to-date]' \
'(-c --color)'{-c,--color}'[colored output]' \
'(-d --dir)'{-d,--dir}'[dir to run in]:execution dir:_dirs' \
'(--dry)--dry[dry-run mode, compile and print tasks only]' \
'(-o --output)'{-o,--output}'[set output style]:style:(interleaved group prefixed)' \
'(--output-group-begin)--output-group-begin[message template before grouped output]:template text: ' \
'(--output-group-end)--output-group-end[message template after grouped output]:template text: ' \
'(-s --silent)'{-s,--silent}'[disable echoing]' \
'(--status)--status[exit non-zero if supplied tasks not up-to-date]' \
'(--summary)--summary[show summary\: field from tasks instead of running them]' \
'(-t --taskfile)'{-t,--taskfile}'[specify a different taskfile]:taskfile:_files' \
'(-v --verbose)'{-v,--verbose}'[verbose mode]' \
'(-w --watch)'{-w,--watch}'[watch-mode for given tasks, re-run when inputs change]' \
+ '(operation)' \
{-l,--list}'[list describable tasks]' \
{-a,--list-all}'[list all tasks]' \
{-i,--init}'[create new Taskfile.yml]' \
'(-*)'{-h,--help}'[show help]' \
'(-*)--version[show version and exit]' \
'*: :__task_list'
}
# don't run the completion function when being source-ed or eval-ed
if [ "$funcstack[1]" = "_task" ]; then
_task "$@"
fi

View File

@@ -0,0 +1,12 @@
aws-ec2-instances() {
aws ec2 describe-instances --output json \
| jq -r '.Reservations[].Instances[] |
[
.InstanceId,
.State.Name,
.PrivateIpAddress,
(.PublicIpAddress // "N/A"),
((.Tags | map("\(.Key)=\(.Value)") | join(", ")) // "N/A")
] |
@tsv'
}

View File

@@ -0,0 +1,25 @@
aws-eksc() {
local clusters cluster_name
# Fetch clusters into a zsh array; exit if the command fails.
clusters=(${(f)"$(aws eks list-clusters 2>/dev/null | jq -r '.clusters[]')"})
if (( ${#clusters[@]} == 0 )); then
echo "No EKS clusters found in the current region/profile." >&2
return 1
elif (( ${#clusters[@]} == 1 )); then
cluster_name="${clusters[1]}"
echo "Auto-selecting only cluster: ${cluster_name}"
else
# Prompt for selection if more than one cluster exists.
cluster_name=$(printf '%s\n' "${clusters[@]}" | fzf --prompt="Select EKS Cluster > ")
fi
# Proceed if a cluster name was selected (handles fzf cancellation).
if [[ -n "$cluster_name" ]]; then
aws eks update-kubeconfig --name "$cluster_name" 2>&1 >/dev/null
else
echo "No cluster selected." >&2
return 1
fi
}

View File

@@ -0,0 +1,28 @@
aws-get-secret () {
local secret_id="${1}"
if [[ -z "$secret_id" ]]; then
secret_id=$(aws secretsmanager list-secrets \
# build a tsv w/ name and date
| jq -r '.SecretList | sort_by(.Name) | .[] | [.Name,.LastChangedDate] | @tsv' \
# convert to tsv w/ full name, truncated name, date (no timestamp)
| awk -F'\t' '{
full_name = $1;
truncated_name = substr($1,1,30);
split($2, date_parts, "T");
# Output: full_name (for return), truncated_name (for display), date (for display)
printf "%s\t%-30s\t%s\n", full_name, truncated_name, date_parts[1]
}' \
# select via fzf, fields 2 & 3
| fzf \
--header="$(printf '%-30s\t%s\n' 'NAME' 'LAST_CHANGED_DATE')" \
--delimiter='\t' \
--with-nth=2,3 \
| awk '{print $1}') \
[[ -z "$secret_id" ]] && return 1
fi
echo "Retrieving secret: $secret_id" >&2
aws secretsmanager get-secret-value --secret-id "$secret_id" --query SecretString --output text
}

View File

@@ -0,0 +1,14 @@
aws-list-records() {
# list route53 hosted zone ids and names, select the zone id using fzf
local zone_id
zone_id=$(aws route53 list-hosted-zones \
| jq -r '.HostedZones[] | "\(.Id | split("/")[2]) \(.Name)"' \
| fzf --header="$(printf '%-21s %s' 'Zone ID' 'Name')" \
| awk '{print $1}')
[[ -z "$zone_id" ]] && return 1
printf "# zone id: %s\n" "$zone_id"
aws route53 list-resource-record-sets --hosted-zone-id "$zone_id" | \
jq -r '.ResourceRecordSets[] | "\(.Name)\t\(.Type)\t\(.ResourceRecords[]?.Value)"'
}

View File

@@ -0,0 +1,3 @@
aws-list-secrets() {
aws secretsmanager list-secrets | jq -r '.SecretList[] | [.Name,.LastChangedDate,.ARN] | @tsv'
}

View File

@@ -0,0 +1,17 @@
aws-login() {
# In zsh, array indices start at 1. `local -a` declares an array.
local -a okta_opts
okta_opts+=(--cache-access-token)
if [[ -n "$AWS_ACCOUNT_ID" ]]; then
okta_opts+=(--aws-iam-idp "arn:aws:iam::${AWS_ACCOUNT_ID}:saml-provider/CFA-OKTA-PROD")
if [[ -n "$AWS_ROLE" ]]; then
okta_opts+=(-r "arn:aws:iam::${AWS_ACCOUNT_ID}:role/${AWS_ROLE}")
fi
fi
# The "${okta_opts[@]}" syntax expands the array into separate, quoted arguments.
echo "okta-aws-cli ${okta_opts[@]}"
eval "$(okta-aws-cli "${okta_opts[@]}")" && export AWS_ENVIRONMENT="$(aws iam list-account-aliases | jq -r '.AccountAliases[0]')"
# export AWS_ENVIRONMENT=$(aws iam list-account-aliases | jq -r '.AccountAliases[0]')
}

View File

@@ -0,0 +1,3 @@
aws-logout() {
unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN AWS_ENVIRONMENT
}

View File

@@ -0,0 +1,10 @@
aws-publish-ssh-key() {
local key_name="${1:-jswank-$(hostname)}"
local key_file="${2:-$HOME/.ssh/id_ed25519.pub}"
[[ -f "$key_file" ]] || { echo "Key file not found: $key_file" >&2; return 1; }
aws ec2 import-key-pair \
--key-name "$key_name" \
--public-key-material "fileb://$key_file"
}

View File

@@ -0,0 +1,3 @@
aws-set-prompt() {
export AWS_ENVIRONMENT=$(aws iam list-account-aliases | jq -r '.AccountAliases[0]')
}

View File

@@ -0,0 +1,14 @@
aws-ssm-connect() {
local instance_id
instance_id=$(aws ec2 describe-instances \
--filters "Name=instance-state-name,Values=running" \
--query 'Reservations[].Instances[].[InstanceId,Tags[?Key==`Name`].Value|[0],PrivateIpAddress,InstanceType]' \
--output text \
| awk '{printf "%-20s %-40s %-15s %s\n", $1, substr($2, 1, 40), $3, $4}' \
| fzf --header="$(printf '%-20s %-40s %-15s %s' 'Instance ID' 'Name' 'IP' 'Type')" \
| awk '{print $1}')
[[ -z "$instance_id" ]] && return 1
aws ssm start-session --target "$instance_id"
}

View File

@@ -0,0 +1,4 @@
# Wrap common commands or use a generic 'bh' (bat-help) function
bh() {
"$@" --help 2>&1 | bat -pl help
}

View File

@@ -0,0 +1,15 @@
export-secret() {
local name="$1"
local file="/run/secrets/${name}"
if [[ ! -f "$file" ]]; then
echo "Error: secret file not found: $file" >&2
return 1
fi
# Read first line, remove trailing spaces/tabs, convert nulls to newlines
local value
value=$(head -n1 "$file" | sed 's/[ \t]*$//' | tr '\0' '\n')
export "${name}=${value}"
}

View File

@@ -0,0 +1,4 @@
# list all local Git branches sorted by their last commit date
git-branches() {
git for-each-ref --sort=-committerdate --format='%(committerdate:iso8601) %(refname:short)' refs/heads/
}

View File

@@ -0,0 +1,4 @@
spacelift-login() {
spacectl profile login && export SPACELIFT_API_TOKEN=$(spacectl profile export-token)
export SPACECTL_SKIP_STACK_PROMPT=true
}

View File

@@ -0,0 +1,7 @@
function ssh-keygen-new() {
local key_type="${1:-ed25519}"
local key_file="${2:-$HOME/.ssh/id_${key_type}}"
local comment="${3:-$(printf '%s@%s' $(whoami) $(hostname))}"
ssh-keygen -t "$key_type" -f "$key_file" -C "$comment"
}

View File

@@ -0,0 +1,3 @@
tf-changes() {
tofu plan -json | jq -r 'select(.type == "planned_change") | "\(.change.resource.addr)\t\(.change.action)"' | sort -u
}

View File

@@ -0,0 +1,16 @@
tf-vars() {
if [ -z "$1" ]; then
echo "Usage: tf_env <environment>"
return 1
fi
local env_name="$1"
export TF_CLI_ARGS_init="-backend-config=config/backend-${env_name}.conf -reconfigure"
export TF_CLI_ARGS_plan="-var-file=config/${env_name}.tfvars"
export TF_CLI_ARGS_apply="-var-file=config/${env_name}.tfvars"
export TF_CLI_ARGS_import="-var-file=config/${env_name}.tfvars"
export TF_CLI_ARGS_destroy="-var-file=config/${env_name}.tfvars"
export TF_CLI_ARGS_console="-var-file=config/${env_name}.tfvars"
echo "Terraform environment variables set for '${env_name}'."
}

View File

@@ -0,0 +1,6 @@
# A simple wrapper around `zk list` to select & view a note
zkbat() {
filename=$(zk list "$@" --interactive -q -f jsonl | jq -r .absPath )
bat $filename
echo $filename >&2
}

View File

@@ -0,0 +1,6 @@
# A simple wrapper around `zk list` to select & view a note
zkv() {
filename=$(zk list "$@" --interactive -q -f jsonl | jq -r .absPath )
less $filename
echo $filename >&2
}

View File

@@ -1,4 +1,9 @@
if [[ ! $DISPLAY && $(tty) = "/dev/tty1" ]]; then
startx
exit
# This file is sourced by zsh when a login shell is started.
# Start a Wayland session with Sway if no graphical session is running
# and the user is on the first virtual terminal (tty1).
if [[ -z $DISPLAY && -z $WAYLAND_DISPLAY && $(tty) = "/dev/tty1" ]]; then
if [[ -x "$(command -v sway)" ]]; then
exec sway
fi
fi

View File

@@ -3,15 +3,18 @@ HISTSIZE=1000
SAVEHIST=1000
export LANG=en_US.UTF-8
export EDITOR=nvim
export EDITOR=vim
export VISUAL=${EDITOR}
export PAGER=less
export LESS=RX # R for ANSI color sequences, X to not clear screen on exit
export FZF_DEFAULT_OPTS="--multi --height=40% --layout=reverse"
export LESSOPEN="| bat --color=always --style=plain %s"
export XDG_CONFIG_HOME=${HOME}/.config
export FZF_DEFAULT_OPTS="--multi --height=40% --layout=reverse --preview='bat --color=always --style=numbers --line-range=:200 {}'"
export GOPATH=~/go
export TZ=America/Kentucky/Louisville
# doesn't work on arch for tmux
#path+=(~/bin)
#path+=(~/.local/bin)
@@ -19,3 +22,9 @@ export GOPATH=~/go
#export PATH
export TMPDIR=/var/tmp
export BROWSER=open_browser.sh
export TF_PLUGIN_CACHE_DIR=~/.local/state/tofu
# With ghostty + tmux + nvim, having this autoset to 'truecolor' has a weird effect
# unset COLORTERM

View File

@@ -1,8 +1,7 @@
alias ls='ls --color=auto'
alias grep='grep --color'
alias vim='nvim'
alias vi='nvim'
alias w3='w3m -T text/html'
fpath+=~/.local/share/zsh/functions
path+=(~/bin)
path+=(~/.local/bin)
@@ -12,17 +11,18 @@ export PATH
# allow for # to be interpreted as a comment on the command line
setopt interactivecomments
# cd tricks
alias -- -='cd -'
setopt auto_cd # there is no binary by that name in your $PATH, your shell will cd into it that directory
# use vi-style keymap
bindkey -v
if [ "${TERM}" = "xterm" ]; then
if [[ "${TERM}" == xterm* ]]; then
TERM=xterm-256color
fi
# setup my personal functions
autoload -Uz ~/.local/share/zsh/functions/*(.:t)
#
# Prompt setup
#
@@ -43,14 +43,22 @@ precmd_functions+=( precmd_vcs_info )
# %r == repo name
# %b == branch name
# %S == relative directory
zstyle ':vcs_info:git*' formats '%%S%r%%s:%{$fg[red]%}%b%{$reset_color%} %S'
zstyle ':vcs_info:git*' formats '%r (%b):%S'
zstyle ':vcs_info:git*' actionformats '%%S%r%%s:%{$fg[red]%}%b:%a%{$reset_color%} %S'
function set_prompt() {
if git rev-parse --is-inside-work-tree >/dev/null 2>&1; then
PROMPT="%B${vcs_info_msg_0_}> %b"
if [[ -n "$AWS_ENVIRONMENT" ]]; then
aws_prompt="
%S%B$AWS_ENVIRONMENT%b%s
"
else
PROMPT="%B%m:%~> %b"
aws_prompt=""
fi
if git rev-parse --is-inside-work-tree >/dev/null 2>&1; then
PROMPT=$aws_prompt"%B${vcs_info_msg_0_}> %b"
else
PROMPT=$aws_prompt"%B%m:%~> %b"
fi
}
precmd_functions+=( set_prompt )
@@ -68,33 +76,39 @@ precmd_functions+=( set_prompt )
# setup SSH keys
if [ -e /usr/bin/keychain ]; then
eval $(/usr/bin/keychain --eval --agents ssh -Q --quiet id_ed25519)
eval $(/usr/bin/keychain --eval -Q --quiet id_ed25519)
fi
# direnv setup
whence -p direnv &>/dev/null && eval "$(direnv hook zsh)"
# setup CFA environment
if [ -e $HOME/cfa-work/.zshrc ]; then
. $HOME/cfa-work/.zshrc
# secrets
if [ -r "$HOME/.env_secrets" ]; then
set -a
source "$HOME/.env_secrets"
set +a
fi
# setup okta-aws-cli env
# export $(xargs < $HOME/.okta/.env)
# command line completion
autoload -U +X bashcompinit && bashcompinit
autoload -Uz compinit && compinit
# setup aws-cli env
export $(xargs < $HOME/.aws/.env)
# setup gh env
export $(xargs < $HOME/.config/git/.env)
autoload bashcompinit && bashcompinit
autoload -Uz compinit
compinit
# gcloud
if [ -f '/home/cli/google-cloud-sdk/path.zsh.inc' ]; then . '/home/cli/google-cloud-sdk/path.zsh.inc'; fi
if [ -f '/home/cli/google-cloud-sdk/completion.zsh.inc' ]; then . '/home/cli/google-cloud-sdk/completion.zsh.inc'; fi
# kubectl
[[ $commands[kubectl] ]] && source <(kubectl completion zsh)
# AWS CLI completion
if command -v aws_completer > /dev/null; then
complete -C aws_completer aws
fi
if command -v tofu > /dev/null; then
complete -o nospace -C $(command -v tofu) tofu
fi
# Highlight the current autocomplete option
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
@@ -112,13 +126,7 @@ fi
zstyle :compinstall filename '~/.zshrc'
if [[ -x /usr/bin/aws_completer ]]; then
complete -C '/usr/bin/aws_completer' aws
fi
#zstyle ':completion:*' completer _complete _ignored
#zstyle :compinstall filename '~/.zshrc'
autoload -U +X bashcompinit && bashcompinit
autoload -Uz compinit
compinit
#compinit