Added command history (#45)
* Added command line history to the command, query and filter prompts. * Added query planning debugging to the log. * Fixed bug in query expression which was not treating true and false as boolean literals. * Fixed a bug in the query planning logic which was incorrectly determine that an expression of the form sort_key ^= "string", with no partition key, could be executed as a query instead of a scan.
This commit is contained in:
parent
700a1a2253
commit
54a120342e
26 changed files with 335 additions and 34 deletions
|
|
@ -13,8 +13,10 @@ import (
|
|||
"github.com/lmika/audax/internal/common/workspaces"
|
||||
"github.com/lmika/audax/internal/dynamo-browse/controllers"
|
||||
"github.com/lmika/audax/internal/dynamo-browse/providers/dynamo"
|
||||
"github.com/lmika/audax/internal/dynamo-browse/providers/inputhistorystore"
|
||||
"github.com/lmika/audax/internal/dynamo-browse/providers/settingstore"
|
||||
"github.com/lmika/audax/internal/dynamo-browse/providers/workspacestore"
|
||||
"github.com/lmika/audax/internal/dynamo-browse/services/inputhistory"
|
||||
"github.com/lmika/audax/internal/dynamo-browse/services/itemrenderer"
|
||||
"github.com/lmika/audax/internal/dynamo-browse/services/jobs"
|
||||
keybindings_service "github.com/lmika/audax/internal/dynamo-browse/services/keybindings"
|
||||
|
|
@ -81,6 +83,7 @@ func main() {
|
|||
dynamoProvider := dynamo.NewProvider(dynamoClient)
|
||||
resultSetSnapshotStore := workspacestore.NewResultSetSnapshotStore(ws)
|
||||
settingStore := settingstore.New(ws)
|
||||
inputHistoryStore := inputhistorystore.NewInputHistoryStore(ws)
|
||||
|
||||
if *flagRO {
|
||||
if err := settingStore.SetReadOnly(*flagRO); err != nil {
|
||||
|
|
@ -98,10 +101,11 @@ func main() {
|
|||
itemRendererService := itemrenderer.NewService(uiStyles.ItemView.FieldType, uiStyles.ItemView.MetaInfo)
|
||||
scriptManagerService := scriptmanager.New()
|
||||
jobsService := jobs.NewService(eventBus)
|
||||
inputHistoryService := inputhistory.New(inputHistoryStore)
|
||||
|
||||
state := controllers.NewState()
|
||||
jobsController := controllers.NewJobsController(jobsService, eventBus, false)
|
||||
tableReadController := controllers.NewTableReadController(state, tableService, workspaceService, itemRendererService, jobsController, eventBus, *flagTable)
|
||||
tableReadController := controllers.NewTableReadController(state, tableService, workspaceService, itemRendererService, jobsController, inputHistoryService, eventBus, *flagTable)
|
||||
tableWriteController := controllers.NewTableWriteController(state, tableService, jobsController, tableReadController, settingStore)
|
||||
columnsController := controllers.NewColumnsController(eventBus)
|
||||
exportController := controllers.NewExportController(state, columnsController)
|
||||
|
|
@ -112,7 +116,7 @@ func main() {
|
|||
keyBindingService := keybindings_service.NewService(keyBindings)
|
||||
keyBindingController := controllers.NewKeyBindingController(keyBindingService)
|
||||
|
||||
commandController := commandctrl.NewCommandController()
|
||||
commandController := commandctrl.NewCommandController(inputHistoryService)
|
||||
commandController.AddCommandLookupExtension(scriptController)
|
||||
|
||||
model := ui.NewModel(
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ func main() {
|
|||
|
||||
ctrl := controllers.NewLogFileController(service, flag.Arg(0))
|
||||
|
||||
cmdController := commandctrl.NewCommandController()
|
||||
cmdController := commandctrl.NewCommandController(nil)
|
||||
//cmdController.AddCommands(&commandctrl.CommandList{
|
||||
// Commands: map[string]commandctrl.Command{
|
||||
// "cd": func(args []string) tea.Cmd {
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ func main() {
|
|||
|
||||
ctrl := controllers.New(service)
|
||||
|
||||
cmdController := commandctrl.NewCommandController()
|
||||
cmdController := commandctrl.NewCommandController(nil)
|
||||
cmdController.AddCommands(&commandctrl.CommandList{
|
||||
Commands: map[string]commandctrl.Command{
|
||||
"cd": func(ec commandctrl.ExecContext, args []string) tea.Msg {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue