Skip to content

Commit 33cc4c0

Browse files
committed
debug keys for issue #10 and coloring url
1 parent 0f1c982 commit 33cc4c0

File tree

1 file changed

+73
-63
lines changed

1 file changed

+73
-63
lines changed

main.go

Lines changed: 73 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -192,8 +192,8 @@ func main() {
192192
fileSystemFrameColor: gocui.ColorDefault,
193193
dockerFrameColor: gocui.ColorDefault,
194194
autoScroll: true,
195-
trimHttpRegex: regexp.MustCompile(`^.*http://|([^a-zA-Z0-9:/._?&=-].*)$`), // исключаем все до http:// (включительно) в начале строки
196-
trimHttpsRegex: regexp.MustCompile(`^.*https://|([^a-zA-Z0-9:/._?&=-].*)$`), // и после любого символа, который не может содержать в себе url
195+
trimHttpRegex: regexp.MustCompile(`^.*http://|([^a-zA-Z0-9:/._?&=+-].*)$`), // исключаем все до http:// (включительно) в начале строки
196+
trimHttpsRegex: regexp.MustCompile(`^.*https://|([^a-zA-Z0-9:/._?&=+-].*)$`), // и после любого символа, который не может содержать в себе url
197197
trimPrefixPathRegex: regexp.MustCompile(`^[^/]+`), // иключаем все до первого символа слэша (не включительно)
198198
trimPostfixPathRegex: regexp.MustCompile(`[=:'"(){}\[\]]+.*$`), // исключаем все после первого символа, который не должен (но может) содержаться в пути
199199
hexByteRegex: regexp.MustCompile(`\b0x[0-9A-Fa-f]+\b`), // Байты или числа в шестнадцатеричном формате: 0x2 || 0xc0000001
@@ -2356,6 +2356,17 @@ func (app *App) wordColor(inputWord string) string {
23562356
// Значение по умолчанию
23572357
var coloredWord string = inputWord
23582358
switch {
2359+
// Пурпурный (url и директории) [35m]
2360+
case strings.Contains(inputWord, "http://"):
2361+
cleanedWord := app.trimHttpRegex.ReplaceAllString(inputWord, "")
2362+
coloredWord = strings.ReplaceAll(inputWord, "http://"+cleanedWord, "\033[35m"+"http://"+cleanedWord+"\033[0m")
2363+
case strings.Contains(inputWord, "https://"):
2364+
cleanedWord := app.trimHttpsRegex.ReplaceAllString(inputWord, "")
2365+
coloredWord = strings.ReplaceAll(inputWord, "https://"+cleanedWord, "\033[35m"+"https://"+cleanedWord+"\033[0m")
2366+
case app.containsPath(inputWord):
2367+
cleanedWord := app.trimPrefixPathRegex.ReplaceAllString(inputWord, "")
2368+
cleanedWord = app.trimPostfixPathRegex.ReplaceAllString(cleanedWord, "")
2369+
coloredWord = strings.ReplaceAll(inputWord, cleanedWord, "\033[35m"+cleanedWord+"\033[0m")
23592370
// Желтый (известные имена: hostname и username) [33m]
23602371
case strings.Contains(inputWord, app.hostName):
23612372
coloredWord = strings.ReplaceAll(inputWord, app.hostName, "\033[33m"+app.hostName+"\033[0m")
@@ -2710,17 +2721,6 @@ func (app *App) wordColor(inputWord string) string {
27102721
coloredWord = app.replaceWordLower(inputWord, "done", "\033[32m")
27112722
case strings.Contains(inputWordLower, "true"):
27122723
coloredWord = app.replaceWordLower(inputWord, "true", "\033[32m")
2713-
// Пурпурный (url и директории) [35m]
2714-
case strings.Contains(inputWord, "http://"):
2715-
cleanedWord := app.trimHttpRegex.ReplaceAllString(inputWord, "")
2716-
coloredWord = strings.ReplaceAll(inputWord, "http://"+cleanedWord, "\033[35m"+"http://"+cleanedWord+"\033[0m")
2717-
case strings.Contains(inputWord, "https://"):
2718-
cleanedWord := app.trimHttpsRegex.ReplaceAllString(inputWord, "")
2719-
coloredWord = strings.ReplaceAll(inputWord, "https://"+cleanedWord, "\033[35m"+"https://"+cleanedWord+"\033[0m")
2720-
case app.containsPath(inputWord):
2721-
cleanedWord := app.trimPrefixPathRegex.ReplaceAllString(inputWord, "")
2722-
cleanedWord = app.trimPostfixPathRegex.ReplaceAllString(cleanedWord, "")
2723-
coloredWord = strings.ReplaceAll(inputWord, cleanedWord, "\033[35m"+cleanedWord+"\033[0m")
27242724
// Синий (статусы) [36m]
27252725
case strings.Contains(inputWordLower, "out"):
27262726
words := []string{"stdout", "timeout", "output"}
@@ -3282,22 +3282,6 @@ func (app *App) setupKeybindings() error {
32823282
}); err != nil {
32833283
return err
32843284
}
3285-
// Pgdn 1
3286-
if err := app.gui.SetKeybinding("services", gocui.KeyPgdn, gocui.ModNone, func(g *gocui.Gui, v *gocui.View) error {
3287-
return app.nextService(v, 1)
3288-
}); err != nil {
3289-
return err
3290-
}
3291-
if err := app.gui.SetKeybinding("varLogs", gocui.KeyPgdn, gocui.ModNone, func(g *gocui.Gui, v *gocui.View) error {
3292-
return app.nextFileName(v, 1)
3293-
}); err != nil {
3294-
return err
3295-
}
3296-
if err := app.gui.SetKeybinding("docker", gocui.KeyPgdn, gocui.ModNone, func(g *gocui.Gui, v *gocui.View) error {
3297-
return app.nextDockerContainer(v, 1)
3298-
}); err != nil {
3299-
return err
3300-
}
33013285
// Быстрое пролистывание вниз через 10 записей (<Shift/Alt>+Down)
33023286
if err := app.gui.SetKeybinding("services", gocui.KeyArrowDown, gocui.ModShift, func(g *gocui.Gui, v *gocui.View) error {
33033287
return app.nextService(v, 10)
@@ -3330,7 +3314,23 @@ func (app *App) setupKeybindings() error {
33303314
}); err != nil {
33313315
return err
33323316
}
3333-
// Pgdn 10
3317+
// Pgdn 1
3318+
if err := app.gui.SetKeybinding("services", gocui.KeyPgdn, gocui.ModNone, func(g *gocui.Gui, v *gocui.View) error {
3319+
return app.nextService(v, 1)
3320+
}); err != nil {
3321+
return err
3322+
}
3323+
if err := app.gui.SetKeybinding("varLogs", gocui.KeyPgdn, gocui.ModNone, func(g *gocui.Gui, v *gocui.View) error {
3324+
return app.nextFileName(v, 1)
3325+
}); err != nil {
3326+
return err
3327+
}
3328+
if err := app.gui.SetKeybinding("docker", gocui.KeyPgdn, gocui.ModNone, func(g *gocui.Gui, v *gocui.View) error {
3329+
return app.nextDockerContainer(v, 1)
3330+
}); err != nil {
3331+
return err
3332+
}
3333+
// Shift+Pgdn 10
33343334
if err := app.gui.SetKeybinding("services", gocui.KeyPgdn, gocui.ModShift, func(g *gocui.Gui, v *gocui.View) error {
33353335
return app.nextService(v, 10)
33363336
}); err != nil {
@@ -3346,6 +3346,7 @@ func (app *App) setupKeybindings() error {
33463346
}); err != nil {
33473347
return err
33483348
}
3349+
// Alt+Pgdn 100
33493350
if err := app.gui.SetKeybinding("services", gocui.KeyPgdn, gocui.ModAlt, func(g *gocui.Gui, v *gocui.View) error {
33503351
return app.nextService(v, 100)
33513352
}); err != nil {
@@ -3361,7 +3362,7 @@ func (app *App) setupKeybindings() error {
33613362
}); err != nil {
33623363
return err
33633364
}
3364-
// Пролистывание вверх (<Shift/Alt>+Up)
3365+
// Пролистывание вверх
33653366
if err := app.gui.SetKeybinding("services", gocui.KeyArrowUp, gocui.ModNone, func(g *gocui.Gui, v *gocui.View) error {
33663367
return app.prevService(v, 1)
33673368
}); err != nil {
@@ -3377,71 +3378,71 @@ func (app *App) setupKeybindings() error {
33773378
}); err != nil {
33783379
return err
33793380
}
3380-
// Pgup 1
3381-
if err := app.gui.SetKeybinding("services", gocui.KeyPgup, gocui.ModNone, func(g *gocui.Gui, v *gocui.View) error {
3382-
return app.prevService(v, 1)
3381+
// Shift+Up 10
3382+
if err := app.gui.SetKeybinding("services", gocui.KeyArrowUp, gocui.ModShift, func(g *gocui.Gui, v *gocui.View) error {
3383+
return app.prevService(v, 10)
33833384
}); err != nil {
33843385
return err
33853386
}
3386-
if err := app.gui.SetKeybinding("varLogs", gocui.KeyPgup, gocui.ModNone, func(g *gocui.Gui, v *gocui.View) error {
3387-
return app.prevFileName(v, 1)
3387+
if err := app.gui.SetKeybinding("varLogs", gocui.KeyArrowUp, gocui.ModShift, func(g *gocui.Gui, v *gocui.View) error {
3388+
return app.prevFileName(v, 10)
33883389
}); err != nil {
33893390
return err
33903391
}
3391-
if err := app.gui.SetKeybinding("docker", gocui.KeyPgup, gocui.ModNone, func(g *gocui.Gui, v *gocui.View) error {
3392-
return app.prevDockerContainer(v, 1)
3392+
if err := app.gui.SetKeybinding("docker", gocui.KeyArrowUp, gocui.ModShift, func(g *gocui.Gui, v *gocui.View) error {
3393+
return app.prevDockerContainer(v, 10)
33933394
}); err != nil {
33943395
return err
33953396
}
3396-
// up 10
3397-
if err := app.gui.SetKeybinding("services", gocui.KeyArrowUp, gocui.ModShift, func(g *gocui.Gui, v *gocui.View) error {
3398-
return app.prevService(v, 10)
3397+
// Alt+Up 100
3398+
if err := app.gui.SetKeybinding("services", gocui.KeyArrowUp, gocui.ModAlt, func(g *gocui.Gui, v *gocui.View) error {
3399+
return app.prevService(v, 100)
33993400
}); err != nil {
34003401
return err
34013402
}
3402-
if err := app.gui.SetKeybinding("varLogs", gocui.KeyArrowUp, gocui.ModShift, func(g *gocui.Gui, v *gocui.View) error {
3403-
return app.prevFileName(v, 10)
3403+
if err := app.gui.SetKeybinding("varLogs", gocui.KeyArrowUp, gocui.ModAlt, func(g *gocui.Gui, v *gocui.View) error {
3404+
return app.prevFileName(v, 100)
34043405
}); err != nil {
34053406
return err
34063407
}
3407-
if err := app.gui.SetKeybinding("docker", gocui.KeyArrowUp, gocui.ModShift, func(g *gocui.Gui, v *gocui.View) error {
3408-
return app.prevDockerContainer(v, 10)
3408+
if err := app.gui.SetKeybinding("docker", gocui.KeyArrowUp, gocui.ModAlt, func(g *gocui.Gui, v *gocui.View) error {
3409+
return app.prevDockerContainer(v, 100)
34093410
}); err != nil {
34103411
return err
34113412
}
3412-
// Pgup 10
3413-
if err := app.gui.SetKeybinding("services", gocui.KeyPgup, gocui.ModShift, func(g *gocui.Gui, v *gocui.View) error {
3414-
return app.prevService(v, 10)
3413+
// Pgup 1
3414+
if err := app.gui.SetKeybinding("services", gocui.KeyPgup, gocui.ModNone, func(g *gocui.Gui, v *gocui.View) error {
3415+
return app.prevService(v, 1)
34153416
}); err != nil {
34163417
return err
34173418
}
3418-
if err := app.gui.SetKeybinding("varLogs", gocui.KeyPgup, gocui.ModShift, func(g *gocui.Gui, v *gocui.View) error {
3419-
return app.prevFileName(v, 10)
3419+
if err := app.gui.SetKeybinding("varLogs", gocui.KeyPgup, gocui.ModNone, func(g *gocui.Gui, v *gocui.View) error {
3420+
return app.prevFileName(v, 1)
34203421
}); err != nil {
34213422
return err
34223423
}
3423-
if err := app.gui.SetKeybinding("docker", gocui.KeyPgup, gocui.ModShift, func(g *gocui.Gui, v *gocui.View) error {
3424-
return app.prevDockerContainer(v, 10)
3424+
if err := app.gui.SetKeybinding("docker", gocui.KeyPgup, gocui.ModNone, func(g *gocui.Gui, v *gocui.View) error {
3425+
return app.prevDockerContainer(v, 1)
34253426
}); err != nil {
34263427
return err
34273428
}
3428-
// up 100
3429-
if err := app.gui.SetKeybinding("services", gocui.KeyArrowUp, gocui.ModAlt, func(g *gocui.Gui, v *gocui.View) error {
3430-
return app.prevService(v, 100)
3429+
// Shift+Pgup 10
3430+
if err := app.gui.SetKeybinding("services", gocui.KeyPgup, gocui.ModShift, func(g *gocui.Gui, v *gocui.View) error {
3431+
return app.prevService(v, 10)
34313432
}); err != nil {
34323433
return err
34333434
}
3434-
if err := app.gui.SetKeybinding("varLogs", gocui.KeyArrowUp, gocui.ModAlt, func(g *gocui.Gui, v *gocui.View) error {
3435-
return app.prevFileName(v, 100)
3435+
if err := app.gui.SetKeybinding("varLogs", gocui.KeyPgup, gocui.ModShift, func(g *gocui.Gui, v *gocui.View) error {
3436+
return app.prevFileName(v, 10)
34363437
}); err != nil {
34373438
return err
34383439
}
3439-
if err := app.gui.SetKeybinding("docker", gocui.KeyArrowUp, gocui.ModAlt, func(g *gocui.Gui, v *gocui.View) error {
3440-
return app.prevDockerContainer(v, 100)
3440+
if err := app.gui.SetKeybinding("docker", gocui.KeyPgup, gocui.ModShift, func(g *gocui.Gui, v *gocui.View) error {
3441+
return app.prevDockerContainer(v, 10)
34413442
}); err != nil {
34423443
return err
34433444
}
3444-
// Pgup 100
3445+
// Alt+Pgup 100
34453446
if err := app.gui.SetKeybinding("services", gocui.KeyPgup, gocui.ModAlt, func(g *gocui.Gui, v *gocui.View) error {
34463447
return app.prevService(v, 100)
34473448
}); err != nil {
@@ -3496,14 +3497,21 @@ func (app *App) setupKeybindings() error {
34963497
if err := app.gui.SetKeybinding("filter", gocui.KeyArrowDown, gocui.ModNone, app.setFilterModeLeft); err != nil {
34973498
return err
34983499
}
3500+
// PgUp/PgDn Filter
3501+
if err := app.gui.SetKeybinding("filter", gocui.KeyPgup, gocui.ModNone, app.setFilterModeRight); err != nil {
3502+
return err
3503+
}
3504+
if err := app.gui.SetKeybinding("filter", gocui.KeyPgdn, gocui.ModNone, app.setFilterModeLeft); err != nil {
3505+
return err
3506+
}
34993507
// Переключение для количества выводимых строк через Left/Right для выбранного окна (logs)
35003508
if err := app.gui.SetKeybinding("logs", gocui.KeyArrowLeft, gocui.ModNone, app.setCountLogViewDown); err != nil {
35013509
return err
35023510
}
35033511
if err := app.gui.SetKeybinding("logs", gocui.KeyArrowRight, gocui.ModNone, app.setCountLogViewUp); err != nil {
35043512
return err
35053513
}
3506-
// Пролистывание вывода журнала через 1/10/500 записей
3514+
// Пролистывание вывода журнала через 1/10/500 записей вниз
35073515
if err := app.gui.SetKeybinding("logs", gocui.KeyArrowDown, gocui.ModNone, func(g *gocui.Gui, v *gocui.View) error {
35083516
return app.scrollDownLogs(1)
35093517
}); err != nil {
@@ -3519,6 +3527,7 @@ func (app *App) setupKeybindings() error {
35193527
}); err != nil {
35203528
return err
35213529
}
3530+
// Up Logs
35223531
if err := app.gui.SetKeybinding("logs", gocui.KeyArrowUp, gocui.ModNone, func(g *gocui.Gui, v *gocui.View) error {
35233532
return app.scrollUpLogs(1)
35243533
}); err != nil {
@@ -3534,7 +3543,7 @@ func (app *App) setupKeybindings() error {
35343543
}); err != nil {
35353544
return err
35363545
}
3537-
// KeyPgdn/KeyPgup
3546+
// KeyPgdn Logs
35383547
if err := app.gui.SetKeybinding("logs", gocui.KeyPgdn, gocui.ModNone, func(g *gocui.Gui, v *gocui.View) error {
35393548
return app.scrollDownLogs(1)
35403549
}); err != nil {
@@ -3550,6 +3559,7 @@ func (app *App) setupKeybindings() error {
35503559
}); err != nil {
35513560
return err
35523561
}
3562+
// KeyPgup Logs
35533563
if err := app.gui.SetKeybinding("logs", gocui.KeyPgup, gocui.ModNone, func(g *gocui.Gui, v *gocui.View) error {
35543564
return app.scrollUpLogs(1)
35553565
}); err != nil {
@@ -3565,7 +3575,7 @@ func (app *App) setupKeybindings() error {
35653575
}); err != nil {
35663576
return err
35673577
}
3568-
// Ручное обновление вывода журнала и перемещение к концу журнала (Ctrl+D/End)
3578+
// Перемещение к концу журнала (Ctrl+D/End)
35693579
if err := app.gui.SetKeybinding("", gocui.KeyCtrlD, gocui.ModNone, func(g *gocui.Gui, v *gocui.View) error {
35703580
app.updateLogsView(true)
35713581
return nil

0 commit comments

Comments
 (0)