7 CONFIG_NAME
= ".clang_complete"
9 def readConfiguration():
11 f
= open(CONFIG_NAME
, "r")
16 for line
in f
.readlines():
17 strippedLine
= line
.strip()
18 if len(strippedLine
) > 0:
19 result
+= [strippedLine
]
23 def writeConfiguration(lines
):
24 f
= open(CONFIG_NAME
, "w")
28 def parseArguments(arguments
):
31 nextIsIncludeFile
= False
44 elif nextIsIncludeFile
:
46 nextIsIncludeFile
= False
55 elif arg
== "-include":
56 nextIsIncludeFile
= True
58 result
= map(lambda x
: "-I" + x
, includes
)
59 result
+= map(lambda x
: "-D" + x
, defines
)
60 result
+= map(lambda x
: "-include " + x
, include_file
)
64 def mergeLists(base
, new
):
73 configuration
= readConfiguration()
74 args
= parseArguments(sys
.argv
)
75 result
= mergeLists(configuration
, args
)
76 writeConfiguration(map(lambda x
: x
+ "\n", result
))
79 status
= os
.system(" ".join(sys
.argv
[1:]))
80 if not os
.WIFEXITED(status
):
82 sys
.exit(os
.WEXITSTATUS(status
))
84 # vim: set ts=2 sts=2 sw=2 expandtab :