Redid all configs
This commit is contained in:
commit
df01147684
5
.gitignore
vendored
Normal file
5
.gitignore
vendored
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
zsh/.zcompdump
|
||||||
|
zsh/.zcompdump.zwc
|
||||||
|
zsh/.zhistory
|
||||||
|
|
||||||
|
nvim/.config/nvim/plugged
|
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
[submodule "zsh/prezto"]
|
||||||
|
path = zsh/prezto
|
||||||
|
url = https://github.com/sorin-ionescu/prezto.git
|
0
aurman/.config/aurman/aurman_config
Normal file
0
aurman/.config/aurman/aurman_config
Normal file
15
git/.gitconfig
Normal file
15
git/.gitconfig
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
[user]
|
||||||
|
name = Dreaded_X
|
||||||
|
email = tim.huizinga@gmail.com
|
||||||
|
|
||||||
|
[push]
|
||||||
|
default = simple
|
||||||
|
|
||||||
|
[core]
|
||||||
|
excludesfile = $HOME/.dotfiles/git/gitignore
|
||||||
|
|
||||||
|
[color]
|
||||||
|
ui = true
|
||||||
|
|
||||||
|
[credential]
|
||||||
|
helper = /usr/lib/git-core/git-credential-gnome-keyring
|
1
git/.stow-local-ignore
Normal file
1
git/.stow-local-ignore
Normal file
|
@ -0,0 +1 @@
|
||||||
|
gitignore
|
15
git/gitignore
Normal file
15
git/gitignore
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
# Created by https://www.gitignore.io/api/vim
|
||||||
|
|
||||||
|
### Vim ###
|
||||||
|
# swap
|
||||||
|
.sw[a-p]
|
||||||
|
.*.sw[a-p]
|
||||||
|
# session
|
||||||
|
Session.vim
|
||||||
|
# temporary
|
||||||
|
.netrwhist
|
||||||
|
*~
|
||||||
|
# auto-generated tag files
|
||||||
|
tags
|
||||||
|
|
||||||
|
# End of https://www.gitignore.io/api/vim
|
30
gtk/.config/gtk-3.0/gtk.css
Normal file
30
gtk/.config/gtk-3.0/gtk.css
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
window.ssd separator:first-child + headerbar:backdrop,
|
||||||
|
window.ssd separator:first-child + headerbar,
|
||||||
|
window.ssd headerbar:first-child:backdrop,
|
||||||
|
window.ssd headerbar:first-child,
|
||||||
|
window.ssd headerbar:last-child:backdrop,
|
||||||
|
window.ssd headerbar:last-child,
|
||||||
|
window.ssd stack headerbar:first-child:backdrop,
|
||||||
|
window.ssd stack headerbar:first-child,
|
||||||
|
window.ssd stack headerbar:last-child:backdrop,
|
||||||
|
window.ssd stack headerbar:last-child,
|
||||||
|
window.ssd decoration,
|
||||||
|
window.ssd headerbar.titlebar {
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
window.ssd headerbar * {
|
||||||
|
margin-top: -100px;
|
||||||
|
color: #222d32; /* May need to tweak, this matches Adwaita Dark */
|
||||||
|
}
|
||||||
|
|
||||||
|
window.ssd headerbar.titlebar,
|
||||||
|
window.ssd headerbar.titlebar button.titlebutton {
|
||||||
|
border: none;
|
||||||
|
font-size: 0;
|
||||||
|
height: 0;
|
||||||
|
margin: 0;
|
||||||
|
max-height: 0;
|
||||||
|
min-height: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
2504
nvim/.config/nvim/autoload/plug.vim
Normal file
2504
nvim/.config/nvim/autoload/plug.vim
Normal file
File diff suppressed because it is too large
Load Diff
129
nvim/.config/nvim/init.vim
Normal file
129
nvim/.config/nvim/init.vim
Normal file
|
@ -0,0 +1,129 @@
|
||||||
|
call plug#begin('~/.dotfiles/nvim/.config/nvim/plugged')
|
||||||
|
Plug 'Raimondi/delimitMate'
|
||||||
|
Plug 'morhetz/gruvbox'
|
||||||
|
Plug 'scrooloose/nerdtree'
|
||||||
|
Plug 'godlygeek/tabular'
|
||||||
|
Plug 'tomtom/tcomment_vim'
|
||||||
|
Plug 'bling/vim-airline'
|
||||||
|
Plug 'tommcdo/vim-exchange'
|
||||||
|
Plug 'tpope/vim-surround'
|
||||||
|
Plug 'christoomey/vim-tmux-navigator'
|
||||||
|
"Plug 'MarcWeber/vim-addon-mw-utils'
|
||||||
|
"Plug 'tomtom/tlib_vim'
|
||||||
|
"Plug 'SirVer/ultisnips'
|
||||||
|
"Plug 'honza/vim-snippets'
|
||||||
|
Plug 'tpope/vim-dispatch'
|
||||||
|
"Plug 'tpope/vim-unimpaired'
|
||||||
|
Plug 'milkypostman/vim-togglelist'
|
||||||
|
Plug 'moll/vim-bbye'
|
||||||
|
"Plug 'tpope/vim-fugative'
|
||||||
|
Plug 'junegunn/fzf', {'do': './install --bin'}
|
||||||
|
"Plug 'Valloric/YouCompleteMe', {'do': './install.py --clang-completer --go-completer --rust-completer --js-completer --java-completer'}
|
||||||
|
Plug 'Valloric/YouCompleteMe', {'do': './install.py --clang-completer'}
|
||||||
|
|
||||||
|
Plug 'digitaltoad/vim-pug'
|
||||||
|
Plug 'tikhomirov/vim-glsl'
|
||||||
|
Plug 'rust-lang/rust.vim'
|
||||||
|
call plug#end()
|
||||||
|
|
||||||
|
" Setup custom syntax
|
||||||
|
au BufRead,BufNewFile *.lang setfiletype lang
|
||||||
|
|
||||||
|
" Load vim config in current directory
|
||||||
|
silent! do .vimlocal
|
||||||
|
|
||||||
|
" Theme
|
||||||
|
colorscheme gruvbox
|
||||||
|
set t_Co=256
|
||||||
|
set t_ZH=[3m
|
||||||
|
set t_ZR=[23m
|
||||||
|
set background=dark
|
||||||
|
|
||||||
|
set list lcs=tab:\|\
|
||||||
|
|
||||||
|
" Powerline
|
||||||
|
let g:airline_powerline_fonts = 1
|
||||||
|
let g:airline#extensions#tabline#enabled = 1
|
||||||
|
let g:airline_theme='gruvbox'
|
||||||
|
|
||||||
|
" Preferences
|
||||||
|
syntax on
|
||||||
|
filetype plugin indent on
|
||||||
|
set smartindent
|
||||||
|
set number
|
||||||
|
set laststatus=2
|
||||||
|
set softtabstop=4
|
||||||
|
set tabstop=4
|
||||||
|
set shiftwidth=4
|
||||||
|
set noexpandtab
|
||||||
|
set mouse=a
|
||||||
|
|
||||||
|
" DelimitMate
|
||||||
|
let delimitMate_expand_cr = 1
|
||||||
|
|
||||||
|
" Keybindings
|
||||||
|
map <silent> <F2> :NERDTreeToggle<cr>
|
||||||
|
map <silent> <M-h> :TmuxNavigateLeft<cr>
|
||||||
|
map <silent> <M-j> :TmuxNavigateDown<cr>
|
||||||
|
map <silent> <M-k> :TmuxNavigateUp<cr>
|
||||||
|
map <silent> <M-l> :TmuxNavigateRight<cr>
|
||||||
|
map <silent> <tab> :bn<cr>
|
||||||
|
map <silent> <S-tab> :bp<cr>
|
||||||
|
map <silent> <S-j> 10j
|
||||||
|
map <silent> <S-k> 10k
|
||||||
|
map <silent> <C-b> :Bdelete<cr>
|
||||||
|
map <silent> <F4> :call ToggleQuickfixList()<cr>
|
||||||
|
|
||||||
|
" Fold in functions
|
||||||
|
fu! CustomFoldText()
|
||||||
|
"get first non-blank line
|
||||||
|
let fs = v:foldstart
|
||||||
|
while getline(fs) =~ '^\s*$' | let fs = nextnonblank(fs + 1)
|
||||||
|
endwhile
|
||||||
|
if fs > v:foldend
|
||||||
|
let line = getline(v:foldstart)
|
||||||
|
else
|
||||||
|
let line = substitute(getline(fs), '\t', repeat(' ', &tabstop), 'g')
|
||||||
|
endif
|
||||||
|
|
||||||
|
let w = winwidth(0) - &foldcolumn - (&number ? 8 : 0)
|
||||||
|
let foldSize = 1 + v:foldend - v:foldstart
|
||||||
|
let foldSizeStr = " " . foldSize . " lines "
|
||||||
|
let foldLevelStr = repeat("+--", v:foldlevel)
|
||||||
|
let lineCount = line("$")
|
||||||
|
let foldPercentage = printf("[%.1f", (foldSize*1.0)/lineCount*100) . "%] "
|
||||||
|
let expansionString = repeat(".", w - strwidth(foldSizeStr.line.foldLevelStr.foldPercentage))
|
||||||
|
return line . expansionString . foldSizeStr . foldPercentage . foldLevelStr
|
||||||
|
endf
|
||||||
|
|
||||||
|
set foldtext=CustomFoldText()
|
||||||
|
set foldcolumn=1
|
||||||
|
au BufRead *.cpp,*.go,*.js setlocal foldmethod=syntax
|
||||||
|
au BufRead *.cpp,*.go,*.js setlocal foldnestmax=1
|
||||||
|
|
||||||
|
" Use fzf and silver searcher to search files (REQUIRES: the_silver_searcher)
|
||||||
|
map <silent> <C-p> :call fzf#run(fzf#wrap('custom', {'source': 'ag -g ""'}, 0))<cr>
|
||||||
|
let g:fzf_layout = {'down': '~20%'}
|
||||||
|
let g:fzf_colors =
|
||||||
|
\ { 'fg': ['fg', 'Normal'],
|
||||||
|
\ 'bg': ['bg', 'Normal'],
|
||||||
|
\ 'hl': ['fg', 'Comment'],
|
||||||
|
\ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'],
|
||||||
|
\ 'bg+': ['bg', 'CursorLine', 'CursorColumn'],
|
||||||
|
\ 'hl+': ['fg', 'Statement'],
|
||||||
|
\ 'info': ['fg', 'PreProc'],
|
||||||
|
\ 'border': ['fg', 'Ignore'],
|
||||||
|
\ 'prompt': ['fg', 'Conditional'],
|
||||||
|
\ 'pointer': ['fg', 'Exception'],
|
||||||
|
\ 'marker': ['fg', 'Keyword'],
|
||||||
|
\ 'spinner': ['fg', 'Label'],
|
||||||
|
\ 'header': ['fg', 'Comment'] }
|
||||||
|
|
||||||
|
" YouCompleteMe
|
||||||
|
set completeopt=menuone,menu
|
||||||
|
let g:ycm_confirm_extra_conf = 0
|
||||||
|
let g:ycm_error_symbol = ''
|
||||||
|
let g:ycm_warning_symbol = ''
|
||||||
|
|
||||||
|
" Ultisnip
|
||||||
|
let g:UltiSnipsExpandTrigger='<C-s>'
|
491
nvim/.config/nvim/syntax/c.vim
Normal file
491
nvim/.config/nvim/syntax/c.vim
Normal file
|
@ -0,0 +1,491 @@
|
||||||
|
" Vim syntax file
|
||||||
|
" Language: C
|
||||||
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
|
" Last Change: 2016 Nov 17
|
||||||
|
|
||||||
|
" 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
|
||||||
|
syn match cTodo contained "@todo"
|
||||||
|
syn match cTodo contained "@note"
|
||||||
|
|
||||||
|
" 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*\zs\(%:\|#\)\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
|
119
nvim/.config/nvim/syntax/cpp.vim
Normal file
119
nvim/.config/nvim/syntax/cpp.vim
Normal file
|
@ -0,0 +1,119 @@
|
||||||
|
" Vim syntax file
|
||||||
|
" Language: C++
|
||||||
|
" Current Maintainer: vim-jp (https://github.com/vim-jp/vim-cpp)
|
||||||
|
" Previous Maintainer: Ken Shan <ccshan@post.harvard.edu>
|
||||||
|
" Last Change: 2015 Nov 10
|
||||||
|
|
||||||
|
" 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/c.vim
|
||||||
|
else
|
||||||
|
runtime! syntax/c.vim
|
||||||
|
unlet b:current_syntax
|
||||||
|
endif
|
||||||
|
|
||||||
|
" 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
|
||||||
|
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 match cppNumber display "\<0b[01]\+\(u\=l\{0,2}\|ll\=u\)\>"
|
||||||
|
endif
|
||||||
|
|
||||||
|
" The minimum and maximum operators in GNU C++
|
||||||
|
syn match cppMinMax "[<>]?"
|
||||||
|
|
||||||
|
" Default highlighting
|
||||||
|
if version >= 508 || !exists("did_cpp_syntax_inits")
|
||||||
|
if version < 508
|
||||||
|
let did_cpp_syntax_inits = 1
|
||||||
|
command -nargs=+ HiLink hi link <args>
|
||||||
|
else
|
||||||
|
command -nargs=+ HiLink hi def link <args>
|
||||||
|
endif
|
||||||
|
HiLink cppAccess cppStatement
|
||||||
|
HiLink cppCast cppStatement
|
||||||
|
HiLink cppExceptions Exception
|
||||||
|
HiLink cppOperator Operator
|
||||||
|
HiLink cppStatement Statement
|
||||||
|
HiLink cppModifier Type
|
||||||
|
HiLink cppType Type
|
||||||
|
HiLink cppStorageClass StorageClass
|
||||||
|
HiLink cppStructure Structure
|
||||||
|
HiLink cppBoolean Boolean
|
||||||
|
HiLink cppConstant Constant
|
||||||
|
HiLink cppRawStringDelimiter Delimiter
|
||||||
|
HiLink cppRawString String
|
||||||
|
HiLink cppNumber Number
|
||||||
|
delcommand HiLink
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
function! RawStringEnableCodeSnip(filetype,start,end,textSnipHl) abort
|
||||||
|
let ft=toupper(a:filetype)
|
||||||
|
let group='textGroup'.ft
|
||||||
|
if exists('b:current_syntax')
|
||||||
|
let s:current_syntax=b:current_syntax
|
||||||
|
" Remove current syntax definition, as some syntax files (e.g. cpp.vim)
|
||||||
|
" do nothing if b:current_syntax is defined.
|
||||||
|
unlet b:current_syntax
|
||||||
|
endif
|
||||||
|
execute 'syntax include @'.group.' syntax/'.a:filetype.'.vim'
|
||||||
|
try
|
||||||
|
execute 'syntax include @'.group.' after/syntax/'.a:filetype.'.vim'
|
||||||
|
catch
|
||||||
|
endtry
|
||||||
|
if exists('s:current_syntax')
|
||||||
|
let b:current_syntax=s:current_syntax
|
||||||
|
else
|
||||||
|
unlet b:current_syntax
|
||||||
|
endif
|
||||||
|
execute 'syntax region textSnip'.ft.'
|
||||||
|
\ matchgroup='.a:textSnipHl.'
|
||||||
|
\ start=+'.a:start.'+ end=+'.a:end.'+
|
||||||
|
\ contains=@'.group
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
|
||||||
|
call RawStringEnableCodeSnip("chaiscript", 'R"chaiscript(', ')chaiscript"', 'cppRawString')
|
||||||
|
call RawStringEnableCodeSnip("lua", 'R"lua(', ')lua"', 'cppRawString')
|
||||||
|
|
||||||
|
let b:current_syntax = "cpp"
|
||||||
|
|
||||||
|
" vim: ts=8
|
39
nvim/.config/nvim/syntax/lang.vim
Normal file
39
nvim/.config/nvim/syntax/lang.vim
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
" quit when a syntax file was already loaded
|
||||||
|
if exists("b:current_syntax")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
" @todo \ at end of line should continue on next line
|
||||||
|
|
||||||
|
" Hello this is a test to see if it auto wraps the text when the text has been
|
||||||
|
" going on for way too long
|
||||||
|
|
||||||
|
" syn match langSpecial display contained "\\\(x\x\+\|\o\{1,3}\|.\|$\)"
|
||||||
|
" We only highlight valid escape characters as for now it just ignores unknown
|
||||||
|
" thing
|
||||||
|
syn match langSpecial display contained "\\[abfnrtv]"
|
||||||
|
syn match langError "^.\+"
|
||||||
|
syn keyword langTodo contained TODO FIXME XXX NOTE
|
||||||
|
syn match langTodo contained "@todo"
|
||||||
|
syn match langTodo contained "@note"
|
||||||
|
syn region langSection start="^\s*\[" end="\]"
|
||||||
|
syn match langKey "^.\{-}\ze="
|
||||||
|
syn match langValue "[#=]\zs.*$" contains=langSub,langSpecial,langValue
|
||||||
|
syn match langValue contained "\\\n.\+" contains=langValue
|
||||||
|
" syn match langSub "{[^}]\+}" " This is for fmt support
|
||||||
|
syn match langSub "{\d\+}"
|
||||||
|
syn match langComment "[#;].*$" contains=langTodo
|
||||||
|
|
||||||
|
hi def link langTodo Todo
|
||||||
|
hi def link langSpecial Special
|
||||||
|
hi def link langSection Type
|
||||||
|
hi def link langKey Identifier
|
||||||
|
hi def link langValue String
|
||||||
|
hi def link langValue2 String
|
||||||
|
hi def link langSub Constant
|
||||||
|
hi def link langComment Comment
|
||||||
|
hi def link langError Error
|
||||||
|
|
||||||
|
|
||||||
|
let b:current_syntax = "lang"
|
||||||
|
|
||||||
|
" vim: sts=2 sw=2 et
|
51
tmux/.tmux.conf
Normal file
51
tmux/.tmux.conf
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
set -g default-terminal "xterm-256color"
|
||||||
|
#set -g set-titles-string '#T'
|
||||||
|
#set-option -g set-titles on
|
||||||
|
setw -g monitor-activity on
|
||||||
|
setw -g aggressive-resize on
|
||||||
|
setw -g automatic-rename on
|
||||||
|
set -s escape-time 0
|
||||||
|
set-window-option -g xterm-keys on
|
||||||
|
|
||||||
|
unbind C-b
|
||||||
|
set -g prefix C-a
|
||||||
|
|
||||||
|
is_vim='echo "#{pane_current_command}" | grep -iqE "(^|\/)g?(view|n?vim?)(diff)?$"'
|
||||||
|
bind -n M-h if-shell "$is_vim" "send-keys M-h" "select-pane -L"
|
||||||
|
bind -n M-j if-shell "$is_vim" "send-keys M-j" "select-pane -D"
|
||||||
|
bind -n M-k if-shell "$is_vim" "send-keys M-k" "select-pane -U"
|
||||||
|
bind -n M-l if-shell "$is_vim" "send-keys M-l" "select-pane -R"
|
||||||
|
bind -n M-\ if-shell "$is_vim" "send-keys M-\\" "select-pane -l"
|
||||||
|
|
||||||
|
bind -n C-j new-window
|
||||||
|
bind -n C-h prev
|
||||||
|
bind -n C-l next
|
||||||
|
bind -n C-M-l swap-window -t +1
|
||||||
|
bind -n C-M-h swap-window -t -1
|
||||||
|
bind X kill-window
|
||||||
|
|
||||||
|
set -g status-bg "colour237"
|
||||||
|
set -g message-command-fg "colour246"
|
||||||
|
set -g status-justify "left"
|
||||||
|
set -g status-left-length "100"
|
||||||
|
set -g status "on"
|
||||||
|
set -g pane-active-border-fg "colour246"
|
||||||
|
set -g message-bg "colour239"
|
||||||
|
set -g status-right-length "100"
|
||||||
|
set -g status-right-attr "none"
|
||||||
|
set -g message-fg "colour246"
|
||||||
|
set -g message-command-bg "colour239"
|
||||||
|
set -g status-attr "none"
|
||||||
|
set -g pane-border-fg "colour239"
|
||||||
|
set -g status-left-attr "none"
|
||||||
|
setw -g window-status-fg "colour246"
|
||||||
|
setw -g window-status-attr "none"
|
||||||
|
setw -g window-status-activity-bg "colour237"
|
||||||
|
setw -g window-status-activity-attr "none"
|
||||||
|
setw -g window-status-activity-fg "colour246"
|
||||||
|
setw -g window-status-separator ""
|
||||||
|
setw -g window-status-bg "colour237"
|
||||||
|
set -g status-left "#[fg=colour235,bg=colour246] #S #[fg=colour246,bg=colour237,nobold,nounderscore,noitalics]"
|
||||||
|
set -g status-right "#[fg=colour239,bg=colour237,nobold,nounderscore,noitalics]#[fg=colour246,bg=colour239] %Y-%m-%d %H:%M #[fg=colour246,bg=colour239,nobold,nounderscore,noitalics]#[fg=colour235,bg=colour246] #h "
|
||||||
|
setw -g window-status-format "#[fg=colour246,bg=colour237] #I #[fg=colour246,bg=colour237] #W "
|
||||||
|
setw -g window-status-current-format "#[fg=colour237,bg=colour239,nobold,nounderscore,noitalics]#[fg=colour246,bg=colour239] #I #[fg=colour246,bg=colour239] #W #[fg=colour239,bg=colour237,nobold,nounderscore,noitalics]"
|
20
xdg/.config/user-dirs.dirs
Normal file
20
xdg/.config/user-dirs.dirs
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
# This file is written by xdg-user-dirs-update
|
||||||
|
# If you want to change or add directories, just edit the line you're
|
||||||
|
# interested in. All local changes will be retained on the next run.
|
||||||
|
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
|
||||||
|
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
|
||||||
|
# absolute path. No other format is supported.
|
||||||
|
#
|
||||||
|
XDG_CONFIG_HOME="$HOME/.config"
|
||||||
|
XDG_CACHE_HOME="$HOME/.cache"
|
||||||
|
XDG_DATA_HOME="$HOME/.local/share"
|
||||||
|
|
||||||
|
XDG_DOWNLOAD_DIR="$HOME/Downloads"
|
||||||
|
XDG_DOCUMENTS_DIR="$HOME/Documents"
|
||||||
|
XDG_MUSIC_DIR="$HOME/Music"
|
||||||
|
XDG_PICTURES_DIR="$HOME/Pictures"
|
||||||
|
XDG_VIDEOS_DIR="$HOME/Videos"
|
||||||
|
|
||||||
|
XDG_DESKTOP_DIR="$HOME"
|
||||||
|
XDG_PUBLICSHARE_DIR="$HOME"
|
||||||
|
XDG_TEMPLATES_DIR="$HOME"
|
1
xdg/.config/user-dirs.locale
Normal file
1
xdg/.config/user-dirs.locale
Normal file
|
@ -0,0 +1 @@
|
||||||
|
en_US
|
10
zsh/.stow-local-ignore
Normal file
10
zsh/.stow-local-ignore
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
/prezto/*
|
||||||
|
.zlogin
|
||||||
|
.zlogout
|
||||||
|
.zpreztorc
|
||||||
|
.zprofile
|
||||||
|
.zshenv
|
||||||
|
|
||||||
|
.zcompdump
|
||||||
|
.zcompdump.zwc
|
||||||
|
.zhistory
|
15
zsh/.zlogin
Normal file
15
zsh/.zlogin
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
#
|
||||||
|
# Executes commands at login post-zshrc.
|
||||||
|
#
|
||||||
|
# Authors:
|
||||||
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
|
#
|
||||||
|
|
||||||
|
# Execute code that does not affect the current session in the background.
|
||||||
|
{
|
||||||
|
# Compile the completion dump to increase startup speed.
|
||||||
|
zcompdump="${ZDOTDIR:-$HOME}/.zcompdump"
|
||||||
|
if [[ -s "$zcompdump" && (! -s "${zcompdump}.zwc" || "$zcompdump" -nt "${zcompdump}.zwc") ]]; then
|
||||||
|
zcompile "$zcompdump"
|
||||||
|
fi
|
||||||
|
} &!
|
6
zsh/.zlogout
Normal file
6
zsh/.zlogout
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
#
|
||||||
|
# Executes commands at logout.
|
||||||
|
#
|
||||||
|
# Authors:
|
||||||
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
|
#
|
235
zsh/.zpreztorc
Normal file
235
zsh/.zpreztorc
Normal file
|
@ -0,0 +1,235 @@
|
||||||
|
#
|
||||||
|
# Sets Prezto options.
|
||||||
|
#
|
||||||
|
# Authors:
|
||||||
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# General
|
||||||
|
#
|
||||||
|
|
||||||
|
# Set case-sensitivity for completion, history lookup, etc.
|
||||||
|
# zstyle ':prezto:*:*' case-sensitive 'yes'
|
||||||
|
|
||||||
|
# Color output (auto set to 'no' on dumb terminals).
|
||||||
|
zstyle ':prezto:*:*' color 'yes'
|
||||||
|
|
||||||
|
# Add additional directories to load prezto modules from
|
||||||
|
# zstyle ':prezto:load' pmodule-dirs $HOME/.zprezto-contrib
|
||||||
|
|
||||||
|
# Set the Zsh modules to load (man zshmodules).
|
||||||
|
# zstyle ':prezto:load' zmodule 'attr' 'stat'
|
||||||
|
|
||||||
|
# Set the Zsh functions to load (man zshcontrib).
|
||||||
|
# zstyle ':prezto:load' zfunction 'zargs' 'zmv'
|
||||||
|
|
||||||
|
# Set the Prezto modules to load (browse modules).
|
||||||
|
# The order matters.
|
||||||
|
zstyle ':prezto:load' pmodule \
|
||||||
|
'environment' \
|
||||||
|
'terminal' \
|
||||||
|
'editor' \
|
||||||
|
'history' \
|
||||||
|
'directory' \
|
||||||
|
'spectrum' \
|
||||||
|
'utility' \
|
||||||
|
'git' \
|
||||||
|
'completion' \
|
||||||
|
'autosuggestions' \
|
||||||
|
'history-substring-search' \
|
||||||
|
'prompt'
|
||||||
|
|
||||||
|
#
|
||||||
|
# Autosuggestions
|
||||||
|
#
|
||||||
|
|
||||||
|
# Set the query found color.
|
||||||
|
#zstyle ':prezto:module:autosuggestions:color' found ''
|
||||||
|
|
||||||
|
zstyle ':prezto:module:history-substring-search:color' found ''
|
||||||
|
zstyle ':prezto:module:history-substring-search:color' not-found ''
|
||||||
|
|
||||||
|
#
|
||||||
|
# Completions
|
||||||
|
#
|
||||||
|
|
||||||
|
# Set the entries to ignore in static */etc/hosts* for host completion.
|
||||||
|
# zstyle ':prezto:module:completion:*:hosts' etc-host-ignores \
|
||||||
|
# '0.0.0.0' '127.0.0.1'
|
||||||
|
|
||||||
|
#
|
||||||
|
# Editor
|
||||||
|
#
|
||||||
|
|
||||||
|
# Set the key mapping style to 'emacs' or 'vi'.
|
||||||
|
zstyle ':prezto:module:editor' key-bindings 'vi'
|
||||||
|
|
||||||
|
# Auto convert .... to ../..
|
||||||
|
zstyle ':prezto:module:editor' dot-expansion 'yes'
|
||||||
|
|
||||||
|
# Allow the zsh prompt context to be shown.
|
||||||
|
zstyle ':prezto:module:editor' ps-context 'yes'
|
||||||
|
|
||||||
|
#
|
||||||
|
# Git
|
||||||
|
#
|
||||||
|
|
||||||
|
# Ignore submodules when they are 'dirty', 'untracked', 'all', or 'none'.
|
||||||
|
zstyle ':prezto:module:git:status:ignore' submodules 'all'
|
||||||
|
zstyle ':prezto:module:git:alias' skip 'yes'
|
||||||
|
|
||||||
|
#
|
||||||
|
# GNU Utility
|
||||||
|
#
|
||||||
|
|
||||||
|
# Set the command prefix on non-GNU systems.
|
||||||
|
# zstyle ':prezto:module:gnu-utility' prefix 'g'
|
||||||
|
|
||||||
|
#
|
||||||
|
# History Substring Search
|
||||||
|
#
|
||||||
|
|
||||||
|
# Set the query found color.
|
||||||
|
# zstyle ':prezto:module:history-substring-search:color' found ''
|
||||||
|
|
||||||
|
# Set the query not found color.
|
||||||
|
# zstyle ':prezto:module:history-substring-search:color' not-found ''
|
||||||
|
|
||||||
|
# Set the search globbing flags.
|
||||||
|
# zstyle ':prezto:module:history-substring-search' globbing-flags ''
|
||||||
|
|
||||||
|
#
|
||||||
|
# macOS
|
||||||
|
#
|
||||||
|
|
||||||
|
# Set the keyword used by `mand` to open man pages in Dash.app
|
||||||
|
# zstyle ':prezto:module:osx:man' dash-keyword 'manpages'
|
||||||
|
|
||||||
|
#
|
||||||
|
# Pacman
|
||||||
|
#
|
||||||
|
|
||||||
|
# Set the Pacman frontend.
|
||||||
|
#zstyle ':prezto:module:pacman' frontend 'aurman'
|
||||||
|
|
||||||
|
#
|
||||||
|
# Prompt
|
||||||
|
#
|
||||||
|
|
||||||
|
# Set the prompt theme to load.
|
||||||
|
# Setting it to 'random' loads a random theme.
|
||||||
|
# Auto set to 'off' on dumb terminals.
|
||||||
|
zstyle ':prezto:module:prompt' theme 'agnoster'
|
||||||
|
|
||||||
|
# Set the working directory prompt display length.
|
||||||
|
# By default, it is set to 'short'. Set it to 'long' (without '~' expansion)
|
||||||
|
# for longer or 'full' (with '~' expansion) for even longer prompt display.
|
||||||
|
#zstyle ':prezto:module:prompt' pwd-length 'short'
|
||||||
|
|
||||||
|
# Set the prompt to display the return code along with an indicator for non-zero
|
||||||
|
# return codes. This is not supported by all prompts.
|
||||||
|
#zstyle ':prezto:module:prompt' show-return-val 'false'
|
||||||
|
|
||||||
|
#
|
||||||
|
# Ruby
|
||||||
|
#
|
||||||
|
|
||||||
|
# Auto switch the Ruby version on directory change.
|
||||||
|
# zstyle ':prezto:module:ruby:chruby' auto-switch 'yes'
|
||||||
|
|
||||||
|
#
|
||||||
|
# Python
|
||||||
|
#
|
||||||
|
|
||||||
|
# Auto switch the Python virtualenv on directory change.
|
||||||
|
# zstyle ':prezto:module:python:virtualenv' auto-switch 'yes'
|
||||||
|
|
||||||
|
# Automatically initialize virtualenvwrapper if pre-requisites are met.
|
||||||
|
# zstyle ':prezto:module:python:virtualenv' initialize 'yes'
|
||||||
|
|
||||||
|
#
|
||||||
|
# Screen
|
||||||
|
#
|
||||||
|
|
||||||
|
# Auto start a session when Zsh is launched in a local terminal.
|
||||||
|
# zstyle ':prezto:module:screen:auto-start' local 'yes'
|
||||||
|
|
||||||
|
# Auto start a session when Zsh is launched in a SSH connection.
|
||||||
|
# zstyle ':prezto:module:screen:auto-start' remote 'yes'
|
||||||
|
|
||||||
|
#
|
||||||
|
# Tmux
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# SSH
|
||||||
|
#
|
||||||
|
|
||||||
|
# Set the SSH identities to load into the agent.
|
||||||
|
# zstyle ':prezto:module:ssh:load' identities 'id_rsa' 'id_rsa2' 'id_github'
|
||||||
|
|
||||||
|
#
|
||||||
|
# Syntax Highlighting
|
||||||
|
#
|
||||||
|
|
||||||
|
# Set syntax highlighters.
|
||||||
|
# By default, only the main highlighter is enabled.
|
||||||
|
# zstyle ':prezto:module:syntax-highlighting' highlighters \
|
||||||
|
# 'main' \
|
||||||
|
# 'brackets' \
|
||||||
|
# 'pattern' \
|
||||||
|
# 'line' \
|
||||||
|
# 'cursor' \
|
||||||
|
# 'root'
|
||||||
|
#
|
||||||
|
# Set syntax highlighting styles.
|
||||||
|
# zstyle ':prezto:module:syntax-highlighting' styles \
|
||||||
|
# 'builtin' 'bg=blue' \
|
||||||
|
# 'command' 'bg=blue' \
|
||||||
|
# 'function' 'bg=blue'
|
||||||
|
#
|
||||||
|
# Set syntax pattern styles.
|
||||||
|
# zstyle ':prezto:module:syntax-highlighting' pattern \
|
||||||
|
# 'rm*-rf*' 'fg=white,bold,bg=red'
|
||||||
|
|
||||||
|
#
|
||||||
|
# Terminal
|
||||||
|
#
|
||||||
|
|
||||||
|
# Auto set the tab and window titles.
|
||||||
|
# zstyle ':prezto:module:terminal' auto-title 'yes'
|
||||||
|
|
||||||
|
# Set the window title format.
|
||||||
|
# zstyle ':prezto:module:terminal:window-title' format '%n@%m: %3~'
|
||||||
|
|
||||||
|
# Set the tab title format.
|
||||||
|
# zstyle ':prezto:module:terminal:tab-title' format '%m: %s'
|
||||||
|
|
||||||
|
# Set the terminal multiplexer title format.
|
||||||
|
# zstyle ':prezto:module:terminal:multiplexer-title' format '%s'
|
||||||
|
|
||||||
|
#
|
||||||
|
# Tmux
|
||||||
|
#
|
||||||
|
|
||||||
|
# Auto start a session when Zsh is launched in a local terminal.
|
||||||
|
# zstyle ':prezto:module:tmux:auto-start' local 'yes'
|
||||||
|
|
||||||
|
# Auto start a session when Zsh is launched in a SSH connection.
|
||||||
|
# zstyle ':prezto:module:tmux:auto-start' remote 'yes'
|
||||||
|
|
||||||
|
# Integrate with iTerm2.
|
||||||
|
# zstyle ':prezto:module:tmux:iterm' integrate 'yes'
|
||||||
|
|
||||||
|
# Set the default session name:
|
||||||
|
# zstyle ':prezto:module:tmux:session' name 'YOUR DEFAULT SESSION NAME'
|
||||||
|
|
||||||
|
#
|
||||||
|
# Utility
|
||||||
|
#
|
||||||
|
|
||||||
|
# Enabled safe options. This aliases cp, ln, mv and rm so that they prompt
|
||||||
|
# before deleting or overwriting files. Set to 'no' to disable this safer
|
||||||
|
# behavior.
|
||||||
|
# zstyle ':prezto:module:utility' safe-ops 'yes'
|
55
zsh/.zprofile
Normal file
55
zsh/.zprofile
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
#
|
||||||
|
# Executes commands at login pre-zshrc.
|
||||||
|
#
|
||||||
|
# Authors:
|
||||||
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# Editors
|
||||||
|
#
|
||||||
|
|
||||||
|
export EDITOR='nvim'
|
||||||
|
export VISUAL='nvim'
|
||||||
|
export PAGER='less'
|
||||||
|
|
||||||
|
#
|
||||||
|
# Language
|
||||||
|
#
|
||||||
|
|
||||||
|
if [[ -z "$LANG" ]]; then
|
||||||
|
export LANG='en_US.UTF-8'
|
||||||
|
fi
|
||||||
|
|
||||||
|
#
|
||||||
|
# Paths
|
||||||
|
#
|
||||||
|
|
||||||
|
# Ensure path arrays do not contain duplicates.
|
||||||
|
typeset -gU cdpath fpath mailpath path
|
||||||
|
|
||||||
|
# Set the list of directories that cd searches.
|
||||||
|
# cdpath=(
|
||||||
|
# $cdpath
|
||||||
|
# )
|
||||||
|
|
||||||
|
# Set the list of directories that Zsh searches for programs.
|
||||||
|
path=(
|
||||||
|
/usr/local/{bin,sbin}
|
||||||
|
$path
|
||||||
|
)
|
||||||
|
|
||||||
|
#
|
||||||
|
# Less
|
||||||
|
#
|
||||||
|
|
||||||
|
# Set the default Less options.
|
||||||
|
# Mouse-wheel scrolling has been disabled by -X (disable screen clearing).
|
||||||
|
# Remove -X and -F (exit if the content fits on one screen) to enable it.
|
||||||
|
export LESS='-F -g -i -M -R -S -w -z-4'
|
||||||
|
|
||||||
|
# Set the Less input preprocessor.
|
||||||
|
# Try both `lesspipe` and `lesspipe.sh` as either might exist on a system.
|
||||||
|
if (( $#commands[(i)lesspipe(|.sh)] )); then
|
||||||
|
export LESSOPEN="| /usr/bin/env $commands[(i)lesspipe(|.sh)] %s 2>&-"
|
||||||
|
fi
|
11
zsh/.zshenv
Normal file
11
zsh/.zshenv
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
#
|
||||||
|
# Defines environment variables.
|
||||||
|
#
|
||||||
|
# Authors:
|
||||||
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
|
#
|
||||||
|
|
||||||
|
# Ensure that a non-login, non-interactive shell has a defined environment.
|
||||||
|
if [[ ( "$SHLVL" -eq 1 && ! -o LOGIN ) && -s "${ZDOTDIR:-$HOME}/.zprofile" ]]; then
|
||||||
|
source "${ZDOTDIR:-$HOME}/.zprofile"
|
||||||
|
fi
|
19
zsh/.zshrc
Normal file
19
zsh/.zshrc
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
if [ -z "$TMUX" ]; then tmux; exit; fi
|
||||||
|
|
||||||
|
export ZDOTDIR="${HOME}/.dotfiles/zsh"
|
||||||
|
export EDITOR=nvim
|
||||||
|
export USE_CCACHE=1
|
||||||
|
|
||||||
|
alias cl="clear"
|
||||||
|
alias tmux="tmux -2"
|
||||||
|
|
||||||
|
KEYTIMEOUT=1
|
||||||
|
|
||||||
|
# Source Prezto.
|
||||||
|
if [[ -s "${ZDOTDIR}/prezto/init.zsh" ]]; then
|
||||||
|
source "${ZDOTDIR}/prezto/init.zsh"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -s "${ZDOTDIR}/gitalias.zsh" ]]; then
|
||||||
|
source "${ZDOTDIR}/gitalias.zsh"
|
||||||
|
fi
|
208
zsh/gitalias.zsh
Normal file
208
zsh/gitalias.zsh
Normal file
|
@ -0,0 +1,208 @@
|
||||||
|
alias g='git'
|
||||||
|
|
||||||
|
alias ga='git add'
|
||||||
|
alias gaa='git add --all'
|
||||||
|
alias gapa='git add --patch'
|
||||||
|
alias gau='git add --update'
|
||||||
|
alias gap='git apply'
|
||||||
|
|
||||||
|
alias gb='git branch'
|
||||||
|
alias gba='git branch -a'
|
||||||
|
alias gbd='git branch -d'
|
||||||
|
alias gbda='git branch --no-color --merged | command grep -vE "^(\*|\s*(master|develop|dev)\s*$)" | command xargs -n 1 git branch -d'
|
||||||
|
alias gbl='git blame -b -w'
|
||||||
|
alias gbnm='git branch --no-merged'
|
||||||
|
alias gbr='git branch --remote'
|
||||||
|
alias gbs='git bisect'
|
||||||
|
alias gbsb='git bisect bad'
|
||||||
|
alias gbsg='git bisect good'
|
||||||
|
alias gbsr='git bisect reset'
|
||||||
|
alias gbss='git bisect start'
|
||||||
|
|
||||||
|
alias gc='git commit -v'
|
||||||
|
alias gc!='git commit -v --amend'
|
||||||
|
alias gcn!='git commit -v --no-edit --amend'
|
||||||
|
alias gca='git commit -v -a'
|
||||||
|
alias gca!='git commit -v -a --amend'
|
||||||
|
alias gcan!='git commit -v -a --no-edit --amend'
|
||||||
|
alias gcans!='git commit -v -a -s --no-edit --amend'
|
||||||
|
alias gcam='git commit -a -m'
|
||||||
|
alias gcsm='git commit -s -m'
|
||||||
|
alias gcb='git checkout -b'
|
||||||
|
alias gcf='git config --list'
|
||||||
|
alias gcl='git clone --recursive'
|
||||||
|
alias gclean='git clean -fd'
|
||||||
|
alias gpristine='git reset --hard && git clean -dfx'
|
||||||
|
alias gcm='git checkout master'
|
||||||
|
alias gcd='git checkout develop'
|
||||||
|
alias gcmsg='git commit -m'
|
||||||
|
alias gco='git checkout'
|
||||||
|
alias gcount='git shortlog -sn'
|
||||||
|
compdef _git gcount
|
||||||
|
alias gcp='git cherry-pick'
|
||||||
|
alias gcpa='git cherry-pick --abort'
|
||||||
|
alias gcpc='git cherry-pick --continue'
|
||||||
|
alias gcs='git commit -S'
|
||||||
|
|
||||||
|
alias gd='git diff'
|
||||||
|
alias gdca='git diff --cached'
|
||||||
|
alias gdcw='git diff --cached --word-diff'
|
||||||
|
alias gdct='git describe --tags `git rev-list --tags --max-count=1`'
|
||||||
|
alias gdt='git diff-tree --no-commit-id --name-only -r'
|
||||||
|
alias gdw='git diff --word-diff'
|
||||||
|
|
||||||
|
gdv() { git diff -w "$@" | view - }
|
||||||
|
compdef _git gdv=git-diff
|
||||||
|
|
||||||
|
alias gf='git fetch'
|
||||||
|
alias gfa='git fetch --all --prune'
|
||||||
|
alias gfo='git fetch origin'
|
||||||
|
|
||||||
|
function gfg() { git ls-files | grep $@ }
|
||||||
|
compdef _grep gfg
|
||||||
|
|
||||||
|
alias gg='git gui citool'
|
||||||
|
alias gga='git gui citool --amend'
|
||||||
|
|
||||||
|
ggf() {
|
||||||
|
[[ "$#" != 1 ]] && local b="$(git_current_branch)"
|
||||||
|
git push --force origin "${b:=$1}"
|
||||||
|
}
|
||||||
|
ggfl() {
|
||||||
|
[[ "$#" != 1 ]] && local b="$(git_current_branch)"
|
||||||
|
git push --force-with-lease origin "${b:=$1}"
|
||||||
|
}
|
||||||
|
compdef _git ggf=git-checkout
|
||||||
|
|
||||||
|
ggl() {
|
||||||
|
if [[ "$#" != 0 ]] && [[ "$#" != 1 ]]; then
|
||||||
|
git pull origin "${*}"
|
||||||
|
else
|
||||||
|
[[ "$#" == 0 ]] && local b="$(git_current_branch)"
|
||||||
|
git pull origin "${b:=$1}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
compdef _git ggl=git-checkout
|
||||||
|
|
||||||
|
ggp() {
|
||||||
|
if [[ "$#" != 0 ]] && [[ "$#" != 1 ]]; then
|
||||||
|
git push origin "${*}"
|
||||||
|
else
|
||||||
|
[[ "$#" == 0 ]] && local b="$(git_current_branch)"
|
||||||
|
git push origin "${b:=$1}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
compdef _git ggp=git-checkout
|
||||||
|
|
||||||
|
ggpnp() {
|
||||||
|
if [[ "$#" == 0 ]]; then
|
||||||
|
ggl && ggp
|
||||||
|
else
|
||||||
|
ggl "${*}" && ggp "${*}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
compdef _git ggpnp=git-checkout
|
||||||
|
|
||||||
|
ggu() {
|
||||||
|
[[ "$#" != 1 ]] && local b="$(git_current_branch)"
|
||||||
|
git pull --rebase origin "${b:=$1}"
|
||||||
|
}
|
||||||
|
compdef _git ggu=git-checkout
|
||||||
|
|
||||||
|
alias ggpur='ggu'
|
||||||
|
compdef _git ggpur=git-checkout
|
||||||
|
|
||||||
|
alias ggpull='git pull origin $(git_current_branch)'
|
||||||
|
compdef _git ggpull=git-checkout
|
||||||
|
|
||||||
|
alias ggpush='git push origin $(git_current_branch)'
|
||||||
|
compdef _git ggpush=git-checkout
|
||||||
|
|
||||||
|
alias ggsup='git branch --set-upstream-to=origin/$(git_current_branch)'
|
||||||
|
alias gpsup='git push --set-upstream origin $(git_current_branch)'
|
||||||
|
|
||||||
|
alias ghh='git help'
|
||||||
|
|
||||||
|
alias gignore='git update-index --assume-unchanged'
|
||||||
|
alias gignored='git ls-files -v | grep "^[[:lower:]]"'
|
||||||
|
alias git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk'
|
||||||
|
compdef _git git-svn-dcommit-push=git
|
||||||
|
|
||||||
|
alias gk='\gitk --all --branches'
|
||||||
|
compdef _git gk='gitk'
|
||||||
|
alias gke='\gitk --all $(git log -g --pretty=%h)'
|
||||||
|
compdef _git gke='gitk'
|
||||||
|
|
||||||
|
alias gl='git pull'
|
||||||
|
alias glg='git log --stat'
|
||||||
|
alias glgp='git log --stat -p'
|
||||||
|
alias glgg='git log --graph'
|
||||||
|
alias glgga='git log --graph --decorate --all'
|
||||||
|
alias glgm='git log --graph --max-count=10'
|
||||||
|
alias glo='git log --oneline --decorate'
|
||||||
|
alias glol="git log --graph --pretty='%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
|
||||||
|
alias glola="git log --graph --pretty='%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --all"
|
||||||
|
alias glog='git log --oneline --decorate --graph'
|
||||||
|
alias gloga='git log --oneline --decorate --graph --all'
|
||||||
|
alias glp="_git_log_prettily"
|
||||||
|
compdef _git glp=git-log
|
||||||
|
|
||||||
|
alias gm='git merge'
|
||||||
|
alias gmom='git merge origin/master'
|
||||||
|
alias gmt='git mergetool --no-prompt'
|
||||||
|
alias gmtvim='git mergetool --no-prompt --tool=vimdiff'
|
||||||
|
alias gmum='git merge upstream/master'
|
||||||
|
alias gma='git merge --abort'
|
||||||
|
|
||||||
|
alias gp='git push'
|
||||||
|
alias gpd='git push --dry-run'
|
||||||
|
alias gpoat='git push origin --all && git push origin --tags'
|
||||||
|
compdef _git gpoat=git-push
|
||||||
|
alias gpu='git push upstream'
|
||||||
|
alias gpv='git push -v'
|
||||||
|
|
||||||
|
alias gr='git remote'
|
||||||
|
alias gra='git remote add'
|
||||||
|
alias grb='git rebase'
|
||||||
|
alias grba='git rebase --abort'
|
||||||
|
alias grbc='git rebase --continue'
|
||||||
|
alias grbi='git rebase -i'
|
||||||
|
alias grbm='git rebase master'
|
||||||
|
alias grbs='git rebase --skip'
|
||||||
|
alias grh='git reset HEAD'
|
||||||
|
alias grhh='git reset HEAD --hard'
|
||||||
|
alias grmv='git remote rename'
|
||||||
|
alias grrm='git remote remove'
|
||||||
|
alias grset='git remote set-url'
|
||||||
|
alias grt='cd $(git rev-parse --show-toplevel || echo ".")'
|
||||||
|
alias gru='git reset --'
|
||||||
|
alias grup='git remote update'
|
||||||
|
alias grv='git remote -v'
|
||||||
|
|
||||||
|
alias gsb='git status -sb'
|
||||||
|
alias gsd='git svn dcommit'
|
||||||
|
alias gsi='git submodule init'
|
||||||
|
alias gsps='git show --pretty=short --show-signature'
|
||||||
|
alias gsr='git svn rebase'
|
||||||
|
alias gss='git status -s'
|
||||||
|
alias gst='git status'
|
||||||
|
alias gsta='git stash save'
|
||||||
|
alias gstaa='git stash apply'
|
||||||
|
alias gstc='git stash clear'
|
||||||
|
alias gstd='git stash drop'
|
||||||
|
alias gstl='git stash list'
|
||||||
|
alias gstp='git stash pop'
|
||||||
|
alias gsts='git stash show --text'
|
||||||
|
alias gsu='git submodule update'
|
||||||
|
|
||||||
|
alias gts='git tag -s'
|
||||||
|
alias gtv='git tag | sort -V'
|
||||||
|
|
||||||
|
alias gunignore='git update-index --no-assume-unchanged'
|
||||||
|
alias gunwip='git log -n 1 | grep -q -c "\-\-wip\-\-" && git reset HEAD~1'
|
||||||
|
alias gup='git pull --rebase'
|
||||||
|
alias gupv='git pull --rebase -v'
|
||||||
|
alias glum='git pull upstream master'
|
||||||
|
|
||||||
|
alias gwch='git whatchanged -p --abbrev-commit --pretty=medium'
|
||||||
|
alias gwip='git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit --no-verify -m "--wip-- [skip ci]"'
|
1
zsh/prezto
Submodule
1
zsh/prezto
Submodule
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit b6b43eb331a893d9a278c278b20534a2ca07aed0
|
Loading…
Reference in New Issue
Block a user