| toColumns(Object, int, int, AttributedStringBuilder, Candidate, String, boolean, boolean, int[]) |  | 0% |  | 0% | 33 | 33 | 96 | 96 | 1 | 1 |
| doComplete(LineReaderImpl.CompletionType, boolean, boolean, boolean) |   | 19% |   | 13% | 39 | 42 | 80 | 104 | 0 | 1 |
| doSearchHistory(boolean) |  | 1% |   | 2% | 21 | 22 | 92 | 94 | 0 | 1 |
| doList(List, String, boolean, BiFunction, boolean) |  | 0% |  | 0% | 23 | 23 | 67 | 67 | 1 | 1 |
| toColumns(List, Candidate, String, Function, int, boolean) |  | 0% |  | 0% | 16 | 16 | 48 | 48 | 1 | 1 |
| doMenu(List, String, BiFunction) |  | 0% |  | 0% | 23 | 23 | 57 | 57 | 1 | 1 |
| doCopyKillRegion(boolean) |  | 0% |  | 0% | 22 | 22 | 39 | 39 | 1 | 1 |
| computePost(List, Candidate, List, String, Function, int, boolean, boolean, boolean) |  | 0% |  | 0% | 17 | 17 | 35 | 35 | 1 | 1 |
| readLine(String, String, MaskingCallback, String) |   | 69% |   | 68% | 20 | 41 | 34 | 130 | 0 | 1 |
| getDisplayedBufferWithPrompts(List) |   | 30% |   | 20% | 22 | 26 | 28 | 43 | 0 | 1 |
| insertSecondaryPrompts(AttributedString, List, boolean) |   | 30% |   | 29% | 10 | 13 | 37 | 52 | 0 | 1 |
| matchPreviousCommand(String) |  | 0% |  | 0% | 23 | 23 | 23 | 23 | 1 | 1 |
| mouse() |  | 0% |  | 0% | 5 | 5 | 23 | 23 | 1 | 1 |
| freshLine() |  | 0% |  | 0% | 8 | 8 | 22 | 22 | 1 | 1 |
| lambda$doList$19(List, String) |  | 0% |  | 0% | 2 | 2 | 21 | 21 | 1 | 1 |
| viBackwardKillWord() |  | 0% |  | 0% | 12 | 12 | 16 | 16 | 1 | 1 |
| candidateStartPosition(List) |  | 0% |  | 0% | 6 | 6 | 19 | 19 | 1 | 1 |
| mergeCandidates(List) |  | 0% |  | 0% | 6 | 6 | 17 | 17 | 1 | 1 |
| addRightPrompt(AttributedString, AttributedString) |  | 0% |  | 0% | 8 | 8 | 13 | 13 | 1 | 1 |
| handleSignal(Terminal.Signal) |  | 0% |  | 0% | 4 | 4 | 16 | 16 | 1 | 1 |
| historySearchForward() |   | 43% |   | 43% | 6 | 9 | 16 | 24 | 0 | 1 |
| doGetSearchPattern() |  | 0% |  | 0% | 6 | 6 | 19 | 19 | 1 | 1 |
| deleteWord() |  | 0% |  | 0% | 7 | 7 | 10 | 10 | 1 | 1 |
| acceptLine() |   | 52% |   | 33% | 5 | 7 | 13 | 30 | 0 | 1 |
| backwardDeleteWord() |  | 0% |  | 0% | 7 | 7 | 10 | 10 | 1 | 1 |
| redisplay(boolean) |   | 89% |   | 74% | 11 | 26 | 9 | 100 | 0 | 1 |
| searchForwards(String, int, boolean) |   | 22% |   | 10% | 10 | 11 | 14 | 18 | 0 | 1 |
| printAbove(String) |  | 0% |  | 0% | 6 | 6 | 12 | 12 | 1 | 1 |
| getViSearchString() |   | 71% |   | 62% | 11 | 23 | 15 | 45 | 0 | 1 |
| viRepeatSearch() |   | 32% |   | 40% | 4 | 6 | 7 | 14 | 0 | 1 |
| acceptAndInferNextHistory() |  | 0% |  | 0% | 4 | 4 | 8 | 8 | 1 | 1 |
| beginningOfLineHist() |  | 0% |  | 0% | 4 | 4 | 10 | 10 | 1 | 1 |
| expandPromptPattern(String, int, String, int) |   | 84% |   | 74% | 9 | 25 | 5 | 64 | 0 | 1 |
| removeIndentation() |  | 17% |   | 16% | 3 | 4 | 8 | 11 | 0 | 1 |
| callWidget(String) |   | 38% |   | 50% | 3 | 4 | 5 | 13 | 0 | 1 |
| endOfLineHist() |  | 0% |  | 0% | 4 | 4 | 9 | 9 | 1 | 1 |
| beep() |   | 46% |   | 23% | 10 | 11 | 9 | 16 | 0 | 1 |
| concat(List, AttributedStringBuilder) |   | 31% |   | 25% | 2 | 3 | 5 | 8 | 0 | 1 |
| searchBackwards(String, int, boolean) |   | 34% |   | 14% | 7 | 8 | 9 | 14 | 0 | 1 |
| selfInsertUnmeta() |  | 0% |  | 0% | 4 | 4 | 8 | 8 | 1 | 1 |
| promptLines() |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| nextBindingIsComplete() |  | 0% |  | 0% | 3 | 3 | 7 | 7 | 1 | 1 |
| viEndOfLine() |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
| lambda$doSearchHistory$9() |  | 0% |  | 0% | 3 | 3 | 2 | 2 | 1 | 1 |
| cleanup() |  | 22% |   | 50% | 1 | 2 | 8 | 11 | 0 | 1 |
| lambda$doSearchHistory$12(boolean, LineReaderImpl.Pair) |  | 0% |  | 0% | 4 | 4 | 1 | 1 | 1 | 1 |
| lambda$doSearchHistory$10(boolean, LineReaderImpl.Pair) |  | 0% |  | 0% | 4 | 4 | 1 | 1 | 1 | 1 |
| matches(Pattern, String, int) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| computePost(List, Candidate, List, String) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| moveHistory(boolean) |   | 59% |   | 58% | 4 | 7 | 5 | 11 | 0 | 1 |
| doReadStringUntil(String) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| lambda$doList$18(List, int) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| beginPaste() |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| indention(int, StringBuilder) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| argumentBase() |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| endOfBufferOrHistory() |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| getCandidateComparator(boolean, String) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| visibleDisplayRows() |  | 0% |  | 0% | 2 | 2 | 2 | 2 | 1 | 1 |
| moveHistory(boolean, int) |  | 0% |  | 0% | 3 | 3 | 3 | 3 | 1 | 1 |
| getCompletionStyle(String, String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$getGroupComparator$16(String) |  | 0% |  | 0% | 3 | 3 | 3 | 3 | 1 | 1 |
| historySearchBackward() |   | 72% |   | 60% | 3 | 6 | 4 | 10 | 0 | 1 |
| buildStyle(String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$doSearchHistory$8(KeyMap, int) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| expandWord() |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| expandOrCompletePrefix() |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| completePrefix() |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| lambda$candidateStartPosition$26(Set, String) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| insertTab() |  | 31% |   | 16% | 3 | 4 | 1 | 3 | 0 | 1 |
| beginningOfBufferOrHistory() |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| getWidget(Object) |   | 72% |   | 75% | 2 | 5 | 3 | 13 | 0 | 1 |
| exchangePointAndMark() |   | 72% |   | 66% | 2 | 4 | 3 | 11 | 0 | 1 |
| clearScreen() |   | 68% |   | 37% | 4 | 5 | 4 | 11 | 0 | 1 |
| universalArgument() |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| menuExpandOrComplete() |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| lambda$candidateStartPosition$23(String) |  | 0% |  | 0% | 3 | 3 | 1 | 1 | 1 | 1 |
| isReading() |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| readMouseEvent() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| upLineOrSearch() |  | 0% |  | 0% | 3 | 3 | 1 | 1 | 1 | 1 |
| downLineOrSearch() |  | 0% |  | 0% | 3 | 3 | 1 | 1 | 1 | 1 |
| viChangeWholeLine() |  | 0% |  | 0% | 3 | 3 | 1 | 1 | 1 | 1 |
| clearChoices() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$candidateStartPosition$24(int) |  | 0% |  | 0% | 3 | 3 | 1 | 1 | 1 | 1 |
| acceptLineAndDownHistory() |  | 73% |   | 50% | 2 | 3 | 2 | 8 | 0 | 1 |
| option(LineReader.Option, boolean) | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setBuffer(String) | | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| lambda$getCandidateComparator$15(String, boolean, String) | | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| lambda$doSearchHistory$13(Pattern, History.Entry) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$doSearchHistory$11(Pattern, History.Entry) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| finish(String) |  | 88% |   | 68% | 4 | 9 | 1 | 19 | 0 | 1 |
| readLine() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| readLine(String) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| variable(String, Object) | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| searchBackwards(String) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| viBeginningOfLine() | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| doList(List, String, boolean, BiFunction) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getCompletionStyleStarting(boolean) | | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| getCompletionStyleDescription(boolean) | | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| getCompletionStyleGroup(boolean) | | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| getCompletionStyleSelection(boolean) | | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| getCompletionStyleBackground(boolean) | | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| LineReaderImpl(Terminal, String, Map) |  | 96% |   | 50% | 3 | 4 | 2 | 49 | 0 | 1 |
| beginningOfHistory() | | 46% |   | 50% | 1 | 2 | 2 | 4 | 0 | 1 |
| endOfHistory() | | 46% |   | 50% | 1 | 2 | 2 | 4 | 0 | 1 |
| LineReaderImpl(Terminal) | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| readLine(Character) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| readLine(String, Character, String) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| printAbove(AttributedString) | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setVariable(String, Object) | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setOpt(LineReader.Option) | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| unsetOpt(LineReader.Option) | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| searchForwards(String) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| quit() | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getGroupComparator() | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| displayRows() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| clear() | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| lambda$candidateStartPosition$25(Set, int) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$computePost$20(Candidate) | | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| editAndAddInBuffer(File) |  | 92% |   | 50% | 2 | 3 | 1 | 12 | 0 | 1 |
| setRightPrompt(String) | | 53% |   | 50% | 1 | 2 | 0 | 2 | 0 | 1 |
| LineReaderImpl(Terminal, String) | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| addCommandsInBuffer(Collection) | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| searchBackwards(String, int) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| searchForwards(String, int) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| println(String) | | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| lambda$mouse$30(StringBuilder, int) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$toColumns$28(int, int, int) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$toColumns$27(int, int, int) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$getWidget$1(String) | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| lambda$whatCursorPosition$14() |  | 97% |   | 91% | 1 | 7 | 1 | 33 | 0 | 1 |
| viBackwardWordEnd() |  | 95% |   | 96% | 1 | 14 | 1 | 20 | 0 | 1 |
| viForwardBlankWord() |  | 94% |   | 86% | 2 | 12 | 1 | 13 | 0 | 1 |
| backwardKillLine() |  | 94% |   | 93% | 1 | 9 | 1 | 19 | 0 | 1 |
| backwardWord() |  | 91% |   | 91% | 1 | 7 | 1 | 8 | 0 | 1 |
| viBackwardBlankWordEnd() |  | 90% |   | 91% | 1 | 7 | 1 | 8 | 0 | 1 |
| viHistorySearchBackward() |  | 75% |   | 25% | 2 | 3 | 0 | 3 | 0 | 1 |
| viHistorySearchForward() |  | 68% |   | 25% | 2 | 3 | 0 | 3 | 0 | 1 |
| wrap(ParsedLine) | | 54% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| runMacro(String) | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| isKeyMap(String) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getOthersGroupName() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getCompletionStyleStarting() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getCompletionStyleDescription() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getCompletionStyleGroup() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getCompletionStyleSelection() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getCompletionStyleBackground() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getCompletionStyleListStarting() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getCompletionStyleListDescription() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getCompletionStyleListGroup() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getCompletionStyleListSelection() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getCompletionStyleListBackground() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$getCompletionStyle$29(String) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$getWidget$5() | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| lambda$getWidget$4() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| forwardWord() |  | 93% |   | 81% | 2 | 9 | 1 | 10 | 0 | 1 |
| insertClose(String) |  | 92% |   | 75% | 1 | 3 | 2 | 15 | 0 | 1 |
| doDisplay() |  | 87% |   | 50% | 1 | 2 | 0 | 5 | 0 | 1 |
| readCharacter() |  | 80% |   | 50% | 1 | 2 | 1 | 5 | 0 | 1 |
| getSearchTerm() | | 55% |   | 50% | 1 | 2 | 0 | 1 | 0 | 1 |
| getBuiltinWidgets() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| setAutosuggestion(LineReader.SuggestionType) | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setTailTip(String) | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setCompleter(Completer) | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setExpander(Expander) | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setCompletionMatcher(CompletionMatcher) | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| insertComment() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| killRegion() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| copyRegionAsKill() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$candidateStartPosition$22(Candidate) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$computePost$21(String) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$mergeCandidates$17(String) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| expandOrComplete() |  | 78% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| completeWord() |  | 78% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| menuComplete() | | 75% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| displayRows(Status) | | 72% |   | 50% | 1 | 2 | 0 | 1 | 0 | 1 |
| getTerminal() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getAppName() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getKeyMaps() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getWidgets() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getAutosuggestion() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getTailTip() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getCompleter() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getHistory() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getHighlighter() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getExpander() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getParsedLine() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getKeyMap() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| emacsForwardWord() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| emacsBackwardWord() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| yankPop() |  | 93% |   | 83% | 1 | 4 | 1 | 11 | 0 | 1 |
| upHistory() |  | 90% |   | 66% | 2 | 4 | 0 | 4 | 0 | 1 |
| downHistory() |  | 90% |   | 66% | 2 | 4 | 0 | 4 | 0 | 1 |
| setKeyMap(String) |  | 90% |   | 50% | 2 | 3 | 1 | 7 | 0 | 1 |
| isTerminalDumb() |  | 87% |   | 50% | 2 | 3 | 0 | 1 | 0 | 1 |
| sendBreak() |  | 87% |   | 50% | 1 | 2 | 1 | 6 | 0 | 1 |
| setPrompt(String) |  | 84% |   | 50% | 1 | 2 | 0 | 2 | 0 | 1 |
| undefinedKey() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| doViMatchBracket() |  | 98% |   | 95% | 1 | 11 | 0 | 20 | 0 | 1 |
| viChangeEol() |  | 94% |   | 50% | 2 | 3 | 0 | 1 | 0 | 1 |
| readLine(String, String, Character, String) |  | 92% |   | 50% | 1 | 2 | 0 | 1 | 0 | 1 |
| viAddEol() |  | 90% |   | 50% | 2 | 3 | 0 | 1 | 0 | 1 |
| viInsertBol() |  | 90% |   | 50% | 2 | 3 | 0 | 1 | 0 | 1 |
| viCmd() |  | 100% | | n/a | 0 | 1 | 0 | 109 | 0 | 1 |
| builtinWidgets() |  | 100% | | n/a | 0 | 1 | 0 | 148 | 0 | 1 |
| emacs() |  | 100% | | n/a | 0 | 1 | 0 | 82 | 0 | 1 |
| transposeWords() |  | 100% |   | 97% | 2 | 37 | 0 | 76 | 0 | 1 |
| viInsertion() |  | 100% | | n/a | 0 | 1 | 0 | 30 | 0 | 1 |
| bindArrowKeys(KeyMap) |  | 100% | | n/a | 0 | 1 | 0 | 14 | 0 | 1 |
| vifindchar(boolean) |  | 100% |  | 100% | 0 | 21 | 0 | 25 | 0 | 1 |
| viForwardWordEnd() |  | 100% |   | 96% | 1 | 14 | 0 | 20 | 0 | 1 |
| killWholeLine() |  | 100% |  | 100% | 0 | 14 | 0 | 25 | 0 | 1 |
| viForwardWord() |  | 100% |  | 100% | 0 | 16 | 0 | 16 | 0 | 1 |
| transposeChars() |  | 100% |  | 100% | 0 | 11 | 0 | 21 | 0 | 1 |
| viBackwardWord() |  | 100% |  | 100% | 0 | 14 | 0 | 24 | 0 | 1 |
| capitalizeWord() |  | 100% |  | 100% | 0 | 11 | 0 | 16 | 0 | 1 |
| defaultKeyMaps() |  | 100% |   | 75% | 1 | 3 | 0 | 18 | 0 | 1 |
| visual() |  | 100% | | n/a | 0 | 1 | 0 | 9 | 0 | 1 |
| killLine() |  | 100% |  | 100% | 0 | 7 | 0 | 16 | 0 | 1 |
| viYankWholeLine() |  | 100% |  | 100% | 0 | 7 | 0 | 13 | 0 | 1 |
| viPutAfter() |  | 100% |  | 100% | 0 | 7 | 0 | 13 | 0 | 1 |
| killWord() |  | 100% |  | 100% | 0 | 7 | 0 | 11 | 0 | 1 |
| backwardKillWord() |  | 100% |  | 100% | 0 | 7 | 0 | 11 | 0 | 1 |
| upCaseWord() |  | 100% |  | 100% | 0 | 7 | 0 | 11 | 0 | 1 |
| downCaseWord() |  | 100% |  | 100% | 0 | 7 | 0 | 11 | 0 | 1 |
| viChange() |  | 100% |   | 87% | 1 | 5 | 0 | 17 | 0 | 1 |
| viPutBefore() |  | 100% |  | 100% | 0 | 7 | 0 | 12 | 0 | 1 |
| copyPrevWord() |  | 100% |  | 100% | 0 | 8 | 0 | 14 | 0 | 1 |
| viDelete() |  | 100% |  | 100% | 0 | 5 | 0 | 15 | 0 | 1 |
| viYankTo() |  | 100% |  | 100% | 0 | 5 | 0 | 15 | 0 | 1 |
| doCleanup(boolean) |  | 100% |   | 70% | 3 | 6 | 0 | 14 | 0 | 1 |
| viForwardBlankWordEnd() |  | 100% |  | 100% | 0 | 7 | 0 | 12 | 0 | 1 |
| viBackwardBlankWord() |  | 100% |  | 100% | 0 | 7 | 0 | 12 | 0 | 1 |
| viBackwardChar() |  | 100% |  | 100% | 0 | 6 | 0 | 11 | 0 | 1 |
| viOpp() |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| viForwardChar() |  | 100% |   | 91% | 1 | 7 | 0 | 10 | 0 | 1 |
| readBinding(KeyMap, KeyMap) |  | 100% |  | 100% | 0 | 8 | 0 | 11 | 0 | 1 |
| menu() |  | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 |
| visualMode() |  | 100% |   | 87% | 1 | 5 | 0 | 13 | 0 | 1 |
| visualLineMode() |  | 100% |   | 87% | 1 | 5 | 0 | 13 | 0 | 1 |
| viReplaceChars() |  | 100% |   | 91% | 1 | 7 | 0 | 9 | 0 | 1 |
| doViDeleteOrChange(int, int, boolean) |  | 100% |  | 100% | 0 | 6 | 0 | 11 | 0 | 1 |
| editAndExecute() |  | 100% |   | 50% | 2 | 3 | 0 | 13 | 0 | 1 |
| bindConsoleChars(KeyMap, Attributes) |  | 100% |   | 50% | 1 | 2 | 0 | 6 | 0 | 1 |
| viSwapCase() |  | 100% |  | 100% | 0 | 3 | 0 | 9 | 0 | 1 |
| safe() |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| vigetkey() |  | 100% |   | 83% | 1 | 4 | 0 | 9 | 0 | 1 |
| viRevRepeatFind() |  | 100% |  | 100% | 0 | 2 | 0 | 8 | 0 | 1 |
| viJoin() |  | 100% |  | 100% | 0 | 4 | 0 | 8 | 0 | 1 |
| viYankTo(int, int) |  | 100% |  | 100% | 0 | 3 | 0 | 11 | 0 | 1 |
| getHighlightedBuffer(String) |  | 100% |   | 62% | 3 | 5 | 0 | 7 | 0 | 1 |
| viKillEol() |  | 100% |  | 100% | 0 | 2 | 0 | 6 | 0 | 1 |
| expandHistory() |  | 100% |  | 100% | 0 | 2 | 0 | 7 | 0 | 1 |
| rebind(KeyMap, String, String, char) |  | 100% |   | 50% | 2 | 3 | 0 | 5 | 0 | 1 |
| deleteChar() |  | 100% |  | 100% | 0 | 3 | 0 | 6 | 0 | 1 |
| viOpenLineAbove() |  | 100% |  | 100% | 0 | 3 | 0 | 5 | 0 | 1 |
| doReadBinding(KeyMap, KeyMap) |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| viFirstNonBlank() |  | 100% |  | 100% | 0 | 3 | 0 | 4 | 0 | 1 |
| digitArgument() |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| getFirstWord() |  | 100% |  | 100% | 0 | 3 | 0 | 5 | 0 | 1 |
| backwardDeleteChar() |  | 100% |  | 100% | 0 | 3 | 0 | 6 | 0 | 1 |
| beginningOfLine() |  | 100% |  | 100% | 0 | 4 | 0 | 4 | 0 | 1 |
| endOfLine() |  | 100% |  | 100% | 0 | 4 | 0 | 4 | 0 | 1 |
| deleteCharOrList() |  | 100% |   | 75% | 1 | 3 | 0 | 3 | 0 | 1 |
| quotedInsert() |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| doInsertComment(boolean) |  | 100% |   | 50% | 1 | 2 | 0 | 6 | 0 | 1 |
| acceptAndHold() |  | 100% |   | 50% | 1 | 2 | 0 | 6 | 0 | 1 |
| viOpenLineBelow() |  | 100% |  | 100% | 0 | 3 | 0 | 4 | 0 | 1 |
| isWord(int) |  | 100% |  | 100% | 0 | 4 | 0 | 2 | 0 | 1 |
| findeol() |  | 100% |  | 100% | 0 | 3 | 0 | 4 | 0 | 1 |
| bindKeys(KeyMap) |  | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 |
| findbol() |  | 100% |  | 100% | 0 | 3 | 0 | 4 | 0 | 1 |
| viFindNextChar() |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| viFindPrevChar() |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| viFindNextCharSkip() |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| viFindPrevCharSkip() |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| setMarkCommand() |  | 100% |  | 100% | 0 | 2 | 0 | 6 | 0 | 1 |
| getBracketType(int) |  | 100% |  | 100% | 0 | 7 | 0 | 8 | 0 | 1 |
| viBackwardDeleteChar() |  | 100% |  | 100% | 0 | 3 | 0 | 4 | 0 | 1 |
| viDeleteChar() |  | 100% |  | 100% | 0 | 3 | 0 | 4 | 0 | 1 |
| addBuiltinWidget(Map, String, Widget) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| callNeg(Widget) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| viRevRepeatSearch() |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| lambda$getViSearchString$7(String, Buffer) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| switchCase(int) |  | 100% |  | 100% | 0 | 3 | 0 | 5 | 0 | 1 |
| undo() |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| redo() |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| println() |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| lambda$getWidget$2(String) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| pushBackBinding(boolean) |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| selfInsert() |  | 100% |  | 100% | 0 | 2 | 0 | 3 | 0 | 1 |
| viUpLineOrHistory() |  | 100% |   | 83% | 1 | 4 | 0 | 1 | 0 | 1 |
| viDownLineOrHistory() |  | 100% |   | 83% | 1 | 4 | 0 | 1 | 0 | 1 |
| viCmdMode() |  | 100% |   | 50% | 1 | 2 | 0 | 3 | 0 | 1 |
| yank() |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| viDeleteChangeYankToRemap(String) |  | 100% |  | 100% | 0 | 2 | 0 | 3 | 0 | 1 |
| killBuffer() |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| backwardChar() |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| negArgument() |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| viKillWholeLine() |  | 100% |   | 75% | 1 | 3 | 0 | 1 | 0 | 1 |
| lambda$bindKeys$32(KeyMap, Widget, String) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| forwardChar() |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| overwriteMode() |  | 100% |  | 100% | 0 | 2 | 0 | 2 | 0 | 1 |
| upLineOrHistory() |  | 100% |  | 100% | 0 | 3 | 0 | 1 | 0 | 1 |
| downLineOrHistory() |  | 100% |  | 100% | 0 | 3 | 0 | 1 | 0 | 1 |
| fromAnsi(String) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| isViAlphaNum(int) |  | 100% |  | 100% | 0 | 3 | 0 | 1 | 0 | 1 |
| viDigitOrBeginningOfLine() | | 100% |  | 100% | 0 | 2 | 0 | 3 | 0 | 1 |
| viAddNext() | | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| listChoices(boolean) | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| isInViMoveOperation() | | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| isInViChangeOperation() | | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| doLowercaseVersion() | | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| bind(KeyMap, String, Iterable) | | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| bind(KeyMap, String, CharSequence[]) | | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| getKeys() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| setHistory(History) | | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| readLine(String, Character) | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| putString(CharSequence) | | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| namedWidget(String, Widget) | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| doComplete(LineReaderImpl.CompletionType, boolean, boolean) | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| isDelimiter(int) | | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| finishBuffer() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| viChange(int, int) | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| viDeleteTo(int, int) | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| whatCursorPosition() | | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| insertSecondaryPrompts(AttributedString, List) | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| print(String) | | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| lambda$getWidget$3(String) | | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| redrawLine() | | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| peekCharacter(long) | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| readBinding(KeyMap) | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getVariable(String) | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| isSet(LineReader.Option) | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| setBuffer(Buffer) | | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| isInViCmdMode() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| deactivateRegion() | | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| redisplay() | | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| getOriginalGroupName() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getString(String, String) | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getBoolean(String, boolean) | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getInt(String, int) | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getLong(String, long) | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| bind(KeyMap, Widget, CharSequence[]) | | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| key(InfoCmp.Capability) | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$bindKeys$31(InfoCmp.Capability) | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| setHighlighter(Highlighter) | | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setParser(Parser) | | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| flush() | | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| getLastBinding() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| viInsertComment() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| viRepeatFind() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| insertCloseCurly() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| insertCloseParen() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| insertCloseSquare() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| historyIncrementalSearchForward() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| historyIncrementalSearchBackward() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| pushBackBinding() | | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| upLine() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| downLine() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| viInsert() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| emacsEditingMode() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| listChoices() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$viRevRepeatFind$6() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getBuffer() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getParser() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getRegionActive() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getRegionMark() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getVariables() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| viMatchBracket() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| isWhitespace(int) | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| isAlpha(int) | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$readLine$0(Thread, Terminal.Signal) | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| focusIn() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| focusOut() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |