diff options
author | Julian Orth <ju.orth@gmail.com> | 2014-03-12 17:12:24 +0100 |
---|---|---|
committer | Thiago de Arruda <tpadilha84@gmail.com> | 2014-03-14 20:37:03 -0300 |
commit | 7740bdecea93bc892776a07239db8b3a39b1a90f (patch) | |
tree | d903111374a1d6f1dadab47bba53153da6073787 /contrib/YouCompleteMe/ycm_extra_conf.py | |
parent | c3a88eb8ea6098077b9b4c39d7d8c2b62daf7c5d (diff) | |
download | rneovim-7740bdecea93bc892776a07239db8b3a39b1a90f.tar.gz rneovim-7740bdecea93bc892776a07239db8b3a39b1a90f.tar.bz2 rneovim-7740bdecea93bc892776a07239db8b3a39b1a90f.zip |
add .vimrc and src/.ycm_extra_conf.py
Diffstat (limited to 'contrib/YouCompleteMe/ycm_extra_conf.py')
-rw-r--r-- | contrib/YouCompleteMe/ycm_extra_conf.py | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/contrib/YouCompleteMe/ycm_extra_conf.py b/contrib/YouCompleteMe/ycm_extra_conf.py new file mode 100644 index 0000000000..9fd2ba8b8d --- /dev/null +++ b/contrib/YouCompleteMe/ycm_extra_conf.py @@ -0,0 +1,43 @@ +# .ycm_extra_conf.py for nvim source code. +import os, ycm_core + + +def DirectoryOfThisScript(): + return os.path.dirname(os.path.abspath(__file__)) + + +def GetDatabase(): + compilation_database_folder = DirectoryOfThisScript() + '/../build' + if os.path.exists(compilation_database_folder): + return ycm_core.CompilationDatabase(compilation_database_folder) + return None + + +def IsHeaderFile(filename): + extension = os.path.splitext(filename)[1] + return extension == '.h' + + +def GetCompilationInfoForFile(filename): + database = GetDatabase() + if not database: + return None + if IsHeaderFile(filename): + basename = os.path.splitext(filename)[0] + replacement_file = basename + '.c' + if os.path.exists(replacement_file): + compilation_info = database.GetCompilationInfoForFile(replacement_file) + if compilation_info.compiler_flags_: + return compilation_info + return None + return database.GetCompilationInfoForFile(filename) + + +def FlagsForFile(filename): + compilation_info = GetCompilationInfoForFile(filename) + if not compilation_info: + return None + return { + 'flags': compilation_info.compiler_flags_, + 'do_cache': True + } |