Here's the latest version of xretrace. It includes two new commands for stepping backwards and forwards through the list without using an event loop - xretrace_cursor_back and xretrace_cursor_fwd. Hopefully it also fixes a problem with finding the path to the location of the xretrace module which previously caused the bitmap files and "help" file to be not found.
Installation/ uninstallationTo load it, create an "xretrace" folder in your configuration folder and unzip all the files into xretrace. , then load the following three files in this order.
DLinkList.e
xretrace_popup.e
xretrace.e
Note the xretrace.e file must be open and active in the editor at the time that it is loaded so before loading xretrace.e, first open it in the editor, then use the load module command to load it.
Use the "load module" command on the macro menu to load the files and the unload module command to remove them. I recommend unloading these modules before upgrading to a new version of SlickEdit, since it's possible an error could occur if you let SlickEdit load them automatically. Also, if you run multiple versions of slickedit, it's probably not desirable to share .ex files between different versions of SE.
Written forSE 2009 but probably works in earlier versions. Tested on Windows XP only but is likely to work on any platform.
DocumentationSee comments at the start of xretrace.e and DLinkList.e
ConfigurationAfter loading the macros, run the command
xretrace_show_control_panel to configure. Try the default options to start with, then consider turning off "xretrace delayed start" (so that xretrace is operational as soon as slickedit is started) and turning on "track modified lines" (if you have "color modified lines enabled" then see the first post in this thread). The configuration dialog can also be accessed by pressing the "insert" key when one of the "event loop" commands is active -
xretrace_cursor_steps or
xretrace_modified_line_stepsCommands- xretrace_cursor - go to the most recent cursor location/region.
- xretrace_modified_line - go to the most recently modified line/region.
- xretrace_modified_line_steps - step through modified regions using an event loop.
- xretrace_cursor_steps - step through visited regions using an event loop.
- xretrace_cursor_back - go to the previous cursor location in the retrace list.
- xretrace_cursor_fwd - go to the next cursor location in the retrace list.
- xretrace_show_control_panel - set options
UsageBy default, xretrace doesn't start running when you start slickedit (you can change this by turning off the "delayed start" option). If you use one of the retrace commands when xretrace isn't running, you'll be prompted to start xretrace.
xretrace maintains a list of lines/regions that the cursor has visited and a second list of lines/regions that have been modified.
xretrace_cursor goes to the most recently visited region and alternates between the last two visited regions/lines.
xretrace_cursor_back steps through the cursor retrace list without using an event loop but if the cursor is moved off the line, the next use of
xretrace_cursor_back will start at the start of the list again.
xretrace_cursor_fwd goes in the opposite direction to
xretrace_cursor_back.
Limitationsxretrace doesn't treat inserted lines as "modified" and it also doesn't register deleted lines as "modified regions". If you have "color modified lines" enabled, you might not want to enable the "track modified lines" option because it clears the modified line flags - however, these flags can be restored. See the comments at the start of xretrace for more detail.