-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy path.lvimrc
98 lines (81 loc) · 3.83 KB
/
.lvimrc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
let g:neomake_c_enabled_makers = ['clangcheck']
let g:neomake_c_clangcheck_args = ['%:p',
\ '-p', g:localvimrc_script_dir.'/build',
\ ]
let g:neomake_enabled_makers = ['install', 'ninja', 'clean', 'meson', 'rm', 'usrsctp', 'debugbuild']
let g:neomake_ninja_maker = {
\ 'exe' : 'ninja',
\ 'cwd' : g:localvimrc_script_dir.'/build',
\ 'errorformat' : '%-G%f:%s:,%-G%f:%l: %#error: %#(Each undeclared identifier is reported only%.%#,%-G%f:%l: %#error: %#for each function it appears%.%#,%-GIn file included%.%#,%-G %#from %f:%l\,,%f:%l:%c: %trror: %m,%f:%l:%c: %tarning: %m,%I%f:%l:%c: note: %m,%f:%l:%c: %m,%f:%l: %trror: %m,%f:%l: %tarning: %m,%I%f:%l: note: %m,%f:%l: %m'
\ }
let g:neomake_install_maker = {
\ 'exe' : 'ninja',
\ 'cwd' : g:localvimrc_script_dir.'/build',
\ 'args' : 'install',
\ 'errorformat' : '%-G%f:%s:,%-G%f:%l: %#error: %#(Each undeclared identifier is reported only%.%#,%-G%f:%l: %#error: %#for each function it appears%.%#,%-GIn file included%.%#,%-G %#from %f:%l\,,%f:%l:%c: %trror: %m,%f:%l:%c: %tarning: %m,%I%f:%l:%c: note: %m,%f:%l:%c: %m,%f:%l: %trror: %m,%f:%l: %tarning: %m,%I%f:%l: note: %m,%f:%l: %m'
\ }
let g:neomake_debugbuild_maker = {
\ 'exe' : 'ninja',
\ 'cwd' : g:localvimrc_script_dir.'/build_debug',
\ 'args' : 'install',
\ }
let g:neomake_clean_maker = {
\ 'exe' : 'ninja',
\ 'cwd' : g:localvimrc_script_dir.'/build',
\ 'args' : 'clean',
\ }
let g:neomake_rm_maker = {
\ 'exe' : 'rm',
\ 'cwd' : g:localvimrc_script_dir,
\ 'args' : ['build', '-rvf'],
\ }
let g:neomake_meson_maker = {
\ 'exe' : 'meson',
\ 'cwd' : g:localvimrc_script_dir,
\ 'args' : ['build', '--werror'],
\ }
let g:neomake_usrsctp_maker = {
\ 'exe' : 'cmake',
\ 'args': ['--build', g:localvimrc_script_dir.'/usrsctp/build'],
\ 'serialize': 1,
\ }
" \ 'errorformat' : '%-G%f:%s:,%-G%f:%l: %#error: %#(Each undeclared identifier is reported only%.%#,%-G%f:%l: %#error: %#for each function it appears%.%#,%-GIn file included%.%#,%-G %#from %f:%l\,,%f:%l:%c: %trror: %m,%f:%l:%c: %tarning: %m,%I%f:%l:%c: note: %m,%f:%l:%c: %m,%f:%l: %trror: %m,%f:%l: %tarning: %m,%I%f:%l: note: %m,%f:%l: %m'
let g:neomake_serialize_abort_on_error = 1
" add compile_commands.json to deoplete-clang completion
" let g:deoplete#sources#clang#clang_complete_database = g:localvimrc_script_dir.'/build'
" nnoremap <c-p> :FZF expand('g:localvimrc_script_dir')<CR>
" make vim not confuse cpp/c
augroup MyProject
autocmd!
autocmd BufNewFile,BufRead *.[ch] set filetype=c
autocmd BufWritePost */sctp/*.[ch] Neomake! install debugbuild
autocmd BufWritePost */rtp*.[ch] Neomake! install debugbuild
" au BufRead *.[ch] let g:neomake_enabled_makers = ['install', 'ninja', 'clean', 'meson', 'rm', 'usrsctp', 'debugbuild']
autocmd BufWritePost */usrsctp/*.[ch] Neomake! usrsctp
" autocmd User NeomakeFinished call OnNeomakeFinished()
augroup END
function! OnNeomakeFinished()
let context = g:neomake_hook_context
if (g:neomake_hook_context.jobinfo.exit_code == 0)
echom "build finished successfully!"
endif
if (context.jobinfo.maker.name == "install" ) "||
" \ context.jobinfo.maker.name == "debugbuild")
echom "build gst-sctp finished successfully!"
elseif (match(context.jobinfo.maker.name, "usrsctp") == 0)
echom "build usrsctp finished successfully!"
endif
endfunction
" fold preprocessor #ifdef
nnoremap zn 0zf%
nnoremap zN 0v2]#zf
" zd > delete fold
"
let g:fastfold_savehook = 0
let g:fastfold_fdmhook = 0
set foldnestmax=3
" :cnf > first error in qf
" :cn > quickfix next
" :cN > quickfix prev
" :copen > open quickfix window
" :ccl > close qf window