From 06d5397afa44ff8142d7b7b92d873fd389fb7c7f Mon Sep 17 00:00:00 2001 From: Xinqi Bao Date: Sun, 21 Jun 2020 14:53:48 -0400 Subject: [PATCH] vimrc & ycm.conf: add support for kernel library tracking --- .vimrc | 11 ++++++++++- .ycm_extra_conf.py | 26 +++++++++++++++++++++++++- 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/.vimrc b/.vimrc index 23f8b45..11d16c1 100644 --- a/.vimrc +++ b/.vimrc @@ -34,7 +34,12 @@ highlight ColorColumn ctermbg=0 guibg=lightgrey set tags=tags~;,tags~ "setting gf (go file) path -set path+=/usr/include/c++/*,include;,includes;,lib; +"change kernel version to your version, for kernel development +set path=.,lib;,include;,includes; +set path+=/lib/modules/5.4.46-1-lts/build/include +set path+=/lib/modules/5.4.46-1-lts/build/arch/x86/include +set path+=/usr/include,/usr/include/c++/* + " Writes to the unnamed register also writes to the * and + registers. This " makes it easy to interact with the system clipboard @@ -71,6 +76,10 @@ let g:ctrlp_use_caching = 0 let g:ycm_global_ycm_extra_conf = '~/.vim/.ycm_extra_conf.py' let g:ycm_enable_diagnostic_signs = 0 let g:ycm_always_populate_location_list = 1 +"let g:ycm_show_diagnostics_ui = 0 +let g:ycm_add_preview_to_completeopt = 1 +let g:ycm_autoclose_preview_window_after_completion = 1 +let g:ycm_auto_hover = 'no' let mapleader = " " nnoremap h diff --git a/.ycm_extra_conf.py b/.ycm_extra_conf.py index 23015c7..d99aaa3 100644 --- a/.ycm_extra_conf.py +++ b/.ycm_extra_conf.py @@ -1,2 +1,26 @@ def Settings(**kwargs): - return {'flags': ['-I.', '-Ilib', '-Iinclude', '-Iincludes']} + return {'flags': [ + '-I.', + '-I/usr/include/', + '-Ilib', + '-Iinclude', + '-Iincludes', + '-I../include', +""" flags for kernel code + '-I/lib/modules/5.4.46-1-lts/build/arch/x86/include', + '-I/lib/modules/5.4.46-1-lts/build/arch/x86/include/generated', + '-I/lib/modules/5.4.46-1-lts/build/arch/x86/include/generated/uapi', + '-I/lib/modules/5.4.46-1-lts/build/arch/x86/include/uapi', + '-I/lib/modules/5.4.46-1-lts/build/include', + '-I/lib/modules/5.4.46-1-lts/build/include/generated/uapi', + '-I/lib/modules/5.4.46-1-lts/build/include/uapi', + '-include/lib/modules/5.4.46-1-lts/build/include/linux/kconfig.h', + '-D__KERNEL__', + '-DMODULE', + '-DCONFIG_64BIT', + '-DCONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES', + '-DCONFIG_TREE_RCU', + '-DCONFIG_HZ=100', + '-DCONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK', +""" + ]} -- 2.20.1