diff options
author | Tulir Asokan <tulir@maunium.net> | 2018-04-21 19:41:19 +0300 |
---|---|---|
committer | Tulir Asokan <tulir@maunium.net> | 2018-04-21 19:41:19 +0300 |
commit | d147fc7579bf77bf6f3ace669c8ade68be89d1ca (patch) | |
tree | e19b9409e15feecd9b9317c86408da37fb18a0e4 /ui/view-main.go | |
parent | c3386ba118b1a0f2ae1a31a9787ea5cb8b68396f (diff) |
Improve tab completion system
Diffstat (limited to 'ui/view-main.go')
-rw-r--r-- | ui/view-main.go | 26 |
1 files changed, 1 insertions, 25 deletions
diff --git a/ui/view-main.go b/ui/view-main.go index c3e94a5..3034102 100644 --- a/ui/view-main.go +++ b/ui/view-main.go @@ -23,7 +23,6 @@ import ( "time" "unicode" - "github.com/mattn/go-runewidth" "maunium.net/go/gomatrix" "maunium.net/go/gomuks/config" "maunium.net/go/gomuks/debug" @@ -101,28 +100,6 @@ func findWordToTabComplete(text string) string { return output } -func (view *MainView) InputTabComplete(roomView *RoomView, text string, cursorOffset int) string { - str := runewidth.Truncate(text, cursorOffset, "") - word := findWordToTabComplete(str) - - userCompletions := roomView.AutocompleteUser(word) - if len(userCompletions) == 1 { - startIndex := len(str) - len(word) - member := userCompletions[0] - completion := fmt.Sprintf("[%s](https://matrix.to/#/%s)", member.DisplayName, member.UserID) - if startIndex == 0 { - completion = completion + ": " - } - text = str[0:startIndex] + completion + text[len(str):] - } else if len(userCompletions) > 1 && len(userCompletions) <= 5 { - // roomView.SetStatus(fmt.Sprintf("Completions: %s", strings.Join(userCompletions, ", "))) - } else if len(userCompletions) > 5 { - roomView.SetStatus("Over 5 completion options.") - } - - return text -} - func (view *MainView) InputSubmit(roomView *RoomView, text string) { if len(text) == 0 { return @@ -147,7 +124,7 @@ func (view *MainView) sendTempMessage(roomView *RoomView, tempMessage ifc.Messag eventID, err := view.matrix.SendMarkdownMessage(roomView.Room.ID, tempMessage.Type(), text) if err != nil { tempMessage.SetState(ifc.MessageStateFailed) - roomView.SetStatus(fmt.Sprintf("Failed to send message: %s", err)) + roomView.AddServiceMessage(fmt.Sprintf("Failed to send message: %v", err)) } else { roomView.MessageView().UpdateMessageID(tempMessage, eventID) } @@ -314,7 +291,6 @@ func (view *MainView) addRoom(index int, room string) { roomView := NewRoomView(roomStore). SetInputSubmitFunc(view.InputSubmit). SetInputChangedFunc(view.InputChanged). - SetTabCompleteFunc(view.InputTabComplete). SetInputCapture(view.KeyEventHandler). SetMouseCapture(view.MouseEventHandler) view.rooms[room] = roomView |