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())
|
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) {
|
"dial": func(app *App, rest string) {
|
||||||
args := strings.Fields(rest)
|
args := strings.Fields(rest)
|
||||||
if len(args) < 1 || len(args) > 2 {
|
if len(args) < 1 || len(args) > 2 {
|
||||||
|
|
|
||||||
|
|
@ -108,6 +108,10 @@ func (app *App) HandleTerminalEvent(ev vaxis.Event) {
|
||||||
app.pager.ScrollUp()
|
app.pager.ScrollUp()
|
||||||
case "Down":
|
case "Down":
|
||||||
app.pager.ScrollDown()
|
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":
|
case "Enter":
|
||||||
app.submitTextInput()
|
app.submitTextInput()
|
||||||
case "Ctrl+p":
|
case "Ctrl+p":
|
||||||
|
|
|
||||||
8
event.go
8
event.go
|
|
@ -27,7 +27,9 @@ func (ev DialEvent) HandleOutgoing(app *App) error {
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
if app.conn != nil {
|
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
|
return nil
|
||||||
}
|
}
|
||||||
conn, err := net.Dial("tcp", net.JoinHostPort(ev.Host, ev.Port))
|
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 {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
delta := time.Since(latStart).Round(time.Second)
|
delta := time.Since(latStart)
|
||||||
delta = min(max(time.Second, delta*3/2), 5*time.Second)
|
delta = min(max(time.Second, delta*3/2), 5*time.Second).Round(time.Second)
|
||||||
|
|
||||||
app.conn.rate = delta
|
app.conn.rate = delta
|
||||||
app.conn.ticker = time.NewTicker(delta)
|
app.conn.ticker = time.NewTicker(delta)
|
||||||
|
|
|
||||||
13
main.go
13
main.go
|
|
@ -31,12 +31,13 @@ type App struct {
|
||||||
outgoing chan OutgoingEvent
|
outgoing chan OutgoingEvent
|
||||||
error chan error
|
error chan error
|
||||||
|
|
||||||
vx *vaxis.Vaxis
|
vx *vaxis.Vaxis
|
||||||
w struct {
|
pager *pager.Model
|
||||||
|
input *textinput.Model
|
||||||
|
w struct {
|
||||||
log, title, input vaxis.Window
|
log, title, input vaxis.Window
|
||||||
}
|
}
|
||||||
pager *pager.Model
|
|
||||||
input *textinput.Model
|
|
||||||
cfgHome string
|
cfgHome string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -60,7 +61,7 @@ func (app *App) AppendMessage(data string) {
|
||||||
vaxis.Segment{Text: data, Style: style},
|
vaxis.Segment{Text: data, Style: style},
|
||||||
vaxis.Segment{Text: "\n"},
|
vaxis.Segment{Text: "\n"},
|
||||||
)
|
)
|
||||||
app.last += 1
|
|
||||||
app.pager.Offset = math.MaxInt
|
app.pager.Offset = math.MaxInt
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -76,7 +77,7 @@ func (app *App) AppendSystemMessage(format string, args ...any) {
|
||||||
|
|
||||||
func (app *App) SetNick(nick string) {
|
func (app *App) SetNick(nick string) {
|
||||||
nick = strings.TrimSpace(nick)
|
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.input.Prompt.Attribute = vaxis.AttrBold
|
||||||
app.nick = nick
|
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
|
return 0, err
|
||||||
}
|
}
|
||||||
|
|
||||||
var nsrv int
|
|
||||||
if !app.conn.Scanner.Scan() {
|
if !app.conn.Scanner.Scan() {
|
||||||
return 0, app.conn.Scanner.Err()
|
return 0, app.conn.Scanner.Err()
|
||||||
}
|
}
|
||||||
nsrvRaw := app.conn.Scanner.Text()
|
numRaw := app.conn.Scanner.Text()
|
||||||
nsrv, err = strconv.Atoi(nsrvRaw)
|
num, err = strconv.Atoi(numRaw)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if nsrv != 0 {
|
for range num {
|
||||||
for range nsrv {
|
if !app.conn.Scanner.Scan() {
|
||||||
if !app.conn.Scanner.Scan() {
|
return 0, app.conn.Scanner.Err()
|
||||||
return 0, app.conn.Scanner.Err()
|
|
||||||
}
|
|
||||||
app.incoming <- MessageEvent(app.conn.Scanner.Text())
|
|
||||||
}
|
}
|
||||||
|
app.incoming <- MessageEvent(app.conn.Scanner.Text())
|
||||||
}
|
}
|
||||||
|
|
||||||
var last int
|
var last int
|
||||||
|
|
@ -126,5 +123,5 @@ func (app *App) Last(n int) (num int, err error) {
|
||||||
}
|
}
|
||||||
app.incoming <- SetLastEvent(last)
|
app.incoming <- SetLastEvent(last)
|
||||||
|
|
||||||
return nsrv, nil
|
return num, nil
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue