]>
git.rmz.io Git - dotfiles.git/blob - vim/ycm_extra_conf.py
6 def FlagsForFile( filename
, **kwargs
):
7 client_data
= kwargs
['client_data']
8 cwd
= client_data
['getcwd()']
9 # These are the compilation flags that will be used in case there's no
10 # compilation database set (by default, one is not set).
18 # '-Wno-variadic-macros',
26 '-isystem', '/usr/include/c++/4.9.0',
27 '-isystem', '/usr/include/c++/4.9.0/x86_64-unknown-linux-gnu',
28 '-isystem', '/usr/include/c++/4.9.0/backward',
29 '-isystem', '/usr/lib/clang/3.4.1/include'
33 final_flags
= MakeRelativePathsInFlagsAbsolute( flags
, relative_to
)
41 # This function makes it easy to pull in additional flags from rospack
43 cmd
= ['rospack', 'cflags-only-I']
45 out
= subprocess
.Popen(cmd
, shell
=False, stdout
=subprocess
.PIPE
).stdout
48 line
= out
.readline()[:-1].split(" ")
51 if include
.startswith(os
.path
.expanduser('~')):
52 includes
+= ['-I', include
]
54 includes
+= ['-isystem', include
]
55 return filter(lambda a
: a
!= ' ', includes
)
58 def DirectoryOfThisScript():
59 return os
.path
.dirname( os
.path
.abspath( __file__
) )
61 def MakeRelativePathsInFlagsAbsolute( flags
, working_directory
):
62 if not working_directory
:
65 make_next_absolute
= False
66 path_flags
= [ '-isystem', '-I', '-iquote', '--sysroot=' ]
70 if make_next_absolute
:
71 make_next_absolute
= False
72 if not flag
.startswith( '/' ):
73 new_flag
= os
.path
.join( working_directory
, flag
)
75 for path_flag
in path_flags
:
77 make_next_absolute
= True
80 if flag
.startswith( path_flag
):
81 path
= flag
[ len( path_flag
): ]
82 new_flag
= path_flag
+ os
.path
.join( working_directory
, path
)
86 new_flags
.append( new_flag
)