Xinqi Bao's Git

vimrc & ycm.conf: add support for kernel library tracking
authorXinqi Bao <[email protected]>
Sun, 21 Jun 2020 18:53:48 +0000 (14:53 -0400)
committerXinqi Bao <[email protected]>
Sun, 21 Jun 2020 18:53:48 +0000 (14:53 -0400)
.vimrc
.ycm_extra_conf.py

diff --git a/.vimrc b/.vimrc
index 23f8b45..11d16c1 100644 (file)
--- 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 <C-h> <C-w>h
index 23015c7..d99aaa3 100644 (file)
@@ -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',
+"""
+        ]}