Some GPS shell commands can be used to query the default switches set by the
user in the project file. These are get_tool_switches_as_string
,
get_tool_switches_as_list
, or, more generally,
get_attribute_as_string
and get_attribute_as_list
. The first
two require a unique parameter which is the name of the tool as specified in
the <tool>
tag. This name is case-sensitive. The last two commands are
more general and can be used to query the status of any attribute from the
project. See their description by typing the following in the GPS shell
console window:
help Project.get_attribute_as_string help Project.get_attribute_as_list
The following is a short example on how to query the switches for the tool
"Find" from the project, See Tool example. It first creates an object
representing the current project, then passes this object as the first
argument of the get_tool_switches_as_string
command. The last external
command is a simple output of these switches
<?xml version="1.0" ?> <find_switches> <action name="Get switches for Find"> <shell>Project %p</shell> <shell>Project.get_tool_switches_as_string %1 Find </shell> <external>echo %1</external> </action> </find_switches>
The following example shows how something similar can be done from Python, in a simpler manner. For a change, this function queries the Ada compiler switches for the current project, and prints them out in the messages window. The
<?xml version="1.0" ?> <query_switches> <action name="Query compiler switches"> <shell lang="python">GPS.Project("%p").get_attribute_as_list (package="compiler", attribute="default_switches", index="ada")</shell> <external>echo compiler switches= %1</external> </action> </query_switches>