Skip to content

1.2 Jag: Terminal Editor With Mouse Support and Colour Highlighting

Claude Roux edited this page Mar 16, 2022 · 26 revisions

Jag (작)

Version française

jag is a terminal editor that is compatible with Windows, Mac OS and Linux. It is basically the same editor as the one that is currently embedded in LispE.

(In Korean, jag means a job done by someone.)

jag offers:

  • mouse support
  • color highlighting for many languages (C++, python)
  • automatic indentation
  • regular expressions to search and replace
  • undo/redo mode (ctrl-u / ctrl-r)

The editor is pretty small and comes with a multitude of options:

Commandes :
   	- Ctrl-k: delete from cursor up to the end of the line
   	- Ctrl-d: delete a full line
   	- Ctrl-u: undo last modification
   	- Ctrl-r: redo last modification
   	- Ctrl-f: find a string
   	- Ctrl-n: find next
   	- Ctrl-g: move to a specific line, '$' is the end of the code
   	- Ctrl-l: reload file from disk
   	- Ctrl-t: reindent the code
   	- Ctrl-h: local help
   	- Ctrl-w: write file to disk
   	- Ctrl-c: exit the editor

   	- Alt-x: cut mouse selection
   	- Alt-c: copy mouse selection
   	- Alt-v: paste mouse selection
        - Alt-+: indent to the right
        - Alt--: de-indent to the left

   	- Ctrl-x: Combined Commands
                - f: search with LispE internal regular expressions (see link below)
                - F: search with posix regular expressions 
   		- D: delete a bloc of lines
   		- n: hide/display line numbers
   		- c: copy a bloc of lines
   		- x: cut a bloc of lines
   		- v: paste a bloc of lines
   		- w: write and quit
   		- l: load a file
   		- h: full help
   		- m: toggle mouse on/off
   		- u: toggle between top and bottom of the screen
                - +: indent current line or selected lines to the right
                - -: de-indent current line or selected lines to the left

   		- q: quit

LispE Internal Regular Expression Description

About mouse copy/paste

When the editor is in mouse mode, you must use alt-X, alt-C and alt-V to cut, copy and paste the selection. This selection copies the selected strings into an internal clipboard, which is different from the system clipboard. You can still copy from the system clipboard. However, if you want to cut/copy to the system clipboard, you must deactivate mouse mode first, with Ctrl-X m. You can return to mouse mode with Ctrl-X m again.

Compile

First: python configure.py

then compile jag: make jag

See Note On Compiling for more information.

Use

You can edit any file with jag: jag file.

Within LispE

It is actually possible to modify the internal colours that are used to do syntax highlight with the following commands in console mode in LispE.

  • colors: display all possible colors in terminal
  • colors attribute foreground background: display one color with these values
  • syntax: display the selected colors for each token type in a program
  • syntax no: no colors
  • syntax dark: dark mode
  • syntax full: full color mode
  • syntax syncolor: display the '-syncolor' online command for LispE
    • Example: lispe -syncolor 0 31 49 3 0 0 0 34 49 0 90 49 0 32 49 1 91 49;
  • syntax type att fg bg: modify the syntactic color associated with 'type' Example: syntax definition 3 31 49"m_currentendl;
Clone this wiki locally