small changes
This commit is contained in:
parent
77b1a93b30
commit
d3b3a62f28
5 changed files with 27 additions and 19 deletions
|
|
@ -26,6 +26,10 @@ func initCommandMap() {
|
|||
}
|
||||
app.AppendSystemMessage("commands: %s", s.String())
|
||||
},
|
||||
"send": func(app *App, rest string) {
|
||||
app.AppendMessage(rest)
|
||||
app.outgoing <- MessageEvent(rest)
|
||||
},
|
||||
"dial": func(app *App, rest string) {
|
||||
args := strings.Fields(rest)
|
||||
if len(args) < 1 || len(args) > 2 {
|
||||
|
|
|
|||
|
|
@ -108,6 +108,10 @@ func (app *App) HandleTerminalEvent(ev vaxis.Event) {
|
|||
app.pager.ScrollUp()
|
||||
case "Down":
|
||||
app.pager.ScrollDown()
|
||||
case "Page_Up":
|
||||
app.pager.ScrollUpN(app.w.log.Height * 2 / 3)
|
||||
case "Page_Down":
|
||||
app.pager.ScrollDownN(app.w.log.Height * 2 / 3)
|
||||
case "Enter":
|
||||
app.submitTextInput()
|
||||
case "Ctrl+p":
|
||||
|
|
|
|||
8
event.go
8
event.go
|
|
@ -27,7 +27,9 @@ func (ev DialEvent) HandleOutgoing(app *App) error {
|
|||
var err error
|
||||
|
||||
if app.conn != nil {
|
||||
app.incoming <- SystemMessageEvent(fmt.Sprintf("already connected to %s:%s", app.conn.host, app.conn.port))
|
||||
app.incoming <- SystemMessageEvent(
|
||||
fmt.Sprintf("already connected to %s:%s", app.conn.host, app.conn.port),
|
||||
)
|
||||
return nil
|
||||
}
|
||||
conn, err := net.Dial("tcp", net.JoinHostPort(ev.Host, ev.Port))
|
||||
|
|
@ -51,8 +53,8 @@ func (ev DialEvent) HandleOutgoing(app *App) error {
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
delta := time.Since(latStart).Round(time.Second)
|
||||
delta = min(max(time.Second, delta*3/2), 5*time.Second)
|
||||
delta := time.Since(latStart)
|
||||
delta = min(max(time.Second, delta*3/2), 5*time.Second).Round(time.Second)
|
||||
|
||||
app.conn.rate = delta
|
||||
app.conn.ticker = time.NewTicker(delta)
|
||||
|
|
|
|||
13
main.go
13
main.go
|
|
@ -31,12 +31,13 @@ type App struct {
|
|||
outgoing chan OutgoingEvent
|
||||
error chan error
|
||||
|
||||
vx *vaxis.Vaxis
|
||||
w struct {
|
||||
vx *vaxis.Vaxis
|
||||
pager *pager.Model
|
||||
input *textinput.Model
|
||||
w struct {
|
||||
log, title, input vaxis.Window
|
||||
}
|
||||
pager *pager.Model
|
||||
input *textinput.Model
|
||||
|
||||
cfgHome string
|
||||
}
|
||||
|
||||
|
|
@ -60,7 +61,7 @@ func (app *App) AppendMessage(data string) {
|
|||
vaxis.Segment{Text: data, Style: style},
|
||||
vaxis.Segment{Text: "\n"},
|
||||
)
|
||||
app.last += 1
|
||||
|
||||
app.pager.Offset = math.MaxInt
|
||||
}
|
||||
|
||||
|
|
@ -76,7 +77,7 @@ func (app *App) AppendSystemMessage(format string, args ...any) {
|
|||
|
||||
func (app *App) SetNick(nick string) {
|
||||
nick = strings.TrimSpace(nick)
|
||||
app.input.SetPrompt(fmt.Sprintf("%s: ", nick))
|
||||
app.input.SetPrompt(fmt.Sprintf("[%s] ", nick))
|
||||
app.input.Prompt.Attribute = vaxis.AttrBold
|
||||
app.nick = nick
|
||||
}
|
||||
|
|
|
|||
17
protocol.go
17
protocol.go
|
|
@ -96,23 +96,20 @@ func (app *App) Last(n int) (num int, err error) {
|
|||
return 0, err
|
||||
}
|
||||
|
||||
var nsrv int
|
||||
if !app.conn.Scanner.Scan() {
|
||||
return 0, app.conn.Scanner.Err()
|
||||
}
|
||||
nsrvRaw := app.conn.Scanner.Text()
|
||||
nsrv, err = strconv.Atoi(nsrvRaw)
|
||||
numRaw := app.conn.Scanner.Text()
|
||||
num, err = strconv.Atoi(numRaw)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
|
||||
if nsrv != 0 {
|
||||
for range nsrv {
|
||||
if !app.conn.Scanner.Scan() {
|
||||
return 0, app.conn.Scanner.Err()
|
||||
}
|
||||
app.incoming <- MessageEvent(app.conn.Scanner.Text())
|
||||
for range num {
|
||||
if !app.conn.Scanner.Scan() {
|
||||
return 0, app.conn.Scanner.Err()
|
||||
}
|
||||
app.incoming <- MessageEvent(app.conn.Scanner.Text())
|
||||
}
|
||||
|
||||
var last int
|
||||
|
|
@ -126,5 +123,5 @@ func (app *App) Last(n int) (num int, err error) {
|
|||
}
|
||||
app.incoming <- SetLastEvent(last)
|
||||
|
||||
return nsrv, nil
|
||||
return num, nil
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue