From: Samir Benmendil Date: Tue, 18 Oct 2016 12:49:50 +0000 (+0100) Subject: vim: reformat ycm_extra_conf X-Git-Url: https://git.rmz.io/dotfiles.git/commitdiff_plain/ab7fac60a606ec7050b1159a4bb48b4c37d1f8f7 vim: reformat ycm_extra_conf --- diff --git a/vim/ycm_extra_conf.py b/vim/ycm_extra_conf.py index ac15c22..ab42d27 100644 --- a/vim/ycm_extra_conf.py +++ b/vim/ycm_extra_conf.py @@ -1,83 +1,80 @@ import os -import shlex -import subprocess -import ycm_core -def FlagsForFile( filename, **kwargs ): - client_data = kwargs['client_data'] - cwd = client_data['getcwd()'] - # These are the compilation flags that will be used in case there's no - # compilation database set (by default, one is not set). - flags = [ - '-Wall', - # '-Wextra', - # '-Wshadow', - # '-Werror', - # '-Wc++98-compat', - # '-Wno-long-long', - # '-Wno-variadic-macros', - # '-fexceptions', - # '-DNDEBUG', - '-std=c++11', - '-stdlib=libstdc++', - '-x', 'c++', - '-I', '.', - '-I', './include', - ] - flags += rospack() - relative_to = cwd - final_flags = MakeRelativePathsInFlagsAbsolute( flags, relative_to ) - return { - 'flags': final_flags, - 'do_cache': True - } +def FlagsForFile(filename, **kwargs): + client_data = kwargs['client_data'] + cwd = client_data['getcwd()'] + + flags = [ + '-Wall', + # '-Wextra', + # '-Wshadow', + # '-Werror', + # '-Wc++98-compat', + # '-Wno-long-long', + # '-Wno-variadic-macros', + # '-fexceptions', + # '-DNDEBUG', + '-std=c++11', + '-stdlib=libstdc++', + '-x', 'c++', + '-I', '.', + '-I', './include', + ] + flags += rospack() + relative_to = cwd + final_flags = MakeRelativePathsInFlagsAbsolute(flags, relative_to) + + return { + 'flags': final_flags, + 'do_cache': True + } # This function makes it easy to pull in additional flags from rospack def rospack(): - cmd = ['rospack', 'cflags-only-I'] - try: - out = subprocess.Popen(cmd, shell=False, stdout=subprocess.PIPE).stdout - except: - return [] - line = out.readline()[:-1].split(" ") - includes = [] - for include in line: - if include.startswith(os.path.expanduser('~')): - includes += ['-I', include] - else: - includes += ['-isystem', include] - return filter(lambda a: a != ' ', includes) + cmd = ['rospack', 'cflags-only-I'] + try: + out = subprocess.Popen(cmd, shell=False, stdout=subprocess.PIPE).stdout + except: + return [] + line = out.readline()[:-1].split(" ") + includes = [] + for include in line: + if include.startswith(os.path.expanduser('~')): + includes += ['-I', include] + else: + includes += ['-isystem', include] + return filter(lambda a: a != ' ', includes) def DirectoryOfThisScript(): - return os.path.dirname( os.path.abspath( __file__ ) ) + 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=' ] - for flag in flags: - new_flag = flag - if make_next_absolute: - make_next_absolute = False - if not flag.startswith( '/' ): - new_flag = os.path.join( working_directory, flag ) +def MakeRelativePathsInFlagsAbsolute(flags, working_directory): + if not working_directory: + return list(flags) + new_flags = [] + make_next_absolute = False + path_flags = ['-isystem', '-I', '-iquote', '--sysroot='] + for flag in flags: + new_flag = flag - for path_flag in path_flags: - if flag == path_flag: - make_next_absolute = True - break + if make_next_absolute: + make_next_absolute = False + if not flag.startswith('/'): + new_flag = os.path.join(working_directory, flag) - if flag.startswith( path_flag ): - path = flag[ len( path_flag ): ] - new_flag = path_flag + os.path.join( working_directory, path ) - break + for path_flag in path_flags: + if flag == path_flag: + make_next_absolute = True + break - if new_flag: - new_flags.append( new_flag ) - return new_flags + if flag.startswith(path_flag): + path = flag[len(path_flag):] + new_flag = path_flag + os.path.join(working_directory, path) + break + if new_flag: + new_flags.append(new_flag) + return new_flags