Edit
Edit
Copyright © 1983-2016 by Green Hills Software. All rights reserved. No part of this publication may be reproduced, stored
in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or
otherwise, without prior written permission from Green Hills Software.
Green Hills, the Green Hills logo, CodeBalance, GMART, GSTART, INTEGRITY, MULTI, and Slingshot are registered
trademarks of Green Hills Software. AdaMULTI, Built with INTEGRITY, EventAnalyzer, G-Cover, GHnet, GHnetLite,
Green Hills Probe, Integrate, ISIM, u-velOSity, PathAnalyzer, Quick Start, ResourceAnalyzer, Safety Critical Products,
SuperTrace Probe, TimeMachine, TotalDeveloper, DoubleCheck, and velOSity are trademarks of Green Hills Software.
All other company, product, or service names mentioned in this book may be trademarks or service marks of their respective
owners.
For a listing of Green Hills Software's periodically updated patent marking information, please visit
http://www.ghs.com/copyright_patent.html.
PubID: edit_no_wmaade-558975
Branch: http://toolsvc/branches/release-branch-70
Date: May 6, 2016
Contents
Preface xiii
About This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv
The MULTI 7 Document Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
Conventions Used in the MULTI Document Set . . . . . . . . . . . . . . . . . . . . xvi
Index 389
Contents
About This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv
The MULTI 7 Document Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
Conventions Used in the MULTI Document Set . . . . . . . . . . . . . . . . . . . . . . . . xvi
Preface
This preface discusses the purpose of this manual, the MULTI documentation set,
and typographical conventions used.
Note
New or updated information may have become available while this book
was in production. For additional material that was not available at press
time, or for revisions that may have become necessary since this book
was printed, please check your installation directory for release notes,
README files, and other supplementary documentation.
For a comprehensive list of the books provided with your MULTI installation, see
the Help → Manuals menu accessible from most MULTI windows.
• Print
• Online help, accessible from most MULTI windows via the Help → Manuals
menu
• PDF, available in the manuals subdirectory of your IDE or Compiler installation
• gxyz is a command.
• The option -option should either be replaced with one or more appropriate
options or be omitted.
• The word filename should be replaced with the actual filename of an
appropriate file.
The square brackets and the ellipsis should not appear in the actual command you
enter.
Creating a Project
Contents
Creating a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Project Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Quick Start: Building and Running Hello World . . . . . . . . . . . . . . . . . . . . . . . . . 10
Chapter 1. Creating a Project
The term project is used to encompass all of the files that are used to build your
application. Projects are defined in Green Hills project files (.gpj), which are similar
to makefiles. Projects are organized in a tree structure, where the root of the tree is
a Top Project (usually called default.gpj).
Before you begin development, you must create a Top Project with the Project
Wizard. You can access all of your code and any executables you plan on building
from this Top Project.
If you are creating a Top Project for INTEGRITY, see “Building INTEGRITY
Applications” in the INTEGRITY Development Guide.
Creating a Project
To create a new Top Project, perform the following steps.
4. Click Next. If you have only installed one processor family for MULTI, the
wizard selects that family and continues to the next step. Otherwise, it displays
a screen similar to the following:
After you have completed the project setup, take some time to familiarize yourself
with your project's structure (see “Project Structure” on page 7). Then follow the
instructions provided in “Quick Start: Building and Running Hello World”
on page 10.
Project Structure
After you create a Top Project, the MULTI Project Manager opens. The Project
Manager, described in detail in “Project Manager Components” on page 17, provides
a graphical representation of the hierarchy of your project files. Project files are
text files that list program source files, subprojects, and other files that make up an
executable or a project. In the Project Manager, source files and other project file
entries can be followed by the project options used when building that file. The
following graphic shows the files generated by the Project Wizard for the example
project Hello World.
Top Projects
The Top Project is the root of your project hierarchy. Usually, Top Projects are
named default.gpj. The Top Project encompasses all logically related programs
and libraries that share a target architecture. Among other things, it specifies:
For information about the Top Project file format and advanced features, see the
documentation about the Green Hills project file format in the MULTI: Building
Applications book.
All of these files are located in the tgt subdirectory of your project.
By default, all executables you create within your Top Project share one target
resources project. This allows you to make modifications in one place (for example,
altering a linker directives file), and to see the corresponding changes in all of your
executables. However, you can also copy files from the target resources project to
an individual executable using Copy selected file Local (see “The Edit Menu”
on page 259).
Caution
After making local copies of customized library files, you might need to
modify your program's build options to make it use the local library
instead of the shared one.
More Information
For information about other file types you may encounter in the Project Manager,
see “File Types” on page 270. See also the documentation about file types in the
MULTI: Building Applications book. For more information about project files, see
the documentation about the Green Hills project file format in the MULTI: Building
Applications book.
Note
The Green Hills Project file format (.gpj) used by the Project Manager
differs from the format of build files (.bld) used by previous tools releases.
If you are migrating from MULTI 4 or earlier and need help converting
your .bld files, please contact Green Hills Support.
2. Click the Build button ( ). You can follow the progress of the build in the
Status pane of the Project Manager.
1. Click the Connect button ( ) to open the Connection Chooser. The Project
Wizard has created a connection called:
which is selected.
2. Click Connect to use this connection.
1. Verify that all hardware connections are tight and secure, and that both the
board and your hardware interface (if applicable) are powered.
2. Click the Connect button ( ) to open the Connection Chooser.
3. In the Connect to a Target list, select the combination of target and debug
server you want to use. In the example shown next, a Green Hills Debug
Probe (mpserv) connection has been selected.
4. Click Connect.
5. If the Connection Chooser needs more information, it opens the Connection
Editor. In this case, set the required options in the Connection Editor and
then click OK. For more information, see the documentation about the
Connection Editor in the MULTI: Configuring Connections book.
For more information, see Chapter 3, “Connecting to Your Target” in the MULTI:
Debugging book.
1. In the Project Manager, click the Debug button ( ). (If the Debug button is
not already enabled, select a src_hello\hello.gpj to enable it.)
2. In the MULTI Debugger, click . If you are connected to a simulator, this
completes the steps needed to run your program. If you are connected to a
hardware target, complete the remaining steps.
3. The Prepare Target dialog box opens. Leave settings at their default values.
(The project is configured to download the program to RAM.) Click OK.
4. The Initializing Target dialog box opens. This dialog box shows progress as
MULTI runs your setup script and downloads the program. The setup script
generated by the Project Wizard and included in your Top Project is run by
default. It is specified by the Connection Method (combination of target and
debug server) that you chose when following the instructions listed in
“Connecting To Your Target” on page 11. If you are using custom hardware,
a setup script may not have been created.
If the download and execution of the program are successful, the Debugger should
display output similar to that shown in the command pane below:
If the download was unsuccessful, the Prepare Target dialog opens and displays
any errors that occurred during execution of the setup script or while downloading
the program:
If you are using custom hardware and you have not created or customized the setup
script and/or customized the linker directives file in use, you should expect some
errors. For information about how to configure your target properly, see “Configuring
Your Target Hardware for Debugging” in Chapter 6, “Configuring Your Target
Hardware” in the MULTI: Debugging book.
Contents
Starting the MULTI Project Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Project Manager Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Managing Your Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Searching in the Project Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Setting Builder Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Building Your Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Chapter 2. Managing and Building Projects with the Project Manager
The MULTI Project Manager is a graphical tool that organizes your source and
other input files, and controls the tools needed to compile your software project.
The Project Manager also maintains file dependencies, and sets the options used in
building.
• From the MULTI Launcher, click the Launch Project Manager button ( )
and select either an existing project or Create Project.
• From the MULTI Launcher, select Components → Open Project Manager
to open a file chooser where you can select your program's Top Project.
• From the MULTI Debugger, select the Tools → Project Manager menu item.
• From the MULTI Debugger, enter the builder command on the Debugger
command line.
• If you want to open the Project Manager from the command line, we recommend
that you add the MULTI IDE install directory to your path for easy access.
After updating your path, enter the following command:
multi filename.gpj
Note
The Project Manager can only open Top Project files (usually called
default.gpj). For more information about these files, see “Top Projects”
on page 8.
• Title Bar — Displays the location of the current Top Project. In the preceding
screen, the project is default.gpj, which is the default project name for projects
created by the Project Wizard.
• Menu Bar — For a complete list of all the menu items, see “Project Manager
Menus” on page 258.
• Toolbar — The buttons on the Project Manager toolbar are documented along
with their menu equivalents in “Project Manager Menus” on page 258.
• Build Configuration Drop-Down — Allows you to specify which build
configuration is displayed in the Project Manager. This drop-down list only
appears if your project can be built in multiple configurations. For more
information, see “Displaying Project Build Configurations” on page 28.
• File Shortcut Bar — Allows you to quickly locate or build files and projects.
For more information, see “The File Shortcut Bar” on page 268.
• Project Tree — Displays files and other configurable items in the current
project. The Project Manager displays the name and type for each item in the
tree. You can also configure it to display the size and modified Builder options
for applicable items. Projects (.gpj) and some configurable items have a small
plus or minus sign to their left that allows you to expand or collapse their
contents. For more information, see “The Project Tree Pane” on page 270.
• Status Tab — Displays information about the current status of the build process.
• Info Tab — Displays information about the selected items.
• Command Tab — Displays the command that will be run to build the selected
file. This shows which driver options will be used to build the file.
• Status Bar — Displays the full path of the currently selected file. If a build is
running, the status bar shows the progress of the build.
• Target Indicator — Displays the currently selected build target architecture
and operating system.
Additionally, you can enable the Advanced Views pane to display the following
tabs:
To enable the Advanced Views pane, select View → Show All Views, or click the
arrow on the right edge of the window, just below the File Shortcut Bar.
The contents of this dialog box vary based on the type of item you are adding a
child to. For example, if you add a child to a stand-alone Top Project, it should look
similar to the following image:
Each type of item has different settings available. The following sections
describe several common settings. Documentation for other settings is shown
in the text pane on the right side of the dialog box.
After you click Finish, the Project Manager generates any required files, and
modifies the project hierarchy to include the new item. These changes are saved
immediately.
Note
When adding a source file, you will be presented with a file chooser to
enter the name of the source file. If the file you enter does not exist, it
will be added to the project hierarchy, but the file will not be created. To
create the file, double-click the file to open it in the MULTI Editor, edit,
and save the file.
• The directory where the source code for the new executable or example will
be placed.
• The name of the project file. For program projects, this is also the default name
of the output executable.
Enter the specific settings for the selected item and click Next.
The layout that you choose is the one that will be used during linking. The
Project Manager provides a number of linker directives files (in the target
resources project) so that you can change the layout conveniently at later stages
of development. For more information, see the documentation about linker
directives files in the MULTI: Building Applications book.
Note
Selecting Link to and Execute out of ROM or Link to ROM and
Execute out of RAM might require you to include the board
initialization library in your program, or include other code that
handles the target from reset and initializes the memory subsystems.
If the board initialization library is available for your embedded
target, you can find more information in the MULTI: Building
Applications book.
• Whether to use the standard pre-built startup code, or to customize it. The
default is to use the pre-built code. To customize startup code, click the Startup
box. If you choose to customize, the Project Manager adds an additional project
file to your project that contains the source code to the Green Hills startup
library.
Warning
If you customize the startup code, you may not be able to use MULTI
features that depend on it. For more information, see the
documentation about features that depend on the default Green Hills
startup code in the MULTI: Building Applications book.
The board initialization library is intended for use with hardware connections.
If you include this library, you may not be able to run your program on a
simulator.
• Other settings might appear on this screen in addition to those above. See the
in-dialog documentation for more information about these settings.
The Project Manager adds files for customized libraries and startup code to the
target resources project in your Top Project. By default, all programs under one
Top Project share the same customized source code. For more information, see
“Target Resources Project” on page 9 and “Changing the Build Target” on page 26.
Click Finish to complete adding new items to your project framework. If you decide
that you want to change one of these settings later, you can change most of them
using the Configure menu item (see “Configuring Existing Items” on page 24).
1. Select the location within the hierarchy where you want to add the file.
2. Click Edit → Add File into proj.gpj, or right-click the project file and select
Add File into proj.gpj.
Depending on what you have selected, either Add File into Project or Add
File after Project is displayed.
3. In the file chooser, browse to the file and click Add.
Tip
On Windows, you can quickly add existing files to your project hierarchy
by dragging the files from Windows Explorer into the Project Manager's
Project Tree.
matching any of the file patterns specified by the :autoInclude option. The files
become the children of the Auto Include file for the current build. Subdirectories
are not searched; thus, file patterns that include a relative or absolute path to a set
of files in another directory are ignored.
You can create a project file that allows you to automatically pull in files from a
particular directory rather than listing specific items to include. To create such a
project:
The Project Wizard opens with a dialog box that indicates your project's
current settings. For more information about the Project Wizard settings
dialog boxes, see “Adding New Items to Your Project” on page 19.
You can access graphical interfaces to assist you in editing certain file types, by
right-clicking them and selecting Graphically Edit:
To move files within a single project file or from one project to another, you can
cut and paste files using either of the following methods:
• the Cut ( ) and Paste ( ) buttons. The paste button is equivalent to the Paste
file as Link menu items.
To paste files, select the file immediately above where you want the files to be
added and click the Paste ( ) button.
Note
You can select multiple files to cut as long as they are all contained within
the same project.
You can also copy and paste items as links or local items. Copy file as Link allows
you to copy the selected items to the clipboard. Paste file as Link takes the clipboard
items and creates a reference to them in the selected context. This does not create
another copy of the items, so any changes made to the item will be reflected in all
contexts that are linked.
Copy file Local copies the selected items to the clipboard. Paste file Local takes
the clipboard items and makes a recursive copy of each item within the selected
context. You will have your own distinct copy of the item, so subsequent changes
made in the old copy will not be reflected in your new copy.
To change your build target after you have already created a project:
1. Select Edit → Set Build Target to open the Target Selector window.
After you change the target for your Top Project, a new target resources project is
generated with information specific to your new target. The original target resources
project and all files in the tgt directory are moved to tgt.old.
For more information, see the documentation about customization files in the
MULTI: Building Applications book.
You can also define your own build configurations. For information about how to
do so, see the description of defineConfig in the documentation about group 1
directives in the MULTI: Building Applications book.
• View the options that take effect when the configuration is built. (Refer to the
Options column and the Command tab.)
• View the files included in your project when the configuration is built. (Files
that are not included are dimmed in the project tree.)
• Build the configuration with a single click of the Build button ( ). (You can
build a different configuration by clicking and holding and then selecting
the configuration from the list that appears.)
Common Scenarios
The following sections provide you with additional information about various tasks
you can accomplish using the Project Manager.
To add a header file in your project hierarchy, add the file in the same manner as
adding a source file (see “Adding Existing Files To Your Project” on page 23).
1. Select the location within the hierarchy where you want to add the library.
2. Click Add Item into selected ( ).
3. Select Library from the list of available items and click Next.
If Library is not in the list of available item types, libraries are not supported
in the location that you have selected.
4. Set the name and location of the library project file.
It is recommended that you put your library's project file in the same directory
as its source files, and that the name of the project file is the same as the
library's name (but with a .gpj extension).
5. Click Finish.
6. Add source files (see“Adding New Items to Your Project” on page 19).
Warning
When including the same Library project in multiple programs, be sure
that they do not inherit different options. For example, if one program is
built with optimizations, and the other is not, your library will contain
inconsistently built objects depending on which program was being built.
One way to avoid this is to only set options in your Top Project and
explicitly override any inherited options in the Library project.
Note
Use this method when the source code for the pre-built library is
unavailable. If you do have the source code for the library, use a Library
project instead, because MULTI will rebuild the source files as necessary.
Warning
Never manually add Green-Hills-provided target libraries to your project.
The compiler will link in the correct target libraries for your configuration
when the appropriate Builder options are set.
For more information about how the Project Manager locates pre-built libraries,
see the documentation about implicit dependency analysis in the MULTI: Building
Applications book.
Note
The Project Wizard creates projects that use your host operating system's
path delimiter. If you created your project in Windows using the Project
Wizard and want it to be compatible across multiple hosts, you may need
to open your project files and replace backslashes in paths with forward
slashes.
• Use the File Shortcut Bar by selecting either Find: or Next:, enter the name
of an input (for example, hello.c) or output (for example, hello.o) file in your
project and press Enter.
For more information, see “The File Shortcut Bar” on page 268.
• You can also search the visually expanded portion of the project tree for options
and files. Press Ctrl+F and type a search string to search forwards, or Ctrl+B
and type a search string to search backwards. The Project Manager searches
incrementally as you type. Press Ctrl+F or Ctrl+B to look at the next or
previous instance of a string. To exit the search mode, press Esc.
Searching Files
The Project Manager supports searching for a text string in all of the searchable
files in a project. To begin a full-text search of a subset of your project:
1. Select the portion of your project that you want to search. To search an
individual source file, select only that file. To search all the files referenced
by a project file (.gpj), select the project file.
2. Select Search: in the File Shortcut Bar.
3. Enter the search string in the text box, and press Enter.
2. Enter the search string in the text box, and press Enter.
You can also perform these searches via the Search in Selected Files dialog box,
which provides additional searching options:
2. Enter the search string in the text box (or use the drop-down list to select recent
search strings).
3. Select any of the following searching options:
• Case sensitive — The search only finds text that matches the case of the
search string exactly. If this box is not selected, the search ignores case
when searching for a match. This box is selected by default.
• Whole word — The search only finds text that contains the search terms
as words. This means that the matching string must be preceded by a
non-word character and followed by a non-word character, where word
characters are letters, digits, and the underscore. For example, if you select
this check box, a search for ice does not match slice or ice__, but it
does match ice-9. This box is cleared by default.
• Use Regular Expressions — The search treats the text you enter in the
text field as a regular expression. If this box is cleared, the search treats
the text you enter as a fixed string. This box is selected by default.
4. After you have entered the search string and set your searching options, click
Search to perform the search. A Search in Files Results window opens when
the search is complete. For a description of this window, see “Viewing Search
in Files Results” on page 88.
Note
The Search in Files feature uses the BSD grep utility. A copy of BSD
grep is installed along with the MULTI IDE. However, BSD grep is not
part of MULTI and is not distributed under the same license as MULTI.
For more information about the license under which BSD grep is
distributed, refer to the file bsdgrep.txt, which is located in the copyright
subdirectory of the IDE installation. For information about the search
expression format that BSD grep uses, refer to the OpenBSD re_format(7)
man page.
Each of the Builder options corresponds directly to one or more of the command
line compiler driver options. There are four different types of Builder options:
• Switches — Two or more settings from which you choose only one (for
example, Optimization Strategy and Debugging Level).
• Combination Switches — Multiple settings from which you choose all, none,
or any combination (for example, Run-Time Error Checking and MISRA
C).
• Strings — Accepts a single string value (for example, Output File Name and
Start Address Symbol).
• Lists — Accepts multiple string values (for example, Include Directories and
Library Directories).
• Builder options are set through the Build Options window. For more
information, see:
○ “The Build Options Window” on page 34 for an overview of the Build
Options window.
○ The MULTI: Building Applications book for your target processor family
for a complete list of options and for information about the features of
your target that you can access or control with options.
• Right-click the file that you want to set the options in, and select Set Build
Options.
• Select the file that you want to set the options in, and choose Edit → Set Build
Options.
The Build Options window has three tabs (documented in the following sections),
which provide different ways of viewing Builder options. The Build Options
window opens on the last tab you viewed. A fourth tab, Deactivated, only appears
if your project contains any build options that are marked as disabled for your
architecture. Note that the Deactivated tab does not appear if the disabled option
is marked with the {optional} conditional control statement (see the
documentation about conditional control statements in the MULTI: Building
Applications book).
To set or edit an option on any of the tabs, double-click it and select a setting, or
enter a value in the dialog.
The present value or setting of the option is displayed in the Value column. Options
can be set at different levels of the build hierarchy. An option set in a .gpj file is
inherited by all the files contained in that .gpj file (see “Inheriting Options from
Parent Build Files” on page 47). Each value appears in one of three colors:
• Values printed in gray and that appear in parentheses are default values that
have not been explicitly set anywhere in the project. These values are listed as
Not Set when you right-click or double-click the option. Note that not all
options have default values, and that some defaults can change depending upon
other option settings.
If you open the Build Options window for a file that does not produce build
output, such as your Top Project, the Value column does not display default
values.
• Values printed in black are inherited from a parent file. These values are listed
as Inherited when you right-click or double-click the option. You can override
inherited values by setting the option to a new value in the present file.
• Values printed in blue are set in the present file.
For information about the toolbar buttons and lower tabs of the Build Options
window, see “The Build Options Toolbar” on page 273 and “Build Options Tabs”
on page 273.
Note
When an option is modified by a conditional control statement, you cannot
use the Build Options window to modify that specific option, but you
can usually use the Build Options window to add additional items to a
list option or override the option in a subproject.
This tab lists only the common options that most users will need to control.
Categories can be expanded or contracted by clicking the plus or minus sign to their
left. Double-click an option to edit it.
This tab lists all of the Builder Options, which are categorized by type or associated
tool. The pane on the left displays the category structure. Click a category to display
the options it contains in the pane on the right.
This tab displays those options that have been set in, or are inherited by, this file,
together with their current settings. If you right-click the option that you want to
modify and select Goto Option Text, the MULTI Editor opens on the line in the
project file where that option is set. For options that are set in multiple locations in
the project tree, the opened file is the closest parent project where the option is set.
Note
The Goto Option Text menu item may not be available for list options
or combination switch options.
If the option has already been set at this or a higher level of the project hierarchy,
its present setting is displayed in the Value field. The file where the option was set
is displayed in the Set in field. If your project can be built in multiple configurations,
the build configurations the option applies to are displayed in the Configurations
field.
1. Select a value from the drop-down list. The Set In field changes to display the
current file's name.
2. If applicable, use the Configurations drop-down list to specify the build
configuration(s) the option should apply to.
3. Click OK to save the new setting and return to the Build Options window.
If a sub-option has already been set at this or a higher level of the project hierarchy,
its present setting is displayed in the Value column.
The file where the sub-option was set is displayed in the Set In column. Sub-options
set higher in the project hierarchy are printed in black and have a green arrow
pointing up and to the left in the Value column. Those set in the present file are
printed in blue, and those that have not been set are printed in gray.
If your project can be built in multiple configurations, the build configurations that
the sub-option applies to are displayed in the Config column.
1. Click the option(s) that you would like to change. The symbols in the Value
column toggle between:
• — Not set
• — Enabled
• — Disabled
You can enable or disable all of the sub-options with the All toggle ( )
option.
2. If applicable, use the Configuration drop-down list to specify the build
configuration(s) the sub-option should apply to.
3. Click OK to save the new setting(s) and return to the Build Options window.
If the option has already been set at this or a higher level of the project hierarchy,
its present setting is displayed in the Value field. The file where the option was set
is displayed in the Set In field. If your project can be built in multiple configurations,
the build configurations the option applies to are displayed in the Configurations
field.
1. Enter an appropriate string in the Value field (if the option has already been
set, you must select the Override Inherited check box before you can access
the Value field). If the option requires a directory or filename as a value, a
folder icon ( ) is displayed, which you can use to navigate to the appropriate
file or directory.
If the option has already had values assigned to it at this or a higher level of the
project hierarchy, its present settings are displayed in the Value column. The file
where each value was set is displayed in the Set In column. If your project can be
built in multiple configurations, the build configurations the option applies to are
displayed in the Config column.
• Click the value you want to delete, and click the delete button ( ).
1. Click the Add button ( ) and enter an appropriate string in the text field. If
the option requires a directory or filename as a value, a folder button ( ) is
displayed, which you can use to navigate to the appropriate file or directory.
The new value is appended to the bottom of the list and the current file's name
appears in its Set In column.
2. If applicable, use the Configuration drop-down list to specify the build
configuration(s) the option should apply to.
3. Click OK to save the new setting and return to the Build Options window.
Enter an option name or part of a name in the Option to search for text field, and
click the Search button. By default, the Project Manager searches all three of:
Select Edit → Set Build Macros from the main Project Manager window to set a
macro in the selected project file. The Set Build Macros dialog box opens.
The Comment column displays any comment specified on the same line as the
macro definition in the project file. To include a comment with a macro definition,
add # Your Comment to the end of the text field.
The Set In column indicates the project file in which the macro is set.
After you define the macro, it can be used as the value of a builder option, or part
of the value of a builder option. Simply use ${macro_name} anywhere in a builder
option where you want the Project Manager to substitute the value of macro_name.
Note
The predefined macro GHS_TOOLS_DIR specifies the location of your
Compiler installation.
This example explains how to define a macro for the root of the project on Windows
hosts. The root directory of the project in this example is C:\src. To define a macro
called top to represent the root directory:
The include files for the project are located in C:\src\include. To specify this include
directory to the Project Manager using the top macro:
1. Click Edit → Set Build Options to open the Build Options Window.
2. Navigate to the Project→Include Directories option and open it.
3. Enter $top\include and click OK.
Note
You can also define a macro to be the name and value of a driver option.
To use a macro defined in this way, you must edit the project (.gpj) file
in a text editor and add $macro_name at the location where you would
normally specify the option.
To import a variable:
Note
You can only import an environment variable if it is defined in your
environment. If you previously imported an environment variable in a
project and you open that project when the variable is not defined, the
Project Manager issues a warning.
If the environment variable stores the name and value of a driver option, you can
edit the project (.gpj) file in a text editor and add $variable_name at the location
where you would normally specify the option.
The Project Manager tracks changes to the environment variables you import so
that anything in your project that uses an environment variable is rebuilt whenever
you modify that variable's value.
Note
Imports are only valid if they are set in the Top Project. If you use the
GUI for importing environment variables, the imports are always saved
in the Top Project. This behavior is different from the Set Build Options
dialog box where the options are set on whichever file is selected.
• If the options apply everywhere that the child project is used, select that project
(child.gpj), and set the options. These options are written to the child project
file, and therefore are set for that project file regardless of what parent it
currently belongs to.
• If the options apply only when the child project is the child of a particular
parent project (master.gpj), select the child project (child.gpj) choose Edit
→ Advanced → Set Options in Parent, and set the options. These options
are written to master.gpj and apply only to child.gpj. If you reuse the child's
project file in a different project, the options are not carried over into the new
project.
• To set an option for an individual file, select the file and set the options.
• To set an option for a group of files, select the project file that contains the
files in the Project Manager's hierarchy of your project, and set the options.
The options are set in the project file. All files below the project file, including
its source files, will inherit these options.
• Parallel Build — Splits the work of building your program among several
processes on your local machine, which speeds up the build as a whole by
interleaving independent compilations. This is the default build mode.
• Single-Thread Build — Builds your program using a single process on your
local machine. If you have a slow machine that does not perform well in parallel
build mode, use single-thread mode.
You can instruct the Project Manager to build your entire project; a specific
subproject, executable, or library; an individual source file; or multiple files. In
each of the following cases, the Project Manager invokes all of the tools necessary
for building.
• To build your entire project, select the Top Project (usually named default.gpj)
in the Project Tree, and click the Build button ( ).
• To build a specific subproject, executable, or library, select the appropriate
project file and click the Build button or right-click and select Build selected
file.
• To build an individual source file, right-click the file and select Compile
selected file.
• To build multiple files, select the files you want to build, then right-click and
select Build Selected Files.
If your project can be built in multiple configurations, the Project Manager performs
all of the above builds on the configuration displayed in the build configuration
drop-down. To change which configuration is built, select the desired configuration
from the drop-down.
Note
If set, the gbuildDir=directory option affects what version of the tools
is used to build your project. For more information, see the documentation
about the Green Hills project file format in the MULTI: Building
Applications book.
You can follow the progress of the build in the Status Tab at the bottom of the
Project Manager window. If the build is successful, its completion is reported here.
If errors occur, a Build Details window opens:
You can modify or obtain extra information about the next build process by selecting
Build → Advanced Build selected file to open the Advanced Build dialog box
(for full documentation, see “The Advanced Build Dialog Box” on page 274):
• To remove any previous output files before beginning the build, select the
Clean all output before building (-cleanfirst) check box, and click the Build
button.
• To see a dry-run of the build, without actually executing any commands or
modifying any files, select the Show build without execution (-info) check
box and click the Build button.
• To see the commands that the Builder executes as it builds, select the Show
tool commands (-commands) check box and click the Build button.
During the build, the Select One project traps.gpj uses only one processor-specific
file, traps.ppc or traps.mip, depending on the specified target processor.
If you have multiple files that are specific to a single processor, create multiple
Select One projects. Suppose the program in this example also uses bdriver.ppc
and bdriver.mip. In this case, you would create another Select One project,
bdriver.gpj.
By default, the Project Manager chooses the file in the Select One project with an
extension appropriate to your target architecture. If it cannot find a target-specific
file, it uses the file with the .c extension.
Contents
Starting the MULTI Launcher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Launcher Display Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
MULTI Workspaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Action Sequences and Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
MULTI Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Using Variables in the MULTI Launcher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Chapter 3. Managing Workspaces and Shortcuts with the Launcher
The MULTI Launcher allows you to create and use workspaces and shortcuts. A
workspace is a virtual area where the tools, files, and actions required for a particular
project can be organized, accessed, and executed. A workspace is typically created
for each top-level project and includes a working directory and one or more related
action sequences. The working directory for the workspace is the directory from
which the action sequences will be started, and it is typically the directory containing
the executable program associated with the project. An action sequence consists of
one or more actions that are performed in the listed order. Action sequences may
include:
The example above displays a workspace called STP Dev Area with a working
directory of C:\Users\bob\Documents\My Projects\STP and action sequences
named Startup, View Bug List, and Run Client/Server Test. The Startup action
sequence contains the following actions:
The View Bug List action sequence contains the following action:
• Run the shell command bugview -subject=stp, and block subsequent actions
until the command has completed.
The Run Client/Server Test action sequence contains the following actions:
This chapter provides information about how to create workspaces like this one. If
you want to skip ahead, see “Creating Workspaces” on page 56.
• Windows — From the Windows Start menu, select the MULTI menu item.
Alternatively, use Windows Explorer to navigate to the directory where you
installed the MULTI IDE, and double-click multi.exe.
• Linux/Solaris — Run the multi executable from your MULTI IDE installation
directory.
Concise mode (shown next) uses little screen space. This mode is useful if you do
not need to access or modify individual actions.
Detailed mode (shown next) shows more information and allows you to modify
workspace action sequences.
The detail pane displays either brief help information about the Launcher or
information for the current workspace. When displaying help information, the detail
pane contains the following elements:
• Start with MULTI Launcher — Select this check box to start the Launcher
when the multi command is run with no arguments. See the corresponding
menu entry in “The Config Menu” on page 249.
When you create a new workspace or select a workspace in detailed mode, the detail
pane contains the following elements:
For information about the menu items and toolbar buttons available in the Launcher,
see Chapter 9, “Launcher GUI Reference” on page 243.
MULTI Workspaces
This section contains detailed information about creating, modifying, saving, loading,
and opening MULTI workspaces.
Creating Workspaces
To create a workspace:
1. From the Launcher, select File → Create Workspace. The Select Workspace
Type window appears.
2. Specify a name for your workspace and choose one of the following options:
• New Project — Select this option to create a workspace for a new project.
The Project Wizard opens to allow you to create the project. For more
information, see Chapter 1, “Creating a Project” on page 3.
When you create a workspace for a new project or an existing project, an action
sequence called Startup is created automatically. The Startup action sequence
launches the Project Manager on your project. “Creating or Modifying an Action
Sequence” on page 61 explains how to customize action sequences and how to add
other action sequences to your workspace.
The fields and options available in this dialog box allow you to customize your BSP
workspace. Each field, option, and button is described in detail below.
In the Set Workspace Properties dialog box, the Current tab allows you to change
the current workspace's basic information and the Global tab allows you to change
certain global settings. The Others tab lists pre-defined MULTI Launcher variables.
For information about using variables in this dialog box, see “Using Variables in
the MULTI Launcher” on page 68.
Saving Workspaces
To save your workspace to the default location, select File → Save Changes from
the Launcher. The Launcher saves definitions of workspaces into the configuration
file for the current workspace and into index.gmb, which is located at:
To find the full path to index.gmb, make a change to your current workspace and
select File → Save Changes from the Launcher. The dialog box that opens displays
the full path.
To import a workspace, select File → Load Workspace from File and choose a
.gmb file. MULTI prompts you to choose whether you want to access the workspace
directly from the imported file or copy the workspace to your local configuration
and access the copied workspace. In the workspace drop-down menu, workspaces
that are not copied to your local configuration are indicated by .
To add imported workspaces to a project, open the MULTI Project Manager on the
project and select Edit → Add File into default.gpj.
Opening Workspaces
You can create as many workspaces as necessary, but only one workspace can be
the current workspace, and you can only run actions from the current workspace.
You can change the current workspace in either of the following ways:
• From the Launcher, open the workspace drop-down menu and select the desired
workspace (see “The Launcher Toolbar” on page 252).
• From the Launcher, select File → Recent Workspaces and select the desired
workspace.
1. Select Edit → Add Action Sequence from the Launcher. This opens the Edit
Action Sequence dialog box on a new action sequence.
• Select the action sequence and then select Edit → Edit Selected Object.
• Right-click the action sequence and select Edit from the shortcut menu.
Action sequences are modified in the Edit Action Sequence dialog box. You can
use the buttons in this dialog box to add a new action to the action sequence, edit
an existing action, or delete an action. You can also perform the following
context-sensitive operations by right-clicking one or more actions in this dialog
box.
Edit
Displays the Edit Action dialog. For more information, see “Creating or Modifying an Action”
on page 63.
Disable or Enable
Disables or enables the selected action. Disabled actions appear dimmed and do not run when
the action sequence is run.
Toggle Status
Toggles the status of multiple actions. Enabled actions are disabled, and disabled actions are
enabled.
Cut, Copy, Paste, or Delete
Performs the requested editing operation on the selected action. The Paste button inserts actions
above the current selection; it does not overwrite the current selection.
Move Up or Move Down
Moves the selected action or actions one position up (earlier) or down (later) in the list of actions.
To reorder an action sequence in the Launcher's action tree, do one of the following:
• From the Launcher, right-click the action sequence and select Add Action.
• From the Edit Action Sequence dialog box, click Add Action.
The Edit Action dialog box appears when you create or modify an action.
This dialog box contains two fields. The first field, Action, specifies the type of
action. The second field (whose name is dependent on the Action selected) contains
the arguments for the action. First select the type of action from the Action list, and
then fill in the second field, which may contain variables, but which may not contain
wildcards. For information about using variables, see “Using Variables in the MULTI
Launcher” on page 68.
For a list of commands, see the MULTI: Debugging Command Reference book.
• Editor — Opens the MULTI Editor on the specified file. For example:
MyProjects/Project1/readme.txt
• Diff View — Opens the Diff Viewer on two files. For example:
MyProjects/Project1/default.gpj MyProjects/Project2/default.gpj
Argument usage for the Diff View action appears when your mouse hovers
over the Files text field.
• Checkout Browser — Opens the Checkout Browser on the specified directory.
For example: MyProjects/Project1
• Connection — Connects to the specified target. For example: simppc
• Serial Terminal — Connects via a Serial Terminal to the specified target.
For example: com1 (Windows) and ttyS0 (Linux)
• EventAnalyzer — Opens the EventAnalyzer on the specified event source
file. For example: evlog.mes
• ResourceAnalyzer — Connects the ResourceAnalyzer to the specified target.
For example: 127.0.0.1
• Flash GUI — Opens the MULTI Fast Flash Programmer window. You may
specify a program for the window to open on. For example:
MyProjects/Project1/catalog
In the argument string of an action, you can use MULTI Launcher variables to make
the action general. For more information, see “Using Variables in the MULTI
Launcher” on page 68.
To see example action sequences and actions, refer to the beginning of Chapter 3,
“Managing Workspaces and Shortcuts with the Launcher” on page 51.
If the actions or action sequences being executed contain a Build Project action,
a Python Statement action, a Python Script action, a Blocking Command action,
or any Utility Action, a progress window opens by default. For more information
about the progress window, see “Managing Running Actions” on page 66.
• Build Project
• Python Statement
• Python Script
• Blocking Command
• Any Utility Action
If enabled (the default), a MULTI Editor progress window displays when any of
the preceding actions are run. The Launcher's toggle menu item Config → Show
Progress Window enables and disables the appearance of the progress window for
these actions.
The title of a progress window indicates the currently executing action or, if
execution is complete, the last executed action. Inside the progress window, action
output is displayed in the normal text color and progress information is displayed
in a special color.
You can terminate execution of any action listed in the Utilities → Running Actions
menu by selecting the corresponding menu entry. This menu does not list components
of the MULTI IDE that were launched by Launcher workspace actions.
Note
The Utilities → Running Actions menu only lists workspace actions.
This menu is not related to programs being debugged by the MULTI
Debugger.
MULTI Shortcuts
This section contains detailed information about creating, saving, and loading
MULTI shortcuts.
To create a shortcut:
If it's not showing already, the MULTI Launcher Shortcuts pane appears.
The Working Dir field is empty to indicate that shortcuts do not have a
working directory associated with them. (Shortcuts execute in the working
directory of the currently selected workspace.)
3. You can create or modify shortcuts just as you would action sequences for a
workspace. See “Creating or Modifying an Action Sequence” on page 61.
Saving Shortcuts
To save your shortcuts to the default location, select File → Save Changes from
the Launcher. The Launcher saves definitions of shortcuts into the shortcut
configuration file and into index.gmb, which is located at:
To find the full path to index.gmb, make a change to a shortcut and select File →
Save Changes from the Launcher. The dialog box that opens displays the full path.
To save your shortcuts to a different file, see “Importing and Exporting Shortcuts”
on page 68.
To import shortcuts, select File → Load Shortcuts from File and choose a .gmb
file. MULTI prompts you to choose whether you want to:
• Append these shortcuts to the list that appears when you select ,
• Replace the shortcuts currently listed when you select , or
• Cancel the load operation.
Overview of Variables
Launcher variables enable you to perform actions from the Launcher. For example,
with the pre-defined _ws_file_path variable (described in “Variable Types”
on page 69), you can create a shortcut that opens the Editor on the current
workspace's configuration file.
The values of generic Launcher variables, such as the pre-defined MULTI Launcher
variables, change depending on the context of the workspaces where they are used.
This property allows you to use a single variable in multiple workspaces. For more
Generic variables also make your project more portable. If you associate a workspace
with a particular project file and share the project with another user, you can share
the workspace too. Simply use the _ws_file_dir variable described in “Variable
Types” on page 69 to specify the workspace's working directory. When the second
user opens the project and workspace, the value of the working directory dynamically
updates to the correct location.
Variables are convenient to use. Typing a variable is usually much easier and faster
than typing a long command string or pathname. In addition to being easy to type,
variables allow you to maintain multiple workspaces simultaneously: modify a
variable in one location, and you will see the change take effect every place where
it is used.
• Shortcuts and/or workspace actions — You can use variables when creating
the workspace actions used in action sequences or shortcuts. For more
information, see “Creating or Modifying an Action” on page 63.
• Workspace working directories — To use a variable to specify the working
directory, click the Properties button in the Launcher. (If this button is not
visible, click to reveal the detail pane.) In the Set Workspace Properties
dialog box, click the Current tab and enter the variable in the Working Dir
field.
• Variable values — You can create variables for the current workspace or for
all workspaces. For information about how to do this, see “Creating or
Modifying Variables” on page 71.
Variable Types
The variables that the MULTI Launcher supports are categorized into the following
types:
1. Click the Properties button in the Launcher. If this button is not visible, click
to reveal the detail pane.
2. In the Set Workspace Properties dialog box, click the Current tab to create
or modify the current workspaces's variables and the Global tab to create or
modify global variables.
3. To add a variable, click New. To edit a variable, select the variable and click
Edit.
4. In the MULTI Launcher Variable dialog box, enter or modify the variable's
name and its value.
5. Click OK in the MULTI Launcher Variable dialog box and in the Set
Workspace Properties dialog box.
To delete a variable, select it in the Set Workspace Properties dialog box, and
click Delete.
Workspace variables are a part of the workspace's definition and are kept in the
workspace's definition file. Global variables are not a part of any workspace's
definition and are kept in the index.gmb file located at:
Referencing Variables
To reference a variable, enter the dollar sign ($) followed by the variable's name.
If the variable name contains characters other than alphabetic characters, numeric
characters, and underscore, enclose the variable name in parentheses () or square
brackets []. Example variables follow:
• $MyVar
• $(My Var)
• $[My Var]
To precede a non-variable with a dollar sign ($), escape the dollar sign with a
backslash character (\). For example: \$NotVar.
Variable Substitution
When the MULTI Launcher evaluates a string containing variables, it scans the
string from beginning to end and substitutes the string's variables with their values.
The substitution process continues until no variables are left to substitute or until
the Launcher has performed 20 scans. This maximum scan limit helps to prevent
infinite loops caused by cyclic dependencies.
When the MULTI Launcher recognizes a variable name during the substitution
process, it looks for the variable's value by searching the variable types in this order:
1. Workspace variables
2. Global variables
3. Pre-defined MULTI Launcher variables
4. Host environment variables
Because of the order in which the Launcher searches variable types, you can override
a pre-defined or host environment variable by defining a workspace variable or
global variable with the same name. To return back to the original value, delete the
variable you created.
Contents
Starting the MULTI Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Editor Window Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Navigating in Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Searching in the Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Working with Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Working with Multiple Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Chapter 4. Editing Files with the MULTI Editor
This chapter is an introduction to the MULTI Editor. Details about the following
are provided:
me [options]
+line file
Opens the Editor on file and navigates to line number line.
-diff file1 file2
Opens the Diff Viewer on the specified files.
file
Opens the Editor on file.
-h
-usage
Displays on-screen usage information.
-help
Launches online help.
-new file1 file2...
Opens each file in a new Editor window.
-reuse file1 file2...
Opens each file in the same Editor window. This is the default.
-showhistory file1 [file2]...
Opens a History Browser on each file specified.
If you do not specify any option, a file chooser appears. Select or navigate to a file
to open it in the Editor.
Note
The MULTI IDE may reuse an Editor process started from the command
line. In this case, the process does not exit until the entire MULTI IDE
is closed.
• Click the Edit button ( ) and select a file or the Open Editor option.
• Select Components → Open Editor.
• Select one or more files, then click the Edit button ( ) to open them in the
Editor.
• Select one or more files in the project tree, then select Edit → Edit, or
right-click and select Edit from the shortcut menu.
• Double-click a text filename in the project tree.
• Double-click an error or warning in the Build Details window to open the
Editor on the source file containing the error or warning. The cursor is located
on the line with the error. If you navigate away from this line and later want
to return to it:
○ Double-click the colored, read-only error pane located above the Editor's
text pane, or
○ Right-click the read-only error pane, and select Goto Source Line.
Right-clicking the error pane also allows you to copy the error string.
To see the next error (if any), click the Next Error button ( ) on the Editor
toolbar.
• Title Bar — Contains the path and filename of the file displayed in the current
Editor window.
• Menu Bar — Contains menus to access Editor functions. All menus and menu
items are described in detail in “Editor Menus” on page 278.
• Editor Toolbar — Contains buttons for some of the most common Editor
actions. For more information, see “The Editor Toolbar” on page 294.
• File and Function Fields — Contains fields that provide quick access to files,
functions and line numbers. For more information, see “The File and Function
Fields” on page 295.
• Source Pane — Displays the text of the active document. For information about
operations you can perform from the source pane, see “The Shortcut Menu”
on page 293.
• Status Bar — Displays information about document status and cursor position.
For more information, see “The Status Bar” on page 296.
Navigating in Files
This section provides details about Editor functions that help you navigate within
a single file, and across multiple files.
Note
Cross reference information is available for source code in projects
built using the Project Manager. Cross reference information is not
available for preprocessor #defines in the Editor (but it is available
in the Debugger).
When this information is obtained, the Editor automatically grabs the function
prototypes from the include files; loads information for the operating system such
as APIs, constants, and types; and uses this information for syntax coloring and
auto-completion (see “The language.gsc Syntax Definition Files” on page 166). The
prototype information also allows you to quickly jump to the function's definition
or declaration from the shortcut menu.
• MULTI Debugger — The Editor can obtain cross reference information from
the Debugger when the Editor was launched from the Debugger and the current
file in the Editor is contained in the program being debugged.
• Cross reference information files — These files are generated during a build.
Cross reference information for a source file may be incomplete. To obtain complete
cross reference information for the source file's enclosing project, you can right-click
and select Generate Cross References from the shortcut menu (see “Generate or
Regenerate Cross References” on page 81).
Go To a Definition
To go to the definition of an item:
1. Right-click an object, function, variable, type or other text in the source pane
and select Go To Definition from the shortcut menu.
2. The Editor will use the function prototype or cross reference information to
find the definition of the clicked item and move the cursor to that position.
This opens another file if the definition is not located in the current file.
Go To a Declaration
To go to a declaration of an item:
1. Right-click an object, function, variable, type or other text in the source pane
and select Go To Declaration from the shortcut menu.
2. The Editor will use the function prototype or cross reference information to
find the declaration of the clicked item and move the cursor to that position.
This opens another file if the definition is not located in the current file.
Browse References
To browse reference information:
1. Right-click an object, function, variable, type, or other text in the source pane
and select Browse References from the shortcut menu.
2. The Editor will attempt to obtain the item's cross references and display them
in a Browse window.
The Browse window for cross references in the Editor is very similar to the
Browse window in the Debugger, except that it does not have Debugger-related
functions (for details, see “Browsing Cross References” in Chapter 12,
“Browsing Program Elements” in the MULTI: Debugging book).
The status box of the Browse window will display the source from which the cross
references are obtained:
• Based on debugger — The Editor obtains cross references from the symbol
table of the program in the corresponding Debugger.
• Based on progress: N/A — The Editor obtains cross references from cross
reference information files generated during a build. Only cross references for
source files you have edited in the current MULTI IDE session will be available.
• Based on progress: 70% — The Editor obtains cross references from cross
reference information files generated using the Generate Cross References
menu item (see the next section). The percentage displayed represents the
number of currently loaded cross reference information files out of the total
number in the enclosing project.
Cross reference Browse windows are accessible in the Editor through the Windows
menu. Cross reference Browse windows can be closed by selecting View → Close
Dependent Windows.
1. Right-click in the source pane and select Generate Cross References from
the shortcut menu.
Note
This menu item is unavailable if the Editor obtained cross reference
information from the corresponding MULTI Debugger.
2. The Editor will search for the enclosing project and generate cross reference
information for the whole project.
Generating cross reference information rebuilds the files in your program. Once
cross reference information for the enclosing project is generated, the shortcut menu
item changes to Regenerate Cross References. If any of the source files in the
project have changed, the cross references for the enclosing project must be
regenerated for the information to be accurate.
Go To a File
To open a file in the current Editor:
Go To a Line
To go to a specific line in the current file:
Go To a Line Quickly
You can quickly go to a line without using the GoTo dialog box:
1. Type Ctrl+G. The status box in the lower left corner of the status bar will
display the prompt Goto Line:.
2. Enter the line number to go to.
3. Press Enter.
Go To a Function
To go to a specific function in either the current file, or in another file:
4. If the function is in the current file, the Editor moves the cursor to the beginning
of the function. If the function is in a different file, the Editor opens that file
and moves the cursor to the beginning of the function.
Note
This option is only available if the corresponding language is C or
C++ (for which the Editor can automatically grab function prototypes
from the edited file).
• Incremental searching — Performs a quick search of the active file. The search
is incremental, so it searches for a string as you type it. This means that you
do not always have to type the whole text string you are looking for. This type
of searching uses keyboard shortcuts rather than a dialog box, so there are
fewer options. For more information, see “Incremental Searching” on page 83.
• Interactive searching — Uses the Search dialog to perform a variety of
searching tasks on the file in the active Editor window. Interactive searching
allows search-and-replace and regular expression matching. For more
information, see “Interactive Searching Using the Search Dialog Box”
on page 85.
• Searching files — Performs full-text searching in all open files using the grep
utility. For more information, see “Searching in Files” on page 87.
Incremental Searching
You can perform a quick incremental search (referred to in some command and
option names as an iSearch) in the active Editor window without opening the Search
dialog box. To do so, perform the following steps:
1. Press Ctrl+F (to search forward in the file) or Ctrl+B (to search backwards
in the file). This will cause the status box in the lower-left corner of the status
bar to display the prompt: Srch.
2. Type the string you are searching for. As you type characters, the search string
is displayed in the status bar to the right of the Srch prompt and the first
occurrence of the string pattern is highlighted in the Editor source pane. You
can use the Backspace key to remove characters from the search string. As
you modify the search string by typing additional characters or removing
characters, the next occurrence of the new string is highlighted in the Editor
source pane.
Note
The case sensitivity of the search is set via the Match exact case
in searches option (see “The General Options Tab” on page 177).
However, note that even if the search is case-insensitive, it becomes
case-sensitive if you enter any capital letters in the search string.
3. If a match has been found, press Ctrl+F again to view the next match or press
Ctrl+B to view the previous match. If there is no other match, the status bar
indicates that the search failed to find another match.
4. Press Esc at any time to clear the current search. (The Srch prompt will
disappear.) The option Escape restores view after iSearch controls whether
the cursor returns to its original location when you press Esc. For more
information, see “The General Options Tab” on page 177.
Tip
If you are not in search mode (that is, if the Srch prompt is not showing
in the status bar and the Search dialog box is not up), you can press
Ctrl+F two times to repeat your most recent search, whether it was an
incremental search or an interactive search (that is, a search performed
from the Search dialog box).
Search options that you have previously set in the Search dialog box affect
incremental searches performed in the same Editor window and MULTI session.
These options are: Case, Search Type, Starts word, Ends word, Starts line, and
Ends line. Use the Search dialog box to clear or change these option settings. For
more information about the Search dialog box and the options it contains, see
“Interactive Searching Using the Search Dialog Box” on page 85.
The Search dialog box can be used to search for and to replace text in the file open
in the active Editor window.
The fields and options in the Search dialog box are described in “The Search Dialog
Box” on page 301.
Note
Some of the settings in this dialog box set the defaults for the next
incremental search (see “Incremental Searching” on page 83).
The following table gives some examples of regular expressions that can be used
in searches.
Searching in Files
The MULTI Editor supports full-text searching of all open files with the Search in
Files feature. To search all open files, do one of the following:
Enter the search string in the text box (or use the drop-down list to select recent
search strings) and select any of the following searching options, if desired:
• Case sensitive — The search will only find text that matches the case of the
search string exactly. If this box is not selected, the search will ignore case
when searching for a match. This box is selected by default.
• Whole word — The search only finds text that contains the search terms as
words. This means that the matching string must be preceded by a non-word
character and followed by a non-word character, where word characters are
letters, digits, and the underscore. For example, if you select this check box, a
search for ice does not match slice or ice__, but it does match ice-9. This
box is cleared by default.
• Use Regular Expressions — The search treats the text you enter in the text
box as a regular expression. If this box is not selected, the search treats the text
you enter as a fixed string. This box is selected by default.
After you have entered the search string and set your searching options, click Search
to perform the search. A Search in Files Results window will open and display all
matches as they are found. See the next section for a description of this window.
Note
The Search in Files capability works by running the BSD grep utility. A
copy of BSD grep is installed along with the MULTI IDE. However,
BSD grep is not part of MULTI and is not distributed under the same
license as MULTI. For more information about the license under which
BSD grep is distributed, refer to the file bsdgrep.txt, which is located
in the copyright subdirectory of the IDE installation directory. For
information about the search expression format that BSD grep uses, refer
to the OpenBSD re_format(7) man page.
You can double-click any line in the search results window to open an Editor on
the specified file and line. If the Editor or the Search in Files dialog box has been
launched from the MULTI Debugger, single-clicking a line displays the line in the
Debugger source pane.
The components of the Search in Files Results window are described in “The
Search in Files Results Window” on page 303.
Indenting Code
Indentation is whitespace at the beginning of each line, used to denote the
hierarchical structure of your code and make it more readable. As you write code,
you can manually insert an indent, or you can let the Editor indent your code based
on common coding standards.
For more information about working with indents, see “The Block Menu”
on page 285.
Note
Auto indenting is only available for certain languages. At present, MULTI
supports auto indenting for C, C++, Java, and Ada.
1. If you want to auto indent a single line of code, move the cursor to that line.
If you want to auto indent multiple lines of code, highlight those lines.
2. Select Block → Auto Indent, or press Ctrl+2 or Ctrl+; (semicolon). Pressing
the Tab key also automatically indents everything to the right of the cursor.
You can make a one-time change in how far the Editor auto indents the lines of a
lexical block of code by indenting the first line of code the way you want the entire
block to look, then highlighting the rest of the block and starting the auto indent.
This prevents the Editor from breaking the conventions of a pre-existing block.
Configuring Indents
You can configure the default size of indents and how they affect your code.
• To change the configuration of indents for all files, select Config → Options
and make changes on the MULTI Editor tab (see “The MULTI Editor Options
Tab” on page 220).
• To change the size of indents for the current file and current session only, use
the Per File Settings dialog box. See “The Per File Settings Dialog Box”
on page 300 for more information.
Auto-Indent Characters
By default, the Editor automatically makes indenting adjustments when you type
the following characters:
# number sign
* asterisk, if it is the first character of a C comment line
- hyphen, if it is the first character of a C comment line and if C chars
aligned like '*' in comments is set to - (the default)
; semi-colon
: colon
{ left curly brace
} right curly brace
You can disable characters from auto indenting both your code and comments by
disabling Auto indent as you type. If you want special characters to auto indent
your code, but want to disable them if you use them within a comment, disable
Auto indent comments as you type. See “The MULTI Editor Options Tab”
on page 220.
• To insert a new comment, place the cursor on a blank line where you want the
comment to start and select Block → Comment.
• To comment out existing code, select the appropriate text, then select Block
→ Comment. The selection is implicitly extended to line boundaries; the entire
line the selected text is in will be commented out.
• To wrap the current comment, select Block → Wrap Comment.
• To uncomment a comment block, highlight the block and select Block →
UnComment.
For more information about working with comments, see “The Block Menu”
on page 285.
For information about configuring comments, see “The MULTI Editor Options
Tab” on page 220.
Note
If the Editor is not using the correct syntax for comments, select View
→ Language to make sure it is configured for the correct language.
1. Searches backward from the cursor and finds the first enclosing instance of a
left parenthesis “(”, left curly brace “{” , or a left bracket “[”.
2. Searches forward from the cursor to find the matching ending mark.
3. Selects the code in between.
1. On the first line that contains data you want to copy, start the selection at the
first character you want copy.
2. Extend the selection to include all of the data in the column. The last character
selected should be the last character of the column.
3. Select Block → Rect Copy.
4. The region of text to be copied is the rectangle with the diagonal defined by
the first character and the last character of the selection.
When you paste the contents of the clipboard, the following is inserted in your file:
09:21a
09:22a
09:23a
09:36a
09:23a
09:33a
• Select Block → Rect Paste to paste the column without inserting line breaks.
• Select Edit → Paste to paste the contents of the clipboard into the file with
line breaks.
Merging Files
You can use the Editor to merge two or three files into a single file. The initial files
can be completely different files, or different versions of the same file.
To begin merging files, select Tools → Merge Files to open the Choose files to
merge dialog box.
The Choose files to merge dialog box contains the following fields and buttons:
File 1 Type the name of the first file you want to merge, or click (Browse) to
select a file.
If you are using a version control system and want to merge a different
version of a file from disk, enter the filename in the File 1 field and the
version of that file to be merged in the adjacent Version field.
File 2 Type the name of the second file you want to merge, or click to select a
file.
If you specify the same file in the File 1 and File 2 fields without specifying
a version, then File 1 refers to the copy currently open in the Editor, while
File 2 refers to the file on disk.
Base Type the name of the file from which the other two files, File 1 and File 2,
are derived, or click to select a file. If you are only merging two files,
leave this field blank.
Automatic three Select this box if you want the Editor to attempt to resolve three-file merges
file merge without prompting you. Note that even with this option selected, the Editor
prompts you if it encounters a conflict that it cannot resolve.
Clear this box if you want to manually review every proposed merge.
Merge Click Merge to begin the merge. The two-file Merge dialog box will open,
or, if you specified a file in the Base field, the three-file Merge dialog box
will open. See “Merging Two Files” on page 94 or “Merging Three Files”
on page 96.
1. Select merge criteria in the Choose files to merge dialog box (see “Merging
Files” on page 93) and click Merge. An Editor window appears for each of
the two files you specified, as well as an extra Result window that displays
results of the merge. The Status box in the lower left corner of each window
identifies which file is in each window.
In addition to the Editor windows, the two-file Merge dialog box will open:
The Editor will pause at each difference between the files and highlight the
text that is different.
2. Use the following buttons in the two-file Merge dialog box to control the
merge results:
File 1 Copies the selected text from File 1 into the Result window.
File 2 Copies the selected text from File 2 into the Result window.
Both The first time you click this button, the dialog box Configure change
bars for this merge session appears (see “Configure Change Bars for
This Merge Session” on page 98). The next time you click this button,
the last values entered are used.
Skip Finds the next difference without adding the current difference to the
file.
Custom Merge Performs the same action as the Both button, except that you can
Both modify the changes in a temporary window before merging them into
the new file.
Help Opens MULTI's online help for the Merge dialog box.
Change Bars Changes the settings for the Both button. When you click this button,
it opens the same dialog box that appears the first time you click the
Both button (see “Configure Change Bars for This Merge Session”
on page 98).
Cancel Aborts the merge, closing all merge windows.
The results of each merge selection will be copied to the Result window. You
can also manually cut and paste text into the Result window.
3. When the merge is complete, a Save dialog box opens so you can save the
Result file.
After you save the results, the other Editor windows close. If you save the
Result file with the same name as one of the original files, any Editor windows
still open on that file will be updated with the merged results.
• If a difference exists between the two source files, and one is the same as the
Base file, then the Editor uses the one that is different from the Base file.
• If both source files differ from the Base file, but are the same as each other,
then the Editor uses the new text from either source file.
• If all three files are different, a conflicting change was made and the Editor has
to ask which change to use. In this case, it is likely that you will have to merge
the change manually.
1. Select merge criteria in the Choose files to merge dialog box (see “Merging
Files” on page 93) and click Merge. An Editor window appears for each of
the three files you specified, as well as an extra Result window that displays
results of the merge. The Status box in the lower left corner of each window
identifies which file is in each window.
In addition to the Editor windows, the three-file Merge dialog box will open.
The Editor will pause at each difference between the files and highlight the
text that is different.
2. Use the following buttons in the three-file Merge dialog box to control the
merge results:
Button Meaning
File 1 Copies the selected text from File 1 into the Result window.
File 2 Copies the selected text from File 2 into the Result window.
All Copies the selected text from all three files. The first time you click
this, the dialog box Configure change bars for this merge session
appears (see “Configure Change Bars for This Merge Session”
on page 98). The next time you click this button, the last values entered
will be used.
1&2 Merges the selections from File 1 and File 2.
The first time you click this, the dialog box Configure change bars
for this merge session appears (see “Configure Change Bars for This
Merge Session” on page 98). The next time you click this button, the
last values entered will be used.
1 & Base Functions the same as the 1 & 2 button, except it merges the selections
from File 1 and the Base file.
2 & Base Functions the same as the 1 & 2 button, except it merges the selections
from File 2 and the Base file.
Skip Finds the next difference without adding the current difference to the
results file.
Custom Merge Performs the same action as the 1 & 2 button, except that you can
1&2 modify the changes in a temporary file before merging them into the
new file.
Help Opens MULTI's online help for the Merge dialog box.
Change Bars Changes the settings for the 1 & 2, 1 & Base, 2 & Base, and All
buttons. This button opens the same dialog box that appears the first
time you click any of those buttons (see “Configure Change Bars for
This Merge Session” on page 98).
Cancel Aborts the merge, closing all merge windows.
This dialog box is accessible from the Merge dialog box (see “Merging Two Files”
on page 94 or “Merging Three Files” on page 96).
Comparing Files
You can compare files without merging them. To compare two files, do the
following:
1. Select Tools → Diff Files. The Choose two files dialog box will open:
2. In the Left field, specify the filename and version of the first file you want to
compare. Click the up or down arrows to increment or decrement the version
number. If you do not specify a version, the Editor assumes you mean the
current version.
3. In the Right field, specify the filename and version you want to compare to
the first file. Click the up or down arrows to increment or decrement the version
number. If you do not specify a version, the Editor assumes you mean the
current version.
4. Click Diff.
The Editor opens a Diff Viewer that shows the differences between the two specified
versions. For more information, see “The Diff Viewer” on page 119.
Contents
Configuring Version Control in MULTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Integrating with ClearCase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Integrating with CVS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Integrating with SourceSafe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Integrating with Subversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Chapter 5. Integrating MULTI with a Version Control System
You can integrate the MULTI IDE with the ClearCase, CVS, SourceSafe, or
Subversion version control system. This chapter describes general procedures for
enabling and configuring a version control system with MULTI. It also provides
specific instructions regarding each of the supported version control systems.
Note
You may need to restart any Editors that you have open before the version
control configuration changes take effect.
If it is necessary to work with two different views, set a view, start the Editor, and
then set the next view and start another Editor.
• The Checkout Browser is supported with CVS. For more information, see
“The Checkout Browser” on page 112.
• The History Browser is supported with CVS. For more information, see “The
History Browser” on page 118.
If you use SourceSafe, the program ss.exe should exist in your path. If it does not,
or if your SourceSafe program uses a filename other than ss.exe, set the path to the
SourceSafe executable by following the steps in “Configuring Version Control in
MULTI” on page 102. The default location used is C:\Program Files\Microsoft
Visual Studio\VSS\win32\ss.exe.
One advantage of this integration is that several different databases can be used
simultaneously. The user can edit files from two different databases at the same
time. The integration requires some setup steps to indicate what database is being
used.
A working directory is defined. This should be defined using the Visual SourceSafe
Explorer, which comes with the installation of VSS.
The directory structure in the working directory mirrors the directory structure of
the database. For example: If there is a database with the following structure:
$/
|_hello
|_hello.c
and if the working directory of $/ is C:\ssafedir, then the working directory of the
hello project is assumed to be C:\ssafedir\hello.
Most of the version control operations (such as Check Out, Place Under VC)
assume read/write access permissions. However, you can view files read only.
Ask your administrator for the location or determine the location by using
the Open SourceSafe Database option in the Visual SourceSafe
Explorer. This is a one time setup step required for each database
checkout you want to use the version control integration with.
The History Browser precedes each additional filename with a letter indicating
the action that was taken when the file was committed. Possible letters and
their meanings follow.
○ A — The file was added to the repository.
○ D — The file was deleted from the repository.
○ M — The file in the repository was modified.
Contents
Using Version Control with the Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
The Checkout Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
The Commit Changes Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
The History Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
The Diff Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Chapter 6. Using MULTI's Version Control Tools and Capabilities
The MULTI Editor provides access to common version control operations, such as
checking files in and out and viewing version history. Additionally, the MULTI
IDE includes three graphical tools dedicated to displaying information about files
under version control:
Note
The term repository is used throughout this chapter to mean the central
store of version control information for the version control system in use.
Different version control systems may use different terms, for example,
in SourceSafe the repository is called a database.
Automatic Checkout
If you enable the Automatic Checkout option, the MULTI Editor will automatically
check out a file when you start editing it. In most version control systems, files that
have not been checked out are read-only, which prevents you from making changes
to them. CVS and Subversion are exceptions to this rule because they allow multiple
users to edit the same file simultaneously and then they attempt to merge the changes.
To configure the Editor to automatically check out files when you modify them:
1. In the Editor, select the Config → Options. In the Project Manager, select
Tools → Options.
2. Select the General tab.
3. Click the Configure Version Control button and check the Automatic
Checkout option if available (see “Version Control Configuration Options”
on page 184). This box may not be available for certain version control systems.
For example, in CVS a file is always checked out so there is no option to enable
or disable Automatic Checkout.
Note
To control Automatic Checkout on a per-file basis, select Version →
Auto Checkout in the Editor.
1. In the Editor, select the portion of the file you want to examine.
2. Select Version → Show Last Edit.
This finds the last version of the current file in which the selected text changed
(or the entire file, if no text is selected) and displays the difference in the Diff
Viewer. For information about the Diff Viewer, see “The Diff Viewer”
on page 119. If the selection has never changed, a dialog stating this will be
displayed.
This command is only available if the file is under a version control system
(such as CVS, ClearCase, SourceSafe, and Subversion) that supports this
feature. This command is also available if the file has been locally modified,
in which case the Diff Viewer will display the difference between the local
file and the repository version of the file.
Note
Show Last Edit does not detect deletions. Because lines that were deleted
in past versions cannot be selected, the Show Last Edit menu item does
not show deletions as the most recent change.
• To select the version to revert to from a list of all versions of the file:
1. Select Version → Revert to History.
2. A History Browser will open. You can right-click a version in the browser
window and select Revert to Version (see “The History Browser”
on page 118).
• To revert to a version checked in on a specific date:
1. Select Version → Revert to Date.
2. A dialog box will open where you can enter the date of the appropriate
version.
• To revert to a specific version number:
1. Select Version → Revert to Version.
2. A dialog box will open where you can enter the appropriate version
number.
To open the CVS Checkout Editor, select File → CVS Checkout Editor from
the Checkout Browser.
The CVS Checkout Editor has two modes of operation, one for creating a new
checkout and one for modifying an existing checkout.
• Revert to Tag — Select the check box, then enter the tag of the checkout
to revert to in the text field. (Selecting this check box clears the Revert
to HEAD radio button.)
• Revert to Date — Select the check box, then enter the date of the checkout
to revert to in the text field. CVS supports many different date formats.
Example date formats are 2006-09-24 and 24 Sep 2006. (Selecting
this check box clears the Revert to HEAD radio button.)
Note
If you specify both a tag and a date, CVS sets the sticky tag. It
also sets the version back to the specified date in that tagged
branch, but does not set the sticky date.
Scanning a Checkout
Scanning loads the information about an existing checkout or part of a checkout
into the Checkout Browser. To scan a preexisting checkout:
1. Set the Roots field. The Roots field indicates what directories will be scanned
and displayed in the browser. You can use any of the following methods to
select what will be displayed:
• Enter a directory in Roots. When using CVS or Subversion, it is possible
to supply a comma-separated list of directories.
• Use the Roots drop-down list to select from directories that have
previously been displayed in the Checkout Browser.
• Click to browse for the correct folder.
2. Press Enter after entering or selecting a directory in the Roots field, or select
File → Full Rescan.
3. The Checkout Browser will scan the selected directories and display the
results of the scan.
Note
If one checkout contains another, and you scan the containing checkout,
the Checkout Browser only displays results for the containing checkout.
To display results for the contained checkout, you must scan it directly.
• Updating the entire checkout (or a subdirectory) automatically uses the -Pd
option to pull in new directories from the repository and prune empty directories
from the checkout.
• Directories that have been added to the repository do not display after a Rescan
although they will be displayed after an Update. This is because the Checkout
Browser cannot determine whether the new directories are empty, and will be
pruned with the next update.
The Commit Changes dialog box opens when you try to commit one or more files
via the Checkout Browser or the MULTI Editor. To commit files, do one of the
following:
When the Commit Changes dialog box initially opens, the bottom pane contains
a list of files to commit. Depending on the specifics of your version control system
and its configuration, the text field at the top of the dialog box may contain a template
for a commit message. Simply enter a commit message and click the Commit button
to commit the selected files. If the commit operation fails, the dialog box is not
dismissed, giving you the opportunity to address whatever issue caused the failure
without losing your commit message.
For information about the menu entries and buttons in the Commit Changes dialog
box, see “The Commit Changes Dialog Box” on page 313.
me -hb sample.cc
Tip
To view version changes that occurred after the History Browser was
opened, select File → Refresh History.
For information about menu entries in the History Browser, see “History Browser
Menus” on page 314. For information about other components of the window, see
“The History Browser Window” on page 315.
• MULTI automatically opens the Diff Viewer whenever you choose to compare
two file versions in the History Browser or Checkout Browser (see “The
History Browser” on page 118 and “The Checkout Browser” on page 112).
• The Diff Viewer is a stand-alone tool that you can open from the command
line with one of the following executables:
○ Windows — diffview.exe
○ Linux/Solaris — diffview
For required and optional command line options, see “Starting the Diff Viewer
from the Command Line” on page 120.
• In the Debugger command pane, enter the diff command.
• In the Editor, select Tools → Diff Files (see “The Tools Menu” on page 287).
The Choose two files dialog box opens:
Select filenames and versions to compare, then click Diff. The Diff Viewer
opens on the specified files or file versions. For more information, see “Using
the Diff Viewer” on page 123.
If you specify only a single file without any options (that is, diffview file), and the
file is under CVS or Subversion, the local version of the file is diffed against the
repository version to show you local changes.
Note
In this table, the term whitespace refers to space and tab characters. It
does not refer to newline characters.
-add
Adds the files or file versions to the pane in the lower-left corner of the existing Diff Viewer,
but does not display them. If a Diff Viewer is not already open, this option opens one and
displays the diff.
-b
Ignores differences in the amounts of whitespace when displaying differences. For more
information, see the description of Ignore Whitespace Amount in “Diff Viewer Menus”
on page 316.
See also -lang=c and -w.
-h, --help (Linux/Solaris only)
Displays information about diffview command options.
-i
Ignores differences in case.
-ignore_hex_numbers
Ignores differences in hexadecimal numbers.
-ignore_numbers
Ignores differences in decimal numbers.
-intraline
Displays differences within lines.
See also -nointraline.
-intraline_lineup
Displays differences within lines column by column, not allowing insertions or deletions.
See also -nointraline_lineup.
-intraline_tokens
Displays differences within lines word by word (default).
See also -nointraline_tokens.
-lang=c
Ignores whitespace using heuristic C tokenization. For more information, see the description
of Ignore Whitespace for C in “Diff Viewer Menus” on page 316.
See also -b and -w.
-local
Diffs a list of files against their local versions.
-new, -noreuse
Opens a new Diff Viewer window.
See also -reuse.
-nointraline
Does not display differences within lines.
See also -intraline.
-nointraline_lineup
Displays differences within lines, allowing insertions or deletions (default).
See also -intraline_lineup.
-nointraline_tokens
Displays differences within lines character by character.
See also -intraline_tokens.
-reuse
Reuses an existing Diff Viewer (default). If no Diff Viewer is running, a new one opens.
See also -new, -noreuse.
-w
Ignores all whitespace. For more information, see the description of Ignore All Whitespace in
“Diff Viewer Menus” on page 316.
See also -b and -lang=c.
• The main panes of the Diff Viewer display the pair of files or file versions that
are being compared. Differences are highlighted in the control area color, while
the current selection is highlighted in the highlight color.
• The status bar displays the current diff number and total number of diffs.
• The pane in the lower-right corner displays the version control comments
associated with the file displayed in the right-hand pane. This pane is not present
if you are displaying local changes or if the file is not under version control.
• The pane in the lower-left corner contains a list of all the file or file-version
pairs currently available for diffing in the Diff Viewer. The columns in this
pane display the following information (from left to right):
○ The first column displays a blue dot next to the current file or file-version
pair. The Reload ( ) button can be used to reload the current diff from
the files on disk.
○ The second column shows the file that is displayed in the left pane when
the row is selected, and the third column shows the version of that file. If
the file is on disk, this field displays disk; if the file has been locally
Right-click in the lower-left pane to access a shortcut menu that contains the
following operations:
○ Show Diff — Displays the highlighted diff view in the main panes of the
Diff Viewer. The blue dot appears next to the file/file-version pair you
selected.
○ Remove Diff — Removes the highlighted diff view from the pane in the
lower-left corner, and from the main panes of the Diff Viewer, if it is
currently displayed.
• The button and the minus (-) keyboard key jump back to the previous
difference between the two displayed files/file versions.
• The button and the plus (+) keyboard key jump down to the next difference.
• The button jumps to the first difference.
• The button jumps to the last difference.
• The button and the asterisk (*) keyboard key reposition the pane to display
the current difference (this is useful if you lose your place while scrolling).
• Ctrl+F and Ctrl+B incrementally search forward or backward through the
displayed files/file versions (see “Incremental Searching” on page 83). If there
is no current selection, the Diff Viewer begins its search at the top left corner
of the visible pane.
• Ctrl+G goes to a line number (see “Go To a Line Quickly” on page 82).
• The Diff Viewer cannot open files larger than 2 GB in size, and it may not be
able to open large files that are smaller than 2 GB.
• For files with large continuous differences, the Diff Viewer may show multiple
smaller differences.
Contents
Setting Configuration Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Creating Custom Functionality Using Scripts and Macros . . . . . . . . . . . . . . . 140
Customizing the GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Configuring and Customizing Toolbar Buttons . . . . . . . . . . . . . . . . . . . . . . . . . 144
Configuring and Customizing Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Customizing Keys and Mouse Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Configuring Taskbar Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Configuring Window Docking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Configuring Window Focus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Configuring the Editor for a Programming Language . . . . . . . . . . . . . . . . . . . 163
Configuring Editor Auto-Complete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Configuring File Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Configuring File Associations (Windows only) . . . . . . . . . . . . . . . . . . . . . . . . 172
Linking to a Different Compiler and Probe Installation . . . . . . . . . . . . . . . . . . 173
Installing a Patch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Chapter 7. Configuring and Customizing MULTI
This chapter explains how you can configure and customize the MULTI environment
to suit your specific needs and preferences. It includes information about:
• Setting configuration options that affect how various components of the MULTI
IDE function (see “Setting Configuration Options” on page 130).
• Using scripts and/or macros to automate tasks and create custom functionality
(see “Creating Custom Functionality Using Scripts and Macros” on page 140).
• Customizing the appearance and behavior of MULTI's graphical components
(see “Customizing the GUI” on page 142).
The Options window opens, allowing you to edit the values of most of the
configuration options that affect MULTI. For information about each configuration
option and its available settings, see Chapter 8, “Configuration Options” on page 175.
By default, any changes you make in the Options window are remembered across
MULTI sessions. If you want changes to affect only the current MULTI session,
clear the check box labeled Save configuration as user default (located in the
bottom-left corner of the Options window).
with the configure command are automatically reflected in the Options window
the next time it is opened.
The configure command may take any of the following forms. Note that you should
not use this command while the Options window is open.
• configure config_option=value
• configure config_option: value
• configure config_option value
where config_option identifies which option you are setting and value is an
appropriate setting for that option. For example:
> configure tabsize=9
> configure moon: On
> configure linenumbermode: Both
> configure prompt "Your wish is my command> "
• configure config_option
to toggle the Boolean value. MULTI indicates the new value. For example:
> configure closebuttonontitlebar
Toggling closebuttonontitlebar: new value is Off
• configure ?
For a complete description of every configuration option and the available settings
for each, see Chapter 8, “Configuration Options” on page 175.
By default, changes you make to configuration settings via the configure command
only affect the current MULTI session. For information about saving configuration
modifications, see the next section.
Configuration settings modified from the Options window are saved to the user
configuration file by default. For more information, see “Using the Options Window”
on page 130.
For more information about the user configuration file, see “The User Configuration
File” on page 136.
• Windows — ide_install_dir\config\ghs.cfg
• Linux/Solaris — ide_install_dir/config/ghs.cfg
For more information about the global configuration file, see “The Global
Configuration File” on page 135.
To save your current settings to an application-specific override file so that the user
configuration file is overridden for a particular MULTI application, follow the
preceding steps, but save the file as:
• Windows XP — user_dir\Application
Data\GHS\v7\override\application_name.cfg
• Linux/Solaris — user_dir/.ghs/v7/override/application_name.cfg
A limited number of configuration options do not follow this general rule. Changing
the setting of one of these options causes all MULTI applications opened during
the current session to be notified of the change—whether or not you saved the
configuration as the default. These options are noted where applicable.
To be sure that a new option setting takes effect in all MULTI applications, save
the configuration as the default and close and restart the MULTI IDE.
• Global configuration file (see “The Global Configuration File” on page 135)
• User configuration file (see “The User Configuration File” on page 136)
• Application-specific configuration override files (see “Application-Specific
Configuration Override Files” on page 136)
• Command line configuration file (see “The Command Line Configuration File”
on page 137)
If conflicting settings exist among these configuration files, the order in which the
files are loaded determines which settings take effect. For more information, see
“Loading Configuration Files” on page 138.
For information about the format of configuration files, see “Configuration File
Format” on page 137.
• Windows — ide_install_dir\config\ghs.cfg
• Linux/Solaris — ide_install_dir/config/ghs.cfg
The global configuration file can be overridden on a per-application basis. For more
information, see “Application-Specific Configuration Override Files” on page 136.
The user configuration file can be overridden on a per-application basis. For more
information, see “Application-Specific Configuration Override Files” on page 136.
To override the global configuration file for a particular MULTI application, create
a configuration file located in:
• Windows — ide_install_dir\config\override
• Linux/Solaris — ide_install_dir/config/override
• Begin with a pound sign (#) as the first non-whitespace character and contain
a comment (these lines are ignored)
• Be in the format
config_option:value
where config_option identifies which option you are setting and value is
an appropriate setting for that option. Appropriate values for config_option
and value are the same as those used with the configure command (see “Using
the configure Command” on page 130), but you do not need to include the
configure command in .cfg files.
LineNumberMode: Both
Prompt: "> "
# The following blank line is ignored as well:
AlwaysUseMeToFixBuildErrors: Off
1. Global configuration file (If a global configuration override file exists for a
particular application, the application loads it instead of the global configuration
file. See “The Global Configuration File” on page 135 and “Application-Specific
Configuration Override Files” on page 136.)
2. User configuration file (If a user configuration override file exists for a
particular application, the application loads it instead of the user configuration
file. See “The User Configuration File” on page 136 and “Application-Specific
Configuration Override Files” on page 136.)
3. The configuration file, if any, specified on the command line with the
-configure option (See “The Command Line Configuration File” on page 137.)
If conflicting settings exist among these configuration files, the settings in the last
file loaded override settings specified in previously loaded files.
Note
If you start the MULTI Editor from the MULTI Debugger, the Editor
inherits the settings that were initialized when the Debugger was started.
As a result, any configuration override files that exist to overwrite settings
for the Editor will not take effect.
Script files can also affect configuration options. For more information, see “Using
Script Files” on page 140.
Future sessions will use MULTI's default settings unless you create a new user
configuration file or a user configuration override file (operates on a per-application
basis) or specify another configuration file for the session. For more information
about the user configuration file, see “The User Configuration File” on page 136.
Scripts are powerful tools for automating both common tasks and regression testing.
A script file could, for example, compare a program variable to a constant value
and then perform some action based on that result. Scripts are also useful for
configuring your target board. You could also write a command script that executes
parts of your program and then checks to see whether the process is running
correctly. Such a script would be useful for verifying that the process still runs as
expected after you make changes. For complete details on how to write, use, and
debug scripts, see Chapter 1, “Using MULTI Scripts” in the MULTI: Scripting
book.
The following table provides additional details about these script files.
• multi.irc — This file is useful for commands that need to run once as soon as a single user
starts the Debugger. The user is not required to open any programs.
• multi.prc — This file is useful for commands that need to run every time a single user
opens a new program in the Debugger. For example, this script may create new Debugger
toolbar buttons or set configuration options that are not saved across reloads or debugging
sessions.
• multi.rc — This file is useful for commands that need to run once when a single user opens
the first executable in the Debugger.
• Windows — ide_install_dir\config\multi.rc
• Linux/Solaris — ide_install_dir/config/multi.rc
This file is useful for commands that need to run once when any person in a user group opens
the first executable in the Debugger.
Command line script file
You can specify a script file from the command line with the -rc option (see Appendix C,
“Command Line Reference” in the MULTI: Debugging book). For example:
multi my_prog -rc my_script
This file is useful for commands that need to run once when the user opens the first executable
in the Debugger.
• Windows — executable_dir\executable_name.rc
• Linux/Solaris — executable_dir/executable_name.rc
The program script file is executed every time the corresponding program is loaded into a
Debugger window (that is, with every new Debugger window opened on the program, or with
every program reload in the current Debugger, but not with every process restart).
If you load a new program into an existing Debugger window, MULTI will automatically execute
the commands in the script file of the new program (if any), but it does not clean up the effects
of the script file of the old program (if any).
For more information about writing scripts to include in your startup files, see
Chapter 1, “Using MULTI Scripts” in the MULTI: Scripting book.
You can define customized GUI elements using the following methods:
have MULTI load that file. For more information about these and other files that
MULTI uses at startup, see “Creating and Editing Configuration Files” on page 135
and “Using Script Files” on page 140.
Debugger buttons
• Debugger command pane — To customize buttons within the current MULTI session, use
the debugbutton command. For information about the debugbutton command, see
“Configuring and Customizing Toolbar Buttons” on page 144.
• GUI — To customize buttons across MULTI sessions, select Config → Customize Toolbar
from the Debugger menu bar. For information about how to use the window that appears,
see “Adding, Removing, and Rearranging Toolbar Buttons” in Appendix A, “Debugger
GUI Reference” in the MULTI: Debugging book.
Editor buttons
• Debugger command pane — Use the editbutton command (see “Configuring and
Customizing Toolbar Buttons” on page 144).
• GUI — Select Config → Options+MULTI Editor+Configure Editor Buttons (see “The
MULTI Editor Options Tab” on page 220)
GUI menus
• Debugger command pane — Use the menu command (see “Configuring and Customizing
Menus” on page 147).
• GUI — Select Config → Customize Menus.
Keyboard shortcuts
• Debugger command pane — Use the keybind command (see “Customizing Keys and
Mouse Behavior” on page 152).
• GUI — Select Config → Options+General+Keys (see “The General Options Tab”
on page 177).
Mouse actions
• Debugger command pane — Use the mouse command (see “Customizing Keys and Mouse
Behavior” on page 152).
• GUI — Select Config → Options+General+Mouse (see “The General Options Tab”
on page 177).
GUI only
This command creates a button named printxy that, when clicked, prints out
the values of the variables x and y in the current context.
• iconname is the name of the button's icon, which may be:
○ A built-in icon. To obtain the names of built-in icons and to see what the
icons look like, select Config → Options → MULTI Editor → Configure
Editor Buttons or, from the Debugger, select Config → Customize
Toolbar → Add Custom Button ( ).
○ The filename of an icon you have created yourself. If only a partial path
is given, it is assumed to be relative to the MULTI IDE installation
directory. For information about creating icons, see “Creating and Working
with Icons” in Chapter 7, “Configuring and Customizing MULTI” in the
MULTI: Managing Projects and Configuring the IDE book.
• helpstring is the text that appears in the status bar when the cursor moves
over the button.
• tooltip is the text that appears when the cursor hovers over the button. If
you do not specify a tooltip, the name of the button is used.
You cannot save debugbutton changes across MULTI sessions. As a result, this
command is generally only useful for the creation or modification of buttons executed
by scripts. For information about how to change the Debugger toolbar permanently,
see “Adding, Removing, and Rearranging Toolbar Buttons” in Appendix A,
“Debugger GUI Reference” in the MULTI: Debugging book.
Note
The debugbutton command does not affect customizations you make
through the Customize Toolbar window. For information about this
window, see “Adding, Removing, and Rearranging Toolbar Buttons” in
Appendix A, “Debugger GUI Reference” in the MULTI: Debugging
book.
• The built-in icons in MULTI are 16 pixels wide by 16 pixels tall, so your
buttons will look best if you also use this size for your custom bitmaps.
• By default, the color light gray in your custom icons will become transparent.
On Linux/Solaris, you can specify color translations for your custom icon by
appending a string of the form
"oldcolor1=newcolor1&oldcolor2=newcolor2" with a question mark to the
end of your bitmap filename. For example:
> debugbutton Hello c="echo hello" \
continued> i="/home/user/hello.bmp?black=fg&dkgray=shadow&white=highlight" \
continued> h="Say hello"
The above example would replace black pixels in hello.bmp with the current
foreground color, dark gray pixels with the current shadow color, and white pixels
with the current highlight color. You can use the following values for oldcolor
and newcolor.
The Customize Menus window allows you to add new menus to the end of the
menu bar; add new submenus and menu items to the end of existing menus; and
remove menus, submenus, and menu items that you have added.
After you have opened the Customize Menus window, you can add a new menu
to the end of a tool's menu bar:
1. Select the menu bar you want to add the menu to: the DebuggerMenuBar,
EditorMenuBar, or ProjectManagerMenuBar.
2. Click Add Sub Menu.
3. Enter a menu name in the Label text field.
The label local config appears to the right of menus, submenus, or menu items you
added locally. The label site config appears to the right of menus, submenus, or
menu items that result from changes saved to a site-wide configuration directory.
Menus, submenus, and menu items that you add through the Customize Menus
window are saved by default. To delete them, open the Customize Menus window,
select the desired item, and click Remove.
The Customize Menus window does not allow you to rename default menus or
menu items, nor does it allow you to change the command associated with a default
menu item.
In addition to using the Customize Menus window, you can also configure menus
by using the following methods:
Note
Menu names are case-sensitive.
You can view and manipulate menus with the menu command.
menu
Prints a list of all the currently defined menus.
menu name
Prints the body of the menu named name. To view menu names, enter menu.
menu name { { label cmd } ... }
Defines a menu that can be inserted into a menu bar or displayed by a MULTI button, mouse
button, or key binding. The arguments in this command have the following meanings:
name is the menu name that appears on the menu bar or at the top of the menu when it is opened.
label is an entry in the menu.
cmd is a command that executes when the associated label is selected.
Menus can contain other menus by using the -> command. For example, the menu Main defined
below contains RunCmds as a submenu:
menu Main {{RunCmds -> RunCmds}{Up {E 1}}{Down {E -1}}{ToPC E}}
Note: To replace an existing menu, define a new menu with the same name.
To create a menu:
1. Enter the command menu followed by the name for the menu.
2. Create menu items by entering a label and an associated command enclosed
in curly braces {}.
• If one of the characters in a menu label is preceded with an ampersand
(&), that character becomes a hotkey and will be underlined when the menu
is displayed. The user can type that character to execute the associated
command just as if they had clicked the label.
• The cmd portion can contain its own subset of curly braces for commands
that require them (such as if), but they must be paired correctly.
• If cmd is a single command and that command is associated with a key
binding, that key binding will be displayed to the right of label when
the menu is displayed.
3. Enclose the entire body of the menu in curly braces {}.
-> name
Opens a menu named name. For example, to open the Main menu from the Debugger command
pane, enter:
-> Main
This command is most useful when used in conjunction with the menu command to define your
own menus. For information about the menu command, see “Configuring and Customizing
Menus” on page 147.
You cannot save debugbutton changes across MULTI sessions. As a result, this command is
generally only useful for the creation or modification of buttons executed by scripts.
mouse button_num*Clickclick_num[(AtOnce)][|modifiers]@location=->menu
Binds a menu to a mouse click. The keyword Click may be replaced by Press or Either.
The following example command displays the RunCmds menu when the third mouse button
is clicked:
mouse mouse3*Press1@All=->RunCmds
For more information about binding mouse clicks to commands, see “Customizing Mouse
Behavior with the mouse Command” on page 154.
• Select Config → Options to open the Options window. Click the General
tab, then click the Keys button to open the Keyboard Commands dialog box,
or click the Mouse button to open the Mouse Commands dialog box. Make
appropriate changes.
• In the Debugger command pane, enter the keybind or mouse command with
appropriate options. For information about these commands, see the following
sections.
keybind location
Entering this command with no arguments (the first command shown) displays key
bindings that apply in all contexts (location specified as All). For information
about location, see “Key and Mouse Locations” on page 156.
Entering the second command displays the current key bindings for a particular
location. See “Key and Mouse Locations” on page 156.
The third command assigns an action to take when a key is pressed in the specified
context. The arguments for this command have the following meanings:
• key is an identifier that specifies the keyboard key for which binding is active.
This identifier may be either a single ASCII (or ISO8859) character or a quoted
string containing the name of one of the keys on the keyboard, such as
“BACKSPACE” or “F3.” Characters needing more than one key press (besides
the Shift, Ctrl, Alt, and Meta keys) cannot be used.
○ To obtain a list of all of the acceptable key names, type keybind "????".
○ The BACKSPACE key is different from h|Control even though their ASCII
representations are the same.
○ To specify the double quotation mark key, use a sequence of three double
quotation marks in a row (""").
• modifiers are other keys (Shift, Ctrl, Alt, and Meta) that may be used in
combination with key. If a modifier is specified, the command runs only if
that modifier is pressed at the same time as key. If more than one modifier is
specified, they should be separated from each other and from key by vertical
bars (|).
• location is the area of the window the cursor must be in for the key binding
to be matched. If location is omitted, the default is Command. For more
information, see “Key and Mouse Locations” on page 156.
• command is the command that will be executed upon the key press. For more
information, see “Key and Mouse Command Special Sequences” on page 157.
When a key is pressed in a window, MULTI searches for key bindings that match.
There may be more than one, in which case MULTI chooses the one whose location
is the most specific. If there are still several, then MULTI chooses one arbitrarily.
With this command, MULTI evaluates and prints the selection when the first function
key (F1) is pressed in the source pane or command pane:
With this command, the Debugger opens a Data Explorer that displays the current
selection when the key combination Ctrl+F1 is pressed:
With these commands, the MULTI Editor scrolls up and down by pages when
Ctrl+UpArrow and Ctrl+DownArrow are pressed:
With this command, MULTI single-steps the process when Ctrl+S is pressed in
the source pane or command pane:
> keybind "s"|Control@Command=S
mouse location
This command defines the function of a mouse button or displays mouse bindings,
depending on the options given.
Entering this command with no arguments (the first command shown) displays all
current mouse bindings.
Entering the second command displays the current mouse bindings for a particular
location. For information about location, see “Key and Mouse Locations”
on page 156.
The third command assigns an action to a mouse button click. Note that the command
arguments should not be separated by spaces. The arguments for this command
have the following meanings:
• The keyword Click may be replaced by Press, which executes the command
on the button press rather than the release, or by Either, which executes the
command on both the press and release. A binding that contains *Either1 is
executed twice, once for the press of the mouse button, and once for the release.
• click_num specifies the number of times the mouse button must be released
before the command is executed. This may be a number between 1 and 5. A
binding that contains *Click3 would be executed upon the release of the
specified button on a triple click. If the *Clickclick_num option is omitted,
the binding matches the first release of the specified mouse button.
• The keyword (AtOnce) causes the command assigned to execute immediately
rather than pausing to see if it is part of a click sequence. A binding that contains
*Press2 is executed only after the second press of a mouse button in a
double-click, while *Press2(AtOnce) would be executed for the second
mouse button press in a double-click, triple-click, quadruple-click, etc. This is
acceptable behavior for many options, such as the standard selection clicks:
one click sets the insertion point, two clicks selects the current word, three the
line, and so forth. If (AtOnce) is not used, there is a slight delay when invoking
single-click commands. This delay is specified by the clickPause configuration
option.
• modifiers are other keys that must be held down at the same time the button
is clicked. Valid modifiers are Shift and Ctrl (plus Meta for Linux/Solaris).
Modifiers are preceded by a vertical bar (|), which separates them from each
other and from the previous arguments. If more than one modifier is specified,
all of the modifiers listed must be pressed simultaneously with the mouse click
for the binding to be matched.
• location indicates the place within MULTI's windows the mouse must be
for the binding to be matched. If location is omitted, the default is Source.
For more information, see “Key and Mouse Locations” on page 156.
• command is the MULTI command that will be executed when the binding is
matched. For more information, see “Key and Mouse Command Special
Sequences” on page 157.
When the mouse is clicked in a window, MULTI searches its list of mouse actions
for a matching binding. If there is more than one that might match the event, then
MULTI uses the one whose location is the most specific. If there are multiple
bindings that match the most specific location, then MULTI chooses the one which
is bound to the fewest number of different mouse buttons. If there are still several
bindings, then MULTI chooses one of the bindings arbitrarily.
With this binding, the Debugger evaluates and prints the selection when you click
the left mouse button once in the source pane.
Mouse1*Click1@OutputWindow=completeselection;echo "%s";examine %s
With this binding, the Debugger opens a Data Explorer displaying the current
selection when you double-click the left mouse button in any window.
mouse mouse1*Click2@All=view %s
Some of these locations implicitly include other locations. These locations are:
moves down one line, then you will not be able to type the literal letter d in a file.
To enter the literal character d in your file, you would have to:
1. Press Ctrl+\ (the Ctrl key with the backslash “\” key).
2. Press the key for the character that you want to enter into the file.
This feature is especially useful if you open large numbers of MULTI windows
while you work.
Note
Taskbar organization is not supported on Linux/Solaris.
1. Select Config → Options from a major MULTI tool such as the Launcher,
Editor, or Debugger.
2. In the Options window that appears, click the General tab.
Note
If the Taskbar Organizer is enabled (in either taskbar mode or tray icon
mode), the Windows key + M key combination does not minimize MULTI
windows. The Windows key + D key combination and the Show Desktop
button both hide all windows, but MULTI windows may reappear when
another application is brought to the front.
• Settings — Opens the Taskbar Organizer dialog box. For detailed information
about the configuration settings located in this dialog box, see “The Taskbar
Organizer Dialog Box” on page 185.
• Show All — Displays MULTI IDE windows that were previously minimized.
• Minimize All — Minimizes all MULTI IDE windows.
• Exit All — Exits all running MULTI IDE processes. A dialog box asking you
to confirm this action appears.
Note
In taskbar mode, clicking the MULTI taskbar entry when only a single
window is open brings that window to the front. To access the menu
while in taskbar mode, more than one window must be open.
Tip
To see or configure the window types that group together, perform the
following steps:
For information about window docking options, see “The Window Docking Options
Window” on page 187.
Some window managers, such as KDE, do not allow a window to be created smaller
than a certain size. While you can still use window groups in these situations, the
group bar takes up more space than usual.
Unless otherwise stated, the following X Window Managers support both window
alignment and window grouping.
• afterSTEP
• Blackbox
• Desktop Window Manager (dtwm)
• FVWM, FVWM2, FVWM95
• Ice Window Manager (icewm)
• KDE Window Manager (kwin) — Window grouping is disabled by default
because the KDE window manager does not allow windows to be created with
a height smaller than 25 pixels. You can still use window grouping; however,
the group bar takes up more space than usual.
• Metacity
• OpenLook Window Manager (olwm)
• Sawfish
• Tabbed Window Manager (twm)
• WindowMaker (wmaker)
• wm2 — Window grouping is not supported because wm2 windows do not use
a horizontal title bar, which is required for window grouping.
The following X Window Managers do not work properly with window docking
and are not supported. If you use one of these window managers, set Window
Docking Options to Disable All Window Management (see “Window Docking
Global Options” on page 188).
• PWM
• Ion
If your window manager is not named in either of the preceding lists, it has not
been verified to work properly.
Two files are used to identify the programming language in a source file, color the
code, and enable auto-completion:
• index.gsc — The index configuration file that the Editor uses to match the
source file with the appropriate syntax definition file.
• language.gsc — The syntax definition file for a specific programming language.
This file defines how the Editor should color the code and whether the Editor
should auto-complete certain words as they are typed.
1. Create a syntax definition file for the language. Give the file a .gsc extension
(for example, my_language.gsc), and model the contents of the file on those
of an existing syntax definition file.
2. Add the syntax definition file to one of the directories listed in “The
language.gsc Syntax Definition Files” on page 166.
3. Create an entry in the index.gsc file for the new language. Model the new
entry on an existing entry. The index.gsc file is located at
ide_install_dir\defaults\syntax_coloring (reverse the direction of the slashes
on Linux/Solaris).
Each entry defines basic information about a language. The definition order
determines how they will be displayed in the Editor's View → Language menu or
submenu. For each language, the index.gsc file defines the following:
Identifier
A unique identifier for the name of the language. This identifier must correspond to the name
in the language's syntax definition file (see “The language.gsc Syntax Definition Files”
on page 166).
If the language's identifier contains any non-alphanumeric characters, enclose the entire identifier
in quotes, for example: "C++".
extension
Lists the file extensions of files that contain the language. If the Editor cannot match a language
based on the source file's extension, or if the extension matches more than one entry in index.gsc,
the Editor will use the definition of first_line_pattern to select the correct language. See
the description of first_line_pattern below.
If identification of a language via extension and first_line_pattern fails and you have
added -*-language-*- inside a comment on the first non-blank line of the file, the Editor
uses the language specified. For example, if you enter:
// -*- c++ -*-
on the first line of the file, the Editor views the file as C++.
description
The name of the language as it will appear in the Editor's View → Language menu.
The & symbol indicates that the following key is a hot key for the menu item. For example, if
you specify description = "Per&l", the letter l becomes the hot key.
definition_file
The language's syntax definition file. For information about how the Editor searches for the
syntax definition file if an absolute path is not specified, see “The language.gsc Syntax Definition
Files” on page 166.
hide
You can determine whether the language appears in the Editor's View → Language menu.
To hide a language, enter hide = true. The default is false.
Although a hidden language will not appear in the menu, the Editor will still use it to color files
written in the corresponding language.
submenu
To group languages into a submenu within the View → Language menu, enter:
submenu = submenu_name
first_line_pattern
The regular expressions that may be used to identify the language by the source file's first
non-blank line. See the description of extension above. Be sure to use a double escape character
sequence (\\) when defining the regular expressions.
Regular expression support is based on version 8.34 of the Perl Compatible Regular Expressions
(PCRE) library package, which is open source software written by Philip Hazel and copyrighted
by the University of Cambridge, England. It can be downloaded from the University of Cambridge
FTP server [ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/].
The entry in the index configuration file for the Perl language might look like:
Perl {
extension = {"pl"}
description = "Per&l"
definition_file = "perl.gsc"
first_line_pattern = {"^[\\s]*#![\\w /\\\\]*[/\\\\]perl"}
}
To visually separate languages when they are listed in the View → Language menu,
define a unique identifier with a description of "\x01". An example follows.
"GHS-Sep1" {
description = "\x01"
}
(For Linux/Solaris, reverse the direction of the slashes in numbers 2, 3, and 4 above.)
If you are working with an INTEGRITY application when the Editor attempts to
find a particular syntax definition file, the Editor searches the above directories in
the order in which they are presented. When it locates the file, the search terminates.
Searching ghs_rtos_install_dir\multi\syntax_coloring ensures that an
INTEGRITY-specific version of a particular syntax definition file (c.gsc, for
example) overrides any Compiler- or IDE-specific version of the syntax definition
file.
If you are not working with an INTEGRITY application when the Editor attempts
to find a particular syntax definition file, the Editor does not search
ghs_rtos_install_dir\multi\syntax_coloring. Otherwise, the search operates in the
same way specified above.
The definitions for some languages are split into multiple files. In this case, the
language.gsc file can use %include "filename.gsc" statements to include
definitions from other syntax definition files.
Each of the following elements can be defined in the syntax definition file. For each
element that can be defined, you can specify a color by using the syntax color =
"#hex_value", where hex_value is a six-digit hexadecimal value in RGB format.
For example, #FF0000 specifies the color red. If you do not specify a color for a
particular element, the applicable color in the Config → Options → Colors tab is
used.
general
The following entries define general settings for the language:
• name = The identifier for the language. This identifier must match the Identifier listed
in the index.gsc file (see “The index.gsc Configuration File” on page 164).
• description = The name of the language as it will appear in the Editor's View →
Language menu.
• extension = File extensions associated with this language.
• case_sensitive = Defines whether the language is case-sensitive. For a case-insensitive
language, enter case_sensitive = false. The default is true.
• pascal_style_priority = (Boolean) In languages such as C/C++, comments, strings
and characters receive higher priority than preprocessor statements; while other languages,
such as Pascal, give higher priority to preprocessor statements. To assign priority to
preprocessor statements, enter pascal_style_priority = true. The default is false.
• separator = Separators used to delimit syntax tokens.
• escape = Escape sequence leader.
For example:
name = "Pascal"
description = "Pascal"
extension = {"p", "pas", "h"}
case_sensitive = false
separator = "\\\"+-*/<=>:,;'\t()[]^%!~|& {}.@?"
escape = "\\"
preprocessor
Specifies preprocessor keywords. Limitations are:
• There can only be one non-alphabetic preprocessor lead character. Example lead characters
include % and #.
• Semantics are C-like.
keyword
Defines a list of keywords, the display color for keywords, and/or whether keywords are
auto-completed.
line_comment
Specifies line comment characters. Multiple line comment leaders can be defined, so an index
number is used for each. For example:
1 = "//"
You can use special characters to identify the column position in a line. The \x01 string matches
the beginning of a line. This is similar to the regular expression ^. The \x02 string matches the
end of a line. This is similar to the regular expression $.
comment
Specifies comment characters. Multiple comment characters can be defined, so an index number
is used for each. For example:
1 { begin = "(*"; end = "*)" }
2 { begin = "{"; end = "}" }
string
Specifies string characters. Multiple string characters can be defined, so an index number is
used for each. For example:
1 { begin = "'"; end = "'" }
character
Specifies constant characters. Multiple characters can be defined, so an index number is used
for each. For example:
1 { begin = "\'"; end = "\'" }
block
Specifies a block. A block must contain a begin and an end string. The begin and end strings
may not contain separators, as defined in the description of general (above).
You can use special characters to identify the column position in a line. The \x01 string matches
the beginning of a line. This is similar to the regular expression ^. The \x02 string matches the
end of a line. This is similar to the regular expression $.
integer
The following entries define support for integers:
• hex = Specifies whether hex integers are supported. To support hex integers, enter hex
= true. The default is false.
• case_sensitive = Specifies case sensitivity in integer suffixes. To make integer suffixes
case-insensitive, enter: case_sensitive = false. The default is true.
• decimal_suffix = Specifies a list of suffixes for decimal integers.
• hex_suffix = Specifies a list of suffixes for hex integers.
float
The following entries can be made to define the display of numbers in floating-point form.
customized
The following entries define the list of customized items (strings of text that are displayed in a
customized color) for a language:
autocomplete
Defines the auto-complete behavior. For information, see “Configuring Editor Auto-Complete”
on page 170.
You can turn auto-complete on or off for an entire language, or for a specific category
of items in the syntax definition file by specifying autocomplete = false or
autocomplete = true.
The following sections provide details about auto-complete. You can modify
auto-complete by editing the autocomplete section of the syntax definition file.
For more information, see “The language.gsc Syntax Definition Files” on page 166.
Tip
Even when auto-completion is disabled, you can use the keyboard
shortcuts listed in “Auto-Completion” on page 379 to perform
auto-completion functions based on the characters located at the cursor.
Note
Auto-completion is not supported for customized items that contain
wildcard characters.
• autocomplete = "first" — Completes the first word that begins with the
letter that has been typed.
• autocomplete = "best" — Does not complete a word until it can uniquely
identify the letters that have been typed. This is the default setting.
For example, assume auto-completion has been enabled for the keywords: main,
mailman and mist. When the letter m is typed, first match logic auto-completes
the item into main, but best match logic does not perform any auto-completion.
When the letters ma have been typed, first match logic still auto-completes the item
into main, while best match logic auto-completes the item to mai because it still
cannot determine whether the item should be main or mailman.
These two options are explicitly enabled in the syntax definition files for C and
C++.
To add custom file extensions, create a directory named file_types in either the site
or user configuration directories and create an extensions.udb file defining the
custom file extension. The extension mapping configuration files contain entries
describing individual file types as well as collections of file types for use in
individual file choosers.
ide_install_dir/defaults/file_types/extensions.udb
If you want to link the IDE to a different Compiler and Green Hills Debug Probe
installation:
*You may specify a relative path to the Compiler and Green Hills Debug Probe
installation. This is useful if you installed into a version control repository. The
path is resolved relative to the IDE installation directory.
Note
You can only link compatible installations.
Installing a Patch
The gpatch command line utility program allows you to install and create simple
patches. It is most commonly used to install a patch provided by Green Hills support
staff.
To install a patch into the current working directory, ensure the MULTI IDE or
Compiler installation directory is in your path and run:
For a complete list of the command line options available for use with gpatch, run
gpatch -help. Example uses of the gpatch utility program follow.
Configuration Options
Contents
General Configuration Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Project Manager Configuration Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Debugger Configuration Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
MULTI Editor Configuration Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Session Configuration Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Colors Configuration Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Chapter 8. Configuration Options
Chapter 7, “Configuring and Customizing MULTI” on page 129 discusses how you
can customize your interface using MULTI's configuration options. This chapter
describes these configuration options and their default settings.
You can set many, but not all, of the configuration options via the Options window.
To open the Options window:
You can also set or edit all of the options available in the Options window (and
more besides) by entering the following command in the Debugger command pane.
Note that you should not use this command while the Options window is open.
For options that cannot be set in the Options window, config_option and possible
values are listed at the beginning of the table row dedicated to the option. For
options that can be set in the Options window, config_option and values are
listed—often in parentheses—in the option description. For example, in this chapter,
the GUI option Match exact case in searches is followed by two option/value pairs
in parentheses:
or
configure exactCase off
When you modify configuration settings via the configure command, the
modifications are not saved by default. For more information, see “Using the
configure Command” on page 130. In general, if you change the setting of a
configuration option without saving the modification, only the MULTI tool from
which the option was changed is aware of the new setting. For more information,
see “Propagating Configuration Settings” on page 134.
Options that can be set via the configure command can also be set in configuration
files. Syntactically, the only difference between entering an option in a configuration
file and entering it in the command pane is that you do not include configure in the
configuration file. For information about setting configuration options in a
configuration file, see “Creating and Editing Configuration Files” on page 135.
Tip
Entering help config_option in the Debugger command pane opens
online help for the specified configuration option.
For information about setting configuration options from the command pane, see
the introduction of Chapter 8, “Configuration Options” on page 175.
Note: This setting does not apply to certain types of dialog boxes, such as modal dialog boxes,
or to certain windows, such as the History window, the Active Licenses window, the Memory
Test Wizard, the Perform Memory Test window, and the Source Path window. This setting
does apply to the Data Explorer, but only the Data Explorer position is remembered. The
Data Explorer window is automatically sized based on the data displayed within it and based
on the configuration options Minimum initial size (WxH) and Maximum initial size (WxH),
documented in “The Debugger Options Tab” on page 198.
Display close (x) buttons
Permitted settings for this option are:
Allow beeping
Permitted settings for this option are:
• Selected (beep on) — [default] MULTI beeps on various error conditions, such as a search
that does not match anything.
• Cleared (beep off) — MULTI never beeps.
For information about the Beep Editor command, see “Miscellaneous Commands” on page 367.
Show tooltips
Linux/Solaris only
Permitted settings for this option are:
• Selected (tooltips on) — [default] Tooltips (small explanatory boxes that pop up when
you hover the cursor over a GUI item) will appear if available.
• Cleared (tooltips off) — Tooltips will never appear.
In History, this setting only applies to toolbar buttons; other GUI items where tooltips may
appear are not affected.
Match exact case in searches
Determines the case sensitivity of interactive text searches in the Editor and of incremental text
searches in MULTI tools. Permitted settings for this option are:
This option can also be set on a per-Editor-window basis with the Search dialog box. For more
information, see “Interactive Searching Using the Search Dialog Box” on page 85.
Note: This setting does not apply to the grep Editor or Debugger commands or to any of the
Search in Files dialog boxes, all of which run grep and are case-sensitive by default.
Escape restores view after iSearch
Permitted settings for this option are:
• Selected (iSearchReturn on) — Returns the cursor to its original position when you press
Esc while in incremental search mode. See “Incremental Searching” on page 83.
• Cleared (iSearchReturn off) — [default] Does not return the cursor to its original position
when you press Esc while in incremental search mode.
• Selected (moon on) — Displays the approximate phase of the moon in the nook of the
vertical and horizontal scroll bars.
• Cleared (moon off) — [default] The phase of the moon is not displayed.
• Selected (clipManLaunch on) — [default] Runs the clipboard manager, which stores
selections that have been sent to the clipboard by all applications. The contents of the
clipboard are accessible after MULTI has exited.
• Cleared (clipManLaunch off) — The contents of the clipboard are lost when MULTI
exits.
Warp pointer
Permitted settings for this option are:
• Never (warpPointer never) — [default for Windows] Never move the mouse pointer
automatically. The mouse cursor can only be changed by physically moving the mouse.
• Into Dialog Box (warpPointer intoDialogue) — [default for Linux/Solaris] Warp the
mouse pointer to the default button of new dialog boxes that appear.
• In & Out of Dialog Box (warpPointer in&OutDialogue) — Warp the mouse pointer
into the default button of new dialog boxes, and warp it back to its previous location when
the dialog box is closed.
Print command
Linux/Solaris only
(printCommand command) Specifies the command used by the Print Setup dialog box to
send information to a printer (see “The Print Setup Dialog Box” on page 298). When you open
the Print Setup dialog box, the specified command is displayed in the Print Command field
if you have not previously printed anything by using a different command. Otherwise, the
specified command is available from the Print Command drop-down list.
The default is lpr.
Editor
Specifies which editor MULTI uses when you request an editor to start. Permitted settings for
this option are:
• MULTI Editor (extEditor_Choice "multi editor") — [default] Uses the MULTI Editor.
• Emacs (extEditor_Choice emacs) — Uses the Emacs Editor.
• Vi (extEditor_Choice vi) — Uses the vi Editor.
• Other (extEditor_Choice other) — Uses an editor that is not available in the list.
Configure Editor
Opens a dialog box that allows you to specify configuration settings specific to the editor selected
in the Editor field. For more information, see “Third-Party Editor Configuration Options”
on page 183.
If MULTI Editor is selected in the Editor field, clicking this button opens the MULTI Editor
tab. For more information, see “The MULTI Editor Options Tab” on page 220.
Version Control
Specifies which version control system MULTI uses. Permitted settings for this option are:
Mouse
Opens the Mouse Commands dialog box, which you can use to edit the mouse bindings used
by MULTI. The mouse bindings are displayed in the same format as the mouse command. See
“Customizing Keys and Mouse Behavior” on page 152.
Keys
Opens the Keyboard Commands dialog box, which you can use to edit the key bindings used
by MULTI. The key bindings are displayed in the same format as the keybind command. See
“Customizing Keys and Mouse Behavior” on page 152.
Windows
Opens a dialog box, where:
The options that appear are specific to the editor type selected. Not all options appear
for every editor type.
For information about setting configuration options from the command pane, see
the introduction of Chapter 8, “Configuration Options” on page 175.
Path to Editor
(extEditor_EmacsPath editor_path for Emacs, extEditor_ViPath editor_path for vi,
extEditor_OtherPath editor_path for other editors) Specifies where the editor executable is
located on the system. Depending upon your PATH environment variable, you may need to
specify the full path to the editor in the Path to Editor field.
• %LINE — Replaced with the line number to go to when opening the file (removed if
MULTI does not specify a line number).
• %FILE0 — Replaced with the first file to be edited.
• %FILES — Replaced with all but the first file if there is more than one file to edit (removed
if MULTI only specifies one file to edit). Each file is separated by a space.
The options that appear are specific to the version control type selected. Not all
options appear for every version control type.
For information about setting configuration options from the command pane, see
the introduction of Chapter 8, “Configuration Options” on page 175.
Automatic Checkout
Permitted settings for this option are:
This option is not available if you have selected the CVS or Subversion version control systems
because a file is always checked out when you use CVS or Subversion.
Location of VC binary
For CVS, ClearCase, SourceSafe, and Subversion version control systems only.
Specifies the name of the command to run, according to your version control system. The defaults
are:
Note
The Taskbar Organizer is only available on Windows. No equivalent
feature exists for Linux/Solaris.
To access the Taskbar Organizer dialog box, select Config → Options → General
tab and click the Windows button. Select Taskbar Organizer and click OK. The
following table describes the modes and options available in the dialog box. Note
that not all options appear for every mode and that not all combinations of taskbar
options are valid. The dialog box prevents you from selecting invalid combinations
by dimming radio buttons that you cannot change given the current combination
of settings.
Mode
Permitted settings for this option are:
• Disabled (taskbarType disabled) — Disables the Taskbar Organizer. In this mode, MULTI
windows populate both the taskbar and the window list that appears when you press the
Alt+Tab key combination.
• Taskbar (taskbarType taskbar) — Enables taskbar mode. In taskbar mode, all MULTI
windows are grouped into a single taskbar entry labeled MULTI. For more information,
see “Configuring Taskbar Organization” on page 158.
• Tray (taskbarType tray) — Enables tray icon mode. In tray icon mode, all MULTI
windows are grouped under a single system tray icon. For more information, see
“Configuring Taskbar Organization” on page 158.
• Global Options — The options on this tab apply to all MULTI applications
(see “Window Docking Global Options” on page 188). Options selected on this
tab override any application-level options set on the Application Options tab.
• Application Options — The options on this tab only apply to the application
configuration file specified in the Application text box of the tab (see “Window
Docking Application Options” on page 189). These application-level options
can be overridden by options set on the Global Options tab.
The options on each of these tabs are described in the following sections. For more
information about window docking, see “Configuring Window Docking” on page 160.
• Opposing edges — Specifies the distance (in pixels) at which windows snap together when
the left edge of one window snaps to the right edge of another, or the top of one window
snaps to the bottom of another. The default is 20.
• Same edge — Specifies the distance (in pixels) at which windows snap together when you
align the edges of vertically adjacent windows. For example, you can align a series of
windows in a column along the left edge. The default is 10.
Compatibility
Linux/Solaris only
Disables window docking behavior that may not be supported in specific circumstances. Available
options are:
• Disable grouping in KDE — Disables window grouping when the KDE window manager
is detected. This setting overrides any application-level options and is selected by default.
For more information, see “Linux/Solaris Docking Limitations” on page 161.
• Disable activation follows focus — Does not raise all windows in a group when one of
the windows gets the focus. This option is selected by default.
• Disable geometry caching — Disables caching of window manager geometry. Selecting
this option causes a small window to open and close each time an application is started,
enabling MULTI to detect window manager geometry properties. This option is cleared
by default and should not be selected unless MULTI cannot detect a change in window
managers.
The items on the Application Options tab allow you to configure window grouping
on a per-application basis.
Application
Displays the location of the window docking configuration file that is currently being viewed.
This file may be located in the site-wide configuration directory or in the user configuration
directory. Any changes are saved to the user configuration directory.
Window
Lists available window types (which vary depending on the Application setting). Each window
supports configurable window grouping.
Docks to
Specifies the window types that form groups with Window.
You can use the arrow buttons to move window types between the Docks to and Does not dock
to lists. If window type A is added to the Docks to list for window type B, then window type
B should also be added to the Docks to list for window type A. If this is not done, window
groups are only formed when you move window type B near window type A, but not vice versa.
Does not dock to
Specifies the window types that do not form groups with Window.
You can use the arrow buttons to move window types between the Docks to and Does not dock
to lists.
blinkingCursor [ on | off ]
Linux/Solaris only
Permitted settings for this option are:
• on — [default] The vertical bar cursor in various windows (such as the Debugger command
pane and the Editor) will blink.
• off — The cursor will be a solid non-blinking bar.
clearKeys
Removes all of the key bindings so they can be created from scratch with keybind.
clearMenus
Removes all menus so they can be created from scratch using menu.
clearMice
Removes all mouse button bindings so they can be created from scratch with the mouse
command. See “Customizing Mouse Behavior with the mouse Command” on page 154.
clickPause time
Linux/Solaris only
Specifies the length of time, in time tenths of a second, that MULTI waits between successive
button presses to recognize double or triple clicks. For example, if time is 4, two clicks on the
same button, in the same mouse location, within four tenths of a second, are treated as a
double-click. If the two clicks are separated by more than time tenths of a second, they are
treated as two single-clicks.
If no mouse binding requiring multiple clicks exists for a particular mouse location, MULTI
executes the mouse binding immediately without waiting for multiple clicks.
The default time is 4.
configureFile filename
Used within a configuration file to read in another configuration file specified by filename.
After filename is processed, processing of the original configuration file continues as normal.
disAsmStyle [ remote | XORmacs | unix ]
This option is deprecated. It does not control disassembly style.
focusOnRaise [ on | off ]
Linux/Solaris only
Controls whether existing windows are automatically given focus when they are raised. This
option does not affect windows when they are displayed for the first time.
• on — [default] Existing windows are automatically given focus when they are raised. This
setting is recommended if your window manager uses a click-to-focus policy.
• off — Existing windows are not given focus when they are raised. This setting is
recommended if your window manager uses a focus-follows-mouse policy.
grabTimeout time
Linux/Solaris only
Specifies an interval used to force processes to release any X-server keyboard or mouse grabs:
• If time is less than zero — MULTI does not check to see if there are any outstanding grabs
on the X-server each time it stops.
• If time is greater than zero — MULTI checks to see if the process has any outstanding
grabs when the process is stopped by a signal or breakpoint. If both the keyboard and the
mouse are grabbed, MULTI waits time seconds before aborting the other process's grabs,
and then exits.
If you repeatedly configure this option to on, it will remember the number of times you
have done this, and cause the next num windows to be created minimized (one per time
you configure the option to on). After the correct number of windows come up minimized,
this option resets itself to off.
• off — [default] Does not minimize MULTI windows.
This option is only applied to the next window created and does not affect existing windows.
ignoreMotion num
Specifies the number of pixels the mouse can move during a press and release of a mouse button.
If you move the mouse less than num pixels between a button press and release, the click is
treated as a single click. If you move the mouse more than num pixels between press and release,
the mouse click is no longer treated as a single click but as two independent press and release
events.
The default num is 4.
keyBind
Used to assign an action to a key. For more information, see “Customizing Keys and Mouse
Behavior” on page 152 and “Customizing Keys with the keybind Command” on page 152.
menu
Used to define a menu. For more information, see “Configuring and Customizing Menus”
on page 147.
menuDelay time
Linux/Solaris only
The delay, in milliseconds, between moving the cursor over a submenu entry and the submenu
opening. If set to 0, submenus will open immediately.
The default time is 25.
mouse
Used to assign an action to mouse button clicks. For more information, see “Customizing Keys
and Mouse Behavior” on page 152 and “Customizing Mouse Behavior with the mouse Command”
on page 154.
multiiconPreName string
Linux/Solaris only
When you iconify a window, string prefixes the icon name. For example, if you set string
to MULTI, iconified Editor windows are named MULTI:Filename.c instead of Filename.c.
If your window manager does not support iconifying, this option has no effect. The default is
an empty string.
Changes to this setting only affect new windows.
multiWinPreName string
Linux/Solaris only
Prepends string to the title bar's window name. The default is an empty string.
Changes to this setting only affect new windows.
noDecoration [ on | off ]
Linux/Solaris only
Permitted settings for this option are:
• on — If the windows manager supports this setting, all windows appear without title bars.
• off — [default] Windows appear with title bars.
numberSeparator string
Specifies a character (string) used to break up large numbers for ease of reading. For example,
specifying an underscore would cause MULTI to display 0x123456789 as 0x1_23456789.
string may only be a single character. The default is an empty string, which results in MULTI
not using any separator character to break up numbers.
showGrepCommand [ on | off ]
Permitted settings for this option are:
• on — The full grep command prints out whenever the grep command is executed.
• off — [default] The full grep command does not print out.
synchronous [ on | off ]
Linux/Solaris only
Permitted settings for this option are:
useWmPositioning [ on | off ]
Permitted settings for this option are:
• on — MULTI allows the window manager to determine where all windows should go.
• off — [default] MULTI automatically places windows in convenient locations.
For information about setting configuration options from the command pane, see
the introduction of Chapter 8, “Configuration Options” on page 175.
• Always (showProgress always) — The Build Details window opens every time you build
an application, even if no warnings or errors are produced.
• On Warnings and Errors (showProgress on warnings and errors) — [default] The
Build Details window opens if your build produces warnings or errors.
• On Errors (showProgress on errors) — The Build Details window opens if your build
produces errors, but does not open for warnings.
• Never (showProgress never) — The Build Details window never opens, even if warnings
or errors are produced.
All MULTI tools opened during the current MULTI session are notified of changes to this
option. For more information, see “Propagating Configuration Settings” on page 134.
On warnings
Permitted settings for this option are:
All MULTI tools opened during the current MULTI session are notified of changes to this
option. For more information, see “Propagating Configuration Settings” on page 134.
All MULTI tools opened during the current MULTI session are notified of changes to this
option. For more information, see “Propagating Configuration Settings” on page 134.
Project directory root
(defaultNpwDir string) Specifies the base directory where new projects are created. If left
blank, new projects are created at:
The Project Wizard creates a Projectn directory in this location to act as the root directory of
the project.
All MULTI tools opened during the current MULTI session are notified of changes to this
option. For more information, see “Propagating Configuration Settings” on page 134.
Parallel Build*
(buildType parallel) [default] Builds programs using the number of processes specified. See
the descriptions of Number of parallel processes, Auto-detect, and Custom below.
Single-Thread Build*
(buildType singleThread) Runs the build in a single process.
Number of parallel processes*
(numParallelBuildProcesses num) Specifies the number of processes that may be run in
parallel. This option is only available with the Parallel Build option. The default num is 2. See
the descriptions of Auto-detect and Custom below.
Auto-detect*
(autoDetectNumParallel auto) [default] Auto-detects the maximum number of processes that
may be run in parallel.
Custom*
(autoDetectNumParallel custom) Uses the number value set by numParallelBuildProcesses
num (above).
• Selected (useLockFiles on) — Prevents multiple simultaneous builds of the same program
or library by creating temporary .lck lock files.
• Cleared (useLockFiles off) — [default] Does not create temporary .lck lock files.
Note: -lockout is the corresponding gbuild option. For information about the gbuild utility
program, see the MULTI: Building Applications book for your target processor family.
Execute tools at low priority (-nice)*
Permitted settings for this option are:
• Selected (useLowPriority on) — Executes the build with lower than normal
priority—scheduling priority 10 (Linux/Solaris) or the idle priority class (Windows).
• Cleared (useLowPriority off) — [default] Executes the build at normal priority.
Note: -nice is the corresponding gbuild option. For information about the gbuild utility program,
see the MULTI: Building Applications book for your target processor family.
Show tool commands (-commands)*
Permitted settings for this option are:
Note: -commands is the corresponding gbuild option. For information about the gbuild utility
program, see the MULTI: Building Applications book for your target processor family.
Beep when build completes
Permitted settings for this option are:
*: For changes to this option to take effect, you must either set the option from the
Project Manager, or save the change as your default configuration and then restart
the IDE.
For information about setting configuration options from the command pane, see
the introduction of Chapter 8, “Configuration Options” on page 175.
• Selected (verifyHalt on) — [default] The Debugger will ask for confirmation before
halting the process to set a breakpoint.
• Cleared (verifyHalt off) — The Debugger will automatically halt, set the breakpoint, and
continue the process without requiring user intervention.
For more information, see “Specifying Line Numbers” in Chapter 1, “Using Debugger
Commands” in the MULTI: Debugging Command Reference book.
Display all numbers/characters as hex
Permitted settings for this option are:
• Selected (hexMode on) — All numeric values evaluated by the Debugger are displayed
in hexadecimal format.
• Cleared (hexMode off) — [default] Display format is based on the “natural” display format
for that type. For integral types, the natural display format is decimal.
• Do Not Color (backgroundMode off) — All Debugger windows use the normal
background color.
• Use Color Offsets (backgroundMode offset) — [default] New Debugger windows will
use predetermined offsets from the normal background color. This option is usually best
since it will pick colors near the current background color, and keep the text as legible as
possible.
• Use Preset Colors (backgroundMode preset) — New Debugger windows will use a
color from a set of pre-chosen, highly distinctive colors.
• Never (fastest and safest) (hoverValues never) — Never show variable values in tooltips.
• On Mouse Hover (hoverValues always) — When the mouse is positioned over a variable,
show its value in a tooltip.
• On Mouse Hover with Shift Key (hoverValues onShift) — [default] When the mouse
is positioned over a variable and the Shift key is pressed, show the variable's value in a
tooltip.
Variables are evaluated in the context of the blue current line pointer. If you want to view the
value of a local variable, ensure that the current line pointer is positioned in the current function.
For information about the current line pointer, see “The Source Pane” in Chapter 2, “The Main
Debugger Window” in the MULTI: Debugging book.
Changes to this option setting only affect subsequently opened windows, not pre-existing
windows.
Command pane prompt
(prompt string) Specifies the string used as a prompt in the Debugger command pane to indicate
that user input is desired. The default string is MULTI>.
Configure Debugger Buttons
Opens a dialog box that you can use to edit the Debugger toolbar buttons. This dialog box is
only accessible from the MULTI Debugger. For more information, see “Adding, Removing,
and Rearranging Toolbar Buttons” in Appendix A, “Debugger GUI Reference” in the MULTI:
Debugging book.
More Debugger Options
This button opens the More Debugger Options dialog box, which contains additional
configuration options for the Debugger (see “The More Debugger Options Dialog” on page 202).
Minimum initial size (WxH)
(minViewSize widthxheight) Specifies the minimum initial size that will be used to auto-size
Data Explorer windows in characters (width) by lines (height) or in pixels, as specified.
The default widthxheight is 40x3. The default units are characters/lines. To specify pixels
from the command pane or in a configuration file, put a p after widthxheight (for example,
200x21p).
For information about setting configuration options from the command pane, see
the introduction of Chapter 8, “Configuration Options” on page 175.
• Selected (blockStep on) — Step/next operations block subsequent commands until the
step/next operations have finished.
• Cleared (blockStep off) — [default] Step/next operations allow subsequent commands
to execute before the step/next operations have finished.
You can make a step or next command blocking or non-blocking regardless of the setting of
this option by appending an n (for non-blocking) or b (for blocking) to the command. See
“Single-Stepping Commands” in Chapter 13, “Program Execution Command Reference” in the
MULTI: Debugging Command Reference book.
See also the blockRun option in “Other Debugger Configuration Options” on page 208.
Show position in non-GUI (-nodisplay) mode
Permitted settings for this option are:
• Selected (escHalts on) — [default] MULTI attempts to halt the current process when you
press Esc and the Debugger window is active.
• Cleared (escHalts off) — MULTI does not attempt to halt the current process when you
press Esc.
• Selected (deleteDeadTaskFromGroup on) — The Task Manager will delete dead task
fingerprints from the task group. For information about task groups and the meaning of
dead tasks, see “Run-Mode Debugging” in the MULTI: Debugging book.
• Cleared (deleteDeadTaskFromGroup off) — [default] The Task Manager will not delete
dead task fingerprints from the task group.
For information about generating a checksum for an executable, see the documentation
about verifying program integrity in the MULTI: Building Applications book.
• Cleared (autoVerifyRomSections off) — [default] The Debugger will not check the
target's version of the executable.
For more information, including instructions about what to do if you compiled some of the
object files of your executable with a third-party compiler and others with a Green Hills Software
compiler, see the documentation about generating debugging information for applications
compiled with third-party compilers in the MULTI: Building Applications book.
Note that if both this option and the preceding are selected, only a DWARF translation is
attempted (the DWARF Debug Translator must be licensed).
• Cleared (autoStabs2Dbo off) — [default] Disables automatic translation of Stabs
debugging information if Translate DWARF debugging information (preceding) is
selected. If both Translate stabs... and Translate DWARF... are cleared, and the executable
is built entirely by a third-party compiler, the debugging information is automatically
translated into the format required by the MULTI Debugger (assuming that you have
licensed the appropriate Debug Translator).
For more information, including instructions about what to do if you compiled some of the
object files of your executable with a third-party compiler and others with a Green Hills Software
compiler, see the documentation about generating debugging information for applications
compiled with third-party compilers in the MULTI: Building Applications book.
Reuse Data Explorer
Permitted settings for this option are:
For more information, see Chapter 11, “Viewing and Modifying Variables with the Data
Explorer” in the MULTI: Debugging book.
All MULTI tools opened during the current MULTI session are notified of changes to this
option. For more information, see “Propagating Configuration Settings” on page 134.
• Task Name (taskMatchCriteria name) — [default] Matches against the name of the task.
• Task Identifier (taskMatchCriteria id) — Matches against the identifier of the task.
• Task Name or Identifier (taskMatchCriteria nameOrid) — Matches against the name
or identifier of the task.
command pane (preceded by the configure command). For information about setting
these options in configuration files, see “Creating and Editing Configuration Files”
on page 135. For information about setting configuration options from the command
pane, see the introduction of Chapter 8, “Configuration Options” on page 175.
allowExecutioninBpCommand [ on | off ]
• on — Stepping and execution of command line function calls are allowed from within a
breakpoint command. This is somewhat risky because infinite breakpoint command recursion
can occur if the execution from within the breakpoint command causes the same or another
breakpoint to be hit. The resume command is always allowed in a breakpoint command.
• off — [default].
allowProcCallinExamine [ on | off ]
For information about the examine command, see Chapter 8, “Display and Print Command
Reference” in the MULTI: Debugging Command Reference book.
allowProcCallinOsaTask [ on | off ]
blockRun [ on | off ]
• on — Run/continue operations block subsequent commands until the target has halted
again. When the Debugger is blocking input, you will not be able to issue Debugger
commands, or interact with Debugger buttons, windows, or menus. You can regain control
by hitting the Esc key to abort the run/continue operation.
• off — [default] Run/continue operations allow subsequent commands to execute before
the target has halted again.
See “Run Commands” and “Continue Commands” in Chapter 13, “Program Execution Command
Reference” in the MULTI: Debugging Command Reference book.
See also the blockStep option in “The More Debugger Options Dialog” on page 202.
clearButtons
Removes all the Debugger buttons (except for the Close Debugger button if it is present) so
that you can create them from scratch with the debugbutton command (see “Configuring and
Customizing Toolbar Buttons” on page 144) or the Customize Toolbar window (see “Adding,
Removing, and Rearranging Toolbar Buttons” in Appendix A, “Debugger GUI Reference” in
the MULTI: Debugging book).
clickToSetAnyTaskBp [ on | off ]
For targets that do not support any-task or task-specific breakpoints, these settings are equivalent.
cTextSize num
Sets the maximum number of scroll back lines available in the Cmd, Trg, I/O, Srl, Py, and Tfc
panes.
If a MULTI session is in use for a long period of time, these panes can use a large amount of
memory. Setting this option to a smaller value reduces memory usage, but also limits the number
of available scroll back lines.
The valid range for num is 10 to 10485760. The default num is 10240.
debugButton
Lists the defined Debugger buttons. See also “Configuring and Customizing Toolbar Buttons”
on page 144.
downloadWindow [ on | off ]
The download window shows the current progress of a program download. Permitted settings
for this option are:
• on — [default] The download window will be used when downloading a program to the
debug server.
• off — The download window will not be used.
echoCommandsFromPlaybackFiles [ on | off ]
• on — When executing from a script file, Debugger commands being executed will be
displayed.
• off — [default] When executing from a script file, Debugger commands being executed
will not be displayed.
formatStringMaxDepth num
Limits the depth to which nested structs are displayed in a Data Explorer.
The valid range for num is 1 – 128. The default num is 128.
formatStringMaxLength num
Limits the length of the value displayed in each row of a Data Explorer. For example, if this is
set to 2000, only the first 2000 characters of a string will display, followed by ... to indicate
there are more characters that are not displayed. Data values displayed in a single row in a Data
Explorer can be very long (when displaying a long string value or a structure with many nested
structs, for example).
The valid range for num is 1024 to 10 megabytes (10485760). The default num is 8192.
geometry widthxheight [[+x_offset+y_offset]|[-x_offset-y_offset]]
Sets the size and position of the Debugger window, where:
• width and height — Correspond to the pixel size of the Debugger window.
• x_offset and y_offset — Are optional values that indicate the pixel offset at which
the Debugger window appears from the top-left corner of the screen for the + variant or
from the bottom-right corner of the screen for the - variant. For example, the entry:
geometry 500x700+0+0 specifies a 500-pixel-wide by 700-pixel-high Debugger window
that appears in the top-left corner of the screen.
The defaults depend on screen size and vary from system to system. The width is approximately
wide enough to display 80 characters on a line.
Changes to this option affect new Debugger windows, but not currently open windows.
globalHeading [ on | off ]
This option corresponds to the Tools → Global Scope On/Off menu item in the Browse window.
See “Headings in the Functions Browse Window” in Chapter 12, “Browsing Program Elements”
in the MULTI: Debugging book.
All MULTI tools opened during the current MULTI session are notified of changes to this
option. For more information, see “Propagating Configuration Settings” on page 134.
Changes to globalHeading affect new Browse windows, but not currently open windows.
gotoHitsBpAtTargetAddress [ on | off ]
• on — If you are using the Debugger command g, any breakpoint at the destination will be
hit as soon as execution begins at the new location. See the g command in “General Program
Execution Commands” in Chapter 13, “Program Execution Command Reference” in the
MULTI: Debugging Command Reference book.
This option also controls whether a breakpoint set on the first instruction of a function
called from the command line is hit.
• off — [default] The breakpoint will not be hit.
history num
This option specifies how many commands to remember for the Debugger command history
mechanism. For more information, see “History Commands” in Chapter 15, “Scripting Command
Reference” in the MULTI: Debugging Command Reference book.
The default num is 256.
iconGeometry widthxheight+x_offset+y_offset
Linux/Solaris only
Specifies the dimensions (ignored by some window managers) for the icon that is used when
the Debugger is minimized, where:
• width and height — Are the width and height of the icon in pixels.
• x_offset and y_offset — Specify the number of pixels that the icon should be offset
from the top-left corner of the screen.
implicitEvalEcho [ on | off ]
Permitted settings for this option are:
• on — [default] The value of an expression is echoed when the expression is entered into
the command pane.
• off — The value of an expression is not echoed when the expression is entered into the
command pane.
Note: This option affects expression evaluation in the %EVAL{commands} sequence used with
the substitute command. For more information, see the substitute command in “Command
Manipulation and Debugger Macro Commands” in Chapter 15, “Scripting Command Reference”
in the MULTI: Debugging Command Reference book.
interleavedOutput [ on | off ]
Controls whether output from Debugger panes other than the command pane (Cmd) will also
be output to the command pane. Permitted settings for this option are:
• on — [default] Output from Debugger panes other than the command pane will be output
to the command pane. For example, I/O pane output will show up in the command pane
with the prefix I/O:.
• off — Output from other panes will not appear in the command pane.
linesNonOverlapped num
By default, when the Debugger opens a Data Explorer or monitor window with
useWmPositioning off (see “Other General Configuration Options” on page 190), the new
window is stacked on top of previous windows to save screen space. This option leaves the top
num lines of the previous window visible.
The default num is 4.
maxCmdOutputLines num
Limits the number of lines of output generated by expression printing commands and the l
command. When set to 0, the number of lines of output is unlimited.
The valid range for num is 0 to 2147483647. The default num is 4096.
osaExplorerRefreshTargetList [ on | off ]
Controls whether all OSA tasks appear in the target list. Permitted settings for this option are:
• on — [default] Displays all OSA tasks in the target list when the OSA Explorer is open.
• off — Does not display all OSA tasks in the target list. A subset of OSA tasks may appear
if accessed by the trace analysis tools.
osaSwitchToUserTaskAutomatically [ on | off ]
Controls whether the Debugger automatically displays the currently executing user-mode task
when the kernel is stopped while executing user-mode tasks.
Permitted settings for this option are:
osaTaskAutoAttachLimit num
Specifies the maximum number of OSA tasks loaded from trace data that are automatically
displayed in the target list. This option does not limit the number of OSA tasks that can be added
to the target list by your request. For example, the configured number may be exceeded if:
• on — Forces hexadecimal values to be displayed padded to their full width with zeros. For
example, a four-byte variable with a value of 0x8 is displayed as 0x00000008.
• off — [default] Hexadecimal values are displayed without leading zeros.
This option has no effect on the padding of hexadecimal values printed in the command pane.
prepareAllCores [ on | off ]
Note: This option is deprecated. We recommend that you instead use one of the methods
described in “Providing Configuration Details to the Debugger” in Chapter 25, “Freeze-Mode
Debugging and OS-Awareness” in MULTI: Debugging.
Permitted settings for this option are:
• on — When you prepare a single core of a multi-core target (for example, via the
prepare_target command), MULTI automatically prepares each remaining core as if you
had run prepare_target -verify=none on the executable associated with it. (This is
equivalent to choosing the Prepare Target dialog option Program already present on
target. Verify: Not at all for each remaining core.) For more information, see “Preparing
Multiple Cores to Run a Single Executable” in “Freeze-Mode Debugging and
OS-Awareness” in the MULTI: Debugging book.
• off — [default] Each core of a multi-core target is treated independently when you prepare
the target.
procQualifiedLocalimpliesOutermostBlock [ on | off ]
When the current line pointer is in an inner block of a function and that inner block defines a
variable that has the same name as a variable in the outer block, a function qualified reference
to the name of the variable can either refer to the variable of that name in the outermost block
or to the variable of that name in the current inner block. This option determines which of the
two variables is used. Permitted settings for this option are:
quietTogCmd [ on | off ]
Permitted settings for this option are:
• on — The tog command does not echo the status of the breakpoint(s) it toggles.
See also the q option for the tog command in Chapter 3, “Breakpoint Command Reference”
in the MULTI: Debugging Command Reference book.
• off — [default].
recordCommentedCommandsFromMacros [ on | off ]
When command recording is enabled, commands executed from script files are recorded as
comments. This option controls whether commands executed from macros are also recorded as
comments. Permitted settings for this option are:
runRcScripts [ on | off ]
Permitted settings for this option are:
• on — [default] Runs script files as usual when an executable is opened in the Debugger.
See “Using Script Files” on page 140.
• off — Only runs command line script files (that is, those explicitly specified on the
command line with -rc) when an executable is opened in the Debugger. This setting is
equivalent to the -norc command line option. See also the -rc and -norc command line
options in Appendix C, “Command Line Reference” in the MULTI: Debugging book.
setBpAtAdrinitWhenExecing [ on | off ]
• on — [default] MULTI sets a breakpoint at the starting routine of a program when the
process is run. Execution is resumed automatically when this breakpoint is hit unless a
user breakpoint was set at the same spot. This is necessary to prevent corrupted call stack
traces.
• off — MULTI does not set a breakpoint at the starting routine of a program when the
process is run.
sharedSymbols [ on | off ]
shellConfirm [ on | off ]
Permitted settings for this option are:
On Windows, the command window waits to be dismissed after running the shell command.
• off — On Linux/Solaris, MULTI always executes shell commands immediately, without
opening the dialog box.
On Windows, the command window exits immediately after running the shell command.
See also the shell command in Chapter 15, “Scripting Command Reference” in the MULTI:
Debugging Command Reference book.
silentlyReloadSymbols [ on | off ]
Permitted settings for this option are:
• on — The Debugger automatically kills any existing process and reloads the symbols
without displaying a dialog box. This is useful if you are using a Debugger primarily to
examine symbols and not to debug running processes.
• off — [default] When the executable open in the Debugger changes, the Debugger displays
a dialog box asking if any existing process should be killed and the symbols reloaded.
stepToBpignoresResumeinBpCmd [ on | off ]
Controls whether the c (continue) command in a breakpoint is ignored during a single-step
operation (but not during a run operation). For more information, see the c command in “Continue
Commands” in Chapter 13, “Program Execution Command Reference” in the MULTI: Debugging
Command Reference book.
Note: This option determines whether a continue command is ignored, not a resume command.
Permitted settings for this option are:
• on — MULTI ignores the c command in the breakpoint command list, prints a warning,
and stops the process at the breakpoint.
• off — [default] MULTI does not ignore the c command in the breakpoint command list.
For example, if you have a breakpoint with the command list print x; c and you step on
to this breakpoint, the process starts running because the c command causes the process to
continue. The c command inside a breakpoint always causes the process to start running,
which is not the desired behavior if you want to step on to that line.
Note that the resume command should be used inside breakpoint command lists. If the
breakpoint's command list is print x; resume, the process stops when you step on to the
breakpoint. If the process runs and hits the breakpoint, it will keep running (the process
resumes whatever it was going to do before hitting the breakpoint). For more information,
see the resume command in Chapter 3, “Breakpoint Command Reference” in the MULTI:
Debugging Command Reference book.
targetWindowSwitchViewOnBpHit [ on | off ]
Controls whether the Debugger automatically switches to a task that is not currently selected
in the target list when a breakpoint is hit in that task. Permitted settings for this option are:
• on — [default] When a breakpoint is hit in a task that is not currently selected in the target
list, the Debugger automatically switches to that task if no other Debugger window is open
on it and if the currently selected task is not halted. Switching occurs for both software and
hardware breakpoints.
• off — The Debugger does not automatically switch to a task when a breakpoint is hit in
that task.
tbTypeBg color
tbTypeFg color
Specifies the background color (commands end with Bg) or foreground color (commands end
with Fg) for Tree Browser displays, where:
warnOnCmdAdrLinePromotion [ on | off ]
Permitted settings for this option are:
For information about setting configuration options from the command pane, see
the introduction of Chapter 8, “Configuration Options” on page 175.
• Selected (openFilesinNewBuffers on) — The first file opened from a MULTI executable
such as the Project Manager or Debugger opens in a new Editor window. Subsequently
opened files reuse the Editor window initially opened from the MULTI executable.
• Cleared (openFilesinNewBuffers off) — [default] Every file opens in a new Editor
window.
All MULTI tools opened during the current MULTI session are notified of changes to this
option. For more information, see “Propagating Configuration Settings” on page 134.
Create backup files when saving
Permitted settings for this option are:
• Selected (editorBackups on) — A backup of the on-disk version of a file will automatically
be created before saving over it. The backup file has the same name as the original file,
with a tilde (~) appended to it.
• Cleared (editorBackups off) — [default] Backup files will not be created.
• Selected (allowMiddleClick on) — [default for Linux/Solaris] Clicking the middle mouse
button will have the same effect as pasting from the selection buffer.
• Cleared (allowMiddleClick off) — [default for Windows] Clicking the middle mouse
button will not paste from the clipboard.
• Selected (tabsAreSpaces on) — Tab characters entered into an Editor window will be
replaced by an appropriate number of space characters in the Editor buffer, regardless of
whether the Tab is the result of pressing Tab, entering a paste command, or auto indenting
in the Editor.
• Cleared (tabsAreSpaces off) — [default] Space characters are not inserted in place of
Tab characters.
• Selected (dragAndDrop on) — Text can be moved in the Editor by selecting a block of
text and dragging the mouse to a new location.
• Cleared (dragAndDrop off) — [default] Text cannot be moved by dragging the mouse.
Tab size
(tabSize spaces) Specifies the number of spaces used to display a Tab in the Editor. The default
is 8 spaces.
Indent size
(editindent spaces) Specifies the number of spaces in an indentation. The default is 4 spaces.
Ctrl+cursor jump size
(editSomeSize num) Specifies the value used by the UpSome, DownSome, LeftSome, and
RightSome Editor commands. For information about these commands, see “Navigation
Commands” on page 348.
The default num is 5.
Configure Editor Buttons
Opens the Configure Editor Buttons dialog box, which allows you to edit the Editor buttons
using the same format as the editbutton command (see “Configuring and Customizing Toolbar
Buttons” on page 144). The dialog box lists currently defined buttons on the left, and available
icons on the right.
More Editor Options
Opens the More Editor Options dialog box, which contains additional configuration options
for the Editor. See “The More Editor Options Dialog Box” on page 226.
• Selected (aiimplicitindent on) — [default] The Editor automatically indents the file as
you type.
• Cleared (aiimplicitindent off) — The Editor will not automatically indent your file.
• Selected (aiSwitchinTwo on) — [default] For C or C++ source files, switch bodies are
indented two levels so that case labels are indented one level from the switch. For Ada
source files, select bodies are indented two levels so that labels are indented one level from
the select.
• Cleared (aiSwitchinTwo off) — For C or C++ source files, the case labels are even with
the switch. For Ada source files, the labels are even with the select.
• Selected (aiTouchComments on) — [default] Comments are indented when auto indenting
multiple lines.
• Cleared (aiTouchComments off) — Comments are only indented if you auto indent a
single line.
To indent a comment that is stuck to the left margin while this option is selected, insert a
space just before the start of the comment, then auto indent the comment.
To move a comment to the left margin, regardless of the position where the comment
started, insert a number sign (#) as the first character of a comment. For example, if you
are coding in C, type: /*# and the comment is automatically moved to the left margin.
• Cleared (aiCommentsStayFlushLeft off) — Indents will be applied to comments.
Note
The settings under Per File Settings Defaults are used when a file is
first opened. Changes to the default settings will automatically be applied
to all files open in the Editor. To change the settings for an individual
file without affecting other open files, choose View → Per File Settings
in the Editor.
For information about setting configuration options from the command pane, see
the introduction of Chapter 8, “Configuration Options” on page 175.
• Selected (editPrint2Column on) — The Editor prints files with two columns per sheet if
landscape orientation is selected.
• Cleared (editPrint2Column off) — [default] The Editor prints one column per sheet.
• Windows — Uses the values of the TMP or TEMP environment variables and defaults to the
current directory if those variables are not set.
• Linux/Solaris — Uses the values of the TMPDIR or TEMP environment variables and defaults
to /tmp if those variables are not set.
• Selected (wordWrap on) — If lines are longer than the wrapping width, the Editor will
automatically split lines on word boundaries as you type.
• Cleared (wordWrap off) — [default] Lines will not wrap.
Wrap column
(wrapColumn width) When Word wrap is selected (wordWrap on), width specifies the last
column a character can occupy before the Editor wraps to the next line.
The default width is 79.
Wrap indent offset
(wrapindent num) When a word wraps to the next line, the word is automatically indented num
extra spaces from where it would normally appear. The default num is 2.
Fill paragraph column
(fillParagraphColumn num) Specifies the column at which each line will be wrapped when
using Ctrl+Shift+A to reformat comments.
The default num is 79.
This option is bound to the FillParagraph command (see “Block Commands” on page 332).
autoGrabHeadFiles [ on | off ]
Controls whether the MULTI Editor automatically grabs function prototypes from a source file's
include files when the source file is loaded.
• on — [default] The MULTI Editor automatically grabs function prototypes when opening
source files. This setting enables auto-completion of function names.
• off — The MULTI Editor does not grab function prototypes when opening source files.
This setting is recommended if you notice poor performance when this option is enabled.
clearEditButtons
Removes all Editor buttons so they can be created from scratch with the editbutton command
(see “Configuring and Customizing Toolbar Buttons” on page 144).
drawWrapLine [ on | off | asWordWrap ]
Specifies whether or not to draw the wrap line in the MULTI Editor. Permitted settings for this
option are:
This option does the same thing as the Editor command DrawWrapLine.
editButton
Creates a new Editor button. This option does the same thing as the Debugger command
editbutton. For usage and information, see “Configuring and Customizing Toolbar Buttons”
on page 144.
editParenMatch time
Every time you type a right parenthesis, right square bracket, or right curly brace, the Editor
briefly selects the matching one. The Editor will pause on this highlight of the previous match
for time tenths of a second. A value of 0 (zero) will disable matching. The default time is 10.
For information about setting configuration options from the command pane, see
the introduction of Chapter 8, “Configuration Options” on page 175.
• Selected (saveCommandHistory on) — [default] The command history for each executable
will be saved. If the executable has not been debugged before, it will have no previous
command history.
• Cleared (saveCommandHistory off) — The command history will not be saved.
• Selected (saveViewWindows on) — Saves all variables being viewed in Data Explorers
between MULTI sessions on the same executable. When restored, the variables are all
added to one Data Explorer, or each is added to a different Data Explorer as dictated by
the Reuse Data Explorer option. (See the description of this option in “The More Debugger
Options Dialog” on page 202.)
• Cleared (saveViewWindows off) — [default] Data Explorer contents are not saved.
• Selected (saveRunArguments on) — [default] Saves the last arguments supplied to run
the target program between MULTI sessions on the same executable. To run the executable
with no arguments, use the R command. See the R command in “Run Commands” in
Chapter 13, “Program Execution Command Reference” in the MULTI: Debugging Command
Reference book.
• Cleared (saveRunArguments off) — Arguments are not saved.
Note: The Debugger may not remember group breakpoints and does not remember hardware
breakpoints.
Restored breakpoints overwrite breakpoints set by scripts
Permitted settings for this option are:
• Never (rememberBaseAddrs never) — The Debugger will clear all base addresses
whenever you load or reload a program.
• Across Reloads (rememberBaseAddrs acrossReload) — [default] The Debugger will
remember address offsets that you have set when you reload the program within a single
session. Address offsets are lost when you exit MULTI.
• Across Sessions (rememberBaseAddrs acrossSessions) — The Debugger will remember
address offsets that you have set for a program even if you exit and restart MULTI.
You can set address offsets by assigning built-in variables _DATA and _TEXT in the Debugger
or by using the command line options -data offset and -text offset. For more information about
system variables, see “System Variables” in Chapter 14, “Using Expressions, Variables, and
Function Calls” in the MULTI: Debugging book. For more information about command line
options, see Appendix C, “Command Line Reference” in the MULTI: Debugging book.
Remember last connect command used for process
Permitted settings for this option are:
• Selected (saveDebugServer on) — [default] Saves the most recently used Connection
Method on a per-executable basis. If the executable is started and MULTI is not connected,
the saved Connection Method will be used as the default in the Connection Chooser dialog
box.
• Cleared (saveDebugServer off) — The last Connection Method is not saved.
Directory memory
Determine which directory to initially display in the File Chooser. Permitted settings for this
option are:
User Directories
Opens the User Directories dialog box, which sets the directories the file chooser starts with
if directory memory is not available or is turned off.
To change any of the settings in this dialog box, select the check box, then enter the full path
of the directory.
General Files:
• Selected (genFileSet on) — Opens the General Files directory field, where you can enter
the path.
• Cleared (genFileSet off) — [default] The current working directory is used.
• General Files directory (genFilesDir pathname) — [default is current working directory]
Use this field to enter the directory path for general files.
Source Files:
• Selected (sourceFileSet on) — Opens the Source Files directory field, where you can
enter the path.
• Cleared (sourceFileSet off) — [default] The current working directory is used.
• Source Files directory (sourceFilesDir pathname) — [default is current working directory]
Use this field to enter the directory path for source files.
Project Files:
• Selected (buildFileSet on) — Opens the Project Files directory field, where you can enter
the path.
• Cleared (buildFileSet off) — [default] The current working directory is used.
• Project Files directory (buildFilesDir pathname) — [default is current working directory]
Use this field to enter the directory path for project files.
Executables/Binaries:
• Selected (execFileSet on) — Opens the Executables/Binaries directory field, where you
can enter the path.
• Cleared (execFileSet off) — [default] The current working directory is used.
• Executables/Binaries directory (execFilesDir pathname) — [default is current working
directory] Use this field to enter the directory path for executables.
Debug Servers:
• Selected (debugServerSet on) — Opens the Debug Servers directory field, where you
can enter the path.
• Cleared (debugServerSet off) — [default] The current working directory is used.
To edit colors, double-click the colored box next to any option. The Color Chooser
opens (for more information, see “The Color Chooser” on page 239).
On Windows, color options are expressed in RGB format as three decimal values.
For example, 255 0 0 specifies the color red. In the tables that follow, the default
RGB values provided are in hexadecimal, but decimal values appear on the Colors
tab for Windows users.
Unless otherwise stated, all MULTI tools opened during the current MULTI session
are notified of changes to color options. For more information, see “Propagating
Configuration Settings” on page 134.
For information about setting configuration options from the command pane, see
the introduction of Chapter 8, “Configuration Options” on page 175.
Global Colors
Linux/Solaris only
Global colors can only be set on Linux/Solaris systems. They affect the default colors for user
interface elements. The following global color options may be set:
Debugger Colors*
Controls how certain elements are displayed in the Debugger. The colors you can customize
are:
Syntax Coloring
Permitted settings for this option are:
• Selected (colorSyntax on) — [default] Source code will be syntax colored based upon
the Syntax Color Settings listed below.
• Cleared (colorSyntax off) — Source code will not be syntax colored.
If you change the setting of this option but do not save the configuration as the default, only the
MULTI tool from which the option was changed is aware of the new setting. If you do save the
configuration as the default, however, all MULTI tools launched after the change are also notified
of the new setting.
• Selected (cppCommentsinC on) — [default] C++ style comments (//) will be syntax
colored as comments in both C++ and C source files.
• Cleared (cppCommentsinC off) — C++ style comments will not be syntax colored as
comments in C source files.
If you change the setting of this option but do not save the configuration as the default, only the
MULTI tool from which the option was changed is aware of the new setting. If you do save the
configuration as the default, however, all MULTI tools launched after the change are also notified
of the new setting.
More Color Options
Opens the More Color Options dialog box, which contains additional colors that you can
configure. For more information, see “The More Color Options Dialog Box” on page 238.
*: These colors are used throughout the IDE to highlight text. As a result, changing
them may affect other windows, such as the Browse window.
For information about setting configuration options from the command pane, see
the introduction of Chapter 8, “Configuration Options” on page 175.
Diffview Colors
Sets the background color of the current selection in the Diff Viewer foreground.
On Windows, the standard color chooser is used. For more information, see your
Windows documentation.
To select a custom color — Use the color sliders or the text fields beneath
them to create a color.
2. Click OK to replace the color or Cancel to discard your changes and close
the Color Chooser.
GUI Reference
Chapter 9
Contents
Launcher Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
The Launcher Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Chapter 9. Launcher GUI Reference
This chapter contains detailed descriptions of the menus and toolbar buttons available
in the MULTI Launcher. Many of these items are mentioned in the main text of
this book in the context in which they are used. They are listed here together to
provide a comprehensive reference. For information about the two display modes
of the Launcher—concise mode and detailed mode—see “Launcher Display Modes”
on page 54.
Launcher Menus
The following sections describe the menu items available in the Launcher. Menu
items are dimmed if they are unavailable in your current context.
Note
When you apply a Move Selected Objects Up, Move Selected Objects
Down, or Run Selected Objects operation to selected objects in the
action tree (either from the Edit menu, the right-click shortcut menu, or
with a keyboard shortcut), the operation is applied as follows:
• If a check mark appears next to this menu item, issuing the multi command with no
arguments runs the Launcher. This is the default behavior.
• If no check mark appears next to this menu item, issuing the multi command with no
arguments runs the Project Manager.
• The Launcher cannot communicate with the specified MULTI IDE component.
• For Project Manager actions, the specified file is not a project file.
• For Debug Program actions, the specified program does not exist.
For example, if you select and run three sequential actions, and one of these errors is encountered
in the second action, the third action will not execute if this menu item is enabled.
For information about actions, see Chapter 3, “Managing Workspaces and Shortcuts with the
Launcher” on page 51.
Options
Opens the Options window. For information about the Options window, see Chapter 8,
“Configuration Options” on page 175.
Customize Menus
Opens the Customize Menus window, which allows you to configure menus in a number of
MULTI tools. For information about how to use this window, see “Configuring and Customizing
Menus” on page 147.
• Before a Debugger is closed, you may be asked whether to kill the process being debugged.
• Before an Editor is closed, you may be asked whether to save outstanding changes.
If the Launcher is the only window open, this menu item is not displayed.
No Windows
Indicates that no MULTI windows (except for the Launcher itself) are open.
License Info
Opens the Active Licenses dialog box, which displays the licenses in use.
Troubleshooting Info
Launches the gbugrpt utility, which collects information about your MULTI installation and
allows you to save it or email it. In the event of problems, it can be useful to email the information
to Green Hills Technical Support or to your product support contact.
• Workspace drop-down menu — Displays the current workspace. You can view
the full list of available workspaces by clicking the drop-down button. Imported
workspaces are indicated by .
• Projects — Opens the selected project in the Project Manager. If the current
workspace uses projects as arguments to Project Manager actions, these
projects are listed first. Recently used projects are listed next.
• Open Project Manager — Launches a Project Manager and a file chooser
that allows you to select a project.
• Create Project — Opens the Project Wizard, which helps you create a new
project. After you create the project, it loads in the Project Manager.
• Files — Opens the selected file in the Editor. If the current workspace uses
files as arguments to Editor actions, these files are listed first. Recently used
Editor files are listed next.
• Open Editor — Launches a file chooser that allows you to select a file to edit.
The Editor opens on the file you select.
• Event Stream Files — Opens the selected event stream file in the MULTI
EventAnalyzer. If the current workspace uses event stream files as arguments
to EventAnalyzer actions, these files are listed first. Recently used event stream
files are listed next.
• Open EventAnalyzer — Launches the MULTI EventAnalyzer.
(Quit) — Closes the Launcher. Whether this button appears on your toolbar
depends on the setting of the option Display close (x) buttons. To access this option,
select Config → Options → General Tab.
Contents
Project Manager Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
The File Shortcut Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
The Project Tree Pane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
The Project Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
The Memory Layout Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
The Build Options Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
The Advanced Build Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
The Utility Program Launcher Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Chapter 10. Project Manager GUI Reference
This chapter contains detailed information about GUI elements of the Project
Manager, as well as descriptions of some of the windows and dialog boxes you can
open via the Project Manager. Many of the GUI elements documented in this chapter
are mentioned in the main text of this book in the context in which they are used.
They are listed here together to provide a comprehensive reference.
Modify Project
Contains actions appropriate to the selected component. These actions can include:
• Add Item — Opens a Select Item to Add dialog box. You can use this dialog box to add
context-appropriate components to your project.
• Comment Out — Marks the item so that it is not included when the project is built. The
item is still visible in the Project Manager, but is disabled. This is different from adding a
comment to a project file with the # character.
• Resolve Requirements — For stand-alone projects, this menu item checks the selected
component and its children for dependencies on customized libraries in your target resources
project. If those libraries are not present, they are added to your project.
For INTEGRITY projects, this menu item checks for many different types of dependencies
specific to INTEGRITY, and attempts to resolve those that are unsatisfied.
• Uncomment — Removes the comment mark added by Comment Out from the item so
that it is included when the project is built. This menu item is different from removing the
# character at the beginning of an existing comment.
In INTEGRITY projects, additional options may be available. For more information, see the
INTEGRITY Development Guide.
Edit (Ctrl+E)
Opens the selected file in an Editor window.
Graphically Edit
This item is only available for some file types.
Opens a customized graphical editor for the file, such as the Connection Organizer (see Chapter
3, “Connecting to Your Target” in the MULTI: Debugging book).
Add Item into selected file (Ctrl+I)
Opens a component selector for you to add a context-appropriate component into the current
project. If only one component is appropriate, it will skip straight to the add dialog for that
component. The files are added into the selected project.
Add File into selected file
Opens a browser window that allows you to choose a file to add into the current project.
To make the project file portable, MULTI uses relative or base names for the added files
whenever possible by resolving them relative to the set source directories.
Add File after selected file
Similar to Add File Into selected file, except that this menu item is not shown when you have
a container project selected, and the file you insert goes immediately after the selected file (in
the same parent project).
Undo (Ctrl+Z)
Undoes the last change made to your project by the Project Manager during your current session.
You can use this item repeatedly to undo multiple changes.
If you make changes to a file outside of the Project Manager, those changes will be lost if an
Undo operation affects that file.
Redo(Ctrl+Y)
Re-applies the last change made by Undo. You can use this item repeatedly to redo multiple
changes made by Undo.
If you make changes to a file outside of the Project Manager, those changes will be lost if a
Redo operation affects that file.
Copy selected file as Link
Copies the selected items to the clipboard. Use this item if you intend to Paste as Link.
Copy selected file Local
Copies the selected items to the clipboard. Use this item if you intend to Paste Local.
Paste as Link
Pastes the clipboard items and creates a reference to them in the selected context.
Paste Local
Pastes the clipboard items and makes a recursive copy of each item within the selected context.
Remove selected file
Removes the currently selected files from the project. The file itself is not deleted.
Delete selected file
Deletes the currently selected files from the project and also from the disk.
Set Build Target
Opens the Target Selector dialog box, which allows you to change the board and processor for
which your project will be built. For more information, see “Changing the Build Target”
on page 26.
Set Build Macros
Opens the Set Build Macros dialog box, which allows you to define macros to stand in for
commonly used strings in option settings. For more information, see “Setting Build Macros”
on page 44.
Advanced
Displays the Advanced submenu, which contains the following items:
• Create Auto-Include Subproject — Opens the Add new auto-include project dialog
box that allows you to specify patterns of files to automatically include in the selected
project. For more information, see “Automatically Including Files” on page 23.
• Set File Type — Opens the Set Type dialog box that allows you to change the file type
of the selected file. This operation is not available for project files.
• Set Options in Parent — Opens the Build Options window to set Builder options for the
selected file, but stored in the parent. For source files, this is the normal behavior provided
by Set Build Options, but for projects this allows options to be set for a particular
occurrence of the project. For more information, see “Setting Options for Projects and
Subprojects” on page 47.
• Set Imported Environment Variables — Opens a dialog box that allows you to import
variables from your environment to stand in for strings used in your option settings. For
more information, see “Importing Environment Variables” on page 45.
• Simplify All Filenames — Attempts to convert any absolute filenames into filenames
relative to the set source directories. This command modifies your project. Specifically, if
the path of a file is removed and if the file can still be found by searching the source
directories list, then the full pathname is replaced by the filename without a path. This is
a simple means of converting absolute pathnames in projects to short relative pathnames,
which increases portability. This resolving is done automatically when files are added, so
this functionality is usually only useful after changing source directories.
Expand Project
Recursively expands the selected file to show all its children.
Contract Project
Recursively contracts the selected file to hide all its children.
Show Paths
Displays the Show Paths submenu, which offers options to display the following:
• Full Paths — Displays the full path information for files in the Project Manager window.
• Relative Paths — Displays the relative path information for files in the Project Manager
window. This item is enabled by default.
• Filenames Only — Only displays the filenames in the Project Manager window.
Highlight Selections
Toggles the highlighting of all the files that are included within the currently-selected project
file. This setting is saved across sessions.
Show All Views
Enables or disables the view of the content panes.
Show Type Column
Displays the file type in the project tree.
Show Options Column
Displays compiler options that are set at this level of the hierarchy.
Show Size Column
Displays the size of executable files and the size of the compiled output of your source files.
Filter Project View
Displays the Filter submenu, which offers options to show or hide various file types in the
Project view pane. Selecting Show All makes all files visible.
Connect (F4)
Opens the Connection Chooser dialog box, which allows you to connect to a target or simulator.
Connection Organizer
Opens the Connection Organizer. For more information, see Chapter 3, “Connecting to Your
Target” in the MULTI: Debugging book.
Load Module
This submenu is only available for multitasking debug servers. It allows you to download a new
object module to the target. Choose Load Module again from the submenu to choose the module
to download from a dialog box, or choose one of the recently downloaded modules from the
list provided.
Load Module is only available when you are connected to a run-mode target that supports and
was configured with a dynamic loader (for example, the LoaderTask on INTEGRITY). For
more information, see “Establishing Run-Mode Connections” in “Run-Mode Debugging” in
the MULTI: Debugging book.
1 connection
2 connection
3 connection
4 connection
Lists the most recently connected debug servers. To connect to one of them, select it.
Configuration
Opens a submenu offering the following options:
• Save Configuration as User Default — Saves the current configuration into the default
user configuration (.cfg) file for MULTI, so that it will be used for future sessions.
• Clear User Default Configuration — Deletes the default user configuration file for
MULTI.
• Save Configuration As — Opens a file chooser dialog box for you to choose a file and
then saves the current configuration into it.
• Load Configuration — Opens a file chooser dialog box that allows you to load a
configuration file.
• Set INTEGRITY Distribution — Opens the Default INTEGRITY Distribution dialog
box, where you can set the location of your INTEGRITY installation directory.
• Set u-velOSity Distribution — Opens the Default u-velOSity Distribution dialog box,
where you can set the location of your u-velOSity installation directory.
Editor
Opens a file chooser to select a file to open in the Editor.
Launcher
Opens the Launcher.
Use the File Shortcut Bar to find or build files that match a search string. Your
search string can contain wildcards (for example, * and ?). The bar has two
components; a drop-down list that enables you to select which action the Project
Manager will perform, and a text box, where you specify your search and any
options. The Project Manager always searches your entire Top Project for files that
match the search string. The following table lists each action, along with the
appropriate syntax for the text box.
Find: file
Locates an instance of the specified file in the project tree. This option is best suited to finding
.gpj files or uniquely named files quickly.
Next: file
Locates the next instance of the specified file in the project tree. This option is best suited to
finding files with commonly used names.
Search: search_string
Performs a full-text search of the selected source file or of all source files contained within the
selected project file.
Search All: search_string
Performs a full-text search of all source files.
Note
When you specify a file in conjunction with the Build:, Find:, or Next:
action, do not include a path. The File Shortcut Bar will search for:
You can use wildcards (for example, * and ?) in your File Shortcut Bar search
string. For example, selecting Find and entering *svc* locates all projects and
source files whose names contain svc. If there is exactly one matching file and
Find: or Next: is selected, the Project Manager selects that file in the project tree.
If there is more than one match, the Project Manager opens a Find Results window
with a list that contains each matching file's name, type, parent project, and path.
If Build:, Find:, or Next: is selected and there are no matches for your search string,
the Project Manager will append a * wildcard to the end of the string and search
again. For example, if you try to find svc and there are no files named svc, the
Project Manager performs your search again as svc*. It will then select the one file
in your project beginning with svc, or display the Find Results window with a list
of files that begin with svc.
You can also use wildcards when the Build action is selected in the shortcut bar.
The behavior is the same as the preceding, except that instead of opening a Find
Results window, the matching file or files are built. If there are no matches for your
search string, the Project Manager will append * to the string and build all matching
files.
• Name — The name of each file and its position in the project hierarchy.
• Type — The type of file, which is usually determined from its extension. For
more information, see the next section.
• Options — The compiler options that are set at this level of the hierarchy.
• Size — The amount of memory required for the file. Files must be built for
this data to appear. If you hover your mouse over a value in this column, a
tooltip containing the breakdown of memory needed for read-only and
read-write sections appears.
By default, the Options and Size columns are not visible. To display these columns,
enable View → Show Options Column, or View → Show Size Column.
File Types
Project files and the files they reference have a type associated with them. That type
or another descriptive name is displayed for each file in the Type column of the
Project Tree pane.
For INTEGRITY and velOSity project files (.gpj), you may see these types in the
Project Tree pane:
For more detailed information about these application types and other
INTEGRITY-specific types, see the INTEGRITY Development Guide.
For information about other file types, see the documentation about file types in
the MULTI: Building Applications book.
The Project tab of the advanced views pane displays the important components in
your project using a layout that is similar to what you might draw on a white board.
Projects (.gpj) have a small plus or minus sign that allows you to expand or collapse
their contents. The Project tab displays the current selection in the Project Tree.
If you select multiple items, the display does not change.
Double-clicking any item in the Project tab allows you to configure that item. For
example, if you double-click a project, MULTI opens the project's settings. If you
double-click a source file or text file, MULTI displays a dialog that allows you to
rename the file.
You can show or hide various file types by changing the settings in the View →
Filter Project View menu.
The Memory Layout tab of the advanced views pane is a graphical representation
of section maps defined by your executable.
You can navigate the Memory Layout pane by using the following buttons:
• — Zooms in.
• — Zooms out.
• — Displays detailed memory layout data about each section. The data is
equivalent to the information outputted by the gdump -map command.
• — Displays all of the program sections for the selected project file.
You can navigate the colored chart area by clicking and dragging on the colored
program sections in the active window. By performing this action, you are zooming
in on a specific range of memory. You can also drag the currently displayed range
on the scale to view different parts of memory.
Click to display the Memory Layout Data dialog box, which lists all program
sections that can be viewed. In the Memory Layout Data window, you can
single-click a section to scroll to that section, or you can double-click a section to
zoom in on that section. If your embedded target uses the Green Hills linker, you
can find more information in the documentation about configuring the linker with
linker directives files in the MULTI: Building Applications book.
A large enough break in section addresses is indicated in the Memory Layout pane
with a separator icon, shown next.
• The Command Line tab, which shows the driver options that will be passed
to the compiler when you build the selected file:
Note
The following options apply only to the current build. Corresponding
gbuild options are displayed in parentheses.
To use a utility:
If you open the Utility Program Launcher from the Project Manager while
you have an item selected in your project, the path to that item may appear in
the Arguments box.
4. Click Run to run the utility.
For more information, see the documentation about utility programs in the MULTI:
Building Applications book.
Contents
Editor Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
The Editor Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
The File and Function Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
The Status Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Linux/Solaris Dialog Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
The Per File Settings Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
The Search Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
The Search in Files Results Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Chapter 11. Editor GUI Reference
This chapter contains detailed information about GUI elements of the MULTI
Editor, as well as descriptions of some of the windows and dialog boxes you can
open via the Editor. Many of the GUI elements documented in this chapter are
mentioned in the main text of this book in the context in which they are used. They
are listed here together to provide a comprehensive reference.
Editor Menus
The following sections describe the menu items available in the Editor.
Save All
Opens the Save All dialog box. All open files with changes that have not been saved will be
listed. Select the check boxes next to the files you want to save, then click Save Selected. To
save all of the listed files, click Save All.
This menu item is bound to the QuerySaveAll command (see “File Commands” on page 340).
Toggle Write Permission
Toggles the permission for the file between read-only and read/write mode, if possible. A stop
sign in the right corner of the status bar indicates that the file is currently read-only. This menu
item changes both the file's window permission and the file's permission on disk. See also the
Read Only Window menu item in “The View Menu” on page 282.
This menu item is bound to the ToggleWritePermission command (see “View Commands”
on page 364).
Revert to Saved
Undoes all changes made to the current file since the last time it was saved.
This menu item is bound to the Revert command (see “File Commands” on page 340).
Revert to Backup
Undoes all changes made to the current file since the last time it was backed up. For information
about enabling backups, see the configuration option Create backup files when saving in “The
MULTI Editor Options Tab” on page 220.
This menu item is bound to the RevertToBackup command (see “File Commands” on page 340).
Page Setup
Windows only
Opens the Page Setup dialog box, which allows you to set printing options for the current file.
This menu item is bound to the PageSetup command (see “File Commands” on page 340).
Print
Opens the Print dialog box, which allows you to print the current file to a printer or to a file.
For information about the Linux/Solaris Print dialog box, see “The Print Setup Dialog Box”
on page 298.
This menu item is bound to the Print command (see “File Commands” on page 340).
Properties
Displays information the Editor is able to obtain about the current file, including:
This menu item is bound to the FileProperties command (see “File Commands” on page 340).
1, 2, 3, 4, 5, 6, 7, 8
Lists a maximum of eight previously viewed files. Select any of the files to open it in the current
Editor window.
Close File (Ctrl+Shift+P)
Closes the current file and prompts you to save any unsaved changes. If the file was checked
out of version control during this session, you will be prompted to check it back in.
Close Editor (Ctrl+Q)
Prompts you to save the changes made to open files, then exits the Editor.
This menu item is bound to the Close command (see “File Commands” on page 340).
Exit All
Prompts you to save the changes made to all open files, then quits all MULTI IDE tools.
This menu item is bound to the Quit command (see “File Commands” on page 340).
Undo (Ctrl+Z)
Reverts the last change made to the current file. Each Undo reverts one more change. This
process can be repeated until all changes made since the file was opened are undone.
This menu item is bound to the Undo command (see “Undo/Redo Commands” on page 361).
Redo (Ctrl+Y)
Restores the last edit that was removed by Undo. You can Redo multiple Undos, until you
make new changes to the file.
This menu item is bound to the Redo command (see “Undo/Redo Commands” on page 361).
Repeat Last Edit (Ctrl+.)
Repeats the last edit you made to the file.
You can only use this feature with certain types of edits: text input or replacement. For example,
if you just selected text and replaced it with new text, then Repeat Last Edit will delete a similar
selection contiguous to the cursor and insert the new text.
For example, your file contains the text:
This is a block of text.
You select the word block and type string, to change the text to:
This is a string of text.
If you move the cursor to the beginning of the word text (you do not have to highlight the
word) and select Edit → Repeat Last Edit, the text will change to:
This menu item is bound to the RepeatLast command (see “Undo/Redo Commands”
on page 361).
Cut (Ctrl+X)
Deletes the current selection and places it on the clipboard.
This menu item is bound to the Cut1 command (see “Clipboard Commands” on page 334).
Copy (Ctrl+C)
Copies the current selection to the clipboard.
This menu item is bound to the Copy1 command (see “Clipboard Commands” on page 334).
Paste (Ctrl+V)
Pastes the clipboard contents to the current location.
This menu item is bound to the Paste1 command (see “Clipboard Commands” on page 334).
Delete (Ctrl+D)
Deletes the selection, if any, or deletes the next character if there is no selection.
This menu item is bound to the Delete command (see “Text Deletion Commands” on page 358).
Language
Specifies the programming language used in the current source file. The Editor uses this setting
for syntax coloring, commenting, and auto-indenting features.
This menu item is bound to the SelectLanguage command (see “File Commands” on page 340).
The setting defaults are specified in the corresponding language's configuration file (see “The
language.gsc Syntax Definition Files” on page 166).
This menu item is bound to the LanguageOptions command (see “File Commands” on page 340).
Per File Settings
Opens the Per File Settings dialog box which lists variables that can be set for an individual
file. These settings are used only for the current session. See “The Per File Settings Dialog Box”
on page 300 for details.
This menu item is bound to the EditorFlags command (see “File Commands” on page 340).
Next File (Ctrl+Tab)
Switches to the next open file in the Editor stack.
This menu item is bound to the CyclePushBack command (see “View Commands” on page 364).
Previous File (Ctrl+Shift+Tab)
Switches to the previous open file in the Editor stack.
This menu item is bound to the CyclePush command (see “View Commands” on page 364).
Flash Cursor (Esc)
Scrolls to and flashes the line containing the cursor.
This menu item is bound to the FlashCursor command (see “Navigation Commands”
on page 348).
Match (Shift+Right-click)
Searches backward from the cursor for the first paired character (parenthesis, square bracket,
or curly brace) at the same nesting level as the cursor, and selects the paired characters and all
text enclosed by them.
This menu item is bound to the SelectToMatch command (see “Selection Commands”
on page 354).
Read Only Window
Toggles the window permission for the file between read-only and read/write mode, if possible.
A check next to this menu item indicates that the Editor treats the file as read-only. This does
not affect the file's permission on disk. See also the Toggle Write Permission menu item in
“The File Menu” on page 278.
This menu item is bound to the ToggleReadOnly command (see “File Commands” on page 340).
Go To Definition of Selected Object
Displays the current selection's definition (if available) in the Editor source pane. This menu
item only appears when you are editing C, C++, or Ada files.
This menu item is bound to the GotoObjDef command (see “View Commands” on page 364).
Go To Declaration of Selected Object
Displays the current selection's declaration (if available) in the Editor source pane. This menu
item only appears when you are editing C, C++, or Ada files.
This menu item is bound to the GotoObjDecl command (see “View Commands” on page 364).
Browse References of Selected Object
Displays the object's cross references, if any, in a Browse window. For more information, see
“Browse References” on page 80. This menu item only appears when you are editing C, C++,
or Ada files.
This menu item is bound to the BrowseObjXRef command (see “View Commands” on page 364).
Generate Cross References / Regenerate Cross References
Obtains complete cross reference information based on the project to which the source file
belongs. When you select this menu item, the Editor will search for the enclosing project and
generate cross reference information for the whole project.
Once cross reference information for the enclosing project is generated, the menu item will
change to Regenerate Cross References. If any of the source files in the project have changed,
the cross references for the enclosing project must be regenerated for the information to be
accurate.
These menu items only appear when you are editing C or C++ files.
These menu items are bound to the GenerateXrefInfo and RegenerateXrefInfo commands.
Indent (Ctrl+i)
Indents at the beginning of the current line or selected lines. The default size is four spaces. To
change the indent size, select Config → Options, then select the MULTI Editor tab and edit
the Indent size field.
This menu item is bound to the Indent command (see “Indentation Commands” on page 344).
Unindent (Ctrl+Shift+i)
Deletes a number of spaces equal to or less than the size of an indent from the beginning of the
current line.
This menu item is bound to the Unindent command (see “Indentation Commands” on page 344).
Auto Indent (Ctrl+2)
Indents the current line or block of lines to the position indicated by the syntax of the code. This
option is only available for the C, C++, Java, and Ada languages. For more information, see
“Auto Indenting Code” on page 89.
This menu item is bound to the AutoIndent command (see “Indentation Commands”
on page 344).
Comment (Ctrl+*)
Inserts language specific characters to signify that the selected text is a comment, and not code.
This menu item is bound to the CommentBlock command (see “Block Commands” on page 332).
UnComment (Ctrl+Shift+U)
Removes comment characters from the selected text to make it active code.
This menu item is bound to the UnCommentBlock command (see “Block Commands”
on page 332).
Wrap Comment (Ctrl+Shift+A)
Wraps the current comment across multiple lines.
This menu item is bound to the FillParagraph command (see “Block Commands” on page 332).
UpperCase (Ctrl++)
Changes all the characters in the current selection to uppercase.
This menu item is bound to the UpperCaseBlock command (see “Block Commands”
on page 332).
LowerCase (Ctrl+–)
Changes all the characters in the current selection to lowercase.
This menu item is bound to the LowerCaseBlock command (see “Block Commands”
on page 332).
Rect Copy
Copies a rectangular subsection of the current selection to the clipboard. For more information,
see “Working with Columns” on page 92.
This menu item is bound to the RectCopy1 command (see “Clipboard Commands” on page 334).
Rect Cut
Deletes a rectangular subsection of the current selection, and copies it to the clipboard. For more
information, see “Working with Columns” on page 92.
This menu item is bound to the RectCut1 command (see “Clipboard Commands” on page 334).
Rect Paste
Pastes a clipboard selection created with Rect Copy or Rect Cut to the current location without
line breaks. If you use Edit → Paste (Ctrl+V) to paste a rectangular selection, line breaks will
be added. For more information, see “Working with Columns” on page 92.
This menu item is bound to the RectPaste1 command (see “Clipboard Commands” on page 334).
Cut Lines (Ctrl+M)
Extends the current selection to the closest line boundaries, deletes the selection, and places it
on clipboard number one.
This menu item is bound to the SelectLine; Cut1 command combination (see “Selection
Commands” on page 354 and “Clipboard Commands” on page 334).
Join Lines (Ctrl+P)
Joins two lines of text by replacing the new line character from the end of the current line and
all initial whitespace on the next line with a single space.
This menu item is bound to the JoinLines command (see “Block Commands” on page 332).
Insert File
Opens the Insert dialog box, which allows you to select a file to be inserted. The contents of
the inserted file are placed on the line above the cursor.
This menu item is bound to the InsertFile command (see “Insert Commands” on page 346).
This menu item is bound to the ExecuteCmd command (see “Tools Commands” on page 359).
Command to Window
Linux/Solaris only
Opens the Command to Window dialog box, which allows you to execute a command in the
shell. Output will appear in a new temporary Editor window. This command does not modify
the open file.
The following macro sequences are recognized in the command:
This menu item is bound to the CommandToWindow command (see “Tools Commands”
on page 359).
Execute Editor Commands
Opens the Execute Editor Commands dialog box, which allows you to enter Editor commands.
This menu item is bound to the Minibuffer command (see “Tools Commands” on page 359).
Merge Files
Opens the Choose files to merge dialog box, which allows you to merge two or three files. For
more information, see “Merging Files” on page 93.
This menu item is bound to the MergeFiles command (“Tools Commands” on page 359).
Diff Files
Opens the Choose two files dialog box, which allows you to find and display the differences
between two files. For more information, see “Comparing Files” on page 98.
This menu item is bound to the DiffFiles command (see “Tools Commands” on page 359).
Check Out
Retrieves a writable copy of the latest version and locks the file so that other users cannot change
the file while you work on it. Checks out the current file from version control for editing. (Files
cannot be edited unless they are checked out.) This action is not available if you are using CVS
or Subversion.
This menu item is bound to the CheckOut command (see “Version Control Commands”
on page 362).
Update
Issues an update command. If the repository version corresponding to the version of the local
file has changed, the changes are merged into the local file. This menu item is only available
for CVS and Subversion.
Check In/Commit
Saves any changes you have made to the current file. With some version control systems, the
file becomes read only in MULTI, and the lock is removed from the file. You will be asked for
comments to be saved in the log file along with your changes (see “The Commit Changes Dialog
Box” on page 117). Commit is used for CVS and Subversion, and Check In is used for other
version control systems.
This menu item is bound to the CheckIn command (see “Version Control Commands”
on page 362).
Check In All
Saves the changes you have made to all the files you have checked out. With some version
control systems, the files become read only in MULTI, and the lock is removed from the files.
You will be asked for comments to be saved in the log file along with your changes.
This menu item is bound to the QuerySaveCheckinAll command (see “Version Control
Commands” on page 362).
Discard Changes
Undoes all changes made to the file since it was checked out from version control, and reverts
to the latest version. With some version control systems, the file becomes read only in MULTI,
and the lock is removed from the file. This function updates the timestamp on a file in case the
modified version was used in a previous build. Use this to undo a checkout without making any
changes.
This menu item is bound to the Discard command (see “Version Control Commands”
on page 362).
Place Under VC
Puts the current file under version control, prompting you to insert comments (if desired). With
some version control systems, the file must be checked out before changes can be made.
This menu item is bound to the PlaceUnderVC command (see “Version Control Commands”
on page 362).
Auto Checkout
Enables or disables Auto Checkout mode. If Auto Checkout is not selected, you must manually
check out a file that uses version control before you can edit the file. If Auto Checkout is
enabled, files will be automatically checked out from the version control system when you
initiate an editing action. This option is only applicable to version control systems that require
a file to be checked out before changes can be made to it.
This option functions on a per-file basis and defaults to the value of the Automatic Checkout
configuration option. For more information, see Chapter 7, “Configuring and Customizing
MULTI” on page 129 .
This menu item is bound to the AllowAutoCheckout and PreventAutoCheckout commands
(see “Version Control Commands” on page 362).
Show History
Opens the History Browser, which displays information about all versions of the current file.
This window displays the check-in comment, who checked the file in, and the date of the
check-in. You can double-click any entry in the history to open the Editor on a temporary copy
of that version. (If you are using ClearCase, this command opens the ClearCase history browser
rather than the MULTI History Browser.)
This menu item is bound to the ShowHistory command (see “Version Control Commands”
on page 362).
Show Last Edit
Finds the version of the current file in which the selected text was last changed, or, if no text is
selected, finds the version of the current file that was last changed. A Diff Viewer window
opens and displays the changed text. (For more information about this window, see “Using the
Diff Viewer” on page 123.)
This menu item is bound to the ShowLastEdit command (see “Version Control Commands”
on page 362).
Revert To History
Opens the History Browser, which lists all versions of the current file, and from which you can
select a version to load into the Editor. (This is not supported for all version control systems.)
This menu item is bound to the RevertHistory command (see “Version Control Commands”
on page 362).
Revert To Date
Opens a dialog box in which you can enter a revision date. The Editor will load the version that
was current on the date you specify.
This menu item is bound to the RevertDate command (see “Version Control Commands”
on page 362).
Revert To Version
Opens a dialog box in which you can enter a version number of the current file to load into the
Editor. (This is not supported for all version control systems.)
This menu item is bound to the RevertVersion command (see “Version Control Commands”
on page 362).
Options
Opens the Options window to change options that affect the appearance and behavior of the
Editor and other MULTI tools. This window is covered in detail in Chapter 8, “Configuration
Options” on page 175.
This menu item is bound to the ConfigOptions command (see “Configuration Commands”
on page 337).
Customize Menus
Opens the Customize Menus window, which allows you to configure menus in a number of
MULTI tools. For information about how to use this window, see “Configuring and Customizing
Menus” on page 147.
This menu item is bound to the CustomizeMenus command (see “Configuration Commands”
on page 337).
Save Configuration as User Default
Saves the current configuration options in a file in the default location. For more information,
see “Saving to the User Configuration File” on page 132.
This menu item is bound to the SaveConfig command (see “Configuration Commands”
on page 337)
Clear User Default Configuration
Prompts before clearing the default configuration file and restoring the default system
configuration.
This menu item is bound to the ClearConfig command (see “Configuration Commands”
on page 337)
Save Configuration As
Opens the Save Configuration to what file? dialog box, which allows you to specify the
filename and location for the configuration file. For more information, see “Saving Configuration
Settings” on page 132.
This menu item is bound to the SaveConfigToFile command (see “Configuration Commands”
on page 337).
Load Configuration
Opens the Load Configuration from what file? dialog box, which allows you to specify the
filename and location of the configuration file you want to load.
This menu item is bound to the LoadConfigFromFile command (see “Configuration Commands”
on page 337).
The following are menu items that may appear in the Windows menu:
debugging_window
Gives focus to a debugging-related window that has been launched from the local executable.
application_name
Gives focus to the main Debugger window for the local application.
IDE_tool
Opens a submenu that lists windows corresponding to the IDE_tool. The windows listed in this
submenu might be created from the local execution or from other executions.
If only one MULTI Launcher is open, that tool does not have a submenu; it has a menu entry
instead.
Misc
Opens a submenu listing other windows types that do not fall into any of the above categories.
• Cut, Copy, Paste and Undo — For information, see “The Edit Menu”
on page 280.
• Go To Definition — For information, see “Go To a Definition” on page 79.
• Go To Declaration — For information, see “Go To a Declaration” on page 79
(Open) — Opens the Edit File dialog box, which is used to select a file to open
in the Editor.
(Paste) — Pastes the contents of the clipboard to the current cursor location.
(Find) — Opens the Search dialog box, which is used to conduct an interactive
search (see “Interactive Searching Using the Search Dialog Box” on page 85).
(Goto) — Opens the GoTo dialog box, which is used to go to a file, line or
function (see “Using the GoTo Dialog Box” on page 81).
(Previous File) — Switches to the previous open file in the Editor's stack.
(Next File) — Switches to the next open file in the Editor's stack.
(Retry Build) — Retries building the project containing the open source file.
This button is available in the Editor window that opens when a build error is
encountered.
(Next Error) — Navigates to the next build error. This button is available in
the Editor window that opens when a build error is encountered.
(Save and Close) — Saves files without prompting, then quits the Editor.
(Close Editor) — Quits the Editor. The presence or absence of this button on
the toolbar is a configurable option (see the configuration option Display close (x)
buttons in “The General Options Tab” on page 177). By default, the button does
not appear.
• File — This field displays the name and path of the file you are currently
editing. You can type another filename in the field to open it in the Editor
window. The drop-down menu provides access to your most recently used
files. Files open in the current Editor session appear at the top, and other recently
used files appear below.
• Function — The drop-down menu displays all functions defined in the file.
You can use this box to go to a function in the file. Select a function from the
drop-down menu, or type a function name in the field. This field only appears
when you are editing C or C++ files.
As you type characters in this field, the Editor will auto-complete with functions
that match the characters you type. You can type part of a function name, then
select the drop-down menu to view a list of all functions that match the string
you have entered. If you are uncertain about a function's name, you can use *
and ? wildcard characters.
• Line Number — This field displays the number of the line where the cursor
is located. The tooltip that appears when you hover over the field displays
complete line and column numbers. To go to a specific line in the file, type the
line number in this field, and press Enter.
• Status box — The left corner of the status bar displays status, usage, and error
messages. For example, when you press Ctrl+F (see “Incremental Searching”
on page 83), the left corner of the status bar displays the search text as you
type it.
• Cursor position indicator — Displays the current line and column position
of the cursor. If the line number exceeds 99999 or if the column number exceeds
999, only a partial number is displayed. To view complete line and column
numbers, hover your mouse over the line number field in the upper-right corner
of the window.
• Read-only window indicator — A stop sign appears near the right corner of
the status bar if the window permission for the current file is read-only. See
also Toggle Write Permission in “The File Menu” on page 278 and Read Only
Window in “The View Menu” on page 282.
• Change dot — A small red star appears near the right corner of the status bar
if changes have been made to the file since the last time it was saved.
• Version control status — The letters VC appear in the right corner of the status
bar if the current file is under version control. The letters will be red if the file
has been checked out. Otherwise they will be black.
The title bar of the file chooser will vary depending on the action you are performing.
The following table describes the main elements of the file chooser.
Item Meaning
Directory Displays the directory whose contents are shown in the File List. Type
in a new directory name and press Enter to display a different directory.
Directory Buttons With this set of buttons, you can quickly go to different important
directories. The buttons that appear are:
— Up One Directory from the current directory.
— Jumps to the current Working Directory.
— Jumps to the IDE Installation Directory.
— Jumps to the User Home Directory.
Item Meaning
File List Below the directory text field is the file list. To enter a directory,
double-click the directory. To choose a file, single-click the filename.
You can click any column header to sort the list in ascending or
descending order.
If multiple files are allowed for the present operation (for example, Open
is selected in the editor menu), use the Shift key to select a consecutive
list of files; use the Ctrl key to select non-consecutive files.
Filename Type a filename or directory name into this text field. As you type in
this field, the selection in the file list will change to reflect the closest
match. If you type a directory name and press Enter, or follow the
directory name by a slash (/), the file list will change to the specified
directory.
File type If you select a file type, the File List will only display files with suffixes
that match the selected file type.
Action buttons There are two buttons in the lower right corner of the file chooser
window. The upper button displays the action that will occur, such as
Edit (in the example above), OK, or Open. The lower button is the
Cancel button, which closes the window without taking any action.
On Linux/Solaris systems, selecting a printing operation from the File menu opens
the Print Setup dialog box. The settings of this dialog box are described in the
following table.
Item Meaning
Print To Specifies where to send the print output. Select either Printer (the
default) or File (to write to a PostScript file).
Item Meaning
Print Command Specifies the print command that will be run when you click Print. Enter
the appropriate command and options for printing a file on your specific
system (for example, lpr).
You can also set the print command with the configure printCommand
command. For more information, see “The General Options Tab” in
Chapter 8, “Configuration Options” in MULTI: Managing Projects and
Configuring the IDE.
This field is only available if you have chosen the Printer radio button.
Filename Specifies the output PostScript file for Print To File operations. This
field is only available if you have selected the File radio button. Enter
the name of the file to write to, or click Browse to open a dialog box
that allows you to specify the name of the file. If the file already exists,
you are prompted to confirm that it should be overwritten. (See “The
File Chooser Dialog Box (Linux/Solaris)” on page 297 for a description
of the dialog box.)
Font Name Specifies the PostScript font for your printing operations. Select your
desired font from the drop-down list, which contains a list of available
fonts on your system. You can also type a font name into this field if it
is not in the list.
Font Size Specifies the font size used for printing. Select your desired size from
the drop-down list. The default font size is 8 point.
Paper Size Specifies your paper size. Select Letter, Legal, Executive, or A4. The
default setting is Letter.
Orientation Specifies the layout for your printed document. Select Portrait or
Landscape. The default setting is Portrait.
Columns Specifies whether to print the output in one or two columns. The default
setting is 1.
Print Executes the print request.
Cancel Cancels the print request and discards any settings you have changed.
Note
These settings default to the Editor options in Config → Options. For
more information about these settings, see “The MULTI Editor Options
Tab” on page 220 and “The More Editor Options Dialog Box” on page 226.
The Per File Settings dialog box contains the following fields:
Indent size
Controls the number of spaces the Editor inserts when you press the Tab key. The default is 4
spaces. If you enter 0 to disable tabs, pressing Tab will insert a single space.
Ada indent size
For Ada language file types only. Sets the indentation size. The default is 3 spaces. For more
information, see “The MULTI Editor Options Tab” on page 220.
Ada continuation size
For Ada language file types only. Determines how far a line of Ada source code is indented if
it continues on multiple lines.
Wrap column
If Word wrap is enabled, this setting specifies the column at which word wrap takes effect. If
a line grows to longer than this number of columns as you are typing, the Editor will insert a
line break at the first whitespace character before the column. It will indent the newly formed
line by the same amount as the line above it, plus the wrap indent offset, described below.
Wrap indent offset
If Word wrap is enabled, this setting determines how much the wrapped line will be indented
past the indentation of the line above it.
Word wrap
Check this box to enable word wrap, or clear it to disable word wrap. If Word wrap is enabled,
the Editor will wrap lines automatically as you type, but will not wrap long lines while loading
a file.
Disk format
Determines whether the file will be saved in Linux/Solaris format or DOS format (with carriage
returns). It defaults to the appropriate setting.
The fields and options in the Search dialog box are described in the following table.
Item Meaning
Find Searches for and highlights the next occurrence of the string entered in this
field. To search for the next occurrence, click the Find button again, or press
Enter.
Replace Replaces the current selection with the string entered in this field.
Replace Replaces the current selection and then searches again.
Then Find
Find Then Searches for the next occurrence of the search string, and replaces it with
Replace the replacement string.
Replace All Starts at the beginning of the file and replaces all occurrences of the search
string with the replacement string.
Undo Undoes the last Editor command. Note that this button will Undo the last
change in the file, not just changes made from the Search dialog box.
Item Meaning
Forward Determines whether the search proceeds forward or backward from the
current location. (The default is Forward.)
Backward
The Editor searches from the current location in the file toward the end of
the file for a forward search, and toward the beginning of the file for a
backward search. If the search string is not found before it reaches the end
or the beginning, the search stops and the status bar displays an error message.
If you start the search again, it resumes from the beginning or the end of the
file.
Case Determines whether or not the search is case-sensitive. Select one of the
following:
Search Type Determines the type of search to conduct. Select one of the following:
Starts word Specifies whether the search string must appear at the beginning or end of
a word.
Ends word
If Starts word is checked, the search string must appear at the beginning of
a word. For example, fly matches fly or flybat, but not batfly.
If Ends word is checked, the search string must appear at the end of a word.
For example, fly matches fly or batfly, but not flybat.
If both are checked, the string string must form a complete word. For
example, fly matches fly, but not flybat or batfly.
If neither box is checked, any occurrence of the string is found.
Item Meaning
Starts line Specifies whether the search string must appear at the beginning or the end
of a line.
Ends line
These options function similarly to Starts word and Ends word, described
above, except that they apply to the beginning and end of a line.
Selecting both of these boxes specifies that the entire line must match the
search text.
Close Cancels the search and closes the Search dialog box.
Note
Some of the settings in this dialog box set the defaults for the next
incremental search (see “Incremental Searching” on page 83).
• Results pane — Contains columns that display information about the matching
lines in the files searched.
○ BP column — Displays whether or not a breakpoint is set on the matching
line. You can also use this column to set and remove breakpoints on certain
Contents
Checkout Browser Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
The Checkout Browser Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Checkout Browser Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Checkout Browser Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
The Commit Changes Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
History Browser Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
The History Browser Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Diff Viewer Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Chapter 12. Version Control Tools GUI Reference
This chapter contains detailed descriptions of the menus and toolbar buttons (if
applicable) available in MULTI's version control tools. Many of these items are
mentioned in the main text of this book in the context in which they are used. They
are listed here together to provide a comprehensive reference.
Revert to Repository
Reverts the selected file to its previous state. For example, if you select a locally added file and
then select this option, the file is removed from the repository and returns to the Not Under VC
state. If you select a locally modified file and then select this option, local changes are removed
and the file reverts to the version located in the repository.
Add
Marks files to be added to the version control system. Files will not be added to the remote
repository until you Commit them.
Delete
Marks files to be deleted from the version control system. If the files selected are not under
version control they will be deleted from your checkout. If the files exist in the repository they
will be removed from your checkout and marked for deletion. They will not be removed from
the repository until you Commit them.
Button Effect
Diff all locally modified Opens a Diff Viewer showing differences between local and
files original versions of all modified files.
Edit Opens the Editor on the selected file(s).
Show history Opens a History Browser that displays information about all
versions of the selected file (see “The History Browser”
on page 118). If you select multiple files, a separate History
Browser opens for each file.
Rescan Updates the status of the selected files or directory. This is
useful for determining whether either the repository or local
versions have been modified since the last scan.
Update Brings the selected files or directory in your checkout up to
date with the versions in the repository.
Commit Checks in local changes of the files or directories selected,
creating new versions in the repository. This launches the
Commit Changes dialog box. For more information, see
“The Commit Changes Dialog Box” on page 117.
Commit all locally Checks in changes for all the files or directories that have
modified, added, and removed been locally modified, added, or removed, creating new
files versions in the repository. This launches the Commit Changes
dialog box. For more information, see “The Commit Changes
Dialog Box” on page 117.
Revert Reverts the selected file to its previous state. For example, if
you select a locally added file and then click this button, the
file is removed from the repository and returns to the Not
Under VC state. If you select a locally modified file and then
click this button, local changes are removed and the file reverts
to the version located in the repository.
Add Marks files to be added to the version control system. Files
will not be added to the remote repository until you Commit
them.
Delete Marks files to be deleted from the version control system. If
the files selected are not under version control, they will be
deleted from your checkout. If the files exist in the repository,
they will be removed from your checkout and marked for
deletion. They will not be removed from the repository until
you Commit them.
Button Effect
Rescan All Updates the status of all files and directories located in the
Roots directory. This is useful for determining whether either
the repository or local versions have been modified since the
last full scan.
Add Checkout Allows you to add another directory to the current Checkout
Browser. A window in which you can specify the additional
directory appears when you click the button.
Filename
Names of files in the folder you selected. By default, the Checkout Browser only displays
changed files. For information about changing the default, see “The Show Menu” on page 307.
You can click the and buttons to expand or contract the file list.
Status
Current version control status of the file. The possible values for the status are:
Local Version
Version of the file as it currently exists in the local checkout.
Tag
The branch tag, if applicable.
Locked By
A list of user names that have the file locked. Only available for SourceSafe.
Status
Current version control status of the file.
Current Tag
Identifying label that was last used to update your local machine. A version might have several
labels associated with it in the version control system, but only the label used to update the file
on your local machine will appear.
Displaying
Shows the number of history entries and whether a Partial history or a Full history is being
displayed. If you are using Subversion and there are more than 100 history entries, Partial
history is shown. In this case, the History Browser also displays the Get more and Get all
buttons, which retrieve up to 100 additional entries or all entries, respectively.
Version List
The top half of the History Browser window displays a table containing the following
information for all versions logged in version control:
• Date — Lists the date and time each version was checked into the repository.
• Version — Lists the revision number assigned to each version of the file. If possible,
version numbers are grouped by branches with the +/- construct.
• User — Lists the user who saved each version.
• Tag — Lists the tags corresponding to each version. This is only available for CVS.
Information is displayed sorted by Version. You can change the sort criteria by clicking any of
the column headings.
Comment area
The bottom half of the History Browser window displays comments associated with the version
selected in the top half of the window. It also lists tags associated with this version.
Note
In the following table, the term whitespace refers to space and tab
characters. It does not refer to newline characters.
and
void func(int a);
If one line uses ten spaces while its counterpart uses only one, this difference is not considered
significant. However, if the second line uses no whitespace, a difference is shown.
You can only select one whitespace option at a time.
and
void func ( int a ) ;
Because it does not have enough information available to perform a true compilation of the file,
the heuristic parser that C tokenization uses cannot perfectly account for all cases.
You can only select one whitespace option at a time.
Ignore All Whitespace
Ignores all whitespace differences between files. For example, in this mode, the following text
is considered to be the same:
voidfunc(inta);
and
void func (int a);
and
void Func(int A);
This mode can be selected along with one of the whitespace modes.
Display Changes Within Lines
Highlights differences within non-matching lines, making it easier to identify changes in each
line. Portions of the line that match appear in dark gray.
If this option is not selected, the entire line is highlighted if it is different than the corresponding
line in the other pane.
and
stw r5, 4(r8)
This mode can be selected along with one of the whitespace modes.
Ignore Changes in Hex Numbers (0-9A-Fa-f)
Ignores all differences in hexadecimal numbers between lines. For example, in this mode, the
following text is considered to be the same:
.boottable 0x47000
and
.boottable 0x474c0
When this option is enabled, the Diff Viewer does not distinguish among A-F characters. For
example, the following sentences are considered to be the same:
The cafe is green.
and
The bead is green.
This mode can be selected along with one of the whitespace modes.
Appendices
Appendix A
Most MULTI IDE executables, such as mstart, me, and multi, are stored in the
top level of the MULTI IDE installation directory.
The following list outlines the contents of most MULTI IDE installation
subdirectories. The presence of subdirectories for separately licensed products such
as the TimeMachine tool suite are dependent upon your purchase.
Editor Commands
Contents
if Conditional Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Auto-Completion Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Block Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Clipboard Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Configuration Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
Drag-and-Drop Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
File Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
Help Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Indentation Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Insert Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
Mode Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Navigation Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Search Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Selection Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Text Deletion Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Tools Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Undo/Redo Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Version Control Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
View Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
Miscellaneous Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
Deprecated Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
Appendix B. Editor Commands
Most of the commands listed in this chapter are bound to Editor GUI menu items,
keyboard shortcuts, and/or mouse buttons. This command reference is provided so
you can customize the Editor to help you work more efficiently. For example:
• If you do not want to use the mouse when you are editing, you can bind any
command to a keystroke combination.
• If you find that you are often performing a particular sequence of actions, you
can combine the commands for these actions into a single keystroke, key
sequence, mouse button combination, GUI button, or menu item.
For more information about binding commands to menu choices, keystrokes, mouse
clicks, and buttons, see Chapter 7, “Configuring and Customizing MULTI”
on page 129. For a list of all default key and mouse bindings, see Appendix C,
“Default Key and Mouse Bindings” on page 369.
Note
You can also execute these commands via the MULTI-Python integration
(see Chapter 2, “Introduction to the MULTI-Python Integration” in the
MULTI: Scripting book). Alternatively, you can issue them by selecting
Tools → Execute Editor Commands and entering them in the text box
that appears. However, since most of these commands are bound to menu
choices, keystrokes, mouse clicks, and/or buttons, there should be little
need to enter them in this way.
Note
Editor commands are case-insensitive, thus DiffFiles and difffiles
are equivalent and are both valid. In this chapter, we use mixed-case
notation where it makes the commands more readable.
if Conditional Commands
Conditional commands are useful for constructing scripts and key bindings that
apply to a particular state or mode in the Editor. For example, if commands can be
used to make your key bindings respond differently depending on whether the Editor
is in insert mode or whether text is selected.
If condition is true, the commands given for cmds1 are executed. If condition
is false, cmds2 executes.
Specifying the keyword else is optional. If else is included and the condition
is not true, then the second command executes.
<allowmiddleclick>
This condition is true if the configuration option allowMiddleClick is on (for information, see
“The MULTI Editor Options Tab” on page 220).
<beforenonwhite>
This condition is true if there is no selection and the cursor is before all non-whitespace characters
on the line (i.e., all characters before the cursor are whitespace).
<bsearch>
This condition is true if the Editor is in backward-search mode.
<col=eof>
This condition is true if the first selected character or the cursor position (if there is no selection)
is at the end of the last character (not inclusive) in the corresponding file.
<col=eol>
This condition is true if the first selected character or the cursor position (if there is no selection)
is at the end of the last character (not inclusive) in the corresponding line.
<col=sof>
This condition is true if the first selected character or the cursor position (if there is no selection)
is the first character of a file.
<col=sol>
This condition is true if the first selected character or the cursor position (if there is no selection)
is the first column of a line.
<fsearch>
This condition is true if the Editor is in forward-search mode.
<HaveUnconfirmedAcString>
This condition is true if an auto-completed string that was not accepted by the user exists in the
Editor.
<insertmode>
This condition is true if the Editor is in insert mode (see EnterInsertMode in “Mode Commands”
on page 347).
<lang=language_name>
This condition is true if the language used to color the active Editor source file is the one
specified.
The language name is the name specified in the general section of the corresponding language's
syntax configuration file (see “The language.gsc Syntax Definition Files” on page 166 for details).
<noselection>
This condition is true if there is no primary selection.
<nosselection>
This condition is true if there is no secondary selection.
<searching>
This condition is true if an incremental search is currently in progress, and false otherwise (see
iSearch in “Search Commands” on page 353).
<select num=line>
This condition is true if the selection number num aligns on line boundaries. The primary selection
is number 0, and the secondary selection is number 1.
<wrapsearch>
This condition is true if the Editor is searching and has wrapped.
If there is no selection, the entire line is selected. The Cut1 command is always
executed.
If there is no selection, the current cursor position to the end of the line is selected.
If there is a selection, it is deleted.
Auto-Completion Commands
The MULTI Editor provides the following auto-completion commands. These
commands function even when auto-completion is disabled.
AcceptAcString
Accepts the string auto-completed by the MULTI Editor.
The Editor deletes the auto-completed string if you click the mouse, type a character (depending
on your key-stroke configuration), etc. before accepting the string.
By default, AcceptAcString; MoveToEndOfSelectionAndUnselect is bound to:
• Tab
AutoCompleteList
Displays a list of auto-completion strings from which you can choose an entry to complete the
text at the cursor or, if only one match is possible, automatically completes the text at the cursor.
The maximum number of strings listed is determined by the following entry in the corresponding
language definition file:
max_match = num
where num is the maximum number of matches to display. The default is 10.
By default, this command is bound to:
• Ctrl+/
AutoCompletePrototypeList
Displays a list of function prototypes matching the name of the function at the cursor. You can
select an entry to complete the text at the cursor.
The maximum number of function prototypes listed is determined by the option max_match
in the corresponding .gsc file.
By default, this command is bound to:
• Ctrl+'
DelUnconfirmedAcString
Deletes the string that has been auto-completed by the MULTI Editor but not accepted.
MoveToEndOfSelectionAndUnselect
Moves the cursor to the end of the selected text and clears the selection. There is no effect if
there is no selection.
By default, AcceptAcString; MoveToEndOfSelectionAndUnselect is bound to:
• Tab
NextAutoCompleteString
Auto-completes the characters with the next string that matches the pattern.
By default, this command is bound to:
• Ctrl+]
PrevAutoCompleteString
Auto-completes the characters with the previous string that matches the pattern.
By default, this command is bound to:
• Ctrl+[
Block Commands
The following commands allow you to modify text in the current primary selection.
Although they are designed to operate on selected text, most of these commands
have a default behavior that occurs even when there is no selection.
CommentBlock
Inserts language-specific characters to signify that the selected text is a comment and not code.
For more information, see “Working with Comments” on page 91.
By default, this command is bound to:
FillParagraph
Wraps the current comment across multiple lines.
By default, this command is bound to:
• Wrap Comment menu item (see “The Block Menu” on page 285)
• Ctrl+Shift+A
• Fill paragraph column field (see “The More Editor Options Dialog Box” on page 226)
JoinLines
Joins the selected lines of text by replacing the new line character at the end of a line and all
initial whitespace on the next line with a single space.
By default, this command is bound to:
• Join Lines menu item (see “The Block Menu” on page 285)
• Ctrl+P
LowerCaseBlock
Changes all characters in the current selection to lowercase.
By default, this command is bound to:
UnCommentBlock
Removes comment-style characters from the selected text to make it active code. The selected
text must begin with comment-start symbols and end with comment-stop symbols. For more
information, see “Working with Comments” on page 91.
By default, this command is bound to:
UpperCaseBlock
Capitalizes all characters in the current selection.
By default, this command is bound to:
Clipboard Commands
The MULTI Editor provides four internal clipboards.
On Windows, the first clipboard is the same as the Windows clipboard. Text or data
stored there is available to other Windows applications.
On Linux/Solaris, the content of the first clipboard can be made available to other
applications with the clipboard manager. Launch clipboard manager is a
configurable option on the Config → Options → General tab (see “The General
Options Tab” on page 177).
Copyn
Copies the selected text to clipboard number n. When this command is issued, the specified
clipboard's previous content is lost; other clipboards are unaffected.
By default, Copy1 is bound to:
• Ctrl+Shift+C
• Shift+Copy or Shift+L6 (Solaris only)
• Meta+Ctrl+C
• Ctrl+Copy or Ctrl+L6 (Solaris only)
• Meta+Ctrl+Shift+C
• Ctrl+Shift+Copy or Ctrl+Shift+L6 (Solaris only)
Cutn
Deletes the selected text and places it on clipboard number n. When this command is issued,
the specified clipboard's previous content is lost; other clipboards are unaffected.
By default, Cut1 is bound to:
• Ctrl+Shift+X
• Shift+Cut or Shift+L10 (Solaris only)
• Meta+Ctrl+X
• Ctrl+Cut or Ctrl+L10 (Solaris only)
• Meta+Ctrl+Shift+X
• Ctrl+Shift+Cut or Ctrl+Shift+L10 (Solaris only)
• Ctrl+Shift+T
Pasten
Inserts text from clipboard number n.
By default, Paste1 is bound to:
• Ctrl+Shift+V
• Shift+Paste or Shift+L8 (Solaris only)
• Meta+Ctrl+V
• Ctrl+Paste or Ctrl+L8 (Solaris only)
• Meta+Ctrl+Shift+V
• Ctrl+Shift+Paste or Ctrl+Shift+L8 (Solaris only)
RectCopy1
Copies a rectangular subsection of the current selection to clipboard number 1. Only this clipboard
is available for rectangular selections. For more information, see “Working with Columns”
on page 92.
By default, this command is bound to:
• Rect Copy menu item (see “The Block Menu” on page 285)
RectCut1
Deletes a rectangular subsection of the current selection, and copies it to clipboard number 1.
Only this clipboard is available for rectangular selections. For more information, see “Working
with Columns” on page 92.
By default, this command is bound to:
• Rect Cut menu item (see “The Block Menu” on page 285)
RectPaste1
Pastes a clipboard selection created with RectCopy1 or RectCut1 to the current location. Only
one clipboard is available for rectangular selections. For more information, see “Working with
Columns” on page 92.
By default, this command is bound to:
• Rect Paste menu item (see “The Block Menu” on page 285)
• Ctrl+V
Configuration Commands
The following commands allow you to configure the Editor's appearance and
behavior.
ClearConfig
Prompts before clearing the default configuration file.
By default, this command is bound to:
• Clear User Default Configuration menu item (see “The Config Menu” on page 291).
ConfigOptions
Opens the Options window.
By default, this command is bound to:
CustomizeMenus
Opens the Customize Menus window, which allows you to configure menus in a number of
MULTI tools. For information about how to use this window, see “Configuring and Customizing
Menus” on page 147.
By default, this command is bound to:
• Customize Menus menu item (see “The Config Menu” on page 291)
LoadConfigFromFile
Opens the Load Configuration from what file? dialog box.
By default, this command is bound to:
• Load Configuration menu item (see “The Config Menu” on page 291)
SaveConfig
Saves the current configuration options in a file in the default location.
By default, this command is bound to:
• Save Configuration as User Default menu item (see “The Config Menu” on page 291).
SaveConfigToFile
Opens the Save Configuration to what file? dialog box.
By default, this command is bound to:
• Save Configuration As menu item (see “The Config Menu” on page 291)
Drag-and-Drop Commands
The Editor supports drag-and-drop actions such as moving text in an open file and,
in Windows, dragging a file from a Windows Explorer to an Editor to open it. The
drag-and-drop feature is controlled by the configuration option dragAndDrop,
which is off by default (for more information, see “The MULTI Editor Options
Tab” on page 220). The following commands perform various functions associated
with this drag-and-drop behavior. Since they are all dependent upon the location
of the mouse pointer, these commands are generally useful only when bound to
mouse buttons and actions (see “Default Mouse Bindings” on page 382).
SelectionDrop
Completes the drag-and-drop or drag-and-drop-add operation. Legal drag spots are anywhere
in the Editor text pane, except on the current selection, and are indicated by the mouse cursor
changing into the drop (or drop-add) cursor. Illegal drop spots are indicated by the no mouse
cursor.
Note: This command will be executed whenever the left mouse button is released during a
drag-and-drop or a drag-and-drop-add operation.
SelectionStartDrag
Starts a drag-and-drop operation using the text of the primary selection. When the mouse moves
over a legal drop spot, the cursor will change into the drop cursor, so you can drop the text to
the new location. At the completion of the drag-and-drop operation, the text of the primary
selection will be deleted from its original location, and pasted to the drop location. If there is
no primary selection, this command has no effect.
Note: This command must be followed by a SelectionDrop command.
By default, this command is bound to:
• Left-click
SelectionStartDragAdd
Starts a drag-and-drop-add operation using the text of the primary selection. When the mouse
is over a legal drop spot, the cursor will change into the drop-add cursor, so you can copy the
text to a new location. At the completion of the drag-and-drop-add operation, the text will be
copied to the drop location. If there is no primary selection, this command has no effect.
To execute this command, left-click and drag selected text, while holding down the Ctrl key.
If you press Ctrl any time during a normal drag-and-drop operation, the operation will turn into
a drag-and-drop-add operation.
Note: This command must be followed by a SelectionDrop command.
By default, this command is bound to:
• Ctrl+Left-click
File Commands
The following commands allow you to open, save, close, and otherwise manipulate
files.
Close
Closes the current Editor window. If changes were made to open files, you will be prompted to
save the files before closing.
By default, this command is bound to:
• Close Editor menu item (see “The File Menu” on page 278)
• Ctrl+Q
Done
Closes and saves changes to all open files without prompting, then exits the Editor.
By default, this command is bound to:
• Save and Close toolbar button (see “The Editor Toolbar” on page 294)
• Ctrl+Shift+Q
EditorFlags
Opens the Per File Settings dialog box, which lists control settings for the current file. See
“The Per File Settings Dialog Box” on page 300.
By default, this command is bound to:
• Per File Settings menu item (see “The View Menu” on page 282)
FileProperties
Displays the language name and other information the Editor is able to obtain about the currently
edited file.
By default, this command is bound to:
LanguageOptions
Opens the Language Settings dialog box, which lists settings for the selected language.
By default, this command is bound to:
• Per Language Settings menu item (see “The View Menu” on page 282)
LoadFile [filename]
Opens the given file in either a new Editor window or the current Editor window, depending
on the current setting of the openFilesinNewBuffers option (see “The MULTI Editor Options
Tab” on page 220). If no parameters are specified, this command opens the Edit File dialog box
for you to open or create a file.
By default, this command is bound to:
• Ctrl+Shift+O
LoadFileWithNewEditor [filename]
Opens the given file in a new Editor window. If no parameters are specified, this command
opens the Edit File dialog box for you to open or create a file.
By default, this command is bound to:
• New Editor menu item (see “The File Menu” on page 278)
• Ctrl+N
OpenFile [filename]
Opens the given file in the current Editor window. If no parameters are specified, this command
opens the Edit File dialog box for you to open or create a file.
By default, this command is bound to:
PageSetup
Windows only
Opens the Page Setup dialog box.
By default, this command is bound to:
• Page Setup menu item (see “The File Menu” on page 278)
Print
Opens the Print dialog box for you to print the file or current selection. For information about
the Linux/Solaris Print dialog box, see “The Print Setup Dialog Box” on page 298.
By default, this command is bound to:
QuerySaveAll
Opens the SaveFiles? dialog box, which lists all the currently edited files. To choose to save
any combination of these files, select the box next to the file's name. To save all of the selected
files, click OK. This is equivalent to saving all of the files at once.
By default, this command is bound to:
• Save All menu item (see “The File Menu” on page 278)
Quit
Prompts you to save the changes made to all open files, then quits all currently running MULTI
tools (including Debugger windows).
By default, this command is bound to:
• Exit All menu item (see “The File Menu” on page 278)
Revert
Reverts the file to the last saved version, discarding any changes that have not been saved.
By default, this command is bound to:
• Revert to Saved menu item (see “The File Menu” on page 278)
Save
Saves the current file.
By default, this command is bound to:
SaveAll
Automatically saves all open files without prompting.
SaveAs
Opens the Save As dialog box.
By default, this command is bound to:
SelectLanguage [language_index]
Selects the language to use for color syntax, auto indentation, etc.
language_index is the sequential index (starting from 1) for each language defined in index.gsc
(see “The index.gsc Configuration File” on page 164).
Note: The C and C++ syntax highlighting module attempts to gray out any code that is enclosed
by the #if 0 preprocessor directive. However, if several such directives are nested, only the
outermost one will be highlighted correctly.
By default, this command is bound to:
ToggleReadOnly
Toggles the window permission for the current file between read-only and read/write mode, if
possible. This does not affect the file's permission on disk.
By default, this command is bound to:
• Read Only Window menu item (see “The View Menu” on page 282)
ToggleWritePermission
Toggles the permission for the file between read-only and read/write mode, if possible. A stop
sign in the right corner of the Editor's status bar indicates that the file is currently read-only.
This command changes both the file's window permission and the file's permission on disk.
By default, this command is bound to:
• Toggle Write Permission menu item (see “The File Menu” on page 278)
Help Commands
The following commands access the MULTI Editor's help features.
About
Opens the About dialog box.
By default, this command is bound to:
• About MULTI menu item (see “The Help Menu” on page 293)
BugReport
Launches the gbugrpt utility program, which collects information about your MULTI installation
and allows you to append it to a bug report form that you can fill out and email to Green Hills
Technical Support.
Help
Opens MULTI's online help.
By default, this command is bound to:
• Editor Help menu item (see “The Help Menu” on page 293)
• F1
Identify
Waits until you execute another command, either by key presses or mouse clicks, and then
displays help for that command instead of executing the command.
By default, this command is bound to:
Indentation Commands
Indentation is whitespace at the beginning of each line that may be used to denote
the hierarchical structure of your code more clearly, thus making it more readable.
For more information about indents, see “Indenting Code” on page 89.
AutoIndent
Indents the current line or block of lines to the position indicated by the syntax of the code. This
command is only available for C, C++, and Ada. Several configuration options affect the operation
of AutoIndent (see “The MULTI Editor Options Tab” on page 220).
By default, this command is bound to:
• Auto Indent menu item (see “The Block Menu” on page 285)
• Ctrl+2
AutoIndentImplicit
Performs the same function as AutoIndent, except that it can be turned off by setting the
configuration option aiimplicitindent to off.
By default, this command is bound to:
• Auto indent as you type check box (see “The MULTI Editor Options Tab” on page 220)
AutoIndentOrTab
Performs the same function as AutoIndent, except that if the current file is in a language not
supported by AutoIndent, a Tab is inserted instead.
By default, this command is bound to:
• Tab
Indent
Adds an indent at the beginning of the current line or selection.
By default, this command is bound to:
Unindent
Removes an indent from the beginning of the current line or selection.
By default, this command is bound to:
Insert Commands
These commands add text to the open file at the cursor's current position.
"any_string"
Inserts the string between the double quotation marks into the open file at the cursor's current
position. The current selection, if any, is replaced with the text between the quotes. Standard C
quoting sequences (for example, \n, \t, \\) are allowed.
AddStr [-pos -1 | 0 | 1 ] string
Adds the specified string to a position based on the value of pos, where:
Date
Inserts the date and time into the open file at the cursor's current position.
By default, this command is bound to the menu item:
InsertFile [filename]
Inserts the contents of the given file at the current line. If no parameters are specified, this
command opens the Insert dialog box, which allows you to select a file whose contents will be
inserted at the current line.
By default, this command is bound to:
• Insert File menu item (see “The Block Menu” on page 285)
InsertNewline
Inserts a newline (\n) character into the open file at the cursor's current position. The current
selection, if any, is replaced with the newline.
By default, InsertNewline; AutoIndent is bound to:
• Enter
• Ctrl+Shift+R
Tab
Inserts a tab (\t) character into the open file at the cursor's current position. The current selection,
if any, is replaced with the tab.
UserName
Inserts the current user name (in lowercase letters) into the open file at the cursor's current
position.
Mode Commands
The following commands change the Editor's mode.
With this command, pressing Ctrl+X in the Editor changes the Editor mode to Edit2 for the
next key press. Then pressing Ctrl+S in the Editor saves the current file, because the Editor is
now in Edit2 mode.
Any command issued while in an alternate mode will switch the mode back to Edit0, the default
mode.
EnterInsertMode
Puts the Editor into insert mode, so you can enter literal keystrokes into your file, even if the
keys are bound to commands.
For example, suppose you customized the Editor so that every time you press d, the cursor
moves down one line. This makes it impossible to type the letter d in the file. When you turn
on insert mode and press d, the letter d appears in the file, and the cursor does not move down
one line.
Insert mode may be turned off by the FlashCursor command (see FlashCursor in “Navigation
Commands” on page 348).
Quote
Forces the character generated by the next key press to be literally entered in the file, even if
the key is bound to a command. This is useful for entering characters that have commands bound
to them.
By default, this command is bound to:
• Ctrl+\ (backslash)
Navigation Commands
These commands change the location of the cursor, scrolling the open file as
necessary to keep the cursor within the Editor's window. None of these commands
modify the contents of the open file.
Down
Moves the cursor down one line.
By default, this command is bound to:
• DownArrow
• Ctrl+J
DownSome
Moves the cursor down by n lines, where n defaults to 5, but may be changed via the Ctrl+cursor
jump size field located on the Config → Options+Editor tab. For more information, see the
Ctrl+cursor jump size option in “The MULTI Editor Options Tab” on page 220.
By default, this command is bound to:
• Ctrl+DownArrow
EditLine
Displays the Goto Line: prompt, which allows you to move to a specific line by typing in the
line number and pressing Enter.
See also the Goto and LineD commands below.
By default, this command is bound to:
• Ctrl+G
EOF
Moves the cursor to the last column of the last line of the open file (end of file).
By default, this command is bound to:
• Ctrl+End
EOL
Moves the cursor to the last column of the current line (end of line).
By default, this command is bound to:
• End
• Ctrl+E
FlashCursor
Flashes the line the cursor is on. This command also turns insert mode off (see the
EnterInsertMode command in “Mode Commands” on page 347).
By default, this command is bound to:
• Flash Cursor menu item (see “The View Menu” on page 282)
• The command NoSelection; FlashCursor is bound to the Esc key.
Goto
Opens the GoTo dialog box. See “Using the GoTo Dialog Box” on page 81 for more information.
By default, this command is bound to:
Left
Moves the cursor one character to the left. If the cursor is already in the first column of the line,
this command has no effect.
LeftSome
Moves the cursor to the left by n characters, where n defaults to 5, but may be changed via the
Ctrl+cursor jump size field located on the Config → Options+Editor tab. For more
information, see the Ctrl+cursor jump size option in “The MULTI Editor Options Tab”
on page 220.
LeftU
Moves the cursor one character to the left. If the cursor is in the first column of the line, then it
will move to the last column of the previous line. If the cursor is already in the first column of
the first line of the open file, this command has no effect.
By default, this command is bound to:
• LeftArrow
• Ctrl+H
LineD [line_number]
Moves the cursor to the specified line. If no parameter is specified, this command opens a dialog
box for you to specify the line to which the cursor should be moved.
MoveCursor [ -gui | -string ] line_number, column_position
Moves the cursor to the specified line_number and column_position. Pass the -gui option
to specify a GUI column position, or pass the -string option to specify a string column position.
The GUI and string column positions differ when a Tab character is present. By default, Tab
is interpreted as 8 characters in the GUI and as 1 character in a string. Line numbers are 1-based;
that is, they start at one. Column positions are 0-based; that is, they start at zero.
NextError
Moves the cursor to the line where the next build error appears. This command is supported in
the Editor window that opens when multiple build errors are encountered.
By default, this command is bound to:
• Next Error toolbar button (see “The Editor Toolbar” on page 294)
• Alt+DownArrow
PageDown
Moves the cursor down one screen.
By default, this command is bound to:
• PageDown
• Ctrl+Shift+N
PageUp
Moves the cursor up one screen.
By default, this command is bound to:
• PageUp
• Ctrl+Shift+B
PrevError
Moves the cursor to the line where the previous build error appears. This command is supported
in the Editor window that opens when multiple build errors are encountered.
By default, this command is bound to:
• Previous Error toolbar button (see “The Editor Toolbar” on page 294)
• Alt+UpArrow
Return
Moves the cursor to the first column of the next line.
ReverseWord
Moves the cursor to the beginning of the current word. If the cursor is not currently within a
word (a group of consecutive alphanumeric characters), it moves to the beginning of the previous
word in the open file.
By default, this command is bound to:
• Ctrl+LeftArrow
Right
Moves the cursor one character to the right. If the cursor is already in the last column of the
line, this command has no effect.
RightD
Moves the cursor one character to the right. If the cursor is in the last column of the line, then
it will move to the first column of the next line. If the cursor is already in the last column of the
last line of the open file, this command has no effect.
By default, this command is bound to:
• RightArrow
• Ctrl+L
RightSome
Moves the cursor to the right by n characters, where n defaults to 5, but may be changed via the
Ctrl+cursor jump size field located on the Config → Options+Editor tab. For more
information, see the Ctrl+cursor jump size option in “The MULTI Editor Options Tab”
on page 220.
SOF
Moves the cursor to the first column of the first line of the open file (start of file)
By default, this command is bound to:
• Ctrl+Home
SOL
Moves the cursor to the immediate left of the first non-whitespace character on the line (start
of line). If the cursor is already to the left of the first non-whitespace character, then it will move
to the first column of the current line.
By default, this command is bound to:
• Ctrl+W
SOL0
Moves the cursor to the first column of the current line (before any indentation) even if the first
character is indented.
By default, this command is bound to:
• Home
• Ctrl+0 (zero)
SOL1
Moves the cursor immediately to the left of the first non-whitespace character on the line, even
if the cursor is currently to the left of the first non-whitespace character. If the line has only
whitespace characters, the cursor moves to the end of the line.
Up
Moves the cursor up one line.
By default, this command is bound to:
• UpArrow
• Ctrl+K
UpSome
Moves the cursor up by n lines, where n defaults to 5, but may be changed via the Ctrl+cursor
jump size field located on the Config → Options+Editor tab. For more information, see the
Ctrl+cursor jump size option in “The MULTI Editor Options Tab” on page 220.
By default, this command is bound to:
• Ctrl+UpArrow
Word
Moves the cursor to the end of the current word. If the cursor is not currently within a word (a
group of consecutive alphanumeric characters), it moves to the end of the next word in the open
file.
By default, this command is bound to:
• Ctrl+RightArrow
Search Commands
The MULTI Editor supports two methods of searching: incremental searching and
interactive searching. For more information about each type of searching, see
“Searching in the Editor” on page 83.
BackiSearch
Starts an incremental search that proceeds backward from the current location. See “Incremental
Searching” on page 83 for more information.
By default, this command is bound to:
• Ctrl+B
• Shift+Find or Shift+L9
iSearch
Starts an incremental search that proceeds forward from the current location. See “Incremental
Searching” on page 83 for more information.
By default, this command is bound to:
• Ctrl+F
Search
Opens the Search dialog box, which allows you to specify interactive search criteria. See
“Interactive Searching Using the Search Dialog Box” on page 85 for more information.
By default, this command is bound to:
StopSearch
Stops an incremental or interactive search. The most recently matched or partially matched text
will remain selected. See “Incremental Searching” on page 83 for more information.
By default, this command is bound to:
• Esc
TruncateSearch
Restarts the incremental search at the current location. See “Incremental Searching” on page 83
for more information.
Selection Commands
Selection commands can be used to create or cancel the following two types of
selections:
• The primary selection, which is created by dragging over text with the left
mouse button, can be manipulated by many commands, such as clipboard
commands, indentation commands, and drag-and-drop commands. The primary
selection is replaced by any typed or inserted text and is canceled by any
navigation command. One end of the primary selection, the cursor-end, is
always at the cursor's current location, and may be either the start or the end
of the selection.
• The secondary selection, which is created by dragging over text with the middle
mouse button, can be replaced using either the command
SecondarySelectionReplace or SecondarySelectionReplaceClip. When the
middle button is released, SecondarySelectionReplace is executed. Any other
non-selection Editor command or keystroke cancels a secondary selection if it
exists. For more information about the middle mouse button, see
allowMiddleClick in “The MULTI Editor Options Tab” on page 220.
Many commands operate differently upon selected text. These differences are
documented in the individual command descriptions. Commands that do not
explicitly mention the secondary selection operate on the primary selection only.
With the exception of the commands SecondarySelectionReplace and
SecondarySelectionReplaceClip, none of the commands in this section modify
the contents of the open file.
ContinueSelection
Extends the selection. This command can be used in combination with the navigation commands.
For example:
ContinueSelection; Down
extends the selection down one line.
For keyboard shortcuts that make use of the ContinueSelection command, see “Selecting Text”
on page 377.
GetSelectedString
Outputs the selected string to a client (for example, the MULTI Python GUI) or to a dialog
box if there is no client.
GetSelection [ -gui | -string ]
Outputs the current selection range to a client (for example, the MULTI Python GUI) or to a
dialog box if there is no client. Specify -gui to get the GUI range, or specify -string to get
the string range. The GUI and string ranges differ when a Tab character is present. By default,
Tab is interpreted as 8 characters in the GUI and as 1 character in a string.
In the output, line numbers are 1-based; that is, they start at one. Column numbers are 0-based;
that is, they start at zero.
NoSelection
Moves the cursor to the beginning of the current primary selection and cancels the selection. If
there is no primary selection, this command has no effect.
SecondarySelectAll, SecondarySelectLine, SecondarySelectWord
Identical to their primary selection counterparts, except that these commands operate on the
secondary selection.
SecondarySelectionAdjust, SecondarySelectionExtend, SecondarySelectionStart
Identical to their primary selection counterparts, except that these commands operate on the
secondary selection.
SecondarySelectionReplace
Deletes the text in the secondary selection, and replaces it with a copy of the text in the primary
selection. This command also cancels the secondary selection.
SecondarySelectionReplaceClip
Deletes the text in the secondary selection, and replaces it with a copy of the text in the clipboard.
This command also cancels the secondary selection. For more information about the clipboard,
see “Clipboard Commands” on page 334.
SelectAll
Selects the entire open file.
By default, this command is bound to:
• Select All menu item (see “The Edit Menu” on page 280)
• Ctrl+A
• Quadruple-Left-click
• Left-click
SelectLine
Selects the current line—including any indentation—and moves the cursor to the end of the
line.
By default, this command is bound to:
• Triple-Left-click
SelectMatch
Selects the corresponding paired character if the character immediately following the cursor is
a paired character such as a parenthesis, square bracket, quote, or curly brace. If the cursor is
not in front of a paired character, or if there is no match, this command has no effect.
SelectWord
Selects the current word and moves the cursor to the end of the word.
By default, this command is bound to:
• Double-Left-click
SOLSecondary
Starts the secondary selection at the first column of the current line, and changes the secondary
selection to zero length. That is, the secondary selection will contain no characters.
Backspace
Deletes the text in the current primary selection and cancels the primary selection. If there is
no selection, then this command deletes the character immediately before the cursor.
By default, this command is bound to:
• Backspace key
• Delete
• Ctrl+D
• Ctrl+Backspace
• Ctrl+U
• Ctrl+Delete
SelectToLines; Cut1
Cuts an entire line to clipboard number 1.
By default, this command is bound to:
• Ctrl+M
Tools Commands
The Editor provides several file utilities that perform such functions as merging,
comparing, and executing shell commands. The following commands provide access
to these utilities and to other tools.
! [command;] (Linux/Solaris only)
Identical to the ExecuteCmd below.
CommandToWindow [command;] (Linux/Solaris only)
Sends the given command to the shell and displays the output in a new Editor window.
The parameter must end with a semicolon (;). If no parameters are specified, this command
opens the Command to Window dialog box.
By default, this command is bound to:
• Command to Window menu item (see “The Tools Menu” on page 287)
DiffFiles
Opens the Choose two files dialog box, which allows you to find and display the differences
between two files. For more information, see “Comparing Files” on page 98.
By default, this command is bound to:
• Diff Files menu item (see “The Tools Menu” on page 287)
• Execute Shell Command menu item (see “The Tools Menu” on page 287)
Grep
Opens the Search in Files dialog box, which allows you to search for an expression in all open
files. See “Searching in Files” on page 87 for a description of this window and how to use it.
By default, this command is bound to:
• Search in Files menu item (see “The Tools Menu” on page 287)
MergeFiles
Opens the Choose files to merge dialog box to merge two or three files. For more information,
see “Merging Files” on page 93.
By default, this command is bound to:
• Merge Files menu item (see “The Tools Menu” on page 287)
Minibuffer
Opens the Execute Editor Commands dialog box, which allows you to enter commands.
By default, this command is bound to:
• Execute Editor Commands menu item (see “The Tools Menu” on page 287)
MultiBar
Opens the MULTI Launcher.
Shell [command;]
Sends the given command to the shell as a command. The parameter must end with a semi-colon
(;). The output is sent to the console from which MULTI was launched. This command does
not modify the open file.
If no parameters are specified, this command opens the Shell Command to execute? dialog
box.
Undo/Redo Commands
The following commands allow you to undo, repeat, or cancel other commands and
actions that have already executed or are currently executing.
Abort
Aborts any ongoing command, such as a search.
By default, this command is bound to:
• Esc
Redo
Restores the edit that was removed by Undo.
By default, this command is bound to:
RepeatLast
Repeats the last edit made to the file.
By default, this command is bound to:
• Repeat Last Edit menu item (see “The Edit Menu” on page 280)
• Ctrl+. (period)
ShowContextMenu
Opens a context-sensitive shortcut menu at the cursor. This command should only be bound to
mouse buttons.
By default, this command is bound to:
• Right-click
Undo
Reverses the last change made to the current file.
By default, this command is bound to:
• Auto Checkout menu item (see “The Version Menu” on page 288)
CheckIn
Checks the file into version control, prompting you for comments.
By default, this command is bound to:
• Check In/Commit menu item (see “The Version Menu” on page 288)
CheckOut
Checks the file out of version control.
By default, this command is bound to:
• Check Out menu item (see “The Version Menu” on page 288)
Discard
Discards changes to the current file.
By default, this command is bound to:
• Discard Changes menu item (see “The Version Menu” on page 288)
PlaceUnderVC
Places the current file under version control.
By default, this command is bound to:
• Place Under VC menu item (see “The Version Menu” on page 288)
PreventAutoCheckout
Opposite of AllowAutoCheckout.
By default, this command is bound to:
• Auto Checkout menu item (see “The Version Menu” on page 288)
QuerySaveCheckinAll
Saves the changes you have made to all the files you have checked out, makes the files read
only in MULTI, and removes the lock from the files. You will be asked for comments to be
saved in the log file along with your changes.
By default, this command is bound to:
• Check In All menu item (see “The Version Menu” on page 288)
RevertDate
Displays a dialog box which allows you to enter a version date.
By default, this command is bound to:
• Revert to Date menu item (see “The Version Menu” on page 288)
RevertHistory
Opens a dialog box which allows you to select a version to revert the file to.
By default, this command is bound to:
• Revert to History menu item (see “The Version Menu” on page 288)
RevertToBackup
Reverts the current file to the backup file. This command is only valid if the editorBackups
configuration option is set to on. For more information, see “The MULTI Editor Options Tab”
on page 220.
By default, this command is bound to:
• Revert to Backup menu item (see “The File Menu” on page 278)
RevertVersion
Opens a dialog box to enter a version number to load into the Editor.
By default, this command is bound to:
• Revert to Version menu item (see “The Version Menu” on page 288)
ShowHistory
Opens a dialog box that displays the version control history.
By default, this command is bound to:
• Show History menu item (see “The Version Menu” on page 288)
• Ctrl+Shift+H
ShowLastEdit
Finds the version of the current file that changed the selected text. This command functions the
same as the GUI menu item (see “The Version Menu” on page 288).
By default, this command is bound to:
• Show Last Edit menu item (see “The Version Menu” on page 288)
• Ctrl+Shift+L
ShowView
Displays the user's current view.
Note: This command is only supported when using ClearCase.
VCBuffer
Opens a dialog box that prompts you for a version control command. The full name of the
current file is appended at the end of the command.
View Commands
The following table lists view commands.
BrowseObjXRef
Displays the object's cross references (if any) in a Browse window. This command is available
for use with C, C++, and Ada files. For more information, see “Browse References” on page 80.
By default, this command is bound to:
• Browse References of Selected Object menu item (see “The View Menu” on page 282)
CloseDependentWindows
Deletes all cross reference Browse windows.
By default, this command is bound to:
• Close Dependent Windows menu item (see “The View Menu” on page 282)
CyclePush
Accesses the previous open file in the Editor's stack.
By default, this command is bound to:
• Previous File menu item (see “The View Menu” on page 282)
• Ctrl+Shift+Tab
CyclePushBack
Accesses the next open file in the Editor's stack.
By default, this command is bound to:
• Next File menu item (see “The View Menu” on page 282)
• Ctrl+Tab
This command does the same thing as the configuration option drawWrapLine.
GenerateXrefInfo
Obtains complete cross reference information based on the project to which the source file
belongs. This command is available for use with C and C++ files.
After cross reference information for the enclosing project is generated, use the
RegenerateXrefInfo command.
By default, this command is bound to:
• Generate Cross References menu item (see “The View Menu” on page 282)
• Go To Declaration of Selected Object menu item (see “The View Menu” on page 282)
• Go To Definition of Selected Object menu item (see “The View Menu” on page 282)
NextWindow
Moves the cursor into the next Editor window and raises that window to the foreground. Using
this command repeatedly will eventually cycle through all of the open Editor windows.
RegenerateXrefInfo
Regenerates cross reference information based on the project to which the source file belongs.
This command is available for use with C and C++ files.
This command is used after GenerateXrefInfo has already been used to generate cross reference
information for the enclosing project.
By default, this command is bound to:
• Regenerate Cross References menu item (see “The View Menu” on page 282)
Miscellaneous Commands
Beep
Sounds an audible tone.
Deprecated Commands
The following commands are deprecated.
Contents
Default Keyboard Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
Default Mouse Bindings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Appendix C. Default Key and Mouse Bindings
This chapter lists the default key and mouse bindings. For information about how
you can change key and mouse bindings, see “Customizing Keys and Mouse
Behavior” on page 152.
Navigating
The following key bindings control cursor movement in MULTI windows or
navigation through buffers. For more information about the commands, see
“Navigation Commands” on page 348.
UpArrow
Ctrl+K
Moves the cursor up one line.
By default, these keyboard shortcuts are bound to the Up command.
Ctrl+UpArrow
Moves the cursor up multiple lines [default is 5].
By default, this keyboard shortcut is bound to the UpSome command.
PageUp
Ctrl+Shift+B
Moves the cursor up one screen.
By default, these keyboard shortcuts are bound to the PageUp command.
DownArrow
Ctrl+J
Moves the cursor down one line.
By default, these keyboard shortcuts are bound to the Down command.
Ctrl+DownArrow
Moves the cursor down multiple lines [default is 5].
By default, this keyboard shortcut is bound to the DownSome command.
PageDown
Ctrl+Shift+N
Moves the cursor down one screen.
By default, these keyboard shortcuts are bound to the PageDown command.
LeftArrow
Ctrl+H
Moves the cursor left one character.
By default, these keyboard shortcuts are bound to the LeftU command.
Ctrl+LeftArrow
Moves the cursor to the previous word.
By default, this keyboard shortcut is bound to the ReverseWord command.
Ctrl+W
Ctrl+^
Moves the cursor to the first character of the line.
By default, these keyboard shortcuts are bound to the SOL command.
Home
Ctrl+0
Moves the cursor to the beginning of the line.
By default, these keyboard shortcuts are bound to the SOL0 command.
Alt+UpArrow
Moves the cursor to the line where the previous build error appears. This keyboard shortcut is
supported in the Editor window that opens when multiple build errors are encountered.
By default, this keyboard shortcut is bound to the PrevError command.
Ctrl+Home
Moves the cursor to the beginning of the file.
By default, this keyboard shortcut is bound to the SOF command.
RightArrow
Ctrl+L
Moves the cursor right one character.
By default, these keyboard shortcuts are bound to the RightD command.
Ctrl+RightArrow
Moves the cursor to the next word.
By default, this keyboard shortcut is bound to the Word command.
End
Ctrl+E
Moves the cursor to the end of the line.
By default, these keyboard shortcuts are bound to the EOL command.
Ctrl+Enter
Moves the cursor to the beginning of the next line.
By default, this keyboard shortcut is bound to the EOL; RightD command.
Alt+DownArrow
Moves the cursor to the line where the next build error appears. This keyboard shortcut is
supported in the Editor window that opens when multiple build errors are encountered.
By default, this keyboard shortcut is bound to the NextError command.
Ctrl+End
Moves the cursor to the end of the file.
By default, this keyboard shortcut is bound to the EOF command.
Ctrl+G
Prompts for a new line number to go to.
By default, this keyboard shortcut is bound to the EditLine command.
Ctrl+Tab
Cycles through open file buffers forward.
By default, this keyboard shortcut is bound to the CyclePushBack command. For more
information about the command, see “View Commands” on page 364.
Ctrl+Shift+Tab
Cycles through open file buffers backward.
By default, this keyboard shortcut is bound to the CyclePush command. For more information
about the command, see “View Commands” on page 364.
Ctrl+O
Opens a file in the current window.
By default, this keyboard shortcut is bound to the OpenFile command.
Ctrl+N
Opens a file in a new Editor window.
By default, this keyboard shortcut is bound to the LoadFileWithNewEditor command.
Ctrl+Shift+O
Opens a file in a new Editor window or in the current Editor window, depending on the current
setting of the openFilesinNewBuffers option (see “The MULTI Editor Options Tab”
on page 220).
By default, this keyboard shortcut is bound to the LoadFile command.
Ctrl+S
Saves the current file.
By default, this keyboard shortcut is bound to the Save command.
Ctrl+Shift+S
Saves the current file.
By default, this keyboard shortcut is bound to the SaveAs command.
Ctrl+Shift+Q
Saves the current file, then closes the window.
By default, this keyboard shortcut is bound to the Done command.
Ctrl+Q
Closes the current window.
By default, this keyboard shortcut is bound to the Close command.
Undo/Redo
The following keyboard shortcuts are used to undo and redo edits. For more
information about the commands, see “Undo/Redo Commands” on page 361.
Ctrl+Z
Reverts the last edit.
By default, this keyboard shortcut is bound to the Undo command.
Ctrl+Y
Reverts the last undo.
By default, this keyboard shortcut is bound to the Redo command.
Ctrl+X
Cuts the selected text to the clipboard.
By default, this keyboard shortcut is bound to the Cut1 command.
Ctrl+Shift+X
Cuts the selected text to the second buffer.
By default, this keyboard shortcut is bound to the Cut2 command.
Alt+Ctrl+X (Windows only)
Meta+Ctrl+X (Linux/Solaris only)
Cuts the selected text to the third buffer.
By default, these keyboard shortcuts are bound to the Cut3 command.
Alt+Ctrl+Shift+X (Windows only)
Meta+Ctrl+Shift+X (Linux/Solaris only)
Cuts the selected text to the fourth buffer.
By default, these keyboard shortcuts are bound to the Cut4 command.
Ctrl+C
Copies the selected text to the clipboard.
By default, this keyboard shortcut is bound to the Copy1 command.
Ctrl+Shift+C
Copies the selected text to the second buffer.
By default, this keyboard shortcut is bound to the Copy2 command.
Alt+Ctrl+C (Windows only)
Meta+Ctrl+C (Linux/Solaris only)
Copies the selected text to the third buffer.
By default, these keyboard shortcuts are bound to the Copy3 command.
Alt+Ctrl+Shift+C (Windows only)
Meta+Ctrl+Shift+C (Linux/Solaris only)
Copies the selected text to the fourth buffer.
By default, these keyboard shortcuts are bound to the Copy4 command.
Ctrl+V
Pastes from the clipboard.
By default, this keyboard shortcut is bound to: if <noselection> { if <select1=lines> { if
<col=sol> {} else {Down;SOL0} }} Paste1.
Ctrl+Shift+V
Pastes from the second buffer.
By default, this keyboard shortcut is bound to: if <noselection> { if <select1=lines> { if
<col=sol> {} else {Down;SOL0} }} Paste2.
Alt+Ctrl+V (Windows only)
Meta+Ctrl+V (Linux/Solaris only)
Pastes from the third buffer.
By default, these keyboard shortcuts are bound to: if <noselection> { if <select1=lines> { if
<col=sol> {} else {Down;SOL0} }} Paste3.
Alt+Ctrl+Shift+V (Windows only)
Meta+Ctrl+Shift+V (Linux/Solaris only)
Pastes from the fourth buffer.
By default, these keyboard shortcuts are bound to: if <noselection> { if <select1=lines> { if
<col=sol> {} else {Down;SOL0} }} Paste4.
Deleting Text
The following keyboard shortcuts are used to delete text. For more information
about the commands, see “Text Deletion Commands” on page 358.
Backspace
Deletes the previous character or the selection.
By default, this keyboard shortcut is bound to the Backspace command.
Ctrl+Backspace
Deletes the previous word or the selection.
By default, this keyboard shortcut is bound to: if <noselection> { ContinueSelection;
ReverseWord }; Backspace.
Delete
Ctrl+D
Deletes the selection, if any, or deletes the next character if there is no selection.
By default, these keyboard shortcuts are bound to: if <noselection> { ContinueSelection;
RightD }; Delete.
Ctrl+Delete
Deletes the next word or the selection.
By default, this keyboard shortcut is bound to: if <noselection> { ContinueSelection; Word
}; Delete.
Ctrl+U
Cuts to the beginning of the current line or the selection.
By default, this keyboard shortcut is bound to: if <searching> { TruncateSearch } else { if
<noselection> { ContinueSelection; SOL }; Cut1 }.
Ctrl+M
Cuts the current line or the lines in the selection to the first buffer.
By default, this keyboard shortcut is bound to: SelectToLines; Cut1.
Ctrl+P
Joins the current line with the next or the lines in the selection.
By default, this keyboard shortcut is bound to the JoinLines command.
Selecting Text
The following key bindings control how text is selected. For more information
about the commands, see “Selection Commands” on page 354.
Shift+UpArrow
Extends the selection up one line.
By default, this keyboard shortcut is bound to ContinueSelection; Up.
Ctrl+Shift+UpArrow
Extends the selection up multiple lines [default is 5].
By default, this keyboard shortcut is bound to: ContinueSelection; UpSome.
Shift+PageUp
Extends the selection up one screen.
By default, this keyboard shortcut is bound to: ContinueSelection; PageUp.
Shift+DownArrow
Extends the selection down one line.
By default, this keyboard shortcut is bound to: ContinueSelection; Down.
Ctrl+Shift+DownArrow
Extends the selection down multiple lines [default is 5].
By default, this keyboard shortcut is bound to: ContinueSelection; DownSome.
Ctrl+Shift+PageDown
Extends the selection down one screen.
By default, this keyboard shortcut is bound to: ContinueSelection; PageDown.
Shift+LeftArrow
Extends the selection left one character.
By default, this keyboard shortcut is bound to: ContinueSelection; LeftU.
Ctrl+Shift+LeftArrow
Extends the selection to previous word.
By default, this keyboard shortcut is bound to: ContinueSelection; ReverseWord.
Shift+Home
Extends the selection to beginning of line.
By default, this keyboard shortcut is bound to: ContinueSelection; SOL0.
Shift+RightArrow
Extends the selection right one character.
By default, this keyboard shortcut is bound to: ContinueSelection; RightD.
Ctrl+Shift+RightArrow
Extends the selection to next word.
By default, this keyboard shortcut is bound to: ContinueSelection; Word.
Shift+End
Extends the selection to the end of the line.
By default, this keyboard shortcut is bound to: ContinueSelection; EOL.
Ctrl+Shift+Enter
Extends the selection to beginning of next line.
By default, this keyboard shortcut is bound to: ContinueSelection; Return.
Ctrl+A
Selects the entire document.
By default, this keyboard shortcut is bound to: SelectAll.
Searching
The following key bindings are used to control searches. For more information
about the commands, see “Search Commands” on page 353.
Ctrl+F
Starts or continues an incremental search forward.
By default, this keyboard shortcut is bound to the iSearch command.
Ctrl+B
Starts or continues an incremental search backward.
By default, this keyboard shortcut is bound to the BackiSearch command.
Esc
Cancels a search.
By default, this keyboard shortcut is bound to the Abort command.
Ctrl+Shift+F
Opens the Search dialog box.
By default, this keyboard shortcut is bound to the Search command.
Auto-Completion
The following keyboard shortcuts are used to perform auto-completion functions,
even when auto-completion is disabled.
Ctrl+]
Auto-completes the characters with the next string that matches the pattern.
By default, this keyboard shortcut is bound to the NextAutoCompleteString command.
Ctrl+[
Auto-completes the characters with the previous string that matched the pattern.
By default, this keyboard shortcut is bound to the PrevAutoCompleteString command.
Ctrl+/
Displays a list of matched strings. You can select a string from the list.
By default, this keyboard shortcut is bound to the AutoCompleteList command.
Ctrl+'
Displays a list of matched function prototypes. You can select a function prototype from the
list.
By default, this keyboard shortcut is bound to the AutoCompletePrototypeList command.
Tab
Accepts the string auto-completed by the MULTI Editor, moves the cursor to the end of the
selected text, then clears the selection from the text.
Indenting Text
The following keyboard shortcuts are used to indent your text. For more information
about the commands, see “Indentation Commands” on page 344.
Ctrl+i
Indents the current line or the selection.
By default, this keyboard shortcut is bound to the Indent command.
Ctrl+Shift+i
Unindents the current line or the selection.
By default, this keyboard shortcut is bound to the Unindent command.
Tab
Auto indents the current line or the selection.
By default, this keyboard shortcut is bound to: if <searching> {Tab} else {if <beforenonwhite>
{AutoIndentOrTab} else {if <noselection> {Tab} else {if <HaveUnconfirmedAcString>
{AcceptAcString; MoveToEndOfSelectionAndUnselect} else {AutoIndentOrTab} } } }.
Version Control
The following keyboard shortcuts are used to access version control options. For
more information about the commands, see “Version Control Commands”
on page 362.
Ctrl+Shift+L
Opens the MULTI Diff Viewer on the last edit of the current selection.
By default, this keyboard shortcut is bound to the ShowLastEdit command.
Ctrl+Shift+H
Opens a version history browser.
By default, this keyboard shortcut is bound to the ShowHistory command.
Miscellaneous
The following are miscellaneous keyboard shortcuts.
Ctrl+\
Enters the next key press sequence literally.
By default, this keyboard shortcut is bound to the Quote command.
Ctrl+.
Repeats the last command.
By default, this keyboard shortcut is bound to the RepeatLast command.
Ctrl+Shift+A
When entered in a comment, the comment text will be reformatted to wrap across multiple lines.
By default, this keyboard shortcut is bound to the FillParagraph command.
Ctrl+Shift+R
Inserts a new line at the end of the current line.
By default, this keyboard shortcut is bound to: EOL; InsertNewLine.
Ctrl+Shift+T
Transposes the previous two characters.
By default, this keyboard shortcut is bound to: NoSelection; ContinueSelection; Left; Cut2;
Left; Paste2; Right.
Ctrl+T
Selects the current word and, if the file has function prototype information and the word is a
function name, opens a new editor on the function.
By default, this keyboard shortcut is bound to: SelectWord; GotoObjDecl -new.
Esc
Cancels the current selection and flashes the line containing the cursor.
By default, this keyboard shortcut is bound to: NoSelection; FlashCursor.
F7
Retries building the project containing the open source file. This keyboard shortcut is supported
in the Editor window that opens when multiple build errors are encountered.
Left-click
Starts new (primary) selection.
By default, this mouse action is bound to the SelectionStartDrag command.
Left-click + Drag
Selects text for the primary selection
Shift+Left-click
Extends the primary selection to the mouse pointer.
Ctrl+Left-click
Copies selection when in drag-and-drop mode. See “Drag-and-Drop Commands” on page 338.
Double Left-click
Selects the current word.
By default, this mouse action is bound to the SelectWord;SelectionAdjust command.
Triple Left-click
Selects the current line. You can drag the mouse to extend the selection.
By default, this mouse action is bound to the SelectLine;SelectionAdjust command.
Quadruple Left-click
Selects the entire file.
By default, this mouse action is bound to the SelectAll;SelectionGrab command.
Middle-click
Makes a secondary selection and replaces it with the primary selection.
Double Middle-click
Replaces a current word with the primary selection.
Triple Middle-click
Replaces a current line with the primary selection.
Quadruple Middle-click
Replaces an entire file with the primary selection.
Right-click
Opens the shortcut menu for performing operations on the current object.
Ctrl+Right-click
Edits the definition of the selected function when cross reference information is available.
Shift+Double Right-click
Selects a matching curly brace {}, square bracket [], or parenthesis ().
By default, this mouse action is bound to the SelectToMatch command.
Shift+Right-click
If the cursor is located inside of, or immediately outside of, a pair of curly braces {}, square
brackets [], or parentheses (), selects everything inside of and including the curly braces,
square brackets, or parentheses.
Third-Party Tools
Contents
Third-Party Version Control Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Third-Party Editors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Using the Editor with Third-Party Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Appendix D. Third-Party Tools
This chapter describes how to use various third-party tools with the MULTI Editor.
Note
For information about using third-party compilers, see the documentation
about generating debugging information for applications compiled with
third-party compilers in the MULTI: Building Applications book. For
information about using the MULTI Debugger with third-party tools, see
Appendix D, “Using Third-Party Tools with the MULTI Debugger” in
the MULTI: Debugging book.
Third-Party Editors
You can configure MULTI to use another editor in place of MULTI's built-in Editor.
To specify an alternate editor, you can either set options using the Other Editor
Configuration dialog box or you can use the appropriate configuration options.
For instructions on how to specify an alternate editor, see “Third-Party Editor
Configuration Options” on page 183.
For more information about these commands, see Appendix B, “Editor Commands”
on page 327.
menu: EditMenuBar { \
{&File ->EditFile} \
{&Edit ->EditEdit} \
{V&iew ->EditView} \
{&Block ->EditBlock} \
{&Tools ->EditTools} \
{MyTools ->MyTools} \
{&Version ->EditVersion} \
{&Config ->Config} \
{&Windows ->WindowsMenu} \
{&Help ->EditHelp}}
Note
The backslashes at the end of lines indicate a line wrap. In the actual
configuration file, there should not be any line wraps.
To configure the Editor menus from the GUI, choose Config → Options, choose
the General tab, and click the Menus button.
cppCommentsinC configuration option, 238 Ctrl+P keyboard shortcut, 286, 333, 376
Create Auto-Include Subproject Ctrl+Paste keyboard shortcut, 336
Project Manager menu item, 262 Ctrl+Q keyboard shortcut, 280, 317, 340, 373
Create backup files when saving configuration option, 221 Ctrl+RightArrow keyboard shortcut, 353, 372
Create Checkout, 113 Ctrl mouse action, 383
CreateLog command (deprecated), 367 Ctrl+S keyboard shortcut, 278, 342, 373
Criteria to decide if a task is in a group configuration option, Ctrl+Shift+O keyboard shortcut, 373
208 Ctrl+Shift+S keyboard shortcut, 373
cross reference, 78 Ctrl+Shift+Tab keyboard shortcut, 283, 365, 372
cTextSize configuration option, 210 Ctrl+T keyboard shortcut, 381
Ctrl key, 339 Ctrl+Tab keyboard shortcut, 283, 365, 372
Ctrl+* keyboard shortcut, 285, 317, 332 Ctrl+U keyboard shortcut, 358, 376
Ctrl+' keyboard shortcut, 379 Ctrl+UpArrow keyboard shortcut, 353, 370
Ctrl++ keyboard shortcut, 286, 333 Ctrl+V keyboard shortcut, 281, 336, 337, 375
Ctrl+/ keyboard shortcut, 379 Ctrl+W keyboard shortcut, 352, 371
Ctrl+0 (zero) keyboard shortcut, 352, 371 Ctrl+X keyboard shortcut, 281, 335, 374
Ctrl+; keyboard shortcut, 89 Ctrl+Y keyboard shortcut, 281, 361, 374
Ctrl+[ keyboard shortcut, 379 Ctrl+Z keyboard shortcut, 280, 362, 374
Ctrl+\ keyboard shortcut, 348, 381 Ctrl+Shift+A keyboard shortcut, 285, 333, 381
Ctrl+] keyboard shortcut, 379 Ctrl+Shift+B keyboard shortcut, 351, 370
Ctrl+^ keyboard shortcut, 371 Ctrl+Shift+F, 378
Ctrl+cursor jump size configuration option, 222 Ctrl+Shift+C keyboard shortcut, 334, 375
Ctrl+– keyboard shortcut, 286, 333 Ctrl+Shift+Copy keyboard shortcut, 334
Ctrl+. keyboard shortcut, 281, 361, 381 Ctrl+Shift+Cut keyboard shortcut, 335
Ctrl+2 keyboard shortcut, 89, 285, 345 Ctrl+Shift+DownArrow keyboard shortcut, 377
Ctrl+A keyboard shortcut, 282, 356, 378 Ctrl+Shift+Enter keyboard shortcut, 378
Ctrl+B keyboard shortcut, 83, 353, 378 Ctrl+Shift+F keyboard shortcut, 85, 282, 354
Ctrl+Backspace keyboard shortcut, 358, 376 Ctrl+Shift+G keyboard shortcut, 81, 282, 349
Ctrl+C keyboard shortcut, 281, 334, 375 Ctrl+Shift+H keyboard shortcut, 364, 380
Ctrl+Copy keyboard shortcut, 334 Ctrl+Shift+i keyboard shortcut, 285, 345, 380
Ctrl+Cut keyboard shortcut, 335 Ctrl+Shift+L keyboard shortcut, 364, 380
Ctrl+D keyboard shortcut, 281, 358, 376 Ctrl+Shift+LeftArrow keyboard shortcut, 377
Ctrl+Delete keyboard shortcut, 358, 376 Ctrl+Shift+N keyboard shortcut, 350, 371
Ctrl+DownArrow keyboard shortcut, 348, 370 Ctrl+Shift+O, 317
Ctrl+E keyboard shortcut, 349, 372 Ctrl+Shift+O keyboard shortcut, 341
Ctrl+End keyboard shortcut, 349, 372 Ctrl+Shift+P keyboard shortcut, 280
Ctrl+Enter keyboard shortcut, 372 Ctrl+Shift+PageDown keyboard shortcut, 377
Ctrl+F keyboard shortcut, 83, 353, 378 Ctrl+Shift+Paste keyboard shortcut, 336
Ctrl+G keyboard shortcut, 82, 349, 372 Ctrl+Shift+Q keyboard shortcut, 340, 373
Ctrl+H keyboard shortcut, 350, 371 Ctrl+Shift+R keyboard shortcut, 346, 381
Ctrl+Home keyboard shortcut, 352, 371 Ctrl+Shift+RightArrow keyboard shortcut, 378
Ctrl+i keyboard shortcut, 285, 345, 380 Ctrl+Shift+S keyboard shortcut, 278, 343
Ctrl+J keyboard shortcut, 348, 370 Ctrl+Shift+T keyboard shortcut, 335, 381
Ctrl+K keyboard shortcut, 352, 370 Ctrl+Shift+U keyboard shortcut, 285, 333
Ctrl+L keyboard shortcut, 351, 371 Ctrl+Shift+UpArrow keyboard shortcut, 377
Ctrl+LeftArrow keyboard shortcut, 351, 371 Ctrl+Shift+V keyboard shortcut, 336, 375
Ctrl mouse action, 382 Ctrl+Shift+X keyboard shortcut, 335, 374
Ctrl+Left-click, 339 curly braces {}, matching, 284
Ctrl+M keyboard shortcut, 286, 359, 376 cursor movement
Ctrl+N keyboard shortcut, 278, 341, 373 beginning of next line, 351
Ctrl+O keyboard shortcut, 278, 316, 341, 373 flashing to current line, 283
keyboard shortcuts, 370 Debug selected program Project Manager menu item, 265
when dialog box opens, 180 Debug server timeout in seconds configuration option, 207
cursor position, 296 Debug Servers configuration option, 234
Custom configuration option, 196 debugbutton command, 144
customize debugButton configuration option, 210
GUI, 142 DebugByName command, 148
icons, 146 Debugger
keys, 152 colors, 237
menus, 147 configuration options, 198
mouse clicks, 152 history, 212
toolbar buttons, 144 panes, 213
Customize Menus menu item, 291 tab, 198
Customize Menus Project Manager menu item, 267 window size and position, 211
customized color configuration option, 238 Debugger child windows configuration option, 201
CustomizeMenus command, 291, 338 Debugger Colors configuration option, 237
cut Debugger commands
column of text, 93 -> (minus greater than) menu command, 151
keyboard shortcuts, 374 configureFile, 191
Cut keybind command, 152
key, 335 keybind, 183
menu item, 281, 293 mouse command, 152
Cut debugging_window menu item, 292
command, 281, 335 debugServersDir configuration option, 235
Cut Lines menu item, 286 debugServerSet configuration option, 234
Cut1, Cut2, Cut3, Cut4 commands, 335 defaultNpwDir configuration option, 196
CVS Checkout Editor define new language, 163
menu item, 306 Delete
using, 113 key, 358, 376
CVS version control keyboard shortcuts, 376
configuration, 103, 181 menu item, 281
features, 117 Delete dead tasks from group configuration option, 204
integration, 105, 117 Delete
path, 185 command, 281
_cwd Launcher variable, 70 Delete selected file Project Manager menu item, 261
CyclePush command, 283, 365 deleting text, 281
CyclePushBack command, 283, 365 DelUnconfirmedAcString command, 332
derefPointer configuration option, 202
D detail pane, MULTI Launcher, 54
Data Explorer dialog boxes
nested structs, 211 cursor movement in, 180
position, 202 -diff command line option, 74
save between sessions, 230 Diff Selected Files menu item, 314
value length, 211 Diff Viewer
window format, 219 menus, 316
window overlap, 213 opening, 119
window size, 201 overview, 119
database location, SourceSafe, 185 starting from the command line, 120
Date command, 287, 346 DiffFiles
deadCode color configuration option, 238 menu item, 98, 120, 288
Debug Other Executable Project Manager menu item, 266 DiffFiles
command, 288, 359
diffHighlight color configuration option, 239 Edit Project Manager menu item, 260
Diffview Colors configuration option, 239 Edit Selected Files menu item, 314
Directory memory configuration option, 233 editbutton command, 144
directory structure editButton
installation, 326 configuration option, 229
Disable activation follows focus configuration option, 189 editHeight configuration option, 227
Disable all grouping configuration option, 188 editincrFrequency configuration option, 227
Disable all window management configuration option, 188 editindent configuration option, 222
Disable geometry caching configuration option, 189 EditLine command, 349
Disable grouping in KDE configuration option, 189 Editor
disable version control, 103, 181 auto recover, 227
disAsmStyle configuration option, 191 commands, 328
Discard Changes menu item, 289 (see also commands)
Discard command, 289, 362 configuration option, 181
Display #includes Listing (-H) Project Manager menu item, line numbers in, 227
275 main window, picture of, 77
Display all numbers/characters as hex configuration option, margin width, 227
199 merging three files, 96
Display close (x) buttons configuration option, 178 merging two files, 94
Display connection type in Connection Chooser configuration progress window, 66
option, 198 specifying an alternate, 386
Do Not Color configuration option, 199 Toolbar, 294
Docking Distance configuration option, 188 window size, 226
docking, window (see window docking) Editor Help menu item, 293
Docks to configuration option, 190 Editor menus
document set, xiv, xv Block menu, 285
Does not dock to configuration option, 190 Config menu, 291
Done command, 340 Edit menu, 280
DOS Format File menu, 278
menu item, 282 Help menu, 293
DosFormat command, 340 Tools menu, 287
Double indent size when indenting body of switch Version menu, 288
configuration option, 223 View menu, 282
Double Left-click mouse action, 382 Windows menu, 292
Double Middle-click mouse action, 383 Editor Project Manager menu item, 266
Down command, 348 editorBackups configuration option, 221
DownArrow key, 348, 370 EditorFlags command, 283, 340
downloading EditOtherByName command, 148
Hello World, 12 editParenMatch configuration option, 229
downloadWindow configuration option, 211 editPrint2Column configuration option, 226
DownSome command, 348 editSomeSize configuration option, 222
size of, 222 editWidth configuration option, 226
Drag and drop text editing configuration option, 222 Either radio button, 302
DrawWrapLine command, 365 Emacs Editor
drawWrapLine command line arguments, 184
configuration option, 229 configuration option, 181
path, 183
E use command window, 184
echoCommandsFrom... configuration option, 211 use XTerm, 184
Edit menu, 280 End key, 349, 372
Ends line check box, 303
Ends word check box, 302 File line # configuration option, 237
Enter key, 346 File menu, 278
Enter spaces in place of tabs configuration option, 221 File Names Only Project Manager menu item, 263
EnterInsertMode command, 348 File Number configuration option, 200
EOF command, 349 file shortcut bar, Project Manager, 18
EOL command, 349 FileProperties
errors and warnings command, 280, 340
always view in MULTI Editor, 196 fileRelLineBg configuration option, 237
Esc key, 283, 349, 354, 361, 378, 381 files
Escape restores view after iSearch configuration option, 179 checking in, 289
escHalts configuration option, 204 checking in all, 289
exactCase configuration option, 179 checking out, 289
execFilesDir configuration option, 234 checkout automatically, 290
execFileSet configuration option, 234 color in browser, 218
Execute Editor Commands comparing, 98
dialog box, 328, 360 differences between, 359
menu item, 288 discarding changes, 289
Execute Shell Command menu item, 287 inserting, 286
Execute tools at low priority (-nice) configuration option, keyboard shortcuts, 373
197 merging, 93
ExecuteCmd command, 287, 359 merging three into one, 96
ExecuteCommandOnSelected command, 149 merging two into one, 94
ExecuteShellCommandOnSelected command, 149 opening from the Debugger, 76
Exit All menu item, 280 opening from the Project Manager, 76
Exit All Project Manager menu item, 259 searching for in project, 31
Expand Project Project Manager menu item, 263 switching read/write modes, 279, 284, 343
extEditor_Choice configuration option, 181 version control, 289
extEditor_EmacsArgumentFormat configuration option, 184 Fill paragraph column configuration option, 228
extEditor_EmacsPath configuration option, 183 FillParagraph command, 228, 285, 333
extEditor_EmacsUseCmd configuration option, 184 Filter Project View Project Manager menu item, 263
extEditor_EmacsUseXTerm configuration option, 184 Find
extEditor_OtherArgumentFormat configuration option, 184 button, 85, 301
extEditor_OtherPath configuration option, 183 key, 354
extEditor_OtherUseCmd configuration option, 184 menu item, 85, 282, 301
extEditor_OtherUseXTerm configuration option, 184 Find then Replace button, 301
extEditor_ViArgumentFormat configuration option, 184 first match auto-completion, 170
extEditor_ViPath configuration option, 183 firstPosition configuration option, 202
extEditor_ViUseCmd configuration option, 184 Flash selected program Project Manager menu item, 267
extEditor_ViUseXTerm configuration option, 184 FlashCursor
menu item, 283
F FlashCursor
F1 key, 293, 344 command, 349
F7 key, 381 floating-point number form, 169
file chooser focusOnRaise configuration option, 191
directory memory, 233 font configuration option, 182
user directories, 234 Force link (-link) Project Manager menu item, 275
file chooser dialog box (Linux/Solaris), 297 foreground color configuration option, 236
file command line option, 74 formatStringMaxDepth configuration option, 211
file extensions, 164 formatStringMaxLength configuration option, 211
configuring, 172 Forward radio button, 302
Full Paths Project Manager menu item, 263
shortcuts, editing from, 246 Only auto indent when typing first character in line
toolbar, 252 configuration option, 223
utilities, 248 Only remove intermediate output (-leave_output) Project
variables (see MULTI Launcher variables) Manager menu item, 275
workspaces, editing from, 246 Open
MULTI Launcher variables key, 341
creating, 71 menu item, 278
editing, 71 Open build details window configuration option, 195
overview, 68 Open External Dependency Project Manager menu item, 258
pre-defined, 70 Open New Editor Window menu item, 294
referencing, 72 Open Project Project Manager menu item, 258
substitution, 72 Open Reference BSP Project Project Manager menu item,
types of, 69 258
MULTI Project Manager Help Project Manager menu item, Open Windows Explorer Project Manager menu item, 267
268 OpenFile command, 278, 341
MULTI shortcuts (see shortcuts, MULTI) openFilesinNewBuffers configuration option, 221
MULTI workspaces (see workspaces) opening a file
_multi_dir Launcher variable, 70 from the Debugger, 76
_multi_major_version Launcher variable, 70 from the Project Manager, 76
_multi_micro_version Launcher variable, 70 OpenProjectByName command, 149
_multi_minor_version Launcher variable, 70 OpenText command (deprecated), 367
MultiBar command, 287, 360 Options
multiiconPreName configuration option, 193 configuration (see configuration options)
multiWinPreName configuration option, 193 menu item, 291
window, 130
N Options Project Manager menu item, 267
navigating OSA
keyboard shortcuts, 370 package prompt, 204
navigating files, 78 osaExplorerRefreshTargetList configuration option, 213
-new command line option, 75 osaSwitchToUserTaskAutomatically configuration option,
New Editor menu item, 278 214
New Top Project Project Manager menu item, 258 osaTaskAutoAttachLimit configuration option, 214
New Window Project Manager menu item, 259 other editor
Next File menu item, 283 command line arguments, 184
NextAutoCompleteString command, 332 configuration option, 181
NextError path, 183
command, 350 use command window, 184
NextWindow command, 366 use XTerm, 184
No Number configuration option, 200 overtype mode, 222
noDecoration configuration option, 193 overwriteScriptBreakpoints configuration option, 231
Normal radio button, 302
NoSelection command, 335, 355 P
-nouninstall command line option, 174 paddedHex configuration option, 214
number color configuration option, 238 Page Setup menu item, 279
Number of parallel processes configuration option, 196 PageDown
numberSeparator configuration option, 193 key, 350, 371
numParallelBuildProcesses configuration option, 196 PageDown
command, 350
O PageSetup command, 279, 341
On warnings configuration option, 195 PageUp
RightD command, 351 Search in source files in selected file Project Manager menu
RightSome command, 352 item, 262
size of, 222 Search
Root of checkout configuration option, 185 command, 282, 354
runRcScripts configuration option, 216 searching, 83
case-sensitive, 87, 179, 302
S for Builder options, 43
Save arguments between sessions configuration option, 230 for files in your project, 31
Save command history between sessions configuration in all open files, 83, 87, 88, 303
option, 230 in files, 31
Save command, 278, 342 incremental, 83
Save Commit Log menu item, 313 interactive, 83, 85, 301
Save Configuration As menu item, 292 tips, 84
Save Configuration As Project Manager menu item, 266 with regular expressions, 85, 302
Save Configuration as User Default menu item, 291 with Search dialog box, 83, 85, 301
Save Configuration as User Default Project Manager menu with Search in Files dialog box, 87
item, 266 with wildcards, 302
Save data explorers between sessions configuration option, SecondarySelectAll command, 355
230 SecondarySelectionAdjust command, 355
Save Project Project Manager menu item, 258 SecondarySelectionExtend command, 355
Save window positions and sizes configuration option, 178 SecondarySelectionReplace command, 356
SaveAll SecondarySelectionReplaceClip command, 356
menu item, 279 SecondarySelectionStart command, 355
SaveAll SecondarySelectLine command, 355
command, 342 SecondarySelectWord command, 355
SaveAs command, 278, 343 :select Builder option, 50
SaveConfig command, 291, 338 select color configuration option, 236
SaveConfigToFile command, 292, 338 select text keyboard shortcuts, 377
saveDebugServer configuration option, 232 select version control system, 103
saveRunArguments configuration option, 230 SelectAll command, 282, 356
saveViewWindows configuration option, 230 selecting languages, 282
scientific notation, 169 Selection margin width in pixels configuration option, 227
script file SelectionAdjust command, 356
command line, 140 SelectionDrop command, 339
global, 140 SelectionExtend command, 356
program, 140 SelectionGrab command, 356
user, 140 selectionMarginWidth configuration option, 227
scripts, 140 SelectionStart command, 356
Search SelectionStartDrag command, 339
dialog box, 83, 85, 301 SelectionStartDragAdd command, 339
keyboard shortcuts, 378 SelectLanguage command, 282, 343
Search in All Source Files Project Manager menu item, 262 SelectLine command, 286, 356
Search in Files, 83, 87, 88, 303 SelectMatch command, 356
dialog box, 83, 87 SelectRange command, 357
menu item, 287 SelectToLines command, 357, 359
results window, 87, 88, 303 SelectToMatch command, 284, 357
Search in Files dialog box, 31 SelectWord command, 357
Search in Files Results window, 32 serverPollinterval configuration option, 207
Search in selected file Project Manager menu item, 262 serverTimeout configuration option, 207
Session tab, 230
Set Build Macros Project Manager menu item, 261
Set Build Options Project Manager menu item, 259 Show internal commands (-nested_commands) Project
Set Build Target Project Manager menu item, 261 Manager menu item, 275
Set File Type Project Manager menu item, 262 Show Last Edit menu item, 290, 294
Set Imported Environment Variables Project Manager menu Show line number configuration option, 227
item, 262 Show Options Column Project Manager menu item, 263
Set INTEGRITY Distribution menu item, 250, 266 Show Paths Project Manager menu item, 263
Set Options in Parent Project Manager menu item, 262 Show position in non-GUI (-nodisplay) mode configuration
Set u-velOSity Distribution menu item, 250 option, 203
setBpAtAdrinitWhenExecing configuration option, 216 Show Size Column Project Manager menu item, 263
setting language, 163 Show tool commands (-commands) configuration option,
settings for stand-alone programs 197
Project Manager, 21 Show tool commands (-commands) Project Manager menu
settings for your project item, 275
Project Manager, 20 Show tooltips configuration option, 179
sharedSymbols configuration option, 216 Show Type Column Project Manager menu item, 263
shell command, 216, 360, 387 Show variable values in tooltips configuration option, 200
shell commands ShowContextMenu command, 361
executing, 359 showGrepCommand configuration option, 194
shellConfirm configuration option, 216 -showhistory command line option, 75
Shift + F19 keyboard shortcut, 379 ShowHistory command, 290, 364
Shift mouse action, 383 ShowLastEdit command, 290, 364
Shift+Copy keyboard shortcut, 334 showLineNumberinEditor configuration option, 227
Shift+Cut keyboard shortcut, 335 showPosinNoDisplayMode configuration option, 203
Shift+DownArrow keyboard shortcut, 377 showProgress configuration option, 195
Shift+End keyboard shortcut, 378 ShowView command, 364
Shift+F9 keyboard shortcut (Windows), 379 silentlyReloadSymbols configuration option, 217
Shift+Find keyboard shortcut, 353 Simplify All Filenames Project Manager menu item, 262
Shift+Home keyboard shortcut, 377 Single-Thread Build configuration option, 196
Shift+LeftArrow keyboard shortcut, 377 single-thread build mode, setting, 48
Shift+PageUp keyboard shortcut, 377 SOF command, 352
Shift+Paste keyboard shortcut, 336 SOL command, 352
Shift+RightArrow keyboard shortcut, 378 SOL0 command, 352
Shift+UpArrow keyboard shortcut, 377 SOL1 command, 352
Shift mouse action, 383 Solaris/Linux
Shift mouse action, 382 file chooser dialog box, 297
shortcut commands printing, 298
backward, 31 SOLSecondary command, 357
forward, 31 Source Code Font configuration option, 182
shortcut menu source files
Editor, 293 setting options for, 47
shortcuts, MULTI Source Files configuration option, 234
creating, 67 sourceFilesDir configuration option, 234
exporting, 68 sourceFileSet configuration option, 234
importing, 68 SourceSafe version control
overview, 52 automatic checkout, 185
saving, 67 configuration, 104, 181
Show All Views Project Manager menu item, 263 database location, 185
Show build without execution (-info) Project Manager menu integration, 105
item, 275 path, 185
Show History root of checkout, 185
menu item, 290 Spaces per indent for Ada configuration option, 228
U V
UnComment menu item, 285, 294 variables (see MULTI Launcher variables)
UnCommentBlock command, 285, 333 VCBuffer command, 364
Undo verifyHalt configuration option, 198
button, 301 versCtrl_ClearCaseAuto... configuration option, 185
key, 362 versCtrl_ClearCasePath configuration option, 185
menu item, 280, 293 versCtrl_CvsPath configuration option, 185
Undo Project Manager menu item, 261 versCtrl_SourceSafeAuto... configuration option, 185
Undo versCtrl_SourceSafeDatabase configuration option, 185
command, 280, 362 versCtrl_SourceSafePath configuration option, 185
unifyViewWindows configuration option, 206 versCtrl_SourceSafeRoot configuration option, 185
Unindent versCtrl_SubversionPath configuration option, 185
menu item, 285 version control, 102
Unindent auto-checkout, 110, 290
command, 285, 345 auto-detect, 103, 181
unions, color in browser, 218 CheckIn, 289
Up command, 352 CheckOut, 289
UpArrow key, 352, 370 ClearCase, 103, 104, 181
Update menu item, 289 configuration options, 184
UpperCase menu item, 286 CVS, 103, 181
UpperCaseBlock command, 286, 333 disabling, 103, 181
UpSome command, 353 discard changes, 289
size of, 222 enabling, 289
-usage command line option, 75 indicator, 296
Use Color Offsets configuration option, 199 location of binary, 185
Use command window configuration option, 184 merging multiple file versions, 288, 360
Use function relative line numbers (vs. file relative) place file under, 289
configuration option, 199 Revert to Date, 112
Use lock files (-lockout) configuration option, 197 Revert to History, 112
Use MULTI Editor on errors configuration option, 196 Revert to Version, 112
Use Preset Colors configuration option, 199 reverting to backup version, 279
Use Recent Commit Log menu item, 313 reverting to previous version, 112, 290
Use Utilities Project Manager menu item, 267 reverting to previously saved version, 279
Use XTerm configuration option, 184 reverting to specific date, 290
useLockFiles configuration option, 197 reverting to specific version, 291
useLowPriority configuration option, 197 show history, 290
user show last edit, 111, 290
configuration file, 136 SourceSafe, 104, 105, 181
script file, 140 Subversion, 103, 181
user configuration file, 136 supported systems, 102
clearing, 139 Version Control configuration option, 181