bocca edit {-i,-h,-m} sidl-symbol [methodname]
starts the editor for your environment on the matching file, whereever it is stored in the project.
-i edits the impl.
-H edits the header if there is one
-m edits the f90 mod file if there is one
If no - switch is given, the sidl is edited.
If methodname is supplied, and it is found in the file to be edited, and the editor is emacs or vi or another that responds to the +N option, then the method will appear directly in the editor when it starts. If your editor does not support +N, this feature is not available to you without advanced hackery. Contact the bocca developers with the correct way to start your editor at a given line number.
The program to use for editor is found in environment variables:
BOCCA_EDITOR
EDITOR
and if these are not found, then we search for vi in the user's path.
Editors can have a variety of strange interactions with the terminal where the "bocca edit" was issued. If you have some such problem (typically for xemacs), set the environment variable
BOCCA_EDITOR_NOWAIT = 1. If you use the nowait variable, you must separately do a "bocca edit -t sidl-symbol" any time you save changes to a sidl file, or the impl file will fall behind the sidl.
If you end up in vi and never learned it, type the following keys to get out:
Esc : q !
If you end up in emacs and never learned it, type the following keys to get out:
Ctrl-x Ctrl-c n Return yes Return
If you are remote from the host, you may get X11 errors unable to open windows.
One handy incantation to avoid the X11 requirement is:
export BOCCA_EDITOR="emacs -nw"
or for {t}csh:
setenv BOCCA_EDITOR "emacs -nw"
The following project.defaults settings control the behavior of the build system after editing a file:
# Automatically update component implementations when SIDL files change or
# project entities are added or removed
autoregenimpls = enabled # possible values: enabled,disabled
# Verbosity level when autoregenimpls or autochecksidl is enabled
regen_messages = verbose # possible values: terse,verbose
# Automatically check SIDL by running babel -p after editing operations
autochecksidl = enabled # possible values: enabled, disabled
Note that if no modifications to the file were made, bocca will not perform any build-related updates, regardless of the option settings above.