OhMyREPL is a package that enhances the base Julia REPL, in part by making various keys do useful things, like making { insert a closing curly bracket (and making it such that when one presses } while in front of to the } character, it moves over the latter and inserts nothing). To do so, it rebinds various keys, many of which are used (by other packages) to enter REPLs (for example, } is used by Reduce.jl). If ReplMaker detects that a key is in use by another package, it spits out a warning and does nothing else, causing the former keybind to break.
Examples
Note: a Unicode combining underscore (U+0332, ̲) follows the current cursor position in these examples.
Problem
OhMyREPL
is a package that enhances the base Julia REPL, in part by making various keys do useful things, like making{
insert a closing curly bracket (and making it such that when one presses}
while in front of to the}
character, it moves over the latter and inserts nothing). To do so, it rebinds various keys, many of which are used (by other packages) to enter REPLs (for example,}
is used by Reduce.jl). IfReplMaker
detects that a key is in use by another package, it spits out a warning and does nothing else, causing the former keybind to break.Examples
Note: a Unicode combining underscore (
U+0332
, ̲) follows the current cursor position in these examples.Errant behavior
Press
{
:Press
}
:Throw another keybind in:
(The REPL mode works)
Mess with braces again Press
{
:Press
}
:Expected behavior
Mess with braces again Press
{
:Press
}
:(The REPL mode still works, but the keybind is triggered)