mirror of
https://github.com/XRPLF/clio.git
synced 2025-11-20 03:35:55 +00:00
45 lines
782 B
Go
45 lines
782 B
Go
package util
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
)
|
|
|
|
type Marker struct {
|
|
Cmd string
|
|
File *os.File
|
|
}
|
|
|
|
func NewMarker(cmd string) *Marker {
|
|
return &Marker{Cmd: cmd}
|
|
}
|
|
|
|
func CloseMarker(m *Marker) {
|
|
if m.File != nil {
|
|
m.File.Close()
|
|
}
|
|
os.Remove("continue.txt")
|
|
}
|
|
|
|
func (m *Marker) EnterTable(table string) error {
|
|
// Create the file
|
|
file, err := os.OpenFile("continue.txt", os.O_WRONLY|os.O_TRUNC|os.O_CREATE, 0644)
|
|
m.File = file
|
|
if err != nil {
|
|
return fmt.Errorf("failed to create file: %w", err)
|
|
}
|
|
fmt.Fprintf(m.File, "%s\n", m.Cmd)
|
|
m.File.WriteString(fmt.Sprintf("%s\n", table))
|
|
return nil
|
|
}
|
|
|
|
func (m *Marker) MarkProgress(x int64, y int64) {
|
|
fmt.Fprintf(m.File, "%d, %d \n", x, y)
|
|
}
|
|
|
|
func (m *Marker) ExitTable() {
|
|
m.File.Close()
|
|
m.File = nil
|
|
os.Remove("continue.txt")
|
|
}
|