gofmt: main.go
This commit is contained in:
parent
7ca4ba64db
commit
02b9894112
1 changed files with 69 additions and 69 deletions
138
queue/main.go
138
queue/main.go
|
@ -1,52 +1,52 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/charmbracelet/bubbles/textinput"
|
"github.com/charmbracelet/bubbles/textinput"
|
||||||
"github.com/charmbracelet/lipgloss"
|
|
||||||
tea "github.com/charmbracelet/bubbletea"
|
tea "github.com/charmbracelet/bubbletea"
|
||||||
|
"github.com/charmbracelet/lipgloss"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
command = lipgloss.NewStyle().Foreground(lipgloss.Color("12")).Background(lipgloss.Color("235"))
|
command = lipgloss.NewStyle().Foreground(lipgloss.Color("12")).Background(lipgloss.Color("235"))
|
||||||
list = lipgloss.NewStyle().Bold(true)
|
list = lipgloss.NewStyle().Bold(true)
|
||||||
padding = lipgloss.NewStyle().PaddingTop(1).PaddingLeft(2)
|
padding = lipgloss.NewStyle().PaddingTop(1).PaddingLeft(2)
|
||||||
red = lipgloss.NewStyle().Bold(true).Foreground(lipgloss.Color("9"))
|
red = lipgloss.NewStyle().Bold(true).Foreground(lipgloss.Color("9"))
|
||||||
green = lipgloss.NewStyle().Bold(true).Foreground(lipgloss.Color("10"))
|
green = lipgloss.NewStyle().Bold(true).Foreground(lipgloss.Color("10"))
|
||||||
)
|
)
|
||||||
|
|
||||||
func enqueue(queue []int64, number string) []int64 {
|
func enqueue(queue []int64, number string) []int64 {
|
||||||
integer, err := strconv.ParseInt(number, 10, 64)
|
integer, err := strconv.ParseInt(number, 10, 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("Error:", err)
|
fmt.Println("Error:", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(queue) < 5 {
|
if len(queue) < 5 {
|
||||||
queue = append([]int64{integer}, queue...)
|
queue = append([]int64{integer}, queue...)
|
||||||
}
|
}
|
||||||
|
|
||||||
return queue
|
return queue
|
||||||
}
|
}
|
||||||
|
|
||||||
func dequeue(queue []int64) []int64 {
|
func dequeue(queue []int64) []int64 {
|
||||||
if len(queue) > 0 {
|
if len(queue) > 0 {
|
||||||
queue = queue[:len(queue)-1]
|
queue = queue[:len(queue)-1]
|
||||||
}
|
}
|
||||||
return queue
|
return queue
|
||||||
}
|
}
|
||||||
|
|
||||||
func check(queue []int64) string {
|
func check(queue []int64) string {
|
||||||
if len(queue) == 0 {
|
if len(queue) == 0 {
|
||||||
return fmt.Sprintf("The queue is currently %v", green.Render("empty"))
|
return fmt.Sprintf("The queue is currently %v", green.Render("empty"))
|
||||||
} else if len(queue) == 5 {
|
} else if len(queue) == 5 {
|
||||||
return fmt.Sprintf("The queue is currently %v", red.Render("full"))
|
return fmt.Sprintf("The queue is currently %v", red.Render("full"))
|
||||||
} else {
|
} else {
|
||||||
return fmt.Sprintf("The queue is currently neither %v nor %v", green.Render("empty"), red.Render("full"))
|
return fmt.Sprintf("The queue is currently neither %v nor %v", green.Render("empty"), red.Render("full"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
type (
|
type (
|
||||||
|
@ -55,9 +55,9 @@ type (
|
||||||
|
|
||||||
type model struct {
|
type model struct {
|
||||||
textInput textinput.Model
|
textInput textinput.Model
|
||||||
queue []int64
|
queue []int64
|
||||||
status string
|
status string
|
||||||
show bool
|
show bool
|
||||||
err error
|
err error
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -86,23 +86,23 @@ func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
|
||||||
switch msg.Type {
|
switch msg.Type {
|
||||||
case tea.KeyCtrlC:
|
case tea.KeyCtrlC:
|
||||||
return m, tea.Quit
|
return m, tea.Quit
|
||||||
case tea.KeyEnter:
|
case tea.KeyEnter:
|
||||||
arguments := strings.Split(m.textInput.Value(), " ")
|
arguments := strings.Split(m.textInput.Value(), " ")
|
||||||
switch arguments[0] {
|
switch arguments[0] {
|
||||||
case "enqueue":
|
case "enqueue":
|
||||||
m.show = false
|
m.show = false
|
||||||
m.queue = enqueue(m.queue, arguments[1])
|
m.queue = enqueue(m.queue, arguments[1])
|
||||||
case "dequeue":
|
case "dequeue":
|
||||||
m.show = false
|
m.show = false
|
||||||
m.queue = dequeue(m.queue)
|
m.queue = dequeue(m.queue)
|
||||||
case "check":
|
case "check":
|
||||||
m.show = true
|
m.show = true
|
||||||
m.status = check(m.queue)
|
m.status = check(m.queue)
|
||||||
default:
|
default:
|
||||||
m.show = true
|
m.show = true
|
||||||
m.status = red.Render("This action is unsupported")
|
m.status = red.Render("This action is unsupported")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
case errMsg:
|
case errMsg:
|
||||||
m.err = msg
|
m.err = msg
|
||||||
|
@ -114,28 +114,28 @@ func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m model) View() string {
|
func (m model) View() string {
|
||||||
command_list := fmt.Sprintf(
|
command_list := fmt.Sprintf(
|
||||||
"Valid commands: %s, %s, %s",
|
"Valid commands: %s, %s, %s",
|
||||||
command.Render(" enqueue "),
|
command.Render(" enqueue "),
|
||||||
command.Render(" dequeue "),
|
command.Render(" dequeue "),
|
||||||
command.Render(" check "),
|
command.Render(" check "),
|
||||||
)
|
)
|
||||||
|
|
||||||
if m.show {
|
if m.show {
|
||||||
return padding.Render(fmt.Sprintf(
|
return padding.Render(fmt.Sprintf(
|
||||||
"%v\n\n%v\n\n%s",
|
"%v\n\n%v\n\n%s",
|
||||||
command_list,
|
command_list,
|
||||||
m.status,
|
m.status,
|
||||||
m.textInput.View(),
|
m.textInput.View(),
|
||||||
)) + "\n"
|
)) + "\n"
|
||||||
} else {
|
} else {
|
||||||
return padding.Render(fmt.Sprintf(
|
return padding.Render(fmt.Sprintf(
|
||||||
"%v\n\n%v\n\n%s",
|
"%v\n\n%v\n\n%s",
|
||||||
command_list,
|
command_list,
|
||||||
list.Render(fmt.Sprintf("%v", m.queue)),
|
list.Render(fmt.Sprintf("%v", m.queue)),
|
||||||
m.textInput.View(),
|
m.textInput.View(),
|
||||||
)) + "\n"
|
)) + "\n"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
|
Loading…
Reference in a new issue