Nomenomicon
This is the Nomenomicon, it contains all of the built-in Merlin commands and nomens, with usage notes.
Note: This page will be updated based upon the development branch of Merlin, not stable releases.
Normal Commands:
- [s] ;genesis
- Create a new volume, filled optionally with [s]
- [i] ;spine [s]
- Return the name of the volume at index [i]
- ;carved [s]
- Return "@" if the current volume is written, "!" otherwise
- [i] ;shelve
- Close volume [i]
- [i] ;focus
- Focus volume [i]
- ;volume [i]
- Return the index of the current volume
- ;volumes [i]
- Return the number of open volumes (this is also the index of the last volume)
- [c] ;incant [s]
- Run a system command, returning the text written to stdout
- [c] ;decant [s]
- Similar to incant, but for stderr
- [s] [c] ;infuse [s]
- Pipe [s] into command [c], returning stdout
- [s] [c] ;defuse [s]
- infuse for stderr
- ;spot [i]
- Return the current line number
- ;span [i]
- Return the total number of lines in the volume
- ;pin [i]
- Return the location of the cursor
- ;columns [i]
- Return the length of the current line
- [n] ;traverse
- Move the cursor vertically in relation to the current line. If [n] is positive, move down. If negative, go up
- [n] ;shift
- Like traverse, but for moving the cursor horizontally on the current line.
- [i] ;appear
- Move to line [i]
- [i] ;infix
- Move to character [i]
- [i] [i] ;peer [s]
- Return all of the lines in the range described by the given indexes
- [s] ;inscribe
- Insert [s] into the current volume
- [s] ;trample
- Like inscribe, but it overwrites text
- ;burn
- Empty the entire volume
- [n] ;shave
- Delete [n] characters left of the current cursor position
- ;molecule
- Print the contents of the stack to the screen, separated by spaces
- ;atoms [n]
- Return the length of the stack. Hhow many atoms are present)
- ;pen
- Print the last atom on the stack (This does not consume the atom)
- ;orbit
- Perform a swap with the last two atoms
- ;pervert
- Reverse the stack
- [a] ;decay
- Pop off the bottom atom
- ...[a] ;destroy
- Clear the stack
- ...[a] [s] ;tether
- Join atoms together by [s], consumes entire stack
- [s] [s] [s] ;stitch
- Like tether, but it only operates on two atoms
- [s] [s] ;fray
- Split [s] by [s]
- ;atom
- Switch to atom mode
- ;scribe
- Switch to scribe mode
- ;adieu
- Quit Merlin
- ...[a] [;] ;nomen
- Create a new "nomen" (macro)
- [a] [;] ;bottle
- Create a "nomen", only taking one atom
- [;] ;disenchant
- "Clear" a nomen, the nomen will still remain in memory but will do nothing
- [;] ;smash
- Completely remove a nomen from memory
- [;] ;rune
- Return the definition of a nomen
- [s] ;merlin
- Execute an atom as inline Merlin Notation
- [f] ;summon
- Open file [f] for editing
- [f] ;dub
- Name an unnamed volume [f]
- ;carve
- Write a volume to a file
- [f] ;spellbook
- Open and parse [f] as Merlin Notation
- ;protean
- Return a list containing the name of each defined nomen currently in memory
Predefined Nomens:
- ;space [s]
- Returns a space
- ;tab [s]
- Returns a tab
- ;new [s]
- Returns a newline character (\n)
- ;blank [s]
- Returns an empty atom
- ;escape [s]
- Returns an escape character (ASCII 27)
- ;scribe-nomen
- Runs after each line is parsed in scribe mode, by default it does nothing
- ;atom-nomen
- Exactly the same as scribe-nomen, but for atom mode
- ;scribe-pompt
- This nomen is parsed BEFORE each line in scribe mode is parsed. It is intended to be used as a prompt, but you can do with it as you wish
- ;atom-prompt
- The same as scribe-prompt, but it has a default setting. By default it prints a comma followed by a space