Lugaru's Epsilon
Programmer's
Editor

Context:
Epsilon User's Manual and Reference
   . . .
   General Concepts
      Buffer Concepts
      Window Concepts
      Epsilon's Screen Layout
      . . .
      The Menu Bar
   Commands by Topic
      . . .
      Buffers and Files
      Starting and Stopping Epsilon
      Running Other Programs
         The Concurrent Process
         Compiling From Epsilon
      Repeating Commands
      Simple Customizing
      . . .
   Command Reference
      abort
      about-epsilon
      align-region
      . . .
      zoom-window
   . . .

Previous   Up    Next
The Open With Epsilon Shell Extension  Commands by Topic   The Concurrent Process


Epsilon User's Manual and Reference > Commands by Topic >

Running Other Programs

Epsilon provides several methods for running other programs from within Epsilon. The push command on Ctrl-X Ctrl-E starts a command processor (shell) running. You can then issue shell commands. When you type the "exit" command, you will return to Epsilon and can resume your work right where you left off.

With a numeric argument, the command asks for a command line to pass to the shell, runs this command, then returns.

While Epsilon runs a command processor or other program with the push command, it looks like you ran the program from outside of Epsilon. But Epsilon can make a copy of the input and output that occurs during the program's execution, and show it to you when the program returns to Epsilon. If you set the variable capture-output to a nonzero value (normally it has the value zero), Epsilon will make such a transcript. When you return to Epsilon, this transcript will appear in a buffer named "process".

You can use the filter-region command on Alt-| to process the current region through an external command. Epsilon will run the command, sending a copy of the region to it as its standard input. By default, the external command's output goes to a new buffer. Run filter-region with a numeric argument if you want the output to replace the current region.

The command shell-command is similar, but it doesn't send the current region as the command's input. It prompts for the name of an external program to run and displays the result in a buffer; with a numeric argument it inserts the command's output into the current buffer.

Configuration variables (see Configuration Variables) let you customize what command Epsilon runs when it wants to start a process. Epsilon runs the command file named by the EPSCOMSPEC configuration variable. If no such variable exists, Epsilon uses the standard COMSPEC environment variable instead. Epsilon reports an error if neither exists.

If a configuration variable named INTERSHELLFLAGS has been defined, Epsilon passes the contents of this variable to the program as its command line. When Epsilon needs to pass a command line to the program, it doesn't use INTERSHELLFLAGS. Instead, it inserts the contents of the CMDSHELLFLAGS variable before the command line you type.

The sequence %% in CMDSHELLFLAGS makes Epsilon interpolate the command line at that point, instead of adding it after the flags. Put a "d" after the %% to have Epsilon double backslashes in the command line until the first space; put "b" to have Epsilon change backslashes to slashes until the first space, or "a" to have Epsilon interpolate the command line as-is. A plain %% makes Epsilon guess: it uses "b" if the shell name ends in "sh", otherwise "a".

If Epsilon can't find a definition for INTERSHELLFLAGS or CMDSHELLFLAGS, it substitutes flags appropriate for the operating system. See the next section for more on these settings.

Standard bindings:

  Ctrl-X Ctrl-E  push
   filter-region
   shell-command
 

Subtopics:

The Concurrent Process
Compiling From Epsilon



Previous   Up    Next
The Open With Epsilon Shell Extension  Commands by Topic   The Concurrent Process


Lugaru Copyright (C) 1984, 2012 Lugaru Software Ltd. All Rights Reserved.