diff options
| author | Michal Idziorek <m.i@gmx.at> | 2015-05-14 20:24:21 +0200 |
|---|---|---|
| committer | Michal Idziorek <m.i@gmx.at> | 2015-05-14 20:24:21 +0200 |
| commit | fb8a5f18835e8811dd1a98b8eb5352151fc2df31 (patch) | |
| tree | ccc6d426c8d342374fbad1e3243449a8de278770 /.ycm_extra_conf.py | |
| parent | ce3968aa4a941e272171f8fcd389c4909a7a23a5 (diff) | |
little improvements and setting py file for completer
Diffstat (limited to '.ycm_extra_conf.py')
| -rw-r--r-- | .ycm_extra_conf.py | 67 |
1 files changed, 16 insertions, 51 deletions
diff --git a/.ycm_extra_conf.py b/.ycm_extra_conf.py index d4c475d..dffda83 100644 --- a/.ycm_extra_conf.py +++ b/.ycm_extra_conf.py @@ -3,61 +3,37 @@ import os import ycm_core -# These are the compilation flags that will be used in case there's no -# compilation database set (by default, one is not set). -# CHANGE THIS LIST OF FLAGS. YES, THIS IS THE DROID YOU HAVE BEEN LOOKING FOR. flags = [ '-Wall', '-Wextra', '-Werror', '-fexceptions', '-DNDEBUG', -# THIS IS IMPORTANT! Without a "-std=<something>" flag, clang won't know which -# language to use when compiling headers. So it will guess. Badly. So C++ -# headers will be compiled as C headers. You don't want that so ALWAYS specify -# a "-std=<something>". -# For a C project, you would set this to something like 'c99' instead of -# 'c++11'. -'-std=c++11', -# ...and the same thing goes for the magic -x option which specifies the -# language that the files to be compiled are written in. This is mostly -# relevant for c++ headers. -# For a C project, you would set this to 'c' instead of 'c++'. + +'-std=c99' '-x', -'c++', -'-isystem', -'/usr/include', -'-isystem', -'/usr/local/include', -'-isystem', -'/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1', +'c', + '-isystem', -'/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include', -] +'/home/miguel/_int/dev/FoolOs/', +'-isystem', +'/home/miguel/_int/dev/FoolOs/kernel/include', -# Set this to the absolute path to the folder (NOT the file!) containing the -# compile_commands.json file to use that instead of 'flags'. See here for -# more details: http://clang.llvm.org/docs/JSONCompilationDatabase.html -# -# Most projects will NOT need to set this to anything; you can just change the -# 'flags' list of compilation flags. -compilation_database_folder = '' +] -if os.path.exists( compilation_database_folder ): - database = ycm_core.CompilationDatabase( compilation_database_folder ) -else: - database = None +database = None SOURCE_EXTENSIONS = [ '.cpp', '.cxx', '.cc', '.c', '.m', '.mm' ] def DirectoryOfThisScript(): return os.path.dirname( os.path.abspath( __file__ ) ) - def MakeRelativePathsInFlagsAbsolute( flags, working_directory ): + if not working_directory: return list( flags ) + new_flags = [] make_next_absolute = False path_flags = [ '-isystem', '-I', '-iquote', '--sysroot=' ] @@ -88,7 +64,6 @@ def IsHeaderFile( filename ): extension = os.path.splitext( filename )[ 1 ] return extension in [ '.h', '.hxx', '.hpp', '.hh' ] - def GetCompilationInfoForFile( filename ): # The compilation_commands.json file generated by CMake does not have entries # for header files. So we do our best by asking the db for flags for a @@ -110,22 +85,12 @@ def GetCompilationInfoForFile( filename ): # This is the entry point; this function is called by ycmd to produce flags for # a file. def FlagsForFile( filename, **kwargs ): - if database: - # Bear in mind that compilation_info.compiler_flags_ does NOT return a - # python list, but a "list-like" StringVec object - compilation_info = GetCompilationInfoForFile( filename ) - if not compilation_info: - return None - - final_flags = MakeRelativePathsInFlagsAbsolute( - compilation_info.compiler_flags_, - compilation_info.compiler_working_dir_ ) - else: + relative_to = DirectoryOfThisScript() final_flags = MakeRelativePathsInFlagsAbsolute( flags, relative_to ) - return { - 'flags': final_flags, - 'do_cache': True - } + return { + 'flags': final_flags, + 'do_cache': True + } |
