From c1a3ee170620f147e71b8e2b80da3b139d482f40 Mon Sep 17 00:00:00 2001 From: boombuler Date: Mon, 26 Sep 2016 19:08:37 +0200 Subject: [PATCH 1/6] possibility to show a log view --- cmd/micro/actions.go | 4 ++-- cmd/micro/command.go | 38 +++++++++++++++++++++++++------------- cmd/micro/messenger.go | 23 +++++++++++++++++++++++ cmd/micro/statusline.go | 2 +- cmd/micro/view.go | 14 +++++++++++--- 5 files changed, 62 insertions(+), 19 deletions(-) diff --git a/cmd/micro/actions.go b/cmd/micro/actions.go index 6dbee05e..596f76fd 100644 --- a/cmd/micro/actions.go +++ b/cmd/micro/actions.go @@ -711,7 +711,7 @@ func (v *View) Save(usePlugin bool) bool { return false } - if v.Help { + if v.Type == vtHelp { // We can't save the help text return false } @@ -1258,7 +1258,7 @@ func (v *View) ToggleHelp(usePlugin bool) bool { return false } - if !v.Help { + if v.Type != vtHelp { // Open the default help v.openHelp("help") } else { diff --git a/cmd/micro/command.go b/cmd/micro/command.go index f0cfe9b3..d1ef2c53 100644 --- a/cmd/micro/command.go +++ b/cmd/micro/command.go @@ -26,19 +26,20 @@ type StrCommand struct { var commands map[string]Command var commandActions = map[string]func([]string){ - "Set": Set, - "SetLocal": SetLocal, - "Show": Show, - "Run": Run, - "Bind": Bind, - "Quit": Quit, - "Save": Save, - "Replace": Replace, - "VSplit": VSplit, - "HSplit": HSplit, - "Tab": NewTab, - "Help": Help, - "Eval": Eval, + "Set": Set, + "SetLocal": SetLocal, + "Show": Show, + "Run": Run, + "Bind": Bind, + "Quit": Quit, + "Save": Save, + "Replace": Replace, + "VSplit": VSplit, + "HSplit": HSplit, + "Tab": NewTab, + "Help": Help, + "Eval": Eval, + "ToggleLog": ToggleLog, } // InitCommands initializes the default commands @@ -84,6 +85,17 @@ func DefaultCommands() map[string]StrCommand { "tab": {"Tab", []Completion{FileCompletion, NoCompletion}}, "help": {"Help", []Completion{HelpCompletion, NoCompletion}}, "eval": {"Eval", []Completion{NoCompletion}}, + "log": {"ToggleLog", []Completion{NoCompletion}}, + } +} + +func ToggleLog(args []string) { + buffer := messenger.getBuffer() + if CurView().Type != vtLog { + CurView().VSplit(buffer) + CurView().Type = vtLog + } else { + CurView().Quit(true) } } diff --git a/cmd/micro/messenger.go b/cmd/micro/messenger.go index 7e641735..e29b8438 100644 --- a/cmd/micro/messenger.go +++ b/cmd/micro/messenger.go @@ -43,6 +43,7 @@ func TermError(filename string, lineNum int, err string) { // Messenger is an object that makes it easy to send messages to the user // and get input from the user type Messenger struct { + log *Buffer // Are we currently prompting the user? hasPrompt bool // Is there a message to print @@ -67,6 +68,19 @@ type Messenger struct { gutterMessage bool } +func (m *Messenger) addLog(msg string) { + buffer := m.getBuffer() + buffer.Insert(buffer.End(), msg+"\n") +} + +func (m *Messenger) getBuffer() *Buffer { + if m.log == nil { + m.log = NewBuffer([]byte{}, "") + m.log.Name = "Log" + } + return m.log +} + // Message sends a message to the user func (m *Messenger) Message(msg ...interface{}) { buf := new(bytes.Buffer) @@ -77,6 +91,7 @@ func (m *Messenger) Message(msg ...interface{}) { if _, ok := colorscheme["message"]; ok { m.style = colorscheme["message"] } + m.addLog(m.message) m.hasMessage = true } @@ -92,6 +107,7 @@ func (m *Messenger) Error(msg ...interface{}) { if _, ok := colorscheme["error-message"]; ok { m.style = colorscheme["error-message"] } + m.addLog(m.message) m.hasMessage = true } @@ -113,13 +129,16 @@ func (m *Messenger) YesNoPrompt(prompt string) (bool, bool) { switch e.Key() { case tcell.KeyRune: if e.Rune() == 'y' { + m.addLog("\t--> y") m.hasPrompt = false return true, false } else if e.Rune() == 'n' { + m.addLog("\t--> n") m.hasPrompt = false return false, false } case tcell.KeyCtrlC, tcell.KeyCtrlQ, tcell.KeyEscape: + m.addLog("\t--> (cancel)") m.hasPrompt = false return false, true } @@ -146,6 +165,7 @@ func (m *Messenger) LetterPrompt(prompt string, responses ...rune) (rune, bool) case tcell.KeyRune: for _, r := range responses { if e.Rune() == r { + m.addLog("\t--> " + string(r)) m.Clear() m.Reset() m.hasPrompt = false @@ -153,6 +173,7 @@ func (m *Messenger) LetterPrompt(prompt string, responses ...rune) (rune, bool) } } case tcell.KeyCtrlC, tcell.KeyCtrlQ, tcell.KeyEscape: + m.addLog("\t--> (cancel)") m.Clear() m.Reset() m.hasPrompt = false @@ -198,9 +219,11 @@ func (m *Messenger) Prompt(prompt, historyType string, completionTypes ...Comple switch e.Key() { case tcell.KeyCtrlQ, tcell.KeyCtrlC, tcell.KeyEscape: // Cancel + m.addLog("\t--> (cancel)") m.hasPrompt = false case tcell.KeyEnter: // User is done entering their response + m.addLog("\t--> " + m.response) m.hasPrompt = false response, canceled = m.response, false m.history[historyType][len(m.history[historyType])-1] = response diff --git a/cmd/micro/statusline.go b/cmd/micro/statusline.go index c5e7e406..b60257ad 100644 --- a/cmd/micro/statusline.go +++ b/cmd/micro/statusline.go @@ -37,7 +37,7 @@ func (sline *Statusline) Display() { file += " " + sline.view.Buf.FileType() rightText := helpBinding + " for help " - if sline.view.Help { + if sline.view.Type == vtHelp { rightText = helpBinding + " to close help " } diff --git a/cmd/micro/view.go b/cmd/micro/view.go index 19371573..63f5c419 100644 --- a/cmd/micro/view.go +++ b/cmd/micro/view.go @@ -11,6 +11,14 @@ import ( "github.com/zyedidia/tcell" ) +type ViewType int + +const ( + vtDefault ViewType = iota + vtHelp + vtLog +) + // The View struct stores information about a view into a buffer. // It stores information about the cursor, and the viewport // that the user sees the buffer from. @@ -28,7 +36,7 @@ type View struct { heightPercent int // Specifies whether or not this view holds a help buffer - Help bool + Type ViewType // Actual with and height width int @@ -536,11 +544,11 @@ func (v *View) openHelp(helpPage string) { helpBuffer := NewBuffer(data, helpPage+".md") helpBuffer.Name = "Help" - if v.Help { + if v.Type == vtHelp { v.OpenBuffer(helpBuffer) } else { v.HSplit(helpBuffer) - CurView().Help = true + CurView().Type = vtHelp } } } From 50c744153308f6c29e6a5e110493f1fda0cb2994 Mon Sep 17 00:00:00 2001 From: boombuler Date: Mon, 26 Sep 2016 19:28:42 +0200 Subject: [PATCH 2/6] also add TermMessage output to log --- cmd/micro/messenger.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/cmd/micro/messenger.go b/cmd/micro/messenger.go index e29b8438..3a97eb48 100644 --- a/cmd/micro/messenger.go +++ b/cmd/micro/messenger.go @@ -24,6 +24,7 @@ func TermMessage(msg ...interface{}) { } fmt.Println(msg...) + messenger.addLog(fmt.Sprint(msg...)) fmt.Print("\nPress enter to continue") reader := bufio.NewReader(os.Stdin) @@ -83,9 +84,7 @@ func (m *Messenger) getBuffer() *Buffer { // Message sends a message to the user func (m *Messenger) Message(msg ...interface{}) { - buf := new(bytes.Buffer) - fmt.Fprint(buf, msg...) - m.message = buf.String() + m.message = fmt.Sprint(msg...) m.style = defStyle if _, ok := colorscheme["message"]; ok { From b195ebad461dbfb6ca9354b57ffabc09de0df242 Mon Sep 17 00:00:00 2001 From: boombuler Date: Tue, 27 Sep 2016 17:52:05 +0200 Subject: [PATCH 3/6] AddLog should be "public" accessible --- cmd/micro/messenger.go | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/cmd/micro/messenger.go b/cmd/micro/messenger.go index 3a97eb48..530ba4a3 100644 --- a/cmd/micro/messenger.go +++ b/cmd/micro/messenger.go @@ -24,7 +24,7 @@ func TermMessage(msg ...interface{}) { } fmt.Println(msg...) - messenger.addLog(fmt.Sprint(msg...)) + messenger.AddLog(fmt.Sprint(msg...)) fmt.Print("\nPress enter to continue") reader := bufio.NewReader(os.Stdin) @@ -69,9 +69,11 @@ type Messenger struct { gutterMessage bool } -func (m *Messenger) addLog(msg string) { +func (m *Messenger) AddLog(msg string) { buffer := m.getBuffer() buffer.Insert(buffer.End(), msg+"\n") + buffer.Cursor.Loc = buffer.End() + buffer.Cursor.Relocate() } func (m *Messenger) getBuffer() *Buffer { @@ -90,7 +92,7 @@ func (m *Messenger) Message(msg ...interface{}) { if _, ok := colorscheme["message"]; ok { m.style = colorscheme["message"] } - m.addLog(m.message) + m.AddLog(m.message) m.hasMessage = true } @@ -106,7 +108,7 @@ func (m *Messenger) Error(msg ...interface{}) { if _, ok := colorscheme["error-message"]; ok { m.style = colorscheme["error-message"] } - m.addLog(m.message) + m.AddLog(m.message) m.hasMessage = true } @@ -128,16 +130,16 @@ func (m *Messenger) YesNoPrompt(prompt string) (bool, bool) { switch e.Key() { case tcell.KeyRune: if e.Rune() == 'y' { - m.addLog("\t--> y") + m.AddLog("\t--> y") m.hasPrompt = false return true, false } else if e.Rune() == 'n' { - m.addLog("\t--> n") + m.AddLog("\t--> n") m.hasPrompt = false return false, false } case tcell.KeyCtrlC, tcell.KeyCtrlQ, tcell.KeyEscape: - m.addLog("\t--> (cancel)") + m.AddLog("\t--> (cancel)") m.hasPrompt = false return false, true } @@ -164,7 +166,7 @@ func (m *Messenger) LetterPrompt(prompt string, responses ...rune) (rune, bool) case tcell.KeyRune: for _, r := range responses { if e.Rune() == r { - m.addLog("\t--> " + string(r)) + m.AddLog("\t--> " + string(r)) m.Clear() m.Reset() m.hasPrompt = false @@ -172,7 +174,7 @@ func (m *Messenger) LetterPrompt(prompt string, responses ...rune) (rune, bool) } } case tcell.KeyCtrlC, tcell.KeyCtrlQ, tcell.KeyEscape: - m.addLog("\t--> (cancel)") + m.AddLog("\t--> (cancel)") m.Clear() m.Reset() m.hasPrompt = false @@ -218,11 +220,11 @@ func (m *Messenger) Prompt(prompt, historyType string, completionTypes ...Comple switch e.Key() { case tcell.KeyCtrlQ, tcell.KeyCtrlC, tcell.KeyEscape: // Cancel - m.addLog("\t--> (cancel)") + m.AddLog("\t--> (cancel)") m.hasPrompt = false case tcell.KeyEnter: // User is done entering their response - m.addLog("\t--> " + m.response) + m.AddLog("\t--> " + m.response) m.hasPrompt = false response, canceled = m.response, false m.history[historyType][len(m.history[historyType])-1] = response From f904e2fe99f5051ae6d541ad758a36988fcca3ba Mon Sep 17 00:00:00 2001 From: boombuler Date: Tue, 27 Sep 2016 17:52:40 +0200 Subject: [PATCH 4/6] always scroll log to the cursor befor drawing and don't ask for save changes for help and log views --- cmd/micro/view.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/cmd/micro/view.go b/cmd/micro/view.go index 63f5c419..085e1abf 100644 --- a/cmd/micro/view.go +++ b/cmd/micro/view.go @@ -193,7 +193,7 @@ func (v *View) ScrollDown(n int) { // If there are unsaved changes, the user will be asked if the view can be closed // causing them to lose the unsaved changes func (v *View) CanClose() bool { - if v.Buf.IsModified { + if v.Type == vtDefault && v.Buf.IsModified { char, canceled := messenger.LetterPrompt("Save changes to "+v.Buf.Name+" before closing? (y,n,esc) ", 'y', 'n') if !canceled { if char == 'y' { @@ -561,9 +561,15 @@ func (v *View) drawCell(x, y int, ch rune, combc []rune, style tcell.Style) { // DisplayView renders the view to the screen func (v *View) DisplayView() { + if v.Type == vtLog { + // Log views should always follow the cursor... + v.Relocate() + } + if v.Buf.Settings["syntax"].(bool) { v.matches = Match(v) } + // The charNum we are currently displaying // starts at the start of the viewport charNum := Loc{0, v.Topline} From 0de167b07b89c13a6be6767fa6d0e3c9a529de26 Mon Sep 17 00:00:00 2001 From: Zachary Yedidia Date: Tue, 27 Sep 2016 14:24:52 -0400 Subject: [PATCH 5/6] Add new plugin runtime function --- cmd/micro/micro.go | 1 + cmd/micro/runtime.go | 2 +- runtime/help/plugins.md | 3 +++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/cmd/micro/micro.go b/cmd/micro/micro.go index 2d2829c8..fa46d9f2 100644 --- a/cmd/micro/micro.go +++ b/cmd/micro/micro.go @@ -326,6 +326,7 @@ func main() { L.SetGlobal("ReadRuntimeFile", luar.New(L, PluginReadRuntimeFile)) L.SetGlobal("ListRuntimeFiles", luar.New(L, PluginListRuntimeFiles)) L.SetGlobal("AddRuntimeFile", luar.New(L, PluginAddRuntimeFile)) + L.SetGlobal("AddRuntimeFilesFromDirectory", luar.New(L, PluginAddRuntimeFilesFromDirectory)) jobs = make(chan JobFunction, 100) events = make(chan tcell.Event, 100) diff --git a/cmd/micro/runtime.go b/cmd/micro/runtime.go index bb6b0a8b..8e7828f0 100644 --- a/cmd/micro/runtime.go +++ b/cmd/micro/runtime.go @@ -481,7 +481,7 @@ func runtimeHelpOptionsMd() (*asset, error) { return a, nil } -var _runtimeHelpPluginsMd = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x8c\x59\xdd\x6f\xdc\x36\x12\x7f\xd7\x5f\x31\x70\x1f\xb2\x5b\xa8\x72\xef\xd5\x40\x1e\x92\xb4\x4d\xda\x4b\x93\xa2\x76\xaf\x28\x0e\x07\x90\x92\x46\xbb\xac\x29\x52\xc7\x0f\xaf\xf7\x82\xde\xdf\x7e\x98\x19\xea\x63\x1d\xb7\xb8\x00\xc1\x6a\x57\xe4\xcc\xf0\x37\x5f\xbf\xa1\xbf\x80\x9f\x6c\x3e\x18\x17\xab\xea\x47\xd3\x05\x0f\x31\x4f\x93\x0f\x29\x42\x17\x50\x27\xe3\x0e\x30\xc9\x02\x38\x99\x74\x04\x0d\xd1\x8c\x93\x45\x78\x9f\x35\xc4\x73\x4c\x38\x36\xf0\xed\x03\x86\x73\x59\x07\x47\x1d\x41\x57\xa3\x36\x0e\x62\x17\xcc\x94\xe0\x74\x34\xdd\x11\x4c\x84\x90\x1d\xe8\x04\x31\xe9\x90\xf2\x54\x7e\x8f\x47\x9f\x6d\x0f\x2d\xc2\x64\x75\x87\x3d\x18\x07\x95\xfa\xef\x75\xd3\x79\x37\x98\xc3\xf5\x48\x66\x5d\x17\x23\xca\xe7\x07\x3d\xe2\xe6\xb1\xb1\x59\xab\xa6\xaa\xee\x8e\x18\x10\x34\xfd\x07\x97\xc7\x16\x03\xf8\x01\x3a\x6d\x6d\xab\xbb\x7b\x18\xb2\xeb\x92\xf1\x74\x14\xd6\x7c\xf6\x19\x3a\xed\xe4\xa4\x48\x7a\xcf\x3e\x87\xaa\x9c\x23\x79\xb6\xb7\xf3\x3d\x92\xd1\xc9\x8c\x18\xc1\xa7\x23\x06\x48\x47\xed\xe6\x53\x34\x70\x77\x44\x70\x7a\x24\xa8\x62\x77\xc4\x11\xc1\xc4\x4a\x79\xf7\x8a\x95\xed\x1e\x0c\x9e\xf6\xaa\x81\xef\x7c\x00\x7c\xd4\x0c\x9e\x5e\x6c\xb9\x04\x07\x19\x48\x52\x05\xe9\x88\x90\x23\x06\x88\xfa\x01\x63\x45\x5f\xdb\x3c\x0c\x18\xe0\x54\xf0\xba\xa9\x2a\xa5\x94\xcd\xba\x5a\x84\x79\x77\xab\x1f\x50\x54\x56\x00\x00\x4d\xd3\xf0\x67\xc0\x94\x83\x83\x41\xdb\x88\x15\xba\x9e\x76\x32\x5e\xa0\x68\xb1\x82\x07\x1d\x8c\x6e\x2d\xd9\x0e\x1a\x02\x0e\x18\xd0\x75\x48\x28\x90\x6a\x5a\xc4\x0f\x5a\x14\x99\x08\x2d\xd2\x89\xf1\x11\xbb\x9c\xb0\x07\xef\x9a\xea\xee\x68\x22\x0b\xb0\xa3\x8f\x09\xb4\x3d\xe9\x73\xe4\x6d\x5d\x0e\x01\x5d\x62\x39\xf5\x13\xf8\x0f\x98\x24\xb6\xd4\x9b\x1c\xfe\x61\xf0\xb4\xdb\x2b\xd0\x11\x4e\x68\x6d\x53\x55\xaf\xac\x05\xfd\xa0\x8d\x65\xf3\x74\xf1\x20\x39\xd9\x9a\x98\x24\x5e\x48\xc5\x3d\x9e\x5b\xe3\x7a\xe3\x0e\x11\x22\x16\x3c\x06\x7e\x75\x44\x3b\x49\x78\x44\xdc\x44\x41\x89\x3c\x6d\xa3\x9f\x01\xd2\xd0\x7a\x6f\x91\xdc\x3b\x61\x67\x86\x33\x9d\xf1\x74\xc4\xe2\x76\x01\xa2\x5a\x43\x36\xa0\xf5\x9d\x26\x2b\x0a\x50\x5d\x0e\xd1\x07\xf0\x01\x9c\x4f\xa0\x87\x54\xf6\xad\xb8\x75\x9e\x42\x20\x61\x53\x55\x1f\x7c\x22\x47\x53\x74\xb1\x69\x73\xa4\x46\xf0\x5d\x97\xc3\xe7\xdb\x29\xb7\x5a\x44\xb7\x08\xe9\x1b\xf8\x7e\x20\x24\xab\x93\x76\x09\xf4\x1a\xec\x2d\x0e\x3e\xe0\x13\xdd\xb3\xb7\x6a\x0a\x2d\x50\x53\xc0\x12\xa4\x14\xa0\xdf\x13\x8e\x64\xa0\x8e\x28\xf1\x56\xa0\x10\x6c\xb0\x2f\x98\x18\x8c\x0b\x24\xe5\x9c\x1b\x2d\x2b\x36\xb3\xb2\x6a\x3d\x86\xcd\x5a\x12\x6a\xb6\x3f\x92\x83\x9d\x64\x55\x8e\x38\x64\xbb\x9e\x20\x79\xb8\x77\xfe\x04\xba\xf5\x79\x53\x44\x18\xd7\xf5\x4c\x94\x69\x14\x34\x1f\x27\x9c\x73\x6d\x5d\x4b\xb2\xb0\x27\x6b\x1d\xa5\x16\x95\x05\x3c\x49\x30\x9b\x08\x7e\x42\x3a\x95\x76\x3d\x1b\xe7\xf0\x54\xcd\xaf\x26\x1d\x23\x87\x16\xa5\xb7\x04\x75\x31\x6f\xf0\x01\x22\x26\xae\x8c\xe4\x7b\x0b\x7e\x92\x70\x6a\x75\xe4\x3c\x60\x61\x83\xb1\x98\xce\x13\xd6\xd5\xb0\xc9\x7b\xc2\x91\x36\xfa\x61\x00\x95\x74\x1b\x93\x8f\x93\xee\x30\x2a\xf0\xce\x9e\x59\xf8\x5b\xcf\x9b\x19\x63\x96\x75\xe6\x60\x17\x63\x9b\xaa\xfa\xea\xab\xaf\xfe\xac\xd2\xad\xa1\x4d\x67\x9a\x53\x3a\x4a\x88\xf1\xe2\x25\x8f\x92\xe7\xfc\x33\xae\xf2\xa1\x27\xef\x78\xd0\x5d\x87\x51\xd2\xd5\x38\xc7\x85\x26\xdc\x73\x3a\xf9\x01\xb8\x0a\x37\xf0\x8e\xd4\x72\x89\xa0\xe4\x83\x1d\x2d\xa6\x63\x42\x34\x07\xa7\x53\x0e\x18\xf9\xc0\x1b\x4b\x02\xc2\xc1\x3c\xa0\x83\x1c\xe9\xe8\x6f\xfd\x8b\x58\xb6\x70\xf7\xd8\xdf\x54\xd5\x97\xa0\x3e\xde\xaa\x9b\xb5\x08\x89\x03\x69\x9b\xd8\xf3\xf1\x56\x0c\x60\x9f\x4a\x29\xb1\x67\xaa\x98\x82\xa6\x23\x43\xc4\x4b\xb4\x3a\xea\x11\x2b\x1d\x45\xd5\xdb\x8f\x1f\x6f\x17\xc1\x35\x44\x0f\xaa\xd7\xe1\x64\x9c\xaa\x41\x9d\x8c\xeb\xfd\x29\xd2\xa3\x35\x2e\x3f\xd2\xc3\x10\x10\xdb\xd8\xab\xa6\x69\xf6\x6c\x9a\xf4\xa1\x6f\x4c\x50\x37\xd0\x79\x97\x34\x35\x43\xd2\x33\xe9\x74\x9c\xf3\x5e\xcc\x93\xa5\x39\x68\x0e\x4e\x76\x23\x8b\x20\x57\xab\x9b\x19\x35\x3f\x80\xb6\x96\xb7\xd1\x8b\xcd\x89\x0c\xa1\x84\xa2\x35\x87\x3b\xdd\xaa\x9b\xe2\x8f\x1e\x1f\xe7\x6a\x36\xd7\x52\xde\x5b\x8a\x1f\x3f\x93\x70\xde\x3b\x62\x8c\xe8\x0e\x48\x16\x5b\x4c\x91\x5d\x1d\xd1\xf5\x40\x6f\xf4\x81\x50\xf5\x6b\x87\xf1\x61\x6e\x81\x53\xf0\xe3\x94\xc4\xe6\x9f\xb3\xc3\xdb\x14\x76\x81\x70\xc6\x3d\xc4\x14\x8c\x3b\xa8\x9b\x52\x0e\x28\x06\xe4\xa7\x19\x14\x7a\x24\x99\xe2\x6d\xda\xc4\x72\xde\xfb\x6e\xf7\x58\x03\x1d\x2e\xed\xe1\xbd\xef\x2e\x44\x50\x3e\xd2\x12\x45\xc2\x72\x27\xf6\xff\xe0\x8d\xfb\x49\xa7\x63\xdc\xf5\x26\x34\x4d\x53\x14\x2d\x36\x50\xf9\x68\x8d\xc3\x08\x63\xb6\xc9\x50\x66\xf5\x26\x60\x97\x7c\x30\x72\x36\x6a\xb0\xd6\xb2\x87\x58\xe2\x5b\x4c\x1f\x39\x4d\x77\x4e\x8f\x38\xcb\xdb\x58\xc2\xb5\x5d\xdb\x8c\x33\xca\x01\xff\x9d\x91\xfb\x8b\xe4\x37\x8b\x79\xd5\xf7\x9f\x8b\xa9\xcb\x46\xe3\x12\x86\x41\x77\xf8\xe9\x0f\x92\x1c\x09\xf8\x15\x0f\x91\x22\x8d\x6e\xf9\x95\x7a\xb3\x6c\xde\xa9\xcd\x76\x05\x23\x6a\xce\xe2\xb3\xa4\x8a\x71\xf0\xd6\x4b\x34\xde\x2e\x27\x11\x89\xb3\xf6\xf5\x48\xcf\x2b\x9e\x1b\x39\x2d\x2e\x45\xed\x64\xac\x25\x0b\x22\x4a\x05\x2f\x2b\x0f\xd6\xb7\xda\xda\x73\x0d\xd9\x59\xaa\x08\x26\x95\x94\x97\x72\x47\x85\x4a\x96\x36\xb3\x45\xef\xe9\xcd\x5f\x98\x55\xcf\xdc\xe5\xcb\xd7\xfc\xf9\x57\x66\x92\x45\xab\x37\x58\xa7\x64\xc6\xba\x56\x84\xb1\xf2\xd7\xc6\xf5\x7f\xc7\xf3\xee\x1e\xcf\xf5\xd2\x82\x16\x28\x88\x10\x44\x50\xf7\x78\x56\x04\x80\x92\x05\x8a\x77\xfe\xa8\xef\xf1\x8d\x1f\x47\xed\x7a\xf6\x66\xbd\x72\xb2\xd9\xe8\xd2\xa5\xb8\x8e\x35\x4d\xf3\x66\xf9\x4a\xb2\xc9\x4e\x49\x1b\xc2\xa6\x13\x49\x85\xc8\x90\xbc\xb9\x0d\x11\xca\xdc\x88\x40\xcd\x0a\x94\xd4\xf6\xb9\x41\x32\x45\xfb\x25\x22\x7c\xcd\x0d\x60\xab\x35\x79\xa6\x47\x1f\xfc\xaa\xbb\xd9\x5a\x5f\x7e\xdb\x3d\x31\x7d\xaf\x6e\x2e\xcd\x53\xeb\x5a\x46\x82\xda\xbf\x98\xba\x81\x41\x70\x59\x49\xd8\x65\x76\x6c\x29\x1c\x2f\x7c\xa7\x5d\x6f\x17\x08\xbb\xb1\xdf\xa6\x55\x76\x5b\xe7\x16\x74\x36\xdb\x6e\x8f\x68\xed\xbc\x37\xf2\x97\x45\x40\x2d\xa9\x44\xce\x7a\x10\x16\x52\xc3\x49\x9b\x74\xe7\xdf\x58\x1f\xe5\x97\x67\x94\xb0\x14\x3e\xb6\x88\x15\x66\xae\x36\xb2\x14\x6f\x7d\x86\xc6\xf0\xf9\x8a\x07\x0b\x81\x21\x3a\x5e\x82\x8e\xd8\xc8\x21\xf8\x5c\x44\x92\x0a\xb5\xb1\xa7\x48\xe5\xbc\xd0\xd3\x64\x49\xb0\x19\x9e\x28\xa6\xd6\x14\x32\x72\x63\x96\xe4\xe6\xa6\x6c\xd2\xac\x8f\x04\x16\xd2\x56\x2d\x84\x9d\x4b\xaa\x24\x2e\xf6\x26\xf9\xd0\x94\xfa\xd8\xde\xd2\xf4\xb1\x01\xbd\x26\xee\x9f\x7a\x9f\x53\x79\xc2\x10\xe8\xe9\xdb\x47\x52\x51\x96\x50\xb5\xd7\xe1\xc0\xc1\x7c\x11\x28\x2c\x2d\x2e\x0d\xf5\x09\xa6\x0b\x34\xcf\xe0\xa1\x66\xb5\xaa\x3c\x62\x08\x8a\x4f\xa9\x44\xb9\x22\xf9\x44\x02\x56\x72\x9b\x3c\x13\xc1\xa7\xe3\x18\x27\x4a\x8b\x5b\xd2\xb6\xb1\x64\x26\xfe\x47\x3d\x4d\x52\x38\x0b\x30\xab\x35\xd4\xbe\x88\xc2\x70\x3e\xa9\xf9\xb0\x8a\xb5\x33\x43\x0d\x87\x3c\xa2\x4b\x17\x0a\x29\xbd\x0a\xdb\x9b\x29\xfc\x67\xf3\xe2\x02\x3a\x96\x40\xff\x92\x52\xb7\x79\x33\xf6\x35\xf4\x3a\xe9\x8b\xe2\xeb\xfa\xb5\x33\x1a\x57\x64\xc6\xd4\x9b\x65\x1c\xf9\xdd\xb7\xb3\xa9\xab\x3b\xfd\x74\x29\x99\x84\xdd\x93\x81\x9a\xd6\x57\x32\x5b\x8d\xfa\x0c\x11\x71\x04\x6b\xee\x89\xfa\xc5\x91\xea\xca\x42\x2a\x16\x76\xb7\x42\xdb\xe6\x04\xd1\x8f\x4b\x5b\xf3\xed\xef\xd8\xa5\x58\x2d\x9c\xbe\x3d\x0b\x5f\x5d\x76\x1c\xf5\x03\xc2\x48\xad\x67\xc4\x74\xf4\x7d\x6c\x2e\x06\xb3\xb5\x75\x33\x57\x16\x79\x95\x00\xca\xa3\x7f\x61\x36\xfa\xf9\x51\x5b\x5b\x7b\x39\x0a\xaf\xb2\x6f\x78\x76\xe5\x11\x75\xaf\x9a\xea\xb7\xb2\x25\x22\x16\x0b\x37\x47\x9d\x7c\x8c\x66\x3b\x0f\x3e\x33\x04\xd2\xd4\x07\xc9\x4f\xa6\x6b\x78\xd2\x9d\xc7\x19\xef\x3e\x33\x92\xb6\x74\x5c\x2a\x9f\x19\x6c\x78\x68\x59\x82\x57\xd2\xb5\xa2\xd9\x2f\xbb\x06\xbe\x2f\xe3\x78\x40\x4a\x12\x72\xfe\x01\x1d\x06\xee\x59\x31\x99\xee\xbe\xa4\x30\x1f\x4b\x62\x7a\xd4\xfc\xa3\x86\xe5\xa2\xa1\xd2\x0f\xde\xb0\x8c\x1c\x22\xd5\xbc\x29\xf8\xd6\xe2\x18\x6b\xd8\x4e\x0f\x66\x28\x38\x52\x2f\x79\x02\x1b\x15\x97\xbd\x22\x18\x54\xb9\x04\x20\x0c\x7f\xc8\x31\xc9\xa8\xf7\x3c\xca\x44\x87\xe7\x3a\x74\xf2\xee\x45\x2a\xc2\x17\x11\xa0\x0f\xda\x50\xcb\xf9\x25\xce\x85\x61\xe3\xf6\x7a\xf1\x2b\xcf\xd0\x9b\x01\xa2\xb4\x7b\x1d\xa3\xef\x0c\xcf\xc7\x85\xf8\xe8\xd2\x40\xda\x73\x99\x07\x56\xcb\x9a\xd7\x79\x50\xf3\xe5\xc0\x42\x5b\x37\x42\xd5\x77\xc6\xe2\xdd\x79\x42\xa2\xe9\xc4\x0f\xe9\xf3\x03\xb5\xda\xa6\x91\xf1\x7e\x8d\x8b\x12\xbb\xcf\x84\x5f\xd1\xcb\x02\x57\xa2\xbc\xce\x1e\x3a\xe0\xcd\x25\x8b\x6e\x7e\x14\xd6\xbc\x1b\xe3\x81\x4a\xe7\x05\xd1\xbb\x5c\xf9\x6d\x08\x3e\xfc\x1f\xeb\x7e\xc3\xf8\xc1\xff\xc4\x6c\x7b\x27\xa4\x7b\xe1\xb8\x3b\x69\x78\xd2\xe4\x2e\x77\x5d\x6c\xa8\xe1\x68\x62\xf2\xe1\x7c\xc7\xc3\xd4\x67\x94\x85\x7f\xde\x50\x16\xd8\x2d\x5c\x4c\x44\x57\x72\x73\x00\xe5\xe6\x20\x26\xed\x7a\x1d\x7a\x98\xc5\xff\xbe\x04\xcf\x9f\x5a\x70\x75\x55\xc3\xd7\x24\xea\x0b\x78\xd5\x53\xd6\x49\xd2\xf1\xe0\x53\x43\x3c\xbb\xa4\x1f\xe7\x6f\xcc\x6c\xac\x0f\x72\x47\x16\xe7\xeb\xb6\x92\x05\xd5\x92\xef\xa4\x91\x9d\xf3\xaa\xef\x7f\xce\x2e\x99\x11\xc9\xef\x85\xa3\xf1\x4c\x2d\x93\xd7\x5c\x74\x57\xde\x46\xc4\xbf\x97\xc1\xd7\xe7\x08\xf7\xcc\xfe\xfc\x50\xc9\x3c\x2d\x23\xef\xac\xf0\xa2\x0a\xd5\x25\xb7\x5e\xf4\x52\x59\x8b\x20\xbd\xa9\x21\x72\x4d\x70\x21\xa2\x2a\x9d\x4a\x25\x8c\x49\x49\x32\x48\x35\x28\xe3\x14\x1f\x83\x5e\x36\x63\xaf\x18\x87\x6d\x3e\xd7\x2c\x32\x64\x97\x2e\x2a\xf0\x7a\xad\xf7\x04\x80\x2b\x92\x74\x55\xc3\x15\x19\x45\x9f\x45\xf2\xd5\x5e\x6e\xf3\xbe\x80\x57\x39\xf9\xf9\x66\x65\x69\xda\x4b\xd7\xab\xaa\x5b\x2e\xa5\x7c\x0f\x54\xee\x23\x3c\x58\xd4\xc1\xc1\xd1\x9f\x66\x5a\xf8\x84\x5a\x96\x66\x7e\x49\x13\x8b\x81\x32\x10\x2c\xf0\x0b\x8b\xf8\xd5\xa4\xe3\xee\x56\x42\x8d\x7f\xd9\x57\x44\x30\xb8\x1f\xbe\x2c\x0f\x37\x79\x9a\x30\xec\xe4\x8d\x0e\x89\x5f\xe8\x90\xe6\xdf\x89\x5c\x97\x1b\x39\xf1\x72\x13\x73\x3b\x0b\xfd\x5b\x5d\x7e\xb3\xe8\x76\xa2\x61\xff\xf2\x25\x3f\xf0\xd5\xe6\x7a\x1d\x3a\x63\xb1\x33\x6e\xca\x6c\x87\x58\xac\x99\x7a\x2e\x24\xfb\x25\x7c\xba\x7a\x87\xd6\x7a\x02\xf5\x57\x1f\x6c\x4f\x0f\xdf\x79\xfe\xfe\x5a\x87\xab\x3f\x96\x9d\x01\x63\xb6\x64\xee\x27\xfa\x8d\xcc\x24\x87\x9a\xfa\x81\xc2\x79\xd2\x26\xc4\xdd\xa5\xf0\x3d\xf4\x34\xd1\x98\x61\x8b\xce\x03\x31\x5c\xb2\x88\x1c\xcf\x5c\x86\xfe\x25\x2a\x3f\x8d\x71\x11\x43\xda\x89\xa2\x1a\x1e\xe4\x1e\x17\xe8\x60\xeb\x47\xc1\x46\x16\x3d\x39\xf4\xe0\xfd\x4e\x87\x03\xed\x5b\xf2\xf6\x66\xae\x60\xfc\x82\xd7\x6f\xc7\x9f\xab\x41\xce\x5a\xc2\xa2\x91\xaf\x4f\x46\x8c\xe5\xed\x8c\xea\xd5\x7e\x09\xbc\x6f\x70\xd0\x84\xcb\x34\xff\x2d\x61\x93\x5b\x7c\x7d\x54\x5e\xd4\x4b\x37\xef\x2f\x77\xf0\xfd\x4b\xc2\x40\x15\xfd\xe0\x95\xa4\x86\xd2\x14\xcf\x4c\xb1\xb9\x83\xcb\x45\x18\xd5\x3c\xb9\xf5\xe5\x3f\x58\xbc\x88\xf0\xd6\xa4\x77\xb9\x85\x80\x93\x8f\x44\x92\xcf\xf0\xcf\x23\x06\xfc\xd7\xee\x98\xd2\x14\x6f\xae\xaf\x0f\x26\x1d\x73\x4b\x86\x5f\xff\xe7\x8c\xbd\xe9\x8d\x2e\x7f\x56\x48\x01\xf1\x7a\xd4\x31\x61\xb8\x0e\x92\x6b\xf3\x9f\x1a\xf6\x4d\xf5\xbf\x00\x00\x00\xff\xff\x70\x8b\x08\x02\x1d\x19\x00\x00") +var _runtimeHelpPluginsMd = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x8c\x59\xdd\x6f\xdc\x36\x12\x7f\xd7\x5f\x31\x70\x1f\xb2\x5b\xa8\x72\xef\xd5\x40\x1e\x92\xb4\x49\xda\x4b\x93\xa2\x76\xaf\x28\x0e\x07\x90\x92\x46\xbb\xac\x29\x52\xc7\x0f\xaf\xf7\x8a\xde\xdf\x7e\x98\x19\xea\x63\x1d\xb7\xb8\x00\xc1\x6a\x57\xe4\xcc\xf0\x37\x5f\xbf\xa1\xbf\x80\x1f\x6d\x3e\x18\x17\xab\xea\x07\xd3\x05\x0f\x31\x4f\x93\x0f\x29\x42\x17\x50\x27\xe3\x0e\x30\xc9\x02\x38\x99\x74\x04\x0d\xd1\x8c\x93\x45\xf8\x90\x35\xc4\x73\x4c\x38\x36\xf0\xed\x03\x86\x73\x59\x07\x47\x1d\x41\x57\xa3\x36\x0e\x62\x17\xcc\x94\xe0\x74\x34\xdd\x11\x4c\x84\x90\x1d\xe8\x04\x31\xe9\x90\xf2\x54\x7e\x8f\x47\x9f\x6d\x0f\x2d\xc2\x64\x75\x87\x3d\x18\x07\x95\xfa\xef\x75\xd3\x79\x37\x98\xc3\xf5\x48\x66\x5d\x17\x23\xca\xe7\x47\x3d\xe2\xe6\xb1\xb1\x59\xab\xa6\xaa\xee\x8e\x18\x10\x34\xfd\x07\x97\xc7\x16\x03\xf8\x01\x3a\x6d\x6d\xab\xbb\x7b\x18\xb2\xeb\x92\xf1\x74\x14\xd6\x7c\xf6\x19\x3a\xed\xe4\xa4\x48\x7a\xcf\x3e\x87\xaa\x9c\x23\x79\xb6\xb7\xf3\x3d\x92\xd1\xc9\x8c\x18\xc1\xa7\x23\x06\x48\x47\xed\xe6\x53\x34\x70\x77\x44\x70\x7a\x24\xa8\x62\x77\xc4\x11\xc1\xc4\x4a\x79\xf7\x8a\x95\xed\x1e\x0c\x9e\xf6\xaa\x81\xb7\x3e\x00\x3e\x6a\x06\x4f\x2f\xb6\x5c\x82\x83\x0c\x24\xa9\x82\x74\x44\xc8\x11\x03\x44\xfd\x80\xb1\xa2\xaf\x6d\x1e\x06\x0c\x70\x2a\x78\xdd\x54\x95\x52\xca\x66\x5d\x2d\xc2\xbc\xbb\xd5\x0f\x28\x2a\x2b\x00\x80\xa6\x69\xf8\x33\x60\xca\xc1\xc1\xa0\x6d\xc4\x0a\x5d\x4f\x3b\x19\x2f\x50\xb4\x58\xc1\x83\x0e\x46\xb7\x96\x6c\x07\x0d\x01\x07\x0c\xe8\x3a\x24\x14\x48\x35\x2d\xe2\x07\x2d\x8a\x4c\x84\x16\xe9\xc4\xf8\x88\x5d\x4e\xd8\x83\x77\x4d\x75\x77\x34\x91\x05\xd8\xd1\xc7\x04\xda\x9e\xf4\x39\xf2\xb6\x2e\x87\x80\x2e\xb1\x9c\xfa\x09\xfc\x07\x4c\x12\x5b\xea\x4d\x0e\xff\x30\x78\xda\xed\x15\xe8\x08\x27\xb4\xb6\xa9\xaa\x57\xd6\x82\x7e\xd0\xc6\xb2\x79\xba\x78\x90\x9c\x6c\x4d\x4c\x12\x2f\xa4\xe2\x1e\xcf\xad\x71\xbd\x71\x87\x08\x11\x0b\x1e\x03\xbf\x3a\xa2\x9d\x24\x3c\x22\x6e\xa2\xa0\x44\x9e\xb6\xd1\xcf\x00\x69\x68\xbd\xb7\x48\xee\x9d\xb0\x33\xc3\x99\xce\x78\x3a\x62\x71\xbb\x00\x51\xad\x21\x1b\xd0\xfa\x4e\x93\x15\x05\xa8\x2e\x87\xe8\x03\xf8\x00\xce\x27\xd0\x43\x2a\xfb\x56\xdc\x3a\x4f\x21\x90\xb0\xa9\xaa\x8f\x3e\x91\xa3\x29\xba\xd8\xb4\x39\x52\x23\xf8\xae\xcb\xe1\xf3\xed\x94\x5b\x2d\xa2\x5b\x84\xf4\x0d\x7c\x37\x10\x92\xd5\x49\xbb\x04\x7a\x0d\xf6\x16\x07\x1f\xf0\x89\xee\xd9\x5b\x35\x85\x16\xa8\x29\x60\x09\x52\x0a\xd0\xef\x08\x47\x32\x50\x47\x94\x78\x2b\x50\x08\x36\xd8\x17\x4c\x0c\xc6\x05\x92\x72\xce\x8d\x96\x15\x9b\x59\x59\xb5\x1e\xc3\x66\x2d\x09\x35\xdb\x1f\xc9\xc1\x4e\xb2\x2a\x47\x1c\xb2\x5d\x4f\x90\x3c\xdc\x3b\x7f\x02\xdd\xfa\xbc\x29\x22\x8c\xeb\x7a\x26\xca\x34\x0a\x9a\x4f\x13\xce\xb9\xb6\xae\x25\x59\xd8\x93\xb5\x8e\x52\x8b\xca\x02\x9e\x24\x98\x4d\x04\x3f\x21\x9d\x4a\xbb\x9e\x8d\x73\x78\xaa\xe6\x57\x93\x8e\x91\x43\x8b\xd2\x5b\x82\xba\x98\x37\xf8\x00\x11\x13\x57\x46\xf2\xbd\x05\x3f\x49\x38\xb5\x3a\x72\x1e\xb0\xb0\xc1\x58\x4c\xe7\x09\xeb\x6a\xd8\xe4\x3d\xe1\x48\x1b\xfd\x30\x80\x4a\xba\x8d\xc9\xc7\x49\x77\x18\x15\x78\x67\xcf\x2c\xfc\x9d\xe7\xcd\x8c\x31\xcb\x3a\x73\xb0\x8b\xb1\x4d\x55\x7d\xf5\xd5\x57\x7f\x56\xe9\xd6\xd0\xa6\x33\xcd\x29\x1d\x25\xc4\x78\xf1\x92\x47\xc9\x73\xfe\x19\x57\xf9\xd0\x93\x77\x3c\xe8\xae\xc3\x28\xe9\x6a\x9c\xe3\x42\x13\xee\x39\x9d\xfc\x00\x5c\x85\x1b\x78\x4f\x6a\xb9\x44\x50\xf2\xc1\x8e\x16\xd3\x31\x21\x9a\x83\xd3\x29\x07\x8c\x7c\xe0\x8d\x25\x01\xe1\x60\x1e\xd0\x41\x8e\x74\xf4\x77\xfe\x45\x2c\x5b\xb8\x7b\xec\x6f\xaa\xea\x4b\x50\x9f\x6e\xd5\xcd\x5a\x84\xc4\x81\xb4\x4d\xec\xf9\x74\x2b\x06\xb0\x4f\xa5\x94\xd8\x33\x55\x4c\x41\xd3\x91\x21\xe2\x25\x5a\x1d\xf5\x88\x95\x8e\xa2\xea\xdd\xa7\x4f\xb7\x8b\xe0\x1a\xa2\x07\xd5\xeb\x70\x32\x4e\xd5\xa0\x4e\xc6\xf5\xfe\x14\xe9\xd1\x1a\x97\x1f\xe9\x61\x08\x88\x6d\xec\x55\xd3\x34\x7b\x36\x4d\xfa\xd0\x37\x26\xa8\x1b\xe8\xbc\x4b\x9a\x9a\x21\xe9\x99\x74\x3a\xce\x79\x2f\xe6\xc9\xd2\x1c\x34\x07\x27\xbb\x91\x45\x90\xab\xd5\xcd\x8c\x9a\x1f\x40\x5b\xcb\xdb\xe8\xc5\xe6\x44\x86\x50\x42\xd1\x9a\xc3\x9d\x6e\xd5\x4d\xf1\x47\x8f\x8f\x73\x35\x9b\x6b\x29\xef\x2d\xc5\x8f\x9f\x49\x38\xef\x1d\x31\x46\x74\x07\x24\x8b\x2d\xa6\xc8\xae\x8e\xe8\x7a\xa0\x37\xfa\x40\xa8\xfa\xb5\xc3\xf8\x30\xb7\xc0\x29\xf8\x71\x4a\x62\xf3\x4f\xd9\xe1\x6d\x0a\xbb\x40\x38\xe3\x1e\x62\x0a\xc6\x1d\xd4\x4d\x29\x07\x14\x03\xf2\xd3\x0c\x0a\x3d\x92\x4c\xf1\x36\x6d\x62\x39\x1f\x7c\xb7\x7b\xac\x81\x0e\x97\xf6\xf0\xc1\x77\x17\x22\x28\x1f\x69\x89\x22\x61\xb9\x13\xfb\xbf\xf7\xc6\xfd\xa8\xd3\x31\xee\x7a\x13\x9a\xa6\x29\x8a\x16\x1b\xa8\x7c\xb4\xc6\x61\x84\x31\xdb\x64\x28\xb3\x7a\x13\xb0\x4b\x3e\x18\x39\x1b\x35\x58\x6b\xd9\x43\x2c\xf1\x1d\xa6\x4f\x9c\xa6\x3b\xa7\x47\x9c\xe5\x6d\x2c\xe1\xda\xae\x6d\xc6\x19\xe5\x80\xff\xce\xc8\xfd\x45\xf2\x9b\xc5\xbc\xea\xfb\xcf\xc5\xd4\x65\xa3\x71\x09\xc3\xa0\x3b\xfc\xfd\x0f\x92\x1c\x09\xf8\x15\x0f\x91\x22\x8d\x6e\xf9\x95\x7a\xb3\x6c\xde\xa9\xcd\x76\x05\x23\x6a\xce\xe2\xb3\xa4\x8a\x71\xf0\xce\x4b\x34\xde\x2e\x27\x11\x89\xb3\xf6\xf5\x48\xcf\x2b\x9e\x1b\x39\x2d\x2e\x45\xed\x64\xac\x25\x0b\x22\x4a\x05\x2f\x2b\x0f\xd6\xb7\xda\xda\x73\x0d\xd9\x59\xaa\x08\x26\x95\x94\x97\x72\x47\x85\x4a\x96\x36\xb3\x45\x1f\xe8\xcd\x5f\x98\x55\xcf\xdc\xe5\xcb\xd7\xfc\xf9\x57\x66\x92\x45\xab\x37\x58\xa7\x64\xc6\xba\x56\x84\xb1\xf2\xd7\xc6\xf5\x7f\xc7\xf3\xee\x1e\xcf\xf5\xd2\x82\x16\x28\x88\x10\x44\x50\xf7\x78\x56\x04\x80\x92\x05\x8a\x77\xfe\xa0\xef\xf1\x8d\x1f\x47\xed\x7a\xf6\x66\xbd\x72\xb2\xd9\xe8\xd2\xa5\xb8\x8e\x35\x4d\xf3\x66\xf9\x4a\xb2\xc9\x4e\x49\x1b\xc2\xa6\x13\x49\x85\xc8\x90\xbc\xb9\x0d\x11\xca\xdc\x88\x40\xcd\x0a\x94\xd4\xf6\xb9\x41\x32\x45\xfb\x39\x22\x7c\xcd\x0d\x60\xab\x35\x79\xa6\x47\x1f\xfd\xaa\xbb\xd9\x5a\x5f\x7e\xdb\x3d\x31\x7d\xaf\x6e\x2e\xcd\x53\xeb\x5a\x46\x82\xda\xbf\x98\xba\x81\x41\x70\x59\x49\xd8\x65\x76\x6c\x29\x1c\x2f\x7c\xaf\x5d\x6f\x17\x08\xbb\xb1\xdf\xa6\x55\x76\x5b\xe7\x16\x74\x36\xdb\x6e\x8f\x68\xed\xbc\x37\xf2\x97\x45\x40\x2d\xa9\x44\xce\x7a\x10\x16\x52\xc3\x49\x9b\x74\xe7\xdf\x58\x1f\xe5\x97\x67\x94\xb0\x14\x3e\xb6\x88\x15\x66\xae\x36\xb2\x14\x6f\x7d\x86\xc6\xf0\xf9\x8a\x07\x0b\x81\x21\x3a\x5e\x82\x8e\xd8\xc8\x21\xf8\x5c\x44\x92\x0a\xb5\xb1\xa7\x48\xe5\xbc\xd0\xd3\x64\x49\xb0\x19\x9e\x28\xa6\xd6\x14\x32\x72\x63\x96\xe4\xe6\xa6\x6c\xd2\xac\x8f\x04\x16\xd2\x56\x2d\x84\x9d\x4b\xaa\x24\x2e\xf6\x26\xf9\xd0\x94\xfa\xd8\xde\xd2\xf4\xb1\x01\xbd\x26\xee\x9f\x7a\x9f\x53\x79\xc2\x10\xe8\xe9\xdb\x47\x52\x51\x96\x50\xb5\xd7\xe1\xc0\xc1\x7c\x11\x28\x2c\x2d\x2e\x0d\xf5\x09\xa6\x0b\x34\xcf\xe0\xa1\x66\xb5\xaa\x3c\x62\x08\x8a\x4f\xa9\x44\xb9\x22\xf9\x44\x02\x56\x72\x9b\x3c\x13\xc1\xa7\xe3\x18\x27\x4a\x8b\x5b\xd2\xb6\xb1\x64\x26\xfe\x47\x3d\x4d\x52\x38\x0b\x30\xab\x35\xd4\xbe\x88\xc2\x70\x3e\xa9\xf9\xb0\x8a\xb5\x33\x43\x0d\x87\x3c\xa2\x4b\x17\x0a\x29\xbd\x0a\xdb\x9b\x29\xfc\x67\xf3\xe2\x02\x3a\x96\x40\xff\x92\x52\xb7\x79\x33\xf6\x35\xf4\x3a\xe9\x8b\xe2\xeb\xfa\xb5\x33\x1a\x57\x64\xc6\xd4\x9b\x65\x1c\xf9\xcd\xb7\xb3\xa9\xab\x3b\xfd\x74\x29\x99\x84\xdd\x93\x81\x9a\xd6\x57\x32\x5b\x8d\xfa\x0c\x11\x71\x04\x6b\xee\x89\xfa\xc5\x91\xea\xca\x42\x2a\x16\x76\xb7\x42\xdb\xe6\x04\xd1\x8f\x4b\x5b\xf3\xed\x6f\xd8\xa5\x58\x2d\x9c\xbe\x3d\x0b\x5f\x5d\x76\x1c\xf5\x03\xc2\x48\xad\x67\xc4\x74\xf4\x7d\x6c\x2e\x06\xb3\xb5\x75\x33\x57\x16\x79\x95\x00\xca\xa3\x7f\x61\x36\xfa\xf9\x51\x5b\x5b\x7b\x39\x0a\xaf\xb2\x6f\x78\x76\xe5\x11\x75\xaf\x9a\xea\xd7\xb2\x25\x22\x16\x0b\x37\x47\x9d\x7c\x8c\x66\x3b\x0f\x3e\x33\x04\xd2\xd4\x07\xc9\x4f\xa6\x6b\x78\xd2\x9d\xc7\x19\xef\x3e\x33\x92\xb6\x74\x5c\x2a\x9f\x19\x6c\x78\x68\x59\x82\x57\xd2\xb5\xa2\xd9\x2f\xbb\x06\xbe\x2b\xe3\x78\x40\x4a\x12\x72\xfe\x01\x1d\x06\xee\x59\x31\x99\xee\xbe\xa4\x30\x1f\x4b\x62\x7a\xd4\xfc\xa3\x86\xe5\xa2\xa1\xd2\x0f\xde\xb0\x8c\x1c\x22\xd5\xbc\x29\xf8\xd6\xe2\x18\x6b\xd8\x4e\x0f\x66\x28\x38\x52\x2f\x79\x02\x1b\x15\x97\xbd\x22\x18\x54\xb9\x04\x20\x0c\xbf\xcf\x31\xc9\xa8\xf7\x3c\xca\x44\x87\xe7\x3a\x74\xf2\xee\x45\x2a\xc2\x17\x11\xa0\x0f\xda\x50\xcb\xf9\x39\xce\x85\x61\xe3\xf6\x7a\xf1\x2b\xcf\xd0\x9b\x01\xa2\xb4\x7b\x1d\xa3\xef\x0c\xcf\xc7\x85\xf8\xe8\xd2\x40\xda\x73\x99\x07\x56\xcb\x9a\xd7\x79\x50\xf3\xe5\xc0\x42\x5b\x37\x42\xd5\x5b\x63\xf1\xee\x3c\x21\xd1\x74\xe2\x87\xf4\xf9\x91\x5a\x6d\xd3\xc8\x78\xbf\xc6\x45\x89\xdd\x67\xc2\xaf\xe8\x65\x81\x2b\x51\x5e\x67\x0f\x1d\xf0\xe6\x92\x45\x37\x3f\x08\x6b\xde\x8d\xf1\x40\xa5\xf3\x82\xe8\x5d\xae\xfc\x36\x04\x1f\xfe\x8f\x75\xbf\x62\xfc\xe8\x7f\x64\xb6\xbd\x13\xd2\xbd\x70\xdc\x9d\x34\x3c\x69\x72\x97\xbb\x2e\x36\xd4\x70\x34\x31\xf9\x70\xbe\xe3\x61\xea\x33\xca\xc2\x3f\x6f\x28\x0b\xec\x16\x2e\x26\xa2\x2b\xb9\x39\x80\x72\x73\x10\x93\x76\xbd\x0e\x3d\xcc\xe2\x7f\x5b\x82\xe7\x4f\x2d\xb8\xba\xaa\xe1\x6b\x12\xf5\x05\xbc\xea\x29\xeb\x24\xe9\x78\xf0\xa9\x21\x9e\x5d\xd2\x8f\xf3\x37\x66\x36\xd6\x07\xb9\x23\x8b\xf3\x75\x5b\xc9\x82\x6a\xc9\x77\xd2\xc8\xce\x79\xd5\xf7\x3f\x65\x97\xcc\x88\xe4\xf7\xc2\xd1\x78\xa6\x96\xc9\x6b\x2e\xba\x2b\x6f\x23\xe2\xdf\xcb\xe0\xeb\x73\x84\x7b\x66\x7f\x7e\xa8\x64\x9e\x96\x91\x77\x56\x78\x51\x85\xea\x92\x5b\x2f\x7a\xa9\xac\x45\x90\xde\xd4\x10\xb9\x26\xb8\x10\x51\x95\x4e\xa5\x12\xc6\xa4\x24\x19\xa4\x1a\x94\x71\x8a\x8f\x41\x2f\x9b\xb1\x57\x8c\xc3\x36\x9f\x6b\x16\x19\xb2\x4b\x17\x15\x78\xbd\xd6\x7b\x02\xc0\x15\x49\xba\xaa\xe1\x8a\x8c\xa2\xcf\x22\xf9\x6a\x2f\xb7\x79\xc4\x20\x9f\x80\x16\xdf\x06\x3f\x7e\x53\x46\xa3\xf3\x05\x84\xbd\x09\x8c\x63\xc2\xe0\xf6\x6a\x3d\xf1\xe6\x36\x81\xc7\xd7\xd2\xc0\x82\x08\x6d\xd8\xd5\x39\xf9\xf9\x02\x67\xe1\x06\x4b\x73\xad\xaa\x5b\xae\xd8\x7c\xdd\x54\xae\x3d\x3c\x58\xd4\xc1\xc1\xd1\x9f\x66\xf6\xf9\x84\xc1\x16\xce\x70\xc9\x46\x0b\x0e\x32\x77\x2c\x5e\x16\xb2\xf2\x8b\x49\xc7\xdd\xad\x44\x34\xff\xb2\xaf\x88\xc7\x70\xdb\x7d\x59\x1e\x6e\xf2\x34\x61\xd8\xc9\x1b\x1d\x12\xbf\xd0\x21\xcd\xbf\x13\x87\x2f\x17\x7f\x12\x4c\x4d\xcc\xed\x2c\xf4\x6f\x75\xf9\xcd\xa2\xdb\x89\x86\xfd\xcb\x97\xfc\xc0\x37\xa8\xeb\xad\xeb\x8c\xc5\xce\xb8\x29\xb3\x1d\x62\xb1\x66\x86\xbb\x70\xf9\x97\xf0\xfb\xd5\x7b\xb4\xd6\x93\xef\x7e\xf1\xc1\xf6\xf4\xf0\xd6\xf3\xf7\xd7\x3a\x5c\xfd\xb1\xec\x0c\x18\xb3\x25\x73\x7f\xa7\xdf\xc8\x4c\x8a\x1b\x53\x3f\x50\xd6\x4c\xda\x84\xb8\xbb\x14\xbe\x87\x9e\x06\x27\x33\x6c\xd1\x79\x20\x22\x4d\x16\x91\x07\x99\x32\xd1\xbf\x44\x55\xae\x31\x2e\x62\x48\x3b\x51\x54\xc3\x83\x5c\x17\x03\x1d\x6c\xfd\x28\xd8\xc8\xa2\x27\x87\x1e\xbc\xdf\xe9\x70\xa0\x7d\x4b\x79\xb8\x99\x0b\x25\xbf\xe0\xf5\xdb\x29\xeb\x6a\x90\xb3\x96\xb0\x68\xe4\xeb\x93\x49\x66\x79\x3b\xa3\x7a\xb5\x2f\xf1\xfd\x05\x7c\x83\x83\x26\x5c\xa6\xf9\x4f\x16\x9b\x14\xe6\x5b\xaa\xf2\xa2\x5e\x48\x43\x7f\xb9\x83\xaf\x79\x12\x06\x6a\x1c\x07\xaf\x24\x03\x95\xa6\x78\x66\x26\xcf\x44\x41\xee\xdb\xa8\xb4\xca\xe5\x32\xff\x5d\xe4\x45\x84\x77\x26\xbd\xcf\x2d\x04\x9c\x7c\x24\x2e\x7e\x86\x7f\x1e\x31\xe0\xbf\x76\xc7\x94\xa6\x78\x73\x7d\x7d\x30\xe9\x98\x5b\x32\xfc\xfa\x3f\x67\xec\x4d\x6f\x74\xf9\xeb\x45\x0a\x88\xd7\xa3\x8e\x09\xc3\x75\xc9\xa4\xf9\x2f\x1a\xfb\xa6\xfa\x5f\x00\x00\x00\xff\xff\x87\x60\x23\x9c\x84\x19\x00\x00") func runtimeHelpPluginsMdBytes() ([]byte, error) { return bindataRead( diff --git a/runtime/help/plugins.md b/runtime/help/plugins.md index efdcec5b..555ef180 100644 --- a/runtime/help/plugins.md +++ b/runtime/help/plugins.md @@ -127,6 +127,9 @@ called `test`, you would create the `test.md` file for example, and runt the fun AddRuntimeFile("test", "help", "test.md") ``` +Use `AddRuntimeFilesFromDirectory(name, type, dir, pattern)` to add a number of files +to the runtime. + # Autocomplete command arguments See this example to learn how to use `MakeCompletion` and `MakeCommand` From 0ae5ae5d9a9d6778308965b18dc4ef0879b3c561 Mon Sep 17 00:00:00 2001 From: Zachary Yedidia Date: Tue, 27 Sep 2016 14:29:55 -0400 Subject: [PATCH 6/6] HSplit log, and update docs --- cmd/micro/command.go | 2 +- cmd/micro/runtime.go | 2 +- runtime/help/commands.md | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/cmd/micro/command.go b/cmd/micro/command.go index d1ef2c53..7d02572d 100644 --- a/cmd/micro/command.go +++ b/cmd/micro/command.go @@ -92,7 +92,7 @@ func DefaultCommands() map[string]StrCommand { func ToggleLog(args []string) { buffer := messenger.getBuffer() if CurView().Type != vtLog { - CurView().VSplit(buffer) + CurView().HSplit(buffer) CurView().Type = vtLog } else { CurView().Quit(true) diff --git a/cmd/micro/runtime.go b/cmd/micro/runtime.go index 8e7828f0..f5c66d65 100644 --- a/cmd/micro/runtime.go +++ b/cmd/micro/runtime.go @@ -401,7 +401,7 @@ func runtimeHelpColorsMd() (*asset, error) { return a, nil } -var _runtimeHelpCommandsMd = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x8c\x55\xc1\x8e\x1b\x37\x0c\xbd\xfb\x2b\x1e\xdc\xc3\x26\xc5\xee\x7c\x80\x2f\x45\x51\x14\x68\x81\xb4\x68\x9b\x5c\x7a\x93\x3c\xc3\x19\x09\xd6\x88\x13\x51\xb2\x33\xfd\xfa\x82\x92\xd6\xbb\xc9\xf6\xd0\x9b\x2d\x3d\x3e\x3e\x91\x8f\x9c\xef\xf0\x07\x8b\xf8\x73\x20\x8c\xbc\xae\x36\x4e\x72\x38\xfc\xcd\x05\xa3\x8d\xa0\x2f\x34\x96\x4c\xd0\x9f\x93\xcf\x9c\x9e\x31\x38\xef\xd8\x12\x89\xf8\xb8\xc0\xfc\x94\x53\x78\x22\x83\x99\x43\xe0\x1b\xd5\xdb\xec\xee\x84\xc3\xe1\x17\x4a\x04\x9b\xa8\x9e\x6e\xdf\xe6\x43\x76\x36\x63\xef\x39\x8b\xd0\x70\x38\x7c\x0f\xf3\xb9\xf8\x6c\x4e\xf8\xb3\xf8\x2c\x58\xfd\x98\xb8\x9d\x8b\xbd\x12\x66\x1f\x28\xda\x95\x7e\x30\x27\x7c\xb4\x57\x92\x96\xb0\xa4\x44\x31\xe3\x5c\xe6\x99\xd2\x80\x5f\xe7\x7a\xfc\x0c\x86\x17\x6c\x89\xaf\x7e\xa2\x09\x3e\xe3\xe6\x43\x38\x00\x78\xa8\x94\x56\x1e\xbe\x42\xb7\x6c\x89\xb6\x60\x47\xc2\x51\xc8\xa6\xd1\x1d\x71\xbc\xda\x50\xe8\x88\x39\xd8\x45\xcc\x09\x9f\x9c\x97\xca\x84\x67\xa8\x69\x50\x83\x9b\xcf\x0e\xa6\xe2\xcd\x00\xcd\xf4\xc9\x11\x4c\x8b\xac\xf5\xe0\x2d\x7b\x8e\x36\x0c\x7a\xf9\x63\x46\x56\xb2\x8d\x7d\xcc\x8f\xaa\x25\x55\xc9\x1c\xc3\x0e\x8e\x54\x53\x9e\x60\x46\xf3\x88\x9b\xf3\xa3\x03\x45\x7b\x0e\x24\x30\xa3\xa3\xf1\x62\xb0\xf2\x44\x35\x4f\xbb\xb6\x72\x11\xf8\x59\x4b\xfb\x30\x21\xf8\x0b\x21\x33\x36\x4a\x33\xa7\xb5\xbe\xb5\x4b\x5e\xb5\x68\x64\x47\x87\xec\x57\x3a\x28\xc3\xef\x9c\xa9\x35\xe6\xfe\x9c\xb5\x48\xc6\x99\x60\x71\xb5\xc1\x4f\x48\xb4\xd0\x97\x01\x5a\x65\x55\xc7\xad\xd8\x36\x2d\x45\xf9\x44\x59\x26\x26\x41\xe4\x0c\x57\x2b\x1c\x77\xc8\x66\x47\x12\xf8\x08\x9f\x1f\x6b\xd3\x57\xbb\x83\x57\x9f\x6b\xf4\xe7\xc2\x99\xa4\x37\x9a\x72\x2f\x10\x5a\x0d\x4f\x10\xca\xad\xd3\xfd\x3c\x73\xbb\x1a\xf0\x91\x9a\xbb\x4c\xbb\x11\x03\x47\x61\x43\xe6\xcd\x8f\xaa\x64\xe6\x04\x8b\xe0\x25\xab\xd0\x0e\xba\x9b\x4e\x28\xdf\x73\x06\x1e\x6d\xf8\xbf\x89\x51\xd1\x61\xc7\xbb\xda\x25\x1f\x5f\xfb\x50\xf3\x36\x2b\xbe\xef\xec\x8e\x6f\x9d\x41\x39\x1d\xdf\xbe\xf6\x6d\xa3\xec\x85\x5c\xfc\x95\x62\x47\xb7\x70\xba\xda\x80\x23\x7d\x69\x93\xc7\xf1\x68\x4e\xf8\x59\x63\x6c\x26\x81\xc5\x87\x62\xf1\x72\x3b\xbc\xea\x61\x1d\x9f\xe6\xd2\xc8\x55\xd7\x96\x7c\xcc\xda\x91\xec\x74\x86\x85\x6b\x2d\xc4\x71\x09\x93\xce\x20\xcc\x4a\x22\x14\x17\x4a\xa7\xdf\x48\xc4\x2e\xf4\x6e\x18\x86\xf7\x46\x9f\x3e\x79\xd9\x82\xdd\x61\x95\xa9\x35\xa0\x0d\x4b\x89\x10\xf7\xd4\x07\xdb\x9c\x90\x4a\x94\x57\x8f\x11\x47\x21\xdc\x77\x48\x2f\xd6\xd9\x8e\x97\x25\x71\x89\xd3\x50\xe7\x43\x39\x3b\xe4\x41\xc0\x25\x6f\xa5\x8d\xaa\x7a\xaf\x67\xa6\x1a\xad\xae\x0b\x3e\x12\x6e\x8e\xd4\x4f\x98\x7d\xf4\xe2\x48\x34\x6f\xf4\x71\x69\xaa\xce\x3e\x4e\xb8\xd0\x0e\x3b\xf6\xca\x8f\x89\x7a\xc9\x2e\xb4\xeb\xb5\x96\x60\x4e\xbc\x56\x58\xe6\x8e\x7c\x71\x95\xd0\xd8\x0c\xc3\x51\xe5\xbd\x44\x09\xec\x99\x75\x1f\x71\xc2\xca\x3a\xaf\x71\x66\x3d\x53\xcd\x5a\xf9\x0b\xed\x02\x7d\xad\xed\x0c\x3a\xf6\xf6\x6a\x7d\xd0\xd1\x6d\x02\xaf\xb2\x85\xaa\xbe\x2d\x1e\x73\x02\x6f\xa4\x50\x5c\x29\x65\xaf\x76\x6c\x88\xb6\x50\xee\xb8\xba\xe0\x22\xbf\xde\x6f\xad\xb5\x6d\xc5\x3d\xbe\x25\xd0\x6d\xb2\x51\xa4\xa9\x51\xe9\x5e\x5f\xb7\xbc\x77\x97\x56\x31\xee\x8d\x18\x51\x6a\x2b\xcf\x3a\x0d\xce\x25\xdf\x15\x3a\x4e\xfe\x1f\x8e\xf9\x25\x45\x94\x4c\x76\x02\xcf\xaa\xe5\x5b\x05\x35\x45\xb6\xe7\xb7\x8f\x7d\x71\x89\x5e\x69\x7b\x2d\x22\xdd\x90\xed\x79\x38\x1c\x9e\x9e\x9e\x0e\x07\x75\x47\xfb\xc6\x68\xbf\xee\x9f\x0f\xad\xe8\x7d\xad\xf7\x4f\xcf\x44\xb3\x2d\x21\x63\x0b\x65\xf1\x51\x4e\x35\x6f\xf0\x51\xbf\x28\x1f\xd4\xf9\xaf\xc7\xae\x26\xd4\x0e\x52\x4a\x9c\xfa\xf6\x59\x78\x5e\x15\xfd\x57\x89\xa8\xbf\xc1\xf1\x4d\xd4\x33\xd4\xaf\x1b\xa7\x2c\x77\x78\xff\xff\xdf\x21\xff\x06\x00\x00\xff\xff\x95\xdb\x99\xe7\x73\x07\x00\x00") +var _runtimeHelpCommandsMd = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x8c\x55\x4d\x8f\xdb\x36\x10\xbd\xfb\x57\x3c\x6c\x0f\x9b\x14\xbb\xfa\x01\xbe\x14\x45\x51\xa0\x05\xd2\xa2\x6d\x72\xe9\x8d\x94\x34\x92\x08\x53\x1c\x85\x33\xb4\xe3\xfe\xfa\x62\x48\xad\xd7\xc9\xf6\xd0\x9b\x2d\xbe\x79\xf3\xf8\xe6\x83\xdf\xe1\x0f\x16\x09\x7d\x24\x0c\xbc\xae\x3e\x8d\x72\x38\xfc\xcd\x05\x83\x4f\xa0\x2f\x34\x14\x25\xd8\xcf\x31\x28\xe7\x17\x0c\xfa\x2b\xb6\x4c\x22\x21\xcd\x70\x3f\x69\x8e\xcf\xe4\x30\x71\x8c\x7c\xa1\x7a\xaa\xcb\x8d\xb0\x3b\xfc\x42\x99\xe0\x33\xd5\xaf\xdb\xb7\xf9\xa0\x8b\x57\x5c\xf7\x9c\x45\xa8\x3b\x1c\xbe\x87\xfb\x5c\x82\xba\x23\xfe\x2c\x41\x05\x6b\x18\x32\xb7\xef\xe2\xcf\x84\x29\x44\x4a\x7e\xa5\x1f\xdc\x11\x1f\xfd\x99\xa4\x25\x2c\x39\x53\x52\xf4\x65\x9a\x28\x77\xf8\x75\xaa\x9f\x5f\xc0\x08\x82\x2d\xf3\x39\x8c\x34\x22\x28\x2e\x21\xc6\x03\x80\xc7\x4a\xe9\xe5\xf1\x2b\x74\xcb\x96\x69\x8b\x7e\x20\x3c\x08\xf9\x3c\x2c\x0f\x78\x38\xfb\x58\xe8\x01\x53\xf4\xb3\xb8\x23\x3e\x2d\x41\x2a\x13\x5e\xa0\xae\x41\x1d\x2e\x41\x17\xb8\x8a\x77\x1d\x2c\xd3\xa7\x85\xe0\x5a\x64\xf5\x83\x37\x0d\x9c\x7c\xec\xec\xf0\x47\x85\x1a\xd9\xc6\x21\xe9\x93\x69\xc9\x55\x32\xa7\x78\x05\x27\xaa\x29\x8f\x70\x83\x7b\xc2\x65\x09\xc3\x02\x4a\xbe\x8f\x24\x70\xc3\x42\xc3\xc9\x61\xe5\x91\x6a\x9e\x76\xec\xe5\x24\x08\x93\x59\xfb\x38\x22\x86\x13\x41\x19\x1b\xe5\x89\xf3\x5a\xef\xba\x4b\x5e\xcd\x34\xf2\xc3\x02\x0d\x2b\x1d\x8c\xe1\x77\x56\x6a\x85\xb9\x5d\x67\x2d\xa2\xe8\x09\x1e\x67\x1f\xc3\x88\x4c\x33\x7d\xe9\x60\x2e\x9b\x3a\x6e\x66\xfb\x3c\x17\xe3\x13\x63\x19\x99\x04\x89\x15\x4b\x75\x38\x5d\x21\x9b\x1f\x48\x10\x12\x82\x3e\xd5\xa2\xaf\xfe\x0a\x5e\x83\xd6\xe8\xcf\x85\x95\x64\x2f\x34\xe9\x6e\x10\x9a\x87\x47\x08\x69\xab\xf4\xfe\x5d\xb9\x1d\x75\xf8\x48\xad\xbb\x5c\x3b\x11\x87\x85\xe2\x06\xe5\x2d\x0c\xa6\x64\xe2\x0c\x8f\x18\x44\x4d\xe8\x0e\xba\x35\x9d\x90\xde\x72\x46\x1e\x7c\xfc\xbf\x89\x51\xd1\xf1\x8a\x77\xb5\x4a\x21\xdd\xf7\xa1\xe5\x6d\xad\xf8\x7e\x67\x5f\xf8\xb2\x33\x18\xe7\xc2\x97\xaf\xfb\xb6\x51\xee\x46\xce\xe1\x4c\x69\x47\xb7\x70\x3a\xfb\x88\x07\xfa\xd2\x26\x8f\xd3\x83\x3b\xe2\x67\x8b\xf1\x4a\x02\x8f\x0f\xc5\xe3\xf5\xb4\xbb\xab\x61\x1d\x9f\xd6\xa5\x89\xab\xae\x2d\x87\xa4\x56\x11\x5d\x6c\x86\x85\xab\x17\xb2\x70\x89\xa3\xcd\x20\xdc\x4a\x22\x94\x66\xca\xc7\xdf\x48\xc4\xcf\xf4\xae\xeb\xba\xf7\xce\xae\x3e\x06\xd9\xa2\xbf\xc2\x1b\x53\x2b\x40\x1b\x96\x92\x20\xcb\xf3\x3e\xd8\xee\x88\x5c\x92\xdc\x5d\x46\x16\x8a\xf1\xb6\x43\x76\xb3\x7a\x3f\x9c\xe6\xcc\x25\x8d\x5d\x9d\x0f\xe3\xdc\x21\x8f\x02\x2e\xba\x95\x36\xaa\xd6\x7b\x7b\x66\xaa\xd1\xd6\x75\x31\x24\xc2\x65\x21\xeb\x27\x4c\x21\x05\x59\x48\x2c\x6f\x0a\x69\x6e\xaa\xfa\x90\x46\x9c\xe8\x0a\x3f\xec\xce\x0f\x99\x76\xcb\x4e\x74\xb5\x63\xb3\x60\xca\xbc\x56\x98\xf2\x8e\x7c\xed\x2a\xa1\xa1\x35\x0c\x27\x93\xf7\x1a\x25\xf0\x3d\xdb\x3e\xe2\x8c\x95\x6d\x5e\xd3\xc4\xf6\xcd\x34\x9b\xf3\x27\xba\x0a\xec\xb6\x7e\x67\xb0\xb1\xf7\x67\x1f\xa2\x8d\x6e\x13\x78\x96\x2d\x56\xf5\x6d\xf1\xb8\x23\x78\x23\x83\xe2\x4c\x59\x83\xb5\x63\x43\xb4\x85\x72\xc3\xd5\x05\x97\xf8\x7e\xbf\xb5\xd2\xb6\x15\xf7\xf4\x96\xc0\xb6\xc9\x46\x89\xc6\x46\x65\x7b\x7d\xdd\xf4\xba\x77\x69\x15\xb3\xbc\x11\x23\x46\xed\xe5\x45\xa7\x43\x5f\xf4\xa6\x70\xe1\x1c\xfe\xe1\xa4\xaf\x29\x92\x28\xf9\x11\x3c\x99\x96\x6f\x15\xd4\x14\xea\xfb\xb7\x97\x7d\xed\x12\x3b\xb2\xf2\x7a\x24\xba\x40\x7d\xdf\x5c\x8a\x3c\xdf\x39\x13\x79\xb6\x41\xf1\x31\x62\x6d\xed\xd9\x6c\x1e\xa9\x2f\x33\x44\xbd\x52\xdb\x42\x87\xe7\xe7\xe7\xc3\xc1\x1a\xab\x3d\x4f\x56\xea\xdb\xcb\x63\xc5\xb8\xbd\x08\xfb\xab\x35\xd2\xe4\x4b\x54\x6c\xb1\xcc\x21\xc9\xb1\x25\x0f\xc9\x1e\xa3\x0f\x36\x34\xf7\x13\x5b\xb5\x5a\xf1\x29\x67\xce\xfb\xe2\x9a\x79\x5a\x0d\xfd\x57\x49\xa8\xbf\xc1\xe9\x4d\xd4\x0b\x34\xac\x1b\x67\x95\x1b\x7c\xff\xff\xdf\x21\xff\x06\x00\x00\xff\xff\x59\x07\x55\x65\xae\x07\x00\x00") func runtimeHelpCommandsMdBytes() ([]byte, error) { return bindataRead( diff --git a/runtime/help/commands.md b/runtime/help/commands.md index aacbdbb5..0eff5e69 100644 --- a/runtime/help/commands.md +++ b/runtime/help/commands.md @@ -42,6 +42,8 @@ Here are the possible commands that you can use. * `tab filename`: opens the given file in a new tab. +* `log`: opens a log of all messages and debug statements + --- The following commands are provided by the default plugins: