1
0

Update configuration

Move configuration from VimL to Lua
This commit is contained in:
Patrick Auernig 2023-05-04 16:40:35 +02:00
parent 664d30819d
commit d9ea8954ce
45 changed files with 407 additions and 4739 deletions

4
.gitignore vendored
View File

@ -1,5 +1 @@
*.bak
*.old
*.pyc
.netrwhist
.init.vim-rplugin~

View File

@ -1,36 +0,0 @@
global !p
from ultisnips.all import *
endglobal
snippet wpanet "wpa_supplicant WPA network entry" b
network=\{
ssid="${1:SSID}"
key_mgmt=${2:WPA-PSK}
proto=${3:RSN WPA}
pairwise=${4:CCMP TKIP}
group=${5:CCMP TKIP}
#psk="${6:PSK}"
psk=`!p snip.rv = getWPAPassphraseHash(t[1], t[6])`
priority=${7:10}
\}
endsnippet
snippet eapnet "wpa_supplicant EAP network entry" b
network=\{
ssid="${1:eduroam}"
scan_ssid=${2:1}
key_mgmt=${3:WPA-EAP}
eap=${4:PEAP}
identity="${5:ID}"
#password="${6:PASSPHRASE}"
password=hash:`!p snip.rv = getEAPPassphraseHash(t[6])`
phase1="${7:peaplabel=0}"
phase2="${8:auth=MSCHAPV2}"
priority=${9:10}
\}
endsnippet

View File

@ -1,99 +0,0 @@
global !p
from ultisnips.all import *
from ultisnips.c import *
endglobal
snippet fun "C function" b
${1:int} ${2:main}(${3:void})
{
${0}
return `!p snip.rv = returnval(t[1], t[2])`;
}
endsnippet
snippet note "Add a note (TODO, FIXME or XXX)" b
/* ${1}`!p
snip.rv =getNoteCandidates(t[1])
`(`!p
snip.rv = getUsername("valeth", True)
` @ `!v
strftime("%d.%m.%y")
`): ${2:DESCRIPTION} */
endsnippet
snippet doxfun "Doxygen function documentation" b
/**
* ${1:DESCRIPTION}
* @brief ${2:BRIEF}
* @param ${3:PARAM}
* @return ${4:RETURN}
*/
endsnippet
snippet doxhead "Doxygen documentation file header" b
/**
* @author ${1:`!p snip.rv = getUsername("valeth", True)`}
* @date ${2:`!v strftime("%d.%m.%Y")`}
* @file ${3:`!v expand("%:t")`}
*/
endsnippet
snippet malloc "Allocate memory on the heap"
${1:TYPE} ${2:NAME} = ($1)malloc(sizeof(*$2));
endsnippet
snippet calloc "Allocate memory on the heap"
${1:TYPE} ${2:NAME} = ($1)calloc(${3:N}, sizeof(*$2));
endsnippet
snippet incl "Default includes"
#include <stdlib.h>
#include <stdio.h>
endsnippet
snippet for "For loop"
for (${1:INITIALIZER}; ${2:TEST}; ${3:INCREMENTER}) \{
${4:#error "incomplete for loop"}
\}
endsnippet
snippet while "While loop"
while (${1:TEST}) \{
${2:#error "incomplete while loop"}
\}
endsnippet
snippet if "If-Then control construct"
if (${1:TEST}) \{
${2:#error "incomplete if branch"}
\}
endsnippet
snippet ite "If-Then-Else control construct"
if (${1:TEST}) \{
${2:#error "incomplete if branch"}
\} else \{
${3:#error "incomplete else branch"}
\}
endsnippet
snippet elif "Else-If control construct"
else if (${1:TEST}) \{
${2:#error "incomplete elif branch"}
\}
endsnippet

View File

@ -1 +0,0 @@
extends c

View File

@ -1,11 +0,0 @@
snippet mod "Create new module" b
module ${1:`!p snip.rv = snip.basename`} (
) where
endsnippet
snippet hdfun "Haddock function documentation" b
-- | ${1:DESCRIPTION}
-- ${2}
endsnippet

View File

@ -1,62 +0,0 @@
# shellscript snippest
snippet #! "shebang line" b
#!/usr/bin/env bash
endsnippet
snippet fun "function" b
function ${1:NAME}
{
${0:STATEMENTS}
}
endsnippet
snippet switch "switch-case"
case ${1:ARG} in
${2:PATTERN})
${3:STATEMENTS}
;;
esac
endsnippet
snippet if "if-then"
if ${1:TEST}; then
${2:STATEMENTS}
fi
endsnippet
snippet ite "if-then-else"
if ${1:TEST}; then
${2:STATEMENTS}
else
${3:STATEMENTS}
fi
endsnippet
snippet foreach "foreach loop"
for ${1:ELEMENT} in ${2:LIST}; do
${3:STATEMENTS}
done
endsnippet
snippet forseq "for sequence"
for ${1:VAR} in $(seq ${2:FROM} ${3:TO}); do
${4:STATEMENTS}
done
endsnippet
snippet while "while loop"
while ${1:TEST}; do
${2:STATEMENTS}
done
endsnippet

View File

@ -1,48 +0,0 @@
global !p
from ultisnips.all import *
endglobal
snippet title "LaTeX title page" b
\documentclass[a4paper]\{${1:article}\}
\title\{${2:TITLE}\}
\author\{${3:`!p snip.rv = getUsername("valeth", True)`}\}
\date\{${4:\today}\}
endsnippet
snippet doc "Document section" b
\begin\{document\}
\maketitle
\pagebreak
$0
\end\{document\}
endsnippet
snippet sec "Section"
\begin\{section\}\{${1:HEADER}\}
$0
\end\{section\}
\pagebreak
endsnippet
snippet ssec "Subsection"
\begin\{subsection\}\{${1:HEADER}\}
$0
\end\{subsection\}
endsnippet
snippet sssec "Sub-subsection" b
\begin\{subsubsection\}\{${1:HEADER}\}
$0
\end\{subsubsection\}
endsnippet

View File

@ -1,3 +0,0 @@
set expandtab
set shiftwidth=2
set softtabstop=2

View File

@ -1,2 +0,0 @@
set expandtab
set shiftwidth=2

View File

@ -1,3 +0,0 @@
set expandtab
set shiftwidth=4
set softtabstop=4

View File

@ -1,8 +0,0 @@
set expandtab
set shiftwidth=4
set softtabstop=4
set shiftround
" Disable haskell-vim omnifunc
let g:haskellmode_completion_ghc = 0
autocmd FileType haskell setlocal omnifunc=necoghc#omnifunc

View File

@ -1,10 +0,0 @@
set readonly
set nomodifiable
set nolist
set nocursorcolumn
set colorcolumn=0
noremap q :q<CR>
noremap <SPACE> <C-D>
noremap b <C-U>
nnoremap K :Man <C-R>=expand(\\\"<cword>\\\")<CR><CR>

View File

@ -1,2 +0,0 @@
set expandtab
set shiftwidth=4

View File

@ -1,2 +0,0 @@
set expandtab
set shiftwidth=4

View File

@ -1,2 +0,0 @@
set expandtab
set shiftwidth=4

View File

@ -1,5 +0,0 @@
set expandtab
set shiftwidth=4
set foldmethod=indent
set foldnestmax=2
set formatoptions=croql

View File

@ -1,4 +0,0 @@
set expandtab
set shiftwidth=2
set softtabstop=2
set shiftround

View File

@ -1,2 +0,0 @@
set expandtab
set shiftwidth=2

View File

@ -1,4 +0,0 @@
set expandtab
set shiftwidth=4
let g:sh_fold_enabled=1

View File

@ -1,3 +0,0 @@
set noexpandtab
set shiftwidth=4
set tabstop=4

View File

@ -1,3 +0,0 @@
set noexpandtab
set tabstop=4
set shiftwidth=4

View File

@ -1,7 +0,0 @@
set expandtab
set shiftwidth=4
set softtabstop=4
set foldmethod=marker
set foldlevel=0
let g:vimsyn_folding='af'

View File

@ -1,2 +0,0 @@
set expandtab
set shiftwidth=2

38
after/plugin/lsp.lua Normal file
View File

@ -0,0 +1,38 @@
local lsp = require("lsp-zero")
lsp.preset("recommended")
lsp.ensure_installed {
"rust_analyzer"
}
lsp.nvim_workspace()
local cmp = require("cmp")
local cmp_select = { behavior = cmp.SelectBehavior.Select }
lsp.setup_nvim_cmp({
mapping = lsp.defaults.cmp_mappings({
["<C-p>"] = cmp.mapping.select_prev_item(cmp_select),
["<C-n>"] = cmp.mapping.select_next_item(cmp_select),
["<C-Space>"] = cmp.mapping.complete(),
})
})
lsp.on_attach(function(client, buffnr)
lsp.default_keymaps({ buffer = buffnr })
vim.keymap.set("n", "<Leader>fmt", function()
vim.lsp.buf.format({ async = false, timeout_ms = 5000 })
end)
end)
-- NOTE: Format on save does not support async formatting
lsp.format_on_save({
servers = {
["rust_analyzer"] = {"rust"}
}
})
lsp.setup()

View File

@ -0,0 +1,34 @@
local telescope = require("telescope")
local actions = require("telescope.actions")
telescope.setup {
pickers = {
buffers = {
mappings = {
i = {
["<C-d>"] = actions.delete_buffer + actions.move_to_top,
},
n = {
["dd"] = actions.delete_buffer,
}
}
},
}
}
local telescope_builtin = require("telescope.builtin")
vim.keymap.set("n", "<Leader>ff", telescope_builtin.find_files)
vim.keymap.set("n", "<Leader>fb", telescope_builtin.buffers)
vim.keymap.set("n", "<Leader>fgc", telescope_builtin.git_commits)
vim.keymap.set("n", "<Leader>fgs", telescope_builtin.git_status)
vim.keymap.set("n", "<Leader>fgd", telescope_builtin.git_stash)
local telescope_ext = require("telescope").extensions
local harpoon_mark = require("harpoon.mark")
local harpoon_ui = require("harpoon.ui")
vim.keymap.set("n", "<Leader>fh", telescope_ext.harpoon.marks)
vim.keymap.set("n", "<Leader>am", harpoon_mark.add_file)
vim.keymap.set("n", "<Leader>gn", harpoon_ui.nav_next)
vim.keymap.set("n", "<Leader>gp", harpoon_ui.nav_prev)

View File

@ -0,0 +1,10 @@
require("nvim-treesitter.configs").setup {
ensure_installed = { "rust", "lua", "javascript" },
auto_install = true,
highlight = {
enable = true,
additional_vim_regex_highlighting = false,
},
}

View File

@ -1,25 +0,0 @@
function! myfold#text()
" get actual numberwidth of the current document
let nw_add = (len(line('$')) - (&numberwidth - 1))
if nw_add > 0
let nw = &numberwidth + nw_add
else
let nw = &numberwidth
endif
let numfold_w =(nw * &number) + &foldcolumn
let window_w = winwidth(0) - numfold_w
let onetab = strpart(' ', 0, &tabstop)
let foldtxt_start = getline(v:foldstart) . ' …'
let foldtxt_start = substitute(foldtxt_start, '\t', onetab, 'g')
let foldtxt_start_w = len(foldtxt_start) - 2
let foldtxt_end = '+' . string(foldclosedend(v:foldend) - foldclosed(v:foldstart)) . '  '
let foldtxt_end_w = len(foldtxt_end)
let foldtxt_mid_w = window_w - (foldtxt_start_w + foldtxt_end_w)
let foldtxt_mid = repeat(' ', foldtxt_mid_w + 2)
return foldtxt_start . foldtxt_mid . foldtxt_end
endfunction

File diff suppressed because it is too large Load Diff

View File

@ -1,20 +0,0 @@
" Vim color file
hi clear Normal
set bg&
hi clear
hi CursorLine cterm=NONE
hi SignColumn ctermbg=NONE
hi FoldColumn ctermbg=NONE
if exists("syntax_on")
syntax reset
endif
let colors_name = "better-default"
" vim: sw=2

View File

@ -1,276 +0,0 @@
" 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=#BCBCBC guibg=#3B3A32
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

@ -1,78 +0,0 @@
" " _____ _ ___ ___ ___ "
" " | __|___ ___ _ _| |_ | _| _| "
" " |__ | -_| . | | | | _|_ | . | "
" " |_____|___|___|___|_|___|___|___|-light.vim "
"
" " Low-contrast light Vim color scheme using Seoul Colors "
"
" File: seoul256-light.vim
" URL: github.com/junegunn/seoul256.vim
" Author: Junegunn Choi (junegunn.c@gmail.com)
" Version: 1.4.0
" Last Updated: July 6, 2014
" License: MIT
"
" Copyright (c) 2013 Junegunn Choi
"
" MIT License
"
" Permission is hereby granted, free of charge, to any person obtaining
" a copy of this software and associated documentation files (the
" "Software"), to deal in the Software without restriction, including
" without limitation the rights to use, copy, modify, merge, publish,
" distribute, sublicense, and/or sell copies of the Software, and to
" permit persons to whom the Software is furnished to do so, subject to
" the following conditions:
"
" The above copyright notice and this permission notice shall be
" included in all copies or substantial portions of the Software.
"
" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
" NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
" LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
" OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
" WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
let s:master = get(split(globpath(&rtp, 'colors/seoul256.vim'), '\n'), 0, '')
let s:custom_bg = get(g:, 'seoul256_light_background', get(g:, 'seoul256_background', 253))
let s:light = s:custom_bg >= 252 && s:custom_bg <= 256
let s:var_found = exists('g:seoul256_background')
let s:light_var_found = exists('g:seoul256_light_background')
if !empty(s:master)
try
" Backup current g:seoul256_background
if s:var_found
let s:backup = g:seoul256_background
endif
" Invalid range. Force the default light version.
if !s:light && s:var_found
unlet g:seoul256_background
endif
" g:seoul256_light_background is found, use it
if s:light && s:light_var_found
let g:seoul256_background = s:custom_bg
endif
if get(g:, 'colors_name', '') == 'seoul256-light' && &background == 'dark'
set background=dark
else
set background=light
endif
let g:colors_name = 'seoul256'
execute 'silent source' fnameescape(s:master)
let g:colors_name = &background == 'dark' ? 'seoul256' : 'seoul256-light'
finally
" Revert g:seoul256_background
if s:var_found
let g:seoul256_background = s:backup
endif
endtry
else
echom 'seoul256.vim not found'
endif

View File

@ -1,425 +0,0 @@
" " _____ _ ___ ___ ___ "
" " | __|___ ___ _ _| |_ | _| _| "
" " |__ | -_| . | | | | _|_ | . | "
" " |_____|___|___|___|_|___|___|___|.vim "
"
" " Low-contrast dark Vim color scheme using Seoul Colors "
"
" File: seoul256.vim
" URL: github.com/junegunn/seoul256.vim
" Author: Junegunn Choi (junegunn.c@gmail.com)
" Version: 1.5.3
" Last Updated: Aug 4, 2014
" License: MIT
"
" Copyright (c) 2013 Junegunn Choi
"
" MIT License
"
" Permission is hereby granted, free of charge, to any person obtaining
" a copy of this software and associated documentation files (the
" "Software"), to deal in the Software without restriction, including
" without limitation the rights to use, copy, modify, merge, publish,
" distribute, sublicense, and/or sell copies of the Software, and to
" permit persons to whom the Software is furnished to do so, subject to
" the following conditions:
"
" The above copyright notice and this permission notice shall be
" included in all copies or substantial portions of the Software.
"
" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
" NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
" LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
" OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
" WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
if !exists('s:rgb_map')
if get(g:, 'seoul256_srgb', 0)
let s:rgb_map =
\{ 16: '#000000', 17: '#00005f', 18: '#000087',
\ 19: '#0000af', 20: '#0000d7', 21: '#0000ff',
\ 22: '#005f00', 23: '#005f5f', 24: '#005f87',
\ 25: '#005faf', 26: '#005fd7', 27: '#005fff',
\ 28: '#008700', 29: '#00875f', 30: '#008787',
\ 31: '#0087af', 32: '#0087d7', 33: '#0087ff',
\ 34: '#00af00', 35: '#00af5f', 36: '#00af87',
\ 37: '#00afaf', 38: '#00afd7', 39: '#00afff',
\ 40: '#00d700', 41: '#00d75f', 42: '#00d787',
\ 43: '#00d7af', 44: '#00d7d7', 45: '#00d7ff',
\ 46: '#00ff00', 47: '#00ff5f', 48: '#00ff87',
\ 49: '#00ffaf', 50: '#00ffd7', 51: '#00ffff',
\ 52: '#5f0000', 53: '#5f005f', 54: '#5f0087',
\ 55: '#5f00af', 56: '#5f00d7', 57: '#5f00ff',
\ 58: '#5f5f00', 59: '#5f5f5f', 60: '#5f5f87',
\ 61: '#5f5faf', 62: '#5f5fd7', 63: '#5f5fff',
\ 64: '#5f8700', 65: '#5f875f', 66: '#5f8787',
\ 67: '#5f87af', 68: '#5f87d7', 69: '#5f87ff',
\ 70: '#5faf00', 71: '#5faf5f', 72: '#5faf87',
\ 73: '#5fafaf', 74: '#5fafd7', 75: '#5fafff',
\ 76: '#5fd700', 77: '#5fd75f', 78: '#5fd787',
\ 79: '#5fd7af', 80: '#5fd7d7', 81: '#5fd7ff',
\ 82: '#5fff00', 83: '#5fff5f', 84: '#5fff87',
\ 85: '#5fffaf', 86: '#5fffd7', 87: '#5fffff',
\ 88: '#870000', 89: '#87005f', 90: '#870087',
\ 91: '#8700af', 92: '#8700d7', 93: '#8700ff',
\ 94: '#875f00', 95: '#875f5f', 96: '#875f87',
\ 97: '#875faf', 98: '#875fd7', 99: '#875fff',
\ 100: '#878700', 101: '#87875f', 102: '#878787',
\ 103: '#8787af', 104: '#8787d7', 105: '#8787ff',
\ 106: '#87af00', 107: '#87af5f', 108: '#87af87',
\ 109: '#87afaf', 110: '#87afd7', 111: '#87afff',
\ 112: '#87d700', 113: '#87d75f', 114: '#87d787',
\ 115: '#87d7af', 116: '#87d7d7', 117: '#87d7ff',
\ 118: '#87ff00', 119: '#87ff5f', 120: '#87ff87',
\ 121: '#87ffaf', 122: '#87ffd7', 123: '#87ffff',
\ 124: '#af0000', 125: '#af005f', 126: '#af0087',
\ 127: '#af00af', 128: '#af00d7', 129: '#af00ff',
\ 130: '#af5f00', 131: '#af5f5f', 132: '#af5f87',
\ 133: '#af5faf', 134: '#af5fd7', 135: '#af5fff',
\ 136: '#af8700', 137: '#af875f', 138: '#af8787',
\ 139: '#af87af', 140: '#af87d7', 141: '#af87ff',
\ 142: '#afaf00', 143: '#afaf5f', 144: '#afaf87',
\ 145: '#afafaf', 146: '#afafd7', 147: '#afafff',
\ 148: '#afd700', 149: '#afd75f', 150: '#afd787',
\ 151: '#afd7af', 152: '#afd7d7', 153: '#afd7ff',
\ 154: '#afff00', 155: '#afff5f', 156: '#afff87',
\ 157: '#afffaf', 158: '#afffd7', 159: '#afffff',
\ 160: '#d70000', 161: '#d7005f', 162: '#d70087',
\ 163: '#d700af', 164: '#d700d7', 165: '#d700ff',
\ 166: '#d75f00', 167: '#d75f5f', 168: '#d75f87',
\ 169: '#d75faf', 170: '#d75fd7', 171: '#d75fff',
\ 172: '#d78700', 173: '#d7875f', 174: '#d78787',
\ 175: '#d787af', 176: '#d787d7', 177: '#d787ff',
\ 178: '#d7af00', 179: '#d7af5f', 180: '#d7af87',
\ 181: '#d7afaf', 182: '#d7afd7', 183: '#d7afff',
\ 184: '#d7d700', 185: '#d7d75f', 186: '#d7d787',
\ 187: '#d7d7af', 188: '#d7d7d7', 189: '#d7d7ff',
\ 190: '#d7ff00', 191: '#d7ff5f', 192: '#d7ff87',
\ 193: '#d7ffaf', 194: '#d7ffd7', 195: '#d7ffff',
\ 196: '#ff0000', 197: '#ff005f', 198: '#ff0087',
\ 199: '#ff00af', 200: '#ff00d7', 201: '#ff00ff',
\ 202: '#ff5f00', 203: '#ff5f5f', 204: '#ff5f87',
\ 205: '#ff5faf', 206: '#ff5fd7', 207: '#ff5fff',
\ 208: '#ff8700', 209: '#ff875f', 210: '#ff8787',
\ 211: '#ff87af', 212: '#ff87d7', 213: '#ff87ff',
\ 214: '#ffaf00', 215: '#ffaf5f', 216: '#ffaf87',
\ 217: '#ffafaf', 218: '#ffafd7', 219: '#ffafff',
\ 220: '#ffd700', 221: '#ffd75f', 222: '#ffd787',
\ 223: '#ffd7af', 224: '#ffd7d7', 225: '#ffd7ff',
\ 226: '#ffff00', 227: '#ffff5f', 228: '#ffff87',
\ 229: '#ffffaf', 230: '#ffffd7', 231: '#ffffff',
\ 232: '#080808', 233: '#121212', 234: '#1c1c1c',
\ 235: '#262626', 236: '#303030', 237: '#3a3a3a',
\ 238: '#444444', 239: '#4e4e4e', 240: '#585858',
\ 241: '#626262', 242: '#6c6c6c', 243: '#767676',
\ 244: '#808080', 245: '#8a8a8a', 246: '#949494',
\ 247: '#9e9e9e', 248: '#a8a8a8', 249: '#b2b2b2',
\ 250: '#bcbcbc', 251: '#c6c6c6', 252: '#d0d0d0',
\ 253: '#dadada', 254: '#e4e4e4', 255: '#eeeeee' }
else
let s:rgb_map =
\{ 22: '#006F00', 23: '#007173', 24: '#007299', 25: '#0074BE', 30: '#009799',
\ 31: '#0099BD', 38: '#00BDDF', 52: '#730B00', 58: '#727100', 59: '#727272',
\ 65: '#719872', 66: '#719899', 67: '#7299BC', 68: '#719CDF', 73: '#6FBCBD',
\ 74: '#70BDDF', 88: '#9B1300', 89: '#9B1D72', 94: '#9A7200', 95: '#9A7372',
\ 96: '#9A7599', 101: '#999872', 103: '#999ABD', 108: '#98BC99', 109: '#98BCBD',
\ 110: '#98BEDE', 116: '#97DDDF', 125: '#BF2172', 131: '#BE7572', 137: '#BE9873',
\ 143: '#BDBB72', 144: '#BDBC98', 145: '#BDBDBD', 151: '#BCDDBD', 152: '#BCDEDE',
\ 153: '#BCE0FF', 161: '#E12672', 168: '#E17899', 173: '#E19972', 174: '#E09B99',
\ 179: '#DFBC72', 181: '#E0BEBC', 184: '#DEDC00', 186: '#DEDD99', 187: '#DFDEBD',
\ 189: '#DFDFFF', 216: '#FFBD98', 217: '#FFBFBD', 218: '#FFC0DE', 220: '#FFDD00',
\ 222: '#FFDE99', 224: '#FFDFDF', 230: '#FFFFDF', 231: '#FFFFFF', 232: '#060606',
\ 233: '#171717', 234: '#252525', 235: '#333233', 236: '#3F3F3F', 237: '#4B4B4B',
\ 238: '#565656', 239: '#616161', 240: '#6B6B6B', 241: '#757575', 249: '#BFBFBF',
\ 250: '#C8C8C8', 251: '#D1D0D1', 252: '#D9D9D9', 253: '#E1E1E1', 254: '#E9E9E9',
\ 255: '#F1F1F1' }
endif
endif
let s:background = &background
let s:colors_name = get(g:, 'colors_name', '')
silent! unlet s:style s:seoul256_background
" 1. If g:seoul256_background is found
if exists('g:seoul256_background')
let s:seoul256_background = g:seoul256_background
if s:seoul256_background >= 233 && s:seoul256_background <= 239
let s:style = 'dark'
elseif s:seoul256_background >= 252 && s:seoul256_background <= 256
let s:style = 'light'
else
unlet s:seoul256_background
endif
endif
if !exists('s:style')
" 2. If g:colors_name is NOT 'seoul256' -> dark version
if s:colors_name != 'seoul256'
let s:style = 'dark'
" 3. Follow &background setting
else
let s:style = &background
endif
endif
let s:style_idx = s:style == 'light'
" Background colors
if s:style == 'dark'
let s:dark_bg = get(s:, 'seoul256_background', 237)
let s:light_bg = 253
else
let s:dark_bg = 237
let s:light_bg = get(s:, 'seoul256_background', 253)
endif
let s:dark_bg_2 = s:dark_bg > 233 ? s:dark_bg - 2 : 16
let s:light_bg_1 = min([s:light_bg + 1, 256])
let s:light_bg_2 = min([s:light_bg + 2, 256])
" Foreground colors
let s:dark_fg = 252
let s:light_fg = 239
function! s:hi(item, fg, bg)
let fg = a:fg[s:style_idx] > 255 ? 231 : a:fg[s:style_idx]
let bg = a:bg[s:style_idx] > 255 ? 231 : a:bg[s:style_idx]
if !empty(fg)
execute printf("highlight %s ctermfg=%s guifg=%s", a:item, fg, get(s:rgb_map, fg, 'NONE'))
endif
if !empty(bg)
execute printf("highlight %s ctermbg=%s guibg=%s", a:item, bg, get(s:rgb_map, bg, 'NONE'))
endif
endfunction
let s:gui = has('gui_running')
if !s:gui
set t_Co=256
end
silent! unlet g:colors_name
hi clear
if exists("syntax_on")
syntax reset
endif
call s:hi('Normal', [s:dark_fg, s:light_fg], [s:dark_bg, s:light_bg])
call s:hi('LineNr', [101, 101], [s:dark_bg + 1, s:light_bg - 2])
call s:hi('Visual', ['', ''], [23, 152])
call s:hi('VisualNOS', ['', ''], [23, 152])
call s:hi('Comment', [65, 65], ['', ''])
call s:hi('Number', [222, 95], ['', ''])
call s:hi('Float', [222, 95], ['', ''])
call s:hi('Boolean', [103, 168], ['', ''])
call s:hi('String', [109, 30], ['', ''])
call s:hi('Constant', [73, 23], ['', ''])
call s:hi('Character', [174, 168], ['', ''])
call s:hi('Delimiter', [137, 94], ['', ''])
call s:hi('StringDelimiter', [137, 94], ['', ''])
call s:hi('Statement', [108, 66], ['', ''])
" case, default, etc.
" hi Label ctermfg=
" if else end
call s:hi('Conditional', [110, 31], ['', ''])
" while end
call s:hi('Repeat', [68, 67], ['', ''])
call s:hi('Todo', [161, 125], [s:dark_bg_2, s:light_bg_2])
call s:hi('Function', [187, 58], ['', ''])
" Macros
call s:hi('Define', [173, 131], ['', ''])
call s:hi('Macro', [173, 131], ['', ''])
call s:hi('Include', [173, 131], ['', ''])
call s:hi('PreCondit', [173, 131], ['', ''])
" #!
call s:hi('PreProc', [143, 58], ['', ''])
" @abc
call s:hi('Identifier', [217, 96], ['', ''])
" AAA Abc
call s:hi('Type', [179, 94], ['', ''])
" + - * / <<
call s:hi('Operator', [186, 131], ['', ''])
" super yield
call s:hi('Keyword', [168, 168], ['', ''])
" raise
call s:hi('Exception', [161, 161], ['', ''])
"
" hi StorageClass ctermfg=
call s:hi('Structure', [116, 23], ['', ''])
" hi Typedef ctermfg=
call s:hi('Error', [s:dark_fg, s:light_bg_1], [52, 174])
call s:hi('ErrorMsg', [s:dark_fg, s:light_bg_1], [52, 168])
call s:hi('Underlined', [181, 168], ['', ''])
" set textwidth=80
" set colorcolumn=+1
call s:hi('ColorColumn', ['', ''], [s:dark_bg - 1, s:light_bg - 2])
" GVIM only
" hi Cursor ctermfg=
" hi CursorIM ctermfg=
" set cursorline cursorcolumn
call s:hi('CursorLine', ['', ''], [s:dark_bg - 1, s:light_bg - 1])
call s:hi('CursorLineNr', [131, 131], [s:dark_bg - 1, s:light_bg - 1])
call s:hi('CursorColumn', ['', ''], [s:dark_bg - 1, s:light_bg - 1])
call s:hi('Directory', [187, 95], ['', ''])
call s:hi('DiffAdd', ['NONE', 'NONE'], [22, 151])
call s:hi('DiffDelete', ['NONE', 'NONE'], [95, 181])
call s:hi('DiffChange', ['NONE', 'NONE'], [s:dark_bg + 3, 189])
call s:hi('DiffText', ['NONE', 'NONE'], [52, 224])
call s:hi('VertSplit', [s:dark_bg_2, s:light_bg - 3], [s:dark_bg_2, s:light_bg - 3])
call s:hi('Folded', [101, 101], [s:dark_bg + 1, s:light_bg - 2])
" set foldcolumn=1
call s:hi('FoldColumn', [144, 94], [s:dark_bg + 1, s:light_bg - 2])
call s:hi('MatchParen', ['', ''], [s:dark_bg + 3, s:light_bg - 3])
" -- INSERT --
call s:hi('ModeMsg', [173, 173], ['', ''])
" let &showbreak = '> '
call s:hi('NonText', [101, 101], ['', ''])
call s:hi('MoreMsg', [173, 173], ['', ''])
" Popup menu
call s:hi('Pmenu', [s:dark_bg + 1, 238], [224, 224])
call s:hi('PmenuSel', [s:dark_fg, s:dark_fg], [89, 89])
call s:hi('PmenuSbar', ['', ''], [65, 65])
call s:hi('PmenuThumb', ['', ''], [23, 23])
call s:hi('Search', [s:dark_fg, 255], [24, 74])
call s:hi('IncSearch', [220, 220], [s:dark_bg + 1, 238])
" String delimiter, interpolation
call s:hi('Special', [216, 173], ['', ''])
" hi SpecialChar ctermfg=
" hi SpecialComment ctermfg=
" hi Tag ctermfg=
" hi Debug ctermfg=
" :map, listchars
call s:hi('SpecialKey', [59, 145], ['', ''])
if !s:gui
" Red / Blue / Cyan / Magenta
if s:style_idx == 0
hi SpellBad ctermbg=NONE cterm=underline ctermfg=168
hi SpellCap ctermbg=NONE cterm=underline ctermfg=110
hi SpellLocal ctermbg=NONE cterm=underline ctermfg=153
hi SpellRare ctermbg=NONE cterm=underline ctermfg=218
else
hi SpellBad ctermbg=NONE cterm=underline ctermfg=125
hi SpellCap ctermbg=NONE cterm=underline ctermfg=25
hi SpellLocal ctermbg=NONE cterm=underline ctermfg=31
hi SpellRare ctermbg=NONE cterm=underline ctermfg=96
endif
else
if s:style_idx == 0
execute 'hi SpellBad gui=undercurl guisp=' . s:rgb_map[168]
execute 'hi SpellCap gui=undercurl guisp=' . s:rgb_map[110]
execute 'hi SpellLocal gui=undercurl guisp=' . s:rgb_map[153]
execute 'hi SpellRare gui=undercurl guisp=' . s:rgb_map[218]
else
execute 'hi SpellBad gui=undercurl guisp=' . s:rgb_map[125]
execute 'hi SpellCap gui=undercurl guisp=' . s:rgb_map[25]
execute 'hi SpellLocal gui=undercurl guisp=' . s:rgb_map[31]
execute 'hi SpellRare gui=undercurl guisp=' . s:rgb_map[96]
endif
endif
"
call s:hi('StatusLine', [95, 95], [187, 187])
call s:hi('StatusLineNC', [s:dark_bg + 2, s:light_bg - 2], [187, 238])
call s:hi('TabLineFill', [s:dark_bg + 2, s:light_bg - 2], ['', ''])
call s:hi('TabLineSel', [187, 187], [23, 66])
call s:hi('TabLine', [s:dark_bg + 12, s:light_bg - 12], [s:dark_bg + 4, s:light_bg - 4])
call s:hi('WildMenu', [95, 95], [184, 184])
" :set all
call s:hi('Title', [181, 88], ['', ''])
" TODO
call s:hi('Question', [179, 88], ['', ''])
" Search hit bottom
call s:hi('WarningMsg', [179, 88], ['', ''])
" Sign column
call s:hi('SignColumn', [173, 173], [s:dark_bg, s:light_bg])
" Diff
call s:hi('diffAdded', [108, 65], ['', ''])
call s:hi('diffRemoved', [174, 131], ['', ''])
hi link diffLine Constant
call s:hi('Conceal', [s:dark_fg + 2, s:light_fg - 2], [s:dark_bg - 1, s:light_bg + 2])
call s:hi('Ignore', [s:dark_bg + 3, s:light_bg - 3], [s:dark_bg, s:light_bg])
"""""""""""""""""""""""""""""""""""""""""""""""""
" Plugins
"""""""""""""""""""""""""""""""""""""""""""""""""
" vim-indent-guides
" -----------------
let g:indent_guides_auto_colors = 0
call s:hi('IndentGuidesOdd', ['', ''], [s:dark_bg - 1, s:light_bg + 1])
call s:hi('IndentGuidesEven', ['', ''], [s:dark_bg + 1, s:light_bg - 1])
" vim-gitgutter
" -------------
call s:hi('GitGutterAdd', [108, 65], [s:dark_bg + 1, s:light_bg - 2])
call s:hi('GitGutterChange', [68, 68], [s:dark_bg + 1, s:light_bg - 2])
call s:hi('GitGutterDelete', [161, 161], [s:dark_bg + 1, s:light_bg -2 ])
call s:hi('GitGutterChangeDelete', [168, 168], [s:dark_bg + 1, s:light_bg - 2])
" http://vim.wikia.com/wiki/Highlight_unwanted_spaces
" ---------------------------------------------------^^^^^
call s:hi('ExtraWhitespace', ['', ''], [s:dark_bg - 1, s:light_bg - 2])
" vim-ruby
" --------
" " rubySymbol
let ruby_operators = 1
call s:hi('rubyClass', [31, 31], ['', ''])
" call s:hi('rubyInstanceVariable', [189, 189], ['', ''])
call s:hi('rubyRegexp', [186, 101], ['', ''])
call s:hi('rubyRegexpDelimiter', [168, 168], ['', ''])
call s:hi('rubyArrayDelimiter', [67, 38], ['', ''])
call s:hi('rubyBlockParameterList', [186, 94], ['', ''])
call s:hi('rubyCurlyBlockDelimiter', [144, 101], ['', ''])
" ARGV $stdout
call s:hi('rubyPredefinedIdentifier', [230, 52], ['', ''])
" hi rubyRegexpSpecial
hi CursorLine cterm=NONE
hi CursorLineNr cterm=NONE
let g:seoul256_current_fg = [s:dark_fg, s:light_fg][s:style_idx]
let g:seoul256_current_bg = [s:dark_bg, s:light_bg][s:style_idx]
let g:colors_name = 'seoul256'
if s:colors_name != g:colors_name || s:background == s:style
let &background = s:style
else
let &background = s:background
endif

View File

@ -1,216 +0,0 @@
" ██████ ██████ ██ ██ ██████ █████ █████ ██████ █████ ██████
" ██░░░░ ██░░░░██░██ ░██░░██░░████░░░██ ██░░░██░░██░░████░░░██░░██░░██
" ░░█████ ░██ ░██░██ ░██ ░██ ░░░██ ░░ ░███████ ░██ ░░░███████ ░██ ░░
" ░░░░░██░██ ░██░██ ░██ ░██ ░██ ██░██░░░░ ░██ ░██░░░░ ░██
" ██████ ░░██████ ░░██████░███ ░░█████ ░░██████░███ ░░██████░███
" ░░░░░░ ░░░░░░ ░░░░░░ ░░░ ░░░░░ ░░░░░░ ░░░ ░░░░░░ ░░░
" r e a d c o d e l i k e a w i z a r d
"
" sourcerer by xero harrison (http://sourcerer.xero.nu)
" ├─ based on sorcerer by Jeet Sukumaran (http://jeetworks.org)
" └─ based on mustang by Henrique C. Alves (hcarvalhoalves@gmail.com)
set background=dark
hi clear
if exists("syntax_on")
syntax reset
endif
let colors_name = "sourcerer"
" █▓▒░ GUI colors
hi Normal guifg=#c2c2b0 guibg=#222222 gui=NONE
hi ColorColumn guifg=NONE guibg=#1c1c1c
hi Cursor guifg=NONE guibg=#626262 gui=NONE
hi CursorColumn guibg=#2d2d2d
hi CursorLine guibg=#2d2d2d
hi DiffAdd guifg=#000000 guibg=#3cb371 gui=NONE
hi DiffDelete guifg=#000000 guibg=#aa4450 gui=NONE
hi DiffChange guifg=#000000 guibg=#4f94cd gui=NONE
hi DiffText guifg=#000000 guibg=#8ee5ee gui=NONE
hi Directory guifg=#1e90ff guibg=NONE gui=NONE
hi ErrorMsg guifg=#ff6a6a guibg=NONE gui=bold
hi FoldColumn guifg=#68838b guibg=#4B4B4B gui=bold
hi Folded guifg=#406060 guibg=#232c2c gui=NONE
hi IncSearch guifg=#ffffff guibg=#ff4500 gui=bold
hi LineNr guifg=#878787 guibg=#3A3A3A gui=NONE
hi MatchParen guifg=#fff000 guibg=NONE gui=bold
hi ModeMsg guifg=#afafaf guibg=#222222 gui=bold
hi MoreMsg guifg=#2e8b57 guibg=NONE gui=bold
hi NonText guifg=#404050 guibg=NONE gui=NONE
" completions
hi Pmenu guifg=#A8A8A8 guibg=#3A3A3A
hi PmenuSel guifg=#000000 guibg=#528B8B
hi PmenuSbar guifg=#000000 guibg=#528B8B
hi PmenuThumb guifg=#000000 guibg=#528B8B
hi Question guifg=#00ee00 guibg=NONE gui=bold
hi Search guifg=#000000 guibg=#d6e770 gui=bold
hi SignColumn guifg=#ffffff guibg=NONE gui=NONE
hi SpecialKey guifg=#505060 guibg=NONE gui=NONE
hi SpellBad guisp=#ee2c2c gui=undercurl
hi SpellCap guisp=#0000ff gui=undercurl
hi SpellLocal guisp=#008b8b gui=undercurl
hi SpellRare guisp=#ff00ff gui=undercurl
hi StatusLine guifg=#000000 guibg=#808070 gui=bold
hi StatusLineNC guifg=#000000 guibg=#404c4c gui=italic
hi VertSplit guifg=#404c4c guibg=#404c4c gui=NONE
hi TabLine guifg=fg guibg=#d3d3d3 gui=underline
hi TabLineFill guifg=fg guibg=NONE gui=reverse
hi TabLineSel guifg=fg guibg=NONE gui=bold
hi Title guifg=#528b8b guibg=NONE gui=bold
hi Visual guifg=#000000 guibg=#6688aa gui=NONE
hi WarningMsg guifg=#ee9a00 guibg=NONE gui=NONE
hi WildMenu guifg=#000000 guibg=#87ceeb gui=NONE
hi ExtraWhitespace guifg=fg guibg=#528b8b gui=NONE
" syntax highlighting
hi Comment guifg=#686858 gui=italic
hi Boolean guifg=#ff9800 gui=NONE
hi String guifg=#779b70 gui=NONE
hi Identifier guifg=#9ebac2 gui=NONE
hi Function guifg=#faf4c6 gui=NONE
hi Type guifg=#7e8aa2 gui=NONE
hi Statement guifg=#90b0d1 gui=NONE
hi Keyword guifg=#90b0d1 gui=NONE
hi Constant guifg=#ff9800 gui=NONE
hi Number guifg=#cc8800 gui=NONE
hi Special guifg=#719611 gui=NONE
hi PreProc guifg=#528b8b gui=NONE
hi Todo guifg=#8f6f8f guibg=#202020 gui=italic,underline,bold
" diff
hi diffOldFile guifg=#88afcb guibg=NONE gui=italic
hi diffNewFile guifg=#88afcb guibg=NONE gui=italic
hi diffFile guifg=#88afcb guibg=NONE gui=italic
hi diffLine guifg=#88afcb guibg=NONE gui=italic
hi link diffSubname diffLine
hi diffAdded guifg=#3cb371 guibg=NONE gui=NONE
hi diffRemoved guifg=#aa4450 guibg=NONE gui=NONE
hi diffChanged guifg=#4f94cd guibg=NONE gui=NONE
hi link diffOnly Constant
hi link diffIdentical Constant
hi link diffDiffer Constant
hi link diffBDiffer Constant
hi link diffIsA Constant
hi link diffNoEOL Constant
hi link diffCommon Constant
hi link diffComment Constant
" python
hi pythonException guifg=#90b0d1 guibg=NONE gui=NONE
hi pythonExClass guifg=#996666 guibg=NONE gui=NONE
hi pythonDecorator guifg=#888555 guibg=NONE gui=NONE
hi link pythonDecoratorFunction pythonDecorator
" █▓▒░ 256 colors
hi Normal cterm=NONE ctermbg=NONE ctermfg=145
hi ColorColumn cterm=NONE ctermbg=16 ctermfg=NONE
hi Cursor cterm=NONE ctermbg=241 ctermfg=fg
hi CursorColumn cterm=NONE ctermbg=16 ctermfg=fg
hi CursorLine cterm=NONE ctermbg=236 ctermfg=fg
hi DiffAdd cterm=NONE ctermbg=71 ctermfg=16
hi DiffDelete cterm=NONE ctermbg=124 ctermfg=16
hi DiffChange cterm=NONE ctermbg=68 ctermfg=16
hi DiffText cterm=NONE ctermbg=117 ctermfg=16
hi Directory cterm=NONE ctermbg=234 ctermfg=33
hi ErrorMsg cterm=bold ctermbg=NONE ctermfg=203
hi FoldColumn cterm=bold ctermbg=239 ctermfg=66
hi Folded cterm=NONE ctermbg=16 ctermfg=60
hi IncSearch cterm=bold ctermbg=202 ctermfg=231
hi LineNr cterm=NONE ctermbg=237 ctermfg=102
hi MatchParen cterm=bold ctermbg=NONE ctermfg=226
hi ModeMsg cterm=bold ctermbg=NONE ctermfg=145
hi MoreMsg cterm=bold ctermbg=234 ctermfg=29
hi NonText cterm=NONE ctermbg=NONE ctermfg=59
hi Pmenu cterm=NONE ctermbg=238 ctermfg=231
hi PmenuSbar cterm=NONE ctermbg=250 ctermfg=fg
hi PmenuSel cterm=NONE ctermbg=149 ctermfg=16
hi Question cterm=bold ctermbg=NONE ctermfg=46
hi Search cterm=bold ctermbg=185 ctermfg=16
hi SignColumn cterm=NONE ctermbg=NONE ctermfg=231
hi SpecialKey cterm=NONE ctermbg=NONE ctermfg=59
hi SpellBad cterm=undercurl ctermbg=NONE ctermfg=196
hi SpellCap cterm=undercurl ctermbg=NONE ctermfg=21
hi SpellLocal cterm=undercurl ctermbg=NONE ctermfg=30
hi SpellRare cterm=undercurl ctermbg=NONE ctermfg=201
hi StatusLine cterm=bold ctermbg=101 ctermfg=16
hi StatusLineNC cterm=NONE ctermbg=102 ctermfg=16
hi VertSplit cterm=NONE ctermbg=102 ctermfg=102
hi TabLine cterm=bold ctermbg=102 ctermfg=16
hi TabLineFill cterm=NONE ctermbg=102 ctermfg=16
hi TabLineSel cterm=bold ctermbg=16 ctermfg=59
hi Title cterm=bold ctermbg=NONE ctermfg=66
hi Visual cterm=NONE ctermbg=67 ctermfg=16
hi WarningMsg cterm=NONE ctermbg=234 ctermfg=208
hi WildMenu cterm=NONE ctermbg=116 ctermfg=16
hi ExtraWhitespace cterm=NONE ctermbg=66 ctermfg=fg
hi Comment cterm=NONE ctermbg=NONE ctermfg=59
hi Boolean cterm=NONE ctermbg=NONE ctermfg=208
hi String cterm=NONE ctermbg=NONE ctermfg=101
hi Identifier cterm=NONE ctermbg=NONE ctermfg=145
hi Function cterm=NONE ctermbg=NONE ctermfg=230
hi Type cterm=NONE ctermbg=NONE ctermfg=103
hi Statement cterm=NONE ctermbg=NONE ctermfg=110
hi Keyword cterm=NONE ctermbg=NONE ctermfg=110
hi Constant cterm=NONE ctermbg=NONE ctermfg=208
hi Number cterm=NONE ctermbg=NONE ctermfg=172
hi Special cterm=NONE ctermbg=NONE ctermfg=64
hi PreProc cterm=NONE ctermbg=NONE ctermfg=66
hi Todo cterm=bold,underline ctermbg=234 ctermfg=96
hi diffOldFile cterm=NONE ctermbg=NONE ctermfg=67
hi diffNewFile cterm=NONE ctermbg=NONE ctermfg=67
hi diffFile cterm=NONE ctermbg=NONE ctermfg=67
hi diffLine cterm=NONE ctermbg=NONE ctermfg=67
hi diffAdded cterm=NONE ctermfg=NONE ctermfg=71
hi diffRemoved cterm=NONE ctermfg=NONE ctermfg=124
hi diffChanged cterm=NONE ctermfg=NONE ctermfg=68
hi link diffSubname diffLine
hi link diffOnly Constant
hi link diffIdentical Constant
hi link diffDiffer Constant
hi link diffBDiffer Constant
hi link diffIsA Constant
hi link diffNoEOL Constant
hi link diffCommon Constant
hi link diffComment Constant
hi pythonClass cterm=NONE ctermbg=NONE ctermfg=fg
hi pythonDecorator cterm=NONE ctermbg=NONE ctermfg=101
hi pythonExClass cterm=NONE ctermbg=NONE ctermfg=95
hi pythonException cterm=NONE ctermbg=NONE ctermfg=110
hi pythonFunc cterm=NONE ctermbg=NONE ctermfg=fg
hi pythonFuncParams cterm=NONE ctermbg=NONE ctermfg=fg
hi pythonKeyword cterm=NONE ctermbg=NONE ctermfg=fg
hi pythonParam cterm=NONE ctermbg=NONE ctermfg=fg
hi pythonRawEscape cterm=NONE ctermbg=NONE ctermfg=fg
hi pythonSuperclasses cterm=NONE ctermbg=NONE ctermfg=fg
hi pythonSync cterm=NONE ctermbg=NONE ctermfg=fg
hi Conceal cterm=NONE ctermbg=248 ctermfg=252
hi Error cterm=NONE ctermbg=196 ctermfg=231
hi Ignore cterm=NONE ctermbg=NONE ctermfg=234
hi InsertModeCursorLine cterm=NONE ctermbg=16 ctermfg=fg
hi NormalModeCursorLine cterm=NONE ctermbg=235 ctermfg=fg
hi PmenuThumb cterm=reverse ctermbg=NONE ctermfg=fg
hi StatusLineAlert cterm=NONE ctermbg=160 ctermfg=231
hi StatusLineUnalert cterm=NONE ctermbg=238 ctermfg=144
hi Test cterm=NONE ctermbg=NONE ctermfg=fg
hi Underlined cterm=underline ctermbg=NONE ctermfg=111
hi VisualNOS cterm=bold,underline ctermbg=NONE ctermfg=fg
hi cCursor cterm=reverse ctermbg=NONE ctermfg=fg
hi iCursor cterm=NONE ctermbg=210 ctermfg=16
hi lCursor cterm=NONE ctermbg=145 ctermfg=234
hi nCursor cterm=NONE ctermbg=NONE ctermfg=145
hi vCursor cterm=NONE ctermbg=201 ctermfg=16
hi Pmenu cterm=NONE ctermfg=248 ctermbg=237
hi PmenuSel cterm=NONE ctermfg=16 ctermbg=66
hi PmenuSbar cterm=NONE ctermfg=16 ctermbg=66
hi PmenuThumb cterm=NONE ctermfg=16 ctermbg=66

View File

@ -1 +0,0 @@
au BufRead,BufNewFile *.h set filetype=c

2
init.lua Normal file
View File

@ -0,0 +1,2 @@
require("valeth")
require("valeth.packer")

View File

@ -1,93 +0,0 @@
" Maintainer: Patrick Auernig <dev.patrick.auernig@gmail.com>
" VIM Version: NVIM v0.2.2
" Source: https://gitlab.com/valeth/vim-config
" Mirror: https://github.com/valeth/vim-config
let g:vim_config_home = split(&rtp, ',')[0]
" SETTINGS {{{
set autowriteall
set backupdir-=.
set breakindent
set breakindentopt=sbr
set clipboard+=unnamed,unnamedplus
set completeopt=longest,menuone,preview
set confirm
set foldcolumn=0
set foldlevel=99
set foldmethod=syntax
set foldtext=myfold#text()
set gdefault
set grepprg=grep\ -nH\ $*
set hidden
set ignorecase
set listchars=tab:»\ ,trail:◆,extends:,precedes:,eol:↲,nbsp
set matchtime=3
set mouse=a
set noshowmode
set noswapfile
set notimeout
set nowrap
set number
set ruler
set scrolloff=3
set showmatch
set showbreak=
set shortmess=aoOtTI
set sidescrolloff=5
set smartcase
set smartindent
set splitbelow
set splitright
set synmaxcol=300
set timeoutlen=50
set ttimeout
set undofile
set virtualedit+=block
set visualbell t_vb=
set wildignore+=.git
set wildignore+=*.bak,*.old,*.swp,*~
set wildignore+=*.o,*.hi
set wildignore+=*.pyc,*.class
set wildignore+=*.pdf,*.aux
set wildignore+=*.png,*.jpg
set wildmode=list:longest,full
" }}}
let $NVIM_TUI_ENABLE_CURSOR_SHAPE=1
call plug#begin(expand("$XDG_DATA_HOME/nvim/plugins"))
runtime! plugins.vim
call plug#end()
runtime! keymaps.vim
augroup ToggleLineNumbers
au!
au VimEnter,WinEnter,InsertLeave * setlocal relativenumber
au WinLeave,InsertEnter * setlocal norelativenumber
augroup END
augroup CursorHighlight
au!
au VimEnter,WinEnter,BufWinEnter * setlocal cursorline
au WinLeave * setlocal nocursorline
au VimEnter,WinEnter,BufWinEnter * setlocal colorcolumn=+3
au WinLeave * setlocal colorcolumn=0
augroup END
" save automatically
autocmd FocusLost * :silent! wa
" keep splits equal on terminal resize
autocmd VimResized * :wincmd =
set termguicolors
colorscheme molokai
let g:airline_theme = 'dark'
" colorscheme breezy
" let g:airline_theme='breezy'
call matchadd('ColorColumn', '\%81v', 100)

View File

@ -1,96 +0,0 @@
let g:mapleader = ","
let g:maplocalleader = "\\"
" Commands>
command! Wq wq
command! WQ wq
command! Q q
command! W w
" Plugins
nnoremap <C-b> :CtrlPBuffer<CR>
inoremap <C-b> <C-o>:CtrlPBuffer<CR>
nnoremap <C-p> :CtrlP<CR>
inoremap <C-p> <C-o>:CtrlP<CR>
nnoremap <SID> <Plug>Tex_Help
inoremap <SID> <Plug>Tex_Help
nnoremap <SID> <Plug>IMAP_JumpForward
vnoremap <SID> <Plug>IMAP_JumpForward
noremap <silent><Leader>nt :NERDTreeToggle<CR>
vnoremap <silent><Leader>nt <ESC>:NERDTreeToggle<CR>
nnoremap <Leader>syn :SyntasticToggleMode<CR>
vnoremap <Leader>syn <ESC>:SyntasticToggleMode<CR>
nnoremap <silent><Leader>tag :TagbarToggle<CR>
vnoremap <silent><Leader>tag <ESC>:TagbarToggle<CR>
nnoremap <silent><M-h> :TmuxNavigateLeft<CR>
nnoremap <silent><M-j> :TmuxNavigateDown<CR>
nnoremap <silent><M-k> :TmuxNavigateUp<CR>
nnoremap <silent><M-l> :TmuxNavigateRight<CR>
nnoremap <silent><M-\> :TmuxNavigatePrevious<CR>
" Disabled
nnoremap <F1> <NOP>
inoremap <F1> <NOP>
nnoremap <C-R> <NOP>
noremap <Left> <NOP>
noremap <Right> <NOP>
noremap <Up> <NOP>
noremap <Down> <NOP>
noremap ^ <NOP>
noremap $ <NOP>
" Other
noremap <silent><Leader><CR> :noh<CR>
nnoremap U :redo<CR>
nnoremap <Leader>vl :setlocal cursorline!<CR>
nnoremap <Leader>vc :setlocal cursorcolumn!<CR>
nnoremap <Leader>ve :setlocal colorcolumn=81<CR>
nnoremap <Leader>vn :setlocal colorcolumn=0<CR>
nnoremap <Leader>tcs :call ToggleColorscheme()<CR>
nnoremap Y y$
nnoremap j gj
nnoremap k gk
nnoremap <Leader>fmt gg=G<CR>``
nnoremap gr gd[{V%::s/<C-R>///g<Left><Left>
nnoremap gR gD:%s/<C-R>///g<Left><Left>
nnoremap th :tabfirst<CR>
nnoremap tj :tabnext<CR>
nnoremap tk :tabprev<CR>
nnoremap tl :tablast<CR>
nnoremap tn :tabnew<CR>
nnoremap tq :tabclose<CR>
nnoremap H ^
nnoremap L $
vnoremap L g_
inoremap <C-a> <ESC>I
inoremap <C-e> <ESC>A
cnoremap <C-a> <HOME>
cnoremap <C-e> <END>
noremap j gj
noremap k gk
noremap gj j
noremap gk k
nnoremap gC `.
nnoremap n nzzzv
nnoremap N Nzzzv
nnoremap g; g;zz
nnoremap g, g,zz
nnoremap <C-o> <C-o>zz
nnoremap <silent><leader>il :set invlist<CR>
vnoremap <silent><leader>il :<C-w>set invlist<CR>
inoremap <C-s> <C-o>:w<CR>
nnoremap <C-s> :w<CR>
vnoremap <C-s> :w<CR>
nnoremap / /\v
vnoremap / /\v
inoremap jk <ESC>
inoremap jK <ESC>
inoremap Jk <ESC>
inoremap JK <ESC>
vnoremap < <gv
vnoremap > >gv
cnoremap w! w !sudo tee % >/dev/null
tnoremap <ESC> <C-\><C-n>
tnoremap <Leader><ESC> <ESC>
noremap <C-c> <ESC>:Commentary<CR>
vnoremap <C-c> :Commentary<CR>

25
lua/valeth/init.lua Normal file
View File

@ -0,0 +1,25 @@
vim.opt.number = true
vim.opt.expandtab = true
vim.opt.shiftwidth = 4
vim.opt.smartindent = true
vim.opt.wrap = false
vim.opt.incsearch = true
vim.opt.termguicolors = true
vim.opt.scrolloff = 8
vim.opt.signcolumn = "yes"
vim.opt.colorcolumn = "100"
vim.g.mapleader = ","
vim.keymap.set("n", "<Leader><CR>", "<cmd>noh<CR>")
vim.keymap.set("n", "U", "<cmd>redo<CR>")
vim.keymap.set("n", "Y", "y$")
vim.keymap.set("n", "j", "gj")
vim.keymap.set("n", "k", "gk")
vim.keymap.set({"n", "v"}, "H", "^")
vim.keymap.set({"n", "v"}, "L", "$")
vim.keymap.set({"n", "v", "i"}, "<C-s>", "<cmd>w<CR>")
vim.keymap.set({"n", "v"}, "<F1>", "<NOP>")
vim.keymap.set("n", "s", "<NOP>")

89
lua/valeth/packer.lua Normal file
View File

@ -0,0 +1,89 @@
return require("packer").startup(function(use)
use "wbthomason/packer.nvim"
use {
"nvim-treesitter/nvim-treesitter",
run = function()
require("nvim-treesitter.install").update({ with_sync = true })()
end
}
use "wakatime/vim-wakatime"
---- LSP Stuff
use {
"VonHeikemen/lsp-zero.nvim",
branch = "v2.x",
requires = {
{"neovim/nvim-lspconfig"},
{"hrsh7th/nvim-cmp"},
{"hrsh7th/cmp-nvim-lsp"},
{"hrsh7th/cmp-path"},
{"williamboman/mason.nvim"},
{"williamboman/mason-lspconfig.nvim"},
}
}
use "mhartington/formatter.nvim"
---- Just Visual Stuff
use {
"CantoroMC/ayu-nvim",
config = function()
vim.cmd("colorscheme ayu")
end
}
use "nvim-tree/nvim-web-devicons"
use {
"lewis6991/gitsigns.nvim",
config = function()
require("gitsigns").setup()
end
}
---- Shortcuts
use {
"numToStr/Comment.nvim",
config = function()
require("Comment").setup()
end
}
use {
"windwp/nvim-autopairs",
config = function()
require("nvim-autopairs").setup()
end
}
---- Navigation
use {
"nvim-telescope/telescope.nvim",
tag = "0.1.1",
requires = {
{"nvim-lua/plenary.nvim"},
{"nvim-treesitter/nvim-treesitter"},
},
config = function()
require("telescope").load_extension("harpoon")
end
}
use {
"ThePrimeagen/harpoon",
requires = {
{"nvim-lua/plenary.nvim"},
}
}
end)

209
plugin/packer_compiled.lua Normal file
View File

@ -0,0 +1,209 @@
-- Automatically generated packer.nvim plugin loader code
if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then
vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"')
return
end
vim.api.nvim_command('packadd packer.nvim')
local no_errors, error_msg = pcall(function()
_G._packer = _G._packer or {}
_G._packer.inside_compile = true
local time
local profile_info
local should_profile = false
if should_profile then
local hrtime = vim.loop.hrtime
profile_info = {}
time = function(chunk, start)
if start then
profile_info[chunk] = hrtime()
else
profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6
end
end
else
time = function(chunk, start) end
end
local function save_profiles(threshold)
local sorted_times = {}
for chunk_name, time_taken in pairs(profile_info) do
sorted_times[#sorted_times + 1] = {chunk_name, time_taken}
end
table.sort(sorted_times, function(a, b) return a[2] > b[2] end)
local results = {}
for i, elem in ipairs(sorted_times) do
if not threshold or threshold and elem[2] > threshold then
results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms'
end
end
if threshold then
table.insert(results, '(Only showing plugins that took longer than ' .. threshold .. ' ms ' .. 'to load)')
end
_G._packer.profile_output = results
end
time([[Luarocks path setup]], true)
local package_path_str = "/home/valeth/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/valeth/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/valeth/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/valeth/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua"
local install_cpath_pattern = "/home/valeth/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/lua/5.1/?.so"
if not string.find(package.path, package_path_str, 1, true) then
package.path = package.path .. ';' .. package_path_str
end
if not string.find(package.cpath, install_cpath_pattern, 1, true) then
package.cpath = package.cpath .. ';' .. install_cpath_pattern
end
time([[Luarocks path setup]], false)
time([[try_loadstring definition]], true)
local function try_loadstring(s, component, name)
local success, result = pcall(loadstring(s), name, _G.packer_plugins[name])
if not success then
vim.schedule(function()
vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {})
end)
end
return result
end
time([[try_loadstring definition]], false)
time([[Defining packer_plugins]], true)
_G.packer_plugins = {
["Comment.nvim"] = {
config = { "\27LJ\2\n5\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\fComment\frequire\0" },
loaded = true,
path = "/home/valeth/.local/share/nvim/site/pack/packer/start/Comment.nvim",
url = "https://github.com/numToStr/Comment.nvim"
},
["ayu-nvim"] = {
config = { "\27LJ\2\n3\0\0\3\0\3\0\0056\0\0\0009\0\1\0'\2\2\0B\0\2\1K\0\1\0\20colorscheme ayu\bcmd\bvim\0" },
loaded = true,
path = "/home/valeth/.local/share/nvim/site/pack/packer/start/ayu-nvim",
url = "https://github.com/CantoroMC/ayu-nvim"
},
["cmp-nvim-lsp"] = {
loaded = true,
path = "/home/valeth/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp",
url = "https://github.com/hrsh7th/cmp-nvim-lsp"
},
["cmp-path"] = {
loaded = true,
path = "/home/valeth/.local/share/nvim/site/pack/packer/start/cmp-path",
url = "https://github.com/hrsh7th/cmp-path"
},
["formatter.nvim"] = {
loaded = true,
path = "/home/valeth/.local/share/nvim/site/pack/packer/start/formatter.nvim",
url = "https://github.com/mhartington/formatter.nvim"
},
["gitsigns.nvim"] = {
config = { "\27LJ\2\n6\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\rgitsigns\frequire\0" },
loaded = true,
path = "/home/valeth/.local/share/nvim/site/pack/packer/start/gitsigns.nvim",
url = "https://github.com/lewis6991/gitsigns.nvim"
},
harpoon = {
loaded = true,
path = "/home/valeth/.local/share/nvim/site/pack/packer/start/harpoon",
url = "https://github.com/ThePrimeagen/harpoon"
},
["lsp-zero.nvim"] = {
loaded = true,
path = "/home/valeth/.local/share/nvim/site/pack/packer/start/lsp-zero.nvim",
url = "https://github.com/VonHeikemen/lsp-zero.nvim"
},
["mason-lspconfig.nvim"] = {
loaded = true,
path = "/home/valeth/.local/share/nvim/site/pack/packer/start/mason-lspconfig.nvim",
url = "https://github.com/williamboman/mason-lspconfig.nvim"
},
["mason.nvim"] = {
loaded = true,
path = "/home/valeth/.local/share/nvim/site/pack/packer/start/mason.nvim",
url = "https://github.com/williamboman/mason.nvim"
},
["nvim-autopairs"] = {
config = { "\27LJ\2\n<\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\19nvim-autopairs\frequire\0" },
loaded = true,
path = "/home/valeth/.local/share/nvim/site/pack/packer/start/nvim-autopairs",
url = "https://github.com/windwp/nvim-autopairs"
},
["nvim-cmp"] = {
loaded = true,
path = "/home/valeth/.local/share/nvim/site/pack/packer/start/nvim-cmp",
url = "https://github.com/hrsh7th/nvim-cmp"
},
["nvim-lspconfig"] = {
loaded = true,
path = "/home/valeth/.local/share/nvim/site/pack/packer/start/nvim-lspconfig",
url = "https://github.com/neovim/nvim-lspconfig"
},
["nvim-treesitter"] = {
loaded = true,
path = "/home/valeth/.local/share/nvim/site/pack/packer/start/nvim-treesitter",
url = "https://github.com/nvim-treesitter/nvim-treesitter"
},
["nvim-web-devicons"] = {
loaded = true,
path = "/home/valeth/.local/share/nvim/site/pack/packer/start/nvim-web-devicons",
url = "https://github.com/nvim-tree/nvim-web-devicons"
},
["packer.nvim"] = {
loaded = true,
path = "/home/valeth/.local/share/nvim/site/pack/packer/start/packer.nvim",
url = "https://github.com/wbthomason/packer.nvim"
},
["plenary.nvim"] = {
loaded = true,
path = "/home/valeth/.local/share/nvim/site/pack/packer/start/plenary.nvim",
url = "https://github.com/nvim-lua/plenary.nvim"
},
["telescope.nvim"] = {
loaded = true,
path = "/home/valeth/.local/share/nvim/site/pack/packer/start/telescope.nvim",
url = "https://github.com/nvim-telescope/telescope.nvim"
},
["vim-wakatime"] = {
loaded = true,
path = "/home/valeth/.local/share/nvim/site/pack/packer/start/vim-wakatime",
url = "https://github.com/wakatime/vim-wakatime"
}
}
time([[Defining packer_plugins]], false)
-- Config for: ayu-nvim
time([[Config for ayu-nvim]], true)
try_loadstring("\27LJ\2\n3\0\0\3\0\3\0\0056\0\0\0009\0\1\0'\2\2\0B\0\2\1K\0\1\0\20colorscheme ayu\bcmd\bvim\0", "config", "ayu-nvim")
time([[Config for ayu-nvim]], false)
-- Config for: gitsigns.nvim
time([[Config for gitsigns.nvim]], true)
try_loadstring("\27LJ\2\n6\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\rgitsigns\frequire\0", "config", "gitsigns.nvim")
time([[Config for gitsigns.nvim]], false)
-- Config for: nvim-autopairs
time([[Config for nvim-autopairs]], true)
try_loadstring("\27LJ\2\n<\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\19nvim-autopairs\frequire\0", "config", "nvim-autopairs")
time([[Config for nvim-autopairs]], false)
-- Config for: Comment.nvim
time([[Config for Comment.nvim]], true)
try_loadstring("\27LJ\2\n5\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\fComment\frequire\0", "config", "Comment.nvim")
time([[Config for Comment.nvim]], false)
_G._packer.inside_compile = false
if _G._packer.needs_bufread == true then
vim.cmd("doautocmd BufRead")
end
_G._packer.needs_bufread = false
if should_profile then save_profiles() end
end)
if not no_errors then
error_msg = error_msg:gsub('"', '\\"')
vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None')
end

View File

@ -1,71 +0,0 @@
Plug 'airblade/vim-gitgutter'
Plug 'bling/vim-airline'
Plug 'cohama/lexima.vim'
Plug 'ctrlpvim/ctrlp.vim'
Plug 'christoomey/vim-tmux-navigator'
Plug 'dag/vim-fish', { 'for': 'fish' }
Plug 'editorconfig/editorconfig-vim'
Plug 'hallison/vim-rdoc', { 'for': 'ruby' }
Plug 'Konfekt/FastFold'
Plug 'Matt-Deacalion/vim-systemd-syntax', { 'for': 'systemd' }
Plug 'majutsushi/tagbar'
Plug 'ngmy/vim-rubocop', { 'for': 'ruby' }
Plug 'rust-lang/rust.vim', { 'for': 'rust' }
Plug 'sheerun/vim-polyglot'
Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' }
Plug 'tpope/vim-commentary'
Plug 'valeth/breezy', { 'branch': 'swap-bg-color' }
Plug 'vim-ruby/vim-ruby', { 'for': 'ruby' }
Plug 'vim-pandoc/vim-pandoc', { 'for': ['markdown'] }
Plug 'vim-pandoc/vim-pandoc-syntax', { 'for': ['markdown'] }
Plug 'w0rp/ale'
Plug 'wakatime/vim-wakatime'
Plug 'Xuyuanp/nerdtree-git-plugin', { 'on': 'NERDTreeToggle' }
Plug 'Yggdroot/indentLine', { 'for': 'python' }
" # Configuration
" ## vim-airline {{{
let g:airline#extensions#tabline#enabled = 1
let g:airline_theme = 'dark'
let g:airline_powerline_fonts = 1
" }}}
" ## indentLine {{{
let g:indentLine_char = '┆'
""" }}}
" ## vim-tmux-navigator {{{
let g:tmux_navigator_no_mappings = 1
" }}}
" ## nerdtree {{{
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
autocmd bufenter * if exists("b:NERDTree") | setlocal nonumber norelativenumber | endif
let g:NERDTreeDirArrowExpandable = '▸'
let g:NERDTreeDirArrowCollapsible = '▾'
let g:NERDTreeIndicatorMapCustom = {
\ "Modified" : "✹",
\ "Staged" : "✚",
\ "Untracked" : "✭",
\ "Renamed" : "➜",
\ "Unmerged" : "═",
\ "Deleted" : "✖",
\ "Dirty" : "✗",
\ "Clean" : "✔︎",
\ "Ignored" : "☒",
\ "Unknown" : "?"
\ }
" }}}
" ## vim-pandoc {{{
let g:pandoc#syntax#conceal#use = 0
let g:pandoc#folding#fdc = &fdc
let g:pandoc#spell#enabled = 0
" }}}
" ## deoplete + LanguageClient {{{
Plug 'autozimu/LanguageClient-neovim', { 'do': 'bash install.sh' }
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
let g:deoplete#enable_at_startup = 1
" }}}

View File

@ -1,32 +0,0 @@
import subprocess
import re
import hashlib
import binascii
def getUsername(username, gecos = True, passwd = "/etc/passwd"):
content = [x.split(":") for x in open(passwd, "r").readlines()]
for entry in content:
if len(entry) != 0 and entry[0] == username:
if gecos and len(entry[4]) != 0:
return entry[4]
else:
return username
def getWPAPassphraseHash(ssid, passphrase):
if len(passphrase) >= 8:
proc = subprocess.Popen(["wpa_passphrase", ssid, passphrase], stdout=subprocess.PIPE)
proc.wait()
for line in proc.stdout.readlines():
match = re.match("^\s*psk.*$", line.decode("utf-8"))
if match:
return match.string.split("=")[1].strip()
return ""
def getEAPPassphraseHash(passphrase):
hash = hashlib.new("md4", passphrase.encode("utf-16le")).digest()
return binascii.hexlify(hash).decode("utf-8")
if __name__ == "__main__":
print(getWPAPassphraseHash("MySSID", "MySecurePassword"))

View File

@ -1,29 +0,0 @@
def returnval(rtype, fname):
if rtype == "void":
return ""
if fname == "main":
return "EXIT_SUCCESS"
ret = {
"int": "0",
"float": "0.0",
"double": "0.0",
"bool": "false"
}
if rtype in ret.keys():
return ret[rtype]
else:
return "NULL"
def getNoteCandidates(t):
options = ["TODO", "FIXME", "XXX"]
if t:
options = [ x[len(t):] for x in options if x.startswith(t) ]
if len(options) == 1:
return options[0]
return "[" + ",".join(options) + "]"

View File

@ -1,251 +0,0 @@
" Vim syntax file
" Language: MIPS
" Maintainer: Alex Brick <alex@alexrbrick.com>
" Last Change: 2007 Oct 18
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
setlocal iskeyword+=-
syntax case match
syntax match mipsComment /#.*/
syntax match mipsNumber /\<[-]\?\d\+\>/ " Decimal numbers
syntax match mipsNumber /\<-\?0\(x\|X\)[0-9a-fA-F]\+\>/ " Hex numbers
syntax region mipsString start=/"/ skip=/\\"/ end=/"/
syntax match mipsLabelColon /:/ contained
syntax match mipsLabel /\w\+:/ contains=mipsLabelColon
" Registers
syntax match mipsRegister "\$zero"
syntax match mipsRegister "\$v0"
syntax match mipsRegister "\$v1"
syntax match mipsRegister "\$a0"
syntax match mipsRegister "\$a1"
syntax match mipsRegister "\$a2"
syntax match mipsRegister "\$a3"
syntax match mipsRegister "\$t0"
syntax match mipsRegister "\$t1"
syntax match mipsRegister "\$t2"
syntax match mipsRegister "\$t3"
syntax match mipsRegister "\$t4"
syntax match mipsRegister "\$t5"
syntax match mipsRegister "\$t6"
syntax match mipsRegister "\$t7"
syntax match mipsRegister "\$t8"
syntax match mipsRegister "\$t9"
syntax match mipsRegister "\$s0"
syntax match mipsRegister "\$s1"
syntax match mipsRegister "\$s2"
syntax match mipsRegister "\$s3"
syntax match mipsRegister "\$s4"
syntax match mipsRegister "\$s5"
syntax match mipsRegister "\$s6"
syntax match mipsRegister "\$s7"
syntax match mipsRegister "\$k0"
syntax match mipsRegister "\$k1"
syntax match mipsRegister "\$gp"
syntax match mipsRegister "\$sp"
syntax match mipsRegister "\$fp"
syntax match mipsRegister "\$ra"
let i = 0
while i < 32
" This is for the regular registers
execute 'syntax match mipsRegister "\$' . i . '\(\d\+\)\@!"'
" And this is for the FP registers
execute 'syntax match mipsRegister "\$f' . i . '\(\d\+\)\@!"'
let i = i + 1
endwhile
" Directives
syntax match mipsDirective "\.2byte"
syntax match mipsDirective "\.4byte"
syntax match mipsDirective "\.8byte"
syntax match mipsDirective "\.aent"
syntax match mipsDirective "\.align"
syntax match mipsDirective "\.aascii"
syntax match mipsDirective "\.asciiz"
syntax match mipsDirective "\.byte"
syntax match mipsDirective "\.comm"
syntax match mipsDirective "\.cpadd"
syntax match mipsDirective "\.cpload"
syntax match mipsDirective "\.cplocal"
syntax match mipsDirective "\.cprestore"
syntax match mipsDirective "\.cpreturn"
syntax match mipsDirective "\.cpsetup"
syntax match mipsDirective "\.data"
syntax match mipsDirective "\.double"
syntax match mipsDirective "\.dword"
syntax match mipsDirective "\.dynsym"
syntax match mipsDirective "\.end"
syntax match mipsDirective "\.endr"
syntax match mipsDirective "\.ent"
syntax match mipsDirective "\.extern"
syntax match mipsDirective "\.file"
syntax match mipsDirective "\.float"
syntax match mipsDirective "\.fmask"
syntax match mipsDirective "\.frame"
syntax match mipsDirective "\.globl"
syntax match mipsDirective "\.gpvalue"
syntax match mipsDirective "\.gpword"
syntax match mipsDirective "\.half"
syntax match mipsDirective "\.kdata"
syntax match mipsDirective "\.ktext"
syntax match mipsDirective "\.lab"
syntax match mipsDirective "\.lcomm"
syntax match mipsDirective "\.loc"
syntax match mipsDirective "\.mask"
syntax match mipsDirective "\.nada"
syntax match mipsDirective "\.nop"
syntax match mipsDirective "\.option"
syntax match mipsDirective "\.origin"
syntax match mipsDirective "\.repeat"
syntax match mipsDirective "\.rdata"
syntax match mipsDirective "\.sdata"
syntax match mipsDirective "\.section"
syntax match mipsDirective "\.set"
syntax match mipsDirective "\.size"
syntax match mipsDirective "\.space"
syntax match mipsDirective "\.struct"
syntax match mipsDirective "\.text"
syntax match mipsDirective "\.type"
syntax match mipsDirective "\.verstamp"
syntax match mipsDirective "\.weakext"
syntax match mipsDirective "\.word"
" Arithmetic and Logical Instructions
syntax keyword mipsInstruction abs
syntax keyword mipsInstruction add addu addi addiu
syntax keyword mipsInstruction and andi
syntax keyword mipsInstruction clo clz
syntax keyword mipsInstruction div divu
syntax keyword mipsInstruction mult multu mul mulo mulou madd maddu msub msubu
syntax keyword mipsInstruction neg negu
syntax keyword mipsInstruction nor
syntax keyword mipsInstruction not
syntax keyword mipsInstruction or ori
syntax keyword mipsInstruction rem remu
syntax keyword mipsInstruction sll sllv sra srav srl srlv
syntax keyword mipsInstruction rol ror
syntax keyword mipsInstruction sub subu
syntax keyword mipsInstruction xor xori
" Constant-Manipulating Instructions
syntax keyword mipsInstruction lui li
syntax keyword mipsInstruction slt sltu slti sltiu
syntax keyword mipsInstruction seq
syntax keyword mipsInstruction sge sgeu
syntax keyword mipsInstruction sgt sgtu
syntax keyword mipsInstruction sle sleu
syntax keyword mipsInstruction sne
" Branch Instructions
syntax keyword mipsInstruction b
syntax keyword mipsInstruction bc1f bc1t
syntax keyword mipsInstruction beq beqz
syntax keyword mipsInstruction bgez bgezal bgtz
syntax keyword mipsInstruction blez bltzal bltz
syntax keyword mipsInstruction bne bnez
syntax keyword mipsInstruction bge bgeu
syntax keyword mipsInstruction bgt bgtu
syntax keyword mipsInstruction ble bleu
syntax keyword mipsInstruction blt bltu
" Jump Instructions
syntax keyword mipsInstruction j jal jalr jr
" Trap Instructions
syntax keyword mipsInstruction teq teqi
syntax keyword mipsInstruction tne tnei
syntax keyword mipsInstruction tge tgeu tgei tgeiu
syntax keyword mipsInstruction tlt tltu tlti tltiu
" Load Instructions
syntax keyword mipsInstruction la
syntax keyword mipsInstruction lb lbu lh lhu
syntax keyword mipsInstruction lw lwc1 lwl lwr
syntax keyword mipsInstruction ld
syntax keyword mipsInstruction ulh ulhu ulw
syntax keyword mipsInstruction ll
" Store Instructions
syntax keyword mipsInstruction sb sh sw swc1 sdc1 swl swr sd ush usw sc
" Data Movement Instructions
syntax keyword mipsInstruction move
syntax keyword mipsInstruction mfhi mflo
syntax keyword mipsInstruction mthi mtlo
syntax keyword mipsInstruction mfc0 mfc1
syntax match mipsInstruction "mfc1\.d"
syntax keyword mipsInstruction mtc0 mtc1
syntax keyword mipsInstruction movn movz movf movt
" Floating-Point Instructions
syntax match mipsInstruction "abs\.d"
syntax match mipsInstruction "abs\.s"
syntax match mipsInstruction "add\.d"
syntax match mipsInstruction "add\.s"
syntax match mipsInstruction "ceil\.w\.d"
syntax match mipsInstruction "ceil\.w\.s"
syntax match mipsInstruction "c\.eq\.d"
syntax match mipsInstruction "c\.eq\.s"
syntax match mipsInstruction "c\.le\.d"
syntax match mipsInstruction "c\.le\.s"
syntax match mipsInstruction "c\.lt\.d"
syntax match mipsInstruction "c\.lt\.s"
syntax match mipsInstruction "cvt\.d\.s"
syntax match mipsInstruction "cvt\.d\.w"
syntax match mipsInstruction "cvt\.s\.d"
syntax match mipsInstruction "cvt\.s\.w"
syntax match mipsInstruction "cvt\.w\.d"
syntax match mipsInstruction "cvt\.w\.s"
syntax match mipsInstruction "div\.d"
syntax match mipsInstruction "div\.s"
syntax match mipsInstruction "floor\.w\.d"
syntax match mipsInstruction "floor\.w\.s"
syntax match mipsInstruction "l\.d"
syntax match mipsInstruction "l\.s"
syntax match mipsInstruction "mov\.d"
syntax match mipsInstruction "mov\.s"
syntax match mipsInstruction "movf\.d"
syntax match mipsInstruction "movf\.s"
syntax match mipsInstruction "movt\.d"
syntax match mipsInstruction "movt\.s"
syntax match mipsInstruction "movn\.d"
syntax match mipsInstruction "movn\.s"
syntax match mipsInstruction "movz\.d"
syntax match mipsInstruction "movz\.s"
syntax match mipsInstruction "mul\.d"
syntax match mipsInstruction "mul\.s"
syntax match mipsInstruction "neg\.d"
syntax match mipsInstruction "neg\.s"
syntax match mipsInstruction "round\.w\.d"
syntax match mipsInstruction "round\.w\.s"
syntax match mipsInstruction "sqrt\.d"
syntax match mipsInstruction "sqrt\.s"
syntax match mipsInstruction "s\.d"
syntax match mipsInstruction "s\.s"
syntax match mipsInstruction "sub\.d"
syntax match mipsInstruction "sub\.s"
syntax match mipsInstruction "trunc\.w\.d"
syntax match mipsInstruction "trunc\.w\.s"
" Exception and Interrupt Instructions
syntax keyword mipsInstruction eret
syntax keyword mipsInstruction syscall
syntax keyword mipsInstruction break
syntax keyword mipsInstruction nop
hi def link mipsComment Comment
hi def link mipsNumber Number
hi def link mipsString String
hi def link mipsLabel Label
hi def link mipsRegister Identifier
hi def link mipsDirective Type
hi def link mipsInstruction Statement
let b:current_syntax = "mips"

View File

@ -1,277 +0,0 @@
" Filename: systemd.vim
" Purpose: Vim syntax file
" Language: systemd unit files
" Maintainer: Will Woods <wwoods@redhat.com>
" Last Change: Sep 15, 2011
if exists("b:current_syntax") && !exists ("g:syntax_debug")
finish
endif
syn case match
syntax sync fromstart
setlocal iskeyword+=-
" special sequences, common data types, comments, includes {{{1
" hilight errors with this
syn match sdErr contained /\s*\S\+/ nextgroup=sdErr
" environment args and format strings
syn match sdEnvArg contained /\$\i\+\|\${\i\+}/
syn match sdFormatStr contained /%[inpINPfcrRt]/ containedin=ALLBUT,sdComment,sdErr
" common data types
syn match sdUInt contained nextgroup=sdErr /\d\+/
syn match sdInt contained nextgroup=sdErr /-\=\d\+/
syn match sdOctal contained nextgroup=sdErr /0\o\{3,4}/
syn match sdDuration contained nextgroup=sdErr /\d\+/
syn match sdDuration contained nextgroup=sdErr /\%(\d\+\%(s\|min\|h\|d\|w\|ms\|us\)\s*\)\+/
syn match sdDatasize contained nextgroup=sdErr /\d\+[KMGT]/
syn match sdFilename contained nextgroup=sdErr /\/\S*/
syn keyword sdBool contained nextgroup=sdErr 1 yes true on 0 no false off
syn match sdUnitName contained /\S\+\.\(automount\|mount\|swap\|socket\|service\|target\|path\|timer\|device\)\_s/
" .include
syn match sdInclude /^.include/ nextgroup=sdFilename
" comments
syn match sdComment /^[;#].*/ contains=sdTodo containedin=ALL
syn keyword sdTodo contained TODO XXX FIXME NOTE
" [Unit] {{{1
" see systemd.unit(5)
syn region sdUnitBlock matchgroup=sdHeader start=/^\[Unit\]/ end=/^\[/me=e-2 contains=sdUnitKey
syn match sdUnitKey contained /^Description=/
syn match sdUnitKey contained /^Documentation=/ nextgroup=sdDocURI
syn match sdUnitKey contained /^SourcePath=/ nextgroup=sdFilename,sdErr
syn match sdUnitKey contained /^\%(Requires\|RequiresOverridable\|Requisite\|RequisiteOverridable\|Wants\|BindsTo\|PartOf\|Conflicts\|Before\|After\|OnFailure\|Names|PropagatesReloadTo\|ReloadPropagatedFrom\)=/ nextgroup=sdUnitList
syn match sdUnitKey contained /^\%(OnFailureIsolate\|IgnoreOnIsolate\|IgnoreOnSnapshot\|StopWhenUnneeded\|RefuseManualStart\|RefuseManualStop\|AllowIsolate\|DefaultDependencies\)=/ nextgroup=sdBool,sdErr
syn match sdUnitKey contained /^OnFailureJobMode=/ nextgroup=sdFailJobMode,sdErr
syn match sdUnitKey contained /^JobTimeoutSec=/ nextgroup=sdDuration,sdErr
" ConditionXXX. Note that they all have an optional '|' after the '='
syn match sdUnitKey contained /^Condition\(PathExists\|PathExistsGlob\|PathIsDirectory\|PathIsMountPoint\|PathIsReadWrite\|PathIsSymbolicLink\|DirectoryNotEmpty\|FileNotEmpty\|FileIsExecutable\)=|\=!\=/ contains=sdConditionFlag nextgroup=sdFilename,sdErr
syn match sdUnitKey contained /^ConditionVirtualization=|\=!\=/ contains=sdConditionFlag nextgroup=sdVirtType,sdErr
syn match sdUnitKey contained /^ConditionSecurity=|\=!\=/ contains=sdConditionFlag nextgroup=sdSecurityType,sdErr
syn match sdUnitKey contained /^ConditionCapability=|\=!\=/ contains=sdConditionFlag nextgroup=sdAnyCapName,sdErr
syn match sdUnitKey contained /^Condition\%(KernelCommandLine\|Host\)=|\=!\=/ contains=sdConditionFlag
syn match sdUnitKey contained /^Condition\%(ACPower\|Null\)=|\=/ contains=sdConditionFlag nextgroup=sdBool,sdErr
" extra bits
syn match sdUnitList contained /.*/ contains=sdUnitName,sdErr
syn match sdConditionFlag contained /[!|]/
syn keyword sdVirtType contained nextgroup=sdErr vm container qemu kvm vmware microsoft oracle xen bochs chroot openvz lxc lxc-libvirt systemd-nspawn
syn keyword sdSecurityType contained nextgroup=sdErr selinux
syn keyword sdFailJobMode contained nextgroup=sderr fail replace replace-irreversibly
syn match sdDocUri contained /\%(https\=:\/\/\|file:\|info:\|man:\)\S\+\s*/ nextgroup=sdDocUri,sdErr
" [Install] {{{1
" see systemd.unit(5)
syn region sdInstallBlock matchgroup=sdHeader start=/^\[Install\]/ end=/^\[/me=e-2 contains=sdInstallKey
syn match sdInstallKey contained /^\%(WantedBy\|Alias\|Also\)=/ nextgroup=sdUnitList
" Execution options common to [Service|Socket|Mount|Swap] {{{1
" see systemd.exec(5)
syn match sdExecKey contained /^Exec\%(Start\%(Pre\|Post\|\)\|Reload\|Stop\|StopPost\)=/ nextgroup=sdExecFlag,sdExecFile,sdErr
syn match sdExecKey contained /^\%(WorkingDirectory\|RootDirectory\|TTYPath\)=/ nextgroup=sdFilename,sdErr
" TODO: handle some of these better
" CPUAffinity is: list of uint
" BlockIOWeight is: uint\|filename uint
" BlockIO\%(Read\|Write\)Bandwidth is: filename datasize
syn match sdExecKey contained /^\%(User\|Group\|SupplementaryGroups\|CPUAffinity\|SyslogIdentifier\|PAMName\|TCPWrapName\|ControlGroup\|ControlGroupAttribute\|DeviceAllow\|DeviceDeny\|BlockIOWeight\|BlockIO\%(Read\|Write\)Bandwidth\|UtmpIdentifier\)=/
syn match sdExecKey contained /^Limit\%(CPU\|FSIZE\|DATA\|STACK\|CORE\|RSS\|NOFILE\|AS\|NPROC\|MEMLOCK\|LOCKS\|SIGPENDING\|MSGQUEUE\|NICE\|RTPRIO\|RTTIME\)=/ nextgroup=sdRlimit
syn match sdExecKey contained /^\%(CPUSchedulingResetOnFork\|TTYReset\|TTYVHangup\|TTYVTDisallocate\|SyslogLevelPrefix\|ControlGroupModify\|PrivateTmp\|PrivateNetwork\)=/ nextgroup=sdBool,sdErr
syn match sdExecKey contained /^\%(Nice\|OOMScoreAdjust\)=/ nextgroup=sdInt,sdErr
syn match sdExecKey contained /^\%(CPUSchedulingPriority\|TimerSlackNSec\|CPUShares\)=/ nextgroup=sdUInt,sdErr
syn match sdExecKey contained /^\%(MemoryLimit\|MemorySoftLimit\)=/ nextgroup=sdDatasize,sdErr
syn match sdExecKey contained /^\%(ReadWrite\|ReadOnly\|Inaccessible\)Directories=/ nextgroup=sdFileList
syn match sdExecKey contained /^Device\%(Allow\|Deny\)=/ nextgroup=sdDevAllow,sdErr
syn match sdExecKey contained /^CapabilityBoundingSet=/ nextgroup=sdCapNameList
syn match sdExecKey contained /^Capabilities=/ nextgroup=sdCapability,sdErr
syn match sdExecKey contained /^UMask=/ nextgroup=sdOctal,sdErr
syn match sdExecKey contained /^StandardInput=/ nextgroup=sdStdin,sdErr
syn match sdExecKey contained /^Standard\%(Output\|Error\)=/ nextgroup=sdStdout,sdErr
syn match sdExecKey contained /^SecureBits=/ nextgroup=sdSecureBitList
syn match sdExecKey contained /^SyslogFacility=/ nextgroup=sdSyslogFacil,sdErr
syn match sdExecKey contained /^SyslogLevel=/ nextgroup=sdSyslogLevel,sdErr
syn match sdExecKey contained /^IOSchedulingClass=/ nextgroup=sdIOSchedClass,sdErr
syn match sdExecKey contained /^IOSchedulingPriority=/ nextgroup=sdIOSchedPrio,sdErr
syn match sdExecKey contained /^CPUSchedulingPolicy=/ nextgroup=sdCPUSchedPol,sdErr
syn match sdExecKey contained /^MountFlags=/ nextgroup=sdMountFlags,sdErr
syn match sdExecKey contained /^IgnoreSIGPIPE=/ nextgroup=sdBool,sdErr
syn match sdExecKey contained /^Environment=/ nextgroup=sdEnvDefs
syn match sdExecKey contained /^EnvironmentFile=-\=/ contains=sdEnvDashFlag nextgroup=sdFilename,sdErr
syn match sdExecFlag contained /-\=@\=/ nextgroup=sdExecFile,sdErr
syn match sdExecFile contained /\/\S\+/ nextgroup=sdExecArgs
syn match sdExecArgs contained /.*/ contains=sdEnvArg
syn match sdEnvDefs contained /.*/ contains=sdEnvDef
syn match sdEnvDashFlag contained /-/ nextgroup=sdFilename,sdErr
syn match sdEnvDef contained /\i\+=/he=e-1
syn match sdFileList contained /.*/ contains=sdFilename,sdErr
" CAPABILITIES WOOO {{{
syn case ignore
syn match sdCapNameList contained /.*/ contains=sdAnyCapName,sdErr
syn match sdAnyCapName contained /CAP_[A-Z_]\+\s*/ contains=sdCapName
syn keyword sdCapName contained CAP_AUDIT_CONTROL CAP_AUDIT_WRITE CAP_CHOWN CAP_DAC_OVERRIDE CAP_DAC_READ_SEARCH
syn keyword sdCapName contained CAP_FOWNER CAP_FSETID CAP_IPC_LOCK CAP_IPC_OWNER CAP_KILL CAP_LEASE
syn keyword sdCapName contained CAP_LINUX_IMMUTABLE CAP_MAC_ADMIN CAP_MAC_OVERRIDE CAP_MKNOD
syn keyword sdCapName contained CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_BROADCAST CAP_NET_RAW
syn keyword sdCapName contained CAP_SETGID CAP_SETFCAP CAP_SETPCAP CAP_SETUID
syn keyword sdCapName contained CAP_SYS_ADMIN CAP_SYS_BOOT CAP_SYS_CHROOT CAP_SYS_MODULE CAP_SYS_NICE CAP_SYS_PACCT
syn keyword sdCapName contained CAP_SYS_PTRACE CAP_SYS_RAWIO CAP_SYS_RESOURCE CAP_SYS_TIME CAP_SYS_TTY_CONFIG
syn case match
syn cluster sdCap contains=sdCapName,sdCapOps,sdCapFlags
syn match sdCapOps contained /[=+-]/
syn match sdCapFlags contained /\<[eip]\+/
syn match sdCapability contained /\%(\%([A-Za-z_]\+,\=\)*\|all\)\%(=[eip]*\|[+-][eip]\+\)\s*/ contains=@sdCap nextgroup=sdCapability,sdErr
"}}}
syn match sdDevAllow contained /\/\S\+\s\+/ nextgroup=sdDevAllowPerm
syn match sdDevAllowPerm contained /\S\+/ contains=sdDevAllowErr nextgroup=sdErr
syn match sdDevAllowErr contained /[^rwm]\+/
syn keyword sdStdin contained nextgroup=sdErr null tty-force tty-fail socket tty
syn match sdStdout contained nextgroup=sdErr /\%(syslog\|kmsg\|journal\)\%(+console\)\=/
syn keyword sdStdout contained nextgroup=sdErr inherit null tty socket
syn keyword sdSyslogFacil contained nextgroup=sdErr kern user mail daemon auth syslog lpr news uucp cron authpriv ftp
syn match sdSyslogFacil contained nextgroup=sdErr /\<local[0-7]\>/
syn keyword sdSyslogLevel contained nextgroup=sdErr emerg alert crit err warning notice info debug
syn keyword sdIOSchedClass contained nextgroup=sdErr 0 1 2 3 none realtime best-effort idle
syn keyword sdIOSchedPrio contained nextgroup=sdErr 0 1 2 3 4 5 6 7
syn keyword sdCPUSchedPol contained nextgroup=sdErr other batch idle fifo rr
syn keyword sdMountFlags contained nextgroup=sdErr shared slave private
syn match sdRlimit contained nextgroup=sdErr /\<\%(\d\+\|infinity\)\>/
syn keyword sdSecureBits contained nextgroup=sdErr keep-caps keep-caps-locked noroot noroot-locked no-setuid-fixup no-setuid-fixup-locked
" These are also shared by [Service|Socket|Mount|Swap], although they're not
" listed in systemd.exec(5)
syn match sdExecKey contained /^TimeoutSec=/ nextgroup=sdDuration,sdErr
syn match sdExecKey contained /^KillSignal=/ nextgroup=sdSignal,sdOtherSignal,sdErr
syn match sdExecKey contained /^SendSIGKill=/ nextgroup=sdBool,sdErr
syn match sdExecKey contained /^KillMode=/ nextgroup=sdKillMode,sdErr
syn keyword sdSignal contained nextgroup=sdErr SIGHUP SIGINT SIGQUIT SIGKILL SIGTERM SIGUSR1 SIGUSR2
syn match sdOtherSignal contained nextgroup=sdErr /\<\%(\d\+\|SIG[A-Z]\{2,6}\)\>/
syn match sdKillMode contained nextgroup=sdErr /\%(control-group\|process\|none\)/
" [Service] {{{1
syn region sdServiceBlock matchgroup=sdHeader start=/^\[Service\]/ end=/^\[/me=e-2 contains=sdServiceKey,sdExecKey
syn match sdServiceKey contained /^BusName=/
syn match sdServiceKey contained /^\%(RemainAfterExit\|GuessMainPID\|PermissionsStartOnly\|RootDirectoryStartOnly\|NonBlocking\|ControlGroupModify\)=/ nextgroup=sdBool,sdErr
syn match sdServiceKey contained /^\%(SysVStartPriority\|FsckPassNo\)=/ nextgroup=sdUInt,sdErr
syn match sdServiceKey contained /^\%(Restart\|Timeout\)Sec=/ nextgroup=sdDuration,sdErr
syn match sdServiceKey contained /^Sockets=/ nextgroup=sdUnitList
syn match sdServiceKey contained /^PIDFile=/ nextgroup=sdFilename,sdErr
syn match sdServiceKey contained /^Type=/ nextgroup=sdServiceType,sdErr
syn match sdServiceKey contained /^Restart=/ nextgroup=sdRestartType,sdErr
syn match sdServiceKey contained /^NotifyAccess=/ nextgroup=sdNotifyType,sdErr
syn keyword sdServiceType contained nextgroup=sdErr simple forking dbus oneshot notify idle
syn keyword sdRestartType contained nextgroup=sdErr no on-success on-failure on-abort always
syn keyword sdNotifyType contained nextgroup=sdErr none main all
" [Socket] {{{1
syn region sdSocketBlock matchgroup=sdHeader start=/^\[Socket\]/ end=/^\[/me=e-2 contains=sdSocketKey,sdExecKey
syn match sdSocketKey contained /^Listen\%(Stream\|Datagram\|SequentialPacket\|FIFO\|Special\|Netlink\|MessageQueue\)=/
syn match sdSocketKey contained /^Listen\%(FIFO\|Special\)=/ nextgroup=sdFilename,sdErr
syn match sdSocketKey contained /^\%(Socket\|Directory\)Mode=/ nextgroup=sdOctal,sdErr
syn match sdSocketKey contained /^\%(Backlog\|MaxConnections\|Priority\|ReceiveBuffer\|SendBuffer\|IPTTL\|Mark\|PipeSize\|MessageQueueMaxMessages\|MessageQueueMessageSize\)=/ nextgroup=sdUInt,sdErr
syn match sdSocketKey contained /^\%(Accept\|KeepAlive\|FreeBind\|Transparent\|Broadcast\)=/ nextgroup=sdBool,sdErr
syn match sdSocketKey contained /^BindToDevice=/
syn match sdSocketKey contained /^Service=/ nextgroup=sdUnitList
syn match sdSocketKey contained /^BindIPv6Only=/ nextgroup=sdBindIPv6,sdErr
syn match sdSocketKey contained /^IPTOS=/ nextgroup=sdIPTOS,sdUInt,sdErr
syn match sdSocketKey contained /^TCPCongestion=/ nextgroup=sdTCPCongest
syn keyword sdBindIPv6 contained nextgroup=sdErr default both ipv6-only
syn keyword sdIPTOS contained nextgroup=sdErr low-delay throughput reliability low-cost
syn keyword sdTCPCongest contained nextgroup=sdErr westwood veno cubic lp
" [Timer|Automount|Mount|Swap|Path] {{{1
" [Timer]
syn region sdTimerBlock matchgroup=sdHeader start=/^\[Timer\]/ end=/^\[/me=e-2 contains=sdTimerKey
syn match sdTimerKey contained /^On\%(Active\|Boot\|Startup\|UnitActive\|UnitInactive\)Sec=/ nextgroup=sdDuration,sdErr
syn match sdTimerKey contained /^Unit=/ nextgroup=sdUnitList
" [Automount]
syn region sdAutoMountBlock matchgroup=sdHeader start=/^\[Automount\]/ end=/^\[/me=e-2 contains=sdAutomountKey
syn match sdAutomountKey contained /^Where=/ nextgroup=sdFilename,sdErr
syn match sdAutomountKey contained /^DirectoryMode=/ nextgroup=sdOctal,sdErr
" [Mount]
syn region sdMountBlock matchgroup=sdHeader start=/^\[Mount\]/ end=/^\[/me=e-2 contains=sdMountKey,sdAutomountKey,sdExecKey
syn match sdMountKey contained /^\%(What\|Type\|Options\)=/
" [Swap]
syn region sdSwapBlock matchgroup=sdHeader start=/^\[Swap\]/ end=/^\[/me=e-2 contains=sdSwapKey,sdExecKey
syn match sdSwapKey contained /^What=/ nextgroup=sdFilename,sdErr
syn match sdSwapKey contained /^Priority=/ nextgroup=sdUInt,sdErr
" [Path]
syn region sdPathBlock matchgroup=sdHeader start=/^\[Path\]/ end=/^\[/me=e-2 contains=sdPathKey
syn match sdPathKey contained /^\%(PathExists\|PathExistsGlob\|PathChanged\|DirectoryNotEmpty\)=/ nextgroup=sdFilename,sdErr
syn match sdPathKey contained /^MakeDirectory=/ nextgroup=sdBool,sdErr
syn match sdPathKey contained /^DirectoryMode=/ nextgroup=sdOctal,sdErr
syn match sdPathKey contained /^Unit=/ nextgroup=sdUnitList
" Coloring definitions {{{1
hi def link sdComment Comment
hi def link sdTodo Todo
hi def link sdInclude PreProc
hi def link sdHeader Type
hi def link sdEnvArg PreProc
hi def link sdFormatStr Special
hi def link sdErr Error
hi def link sdEnvDef Identifier
hi def link sdUnitName PreProc
hi def link sdKey Statement
hi def link sdValue Constant
hi def link sdSymbol Special
" Coloring links: keys {{{1
" It'd be nice if this worked..
"hi def link sd.\+Key sdKey
hi def link sdUnitKey sdKey
hi def link sdInstallKey sdKey
hi def link sdExecKey sdKey
hi def link sdSocketKey sdKey
hi def link sdServiceKey sdKey
hi def link sdServiceCommonKey sdKey
hi def link sdTimerKey sdKey
hi def link sdMountKey sdKey
hi def link sdAutomountKey sdKey
hi def link sdSwapKey sdKey
hi def link sdPathKey sdKey
" Coloring links: constant values {{{1
hi def link sdInt sdValue
hi def link sdUInt sdValue
hi def link sdBool sdValue
hi def link sdOctal sdValue
hi def link sdDuration sdValue
hi def link sdVirtType sdValue
hi def link sdServiceType sdValue
hi def link sdNotifyType sdValue
hi def link sdSecurityType sdValue
hi def link sdSecureBits sdValue
hi def link sdMountFlags sdValue
hi def link sdKillMode sdValue
hi def link sdFailJobMode sdValue
hi def link sdRestartType sdValue
hi def link sdSignal sdValue
hi def link sdStdin sdValue
hi def link sdStdout sdValue
hi def link sdSyslogFacil sdValue
hi def link sdSyslogLevel sdValue
hi def link sdIOSched sdValue
hi def link sdCPUSched sdValue
hi def link sdRlimit sdValue
hi def link sdCapName sdValue
hi def link sdDevAllowPerm sdValue
hi def link sdDevAllowErr Error
" Coloring links: symbols/flags {{{1
hi def link sdExecFlag sdSymbol
hi def link sdConditionFlag sdSymbol
hi def link sdEnvDashFlag sdSymbol
hi def link sdCapOps sdSymbol
hi def link sdCapFlags Identifier
"}}}
let b:current_syntax = "systemd"
" vim: fdm=marker