dgy
/
hexagons
Archived
1
0
Fork 0

nvim: cambiar plugins y sacar lo que no sirve. tmux: usar alt. zsh: envvars, teclas, aliases. borrar muchas cosas viejas que no se usan mas, y muchos cambios pequeños aqui y alla

This commit is contained in:
deadguy 2019-05-30 12:00:26 -03:00
parent 90d987bc62
commit 68c65de02d
Signed by: dgy
GPG Key ID: 37CA55B52CF63730
67 changed files with 484 additions and 3148 deletions

View File

@ -84,5 +84,7 @@ bspc rule -a Termite:archi desktop='^3'
bspc rule -a Termite:multi desktop='^1'
# scripts utiles
bspc config external_rules_command ~/.config/bspwm/scripts/external_rules.sh
setbg &
unclutter &

View File

@ -22,7 +22,7 @@
# the top and down respectively.
# The width can be negative. In this case the actual width is the
# screen width minus the width defined in within the geometry option.
geometry = "0x8-10+31"
geometry = "600x8-10+31"
title = Dunst # Define window title
class = Dunst # Define window class

View File

@ -1,4 +1,5 @@
.window-frame, .window-frame:backdrop {
.window-frame,
.window-frame:backdrop {
box-shadow: none;
border-style: none;
margin: 0;
@ -10,16 +11,17 @@
}
window decoration {
margin: 0;
margin: 0;
}
VteTerminal, vte-terminal {
padding: 5px;
padding-bottom: 0;
VteTerminal,
vte-terminal {
padding: 5px;
padding-bottom: 0;
}
.termite {
padding: 0 10px;
padding: 2px 10px;
}
.window-frame.csd.popup {
@ -38,16 +40,21 @@ GtkLabel.title {
}*/
headerbar.default-decoration {
padding-top: 0;
padding-bottom: 0;
min-height: 0;
font-size: 0.8em;
padding-top: 0;
padding-bottom: 0;
min-height: 0;
font-size: 0.8em;
}
headerbar.default-decoration button.titlebutton {
padding: 0;
min-height: 0;
padding: 0;
min-height: 0;
}
/* Remove dotted lines from GTK+ 3 applications */
undershoot.top, undershoot.right, undershoot.bottom, undershoot.left { background-image: none; }
undershoot.top,
undershoot.right,
undershoot.bottom,
undershoot.left {
background-image: none;
}

View File

@ -1,7 +1,8 @@
# This file goes in ~/.config/mpv
ao=pulse,jack,alsa,
#vo=opengl-hq
#proflie=opengl-hq
#msg-level=all=fatal,ao=error
ao=pulse,jack,alsa,
scale=ewa_lanczossharp
cscale=ewa_lanczossharp
deband=no
@ -12,22 +13,41 @@ autofit-larger=90%x90%
stop-playback-on-init-failure=yes
idle=once
osc=yes
save-position-on-quit
ytdl-format=bestvideo[height<=?1080]+bestaudio/best
screenshot-format=png
screenshot-directory="~/Pictures/scrot"
hwdec=vaapi
osd-level=1
osd-duration="3500"
osd-font="IBM Plex Sans"
osd-font-size="25"
osd-border-size="2"
osd-duration="2500"
osd-margin-x="10"
osd-margin-y="10"
osd-bar-align-x="0"
osd-bar-align-y="0.75"
#msg-level=all=fatal,ao=error
term-osd-bar
term-playing-msg='${filename}'
sub-auto=fuzzy
sub-file-paths-append=ass
sub-file-paths-append=srt
sub-file-paths-append=sub
sub-file-paths-append=subs
sub-file-paths-append=subtitles
demuxer-mkv-subtitle-preroll
embeddedfonts=yes
sub-fix-timing=no
sub-ass-force-style=Kerning=yes
sub-use-margins
sub-ass-force-margins
cache-secs=300
cursor-autohide=1000
prefetch-playlist=yes
hls-bitrate=max
save-position-on-quit
term-osd-bar
no-border
msg-module
msg-color
#
# mpv configuration file

View File

@ -39,7 +39,7 @@ set sig_dashes ## dashes before sig
set text_flowed = yes ## Eliminate odd line breaks
set skip_quoted_offset = 3
set editor="nvim -c 'set textwidth=80' +Goyo"
set editor="nvim -c 'set textwidth=80'"
set status_on_top = yes
set status_chars = " *%A"

View File

@ -95,5 +95,6 @@ incremental_seeking = yes
# LYRICS
follow_now_playing_lyrics = no
store_lyrics_in_song_dir = no
lyrics_directory = ~/.local/share/lyrics
execute_on_song_change = "/home/deadguy/bin/tapa"

View File

@ -1,7 +1,5 @@
-------COMICS------------
---------MISC------------
https://www.questionablecontent.net/QCRSS.xml "~Questionable Content" comics
-------BLOGS------------
https://chiptuneswin.com/blog/feed/ "~Chiptunes=WIN" blogs
https://vimways.org/index.xml "~Vimways" blogs

View File

@ -1,4 +0,0 @@
augroup ftdetect_gitconfig
autocmd!
autocmd BufRead,BufNewFile *.gitconfig set filetype=gitconfig
augroup END

View File

@ -1,2 +0,0 @@
au BufRead,BufNewFile *.py,*.pyw,*.c,*.h match BadWhitespace /\s\+$/
highlight BadWhitespace ctermbg=red guibg=darkred

View File

@ -1 +0,0 @@
autocmd BufNewFile,BufRead {.,}tmux*.conf* setfiletype tmux

View File

@ -1,3 +0,0 @@
set noshowmode
set noruler
autocmd BufLeave <buffer> set showmode ruler

View File

@ -1,41 +0,0 @@
" Vim filetype plugin
" Language: generic git output
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2013 May 30
" Only do this when not done yet for this buffer
if (exists("b:did_ftplugin"))
finish
endif
let b:did_ftplugin = 1
if !exists('b:git_dir')
if expand('%:p') =~# '[\/]\.git[\/]modules[\/]'
" Stay out of the way
elseif expand('%:p') =~# '[\/]\.git[\/]worktrees'
let b:git_dir = matchstr(expand('%:p'),'.*\.git[\/]worktrees[\/][^\/]\+\>')
elseif expand('%:p') =~# '\.git\>'
let b:git_dir = matchstr(expand('%:p'),'.*\.git\>')
elseif $GIT_DIR != ''
let b:git_dir = $GIT_DIR
endif
if (has('win32') || has('win64')) && exists('b:git_dir')
let b:git_dir = substitute(b:git_dir,'\\','/','g')
endif
endif
if exists('*shellescape') && exists('b:git_dir') && b:git_dir != ''
if b:git_dir =~# '/\.git$' " Not a bare repository
let &l:path = escape(fnamemodify(b:git_dir,':h'),'\, ').','.&l:path
endif
let &l:path = escape(b:git_dir,'\, ').','.&l:path
let &l:keywordprg = 'git --git-dir='.shellescape(b:git_dir).' show'
else
setlocal keywordprg=git\ show
endif
if has('gui_running')
let &l:keywordprg = substitute(&l:keywordprg,'^git\>','git --no-pager','')
endif
setlocal includeexpr=substitute(v:fname,'^[^/]\\+/','','')
let b:undo_ftplugin = "setl keywordprg< path< includeexpr<"

View File

@ -1,64 +0,0 @@
" Vim filetype plugin
" Language: git commit file
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2013 May 30
" Only do this when not done yet for this buffer
if (exists("b:did_ftplugin"))
finish
endif
runtime! ftplugin/git.vim
let b:did_ftplugin = 1
setlocal comments=:# commentstring=#\ %s
setlocal nomodeline tabstop=8 formatoptions+=tl textwidth=72
setlocal formatoptions-=c formatoptions-=r formatoptions-=o formatoptions-=q
let b:undo_ftplugin = 'setl modeline< tabstop< formatoptions< tw< com< cms<'
if exists("g:no_gitcommit_commands") || v:version < 700
finish
endif
if !exists("b:git_dir")
let b:git_dir = expand("%:p:h")
endif
command! -bang -bar -buffer -complete=custom,s:diffcomplete -nargs=* DiffGitCached :call s:gitdiffcached(<bang>0,b:git_dir,<f-args>)
let b:undo_ftplugin = b:undo_ftplugin . "|delc DiffGitCached"
function! s:diffcomplete(A,L,P)
let args = ""
if a:P <= match(a:L." -- "," -- ")+3
let args = args . "-p\n--stat\n--shortstat\n--summary\n--patch-with-stat\n--no-renames\n-B\n-M\n-C\n"
end
if exists("b:git_dir") && a:A !~ '^-'
let tree = fnamemodify(b:git_dir,':h')
if strpart(getcwd(),0,strlen(tree)) == tree
let args = args."\n".system("git diff --cached --name-only")
endif
endif
return args
endfunction
function! s:gitdiffcached(bang,gitdir,...)
let tree = fnamemodify(a:gitdir,':h')
let name = tempname()
let git = "git"
if strpart(getcwd(),0,strlen(tree)) != tree
let git .= " --git-dir=".(exists("*shellescape") ? shellescape(a:gitdir) : '"'.a:gitdir.'"')
endif
if a:0
let extra = join(map(copy(a:000),exists("*shellescape") ? 'shellescape(v:val)' : "'\"'.v:val.'\"'"))
else
let extra = "-p --stat=".&columns
endif
call system(git." diff --cached --no-color --no-ext-diff ".extra." > ".(exists("*shellescape") ? shellescape(name) : name))
exe "pedit ".(exists("*fnameescape") ? fnameescape(name) : name)
wincmd P
let b:git_dir = a:gitdir
command! -bang -bar -buffer -complete=custom,s:diffcomplete -nargs=* DiffGitCached :call s:gitdiffcached(<bang>0,b:git_dir,<f-args>)
nnoremap <buffer> <silent> q :q<CR>
setlocal buftype=nowrite nobuflisted noswapfile nomodifiable filetype=git
endfunction

View File

@ -1,15 +0,0 @@
" Vim filetype plugin
" Language: git config file
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2009 Dec 24
" Only do this when not done yet for this buffer
if (exists("b:did_ftplugin"))
finish
endif
let b:did_ftplugin = 1
setlocal formatoptions-=t formatoptions+=croql
setlocal comments=:#,:; commentstring=;\ %s
let b:undo_ftplugin = "setl fo< com< cms<"

View File

@ -4,6 +4,7 @@
"
" nnoremap <buffer><silent> gO :call man#showtoc()<Enter>
""
function! man#showtoc() abort
let l:bufname = bufname('%')
let l:info = getloclist(0, { 'winid': 1 })

View File

@ -28,6 +28,4 @@ augroup mdownstuff
autocmd BufNewFile *.md call Prose()
augroup END
"let b:ale_linters = ['proselint']
setl rulerformat=%-12.(%l,%c%V%)\ %P

View File

@ -2,7 +2,7 @@ setlocal ts=4
setlocal sts=4
setlocal sw=4
setlocal et
"setlocal tw=80
setlocal tw=80
setlocal colorcolumn=79
setlocal smartindent
setlocal autoindent
@ -14,8 +14,6 @@ setlocal cinwords=if,elif,else,for,while,try,except,finally,def,class,with
augroup pystuff
autocmd!
autocmd BufNewFile *.py 0r ~/.config/nvim/templates/py.skeleton
autocmd InsertEnter *.py Semshi pause
autocmd InsertLeave *.py Semshi enable
augroup END
nnoremap <buffer> <localleader>y :0,$!yapf<Cr>
@ -23,17 +21,10 @@ nnoremap <buffer> <LocalLeader>i :!isort %<CR><CR>
nnoremap <buffer> <silent> <LocalLeader>= :ALEFix<CR>
nnoremap <buffer> <localleader>c I#<esc>
let g:LanguageClient_autoStart = 1
let g:ale_sign_column_always = 1
let g:ale_python_mypy_options = "--ignore-missing-imports"
let g:ale_python_pylint_options = "--disable=C"
let g:ale_python_flake8_options = "--ignore=E221"
let g:move_key_modifier = 'N'
let g:ale_lint_on_insert_leave = 1
let g:ale_lint_on_text_changed = 'never'
let g:ale_lint_on_enter = 1
let g:ale_lint_on_save = 1
" Check Python files with flake8 and pylint.
let b:ale_linters = ['pyls', 'flake8', 'pylint']

View File

@ -1,5 +0,0 @@
setl ts=2
setl sts=2
setl sw=2
setl et
setl tw=80

View File

@ -1 +0,0 @@
setlocal commentstring=#\ %s

View File

@ -1,15 +0,0 @@
" Vim indent file
" Language: Arduino
" Maintainer: Kevin Sjöberg <kev.sjoberg@gmail.com>
" Last Change: 2014 Feb 28
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
finish
endif
let b:did_indent = 1
" C++ indenting is built-in, thus this is very simple
setlocal cindent
let b:undo_indent = "setl cin<"

View File

@ -1,429 +0,0 @@
" PEP8 compatible Python indent file
" Language: Python
" Maintainer: Daniel Hahler <https://daniel.hahler.de/>
" Prev Maintainer: Hynek Schlawack <hs@ox.cx>
" Prev Maintainer: Eric Mc Sween <em@tomcom.de> (address invalid)
" Original Author: David Bustos <bustos@caltech.edu> (address invalid)
" License: CC0
"
" vim-python-pep8-indent - A nicer Python indentation style for vim.
" Written in 2004 by David Bustos <bustos@caltech.edu>
" Maintained from 2004-2005 by Eric Mc Sween <em@tomcom.de>
" Maintained from 2013 by Hynek Schlawack <hs@ox.cx>
" Maintained from 2017 by Daniel Hahler <https://daniel.hahler.de/>
"
" To the extent possible under law, the author(s) have dedicated all copyright
" and related and neighboring rights to this software to the public domain
" worldwide. This software is distributed without any warranty.
" You should have received a copy of the CC0 Public Domain Dedication along
" with this software. If not, see
" <http://creativecommons.org/publicdomain/zero/1.0/>.
" Only load this indent file when no other was loaded.
if exists('b:did_indent')
finish
endif
let b:did_indent = 1
setlocal nolisp
setlocal autoindent
setlocal indentexpr=GetPythonPEPIndent(v:lnum)
setlocal indentkeys=!^F,o,O,<:>,0),0],0},=elif,=except
if !exists('g:python_pep8_indent_multiline_string')
let g:python_pep8_indent_multiline_string = 0
endif
let s:block_rules = {
\ '^\s*elif\>': ['if', 'elif'],
\ '^\s*except\>': ['try', 'except'],
\ '^\s*finally\>': ['try', 'except', 'else']
\ }
let s:block_rules_multiple = {
\ '^\s*else\>': ['if', 'elif', 'for', 'try', 'except'],
\ }
" Pairs to look for when searching for opening parenthesis.
" The value is the maximum offset in lines.
let s:paren_pairs = {'()': 50, '[]': 100, '{}': 1000}
if &filetype ==# 'pyrex' || &filetype ==# 'cython'
let b:control_statement = '\v^\s*(class|def|if|while|with|for|except|cdef|cpdef)>'
else
let b:control_statement = '\v^\s*(class|def|if|while|with|for|except)>'
endif
let s:stop_statement = '^\s*\(break\|continue\|raise\|return\|pass\)\>'
" Skip strings and comments. Return 1 for chars to skip.
" jedi* refers to syntax definitions from jedi-vim for call signatures, which
" are inserted temporarily into the buffer.
let s:skip_special_chars = 'synIDattr(synID(line("."), col("."), 0), "name") ' .
\ '=~? "\\vstring|comment|jedi\\S"'
let s:skip_after_opening_paren = 'synIDattr(synID(line("."), col("."), 0), "name") ' .
\ '=~? "\\vcomment|jedi\\S"'
" Also ignore anything concealed.
" Wrapper around synconcealed for older Vim (7.3.429, used on Travis CI).
function! s:is_concealed(line, col)
let concealed = synconcealed(a:line, a:col)
return len(concealed) && concealed[0]
endfunction
if has('conceal')
let s:skip_special_chars .= '|| s:is_concealed(line("."), col("."))'
endif
let s:skip_search = 'synIDattr(synID(line("."), col("."), 0), "name") ' .
\ '=~? "comment"'
" Use 'shiftwidth()' instead of '&sw'.
" (Since Vim patch 7.3.629, 'shiftwidth' can be set to 0 to follow 'tabstop').
if exists('*shiftwidth')
function! s:sw()
return shiftwidth()
endfunction
else
function! s:sw()
return &shiftwidth
endfunction
endif
function! s:pair_sort(x, y)
if a:x[0] == a:y[0]
return a:x[1] == a:y[1] ? 0 : a:x[1] > a:y[1] ? 1 : -1
else
return a:x[0] > a:y[0] ? 1 : -1
endif
endfunction
" Find backwards the closest open parenthesis/bracket/brace.
function! s:find_opening_paren(...)
" optional arguments: line and column (defaults to 1) to search around
if a:0 > 0
let view = winsaveview()
call cursor(a:1, a:0 > 1 ? a:2 : 1)
let ret = s:find_opening_paren()
call winrestview(view)
return ret
endif
" Return if cursor is in a comment.
exe 'if' s:skip_search '| return [0, 0] | endif'
let nearest = [0, 0]
for [p, maxoff] in items(s:paren_pairs)
let stopline = max([0, line('.') - maxoff, nearest[0]])
let next = searchpairpos(
\ '\V'.p[0], '', '\V'.p[1], 'bnW', s:skip_special_chars, stopline)
if next[0] && (next[0] > nearest[0] || (next[0] == nearest[0] && next[1] > nearest[1]))
let nearest = next
endif
endfor
return nearest
endfunction
" Find the start of a multi-line statement
function! s:find_start_of_multiline_statement(lnum)
let lnum = a:lnum
while lnum > 0
if getline(lnum - 1) =~# '\\$'
let lnum = prevnonblank(lnum - 1)
else
let [paren_lnum, _] = s:find_opening_paren(lnum)
if paren_lnum < 1
return lnum
else
let lnum = paren_lnum
endif
endif
endwhile
endfunction
" Find possible indent(s) of the block starter that matches the current line.
function! s:find_start_of_block(lnum, types, multiple)
let r = []
let types = copy(a:types)
let re = '\V\^\s\*\('.join(a:types, '\|').'\)\>'
let lnum = a:lnum
let last_indent = indent(lnum) + 1
while lnum > 0 && last_indent > 0
let indent = indent(lnum)
if indent < last_indent
for type in types
let re = '\v^\s*'.type.'>'
if getline(lnum) =~# re
if !a:multiple
return [indent]
endif
if index(r, indent) == -1
let r += [indent]
endif
" Remove any handled type, e.g. 'if'.
call remove(types, index(types, type))
endif
endfor
let last_indent = indent(lnum)
endif
let lnum = prevnonblank(lnum - 1)
endwhile
return r
endfunction
" Is "expr" true for every position in "lnum", beginning at "start"?
" (optionally up to a:1 / 4th argument)
function! s:match_expr_on_line(expr, lnum, start, ...)
let text = getline(a:lnum)
let end = a:0 ? a:1 : len(text)
if a:start > end
return 1
endif
let save_pos = getpos('.')
let r = 1
for i in range(a:start, end)
call cursor(a:lnum, i)
if !(eval(a:expr) || text[i-1] =~# '\s')
let r = 0
break
endif
endfor
call setpos('.', save_pos)
return r
endfunction
" Line up with open parenthesis/bracket/brace.
function! s:indent_like_opening_paren(lnum)
let [paren_lnum, paren_col] = s:find_opening_paren(a:lnum)
if paren_lnum <= 0
return -2
endif
let text = getline(paren_lnum)
let base = indent(paren_lnum)
let nothing_after_opening_paren = s:match_expr_on_line(
\ s:skip_after_opening_paren, paren_lnum, paren_col+1)
let starts_with_closing_paren = getline(a:lnum) =~# '^\s*[])}]'
if nothing_after_opening_paren
if starts_with_closing_paren
let res = base
else
let res = base + s:sw()
endif
else
" Indent to match position of opening paren.
let res = paren_col
endif
" If this line is the continuation of a control statement
" indent further to distinguish the continuation line
" from the next logical line.
if text =~# b:control_statement && res == base + s:sw()
return base + s:sw() * 2
else
return res
endif
endfunction
" Match indent of first block of this type.
function! s:indent_like_block(lnum)
let text = getline(a:lnum)
for [multiple, block_rules] in [
\ [0, s:block_rules],
\ [1, s:block_rules_multiple]]
for [line_re, blocks] in items(block_rules)
if text !~# line_re
continue
endif
let indents = s:find_start_of_block(a:lnum - 1, blocks, multiple)
if !len(indents)
return -1
endif
if len(indents) == 1
return indents[0]
endif
" Multiple valid indents, e.g. for 'else' with both try and if.
let indent = indent(a:lnum)
if index(indents, indent) != -1
" The indent is valid, keep it.
return indent
endif
" Fallback to the first/nearest one.
return indents[0]
endfor
endfor
return -2
endfunction
function! s:indent_like_previous_line(lnum)
let lnum = prevnonblank(a:lnum - 1)
" No previous line, keep current indent.
if lnum < 1
return -1
endif
let text = getline(lnum)
let start = s:find_start_of_multiline_statement(lnum)
let base = indent(start)
let current = indent(a:lnum)
" Jump to last character in previous line.
call cursor(lnum, len(text))
let ignore_last_char = eval(s:skip_special_chars)
" Search for final colon that is not inside something to be ignored.
while 1
let curpos = getpos('.')[2]
if curpos == 1 | break | endif
if eval(s:skip_special_chars) || text[curpos-1] =~# '\s'
normal! h
continue
elseif text[curpos-1] ==# ':'
return base + s:sw()
endif
break
endwhile
if text =~# '\\$' && !ignore_last_char
" If this line is the continuation of a control statement
" indent further to distinguish the continuation line
" from the next logical line.
if getline(start) =~# b:control_statement
return base + s:sw() * 2
endif
" Nest (other) explicit continuations only one level deeper.
return base + s:sw()
endif
let empty = getline(a:lnum) =~# '^\s*$'
" Current and prev line are empty, next is not -> indent like next.
if empty && a:lnum > 1 &&
\ (getline(a:lnum - 1) =~# '^\s*$') &&
\ !(getline(a:lnum + 1) =~# '^\s*$')
return indent(a:lnum + 1)
endif
" If the previous statement was a stop-execution statement or a pass
if getline(start) =~# s:stop_statement
" Remove one level of indentation if the user hasn't already dedented
if empty || current > base - s:sw()
return base - s:sw()
endif
" Otherwise, trust the user
return -1
endif
if !empty && s:is_dedented_already(current, base)
return -1
endif
" In all other cases, line up with the start of the previous statement.
return base
endfunction
" If this line is dedented and the number of indent spaces is valid
" (multiple of the indentation size), trust the user.
function! s:is_dedented_already(current, base)
let dedent_size = a:current - a:base
return (dedent_size < 0 && a:current % s:sw() == 0) ? 1 : 0
endfunction
" Is the syntax at lnum (and optionally cnum) a python string?
function! s:is_python_string(lnum, ...)
let line = getline(a:lnum)
let linelen = len(line)
if linelen < 1
let linelen = 1
endif
let cols = a:0 ? type(a:1) != type([]) ? [a:1] : a:1 : range(1, linelen)
for cnum in cols
if match(map(synstack(a:lnum, cnum),
\ "synIDattr(v:val, 'name')"), 'python\S*String') == -1
return 0
end
endfor
return 1
endfunction
function! GetPythonPEPIndent(lnum)
" First line has indent 0
if a:lnum == 1
return 0
endif
let line = getline(a:lnum)
let prevline = getline(a:lnum-1)
" Multilinestrings: continous, docstring or starting.
if s:is_python_string(a:lnum-1, len(prevline))
\ && (s:is_python_string(a:lnum, 1)
\ || match(line, '^\%("""\|''''''\)') != -1)
" Indent closing quotes as the line with the opening ones.
let match_quotes = match(line, '^\s*\zs\%("""\|''''''\)')
if match_quotes != -1
" closing multiline string
let quotes = line[match_quotes:(match_quotes+2)]
let pairpos = searchpairpos(quotes, '', quotes, 'b')
if pairpos[0] != 0
return indent(pairpos[0])
else
" TODO: test to cover this!
endif
endif
if s:is_python_string(a:lnum-1)
" Previous line is (completely) a string.
return indent(a:lnum-1)
endif
if match(prevline, '^\s*\%("""\|''''''\)') != -1
" docstring.
return indent(a:lnum-1)
endif
let indent_multi = get(b:, 'python_pep8_indent_multiline_string',
\ get(g:, 'python_pep8_indent_multiline_string', 0))
if match(prevline, '\v%("""|'''''')$') != -1
" Opening multiline string, started in previous line.
if (&autoindent && indent(a:lnum) == indent(a:lnum-1))
\ || match(line, '\v^\s+$') != -1
" <CR> with empty line or to split up 'foo("""bar' into
" 'foo("""' and 'bar'.
if indent_multi == -2
return indent(a:lnum-1) + s:sw()
endif
return indent_multi
endif
endif
" Keep existing indent.
if match(line, '\v^\s*\S') != -1
return -1
endif
if indent_multi != -2
return indent_multi
endif
return s:indent_like_opening_paren(a:lnum)
endif
" Parens: If we can find an open parenthesis/bracket/brace, line up with it.
let indent = s:indent_like_opening_paren(a:lnum)
if indent >= -1
return indent
endif
" Blocks: Match indent of first block of this type.
let indent = s:indent_like_block(a:lnum)
if indent >= -1
return indent
endif
return s:indent_like_previous_line(a:lnum)
endfunction

View File

@ -4,151 +4,92 @@ let g:loaded_python_provider=1 " Disable python 2 interfa
let g:python_host_skip_check=1 " Skip python 2 host check
let g:python3_host_prog = '/usr/bin/python3'
let g:tagbar_ctags_bin = '/usr/bin/ctags'
set inccommand=nosplit " Live preview of substitutes and other similar commands
let python_highlight_all=1
set inccommand=nosplit " Live preview of substitutes and other similar commands
" Plug updates itself automatically
if empty(glob('~/.config/nvim/autoload/plug.vim'))
silent !curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
au VimEnter * PlugInstall --sync | source $MYVIMRC
endif
if executable('rg')
set grepprg=rg\ --vimgrep\ --hidden\ --no-heading
set grepformat=%f:%l:%c:%m,%f:%l:%m
endif
set grepprg=rg\ --vimgrep\ --hidden\ --no-heading
set grepformat=%f:%l:%c:%m,%f:%l:%m
" }}}
" Plugins {{{
call plug#begin('~/.config/nvim/plugged')
Plug 'junegunn/vim-plug'
" UI
Plug 'zefei/vim-wintabs'
Plug 'zefei/vim-wintabs-powerline'
" Languages
Plug 'lervag/vimtex', { 'for': 'tex' }
Plug 'plasticboy/vim-markdown', { 'for': 'markdown' }
" Formatting
Plug 'tmsvg/pear-tree'
Plug 'w0rp/ale'
Plug 'sbdchd/neoformat', {'on': 'Neoformat'}
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
Plug 'Shougo/neco-syntax'
Plug 'Shougo/neco-vim'
" Navigation
Plug 'christoomey/vim-tmux-navigator'
Plug 'othree/yajs.vim', {'for': 'javascript'}
Plug 'othree/es.next.syntax.vim', {'for': 'javascript'}
Plug 'mxw/vim-jsx', {'for': 'javascript'}
Plug 'HerringtonDarkholme/yats.vim', {'for': 'typescript'}
Plug 'mhartington/nvim-typescript', {'do': './install.sh', 'for': 'typescript'}
Plug 'neoclide/coc.nvim', {'tag': '*', 'do': { -> coc#util#install()}}
Plug 'sheerun/vim-polyglot'
Plug 'tmsvg/pear-tree'
Plug 'tpope/vim-commentary'
Plug 'tpope/vim-vinegar'
Plug '/usr/bin/fzf'
Plug 'junegunn/fzf.vim'
" Modes
Plug 'junegunn/goyo.vim'
" Python
Plug 'numirias/semshi', {'do': ':UpdateRemotePlugins'}
Plug 'jpalardy/vim-slime'
Plug 'zchee/deoplete-jedi'
Plug 'autozimu/LanguageClient-neovim', {
\ 'branch': 'next',
\ 'do': 'bash install.sh',
\ }
Plug 'vim-airline/vim-airline'
Plug 'mhartington/oceanic-next'
call plug#end()
" }}}
" Options {{{
" Search down into subfolders
" Provides tab-completion for all file-related tasks
" - :b lets you autocomplete any open buffer
set path+=**
set binary
set clipboard^=unnamedplus " system clipboard (requires +clipboard)
set encoding=utf-8 " The encoding displayed.
set fileencoding=utf-8 " The encoding written to file.
set shell=/bin/zsh " Setting shell to zsh
set number " Line numbers on
set showmode " Always show mode
set mousemodel=popup
set breakindent
set cmdheight=1 " Command line height
set cmdwinheight=5 " Command-line lines
set pumheight=12 " Completion window max size
set helpheight=12 " Minimum help window height
set previewheight=12 " Completion preview height
set noswapfile " New buffers will be loaded without creating a swapfile
set hidden " Enables to switch between unsaved buffers and keep undo history
set redrawtime=500
set lazyredraw " Don't redraw while executing macros (better performance)
set showmatch " Show matching brackets when text indicator is over them
set matchtime=2 " How many tenths of a second to blink when matching brackets
set nojoinspaces " No extra space when joining a line which ends with . ? !
set updatetime=1000 " Update time used to create swap file or other things
set synmaxcol=200 " Don't try to syntax highlight minified files
set splitbelow " Splitting a window will put the new window below the current
set splitright " Splitting a window will put the new window right of the current
set notimeout " Time out on key codes but not mappings.
set ttimeout
set ttimeoutlen=10
set ignorecase " Ignore case by default
set smartcase " Make search case sensitive only if it contains uppercase letters
set wrapscan " Search again from top when reached the bottom
set cursorline " Hightlight the screen line of the cursor
set numberwidth=5 " Minimal number of columns to use for line numbers
set nobackup
set nowritebackup
set wrap " Wrap lines longer than the width of the window
set visualbell " Use visual bell instead of beeping
set selectmode=key
set keymodel=startsel
set foldenable " Fold by default
set clipboard^=unnamedplus " system clipboard (requires +clipboard)
set fileencoding=utf-8 " The encoding written to file.
set shell=/bin/zsh " Setting shell to zsh
set number " Line numbers on
set pumheight=12 " Completion window max size
set helpheight=12 " Minimum help window height
set noswapfile " New buffers will be loaded without creating a swapfile
set hidden " Enables to switch between unsaved buffers and keep undo history
set lazyredraw " Don't redraw while executing macros (better performance)
set showmatch " Show matching brackets when text indicator is over them
set matchtime=2 " How many tenths of a second to blink when matching brackets
set nojoinspaces " No extra space when joining a line which ends with . ? !
set updatetime=300 " Update time used to create swap file or other things
set synmaxcol=200 " Don't try to syntax highlight minified files
set splitbelow " Splitting a window will put the new window below the current
set splitright " Splitting a window will put the new window right of the current
set notimeout " Time out on key codes but not mappings.
set ignorecase " Ignore case by default
set cursorline " Hightlight the screen line of the cursor
set visualbell " Use visual bell instead of beeping
set scrolloff=3 " Keep this many lines padding when scrolling
set shortmess+=aoOIWcs " Shorten messages and don't show intro
set tabstop=4 " Number of spaces a <Tab> equals
set shiftwidth=4 " Number of spaces for each (auto)indent step
set foldnestmax=10 " Deepest fold is 10 levels
set foldmethod=marker " Markers are used to specify folds.
set foldlevelstart=10
set foldnestmax=10 " Deepest fold is 10 levels
set foldmethod=marker " Markers are used to specify folds.
set completeopt-=preview
set completefunc=LanguageClient#complete
set formatexpr=LanguageClient#textDocument_rangeFormatting_sync()
set noexpandtab " Do not turn tabs into spaces
set tabstop=4 " Number of spaces a <Tab> equals
set softtabstop=4
set shiftwidth=4 " Number of spaces for each (auto)indent step
set foldclose=all
set softtabstop=4
set noshowmode
set breakindent
set redrawtime=500
set ttimeoutlen=10
set nowritebackup
set completeopt-=preview
set nostartofline
set nosmartindent
set nosmarttab
set modeline
set modelines=2
set scrolloff=3 " Keep this many lines padding when scrolling
set title
set undofile
set undolevels=1000
set undoreload=10000
set undodir=$HOME/.config/nvim/undo
set nrformats-=octal
set pastetoggle=<F12>
set shortmess=aoOtIWcFs " Shorten messages and don't show intro
set omnifunc=syntaxcomplete#Complete
set complete+=]
set formatoptions+=n
set signcolumn=yes
set pastetoggle=<F12>
" Display all matching files when we tab complete
set wildmenu
set wildmode=longest:full,full
set wildignorecase
set wildoptions=tagfile
set wildignore+=.git,.hg,.svn
set wildignore+=*.aux,*.out,*.toc
set wildignore+=*.o,*.obj,*.exe,*.dll,*.manifest,*.rbc,*.class
set wildignore+=*.ai,*.bmp,*.gif,*.ico,*.jpg,*.jpeg,*.png,*.psd,*.webp
set wildignore+=*.avi,*.divx,*.mp4,*.webm,*.mov,*.m2ts,*.mkv,*.vob,*.mpg,*.mpeg
set wildignore+=*.mp3,*.oga,*.ogg,*.wav,*.flac
set wildignore+=*.eot,*.otf,*.ttf,*.woff
set wildignore+=*.doc,*.pdf,*.cbr,*.cbz
set wildignore+=*.zip,*.tar.gz,*.tar.bz2,*.rar,*.tar.xz,*.kgb
set wildignore+=*.swp,.lock,.DS_Store,._*
set wildignore+=.stversions,*.pyc,*.spl,*.o,*.out,*~,%*
set wildignore+=*vim/backups*
set wildignore+=tmp/**
set wildignore+=*.gem
set wildignore+=log/**
set wildignore+=*cache*
set wildignore+=*logs*
set wildignore+=*node_modules/**
set wildignore+=__pycache__,*.egg-info
set wildmode=longest:list,full
if &diff
set textwidth=80
@ -160,73 +101,118 @@ let mapleader="\<SPACE>"
let maplocalleader=","
let formatlistpat='^\s*\(\d\+[\]:.)}\t ]\|[*-][\t ]\)\s*'
" }}}
" Read-Only files {{{
" Read-Only {{{
if &readonly
set laststatus=0
set ruler
set cmdheight=1
set cmdheight=0
set nonumber
set noshowmode
set noruler
set colorcolumn=0
set signcolumn=no
let g:ale_disabled
let w:airline_disabled=1
endif
" }}}
" Netrw {{{
" - :edit a folder to open a file browser
" - <CR>/v/t to open in an h-split/v-split/tab
let g:netrw_banner=0
let g:netrw_browse_split=4
let g:netrw_altv=1
let g:netrw_preview=1
let g:netrw_liststyle=3
let g:netrw_list_hide=netrw_gitignore#Hide()
let g:netrw_list_hide.=',\(^\|\s\s\)\zs\.\S\+'
let g:netrw_sort_sequence = '[\/]$,*'
let g:netrw_fastbrowse=2
let g:netrw_winsize=-28
let g:netrw_localrmdir='rm -r'
nnoremap <F5> Lexplore<CR>
" }}}
" {{{ Ale
let g:ale_use_global_executables = 1
let g:ale_completion_enabled = 0
let g:ale_linters_explicit = 1
let g:ale_change_sign_column_color = 1
let g:ale_echo_msg_format = '[%linter%] %s% (code)% [%severity%]'
let g:ale_loclist_msg_format = '[%linter%] %s% (code)% [%severity%]'
let g:ale_open_list = 'on_save'
let g:ale_lint_delay = 0
let g:ale_lint_on_text_changed = 'normal'
let g:ale_lint_on_insert_leave = 1
let g:ale_fix_on_save = 1
let g:ale_close_preview_on_insert = 1
let g:ale_sign_error = '✖'
let g:ale_sign_warning = '⚠'
let g:ale_lint_delay = 500 " relint max once per [amount] milliseconds
let g:ale_sign_info = 'i'
let g:ale_set_loclist = 0
let g:ale_set_quickfix = 1
let g:ale_loclist_msg_format = '[%linter%] %s% (code)% [%severity%]'
let g:ale_set_highlights = 1
let g:ale_set_signs = 1
let g:ale_set_balloons = 1
let g:ale_virtualtext_cursor = 1
let g:ale_linter_aliases = {
\ 'jsx': ['css', 'javascript'],
\ 'vue': ['vue', 'javascript'],
\}
let g:ale_linters = {
\ 'javascript': ['standard'],
\ 'jsx': ['stylelint', 'eslint'],
\ 'typescript': ['tsserver', 'tslint'],
\ 'vue': ['eslint', 'vls'],
\ 'html': ['tidy'],
\ 'bash': ['shellcheck'],
\}
let g:ale_fixers = {
\ 'javascript': ['prettier_standard'],
\ 'typescript': ['prettier'],
\ 'vue': ['eslint'],
\ 'scss': ['prettier'],
\ 'css': ['prettier'],
\ 'markdown': ['prettier'],
\ 'html': ['prettier'],
\}
let g:ale_pattern_options = {
\ '\.min\.js$': {'ale_linters': [], 'ale_fixers': []},
\ '\.min\.css$': {'ale_linters': [], 'ale_fixers': []},
\}
nmap <silent> <F10> <Plug>(ale_previous_wrap)
nmap <silent> <F11> <Plug>(ale_next_wrap)
" }}}
" Deoplete {{{
let g:deoplete#enable_at_startup = 1
call deoplete#custom#option('max_list', 100000)
call deoplete#custom#option('min_pattern_length', 2)
call deoplete#custom#source('LanguageClient',
\ 'min_pattern_length',
\ 2)
if !exists('g:deoplete#omni#input_patterns')
let g:deoplete#omni#input_patterns = {}
endif
let g:deoplete#sources#jedi#server_timeout = 120
let g:deoplete#sources#jedi#show_docstring = 1
let g:deoplete#enable_ignore_case = 1
let g:deoplete#enable_smart_case = 1
let g:context_filetype#same_filetypes = {}
let g:context_filetype#same_filetypes._ = '_'
" CoC {{{
let g:coc_global_extensions = ['coc-stylelint', 'coc-vetur', 'coc-tsserver', 'coc-emmet', 'coc-css', 'coc-html', 'coc-json', 'coc-eslint', 'coc-prettier', 'coc-python']
" Remap keys for gotos
nmap <silent> <leader>ld <Plug>(coc-definition)
nmap <silent> <leader>lt <Plug>(coc-type-definition)
nmap <silent> <leader>li <Plug>(coc-implementation)
nmap <silent> <leader>lf <Plug>(coc-references)
" Remap for rename current word
nmap <leader>lr <Plug>(coc-rename)
" Show documentation in preview window
nnoremap <silent> <leader>lk :call <SID>show_documentation()<CR>
function! s:show_documentation()
if &filetype == 'vim'
execute 'h '.expand('<cword>')
else
call CocAction('doHover')
endif
endfunction
" Highlight symbol under cursor on CursorHold
au CursorHold * silent call CocActionAsync('highlight')
"}}}
" Tmux navigator {{{
let g:tmux_navigator_no_mappings = 1
let g:tmux_navigator_save_on_switch = 1
nnoremap <silent> M-left :TmuxNavigateLeft<cr>
nnoremap <silent> M-Down :TmuxNavigateDown<cr>
nnoremap <silent> M-Up :TmuxNavigateUp<cr>
nnoremap <silent> M-Right :TmuxNavigateRight<cr>
nnoremap <silent> M-Tab :TmuxNavigatePrevious<cr>
" }}}
" FZF {{{
" use bottom positioned 30% height bottom split
let g:fzf_layout = { 'down': '~35%' }
let g:fzf_action = {
\ 'ctrl-t': 'enew',
\ 'ctrl-e': 'enew',
\ 'ctrl-t': 'tab split',
\ 'ctrl-s': 'split',
\ 'ctrl-v': 'vsplit' }
let g:fzf_colors =
\ { 'fg': ['fg', 'Normal'],
let g:fzf_colors = {
\ 'fg': ['fg', 'Normal'],
\ 'bg': ['bg', 'Clear'],
\ 'hl': ['fg', 'String'],
\ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'],
@ -242,6 +228,7 @@ let g:fzf_colors =
let g:fzf_buffers_jump = 1
let g:fzf_tags_command = 'ctags -R'
let g:fzf_history_dir = '~/.local/share/fzf-history'
let g:fzf_nvim_statusline = 0
command! -bang -nargs=* Rg
\ call fzf#vim#grep(
@ -257,129 +244,131 @@ command! -bang -nargs=? -complete=dir Files
if !&diff
nnoremap <F1> :Helptags<CR>
nnoremap <F2> :Files<CR>
nnoremap <F3> :History<CR>
nnoremap <F4> :Buffers<CR>
nnoremap <C-g> :Rg<CR>
nnoremap <F3> :Buffers<CR>
nnoremap <F4> :Windows<CR>
nnoremap <F6> :History<CR>
nnoremap <F7> :Rg<CR>
endif
" }}}
" Semshi {{{
let g:semshi#mark_selected_nodes = 2
let g:semshi#error_sign = v:false
" }}}
" Slime {{{
let g:slime_target = 'tmux'
let g:slime_python_ipython = 1
let g:slime_paste_file = '~/Documents/Algorave/.slime_paste'
let g:slime_default_config = {"socket_name": "default", "target_pane": ":.2"}
let g:slime_dont_ask_default = 1
nnoremap <c-c>l :SlimeSendCurrentLine<CR>
" }}}
" LSP {{{
let g:LanguageClient_serverCommands = {
\ 'python': ['/usr/bin/pyls'],
\ 'cpp': ['clangd'],
\ 'bash': ['/usr/bin/shellcheck'],
\ }
nnoremap <F5> :call LanguageClient_contextMenu()<CR>
" }}}
" JS {{{
let g:polyglot_disabled = ['javascript', 'jsx', 'typescript', 'json', 'python']
let g:jsx_ext_required = 1
let g:yats_host_keyword = 1
"}}}
" Colors {{{
let g:seoul256_srgb = 1
let g:seoul256_background = 233
colo seoul256
let g:oceanic_next_terminal_italic = 1
colo OceanicNext
function! MyHighlights() abort
highlight Trail ctermbg=red guibg=red
call matchadd('Trail', '\s\+$', 100)
endfunction
hi! Comment cterm=italic ctermbg=NONE guibg=NONE
hi! Normal ctermbg=NONE guibg=NONE
hi! NonText ctermbg=NONE guibg=NONE
hi! LineNr ctermbg=232 ctermfg=237 guibg=#6699CC
hi! CursorLineNr ctermbg=236 ctermfg=NONE
hi! CursorLine ctermbg=236 ctermfg=NONE
hi! StatusLine guifg=#16252b guibg=#6699CC
hi! StatusLineNC guifg=#16252b guibg=#16252b
hi! EndOfBuffer ctermbg=NONE ctermfg=NONE guibg=#17252c guifg=#17252c
hi! link CocErrorSign WarningMsg
hi! link CocWarningSign Number
hi! link CocInfoSign Type
" }}}
" Wintabs {{{
let g:wintabs_switchbuf='useopen,usetab'
nnoremap <silent> <C-w> :WintabsClose<CR>
nnoremap <silent> <C-l> :WintabsNext<CR>
nnoremap <silent> <C-h> :WintabsPrevious<CR>
" Statusline {{{
let g:airline_extensions = ['quickfix', 'ale']
let g:airline_skip_empty_sections = 1
let g:airline#extensions#tabline#formatter = 'unique_tail'
let g:airline_section_z = airline#section#create(['linenr'])
let g:airline#extensions#default#layout = [['a', 'c', 'warning', 'error'], ['x', 'z']]
let g:airline#extensions#ale#enabled = 1
let g:airline#extensions#ale#checking_symbol=""
let airline#extensions#ale#show_line_numbers = 1
let g:airline_exclude_preview = 1
let g:airline_powerline_fonts = 1
let g:airline_highlighting_cache = 1
if !exists('g:airline_symbols')
let g:airline_symbols = {}
endif
let g:airline_left_sep = ''
let g:airline_right_sep = ''
let g:airline_symbols.linenr = 'Ξ'
let g:airline_theme='space'
" }}}
" AutoCommands {{{
if !exists("autocommands_loaded") && has("autocmd")
let autocommands_loaded = 1
" Auto remove all trailing whitespace on :w
autocmd BufWritePre * :%s/\s\+$//e
au BufWritePre * :%s/\s\+$//e
" Disables automatic commenting on newline
autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o
au FileType * setl formatoptions-=cro
" Runs a script that cleans out tex build files whenever I close out of a .tex file.
autocmd VimLeave *.tex !texclear %
au VimLeave *.tex !texclear %
autocmd BufWritePost ~/.Xresources,~/.Xdefaults !xrdb %
au ColorScheme * call MyHighlights()
au BufWritePost ~/.Xresources,~/.Xdefaults !xrdb %
au InsertLeave,CompleteDone * if pumvisible() == 0 | pclose | endif
au TermOpen * setlocal nonumber norelativenumber
au QuitPre * if empty(&buftype) | lclose | endif
au FocusLost,TabLeave * call PopOutOfInsertMode()
function! PopOutOfInsertMode()
if v:insertmode
feedkeys("\<C-\>\<C-n>")
endif
endfunction
aug aug_cursor_line
au!
au InsertEnter * setlocal nocursorline
au InsertLeave * setlocal cursorline
aug END
aug skeletons
autocmd BufNewFile *.py 0r ~/.config/nvim/templates/py.skeleton
autocmd BufRead,BufNewFile *.foxdot 0r ~/.config/nvim/templates/foxdot.skeleton
autocmd BufNewFile *.sh 0r ~/.config/nvim/templates/sh.skeleton
aug END
aug terminal_stuff
au TermOpen * setlocal nonumber norelativenumber
aug END
augroup CloseLoclistWindowGroup
autocmd!
autocmd QuitPre * if empty(&buftype) | lclose | endif
augroup END
autocmd FileType fzf set laststatus=0 noshowmode noruler
\| autocmd BufLeave <buffer> set showmode ruler
aug fzf_setup
au!
au FileType fzf set laststatus=0 noruler
\| au BufLeave <buffer> set ruler laststatus=2
au TermOpen term://*FZF tnoremap <silent> <buffer> <esc> <c-c>
aug END
autocmd BufRead,BufNewFile /tmp/neomutt* let g:goyo_width=80
autocmd BufRead,BufNewFile /tmp/neomutt* :Goyo
" Automatic syntax highlighting for files
aug set_file_types
au BufRead,BufNewFile *.md set filetype=markdown
au BufRead,BufNewFile *.conf set filetype=dosini
au BufRead,BufNewFile *.bash* set filetype=sh
au BufRead,BufNewFile *.jsx set filetype=javascript.jsx
au BufRead,BufNewFile *.ts set filetype=typescript
au BufRead,BufNewFile *.tsx set filetype=typescript.tsx
au BufRead,BufNewFile *.vue set filetype=vue
au BufRead,BufNewFile man set textwidth=80
au FileType json syntax match Comment +\/\/.\+$+
aug END
endif
" }}}
"Mappings {{{
" Spell checking
nnoremap <F6> :setlocal spell! spelllang=es<CR>
nnoremap <F7> :setlocal spell! spelllang=en<CR>
nnoremap <F8> :set nospell<CR>
" LaTeX
nnoremap <F9> :w! \| !compiler <c-r>%<CR>
"Normal {{{
" LaTeX and friends
nnoremap <F8> :w! \| !compiler <c-r>%<CR>
" Plug
nnoremap <leader>pi :PlugInstall<CR>
nnoremap <leader>pu :PlugUpdate<CR>
nnoremap <leader>pU :PlugUpgrade<CR>
nnoremap <leader>pc :PlugClean<CR>
" Neoformat
nnoremap <leader>f :Neoformat<CR>
vnoremap <leader>f :Neoformat<CR>
" Use urlview to choose and open a url:
noremap <leader>u :w<Home>silent <End> !urlscan<CR>
noremap ,, :w<Home>silent <End> !urlscan<CR>
" Visual mode pressing * or # searches for the current selection
vnoremap <silent> * :<C-u>call VisualSelection('', '')<CR>/<C-R>=@/<CR><CR>
vnoremap <silent> # :<C-u>call VisualSelection('', '')<CR>?<C-R>=@/<CR><CR>
nnoremap <leader>u :w<Home>silent <End> !urlscan<CR>
" Super quick search and replace
nnoremap <Space>+ :'{,'}s/\<<C-r>=expand("<cword>")<CR>\>/
nnoremap <Space>¿ :%s/\<<C-r>=expand("<cword>")<CR>\>/
nnoremap <leader>+ :'{,'}s/\<<C-r>=expand("<cword>")<CR>\>/
nnoremap <leader>¿ :%s/\<<C-r>=expand("<cword>")<CR>\>/
" Learn vim keys the hard way
nnoremap <silent> <Left> :vertical resize -2<CR>
@ -406,21 +395,9 @@ nnoremap <leader>v :vsplit<CR>
nnoremap <leader>nv :vnew<CR>
nnoremap <leader>ns :new<CR>
" Ensure that ctrl+u in insert mode can be reversed
" http://vim.wikia.com/wiki/Recover_from_accidental_Ctrl-U
inoremap <c-u> <c-g>u<c-u>
inoremap <c-w> <c-g>u<c-w>
" My vim wants to enter all the time, enter all the time
nnoremap <silent> <CR> i<CR><ESC>
" Fix indentation
nnoremap <leader>i mzgg=G`z<CR>
" Deedee
nnoremap - dd<CR>p
inoremap <c-d> <esc>ddi
" Quote words under cursor
nnoremap <leader>" viW<esc>a"<esc>gvo<esc>i"<esc>gvo<esc>3l
nnoremap <leader>' viW<esc>a'<esc>gvo<esc>i'<esc>gvo<esc>3l
@ -428,8 +405,6 @@ nnoremap <leader>' viW<esc>a'<esc>gvo<esc>i'<esc>gvo<esc>3l
" Move a line of text using Shift+[jk]
nnoremap <S-j> mz:m+<cr>`z
nnoremap <S-k> mz:m-2<cr>`z
vnoremap <S-j> :m'>+<cr>`<my`>mzgv`yo`z
vnoremap <S-k> :m'<-2<cr>`>my`<mzgv`yo`z
" Unhighlight search terms
nnoremap <silent> <leader><space> :noh<C-R>=has('diff')?'<Bar>diffupdate':''<CR><CR><C-L>
@ -441,48 +416,76 @@ map q <nop>
" j = gj :: k = gk while preserving numbered jumps ie. 12j or 30k
nnoremap <buffer><silent><expr>j v:count ? 'j' : 'gj'
nnoremap <buffer><silent><expr>k v:count ? 'k' : 'gk'
vnoremap <buffer><silent><expr>j v:count ? 'j' : 'gj'
vnoremap <buffer><silent><expr>k v:count ? 'k' : 'gk'
" Line movements
noremap <silent> <Home> g<Home>
noremap <silent> <End> g<End>
inoremap <silent> <Home> <C-o>g<Home>
inoremap <silent> <End> <C-o>g<End>
nnoremap H 0
nnoremap L $
vnoremap H 0
vnoremap L $
noremap Y 0y$
noremap <leader>y y$
" Center screen when jumping and moving
nnoremap <silent> n :norm! nzz<CR>
nnoremap <silent> N :norm! Nzz<CR>
vnoremap <silent> n :norm! nzz<CR>
vnoremap <silent> N :norm! Nzz<CR>
nnoremap Y 0y$
nnoremap <leader>y y$
" Alt to switch windows
nnoremap <M-j> <C-W><C-J>
nnoremap <M-k> <C-W><C-K>
nnoremap <M-l> <C-W><C-L>
nnoremap <M-h> <C-W><C-H>
" Tab movement
nnoremap tn :tabnew<cr>
nnoremap tk :tabnext<cr>
nnoremap tj :tabprev<cr>
nnoremap th :tabfirst<cr>
nnoremap tl :tablast<cr>
"}}}
"Insert {{{
" Ensure that ctrl+u in insert mode can be reversed
" http://vim.wikia.com/wiki/Recover_from_accidental_Ctrl-U
inoremap <c-u> <c-g>u<c-u>
inoremap <c-w> <c-g>u<c-w>
" Deedee
inoremap <c-d> <esc>ddi
" Line movements
inoremap <silent> <Home> <C-o>g<Home>
inoremap <silent> <End> <C-o>g<End>
" Alt to switch windows
inoremap <A-h> <Esc><C-w>h
inoremap <A-j> <Esc><C-w>j
inoremap <A-k> <Esc><C-w>k
inoremap <A-l> <Esc><C-w>l
"}}}
"Visual {{{
" Visual mode pressing * or # searches for the current selection
vnoremap <silent> # :<C-u>call VisualSelection('', '')<CR>?<C-R>=@/<CR><CR>
" Use <TAB> to select the popup menu:
inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>"
inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"
" Move a line of text using Shift+[jk]
vnoremap <S-j> :m'>+<cr>`<my`>mzgv`yo`z
vnoremap <S-k> :m'<-2<cr>`>my`<mzgv`yo`z
" j = gj :: k = gk while preserving numbered jumps ie. 12j or 30k
vnoremap <buffer><silent><expr>j v:count ? 'j' : 'gj'
vnoremap <buffer><silent><expr>k v:count ? 'k' : 'gk'
" Line movements
vnoremap $ $h
" Delete current visual selection and dump in black hole buffer before pasting
" Used when you want to paste over something without it getting copied to
" Vim's default buffer
vnoremap <leader>p "_dP
"}}}
"Terminal {{{
" Terminal movement
tnoremap <Esc> <C-\><C-n>
tnoremap <M-h> <C-\><C-n><C-w>h
tnoremap <M-j> <C-\><C-n><C-w>j
tnoremap <M-k> <C-\><C-n><C-w>k
tnoremap <M-l> <C-\><C-n><C-w>l
"}}}
"Command {{{
" Shift butterfinger
:command! WQ wq
:command! Wq wq
@ -493,6 +496,7 @@ tnoremap <M-l> <C-\><C-n><C-w>l
:command! Q q
:command! Qa qa
:command! QA qa
"}}}
" }}}
" Stuff i'll probably use if i remember to {{{
" Don't close window when deleting a buffer
@ -587,5 +591,4 @@ nnoremap <Leader>fw
\ unlet b:jump <Bar>
\ endif <CR><Paste>
" }}}
" vim:foldmethod=marker:foldlevel=0

View File

@ -1,67 +0,0 @@
" Vim syntax file
" Language: Arduino
" Maintainer: Johannes Hoff <johannes@johanneshoff.com>
" Last Change: 17 May 2015
" License: VIM license (:help license, replace vim by arduino.vim)
" Syntax highlighting like in the Arduino IDE
" Automatically generated by the script available at
" https://bitbucket.org/johannes/arduino-vim-syntax
" Using keywords from <arduino>/build/shared/lib/keywords.txt
" From version: ARDUINO 1.6.4 - 2015.05.06
" Thanks to Rik, Erik Nomitch, Adam Obeng, Graeme Cross and Niall Parker
" for helpful feedback!
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
" Read the C syntax to start with
if version < 600
so <sfile>:p:h/cpp.vim
else
runtime! syntax/cpp.vim
endif
syn keyword arduinoConstant BIN CHANGE DEC DEFAULT EXTERNAL FALLING HALF_PI HEX
syn keyword arduinoConstant HIGH INPUT INPUT_PULLUP INTERNAL INTERNAL1V1
syn keyword arduinoConstant INTERNAL2V56 LOW LSBFIRST MSBFIRST OCT OUTPUT PI
syn keyword arduinoConstant RISING TWO_PI
syn keyword arduinoFunc analogRead analogReference analogWrite
syn keyword arduinoFunc attachInterrupt bit bitClear bitRead bitSet
syn keyword arduinoFunc bitWrite delay delayMicroseconds detachInterrupt
syn keyword arduinoFunc digitalRead digitalWrite highByte interrupts
syn keyword arduinoFunc lowByte micros millis noInterrupts noTone pinMode
syn keyword arduinoFunc pulseIn shiftIn shiftOut tone yield
syn keyword arduinoMethod available availableForWrite begin charAt compareTo
syn keyword arduinoMethod concat end endsWith equals equalsIgnoreCase find
syn keyword arduinoMethod findUntil flush getBytes indexOf lastIndexOf length
syn keyword arduinoMethod loop parseFloat parseInt peek print println read
syn keyword arduinoMethod readBytes readBytesUntil readString readStringUntil
syn keyword arduinoMethod replace setCharAt setTimeout setup startsWith
syn keyword arduinoMethod substring toCharArray toInt toLowerCase toUpperCase
syn keyword arduinoMethod trim word
syn keyword arduinoModule Keyboard Mouse Serial Serial1 Serial2 Serial3
syn keyword arduinoModule SerialUSB
syn keyword arduinoStdFunc abs accept acos asin atan atan2 ceil click constrain
syn keyword arduinoStdFunc cos degrees exp floor isPressed log map max min
syn keyword arduinoStdFunc move pow press radians random randomSeed release
syn keyword arduinoStdFunc releaseAll round sin sq sqrt tan
syn keyword arduinoType boolean byte null String word
hi def link arduinoType Type
hi def link arduinoConstant Constant
hi def link arduinoStdFunc Function
hi def link arduinoFunc Function
hi def link arduinoMethod Function
hi def link arduinoModule Identifier

View File

@ -1,489 +0,0 @@
" Vim syntax file
" Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2016 Nov 18
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
let s:ft = matchstr(&ft, '^\([^.]\)\+')
" A bunch of useful C keywords
syn keyword cStatement goto break return continue asm
syn keyword cLabel case default
syn keyword cConditional if else switch
syn keyword cRepeat while for do
syn keyword cTodo contained TODO FIXME XXX
" It's easy to accidentally add a space after a backslash that was intended
" for line continuation. Some compilers allow it, which makes it
" unpredictable and should be avoided.
syn match cBadContinuation contained "\\\s\+$"
" cCommentGroup allows adding matches for special things in comments
syn cluster cCommentGroup contains=cTodo,cBadContinuation
" String and Character constants
" Highlight special characters (those which have a backslash) differently
syn match cSpecial display contained "\\\(x\x\+\|\o\{1,3}\|.\|$\)"
if !exists("c_no_utf")
syn match cSpecial display contained "\\\(u\x\{4}\|U\x\{8}\)"
endif
if !exists("c_no_cformat")
" Highlight % items in strings.
if !exists("c_no_c99") " ISO C99
syn match cFormat display "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlLjzt]\|ll\|hh\)\=\([aAbdiuoxXDOUfFeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained
else
syn match cFormat display "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlL]\|ll\)\=\([bdiuoxXDOUfeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained
endif
syn match cFormat display "%%" contained
endif
" cCppString: same as cString, but ends at end of line
if s:ft ==# "cpp" && !exists("cpp_no_cpp11") && !exists("c_no_cformat")
" ISO C++11
syn region cString start=+\(L\|u\|u8\|U\|R\|LR\|u8R\|uR\|UR\)\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend
syn region cCppString start=+\(L\|u\|u8\|U\|R\|LR\|u8R\|uR\|UR\)\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat,@Spell
elseif s:ft ==# "c" && !exists("c_no_c11") && !exists("c_no_cformat")
" ISO C99
syn region cString start=+\%(L\|U\|u8\)\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend
syn region cCppString start=+\%(L\|U\|u8\)\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat,@Spell
else
" older C or C++
syn match cFormat display "%%" contained
syn region cString start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend
syn region cCppString start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat,@Spell
endif
syn region cCppSkip contained start="^\s*\(%:\|#\)\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\(%:\|#\)\s*endif\>" contains=cSpaceError,cCppSkip
syn cluster cStringGroup contains=cCppString,cCppSkip
syn match cCharacter "L\='[^\\]'"
syn match cCharacter "L'[^']*'" contains=cSpecial
if exists("c_gnu")
syn match cSpecialError "L\='\\[^'\"?\\abefnrtv]'"
syn match cSpecialCharacter "L\='\\['\"?\\abefnrtv]'"
else
syn match cSpecialError "L\='\\[^'\"?\\abfnrtv]'"
syn match cSpecialCharacter "L\='\\['\"?\\abfnrtv]'"
endif
syn match cSpecialCharacter display "L\='\\\o\{1,3}'"
syn match cSpecialCharacter display "'\\x\x\{1,2}'"
syn match cSpecialCharacter display "L'\\x\x\+'"
if (s:ft ==# "c" && !exists("c_no_c11")) || (s:ft ==# "cpp" && !exists("cpp_no_cpp11"))
" ISO C11 or ISO C++ 11
if exists("c_no_cformat")
syn region cString start=+\%(U\|u8\=\)"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,@Spell extend
else
syn region cString start=+\%(U\|u8\=\)"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend
endif
syn match cCharacter "[Uu]'[^\\]'"
syn match cCharacter "[Uu]'[^']*'" contains=cSpecial
if exists("c_gnu")
syn match cSpecialError "[Uu]'\\[^'\"?\\abefnrtv]'"
syn match cSpecialCharacter "[Uu]'\\['\"?\\abefnrtv]'"
else
syn match cSpecialError "[Uu]'\\[^'\"?\\abfnrtv]'"
syn match cSpecialCharacter "[Uu]'\\['\"?\\abfnrtv]'"
endif
syn match cSpecialCharacter display "[Uu]'\\\o\{1,3}'"
syn match cSpecialCharacter display "[Uu]'\\x\x\+'"
endif
"when wanted, highlight trailing white space
if exists("c_space_errors")
if !exists("c_no_trail_space_error")
syn match cSpaceError display excludenl "\s\+$"
endif
if !exists("c_no_tab_space_error")
syn match cSpaceError display " \+\t"me=e-1
endif
endif
" This should be before cErrInParen to avoid problems with #define ({ xxx })
if exists("c_curly_error")
syn match cCurlyError "}"
syn region cBlock start="{" end="}" contains=ALLBUT,cBadBlock,cCurlyError,@cParenGroup,cErrInParen,cCppParen,cErrInBracket,cCppBracket,@cStringGroup,@Spell fold
else
syn region cBlock start="{" end="}" transparent fold
endif
" Catch errors caused by wrong parenthesis and brackets.
" Also accept <% for {, %> for }, <: for [ and :> for ] (C99)
" But avoid matching <::.
syn cluster cParenGroup contains=cParenError,cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserLabel,cBitField,cOctalZero,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom
if exists("c_no_curly_error")
if s:ft ==# 'cpp' && !exists("cpp_no_cpp11")
syn region cParen transparent start='(' end=')' contains=ALLBUT,@cParenGroup,cCppParen,@cStringGroup,@Spell
" cCppParen: same as cParen but ends at end-of-line; used in cDefine
syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell
syn match cParenError display ")"
syn match cErrInParen display contained "^^<%\|^%>"
else
syn region cParen transparent start='(' end=')' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cCppParen,@cStringGroup,@Spell
" cCppParen: same as cParen but ends at end-of-line; used in cDefine
syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell
syn match cParenError display ")"
syn match cErrInParen display contained "^[{}]\|^<%\|^%>"
endif
elseif exists("c_no_bracket_error")
if s:ft ==# 'cpp' && !exists("cpp_no_cpp11")
syn region cParen transparent start='(' end=')' contains=ALLBUT,@cParenGroup,cCppParen,@cStringGroup,@Spell
" cCppParen: same as cParen but ends at end-of-line; used in cDefine
syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell
syn match cParenError display ")"
syn match cErrInParen display contained "<%\|%>"
else
syn region cParen transparent start='(' end=')' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cCppParen,@cStringGroup,@Spell
" cCppParen: same as cParen but ends at end-of-line; used in cDefine
syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell
syn match cParenError display ")"
syn match cErrInParen display contained "[{}]\|<%\|%>"
endif
else
if s:ft ==# 'cpp' && !exists("cpp_no_cpp11")
syn region cParen transparent start='(' end=')' contains=ALLBUT,@cParenGroup,cCppParen,cErrInBracket,cCppBracket,@cStringGroup,@Spell
" cCppParen: same as cParen but ends at end-of-line; used in cDefine
syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cErrInBracket,cParen,cBracket,cString,@Spell
syn match cParenError display "[\])]"
syn match cErrInParen display contained "<%\|%>"
syn region cBracket transparent start='\[\|<::\@!' end=']\|:>' contains=ALLBUT,@cParenGroup,cErrInParen,cCppParen,cCppBracket,@cStringGroup,@Spell
else
syn region cParen transparent start='(' end=')' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cCppParen,cErrInBracket,cCppBracket,@cStringGroup,@Spell
" cCppParen: same as cParen but ends at end-of-line; used in cDefine
syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cErrInBracket,cParen,cBracket,cString,@Spell
syn match cParenError display "[\])]"
syn match cErrInParen display contained "[\]{}]\|<%\|%>"
syn region cBracket transparent start='\[\|<::\@!' end=']\|:>' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cErrInParen,cCppParen,cCppBracket,@cStringGroup,@Spell
endif
" cCppBracket: same as cParen but ends at end-of-line; used in cDefine
syn region cCppBracket transparent start='\[\|<::\@!' skip='\\$' excludenl end=']\|:>' end='$' contained contains=ALLBUT,@cParenGroup,cErrInParen,cParen,cBracket,cString,@Spell
syn match cErrInBracket display contained "[);{}]\|<%\|%>"
endif
if s:ft ==# 'c' || exists("cpp_no_cpp11")
syn region cBadBlock keepend start="{" end="}" contained containedin=cParen,cBracket,cBadBlock transparent fold
endif
"integer number, or floating point number without a dot and with "f".
syn case ignore
syn match cNumbers display transparent "\<\d\|\.\d" contains=cNumber,cFloat,cOctalError,cOctal
" Same, but without octal error (for comments)
syn match cNumbersCom display contained transparent "\<\d\|\.\d" contains=cNumber,cFloat,cOctal
syn match cNumber display contained "\d\+\(u\=l\{0,2}\|ll\=u\)\>"
"hex number
syn match cNumber display contained "0x\x\+\(u\=l\{0,2}\|ll\=u\)\>"
" Flag the first zero of an octal number as something special
syn match cOctal display contained "0\o\+\(u\=l\{0,2}\|ll\=u\)\>" contains=cOctalZero
syn match cOctalZero display contained "\<0"
syn match cFloat display contained "\d\+f"
"floating point number, with dot, optional exponent
syn match cFloat display contained "\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\="
"floating point number, starting with a dot, optional exponent
syn match cFloat display contained "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>"
"floating point number, without dot, with exponent
syn match cFloat display contained "\d\+e[-+]\=\d\+[fl]\=\>"
if !exists("c_no_c99")
"hexadecimal floating point number, optional leading digits, with dot, with exponent
syn match cFloat display contained "0x\x*\.\x\+p[-+]\=\d\+[fl]\=\>"
"hexadecimal floating point number, with leading digits, optional dot, with exponent
syn match cFloat display contained "0x\x\+\.\=p[-+]\=\d\+[fl]\=\>"
endif
" flag an octal number with wrong digits
syn match cOctalError display contained "0\o*[89]\d*"
syn case match
if exists("c_comment_strings")
" A comment can contain cString, cCharacter and cNumber.
" But a "*/" inside a cString in a cComment DOES end the comment! So we
" need to use a special type of cString: cCommentString, which also ends on
" "*/", and sees a "*" at the start of the line as comment again.
" Unfortunately this doesn't very well work for // type of comments :-(
syn match cCommentSkip contained "^\s*\*\($\|\s\+\)"
syn region cCommentString contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=cSpecial,cCommentSkip
syn region cComment2String contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end="$" contains=cSpecial
syn region cCommentL start="//" skip="\\$" end="$" keepend contains=@cCommentGroup,cComment2String,cCharacter,cNumbersCom,cSpaceError,@Spell
if exists("c_no_comment_fold")
" Use "extend" here to have preprocessor lines not terminate halfway a
" comment.
syn region cComment matchgroup=cCommentStart start="/\*" end="\*/" contains=@cCommentGroup,cCommentStartError,cCommentString,cCharacter,cNumbersCom,cSpaceError,@Spell extend
else
syn region cComment matchgroup=cCommentStart start="/\*" end="\*/" contains=@cCommentGroup,cCommentStartError,cCommentString,cCharacter,cNumbersCom,cSpaceError,@Spell fold extend
endif
else
syn region cCommentL start="//" skip="\\$" end="$" keepend contains=@cCommentGroup,cSpaceError,@Spell
if exists("c_no_comment_fold")
syn region cComment matchgroup=cCommentStart start="/\*" end="\*/" contains=@cCommentGroup,cCommentStartError,cSpaceError,@Spell extend
else
syn region cComment matchgroup=cCommentStart start="/\*" end="\*/" contains=@cCommentGroup,cCommentStartError,cSpaceError,@Spell fold extend
endif
endif
" keep a // comment separately, it terminates a preproc. conditional
syn match cCommentError display "\*/"
syn match cCommentStartError display "/\*"me=e-1 contained
syn keyword cOperator sizeof
if exists("c_gnu")
syn keyword cStatement __asm__
syn keyword cOperator typeof __real__ __imag__
endif
syn keyword cType int long short char void
syn keyword cType signed unsigned float double
if !exists("c_no_ansi") || exists("c_ansi_typedefs")
syn keyword cType size_t ssize_t off_t wchar_t ptrdiff_t sig_atomic_t fpos_t
syn keyword cType clock_t time_t va_list jmp_buf FILE DIR div_t ldiv_t
syn keyword cType mbstate_t wctrans_t wint_t wctype_t
endif
if !exists("c_no_c99") " ISO C99
syn keyword cType _Bool bool _Complex complex _Imaginary imaginary
syn keyword cType int8_t int16_t int32_t int64_t
syn keyword cType uint8_t uint16_t uint32_t uint64_t
if !exists("c_no_bsd")
" These are BSD specific.
syn keyword cType u_int8_t u_int16_t u_int32_t u_int64_t
endif
syn keyword cType int_least8_t int_least16_t int_least32_t int_least64_t
syn keyword cType uint_least8_t uint_least16_t uint_least32_t uint_least64_t
syn keyword cType int_fast8_t int_fast16_t int_fast32_t int_fast64_t
syn keyword cType uint_fast8_t uint_fast16_t uint_fast32_t uint_fast64_t
syn keyword cType intptr_t uintptr_t
syn keyword cType intmax_t uintmax_t
endif
if exists("c_gnu")
syn keyword cType __label__ __complex__ __volatile__
endif
syn keyword cStructure struct union enum typedef
syn keyword cStorageClass static register auto volatile extern const
if exists("c_gnu")
syn keyword cStorageClass inline __attribute__
endif
if !exists("c_no_c99") && s:ft !=# 'cpp'
syn keyword cStorageClass inline restrict
endif
if !exists("c_no_c11")
syn keyword cStorageClass _Alignas alignas
syn keyword cOperator _Alignof alignof
syn keyword cStorageClass _Atomic
syn keyword cOperator _Generic
syn keyword cStorageClass _Noreturn noreturn
syn keyword cOperator _Static_assert static_assert
syn keyword cStorageClass _Thread_local thread_local
syn keyword cType char16_t char32_t
endif
if !exists("c_no_ansi") || exists("c_ansi_constants") || exists("c_gnu")
if exists("c_gnu")
syn keyword cConstant __GNUC__ __FUNCTION__ __PRETTY_FUNCTION__ __func__
endif
syn keyword cConstant __LINE__ __FILE__ __DATE__ __TIME__ __STDC__
syn keyword cConstant __STDC_VERSION__
syn keyword cConstant CHAR_BIT MB_LEN_MAX MB_CUR_MAX
syn keyword cConstant UCHAR_MAX UINT_MAX ULONG_MAX USHRT_MAX
syn keyword cConstant CHAR_MIN INT_MIN LONG_MIN SHRT_MIN
syn keyword cConstant CHAR_MAX INT_MAX LONG_MAX SHRT_MAX
syn keyword cConstant SCHAR_MIN SINT_MIN SLONG_MIN SSHRT_MIN
syn keyword cConstant SCHAR_MAX SINT_MAX SLONG_MAX SSHRT_MAX
if !exists("c_no_c99")
syn keyword cConstant __func__ __VA_ARGS__
syn keyword cConstant LLONG_MIN LLONG_MAX ULLONG_MAX
syn keyword cConstant INT8_MIN INT16_MIN INT32_MIN INT64_MIN
syn keyword cConstant INT8_MAX INT16_MAX INT32_MAX INT64_MAX
syn keyword cConstant UINT8_MAX UINT16_MAX UINT32_MAX UINT64_MAX
syn keyword cConstant INT_LEAST8_MIN INT_LEAST16_MIN INT_LEAST32_MIN INT_LEAST64_MIN
syn keyword cConstant INT_LEAST8_MAX INT_LEAST16_MAX INT_LEAST32_MAX INT_LEAST64_MAX
syn keyword cConstant UINT_LEAST8_MAX UINT_LEAST16_MAX UINT_LEAST32_MAX UINT_LEAST64_MAX
syn keyword cConstant INT_FAST8_MIN INT_FAST16_MIN INT_FAST32_MIN INT_FAST64_MIN
syn keyword cConstant INT_FAST8_MAX INT_FAST16_MAX INT_FAST32_MAX INT_FAST64_MAX
syn keyword cConstant UINT_FAST8_MAX UINT_FAST16_MAX UINT_FAST32_MAX UINT_FAST64_MAX
syn keyword cConstant INTPTR_MIN INTPTR_MAX UINTPTR_MAX
syn keyword cConstant INTMAX_MIN INTMAX_MAX UINTMAX_MAX
syn keyword cConstant PTRDIFF_MIN PTRDIFF_MAX SIG_ATOMIC_MIN SIG_ATOMIC_MAX
syn keyword cConstant SIZE_MAX WCHAR_MIN WCHAR_MAX WINT_MIN WINT_MAX
endif
syn keyword cConstant FLT_RADIX FLT_ROUNDS
syn keyword cConstant FLT_DIG FLT_MANT_DIG FLT_EPSILON
syn keyword cConstant DBL_DIG DBL_MANT_DIG DBL_EPSILON
syn keyword cConstant LDBL_DIG LDBL_MANT_DIG LDBL_EPSILON
syn keyword cConstant FLT_MIN FLT_MAX FLT_MIN_EXP FLT_MAX_EXP
syn keyword cConstant FLT_MIN_10_EXP FLT_MAX_10_EXP
syn keyword cConstant DBL_MIN DBL_MAX DBL_MIN_EXP DBL_MAX_EXP
syn keyword cConstant DBL_MIN_10_EXP DBL_MAX_10_EXP
syn keyword cConstant LDBL_MIN LDBL_MAX LDBL_MIN_EXP LDBL_MAX_EXP
syn keyword cConstant LDBL_MIN_10_EXP LDBL_MAX_10_EXP
syn keyword cConstant HUGE_VAL CLOCKS_PER_SEC NULL
syn keyword cConstant LC_ALL LC_COLLATE LC_CTYPE LC_MONETARY
syn keyword cConstant LC_NUMERIC LC_TIME
syn keyword cConstant SIG_DFL SIG_ERR SIG_IGN
syn keyword cConstant SIGABRT SIGFPE SIGILL SIGHUP SIGINT SIGSEGV SIGTERM
" Add POSIX signals as well...
syn keyword cConstant SIGABRT SIGALRM SIGCHLD SIGCONT SIGFPE SIGHUP
syn keyword cConstant SIGILL SIGINT SIGKILL SIGPIPE SIGQUIT SIGSEGV
syn keyword cConstant SIGSTOP SIGTERM SIGTRAP SIGTSTP SIGTTIN SIGTTOU
syn keyword cConstant SIGUSR1 SIGUSR2
syn keyword cConstant _IOFBF _IOLBF _IONBF BUFSIZ EOF WEOF
syn keyword cConstant FOPEN_MAX FILENAME_MAX L_tmpnam
syn keyword cConstant SEEK_CUR SEEK_END SEEK_SET
syn keyword cConstant TMP_MAX stderr stdin stdout
syn keyword cConstant EXIT_FAILURE EXIT_SUCCESS RAND_MAX
" POSIX 2001
syn keyword cConstant SIGBUS SIGPOLL SIGPROF SIGSYS SIGURG
syn keyword cConstant SIGVTALRM SIGXCPU SIGXFSZ
" non-POSIX signals
syn keyword cConstant SIGWINCH SIGINFO
" Add POSIX errors as well
syn keyword cConstant E2BIG EACCES EAGAIN EBADF EBADMSG EBUSY
syn keyword cConstant ECANCELED ECHILD EDEADLK EDOM EEXIST EFAULT
syn keyword cConstant EFBIG EILSEQ EINPROGRESS EINTR EINVAL EIO EISDIR
syn keyword cConstant EMFILE EMLINK EMSGSIZE ENAMETOOLONG ENFILE ENODEV
syn keyword cConstant ENOENT ENOEXEC ENOLCK ENOMEM ENOSPC ENOSYS
syn keyword cConstant ENOTDIR ENOTEMPTY ENOTSUP ENOTTY ENXIO EPERM
syn keyword cConstant EPIPE ERANGE EROFS ESPIPE ESRCH ETIMEDOUT EXDEV
" math.h
syn keyword cConstant M_E M_LOG2E M_LOG10E M_LN2 M_LN10 M_PI M_PI_2 M_PI_4
syn keyword cConstant M_1_PI M_2_PI M_2_SQRTPI M_SQRT2 M_SQRT1_2
endif
if !exists("c_no_c99") " ISO C99
syn keyword cConstant true false
endif
" Accept %: for # (C99)
syn region cPreCondit start="^\s*\zs\(%:\|#\)\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" keepend contains=cComment,cCommentL,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError
syn match cPreConditMatch display "^\s*\zs\(%:\|#\)\s*\(else\|endif\)\>"
if !exists("c_no_if0")
syn cluster cCppOutInGroup contains=cCppInIf,cCppInElse,cCppInElse2,cCppOutIf,cCppOutIf2,cCppOutElse,cCppInSkip,cCppOutSkip
syn region cCppOutWrapper start="^\s*\zs\(%:\|#\)\s*if\s\+0\+\s*\($\|//\|/\*\|&\)" end=".\@=\|$" contains=cCppOutIf,cCppOutElse,@NoSpell fold
syn region cCppOutIf contained start="0\+" matchgroup=cCppOutWrapper end="^\s*\(%:\|#\)\s*endif\>" contains=cCppOutIf2,cCppOutElse
if !exists("c_no_if0_fold")
syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0\+\s*\($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell fold
else
syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0\+\s*\($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell
endif
syn region cCppOutElse contained matchgroup=cCppOutWrapper start="^\s*\zs\(%:\|#\)\s*\(else\|elif\)" end="^\s*\zs\(%:\|#\)\s*endif\>"me=s-1 contains=TOP,cPreCondit
syn region cCppInWrapper start="^\s*\zs\(%:\|#\)\s*if\s\+0*[1-9]\d*\s*\($\|//\|/\*\||\)" end=".\@=\|$" contains=cCppInIf,cCppInElse fold
syn region cCppInIf contained matchgroup=cCppInWrapper start="\d\+" end="^\s*\zs\(%:\|#\)\s*endif\>" contains=TOP,cPreCondit
if !exists("c_no_if0_fold")
syn region cCppInElse contained start="^\s*\zs\(%:\|#\)\s*\(else\>\|elif\s\+\(0*[1-9]\d*\s*\($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2 fold
else
syn region cCppInElse contained start="^\s*\zs\(%:\|#\)\s*\(else\>\|elif\s\+\(0*[1-9]\d*\s*\($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2
endif
syn region cCppInElse2 contained matchgroup=cCppInWrapper start="^\s*\zs\(%:\|#\)\s*\(else\|elif\)\([^/]\|/[^/*]\)*" end="^\s*\zs\(%:\|#\)\s*endif\>"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell
syn region cCppOutSkip contained start="^\s*\zs\(%:\|#\)\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\zs\(%:\|#\)\s*endif\>" contains=cSpaceError,cCppOutSkip
syn region cCppInSkip contained matchgroup=cCppInWrapper start="^\s*\zs\(%:\|#\)\s*\(if\s\+\(\d\+\s*\($\|//\|/\*\||\|&\)\)\@!\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\zs\(%:\|#\)\s*endif\>" containedin=cCppOutElse,cCppInIf,cCppInSkip contains=TOP,cPreProc
endif
syn region cIncluded display contained start=+"+ skip=+\\\\\|\\"+ end=+"+
syn match cIncluded display contained "<[^>]*>"
syn match cInclude display "^\s*\zs\(%:\|#\)\s*include\>\s*["<]" contains=cIncluded
"syn match cLineSkip "\\$"
syn cluster cPreProcGroup contains=cPreCondit,cIncluded,cInclude,cDefine,cErrInParen,cErrInBracket,cUserLabel,cSpecial,cOctalZero,cCppOutWrapper,cCppInWrapper,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cString,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cParen,cBracket,cMulti,cBadBlock
syn region cDefine start="^\s*\zs\(%:\|#\)\s*\(define\|undef\)\>" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell
syn region cPreProc start="^\s*\zs\(%:\|#\)\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell
" Highlight User Labels
syn cluster cMultiGroup contains=cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserCont,cUserLabel,cBitField,cOctalZero,cCppOutWrapper,cCppInWrapper,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cCppParen,cCppBracket,cCppString
if s:ft ==# 'c' || exists("cpp_no_cpp11")
syn region cMulti transparent start='?' skip='::' end=':' contains=ALLBUT,@cMultiGroup,@Spell,@cStringGroup
endif
" Avoid matching foo::bar() in C++ by requiring that the next char is not ':'
syn cluster cLabelGroup contains=cUserLabel
syn match cUserCont display "^\s*\zs\I\i*\s*:$" contains=@cLabelGroup
syn match cUserCont display ";\s*\zs\I\i*\s*:$" contains=@cLabelGroup
if s:ft ==# 'cpp'
syn match cUserCont display "^\s*\zs\%(class\|struct\|enum\)\@!\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
syn match cUserCont display ";\s*\zs\%(class\|struct\|enum\)\@!\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
else
syn match cUserCont display "^\s*\zs\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
syn match cUserCont display ";\s*\zs\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
endif
syn match cUserLabel display "\I\i*" contained
" Avoid recognizing most bitfields as labels
syn match cBitField display "^\s*\zs\I\i*\s*:\s*[1-9]"me=e-1 contains=cType
syn match cBitField display ";\s*\zs\I\i*\s*:\s*[1-9]"me=e-1 contains=cType
if exists("c_minlines")
let b:c_minlines = c_minlines
else
if !exists("c_no_if0")
let b:c_minlines = 50 " #if 0 constructs can be long
else
let b:c_minlines = 15 " mostly for () constructs
endif
endif
if exists("c_curly_error")
syn sync fromstart
else
exec "syn sync ccomment cComment minlines=" . b:c_minlines
endif
" Define the default highlighting.
" Only used when an item doesn't have highlighting yet
hi def link cFormat cSpecial
hi def link cCppString cString
hi def link cCommentL cComment
hi def link cCommentStart cComment
hi def link cLabel Label
hi def link cUserLabel Label
hi def link cConditional Conditional
hi def link cRepeat Repeat
hi def link cCharacter Character
hi def link cSpecialCharacter cSpecial
hi def link cNumber Number
hi def link cOctal Number
hi def link cOctalZero PreProc " link this to Error if you want
hi def link cFloat Float
hi def link cOctalError cError
hi def link cParenError cError
hi def link cErrInParen cError
hi def link cErrInBracket cError
hi def link cCommentError cError
hi def link cCommentStartError cError
hi def link cSpaceError cError
hi def link cSpecialError cError
hi def link cCurlyError cError
hi def link cOperator Operator
hi def link cStructure Structure
hi def link cStorageClass StorageClass
hi def link cInclude Include
hi def link cPreProc PreProc
hi def link cDefine Macro
hi def link cIncluded cString
hi def link cError Error
hi def link cStatement Statement
hi def link cCppInWrapper cCppOutWrapper
hi def link cCppOutWrapper cPreCondit
hi def link cPreConditMatch cPreCondit
hi def link cPreCondit PreCondit
hi def link cType Type
hi def link cConstant Constant
hi def link cCommentString cString
hi def link cComment2String cString
hi def link cCommentSkip cComment
hi def link cString String
hi def link cComment Comment
hi def link cSpecial SpecialChar
hi def link cTodo Todo
hi def link cBadContinuation Error
hi def link cCppOutSkip cCppOutIf2
hi def link cCppInElse2 cCppOutIf2
hi def link cCppOutIf2 cCppOut
hi def link cCppOut Comment
let b:current_syntax = "c"
unlet s:ft
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: ts=8

View File

@ -1,76 +0,0 @@
" Vim syntax file
" Language: C++
" Current Maintainer: vim-jp (https://github.com/vim-jp/vim-cpp)
" Previous Maintainer: Ken Shan <ccshan@post.harvard.edu>
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
" Read the C syntax to start with
runtime! syntax/c.vim
unlet b:current_syntax
" C++ extensions
syn keyword cppStatement new delete this friend using
syn keyword cppAccess public protected private
syn keyword cppModifier inline virtual explicit export
syn keyword cppType bool wchar_t
syn keyword cppExceptions throw try catch
syn keyword cppOperator operator typeid
syn keyword cppOperator and bitor or xor compl bitand and_eq or_eq xor_eq not not_eq
syn match cppCast "\<\(const\|static\|dynamic\|reinterpret\)_cast\s*<"me=e-1
syn match cppCast "\<\(const\|static\|dynamic\|reinterpret\)_cast\s*$"
syn keyword cppStorageClass mutable
syn keyword cppStructure class typename template namespace
syn keyword cppBoolean true false
syn keyword cppConstant __cplusplus
" C++ 11 extensions
if !exists("cpp_no_cpp11")
syn keyword cppModifier override final
syn keyword cppType nullptr_t auto
syn keyword cppExceptions noexcept
syn keyword cppStorageClass constexpr decltype thread_local
syn keyword cppConstant nullptr
syn keyword cppConstant ATOMIC_FLAG_INIT ATOMIC_VAR_INIT
syn keyword cppConstant ATOMIC_BOOL_LOCK_FREE ATOMIC_CHAR_LOCK_FREE
syn keyword cppConstant ATOMIC_CHAR16_T_LOCK_FREE ATOMIC_CHAR32_T_LOCK_FREE
syn keyword cppConstant ATOMIC_WCHAR_T_LOCK_FREE ATOMIC_SHORT_LOCK_FREE
syn keyword cppConstant ATOMIC_INT_LOCK_FREE ATOMIC_LONG_LOCK_FREE
syn keyword cppConstant ATOMIC_LLONG_LOCK_FREE ATOMIC_POINTER_LOCK_FREE
syn region cppRawString matchgroup=cppRawStringDelimiter start=+\%(u8\|[uLU]\)\=R"\z([[:alnum:]_{}[\]#<>%:;.?*\+\-/\^&|~!=,"']\{,16}\)(+ end=+)\z1"+ contains=@Spell
endif
" C++ 14 extensions
if !exists("cpp_no_cpp14")
syn case ignore
syn match cppNumber display "\<0b[01]\('\=[01]\+\)*\(u\=l\{0,2}\|ll\=u\)\>"
syn match cppNumber display "\<[1-9]\('\=\d\+\)*\(u\=l\{0,2}\|ll\=u\)\>" contains=cFloat
syn match cppNumber display "\<0x\x\('\=\x\+\)*\(u\=l\{0,2}\|ll\=u\)\>"
syn case match
endif
" The minimum and maximum operators in GNU C++
syn match cppMinMax "[<>]?"
" Default highlighting
hi def link cppAccess cppStatement
hi def link cppCast cppStatement
hi def link cppExceptions Exception
hi def link cppOperator Operator
hi def link cppStatement Statement
hi def link cppModifier Type
hi def link cppType Type
hi def link cppStorageClass StorageClass
hi def link cppStructure Structure
hi def link cppBoolean Boolean
hi def link cppConstant Constant
hi def link cppRawStringDelimiter Delimiter
hi def link cppRawString String
hi def link cppNumber Number
let b:current_syntax = "cpp"
" vim: ts=8

View File

@ -1,78 +0,0 @@
" Vim syntax file
" Language: generic git output
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2010 May 21
if exists("b:current_syntax")
finish
endif
syn case match
syn sync minlines=50
syn include @gitDiff syntax/diff.vim
syn region gitHead start=/\%^/ end=/^$/
syn region gitHead start=/\%(^commit\%( \x\{40\}\)\{1,\}\%(\s*(.*)\)\=$\)\@=/ end=/^$/
" For git reflog and git show ...^{tree}, avoid sync issues
syn match gitHead /^\d\{6\} \%(\w\{4} \)\=\x\{40\}\%( [0-3]\)\=\t.*/
syn match gitHead /^\x\{40\} \x\{40}\t.*/
syn region gitDiff start=/^\%(diff --git \)\@=/ end=/^\%(diff --\|$\)\@=/ contains=@gitDiff fold
syn region gitDiff start=/^\%(@@ -\)\@=/ end=/^\%(diff --\%(git\|cc\|combined\) \|$\)\@=/ contains=@gitDiff
syn region gitDiffMerge start=/^\%(diff --\%(cc\|combined\) \)\@=/ end=/^\%(diff --\|$\)\@=/ contains=@gitDiff
syn region gitDiffMerge start=/^\%(@@@@* -\)\@=/ end=/^\%(diff --\|$\)\@=/ contains=@gitDiff
syn match gitDiffAdded "^ \++.*" contained containedin=gitDiffMerge
syn match gitDiffRemoved "^ \+-.*" contained containedin=gitDiffMerge
syn match gitKeyword /^\%(object\|type\|tag\|commit\|tree\|parent\|encoding\)\>/ contained containedin=gitHead nextgroup=gitHash,gitType skipwhite
syn match gitKeyword /^\%(tag\>\|ref:\)/ contained containedin=gitHead nextgroup=gitReference skipwhite
syn match gitKeyword /^Merge:/ contained containedin=gitHead nextgroup=gitHashAbbrev skipwhite
syn match gitMode /^\d\{6\}/ contained containedin=gitHead nextgroup=gitType,gitHash skipwhite
syn match gitIdentityKeyword /^\%(author\|committer\|tagger\)\>/ contained containedin=gitHead nextgroup=gitIdentity skipwhite
syn match gitIdentityHeader /^\%(Author\|Commit\|Tagger\):/ contained containedin=gitHead nextgroup=gitIdentity skipwhite
syn match gitDateHeader /^\%(AuthorDate\|CommitDate\|Date\):/ contained containedin=gitHead nextgroup=gitDate skipwhite
syn match gitReflogHeader /^Reflog:/ contained containedin=gitHead nextgroup=gitReflogMiddle skipwhite
syn match gitReflogHeader /^Reflog message:/ contained containedin=gitHead skipwhite
syn match gitReflogMiddle /\S\+@{\d\+} (/he=e-2 nextgroup=gitIdentity
syn match gitDate /\<\u\l\l \u\l\l \d\=\d \d\d:\d\d:\d\d \d\d\d\d [+-]\d\d\d\d/ contained
syn match gitDate /-\=\d\+ [+-]\d\d\d\d\>/ contained
syn match gitDate /\<\d\+ \l\+ ago\>/ contained
syn match gitType /\<\%(tag\|commit\|tree\|blob\)\>/ contained nextgroup=gitHash skipwhite
syn match gitStage /\<\d\t\@=/ contained
syn match gitReference /\S\+\S\@!/ contained
syn match gitHash /\<\x\{40\}\>/ contained nextgroup=gitIdentity,gitStage,gitHash skipwhite
syn match gitHash /^\<\x\{40\}\>/ containedin=gitHead contained nextgroup=gitHash skipwhite
syn match gitHashAbbrev /\<\x\{4,40\}\>/ contained nextgroup=gitHashAbbrev skipwhite
syn match gitHashAbbrev /\<\x\{4,39\}\.\.\./he=e-3 contained nextgroup=gitHashAbbrev skipwhite
syn match gitIdentity /\S.\{-\} <[^>]*>/ contained nextgroup=gitDate skipwhite
syn region gitEmail matchgroup=gitEmailDelimiter start=/</ end=/>/ keepend oneline contained containedin=gitIdentity
syn match gitNotesHeader /^Notes:\ze\n /
hi def link gitDateHeader gitIdentityHeader
hi def link gitIdentityHeader gitIdentityKeyword
hi def link gitIdentityKeyword Label
hi def link gitNotesHeader gitKeyword
hi def link gitReflogHeader gitKeyword
hi def link gitKeyword Keyword
hi def link gitIdentity String
hi def link gitEmailDelimiter Delimiter
hi def link gitEmail Special
hi def link gitDate Number
hi def link gitMode Number
hi def link gitHashAbbrev gitHash
hi def link gitHash Identifier
hi def link gitReflogMiddle gitReference
hi def link gitReference Function
hi def link gitStage gitType
hi def link gitType Type
hi def link gitDiffAdded diffAdded
hi def link gitDiffRemoved diffRemoved
let b:current_syntax = "git"

View File

@ -1,84 +0,0 @@
" Vim syntax file
" Language: git commit file
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Filenames: *.git/COMMIT_EDITMSG
" Last Change: 2013 May 30
if exists("b:current_syntax")
finish
endif
syn case match
syn sync minlines=50
if has("spell")
syn spell toplevel
endif
syn include @gitcommitDiff syntax/diff.vim
syn region gitcommitDiff start=/\%(^diff --\%(git\|cc\|combined\) \)\@=/ end=/^\%(diff --\|$\|#\)\@=/ fold contains=@gitcommitDiff
syn match gitcommitFirstLine "\%^[^#].*" nextgroup=gitcommitBlank skipnl
syn match gitcommitSummary "^.\{0,50\}" contained containedin=gitcommitFirstLine nextgroup=gitcommitOverflow contains=@Spell
syn match gitcommitOverflow ".*" contained contains=@Spell
syn match gitcommitBlank "^[^#].*" contained contains=@Spell
syn match gitcommitComment "^#.*"
syn match gitcommitHead "^\%(# .*\n\)\+#$" contained transparent
syn match gitcommitOnBranch "\%(^# \)\@<=On branch" contained containedin=gitcommitComment nextgroup=gitcommitBranch skipwhite
syn match gitcommitOnBranch "\%(^# \)\@<=Your branch .\{-\} '" contained containedin=gitcommitComment nextgroup=gitcommitBranch skipwhite
syn match gitcommitBranch "[^ ']\+" contained
syn match gitcommitNoBranch "\%(^# \)\@<=Not currently on any branch." contained containedin=gitcommitComment
syn match gitcommitHeader "\%(^# \)\@<=.*:$" contained containedin=gitcommitComment
syn region gitcommitAuthor matchgroup=gitCommitHeader start=/\%(^# \)\@<=\%(Author\|Committer\):/ end=/$/ keepend oneline contained containedin=gitcommitComment transparent
syn match gitcommitNoChanges "\%(^# \)\@<=No changes$" contained containedin=gitcommitComment
syn region gitcommitUntracked start=/^# Untracked files:/ end=/^#$\|^#\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitUntrackedFile fold
syn match gitcommitUntrackedFile "\t\@<=.*" contained
syn region gitcommitDiscarded start=/^# Change\%(s not staged for commit\|d but not updated\):/ end=/^#$\|^#\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitDiscardedType fold
syn region gitcommitSelected start=/^# Changes to be committed:/ end=/^#$\|^#\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitSelectedType fold
syn region gitcommitUnmerged start=/^# Unmerged paths:/ end=/^#$\|^#\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitUnmergedType fold
syn match gitcommitDiscardedType "\t\@<=[[:lower:]][^:]*[[:lower:]]: "he=e-2 contained containedin=gitcommitComment nextgroup=gitcommitDiscardedFile skipwhite
syn match gitcommitSelectedType "\t\@<=[[:lower:]][^:]*[[:lower:]]: "he=e-2 contained containedin=gitcommitComment nextgroup=gitcommitSelectedFile skipwhite
syn match gitcommitUnmergedType "\t\@<=[[:lower:]][^:]*[[:lower:]]: "he=e-2 contained containedin=gitcommitComment nextgroup=gitcommitUnmergedFile skipwhite
syn match gitcommitDiscardedFile ".\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitDiscardedArrow
syn match gitcommitSelectedFile ".\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitSelectedArrow
syn match gitcommitUnmergedFile ".\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitSelectedArrow
syn match gitcommitDiscardedArrow " -> " contained nextgroup=gitcommitDiscardedFile
syn match gitcommitSelectedArrow " -> " contained nextgroup=gitcommitSelectedFile
syn match gitcommitUnmergedArrow " -> " contained nextgroup=gitcommitSelectedFile
syn match gitcommitWarning "\%^[^#].*: needs merge$" nextgroup=gitcommitWarning skipnl
syn match gitcommitWarning "^[^#].*: needs merge$" nextgroup=gitcommitWarning skipnl contained
syn match gitcommitWarning "^\%(no changes added to commit\|nothing \%(added \)\=to commit\)\>.*\%$"
hi def link gitcommitSummary Keyword
hi def link gitcommitComment Comment
hi def link gitcommitUntracked gitcommitComment
hi def link gitcommitDiscarded gitcommitComment
hi def link gitcommitSelected gitcommitComment
hi def link gitcommitUnmerged gitcommitComment
hi def link gitcommitOnBranch Comment
hi def link gitcommitBranch Special
hi def link gitcommitNoBranch gitCommitBranch
hi def link gitcommitDiscardedType gitcommitType
hi def link gitcommitSelectedType gitcommitType
hi def link gitcommitUnmergedType gitcommitType
hi def link gitcommitType Type
hi def link gitcommitNoChanges gitcommitHeader
hi def link gitcommitHeader PreProc
hi def link gitcommitUntrackedFile gitcommitFile
hi def link gitcommitDiscardedFile gitcommitFile
hi def link gitcommitSelectedFile gitcommitFile
hi def link gitcommitUnmergedFile gitcommitFile
hi def link gitcommitFile Constant
hi def link gitcommitDiscardedArrow gitcommitArrow
hi def link gitcommitSelectedArrow gitcommitArrow
hi def link gitcommitUnmergedArrow gitcommitArrow
hi def link gitcommitArrow gitcommitComment
"hi def link gitcommitOverflow Error
hi def link gitcommitBlank Error
let b:current_syntax = "gitcommit"

View File

@ -1,38 +0,0 @@
" Vim syntax file
" Language: git config file
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Filenames: gitconfig, .gitconfig, *.git/config
" Last Change: 2010 May 21
if exists("b:current_syntax")
finish
endif
setlocal iskeyword+=-
setlocal iskeyword-=_
syn case ignore
syn sync minlines=10
syn match gitconfigComment "[#;].*"
syn match gitconfigSection "\%(^\s*\)\@<=\[[a-z0-9.-]\+\]"
syn match gitconfigSection '\%(^\s*\)\@<=\[[a-z0-9.-]\+ \+\"\%([^\\"]\|\\.\)*"\]'
syn match gitconfigVariable "\%(^\s*\)\@<=\a\k*\%(\s*\%([=#;]\|$\)\)\@=" nextgroup=gitconfigAssignment skipwhite
syn region gitconfigAssignment matchgroup=gitconfigNone start=+=\s*+ skip=+\\+ end=+\s*$+ contained contains=gitconfigBoolean,gitconfigNumber,gitConfigString,gitConfigEscape,gitConfigError,gitconfigComment keepend
syn keyword gitconfigBoolean true false yes no contained
syn match gitconfigNumber "\d\+" contained
syn region gitconfigString matchgroup=gitconfigDelim start=+"+ skip=+\\+ end=+"+ matchgroup=gitconfigError end=+[^\\"]\%#\@!$+ contained contains=gitconfigEscape,gitconfigEscapeError
syn match gitconfigError +\\.+ contained
syn match gitconfigEscape +\\[\\"ntb]+ contained
syn match gitconfigEscape +\\$+ contained
hi def link gitconfigComment Comment
hi def link gitconfigSection Keyword
hi def link gitconfigVariable Identifier
hi def link gitconfigBoolean Boolean
hi def link gitconfigNumber Number
hi def link gitconfigString String
hi def link gitconfigDelim Delimiter
hi def link gitconfigEscape Delimiter
hi def link gitconfigError Error
let b:current_syntax = "gitconfig"

View File

@ -1,483 +0,0 @@
" For version 5.x: Clear all syntax items
" For versions greater than 6.x: Quit when a syntax file was already loaded
if v:version < 600
syntax clear
elseif exists('b:current_syntax')
finish
endif
"
" Commands
"
command! -buffer Python2Syntax let b:python_version_2 = 1 | let &syntax=&syntax
command! -buffer Python3Syntax let b:python_version_2 = 0 | let &syntax=&syntax
" Enable option if it's not defined
function! s:EnableByDefault(name)
if !exists(a:name)
let {a:name} = 1
endif
endfunction
" Check if option is enabled
function! s:Enabled(name)
return exists(a:name) && {a:name}
endfunction
" Is it Python 2 syntax?
function! s:Python2Syntax()
if exists('b:python_version_2')
return b:python_version_2
endif
return s:Enabled('g:python_version_2')
endfunction
"
" Default options
"
call s:EnableByDefault('g:python_slow_sync')
call s:EnableByDefault('g:python_highlight_builtin_funcs_kwarg')
if s:Enabled('g:python_highlight_all')
call s:EnableByDefault('g:python_highlight_builtins')
if s:Enabled('g:python_highlight_builtins')
call s:EnableByDefault('g:python_highlight_builtin_objs')
call s:EnableByDefault('g:python_highlight_builtin_funcs')
endif
call s:EnableByDefault('g:python_highlight_exceptions')
call s:EnableByDefault('g:python_highlight_string_formatting')
call s:EnableByDefault('g:python_highlight_string_format')
call s:EnableByDefault('g:python_highlight_string_templates')
call s:EnableByDefault('g:python_highlight_indent_errors')
call s:EnableByDefault('g:python_highlight_space_errors')
call s:EnableByDefault('g:python_highlight_doctests')
call s:EnableByDefault('g:python_print_as_function')
call s:EnableByDefault('g:python_highlight_class_vars')
call s:EnableByDefault('g:python_highlight_operators')
endif
"
" Keywords
"
syn keyword pythonStatement break continue del return pass yield global assert lambda with
syn keyword pythonStatement raise nextgroup=pythonExClass skipwhite
syn keyword pythonStatement def class nextgroup=pythonFunction skipwhite
if s:Enabled('g:python_highlight_class_vars')
syn keyword pythonClassVar self cls
endif
syn keyword pythonRepeat for while
syn keyword pythonConditional if elif else
syn keyword pythonException try except finally
" The standard pyrex.vim unconditionally removes the pythonInclude group, so
" we provide a dummy group here to avoid crashing pyrex.vim.
syn keyword pythonInclude import
syn keyword pythonImport import
syn match pythonRaiseFromStatement '\<from\>'
syn match pythonImport '^\s*\zsfrom\>'
if s:Python2Syntax()
if !s:Enabled('g:python_print_as_function')
syn keyword pythonStatement print
endif
syn keyword pythonStatement exec
syn keyword pythonImport as
syn match pythonFunction '[a-zA-Z_][a-zA-Z0-9_]*' display contained
else
syn keyword pythonStatement as nonlocal
syn match pythonStatement '\v\.@<!<await>'
syn match pythonFunction '\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*' display contained
syn match pythonStatement '\<async\s\+def\>' nextgroup=pythonFunction skipwhite
syn match pythonStatement '\<async\s\+with\>'
syn match pythonStatement '\<async\s\+for\>'
syn cluster pythonExpression contains=pythonStatement,pythonRepeat,pythonConditional,pythonOperator,pythonNumber,pythonHexNumber,pythonOctNumber,pythonBinNumber,pythonFloat,pythonString,pythonBytes,pythonBoolean,pythonBuiltinObj,pythonBuiltinFunc
endif
"
" Operators
"
syn keyword pythonOperator and in is not or
if s:Enabled('g:python_highlight_operators')
syn match pythonOperator '\V=\|-\|+\|*\|@\|/\|%\|&\||\|^\|~\|<\|>\|!='
endif
syn match pythonError '[$?]\|\([-+@%&|^~]\)\1\{1,}\|\([=*/<>]\)\2\{2,}\|\([+@/%&|^~<>]\)\3\@![-+*@/%&|^~<>]\|\*\*[*@/%&|^<>]\|=[*@/%&|^<>]\|-[+*@/%&|^~<]\|[<!>]\+=\{2,}\|!\{2,}=\+' display
"
" Decorators (new in Python 2.4)
"
syn match pythonDecorator '^\s*\zs@' display nextgroup=pythonDottedName skipwhite
if s:Python2Syntax()
syn match pythonDottedName '[a-zA-Z_][a-zA-Z0-9_]*\%(\.[a-zA-Z_][a-zA-Z0-9_]*\)*' display contained
else
syn match pythonDottedName '\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\%(\.\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\)*' display contained
endif
syn match pythonDot '\.' display containedin=pythonDottedName
"
" Comments
"
syn match pythonComment '#.*$' display contains=pythonTodo,@Spell
if !s:Enabled('g:python_highlight_file_headers_as_comments')
syn match pythonRun '\%^#!.*$'
syn match pythonCoding '\%^.*\%(\n.*\)\?#.*coding[:=]\s*[0-9A-Za-z-_.]\+.*$'
endif
syn keyword pythonTodo TODO FIXME XXX contained
"
" Errors
"
syn match pythonError '\<\d\+[^0-9[:space:]]\+\>' display
" Mixing spaces and tabs also may be used for pretty formatting multiline
" statements
if s:Enabled('g:python_highlight_indent_errors')
syn match pythonIndentError '^\s*\%( \t\|\t \)\s*\S'me=e-1 display
endif
" Trailing space errors
if s:Enabled('g:python_highlight_space_errors')
syn match pythonSpaceError '\s\+$' display
endif
"
" Strings
"
if s:Python2Syntax()
" Python 2 strings
syn region pythonString start=+[bB]\='+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,@Spell
syn region pythonString start=+[bB]\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,@Spell
syn region pythonString start=+[bB]\="""+ skip=+\\"+ end=+"""+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,pythonDocTest2,pythonSpaceError,@Spell
syn region pythonString start=+[bB]\='''+ skip=+\\'+ end=+'''+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,pythonDocTest,pythonSpaceError,@Spell
else
" Python 3 byte strings
syn region pythonBytes start=+[bB]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonBytesError,pythonBytesContent,@Spell
syn region pythonBytes start=+[bB]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonBytesError,pythonBytesContent,@Spell
syn region pythonBytes start=+[bB]'''+ skip=+\\'+ end=+'''+ keepend contains=pythonBytesError,pythonBytesContent,pythonDocTest,pythonSpaceError,@Spell
syn region pythonBytes start=+[bB]"""+ skip=+\\"+ end=+"""+ keepend contains=pythonBytesError,pythonBytesContent,pythonDocTest2,pythonSpaceError,@Spell
syn match pythonBytesError '.\+' display contained
syn match pythonBytesContent '[\u0000-\u00ff]\+' display contained contains=pythonBytesEscape,pythonBytesEscapeError
endif
syn match pythonBytesEscape +\\[abfnrtv'"\\]+ display contained
syn match pythonBytesEscape '\\\o\o\=\o\=' display contained
syn match pythonBytesEscapeError '\\\o\{,2}[89]' display contained
syn match pythonBytesEscape '\\x\x\{2}' display contained
syn match pythonBytesEscapeError '\\x\x\=\X' display contained
syn match pythonBytesEscape '\\$'
syn match pythonUniEscape '\\u\x\{4}' display contained
syn match pythonUniEscapeError '\\u\x\{,3}\X' display contained
syn match pythonUniEscape '\\U\x\{8}' display contained
syn match pythonUniEscapeError '\\U\x\{,7}\X' display contained
syn match pythonUniEscape '\\N{[A-Z ]\+}' display contained
syn match pythonUniEscapeError '\\N{[^A-Z ]\+}' display contained
if s:Python2Syntax()
" Python 2 Unicode strings
syn region pythonUniString start=+[uU]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,@Spell
syn region pythonUniString start=+[uU]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,@Spell
syn region pythonUniString start=+[uU]'''+ skip=+\\'+ end=+'''+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,pythonDocTest,pythonSpaceError,@Spell
syn region pythonUniString start=+[uU]"""+ skip=+\\"+ end=+"""+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,pythonDocTest2,pythonSpaceError,@Spell
else
" Python 3 strings
syn region pythonString start=+'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,@Spell
syn region pythonString start=+"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,@Spell
syn region pythonString start=+'''+ skip=+\\'+ end=+'''+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,pythonDocTest,pythonSpaceError,@Spell
syn region pythonString start=+"""+ skip=+\\"+ end=+"""+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,pythonDocTest2,pythonSpaceError,@Spell
syn region pythonFString start=+[fF]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,@Spell
syn region pythonFString start=+[fF]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,@Spell
syn region pythonFString start=+[fF]'''+ skip=+\\'+ end=+'''+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,pythonDocTest,pythonSpaceError,@Spell
syn region pythonFString start=+[fF]"""+ skip=+\\"+ end=+"""+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,pythonDocTest2,pythonSpaceError,@Spell
endif
if s:Python2Syntax()
" Python 2 Unicode raw strings
syn region pythonUniRawString start=+[uU][rR]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonRawEscape,pythonUniRawEscape,pythonUniRawEscapeError,@Spell
syn region pythonUniRawString start=+[uU][rR]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonRawEscape,pythonUniRawEscape,pythonUniRawEscapeError,@Spell
syn region pythonUniRawString start=+[uU][rR]'''+ skip=+\\'+ end=+'''+ keepend contains=pythonUniRawEscape,pythonUniRawEscapeError,pythonDocTest,pythonSpaceError,@Spell
syn region pythonUniRawString start=+[uU][rR]"""+ skip=+\\"+ end=+"""+ keepend contains=pythonUniRawEscape,pythonUniRawEscapeError,pythonDocTest2,pythonSpaceError,@Spell
syn match pythonUniRawEscape '\%([^\\]\%(\\\\\)*\)\@<=\\u\x\{4}' display contained
syn match pythonUniRawEscapeError '\%([^\\]\%(\\\\\)*\)\@<=\\u\x\{,3}\X' display contained
endif
" Python 2/3 raw strings
if s:Python2Syntax()
syn region pythonRawString start=+[bB]\=[rR]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonRawEscape,@Spell
syn region pythonRawString start=+[bB]\=[rR]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonRawEscape,@Spell
syn region pythonRawString start=+[bB]\=[rR]'''+ skip=+\\'+ end=+'''+ keepend contains=pythonDocTest,pythonSpaceError,@Spell
syn region pythonRawString start=+[bB]\=[rR]"""+ skip=+\\"+ end=+"""+ keepend contains=pythonDocTest2,pythonSpaceError,@Spell
else
syn region pythonRawString start=+[rR]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonRawEscape,@Spell
syn region pythonRawString start=+[rR]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonRawEscape,@Spell
syn region pythonRawString start=+[rR]'''+ skip=+\\'+ end=+'''+ keepend contains=pythonDocTest,pythonSpaceError,@Spell
syn region pythonRawString start=+[rR]"""+ skip=+\\"+ end=+"""+ keepend contains=pythonDocTest2,pythonSpaceError,@Spell
syn region pythonRawFString start=+\%([fF][rR]\|[rR][fF]\)'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonRawEscape,@Spell
syn region pythonRawFString start=+\%([fF][rR]\|[rR][fF]\)"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonRawEscape,@Spell
syn region pythonRawFString start=+\%([fF][rR]\|[rR][fF]\)'''+ skip=+\\'+ end=+'''+ keepend contains=pythonDocTest,pythonSpaceError,@Spell
syn region pythonRawFString start=+\%([fF][rR]\|[rR][fF]\)"""+ skip=+\\"+ end=+"""+ keepend contains=pythonDocTest,pythonSpaceError,@Spell
syn region pythonRawBytes start=+\%([bB][rR]\|[rR][bB]\)'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonRawEscape,@Spell
syn region pythonRawBytes start=+\%([bB][rR]\|[rR][bB]\)"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonRawEscape,@Spell
syn region pythonRawBytes start=+\%([bB][rR]\|[rR][bB]\)'''+ skip=+\\'+ end=+'''+ keepend contains=pythonDocTest,pythonSpaceError,@Spell
syn region pythonRawBytes start=+\%([bB][rR]\|[rR][bB]\)"""+ skip=+\\"+ end=+"""+ keepend contains=pythonDocTest2,pythonSpaceError,@Spell
endif
syn match pythonRawEscape +\\['"]+ display contained
if s:Enabled('g:python_highlight_string_formatting')
" % operator string formatting
if s:Python2Syntax()
syn match pythonStrFormatting '%\%(([^)]\+)\)\=[-#0 +]*\d*\%(\.\d\+\)\=[hlL]\=[diouxXeEfFgGcrs%]' contained containedin=pythonString,pythonUniString,pythonUniRawString,pythonRawString,pythonBytesContent
syn match pythonStrFormatting '%[-#0 +]*\%(\*\|\d\+\)\=\%(\.\%(\*\|\d\+\)\)\=[hlL]\=[diouxXeEfFgGcrs%]' contained containedin=pythonString,pythonUniString,pythonUniRawString,pythonRawString,pythonBytesContent
else
syn match pythonStrFormatting '%\%(([^)]\+)\)\=[-#0 +]*\d*\%(\.\d\+\)\=[hlL]\=[diouxXeEfFgGcrs%]' contained containedin=pythonString,pythonRawString,pythonBytesContent
syn match pythonStrFormatting '%[-#0 +]*\%(\*\|\d\+\)\=\%(\.\%(\*\|\d\+\)\)\=[hlL]\=[diouxXeEfFgGcrs%]' contained containedin=pythonString,pythonRawString,pythonBytesContent
endif
endif
if s:Enabled('g:python_highlight_string_format')
" str.format syntax
if s:Python2Syntax()
syn match pythonStrFormat '{{\|}}' contained containedin=pythonString,pythonUniString,pythonUniRawString,pythonRawString
syn match pythonStrFormat '{\%(\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\|\d\+\)\=\%(\.\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\|\[\%(\d\+\|[^!:\}]\+\)\]\)*\%(![rsa]\)\=\%(:\%({\%(\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\|\d\+\)}\|\%([^}]\=[<>=^]\)\=[ +-]\=#\=0\=\d*,\=\%(\.\d\+\)\=[bcdeEfFgGnosxX%]\=\)\=\)\=}' contained containedin=pythonString,pythonUniString,pythonUniRawString,pythonRawString
else
syn match pythonStrFormat "{\%(\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\|\d\+\)\=\%(\.\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\|\[\%(\d\+\|[^!:\}]\+\)\]\)*\%(![rsa]\)\=\%(:\%({\%(\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\|\d\+\)}\|\%([^}]\=[<>=^]\)\=[ +-]\=#\=0\=\d*,\=\%(\.\d\+\)\=[bcdeEfFgGnosxX%]\=\)\=\)\=}" contained containedin=pythonString,pythonRawString
syn region pythonStrInterpRegion start="{"he=e+1,rs=e+1 end="\%(![rsa]\)\=\%(:\%({\%(\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\|\d\+\)}\|\%([^}]\=[<>=^]\)\=[ +-]\=#\=0\=\d*,\=\%(\.\d\+\)\=[bcdeEfFgGnosxX%]\=\)\=\)\=}"hs=s-1,re=s-1 extend contained containedin=pythonFString,pythonRawFString contains=pythonStrInterpRegion,@pythonExpression
syn match pythonStrFormat "{{\|}}" contained containedin=pythonString,pythonRawString,pythonFString,pythonRawFString
endif
endif
if s:Enabled('g:python_highlight_string_templates')
" string.Template format
if s:Python2Syntax()
syn match pythonStrTemplate '\$\$' contained containedin=pythonString,pythonUniString,pythonUniRawString,pythonRawString
syn match pythonStrTemplate '\${[a-zA-Z_][a-zA-Z0-9_]*}' contained containedin=pythonString,pythonUniString,pythonUniRawString,pythonRawString
syn match pythonStrTemplate '\$[a-zA-Z_][a-zA-Z0-9_]*' contained containedin=pythonString,pythonUniString,pythonUniRawString,pythonRawString
else
syn match pythonStrTemplate '\$\$' contained containedin=pythonString,pythonRawString
syn match pythonStrTemplate '\${[a-zA-Z_][a-zA-Z0-9_]*}' contained containedin=pythonString,pythonRawString
syn match pythonStrTemplate '\$[a-zA-Z_][a-zA-Z0-9_]*' contained containedin=pythonString,pythonRawString
endif
endif
if s:Enabled('g:python_highlight_doctests')
" DocTests
syn region pythonDocTest start='^\s*>>>' skip=+\\'+ end=+'''+he=s-1 end='^\s*$' contained
syn region pythonDocTest2 start='^\s*>>>' skip=+\\"+ end=+"""+he=s-1 end='^\s*$' contained
endif
"
" Numbers (ints, longs, floats, complex)
"
if s:Python2Syntax()
syn match pythonHexError '\<0[xX]\x*[g-zG-Z]\+\x*[lL]\=\>' display
syn match pythonOctError '\<0[oO]\=\o*\D\+\d*[lL]\=\>' display
syn match pythonBinError '\<0[bB][01]*\D\+\d*[lL]\=\>' display
syn match pythonHexNumber '\<0[xX]\x\+[lL]\=\>' display
syn match pythonOctNumber '\<0[oO]\o\+[lL]\=\>' display
syn match pythonBinNumber '\<0[bB][01]\+[lL]\=\>' display
syn match pythonNumberError '\<\d\+\D[lL]\=\>' display
syn match pythonNumber '\<\d[lL]\=\>' display
syn match pythonNumber '\<[0-9]\d\+[lL]\=\>' display
syn match pythonNumber '\<\d\+[lLjJ]\>' display
syn match pythonOctError '\<0[oO]\=\o*[8-9]\d*[lL]\=\>' display
syn match pythonBinError '\<0[bB][01]*[2-9]\d*[lL]\=\>' display
syn match pythonFloat '\.\d\+\%([eE][+-]\=\d\+\)\=[jJ]\=\>' display
syn match pythonFloat '\<\d\+[eE][+-]\=\d\+[jJ]\=\>' display
syn match pythonFloat '\<\d\+\.\d*\%([eE][+-]\=\d\+\)\=[jJ]\=' display
else
syn match pythonOctError '\<0[oO]\=\o*\D\+\d*\>' display
" pythonHexError comes after pythonOctError so that 0xffffl is pythonHexError
syn match pythonHexError '\<0[xX]\x*[g-zG-Z]\x*\>' display
syn match pythonBinError '\<0[bB][01]*\D\+\d*\>' display
syn match pythonHexNumber '\<0[xX][_0-9a-fA-F]*\x\>' display
syn match pythonOctNumber '\<0[oO][_0-7]*\o\>' display
syn match pythonBinNumber '\<0[bB][_01]*[01]\>' display
syn match pythonNumberError '\<\d[_0-9]*\D\>' display
syn match pythonNumberError '\<0[_0-9]\+\>' display
syn match pythonNumberError '\<0_x\S*\>' display
syn match pythonNumberError '\<0[bBxXoO][_0-9a-fA-F]*_\>' display
syn match pythonNumberError '\<\d[_0-9]*_\>' display
syn match pythonNumber '\<\d\>' display
syn match pythonNumber '\<[1-9][_0-9]*\d\>' display
syn match pythonNumber '\<\d[jJ]\>' display
syn match pythonNumber '\<[1-9][_0-9]*\d[jJ]\>' display
syn match pythonOctError '\<0[oO]\=\o*[8-9]\d*\>' display
syn match pythonBinError '\<0[bB][01]*[2-9]\d*\>' display
syn match pythonFloat '\.\d\%([_0-9]*\d\)\=\%([eE][+-]\=\d\%([_0-9]*\d\)\=\)\=[jJ]\=\>' display
syn match pythonFloat '\<\d\%([_0-9]*\d\)\=[eE][+-]\=\d\%([_0-9]*\d\)\=[jJ]\=\>' display
syn match pythonFloat '\<\d\%([_0-9]*\d\)\=\.\d\%([_0-9]*\d\)\=\%([eE][+-]\=\d\%([_0-9]*\d\)\=\)\=[jJ]\=' display
endif
"
" Builtin objects and types
"
if s:Enabled('g:python_highlight_builtin_objs')
syn keyword pythonNone None
syn keyword pythonBoolean True False
syn keyword pythonBuiltinObj Ellipsis NotImplemented
syn match pythonBuiltinObj '\v\.@<!<%(object|bool|int|float|tuple|str|list|dict|set|frozenset|bytearray|bytes)>'
syn keyword pythonBuiltinObj __debug__ __doc__ __file__ __name__ __package__
syn keyword pythonBuiltinObj __loader__ __spec__ __path__ __cached__
endif
"
" Builtin functions
"
if s:Enabled('g:python_highlight_builtin_funcs')
let s:funcs_re = '__import__|abs|all|any|bin|callable|chr|classmethod|compile|complex|delattr|dir|divmod|enumerate|eval|filter|format|getattr|globals|hasattr|hash|help|hex|id|input|isinstance|issubclass|iter|len|locals|map|max|memoryview|min|next|oct|open|ord|pow|property|range|repr|reversed|round|setattr|slice|sorted|staticmethod|sum|super|type|vars|zip'
if s:Python2Syntax()
let s:funcs_re .= '|apply|basestring|buffer|cmp|coerce|execfile|file|intern|long|raw_input|reduce|reload|unichr|unicode|xrange'
if s:Enabled('g:python_print_as_function')
let s:funcs_re .= '|print'
endif
else
let s:funcs_re .= '|ascii|exec|print'
endif
let s:funcs_re = 'syn match pythonBuiltinFunc ''\v\.@<!\zs<%(' . s:funcs_re . ')>'
if !s:Enabled('g:python_highlight_builtin_funcs_kwarg')
let s:funcs_re .= '\=@!'
endif
execute s:funcs_re . ''''
unlet s:funcs_re
endif
"
" Builtin exceptions and warnings
"
if s:Enabled('g:python_highlight_exceptions')
let s:exs_re = 'BaseException|Exception|ArithmeticError|LookupError|EnvironmentError|AssertionError|AttributeError|BufferError|EOFError|FloatingPointError|GeneratorExit|IOError|ImportError|IndexError|KeyError|KeyboardInterrupt|MemoryError|NameError|NotImplementedError|OSError|OverflowError|ReferenceError|RuntimeError|StopIteration|SyntaxError|IndentationError|TabError|SystemError|SystemExit|TypeError|UnboundLocalError|UnicodeError|UnicodeEncodeError|UnicodeDecodeError|UnicodeTranslateError|ValueError|VMSError|WindowsError|ZeroDivisionError|Warning|UserWarning|BytesWarning|DeprecationWarning|PendingDepricationWarning|SyntaxWarning|RuntimeWarning|FutureWarning|ImportWarning|UnicodeWarning'
if s:Python2Syntax()
let s:exs_re .= '|StandardError'
else
let s:exs_re .= '|BlockingIOError|ChildProcessError|ConnectionError|BrokenPipeError|ConnectionAbortedError|ConnectionRefusedError|ConnectionResetError|FileExistsError|FileNotFoundError|InterruptedError|IsADirectoryError|NotADirectoryError|PermissionError|ProcessLookupError|TimeoutError|StopAsyncIteration|ResourceWarning'
endif
execute 'syn match pythonExClass ''\v\.@<!\zs<%(' . s:exs_re . ')>'''
unlet s:exs_re
endif
if s:Enabled('g:python_slow_sync')
syn sync minlines=2000
else
" This is fast but code inside triple quoted strings screws it up. It
" is impossible to fix because the only way to know if you are inside a
" triple quoted string is to start from the beginning of the file.
syn sync match pythonSync grouphere NONE '):$'
syn sync maxlines=200
endif
if v:version >= 508 || !exists('did_python_syn_inits')
if v:version <= 508
let did_python_syn_inits = 1
command -nargs=+ HiLink hi link <args>
else
command -nargs=+ HiLink hi def link <args>
endif
HiLink pythonStatement Statement
HiLink pythonRaiseFromStatement Statement
HiLink pythonImport Include
HiLink pythonFunction Function
HiLink pythonConditional Conditional
HiLink pythonRepeat Repeat
HiLink pythonException Exception
HiLink pythonOperator Operator
HiLink pythonDecorator Define
HiLink pythonDottedName Function
HiLink pythonDot Normal
HiLink pythonComment Comment
if !s:Enabled('g:python_highlight_file_headers_as_comments')
HiLink pythonCoding Special
HiLink pythonRun Special
endif
HiLink pythonTodo Todo
HiLink pythonError Error
HiLink pythonIndentError Error
HiLink pythonSpaceError Error
HiLink pythonString String
HiLink pythonRawString String
HiLink pythonRawEscape Special
HiLink pythonUniEscape Special
HiLink pythonUniEscapeError Error
if s:Python2Syntax()
HiLink pythonUniString String
HiLink pythonUniRawString String
HiLink pythonUniRawEscape Special
HiLink pythonUniRawEscapeError Error
else
HiLink pythonBytes String
HiLink pythonRawBytes String
HiLink pythonBytesContent String
HiLink pythonBytesError Error
HiLink pythonBytesEscape Special
HiLink pythonBytesEscapeError Error
HiLink pythonFString String
HiLink pythonRawFString String
HiLink pythonStrInterpRegion Special
endif
HiLink pythonStrFormatting Special
HiLink pythonStrFormat Special
HiLink pythonStrTemplate Special
HiLink pythonDocTest Special
HiLink pythonDocTest2 Special
HiLink pythonNumber Number
HiLink pythonHexNumber Number
HiLink pythonOctNumber Number
HiLink pythonBinNumber Number
HiLink pythonFloat Float
HiLink pythonNumberError Error
HiLink pythonOctError Error
HiLink pythonHexError Error
HiLink pythonBinError Error
HiLink pythonBoolean Boolean
HiLink pythonNone Constant
HiLink pythonBuiltinObj Structure
HiLink pythonBuiltinFunc Function
HiLink pythonExClass Structure
HiLink pythonClassVar Identifier
delcommand HiLink
endif
let b:current_syntax = 'python'

View File

@ -1,26 +0,0 @@
if exists("b:current_syntax")
finish
endif
syntax include @Shell syntax/sh.vim
syn match sxComment "^#.*$"
syn match sxHotkey "[^ #].*" contains=sxKeysym,sxModifier,sxHotkeySep,sxSequence
syn match sxCommand "^\s.*$" containedin=ALL contains=@Shell,sxSequenceShell
syn keyword sxModifier super hyper meta alt control ctrl shift mode_switch lock mod1 mod2 mod3 mod4 mod5 any contained
syn match sxKeysym "[^ :;{,}+-]\+" contained contains=sxAction
syn match sxAction "[@~/]" contained
syn match sxHotkeySep "[;:+]" contained
syn match sxSequenceSep "[,-]" contained
syn region sxSequence matchgroup=sxBrace start=/{/ end=/}/ contained keepend oneline contains=sxKeysym,sxModifier,sxHotkeySep,sxSequenceSep
syn region sxSequenceShell matchgroup=sxBrace start=/{/ end=/}/ contained keepend oneline contains=sxKeysym,sxSequenceSep
hi def link sxComment Comment
hi def link sxModifier Keyword
hi def link sxKeysym Identifier
hi def link sxAction Special
hi def link sxBrace Special
hi def link sxHotkeySep Delimiter
hi def link sxSequenceSep Delimiter
let b:current_syntax = "sxhkdrc"

View File

@ -1,329 +0,0 @@
" Vim syntax file
" Language: tmux(1) configuration file
" Maintainer: Tiago Cunha <tcunha@users.sourceforge.net>
" License: This file is placed in the public domain.
"
" To install this file:
"
" - Drop the file in the syntax directory into runtimepath (such as
" ~/.vim/syntax/tmux.vim).
" - Make the filetype recognisable by adding the following to filetype.vim
" (~/.vim/filetype.vim):
"
" augroup filetypedetect
" au BufNewFile,BufRead .tmux.conf*,tmux.conf* setf tmux
" augroup END
"
" - Switch on syntax highlighting by adding "syntax enable" to .vimrc.
"
if v:version < 600
syntax clear
elseif exists('b:current_syntax')
finish
endif
setlocal iskeyword+=-
syntax case match
syn keyword tmuxAction any current default none
syn keyword tmuxBoolean off on
syn keyword tmuxCmds
\ attach
\ attach-session
\ bind
\ bind-key
\ break-pane
\ breakp
\ capture-pane
\ capturep
\ choose-buffer
\ choose-client
\ choose-session
\ choose-tree
\ choose-window
\ clear-history
\ clearhist
\ clock-mode
\ command-prompt
\ confirm
\ confirm-before
\ copy-mode
\ copy-mode-vi
\ delete-buffer
\ deleteb
\ detach
\ detach-client
\ display
\ display-message
\ display-panes
\ displayp
\ find-window
\ findw
\ has
\ has-session
\ if
\ if-shell
\ info
\ join-pane
\ joinp
\ kill-pane
\ kill-server
\ kill-session
\ kill-window
\ killp
\ killw
\ last
\ last-pane
\ last-window
\ lastp
\ link-window
\ linkw
\ list-buffers
\ list-clients
\ list-commands
\ list-keys
\ list-panes
\ list-sessions
\ list-windows
\ load-buffer
\ loadb
\ lock
\ lock-client
\ lock-server
\ lock-session
\ lockc
\ locks
\ ls
\ lsb
\ lsc
\ lscm
\ lsk
\ lsp
\ lsw
\ move-pane
\ move-window
\ movep
\ movew
\ new
\ new-session
\ new-window
\ neww
\ next
\ next-layout
\ next-window
\ nextl
\ paste-buffer
\ pasteb
\ path
\ pipe-pane
\ pipep
\ prev
\ previous-layout
\ previous-window
\ prevl
\ refresh
\ refresh-client
\ rename
\ rename-session
\ rename-window
\ renamew
\ resize-pane
\ resizep
\ respawn-pane
\ respawn-window
\ respawnp
\ respawnw
\ rotate-window
\ rotatew
\ run
\ run-shell
\ save-buffer
\ saveb
\ select-layout
\ select-pane
\ select-window
\ selectl
\ selectp
\ selectw
\ send
\ send-keys
\ send-prefix
\ server-info
\ set
\ set-buffer
\ set-environment
\ set-hook
\ set-option
\ set-window-option
\ setb
\ setenv
\ setw
\ show
\ show-buffer
\ show-environment
\ show-hooks
\ show-messages
\ show-options
\ show-window-options
\ showb
\ showenv
\ showmsgs
\ showw
\ source
\ source-file
\ split-window
\ splitw
\ start
\ start-server
\ suspend-client
\ suspendc
\ swap-pane
\ swap-window
\ swapp
\ swapw
\ switch-client
\ switchc
\ unbind
\ unbind-key
\ unlink-window
\ unlinkw
\ wait
\ wait-for
syn keyword tmuxOptsSet
\ assume-paste-time
\ base-index
\ bell-action
\ bell-on-alert
\ buffer-limit
\ default-command
\ default-shell
\ default-terminal
\ destroy-unattached
\ detach-on-destroy
\ display-panes-active-colour
\ display-panes-colour
\ display-panes-time
\ display-time
\ escape-time
\ exit-unattached
\ focus-events
\ history-file
\ history-limit
\ lock-after-time
\ lock-command
\ message-command-style
\ message-limit
\ message-style
\ mouse
\ prefix
\ prefix2
\ quiet
\ renumber-windows
\ repeat-time
\ set-clipboard
\ set-remain-on-exit
\ set-titles
\ set-titles-string
\ status
\ status-bg
\ status-fg
\ status-interval
\ status-justify
\ status-keys
\ status-left
\ status-left-length
\ status-left-style
\ status-position
\ status-right
\ status-right-length
\ status-right-style
\ status-style
\ terminal-overrides
\ update-environment
\ visual-activity
\ visual-bell
\ visual-silence
\ word-separators
syn keyword tmuxOptsSetw
\ aggressive-resize
\ allow-rename
\ alternate-screen
\ automatic-rename
\ automatic-rename-format
\ clock-mode-colour
\ clock-mode-style
\ force-height
\ force-width
\ main-pane-height
\ main-pane-width
\ message-attr
\ message-bg
\ message-fg
\ mode-keys
\ mode-style
\ monitor-activity
\ monitor-silence
\ other-pane-height
\ other-pane-width
\ pane-active-border-bg
\ pane-active-border-fg
\ pane-active-border-style
\ pane-base-index
\ pane-border-fg
\ pane-border-style
\ remain-on-exit
\ synchronize-panes
\ window-active-style
\ window-status-activity-attr
\ window-status-activity-bg
\ window-status-activity-fg
\ window-status-activity-style
\ window-status-bell-style
\ window-status-bg
\ window-status-current-attr
\ window-status-current-bg
\ window-status-current-fg
\ window-status-current-format
\ window-status-current-style
\ window-status-fg
\ window-status-format
\ window-status-last-style
\ window-status-separator
\ window-status-style
\ window-style
\ wrap-search
\ xterm-keys
syn keyword tmuxTodo FIXME NOTE TODO XXX contained
syn match tmuxKey /\(C-\|M-\|\^\)\+\S\+/ display
syn match tmuxNumber /\<\d\+\>/ display
syn match tmuxOptions /\s-\a\+/ display
syn match tmuxVariable /\w\+=/ display
syn match tmuxVariableExpansion /\${\=\w\+}\=/ display
" Comments can span multiple lines, when the newline is escaped
" (with a single) backslash at the end.
syn region tmuxComment start=/#/ skip=/\\\@<!\\$/ end=/$/ contains=tmuxTodo
syn region tmuxString start=/"/ end=/"/ display oneline
syn region tmuxString start=/'/ end=/'/ display oneline
hi def link tmuxAction Boolean
hi def link tmuxBoolean Boolean
hi def link tmuxCmds Keyword
hi def link tmuxComment Comment
hi def link tmuxKey Special
hi def link tmuxNumber Number
hi def link tmuxOptions Identifier
hi def link tmuxOptsSet Function
hi def link tmuxOptsSetw Function
hi def link tmuxString String
hi def link tmuxTodo Todo
hi def link tmuxVariable Constant
hi def link tmuxVariableExpansion Constant
let b:current_syntax = 'tmux'

View File

@ -1,87 +0,0 @@
; vim:ft=dosini
; syntax:ssSemi
[colors]
background = ${xrdb:background}
foreground = ${xrdb:foreground}
primary = ${xrdb:color11}
secondary= ${xrdb:color12}
[global/wm]
margin-top = 0
margin-bottom = 0
[settings]
screenchange-reload = false
throttle-output = 5
throttle-output-for = 10
throttle-input-for = 30
[bar/bar1]
width = 100%
height = 22
radius = 0
border-size = 0
padding = 0
module-margin = 2
monitor = LVDS1
monitor-strict = false
fixed-center = true
enable-ipc = true
background = ${colors.background}
foreground = ${colors.foreground}
font-0 = InterUIMedium:size=10;2
font-1 = SourceHanSansJPMedium:size=10;2
modules-left = title
modules-center =
modules-right = updates bspwm date
tray-position = left
tray-detached = false
tray-transparent = false
tray-padding = 2
tray-background = ${colors.background}
wm-restack = bspwm
override-redirect = true
cursor-click = pointer
[module/title]
type = internal/xwindow
format = <label>
format-padding = 2
label = %title%
label-maxlen = 120
[module/date]
type = custom/script
exec = echo "$(date +'%H:%M')"
format = %{A:gsimplecal:} <label> %{A}
label = %output%
interval = 1
[module/bspwm]
type = internal/bspwm
enable-click = false
enable-scroll = false
label-focused = %index%
label-focused-foreground = ${colors.primary}
label-focused-padding = 0
label-occupied =
label-empty =
label-urgent =
label-occupied-padding = 0
label-empty-padding = 0
label-urgent-padding = 0
[module/updates]
type = custom/script
exec = ~/bin/update-notifier
exec-if = ping -q -w 1 -c 1 "$(ip r | grep default | cut -d ' ' -f 3)" >/dev/null
interval = 7200
format = <label>
label = %output%
format-foreground = ${colors.secondary}

View File

@ -1,10 +0,0 @@
#!/usr/bin/env sh
# Terminate already running bar instances
killall -q polybar
# Wait until the processes have been shut down
while pgrep -x polybar >/dev/null; do sleep 1; done
# Launch bars
polybar bar1 &

View File

@ -1,148 +0,0 @@
; vim:ft=dosini
;=====================================================
;
; To learn more about how to configure Polybar
; go to https://github.com/jaagr/polybar
;
; The README contains alot of information
;
;=====================================================
[global/wm]
margin-bottom = 6
[colors]
background = #00121212
background-alt = #3d3d3d
foreground = #e8d0c3
foreground-alt = #fefefe
primary = #ffb300
secondary = #7cb342
alert = #ef5350
[settings]
screenchange-reload = true
throttle-output = 5
throttle-output-for = 10
throttle-input-for = 30
[bar/bar1]
width = 100%
height = 2
radius = 0
offset-x = 0
offset-y = 0
border-bottom-size = 6
border-top-size = 1
padding-top = 8
padding-bottom = 8
padding-left = 0
padding-right = 0
module-margin-left = 0
module-margin-right = 0
fixed-center = true
enable-ipc = true
background = ${colors.background}
foreground = ${colors.foreground}
border-color = ${colors.background}
font-0 = fixed:pixelsize=40;0
modules-left = network
modules-center = bspwm
modules-right = battery
tray-position =
tray-padding = 0
tray-transparent = true
wm-restack = bspwm
override-redirect = true
[module/bspwm]
type = internal/bspwm
enable-click = false
ws-icon-default = ▬
label-focused = "%icon%"
label-focused-foreground = ${colors.primary}
label-focused-padding = .5
label-occupied ="%icon%"
label-occupied-padding = .5
label-occupied-foreground = ${colors.secondary}
label-urgent = "%icon%"
label-urgent-foreground = ${colors.alert}
label-urgent-padding = .5
label-empty = "%icon%"
label-empty-foreground = ${colors.background-alt}
label-empty-padding = .5
[module/network]
type = internal/network
interface = wlo1
interval = 3.0
format-connected = <label-connected>
format-disconnected = <label-disconnected>
label-connected = ▬
label-connected-foreground = #f06292
label-disconnected = M
label-disconnected-foreground = #e53935
[module/battery]
type = internal/battery
battery = BAT0
adapter = AC
full-at = 100
label-charging =
format-charging = <animation-charging>
label-discharging =
format-discharging = <ramp-capacity>
label-full =
format-full = ▬
label-full-foreground = ${colors.foreground-alt}
aramp-capacity-0 = ▏
ramp-capacity-1 = ▎
ramp-capacity-2 = ▍
ramp-capacity-3 = ▌
ramp-capacity-4 = ▋
ramp-capacity-5 = ▊
ramp-capacity-6 = ▉
ramp-capacity-7 = █
ramp-capacity-0-foreground = #fb4245
ramp-capacity-1-foreground = #fb4245
ramp-capacity-2-foreground = #49b9fe
ramp-capacity-3-foreground = #49b9fe
ramp-capacity-4-foreground = #49b9fe
ramp-capacity-5-foreground = #49b9fe
ramp-capacity-6-foreground = ${colors.f2oreground-alt}
ramp-capacity-7-foreground = ${colors.foreground-alt}
animation-charging-0 = ▏
animation-charging-1 = ▎
animation-charging-2 = ▍
animation-charging-3 = ▌
animation-charging-4 = ▋
animation-charging-5 = ▊
animation-charging-6 = ▉
animation-charging-7 = █
animation-charging-0-foreground = #fb4245
animation-charging-1-foreground = #fb4245
animation-charging-2-foreground = #49b9fe
animation-charging-3-foreground = #49b9fe
animation-charging-4-foreground = #49b9fe
animation-charging-5-foreground = #49b9fe
animation-charging-6-foreground = ${colors.foreground-alt}
animation-charging-7-foreground = ${colors.foreground-alt}
animation-charging-framerate = 500
; vim:ft=dosini

View File

@ -1,49 +0,0 @@
[redshift]
; Set the day and night screen temperatures
temp-day=5800
temp-night=4000
; Enable/Disable a smooth transition between day and night
; 0 will cause a direct change from day to night screen temperature.
; 1 will gradually increase or decrease the screen temperature
transition=1
; Set the screen brightness. Default is 1.0
;brightness=0.9
; It is also possible to use different settings for day and night since version 1.8.
;brightness-day=0.7
;brightness-night=0.4
; Set the screen gamma (for all colors, or each color channel individually)
gamma=0.9
;gamma=0.8:0.7:0.8
; This can also be set individually for day and night since
; version 1.10.
;gamma-day=0.8:0.7:0.8
;gamma-night=0.6
; Set the location-provider: 'geoclue', 'gnome-clock', 'manual'
; type 'redshift -l list' to see possible values
; The location provider settings are in a different section.
location-provider=manual
; Set the adjustment-method: 'randr', 'vidmode'
; type 'redshift -m list' to see all possible values
; 'randr' is the preferred method, 'vidmode' is an older API
; but works in some cases when 'randr' does not.
; The adjustment method settings are in a different section.
adjustment-method=randr
; Configuration of the location-provider:
; type 'redshift -l PROVIDER:help' to see the settings
; e.g. 'redshift -l manual:help'
[manual]
lat=-34.575824
lon=-58.475367
; Configuration of the adjustment-method
; type 'redshift -m METHOD:help' to see the settings
; ex: 'redshift -m randr:help'
; In this example, randr is configured to adjust screen 1.
; Note that the numbering starts from 0, so this is actually the second screen.
[randr]
screen=0

View File

@ -47,12 +47,18 @@ super + {_,shift,ctrl} + u
super + alt + u
euclid_balancer
super + o
bspc node @parent -B
super + y
bspc node -s biggest.local
super + {_,shift} + i
{bspc node -i,for win in `bspc query -N -d -n .leaf.!window`; do bspc node $win -k; done}
# Run Applications
super + {t,b,v,q,x,c}
{subl,firefox,pavucontrol,oblogout,termite,gsimplecal}
{subl,$BROWSER,pavucontrol,oblogout,$TERMINAL,gsimplecal}
super + z
termite --name=multi -e termux
@ -60,12 +66,6 @@ super + z
super + {n,m}
termite --name=flota -e {nmtui,brandr}
super + e
termite -e neomutt
super + r
termite --name=archi -e ranger
super + {space,s}
rofi -theme sbarr -show {drun,window}

View File

@ -6,25 +6,21 @@ mouse_autohide = true
allow_bold = false
bold_is_bright = true
dynamic_title = true
icon_name = terminal
urgent_on_bell = true
clickable_url = true
scrollback_lines = -10000
search_wrap = true
scrollbar = off
font = NotoSansMono Nerd Font Regular 9.5
cursor_blink = off
cursor_shape = underline
browser = firefox
size_hints = false
filter_unmatched_urls = true
cursor_shape = underline
[colors]
# special
foreground = #d3d7cf
foreground_bold = #d3d7cf
cursor = #d3d7cf
background = #080808
# black
@ -60,6 +56,7 @@ color7 = #a89984
color15 = #c9c9c9
[hints]
padding = 4
padding = 8
font = NotoSansMono Nerd Font Regular 9.5
# vim: ft=dosini cms=#%s

View File

@ -16,12 +16,11 @@ alias ytv='youtube-viewer'
alias git='lab'
alias help='run-help'
alias p='pacui'
alias sr='sr -browser=$CLIBROWSER'
alias surfraw='surfraw -browser=$BROWSER'
alias bm='bashmount'
alias kat='cat'
alias nb='newsboat --quiet'
alias foxy='FoxDot & disown'
alias gal='sxiv -p -b -a -q'
# MAXIMUM VERBOSITY YIELDS MAXIMUM RESULTS
alias chmod='chmod -v'
@ -37,20 +36,21 @@ alias mount='mount -v | column -t'
alias umount='umount -v'
# Con opciones por defecto
alias cat='bat --style=numbers,changes,header --color=always'
alias buscar="rg --color='always' --heading --line-number --no-messages --no-ignore --hidden --follow --smart-case --glob '!.git/' --glob '!node_modules/' --regexp"
alias ncdu='ncdu --color dark -rr -x --exclude .git'
alias cat='bat --color=always'
alias buscar="rg --files --color='always' --heading --line-number --no-messages --no-ignore --hidden --follow --smart-case --glob '!.git/' --glob '!node_modules/' --regexp"
alias ncdu='ncdu --color dark -rr -x --exclude .git --exclude node_modules'
alias ls='ls -Ft --color=always --group-directories-first'
alias lst='ls -FAghoBtH --group-directories-first --dereference-command-line-symlink-to-dir --time-style=+"%d-%m-%Y %H:%M"'
alias grep='grep --color=tty -d skip'
alias sgrep='grep -R -n -H -C 5 --exclude-dir={.git,.svn,CVS} '
alias dmesg='dmesg --color=always'
alias tree='tree -CAFa -I "CVS|*.*.package|.svn|.git|.hg|node_modules|bower_components" --dirsfirst'
alias tree='tree -CAFa -I "CVS|*.*.package|.svn|.git|.hg|node_modules" --dirsfirst'
alias lsblk='lsblk -o "KNAME,HOTPLUG,SIZE,FSTYPE,TYPE,LABEL,MOUNTPOINT,UUID,MODEL,SERIAL"'
alias dir='dir --color=always'
alias df='df -hT --total'
alias free='free -ht'
alias du='du -d1 -h | sort -rh'
alias doo='du -d1 -h | sort -rh'
alias du='du -sh'
alias info='info --vi-keys'
alias inxi='inxi -Fz'
alias ping='ping -c 5 '
@ -65,6 +65,7 @@ alias chau="bspc quit 1"
alias path='echo -e ${PATH//:/\\n}'
alias pwn='chmod +x'
alias ta='tmux attach -t'
alias tn='tmux new-session -s'
alias tk='tmux kill-session -t'
alias tsq='killall transmission-daemon 2> /dev/null'
alias tsl='transmission-remote --list'

View File

@ -1,13 +1,13 @@
# Dotfiles on GitHub
# Dotfiles on Git
# Instructions here https://news.ycombinator.com/item?id=11070797
# https://developer.atlassian.com/blog/2016/02/best-way-to-store-dotfiles-git-bare-repo/
alias hexa='/usr/bin/git --git-dir=$HOME/hexagons/ --work-tree=$HOME'
alias hx-add='hexa add -v'
alias hx-up='hexa add -vu'
alias hx-ls='hexa ls-files -m'
alias hx-diff='hexa diff'
alias hx-push='hexa push'
alias hx-stat='hexa status'
alias hx-rm='hexa rm --cached'
alias hx-cmsg='hexa commit -m'
alias hxa='hexa add -v'
alias hxu='hexa add -vu'
alias hxls='hexa ls-files -m'
alias hxd='hexa diff'
alias hxp='hexa push'
alias hxs='hexa status'
alias hxr='hexa rm --cached'
alias hxc='hexa commit -m'

43
.dhexrc
View File

@ -1,43 +0,0 @@
#DHEXCOLORSCHEME
#VERSION 0
#possible colors are: BLACK,RED,GREEN,YELLOW,BLUE,MAGENTA,CYAN,WHITE
#possible extra flags are: UNDERLINE,REVERSE,BLINK,DIM,BOLD
BRACKETS: FG=LIGHTBLUE,BG=BLACK,BOLD
HEXFIELD: FG=WHITE,BG=BLACK,DIM
INPUT: FG=BLACK,BG=WHITE
CURSOR: FG=WHITE,BG=BLACK
TEXT: FG=LIGHTCYAN,BG=BLACK,BOLD
MENU_NORMAL: FG=BLUE,BG=BLACK
MENU_HIGHLIGHT: FG=BLACK,BG=LIGHTBLUE
MENU_HOTKEY: FG=CYAN,BG=BLACK
MENU_HOTKEY_HI: FG=BLACK,BG=LIGHTCYAN
FRAME: FG=BLUE,BG=BLACK
NORMAL_DIFF: FG=YELLOW,BG=BLACK,BOLD
CURSOR_DIFF: FG=YELLOW,BG=WHITE,BOLD
HEADLINE: FG=BLUE,BG=BLACK
HEADER: FG=LIGHTGREEN,BG=BLACK
KEYESC:1b
KEYF1:1b 4f 50
KEYF2:1b 4f 51
KEYF3:1b 4f 52
KEYF4:1b 4f 53
KEYF5:1b 5b 31 35 7e
KEYF6:1b 5b 31 37 7e
KEYF7:1b 5b 31 38 7e
KEYF8:1b 5b 31 39 7e
KEYF9:1b 5b 32 30 7e
KEYF10:1b 5b 32 31 7e
KEYBACKSPACE:7f
KEYDEL:1b 5b 33 7e
KEYENTER:0a
KEYTAB:09
KEYUP:1b 5b 41
KEYDOWN:1b 5b 42
KEYRIGHT:1b 5b 43
KEYLEFT:1b 5b 44
KEYPGUP:1b 5b 35 7e
KEYPGDOWN:1b 5b 36 7e
KEYHOME:1b 5b 31 7e
KEYEND:1b 5b 34 7e

View File

@ -12,14 +12,7 @@ servers = (
port = "6667";
use_ssl = "no";
ssl_verify = "no";
},
{
address = "irc.rizon.net";
chatnet = "Rizon";
port = "6697";
use_tls = "yes";
tls_cert = "~/.irssi/Rizon.pem";
tls_verify = "yes";
autosendcmd = "wait 6000";
},
{
address = "unix.chat";
@ -38,7 +31,6 @@ servers = (
chatnets = {
freenode = { type = "IRC"; };
Rizon = { type = "IRC"; };
nixers = { type = "IRC"; };
EFNet = { type = "IRC"; };
Undernet = { type = "IRC"; };
@ -50,28 +42,11 @@ channels = (
chatnet = "freenode";
autojoin = "yes";
},
{
name = "#archlinux-newbie";
chatnet = "freenode";
autojoin = "yes";
},
{ name = "#distrotube"; chatnet = "freenode"; autojoin = "yes"; },
{ name = "#pvm"; chatnet = "EFNet"; autojoin = "yes"; },
{ name = "#impure"; chatnet = "EFNet"; autojoin = "yes"; },
{ name = "#unix"; chatnet = "nixers"; autojoin = "Yes"; },
{ name = "#rice"; chatnet = "rizon"; autojoin = "yes"; },
{ name = "#unixporn"; chatnet = "nixers"; autojoin = "Yes"; },
{
name = "#idleRPG";
chatnet = "freenode";
autojoin = "yes";
autosendcmd = "/^msg IdleBot LOGIN deadguy mierdor";
},
{
name = "#rizonirpg";
chatnet = "Rizon";
autojoin = "yes";
autosendcmd = "/^msg RizonIRPG LOGIN deadguy panocha";
}
{ name = "#unixporn"; chatnet = "nixers"; autojoin = "Yes"; }
);
aliases = {
@ -116,7 +91,6 @@ settings = {
use_status_window = "yes";
reuse_unused_windows = "no";
window_auto_change = "no";
activity_hide_targets = "#RizonIRPG =RizonIRPG, #IdleRPG =IdleBot";
beep_msg_level = "MSGS HILIGHT";
beep_when_window_active = "no";
emphasis = "yes";
@ -138,23 +112,10 @@ settings = {
nickcolor_prefix_text = " ";
nickcolor_truncate_value = "-12";
nicklist_color = "yes";
awl_shared_sbar = "50<5";
awl_viewer = "no";
awl_hide_empty = "0";
awl_hide_data = "0";
awl_maxlines = "1";
awl_block = "25";
awl_sbar_maxlength = "yes";
awl_placement = "bottom";
awl_viewer_tmux_position = "right";
fancy_abbrev = "head";
awl_all_disable = "off";
awl_height_adjust = "1";
awl_position = "0";
awl_sort = "refnum+-last_line";
awl_last_line_shade = "30";
awl_mouse = "yes";
awl_mouse_offset = "0";
awl_shared_sbar = "OFF";
awl_viewer_tmux_position = "right";
mouse_escape = "0";
mouse_scroll = "3";
};
@ -208,11 +169,8 @@ statusbar = {
items = {
barstart = { priority = "100"; };
user = { };
window_empty = { };
lag = { priority = "-1"; };
awl_shared = { priority = "10"; alignment = "left"; };
awl_0 = { alignment = "left"; };
more = { priority = "-1"; alignment = "right"; };
barend = { priority = "100"; alignment = "right"; };
};
@ -242,6 +200,7 @@ statusbar = {
visible = "always";
items = {
user = { };
prompt = { priority = "-1"; };
prompt_empty = { priority = "-1"; };
input = { priority = "10"; };

View File

@ -197,18 +197,18 @@ abstracts = {
# text at the beginning of statusbars. sb-item already puts
# space there,so we don't use anything by default.
sbstart = "%K-(";
sbstart = "";
# text at the end of statusbars. Use space so that it's never
# used for anything.
sbend = "%K)-";
sbend = "";
topicsbstart = "%C :: {sbstart $*}";
topicsbend = "{sbend $*} %C:: %n";
prompt = "%m×%n ";
prompt = " ";
sb = " %m-=%K[%w$*%K]%m=-%n";
sbmode = "%K(%n+%C$M%K)%n";
sb = "$*";
sbmode = "(%n+%C$M%K)";
#sbaway = " %K(%MzZzZ%K)";
sbservertag = "%n:$0 (change with ^X)";
sbaway = " %g/* zZzZ */%n";
@ -235,10 +235,10 @@ formats = {
line_start_irssi = "{line_start}";
timestamp = "{timestamp $Z} ";
join = "%G>>%Z5F5F5F----%Z7F7F7Fjoin%Z5F5F5F----%G>%n {channick $0} %Z303030({nickhost %Z5F5F5F$1}%Z303030)%n";
part = "%B<<%Z5F5F5F----part----%B<%n {channick $0} %Z303030({nickhost %Z5F5F5F$1}%Z303030)%n";
kick = "%R<<%Z5F5F5F----%rkick%Z5F5F5F----%R<%n {channick $0} %Z303030({nickhost %Z5F5F5F$1}%Z303030)%n";
quit = "%M<<%Z5F5F5F----quit----%M<%n {channick $0} %Z303030({nickhost %Z5F5F5F$1}%Z303030)%n";
join = "%G>>%Z5F5F5F-%Z7F7F7Fjoin%Z5F5F5F-%G>%n {channick $0} %Z303030({nickhost %Z5F5F5F$1}%Z303030)%n";
part = "%B<<%Z5F5F5F-part-%B<%n {channick $0} %Z303030({nickhost %Z5F5F5F$1}%Z303030)%n";
kick = "%R<<%Z5F5F5F-%rkick%Z5F5F5F-%R<%n {channick $0} %Z303030({nickhost %Z5F5F5F$1}%Z303030)%n";
quit = "%M<<%Z5F5F5F-quit-%M<%n {channick $0} %Z303030({nickhost %Z5F5F5F$1}%Z303030)%n";
quit_once = "{channel $3} {channick $0} {chanhost $1} %nquit {reason %C$2}";
new_topic = "%y ┌─┄┄─────┘%n\012%y │ %wtopic %W'$2' %wset by $0\012%y └─┄┄─┄┄──┐ ";

View File

@ -1,4 +1,4 @@
[Desktop Entry]
Type=Application
Name=Torrent
Exec=/usr/bin/env tsa %U
Exec=tsa %U

View File

@ -9,6 +9,7 @@ set -g mouse on
set -gq status-utf8 on
setw -gq utf8 on
set -g escape-time 0
set-option -g history-limit 102400
# Ventanas
set -g base-index 1
@ -31,16 +32,17 @@ set -g mode-keys vi
set -g status-keys vi
# Statusbar
setw -g automatic-rename-format "#{s/zsh//:pane_current_command}"
setw -g pane-border-style fg=colour8
setw -g pane-active-border-style fg=colour8
setw -g pane-border-status bottom
setw -g pane-border-format '─'
setw -g automatic-rename-format "#{s/zsh//:pane_current_command}"
setw -g pane-border-style 'fg=#080808'
setw -g pane-active-border-style 'fg=#080808'
set -g mode-style fg=black,bg=white
set -g message-command-style bg=colour0,fg=colour13
set -g message-style bg=default,fg=default
set -g status-style bg=default,fg=colour7
set -g set-titles on
set -g set-titles-string "#T"
set -g message-command-style bg=colour0,fg=colour13
set -g message-style bg=colour3,fg=colour0
set -g status-style bg=default,fg=colour7
set -g status-interval 1
set -g status-left ''
set -g status-right '#(txbar)#[fg=colour4] %R #[fg=colour10]#S'
@ -59,8 +61,8 @@ unbind-key %
unbind-key q
# Prefijo
set -g prefix C-a
bind-key C-a send-prefix
set -g prefix M-a
bind-key M-a send-prefix
# Varios
bind-key ? list-keys
@ -71,17 +73,17 @@ bind-key T command-prompt 'rename-window %%'
bind-key S command-prompt 'rename-session %%'
bind-key r source-file $HOME/.tmux.conf \; display "Config Reloaded!"
# Cambiar de pane usando flecha con prefijo
bind-key -n M-Left select-pane -L
bind-key -n M-Right select-pane -R
bind-key -n M-Up select-pane -U
bind-key -n M-Down select-pane -D
# Cambiar de pane usando alt-flecha sin prefijo
bind-key -n M-Left select-pane -L
bind-key -n M-Right select-pane -R
bind-key -n M-Up select-pane -U
bind-key -n M-Down select-pane -D
# Trocar panes usando alt-flecha con prefijo
bind-key M-Left swap-pane -s {left-of}
bind-key M-Right swap-pane -s {right-of}
bind-key M-Up swap-pane -U
bind-key M-Down swap-pane -D
# Trocar panes usando alt-shift-flecha sin prefijo
bind-key M-S-Left swap-pane -s {left-of}
bind-key M-S-Right swap-pane -s {right-of}
bind-key M-S-Up swap-pane -U
bind-key M-S-Down swap-pane -D
# Redimensionar
bind -r J resize-pane -D 2
@ -103,6 +105,7 @@ bind-key -n M-z resize-pane -Z
bind-key q kill-window
bind-key x kill-pane
bind-key Z kill-session
bind-key Q kill-server
# Ir a ventana
bind-key 1 select-window -t :1
@ -119,11 +122,11 @@ bind-key 0 select-window -t :0
# Movimiento de ventanas
bind-key Enter new-window
bind-key Tab choose-window
bind-key S-left prev
bind-key S-right next
bind-key C-left swap-window -t -1
bind-key C-right swap-window -t +1
bind-key C-d display-panes
bind-key -n S-left prev
bind-key -n S-right next
bind-key -n M-< swap-window -t -1
bind-key -n M-> swap-window -t +1
bind-key M-d display-panes
# Urlview
bind-key u capture-pane \; save-buffer /tmp/tmux-buffer \; new-window -n "urlscan" '$SHELL -c "urlscan < /tmp/tmux-buffer"'
@ -135,11 +138,11 @@ bind-key ] paste-buffer
# Copy/paste. Seleccionar texto con el mouse lo copia automaticamente al clipboard
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xsel -i -p -b"
bind-key p run "xsel -o | tmux load-buffer - ; tmux paste-buffer"
bind -n C-S-v run "xsel -o | tmux load-buffer - ; tmux paste-buffer"
bind-key C-S-v run "xsel -o | tmux load-buffer - ; tmux paste-buffer"
bind -n M-S-v run "xsel -o | tmux load-buffer - ; tmux paste-buffer"
bind-key M-S-v run "xsel -o | tmux load-buffer - ; tmux paste-buffer"
# FZF Locate
bind-key -n 'M-/' new-window -n locate \; send-keys "fl && tmux kill-window\n"
bind-key -n 'M-/' new-window -n locate \; send-keys "fl && tmux kill-window\n"
# Prender y apagar statusbar
bind-key & set-option -g status
@ -149,4 +152,4 @@ set -g @prevent-scroll-for-fullscreen-alternate-buffer 'on'
set -g @scroll-speed-num-lines-per-scroll '3'
run-shell ~/bin/tmux-better-mouse-mode/scroll_copy_mode.tmux
# vim: set ft=tmux:
# vim: set ft=tmux:

49
.zshenv
View File

@ -1,10 +1,9 @@
# Programas y Opciones del Sistema {{{
export TERMINAL="termite"
export EDITOR="nvim"
export GIT_EDITOR=$EDITOR
export BROWSER="firefox"
export CLIBROWSER="elinks"
export READER="zathura"
export FILE="ranger"
export GREP_COLOR="0;32"
export PULSEMIXER_BAR_STYLE="┌╶┐╴└┘▮ ◆┆"
export RANGER_LOAD_DEFAULT_RC="FALSE"
@ -15,49 +14,38 @@ export QT_QPA_PLATFORMTHEME=qt5ct
export SSH_ASKPASS="/usr/lib/seahorse/ssh-askpass"
export GTK2_RC_FILES="$HOME/.config/gtk-2.0/gtkrc-2.0"
export NOTMUCH_CONFIG="$HOME/.config/notmuch-config"
export RTV_BROWSER="$HOME/bin/linkhandler"
export RTV_BROWSER="$BROWSER"
export RTV_URLVIEWER="urlscan"
export RTV_EDITOR="$EDITOR"
export MAILCAPS="$HOME/.config/mutt/mailcap"
export MANPAGER="nvim +'set filetype=man' -"
# fff
export FFF_TRASH_CMD="rm"
export FFF_MARK_FORMAT="> %f"
export FFF_COL2=3
# highlight
export HIGHLIGHT_OPTIONS='--out-format="ansi" --style="pablo"'
# fzf
export BAT_STYLE="numbers,changes,header"
export BAT_THEME="TwoDark"
# }}}
# FZF {{{
export FZF_DEFAULT_COLORS='--color=dark,fg:-1,fg+:254,bg:-1,bg+:235,hl:33,hl+:33,info:8,border:1,prompt:4,pointer:3,marker:3,spinner:8,header:6'
export FZF_DEFAULT_OPTS="$FZF_DEFAULT_COLORS \
--extended \
--reverse \
--ansi \
--inline-info \
--no-bold \
--ansi \
--bind ctrl-f:page-down,ctrl-b:page-up \
--preview 'bat --color=always {}' \
--preview-window wrap"
export FZF_DEFAULT_COMMAND="rg \
--files \
--no-messages \
--no-ignore \
--hidden \
--follow \
--ignore-case \
--glob '!{.git,node_modules}/*'"
export FZF_DEFAULT_COMMAND="fd --type file --color=always --follow --hidden --exclude .git"
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
export FZF_ALT_C_COMMAND="bfs -type d -nohidden"
export FZF_COMPLETION_OPTS='+c -x'
export FZF_CTRL_T_OPTS="--select-1 --exit-0 --preview '(highlight -O ansi -l {} || bat --color \"always\" {} || tree -C {}) 2> /dev/null | head -200'"
export FZF_CTRL_R_OPTS="--preview 'echo {}' --preview-window down:3:hidden:wrap --bind '?:toggle-preview'"
export FZF_ALT_C_OPTS="--select-1 --exit-0 --preview 'tree -C {} | head -200'"
export FZF_CTRL_T_OPTS="--select-1 --exit-0"
export FZF_ALT_C_OPTS="--select-1 --exit-0"
export FZF_VIM_LOG=$(git config --get alias.l | awk '{$1=""; print $0;}' | tr -d '\r')
# less
# }}}
# Less {{{
export LESS=" \
--ignore-case \
--tilde \
@ -71,7 +59,7 @@ export LESS=" \
--shift=5"
export LESSOPEN="| highlight $HIGHLIGHT_OPTIONS -- %s 2>/dev/null" # Use `highlight` program to try to highlight opened file according to its extension.
export LESSHISTFILE="$HOME/.config/less/lesshistory" # Command and search history file.
export LESSHISTFILE="-" # Command and search history file.
export LESSKEYRC="$HOME/.config/less/lesskey" # Path of the uncompiled lesskey file.
export LESSKEY="$LESSKEYRC.lwc" # Path of the compiled lesskey file.
export LESS_TERMCAP_md=$(tput bold; tput setaf 4) # Turn on bold mode.
@ -86,6 +74,9 @@ export LESS_TERMCAP_ZN=$(tput ssubm) # Enter subscript mode.
export LESS_TERMCAP_ZV=$(tput rsubm) # End subscript mode.
export LESS_TERMCAP_ZO=$(tput ssupm) # Enter superscript mode.
export LESS_TERMCAP_ZW=$(tput rsupm) # End superscript mode.
# }}}
# Path {{{
typeset -U path
path=(~/bin ~/.local/bin /usr/lib/surfraw $path[@])
path=(~/bin ~/.local/bin ~/.yarn/bin ~/.config/yarn/global/node_modules/.bin /usr/lib/surfraw $path[@])
# }}}
# vim:foldmethod=marker:foldlevel=0

17
.zshrc
View File

@ -114,20 +114,11 @@ setopt INC_APPEND_HISTORY
setopt SHARE_HISTORY
# }}}
# Plugins y extras {{{
foreach programa (
LS_COLORS/dircolors.sh
fzf/key-bindings.zsh
fzf/completion.zsh
) {
source /usr/share/$programa
}
foreach extra (
agkozak-zsh-prompt/agkozak-zsh-prompt.plugin.zsh
zsh-completions/zsh-completions.plugin.zsh
up.plugin.zsh
k.sh
widgets.zsh
teclas.zsh
extras.zsh
aliases.plugin.zsh
@ -137,6 +128,14 @@ foreach extra (
source $MODULES_DIR/$extra
}
foreach programa (
LS_COLORS/dircolors.sh
fzf/key-bindings.zsh
fzf/completion.zsh
) {
source /usr/share/$programa
}
typeset -g ZSH_SYSTEM_CLIPBOARD_TMUX_SUPPORT='true'
AGKOZAK_BLANK_LINES=1

View File

@ -1,6 +0,0 @@
#!/bin/bash
sleep 5
xdotool search --class polybar windowunmap
xdotool search --name "Polybar tray window" windowunmap
bspc config top_padding $((0-8))

View File

@ -1,5 +0,0 @@
#!/bin/bash
xdotool search --class polybar windowmap
xdotool search --onlyvisible --name "Polybar tray window" windowmap
bspc config top_padding $((20-8))

6
bin/cachetear Executable file
View File

@ -0,0 +1,6 @@
#!/usr/bin/env bash
set -euf -o pipefail
notify-send -u urgent -i ~/Pictures/.icn/control.png "Tres meses han pasado..." "Es hora de limpiar el cache"
sleep 10s
termite --name=flota -e paccache -rk1 && yay -Sca

View File

@ -1,3 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
set -euf -o pipefail
ffmpeg -i "$1" -r 29.97 -vf scale=1280:-1 -vf format=yuv420p -vf crop=710:720:0:0 -c:v libx264 -c:a aac -b:a 128k "$1_cropped.mp4"

View File

@ -29,7 +29,7 @@ case "$file" in
*\.tex) textype "$file" ;;
*\.md) pandoc "$file" --pdf-engine=xelatex -o "$base".pdf ;;
*config.h) sudo make install ;;
*\.c) cc "$file" -o "$base" && "$base" ;;
*\.c) cc "$file" -o "$base" && "$base" ;;
*\.py) python "$file" ;;
*\.go) go run "$file" ;;
*\.sent) setsid sent "$file" 2>/dev/null & ;;

View File

@ -1,6 +1,8 @@
#!/usr/bin/env sh
# Sync mail and give notification if there is new mail.
pgrep -u "$USER" >/dev/null || exit
ping -q -c 1 1.1.1.1 > /dev/null || exit
export DISPLAY=:0.0
@ -8,7 +10,11 @@ export DISPLAY=:0.0
notify() { notify-send -i ~/Pictures/.icn/correo.png "You've got mail" "$2 new message(s) in \`$1\` " ;}
# Run mbsync. You can feed this script different settings.
mbsync -a "$@"
if [ $# -eq 0 ]; then
mbsync -a
else
mbsync "$@"
fi
# Check all accounts/mailboxes for new mail. Notify if there is new content.
for account in "$HOME/.local/share/mail/"*

View File

@ -1,10 +1,14 @@
#!/usr/bin/env bash
set -euf -o pipefail
FOLDER="$HOME/bin"
FILE="$FOLDER/$1"
if [[ -f $FILE ]]; then
echo -e "There's a file called that already..."
echo -e "Already exists. Press ENTER to edit or CTRL+C to cancel"
read -r
$EDITOR "$FILE"
else
echo -e "#!/usr/bin/env bash\\nset -euf -o pipefail\\n" > "$FILE"
chmod +x "$FILE"

View File

@ -3,7 +3,7 @@ set -euf -o pipefail
git log --graph --color=always \
--format="%C(auto)%h%d %s %C(black)%C(bold)%cr" "$@" |
fzf --ansi --preview "echo {} | grep -o '[a-f0-9]\{7\}' | head -1 | xargs -I % sh -c 'git show --color=always %'" \
fzf --ansi --exit-0 --preview "echo {} | grep -o '[a-f0-9]\{7\}' | head -1 | xargs -I % sh -c 'git show --color=always %'" \
--bind "enter:execute:
(grep -o '[a-f0-9]\{7\}' | head -1 |
xargs -I % sh -c 'git show --color=always % | less -R') << 'FZF-EOF'

9
bin/fk Executable file
View File

@ -0,0 +1,9 @@
#!/usr/bin/env bash
set -euf -o pipefail
pid=$(ps -ef | sed 1d | fzf-tmux -m | awk '{print $2}')
if [ "x$pid" != "x" ]
then
echo "$pid" | xargs kill -"${1:-9}"
fi

View File

@ -1,7 +1,7 @@
#!/bin/bash
git-download(){
folder=${@/tree\/master/trunk}
folder=${*/tree\/master/trunk}
folder=${folder/blob\/master/trunk}
svn export "$folder"
}

View File

@ -1,20 +1,22 @@
#!/bin/bash
#!/usr/bin/env bash
set -euf -o pipefail
if [ -d /sys/class/power_supply/BAT0 ]; then
bat_lvl=$(head -n 1 /sys/class/power_supply/BAT0/capacity)
current_charge=$(echo "$bat_lvl" | grep -o '[0-9]\+%' | awk '{sub (/%/, "", $1); print $1}')
battery_info="$(head -n 1 /sys/class/power_supply/BAT0/capacity)%"
current_charge=$(echo "$battery_info" | grep -o '[0-9]\+%' | awk '{sub (/%/, "", $1); print $1}')
if [[ $current_charge -lt 11 ]]; then
icon="/home/deadguy/Pictures/.icn/battery-empty.png"
ICON="/home/deadguy/Pictures/.icn/battery-empty.png"
elif [[ $current_charge -lt 31 ]]; then
icon="/home/deadguy/Pictures/.icn/battery-caution.png"
ICON="/home/deadguy/Pictures/.icn/battery-caution.png"
elif [[ $current_charge -lt 51 ]]; then
icon="/home/deadguy/Pictures/.icn/battery-low.png"
ICON="/home/deadguy/Pictures/.icn/battery-low.png"
elif [[ $current_charge -lt 71 ]]; then
icon="/home/deadguy/Pictures/.icn/battery-good.png"
elif [[ $current_charge -lt 98 ]]; then
icon="/home/deadguy/Pictures/.icn/battery-full.png"
ICON="/home/deadguy/Pictures/.icn/battery-good.png"
elif [[ $current_charge -lt 90 ]]; then
ICON="/home/deadguy/Pictures/.icn/battery-full.png"
else
ICON="/home/deadguy/Pictures/.icn/battery-full.png"
fi
bat="$bat_lvl%"
notify-send -t 5000 -i "$ICON" "$current_charge%"
fi
notify-send -t 5000 -i "$icon" "${bat}"

View File

@ -1,29 +0,0 @@
#!/bin/bash
terminal="st"
if [ -z "$(xdotool search --classname "dropdown")" ]; then
bspc rule -a $terminal:dropdown state=floating,hidden=on,border=off,sticky=on layer=above,focus=on,rectangle=1364x250+1+527
# Use of xtoolwait is recommended instead of the until-loop.
# One or the other is needed to wait for the terminal to be
# mapped to a window before continuing the script.
# xtoolwait, as the name implies, does not work with wayland.
#xtoolwait "$terminal" -c "$terminal" -n dropdown
($terminal -c $terminal -n dropdown &); until [ "$(bspc query -N -n .hidden | tail -n1)" ]; do :; done
# find the newest hidden terminal
wid=$(bspc query -N -n .hidden | tail -n1)
#compton-trans -w $wid -o 80
# Reveal the terminal once all the geometric changes are complete
bspc node "$wid" -g hidden=off -f
bspc rule -r $terminal:dropdown
else
wid=$(printf "0x%x" "$(xdotool search --classname "dropdown")")
# toggle visibility of dropdown menu
bspc node "$wid" -g hidden -f
fi

View File

@ -6,7 +6,7 @@ set -euf -o pipefail
music_dir="$HOME/Music/Albums"
# What should the covers be resized to in pixels
cover_resize="100"
cover_resize="150"
# What is the cover file called?
img_reg=".*/(cover|front|folder|art).(jpg|jpeg|png|gif)$"
@ -15,9 +15,8 @@ img_reg=".*/(cover|front|folder|art).(jpg|jpeg|png|gif)$"
artist_color="##a1b56c"
song_color="##34e2e2"
#title="%album%"
form="<span color='$artist_color'>%artist%</span> - <span color='$song_color'>%title%</span>"
# END CONFIG ----------------------------------------------------
# END CONFIG ------------------------------------------------
# These are some variables we need for things to work
song="$(mpc --format %file% current)"

View File

@ -2,7 +2,7 @@
set -euf -o pipefail
[[ -n "$TMUX" ]] && change="switch-client" || change="attach-session"
if [ "$1" ]; then
tmux $change -t "$1" 2>/dev/null || (tmux new-session -d -s "$1" && tmux $change -t "$1"); return
if [ "$@" ]; then
tmux $change -t "$1" 2>/dev/null || (tmux new-session -d -s "$@" && tmux $change -t "$@"); return
fi
session=$(tmux list-sessions -F "#{session_name}" 2>/dev/null | fzf --exit-0) && tmux $change -t "$session" || echo "No sessions found."

View File

@ -1,11 +0,0 @@
#!/bin/bash
PANEL_PID=$(pidof polybar)
if [[ $PANEL_PID ]]; then
kill -9 $PANEL_PID
bspc config top_padding $((0-8))
else
~/.config/polybar/launch.sh
#bspc config top_padding $((5-8))
fi

View File

@ -1,5 +0,0 @@
#!/bin/bash
sleep 5
xdotool search --class stalonetray windowunmap
bspc config top_padding 6

View File

@ -1,4 +0,0 @@
#!/bin/bash
xdotool search --class stalonetray windowmap
#bspc config top_padding 6

View File

@ -7,9 +7,9 @@ echo "$line" |
grep -v "Saved.*variant.c:" |
while read -r line; do
echo "$line" | grep -q "Queued for verification (verify.c:" &&
notify-send --app-name="Transmission Started" "${line#* * }"
notify-send -i /home/deadguy/Pictures/.icn/trans1.png "Transmission Started" "${line#* * }"
echo "$line" | grep -q "changed from .Incomplete. to .Complete." &&
notify-send --app-name="Transmission Complete" "${line#* * }"
notify-send -i /home/deadguy/Pictures/.icn/trans2.png "Transmission Complete" "${line#* * }"
echo "$line" | systemd-cat --identifier="TransWrap" --priority=5
done > /dev/null 2>&1
done & disown

View File

@ -1,5 +1,7 @@
#!/usr/bin/env bash
set -euf -o pipefail
sudo pacman-mirrors -f5
sudo pacman-mirrors -c Canada,United_States
yay -Syu
sudo updatedb
locate -e --regex "\.pac(new|save)$" > ~/pacnew.log

View File

@ -1,6 +1,7 @@
abook
acpi
advcp
alsa-plugins
alsa-utils
android-file-transfer
artyfx
@ -9,47 +10,44 @@ audacity
autoconf
automake
autopep8
b43-fwcutter
bat
bison
blueman
bpython
brandr
bspwm
cadence
calf
carla
catdoc
compton
cpupower
crda
cronie
ctags
dash
dfc
dhclient
dhcpcd
dhex
dialog
diff-so-fancy
discount
dnsmasq
docx2txt
downgrade
dunst
ecryptfs-utils
efibootmgr
eslint
ethtool
exfat-utils
f2fs-tools
fakeroot
fasd
fd
fff
ffmpegthumbnailer
file-roller
filezilla
firefox
flex
gcc
ghostscript
gimp-nufraw
gimp-plugin-gmic
gimp-plugin-lqr
@ -71,25 +69,18 @@ hub
hunspell-en_US
hunspell-es_any
hunspell-es_ar
hwinfo
infamousplugins
iniparser
inkscape
intel-ucode
inxi
iputils
ipw2100-fw
ipw2200-fw
ipython
isync
jfsutils
jp2a
jq
lib32-alsa-plugins
lib32-freeglut
lib32-glu
lib32-jack2
lib32-libpulse
libzip
licenses
linux-rt-manjaro
logrotate
@ -109,7 +100,6 @@ manjaro-system
mda.lv2
mediainfo
memtest86+
mhwd-db
mkinitcpio-openswap
mlocate
mpc
@ -124,9 +114,9 @@ nfs-utils
nilfs-utils
notmuch
noto-fonts-cjk
npm
ntfs-3g
oblogout
odt2txt
offlineimap
openbsd-netcat
os-prober
@ -145,6 +135,7 @@ perl-term-readline-gnu
perl-text-charwidth
pkgbrowser
pkgconf
prettier
processing
pulseaudio-bluetooth
pulseaudio-jack
@ -165,7 +156,6 @@ python-setproctitle
python-virtualenv
python2-pygame-sdl2
qt5ct
qutebrowser
realtime-privileges
reiserfsprogs
ripgrep
@ -179,7 +169,6 @@ sc3-plugins
seahorse
shellcheck
smartmontools
sonic-visualiser
source-highlight
spectre-meltdown-checker
sublime-text
@ -192,22 +181,23 @@ texlive-formatsextra
texlive-latexextra
texlive-pictures
texlive-science
tidy
tlp-rdw
tlpui
tmux
transmission-cli
ttf-ibm-plex
typescript
unace
unarj
uncrustify
unrar
urlscan
urxvt-perls
v86d
vbam-sdl
vice
vint
w3m
weechat
which
wireless_tools
wmctrl
@ -235,6 +225,7 @@ xorg-xkill
xorg-xprop
xorg-xsetroot
xorg-xwininfo
xsel
yapf
yay
youtube-dl

View File

@ -1,7 +1,5 @@
adwaita-qt5
bashmount
bfs
cherry-font-git
colort-git
curseradio-git
deflemask
@ -14,23 +12,18 @@ gimp-plugin-export-layers
gimp-plugin-layer-via-copy-cut
gimp-plugin-saveforweb
gimp-plugin-scale-layer-to-image-size
goattracker
godot
gprof2dot
gtk-theme-minwaita
i3lock-color
irssi-git
lab
lscolors-git
modprobed-db
ncpamixer
neovim-drop-in
otf-san-francisco
pavolume-git
perl-extract-url
perl-uri-find
pmount
proggyfonts
pymdown-extensions
python-lolcat
python-proc
@ -38,14 +31,13 @@ python-pysdl2
ranger-git
realtimeconfigquickscan-git
soulseekqt
stylelint
sws
tamzen-font
task-spooler
terminus-font-ll2-td1
thermald
toilet-fonts
transmission-remote-cli-git
ttf-migu
unclutter-xfixes-git
wpa_actiond
xcursor-alkano-default