Skip to content

Commit

Permalink
Default known terminal keys to beep
Browse files Browse the repository at this point in the history
  • Loading branch information
gnodet committed Nov 21, 2018
1 parent f65e68b commit 438b2ea
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions reader/src/main/java/org/jline/reader/impl/LineReaderImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import java.util.stream.StreamSupport;

import org.jline.keymap.BindingReader;
Expand Down Expand Up @@ -5358,6 +5359,7 @@ public Map<String, KeyMap<Binding>> defaultKeyMaps() {

public KeyMap<Binding> emacs() {
KeyMap<Binding> emacs = new KeyMap<>();
bindKeys(emacs);
bind(emacs, SET_MARK_COMMAND, ctrl('@'));
bind(emacs, BEGINNING_OF_LINE, ctrl('A'));
bind(emacs, BACKWARD_CHAR, ctrl('B'));
Expand Down Expand Up @@ -5439,6 +5441,7 @@ public KeyMap<Binding> emacs() {

public KeyMap<Binding> viInsertion() {
KeyMap<Binding> viins = new KeyMap<>();
bindKeys(viins);
bind(viins, SELF_INSERT, range("^@-^_"));
bind(viins, LIST_CHOICES, ctrl('D'));
bind(viins, SEND_BREAK, ctrl('G'));
Expand Down Expand Up @@ -5638,6 +5641,13 @@ private String key(Capability capability) {
return KeyMap.key(terminal, capability);
}

private void bindKeys(KeyMap<Binding> emacs) {
Stream.of(Capability.values())
.filter(c -> c.name().startsWith("key_"))
.map(this::key)
.forEach(k -> bind(emacs, this::beep, k));
}

private void bindArrowKeys(KeyMap<Binding> map) {
bind(map, UP_LINE_OR_SEARCH, key(Capability.key_up));
bind(map, DOWN_LINE_OR_SEARCH, key(Capability.key_down));
Expand Down

0 comments on commit 438b2ea

Please # to comment.