backstack: have added the workspace flag
This commit is contained in:
parent
6c5787b271
commit
cc58db2d49
|
@ -28,6 +28,7 @@ func main() {
|
||||||
var flagTable = flag.String("t", "", "dynamodb table name")
|
var flagTable = flag.String("t", "", "dynamodb table name")
|
||||||
var flagLocal = flag.String("local", "", "local endpoint")
|
var flagLocal = flag.String("local", "", "local endpoint")
|
||||||
var flagDebug = flag.String("debug", "", "file to log debug messages")
|
var flagDebug = flag.String("debug", "", "file to log debug messages")
|
||||||
|
var flagWorkspace = flag.String("w", "", "workspace file")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
|
@ -37,11 +38,11 @@ func main() {
|
||||||
cli.Fatalf("cannot load AWS config: %v", err)
|
cli.Fatalf("cannot load AWS config: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
wsManager := workspaces.New(workspaces.MetaInfo{
|
closeFn := logging.EnableLogging(*flagDebug)
|
||||||
Command: "sqs-browse",
|
defer closeFn()
|
||||||
})
|
|
||||||
//ws, err := wsManager.CreateTemp()
|
wsManager := workspaces.New(workspaces.MetaInfo{Command: "dynamo-browse"})
|
||||||
ws, err := wsManager.Open("temp.workspace")
|
ws, err := wsManager.OpenOrCreate(*flagWorkspace)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
cli.Fatalf("cannot create workspace: %v", ws)
|
cli.Fatalf("cannot create workspace: %v", ws)
|
||||||
}
|
}
|
||||||
|
@ -83,9 +84,6 @@ func main() {
|
||||||
|
|
||||||
p := tea.NewProgram(model, tea.WithAltScreen())
|
p := tea.NewProgram(model, tea.WithAltScreen())
|
||||||
|
|
||||||
closeFn := logging.EnableLogging(*flagDebug)
|
|
||||||
defer closeFn()
|
|
||||||
|
|
||||||
// Pre-determine if layout has dark background. This prevents calls for creating a list to hang.
|
// Pre-determine if layout has dark background. This prevents calls for creating a list to hang.
|
||||||
if lipgloss.HasDarkBackground() {
|
if lipgloss.HasDarkBackground() {
|
||||||
if colorScheme := osstyle.CurrentColorScheme(); colorScheme == osstyle.ColorSchemeLightMode {
|
if colorScheme := osstyle.CurrentColorScheme(); colorScheme == osstyle.ColorSchemeLightMode {
|
||||||
|
|
|
@ -3,6 +3,7 @@ package workspaces
|
||||||
import (
|
import (
|
||||||
"github.com/asdine/storm"
|
"github.com/asdine/storm"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
|
"log"
|
||||||
"os"
|
"os"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -18,11 +19,19 @@ func New(metaInfo MetaInfo) *Manager {
|
||||||
return &Manager{metainfo: metaInfo}
|
return &Manager{metainfo: metaInfo}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m *Manager) OpenOrCreate(filename string) (*Workspace, error) {
|
||||||
|
if filename == "" {
|
||||||
|
return m.CreateTemp()
|
||||||
|
}
|
||||||
|
return m.Open(filename)
|
||||||
|
}
|
||||||
|
|
||||||
func (m *Manager) Open(filename string) (*Workspace, error) {
|
func (m *Manager) Open(filename string) (*Workspace, error) {
|
||||||
db, err := storm.Open(filename)
|
db, err := storm.Open(filename)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errors.Wrapf(err, "cannot open workspace at %v", filename)
|
return nil, errors.Wrapf(err, "cannot open workspace at %v", filename)
|
||||||
}
|
}
|
||||||
|
log.Printf("open workspace: %v", filename)
|
||||||
return &Workspace{db: db}, nil
|
return &Workspace{db: db}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue