]>
git.rmz.io Git - dotfiles.git/blob - vim/ycm_extra_conf.py
4 def FlagsForFile(filename
, **kwargs
):
5 client_data
= kwargs
['client_data']
6 cwd
= client_data
['getcwd()']
15 # '-Wno-variadic-macros',
26 final_flags
= MakeRelativePathsInFlagsAbsolute(flags
, relative_to
)
33 # This function makes it easy to pull in additional flags from rospack
35 cmd
= ['rospack', 'cflags-only-I']
37 out
= subprocess
.Popen(cmd
, shell
=False, stdout
=subprocess
.PIPE
).stdout
40 line
= out
.readline()[:-1].split(" ")
43 if include
.startswith(os
.path
.expanduser('~')):
44 includes
+= ['-I', include
]
46 includes
+= ['-isystem', include
]
47 return filter(lambda a
: a
!= ' ', includes
)
50 def DirectoryOfThisScript():
51 return os
.path
.dirname(os
.path
.abspath(__file__
))
54 def MakeRelativePathsInFlagsAbsolute(flags
, working_directory
):
55 if not working_directory
:
58 make_next_absolute
= False
59 path_flags
= ['-isystem', '-I', '-iquote', '--sysroot=']
63 if make_next_absolute
:
64 make_next_absolute
= False
65 if not flag
.startswith('/'):
66 new_flag
= os
.path
.join(working_directory
, flag
)
68 for path_flag
in path_flags
:
70 make_next_absolute
= True
73 if flag
.startswith(path_flag
):
74 path
= flag
[len(path_flag
):]
75 new_flag
= path_flag
+ os
.path
.join(working_directory
, path
)
79 new_flags
.append(new_flag
)