Skip to content
Harry Pantazis edited this page Jun 9, 2017 · 3 revisions

Editing

The SchemeScript editor provides mainly useful editing commands. This section summarizes those commands (some of them are also available through the editor's context menu):

Editing commands

The editor provides the following commands:

Command Description Default key sequences
Movement
Forward S-expression Moves the cursor to the end of the next S-expression. ALT-CTRL-F
Backward S-expression Moves the cursor to the beginning of the previous S-expression. ALT-CTRL-B
Up S-expression Moves the cursor to the beginning of the enclosing S-expression.
Down S-expression Moves the cursor inside the next list.
Jump to Definition When the cursor is on a symbol corresponding to a globally defined variable inside the workspace, this command jumps to the definition (which can be in another file). F12
Find Symbol Pops up a dialog box that asks for a symbol prefix and displays all matching symbols. (Only available in the Scheme Perspective.) CTRL-F12
Selection
Select Forward S-expression Adds the next S-expression to the selection. ALT-CTRL-SHIFT-F
Select Backward S-expression Adds the previous S-expression to the selection. ALT-CTRL-SHIFT-B
Select Up S-expression Selects the enclosing S-expression. CTRL-SHIFT-UP_ARROW
Restore the previous selection Used in combination with the previous command. Restores the selection that was in effect before selecting the enclosing S-expression. CTRL-SHIFT-DOWN_ARROW
Edition
Swap S-expressions Swaps the two S-expressions that before and after the current cursor position. ALT-CTRL-T
Format Selection Formats the selection, essentially properly indenting the selected lines. CTRL-I, CTRL-SHIFT-F, TAB
Compress Spaces Replaces all whitespace characters surrounding the cursor with a single space. ALT-CTRL-SPACEBAR
Mouse Copy Copies the S-expression under the mouse position at the cursor position (removing the selection, if any). See the Mouse copy section. ALT-CTRL-C
Extended Mouse Copy As the Mouse Copy command, but also copies the punctuation characters immediately preceding the S-expression, if any (like an opening parenthesis, a quote, an unquote, etc.). See the Mouse copy section. ALT-CTRL-X
Backward Slurp S-expression Move the opening parenthesis of the surrounding S-expression one expression to the left. ALT-SHIFT-B, S
Forward Slurp S-expression Move the closing parenthesis of the surrounding S-expression one expression to the right. ALT-SHIFT-F, S
Split S-expression If the cursor is positioned inside a list, the list is split into two lists. ALT-SHIFT-S
Join S-expressions If the cursor is positioned between two lists, the two lists are merged to form a single list ALT-SHIFT-J
Raise S-expression Replace the surrounding S-expression by the S-expression on the right of the cursor. ALT-CTRL-SHIFT-R
Splice S-expression If the cursor is positioned inside a list, the list's parentheses are removed. CTRL-(
Wrap S-expression Adds parentheses around the S-expression on the right of the cursor. CTRL-(
Kill next S-expression Removes the S-expression on the right of the cursor. CTRL-K
Kill previous S-expression Removes the S-expression on the left of the cursor. CTRL-SHIFT-K
Comments
Scheme file header comment Insert, at the beginning of the file, a file header comment, with the author name, and a copyright notice (see the the comment section in the Scheme preferences). ALT-C, H
Chapter comment Insert a chapter-style comment (these comments appear in the Outline View). ALT-C, C
Section comment Insert a section-style comment (these comments appear in the Outline View). The section depth is determined by the number of * characters in front of the section name. ALT-C, S
Toggle Comment Comment out the lines in the selection (or the current line if there is no selection) or uncomment the lines if they are already commented out. CTRL-/
Evaluation
Start Interpreter Starts the interpreter, if not already started. (Only available in the Scheme Perspective.) F9
Restart Interpreter Restarts the interpreter unconditionally, first stopping any running interpreter. (Only available in the Scheme Perspective.) CTRL-F9
Eval Expression Sends the previous S-expression to the Scheme interpreter, starting it if necessary. CTRL-RETURN
Eval Toplevel Expression Sends the enclosing top-level S-expression to the Scheme interpreter, starting it if necessary (useful when the cursor is inside a top-level definition and we want to send to definition to the interpreter). CTRL-SHIFT-RETURN
Load File in Interpreter Loads the current file in the Scheme interpreter, starting it if necessary. CTRL-SHIFT-L
Fast Eval 0 Sends a predefined string to the Scheme interpreter, starting it if necessary. ALT-k 0
Fast Eval 9 Sends a predefined string to the Scheme interpreter, starting it if necessary. ALT-k 9
Kawa-specific
Expand typename Replaces the symbol located just before the cursor position by the corresponding Java fully-qualified type name, surrounded by angle brackets (). ALT-CTRL-SHIFT-T
Expand namespace Replaces the symbol located just before the cursor position by a define-namespace form for the corresponding fully-qualified type name. ALT-CTRL-SHIFT-N
Insert require clause Adds a require clause for the module that defines the symbol at the cursor position. CTRL-SHIFT-M

Mouse copy

Mouse copy is a command used to copy S-expressions using the mouse and a key sequence. To "mouse copy" an S-expression, you must:

  • put the cursor where the S-expression should be copied (or select some text),
  • move the mouse over the start or end of the desired S-expression (or simply over it in the case of a string, symbol, constant, etc),
  • run either the Mouse Copy or Extended Mouse Copy command (see above).