TT#14571 PEP8 for YouCompleteMe config

Change-Id: I8fdc9b3d3ceb2cfa7333cb8520228629f1c521f1
changes/33/12733/1
Victor Seva 9 years ago
parent d269f6a320
commit f7aa5fa6b6

@ -12,94 +12,95 @@ compilation_database_folder = ''
# These are the compilation flags that will be used in case there's no # These are the compilation flags that will be used in case there's no
# compilation database set. # compilation database set.
flags = [ flags = [
'-g', '-g',
'-Wall', '-Wall',
'-pthread', '-pthread',
'-fno-strict-aliasing', '-fno-strict-aliasing',
'-I/usr/include/glib-2.0', '-I/usr/include/glib-2.0',
'-I/usr/lib/x86_64-linux-gnu/glib-2.0/include', '-I/usr/lib/x86_64-linux-gnu/glib-2.0/include',
'-pthread', '-pthread',
'-I../kernel-module/', '-I../kernel-module/',
'-D_GNU_SOURCE', '-D_GNU_SOURCE',
'-D__DEBUG=1', '-D__DEBUG=1',
'-D__YCM=1', '-D__YCM=1',
'-DRTPENGINE_VERSION="dummy"', '-DRTPENGINE_VERSION="dummy"',
'-DRE_PLUGIN_DIR="/usr/lib/rtpengine"', '-DRE_PLUGIN_DIR="/usr/lib/rtpengine"',
'-O2', '-O2',
'-fstack-protector', '-fstack-protector',
'--param=ssp-buffer-size=4', '--param=ssp-buffer-size=4',
'-Wformat', '-Wformat',
'-Werror=format-security', '-Werror=format-security',
'-D_FORTIFY_SOURCE=2', '-D_FORTIFY_SOURCE=2',
# THIS IS IMPORTANT! Without a "-std=<something>" flag, clang won't know which # THIS IS IMPORTANT! Without a "-std=<something>" flag, clang won't
# language to use when compiling headers. So it will guess. Badly. So C++ # know which language to use when compiling headers. So it will guess.
# headers will be compiled as C headers. You don't want that so ALWAYS specify # Badly. So C++ headers will be compiled as C headers.
# a "-std=<something>". # You don't want that so ALWAYS specify
# For a C project, you would set this to something like 'c99' instead of # a "-std=<something>".
# 'c++11'. # For a C project, you would set this to something like 'c99' instead of
'-std=c99', # 'c++11'.
# ...and the same thing goes for the magic -x option which specifies the '-std=c99',
# language that the files to be compiled are written in. This is mostly # ...and the same thing goes for the magic -x option which specifies the
# relevant for c++ headers. # language that the files to be compiled are written in. This is mostly
# For a C project, you would set this to 'c' instead of 'c++'. # relevant for c++ headers.
'-x', # For a C project, you would set this to 'c' instead of 'c++'.
'c', '-x',
'c',
] ]
if compilation_database_folder: if compilation_database_folder:
database = ycm_core.CompilationDatabase( compilation_database_folder ) database = ycm_core.CompilationDatabase(compilation_database_folder)
else: else:
database = None database = None
def DirectoryOfThisScript(): def DirectoryOfThisScript():
return os.path.dirname( os.path.abspath( __file__ ) ) return os.path.dirname(os.path.abspath(__file__))
def MakeRelativePathsInFlagsAbsolute( flags, working_directory ): def MakeRelativePathsInFlagsAbsolute(flags, working_directory):
if not working_directory: if not working_directory:
return flags return flags
new_flags = [] new_flags = []
make_next_absolute = False make_next_absolute = False
path_flags = [ '-isystem', '-I', '-iquote', '--sysroot=' ] path_flags = ['-isystem', '-I', '-iquote', '--sysroot=']
for flag in flags: for flag in flags:
new_flag = flag new_flag = flag
if make_next_absolute: if make_next_absolute:
make_next_absolute = False make_next_absolute = False
if not flag.startswith( '/' ): if not flag.startswith('/'):
new_flag = os.path.join( working_directory, flag ) new_flag = os.path.join(working_directory, flag)
for path_flag in path_flags: for path_flag in path_flags:
if flag == path_flag: if flag == path_flag:
make_next_absolute = True make_next_absolute = True
break break
if flag.startswith( path_flag ): if flag.startswith(path_flag):
path = flag[ len( path_flag ): ] path = flag[len(path_flag):]
new_flag = path_flag + os.path.join( working_directory, path ) new_flag = path_flag + os.path.join(working_directory, path)
break break
if new_flag: if new_flag:
new_flags.append( new_flag ) new_flags.append(new_flag)
return new_flags return new_flags
def FlagsForFile( filename ): def FlagsForFile(filename):
if database: if database:
# Bear in mind that compilation_info.compiler_flags_ does NOT return a # Bear in mind that compilation_info.compiler_flags_ does NOT return a
# python list, but a "list-like" StringVec object # python list, but a "list-like" StringVec object
compilation_info = database.GetCompilationInfoForFile( filename ) compilation_info = database.GetCompilationInfoForFile(filename)
final_flags = PrepareClangFlags( final_flags = PrepareClangFlags(
MakeRelativePathsInFlagsAbsolute( MakeRelativePathsInFlagsAbsolute(
compilation_info.compiler_flags_, compilation_info.compiler_flags_,
compilation_info.compiler_working_dir_ ), compilation_info.compiler_working_dir_),
filename ) filename)
else: else:
relative_to = DirectoryOfThisScript() relative_to = DirectoryOfThisScript()
final_flags = MakeRelativePathsInFlagsAbsolute( flags, relative_to ) final_flags = MakeRelativePathsInFlagsAbsolute(flags, relative_to)
return { return {
'flags': final_flags, 'flags': final_flags,
'do_cache': True 'do_cache': True
} }

@ -12,92 +12,93 @@ compilation_database_folder = ''
# These are the compilation flags that will be used in case there's no # These are the compilation flags that will be used in case there's no
# compilation database set. # compilation database set.
flags = [ flags = [
'-g', '-g',
'-Wall', '-Wall',
'-pthread', '-pthread',
'-fno-strict-aliasing', '-fno-strict-aliasing',
'-I/usr/include/glib-2.0', '-I/usr/include/glib-2.0',
'-I/usr/lib/x86_64-linux-gnu/glib-2.0/include', '-I/usr/lib/x86_64-linux-gnu/glib-2.0/include',
'-I../lib/', '-I../lib/',
'-pthread', '-pthread',
'-D_GNU_SOURCE', '-D_GNU_SOURCE',
'-D__DEBUG=1', '-D__DEBUG=1',
'-D__YCM=1', '-D__YCM=1',
'-O2', '-O2',
'-fstack-protector', '-fstack-protector',
'--param=ssp-buffer-size=4', '--param=ssp-buffer-size=4',
'-Wformat', '-Wformat',
'-Werror=format-security', '-Werror=format-security',
'-D_FORTIFY_SOURCE=2', '-D_FORTIFY_SOURCE=2',
# THIS IS IMPORTANT! Without a "-std=<something>" flag, clang won't know which # THIS IS IMPORTANT! Without a "-std=<something>" flag, clang won't
# language to use when compiling headers. So it will guess. Badly. So C++ # know which language to use when compiling headers. So it will guess.
# headers will be compiled as C headers. You don't want that so ALWAYS specify # Badly. So C++ headers will be compiled as C headers.
# a "-std=<something>". # You don't want that so ALWAYS specify
# For a C project, you would set this to something like 'c99' instead of # a "-std=<something>".
# 'c++11'. # For a C project, you would set this to something like 'c99' instead of
'-std=c99', # 'c++11'.
# ...and the same thing goes for the magic -x option which specifies the '-std=c99',
# language that the files to be compiled are written in. This is mostly # ...and the same thing goes for the magic -x option which specifies the
# relevant for c++ headers. # language that the files to be compiled are written in. This is mostly
# For a C project, you would set this to 'c' instead of 'c++'. # relevant for c++ headers.
'-x', # For a C project, you would set this to 'c' instead of 'c++'.
'c', '-x',
'c',
] ]
if compilation_database_folder: if compilation_database_folder:
database = ycm_core.CompilationDatabase( compilation_database_folder ) database = ycm_core.CompilationDatabase(compilation_database_folder)
else: else:
database = None database = None
def DirectoryOfThisScript(): def DirectoryOfThisScript():
return os.path.dirname( os.path.abspath( __file__ ) ) return os.path.dirname(os.path.abspath(__file__))
def MakeRelativePathsInFlagsAbsolute( flags, working_directory ): def MakeRelativePathsInFlagsAbsolute(flags, working_directory):
if not working_directory: if not working_directory:
return flags return flags
new_flags = [] new_flags = []
make_next_absolute = False make_next_absolute = False
path_flags = [ '-isystem', '-I', '-iquote', '--sysroot=' ] path_flags = ['-isystem', '-I', '-iquote', '--sysroot=']
for flag in flags: for flag in flags:
new_flag = flag new_flag = flag
if make_next_absolute: if make_next_absolute:
make_next_absolute = False make_next_absolute = False
if not flag.startswith( '/' ): if not flag.startswith('/'):
new_flag = os.path.join( working_directory, flag ) new_flag = os.path.join(working_directory, flag)
for path_flag in path_flags: for path_flag in path_flags:
if flag == path_flag: if flag == path_flag:
make_next_absolute = True make_next_absolute = True
break break
if flag.startswith( path_flag ): if flag.startswith(path_flag):
path = flag[ len( path_flag ): ] path = flag[len(path_flag):]
new_flag = path_flag + os.path.join( working_directory, path ) new_flag = path_flag + os.path.join(working_directory, path)
break break
if new_flag: if new_flag:
new_flags.append( new_flag ) new_flags.append(new_flag)
return new_flags return new_flags
def FlagsForFile( filename ): def FlagsForFile(filename):
if database: if database:
# Bear in mind that compilation_info.compiler_flags_ does NOT return a # Bear in mind that compilation_info.compiler_flags_ does NOT return a
# python list, but a "list-like" StringVec object # python list, but a "list-like" StringVec object
compilation_info = database.GetCompilationInfoForFile( filename ) compilation_info = database.GetCompilationInfoForFile(filename)
final_flags = PrepareClangFlags( final_flags = PrepareClangFlags(
MakeRelativePathsInFlagsAbsolute( MakeRelativePathsInFlagsAbsolute(
compilation_info.compiler_flags_, compilation_info.compiler_flags_,
compilation_info.compiler_working_dir_ ), compilation_info.compiler_working_dir_),
filename ) filename)
else: else:
relative_to = DirectoryOfThisScript() relative_to = DirectoryOfThisScript()
final_flags = MakeRelativePathsInFlagsAbsolute( flags, relative_to ) final_flags = MakeRelativePathsInFlagsAbsolute(flags, relative_to)
return { return {
'flags': final_flags, 'flags': final_flags,
'do_cache': True 'do_cache': True
} }

Loading…
Cancel
Save