]>
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
)
40 # This function makes it easy to pull in additional flags from rospack
42 cmd
= ['rospack', 'cflags-only-I']
44 out
= subprocess
.Popen(cmd
, shell
=False, stdout
=subprocess
.PIPE
).stdout
47 line
= out
.readline()[:-1].split(" ")
50 if include
.startswith(os
.path
.expanduser('~')):
51 includes
+= ['-I', include
]
53 includes
+= ['-isystem', include
]
54 return filter(lambda a
: a
!= ' ', includes
)
57 def DirectoryOfThisScript():
58 return os
.path
.dirname( os
.path
.abspath( __file__
) )
60 def MakeRelativePathsInFlagsAbsolute( flags
, working_directory
):
61 if not working_directory
:
64 make_next_absolute
= False
65 path_flags
= [ '-isystem', '-I', '-iquote', '--sysroot=' ]
69 if make_next_absolute
:
70 make_next_absolute
= False
71 if not flag
.startswith( '/' ):
72 new_flag
= os
.path
.join( working_directory
, flag
)
74 for path_flag
in path_flags
:
76 make_next_absolute
= True
79 if flag
.startswith( path_flag
):
80 path
= flag
[ len( path_flag
): ]
81 new_flag
= path_flag
+ os
.path
.join( working_directory
, path
)
85 new_flags
.append( new_flag
)