func displayTemplate(d dynamics.Dwimmer, context *term.SettingT, quotedSetting term.T) term.T { setting, err := represent.ToSetting(d, quotedSetting) if err != nil { return represent.ConversionError.T(quotedSetting, err) } settingS := addNames(setting) ShowSettingS(d, settingS) d.Println("") d.Println("") quotedNames := make([]term.T, len(settingS.Names)) for i, name := range settingS.Names { quotedNames[i] = represent.Str(name) } return Names.T(represent.List(quotedNames)) }
func OldElicitAction(d dynamics.Dwimmer, context *term.SettingT, subject *term.Setting, hints bool) term.ActionC { settingS := addNames(subject) ShowSettingS(d, settingS) hint_strings := []string{} tool_map := make(map[rune]string) if hints { hint_strings = GetHints(d, context, settingS, 6) tools := similarity.SuggestedTemplates(d, subject, 6) if len(hint_strings) > 0 || len(tools) > 0 { d.Println("") } if len(tools) > 0 { d.Println("") } tips := []rune{'a', 's', 'd', 'w', 'e', 'j'} for i, tool := range tools { tool_map[tips[i]] = tool.String() d.Println(fmt.Sprintf("%c: %v", tips[i], tool)) } if len(hint_strings) > 0 { d.Println("") } for i, hint := range hint_strings { d.Println(fmt.Sprintf("%d. %s", i, hint)) } } d.Println("") for { input := d.Readln(" < ", hint_strings, tool_map) if input == "jump up" { StartShell(d, Interrupted.T(represent.SettingT(context))) } a := parsing.ParseAction(input, settingS.Names) if a == nil { c := parsing.ParseTerm(input, settingS.Names) if c != nil { switch c := c.(type) { case *term.CompoundC: if questionLike(c) { a = new(term.ActionC) *a = term.AskC(c) } case term.ReferenceC: a = new(term.ActionC) *a = term.ViewC(c) } d.Println("please input an action (ask, view, return, close, delete, correct, or tell)") } else { d.Println("that response wasn't parsed correctly") } } if a != nil { for i, n := range a.IntArgs { if n == -1 { a.IntArgs[i] = subject.Size - 1 } } return *a } } }
func ShowSettingS(d dynamics.Dwimmer, settingS *term.SettingS) { d.Clear() for _, line := range settingS.Lines() { d.Println(line) } }