diff --git a/cmd/micro/bindings.go b/cmd/micro/bindings.go index fdd8fc19..be2f97da 100644 --- a/cmd/micro/bindings.go +++ b/cmd/micro/bindings.go @@ -71,9 +71,13 @@ func InitBindings() { "HalfPageDown": (*View).HalfPageDown, "StartOfLine": (*View).StartOfLine, "EndOfLine": (*View).EndOfLine, + "ToggleHelp": (*View).ToggleHelp, "ToggleRuler": (*View).ToggleRuler, "JumpLine": (*View).JumpLine, "ClearStatus": (*View).ClearStatus, + "ShellMode": (*View).ShellMode, + "CommandMode": (*View).CommandMode, + "Quit": (*View).Quit, } keys := map[string]Key{ @@ -303,13 +307,14 @@ func DefaultBindings() map[string]string { "End": "End", "PgUp": "PageUp", "PgDn": "PageDown", - // Find alternative key - // "CtrlU": "HalfPageUp", - // "CtrlD": "HalfPageDown", - "CtrlR": "ToggleRuler", - "CtrlL": "JumpLine", - "Delete": "Delete", - "Esc": "ClearStatus", + "CtrlG": "ToggleHelp", + "CtrlR": "ToggleRuler", + "CtrlL": "JumpLine", + "Delete": "Delete", + "Esc": "ClearStatus", + "CtrlB": "ShellMode", + "CtrlQ": "Quit", + "CtrlE": "CommandMode", // Emacs-style keybindings "Alt-f": "WordRight", @@ -625,6 +630,10 @@ func (v *View) InsertTab() bool { // Save the buffer to disk func (v *View) Save() bool { + if v.helpOpen { + // We can't save the help text + return false + } // If this is an empty buffer, ask for a filename if v.Buf.Path == "" { filename, canceled := messenger.Prompt("Filename: ") @@ -894,6 +903,53 @@ func (v *View) ClearStatus() bool { return false } +// ToggleHelp toggles the help screen +func (v *View) ToggleHelp() bool { + if !v.helpOpen { + v.lastBuffer = v.Buf + helpBuffer := NewBuffer(helpTxt, "help.md") + helpBuffer.Name = "Help" + v.helpOpen = true + v.OpenBuffer(helpBuffer) + } else { + v.OpenBuffer(v.lastBuffer) + v.helpOpen = false + } + return true +} + +// ShellMode opens a terminal to run a shell command +func (v *View) ShellMode() bool { + input, canceled := messenger.Prompt("$ ") + if !canceled { + // The true here is for openTerm to make the command interactive + HandleShellCommand(input, true) + } + return false +} + +// CommandMode lets the user enter a command +func (v *View) CommandMode() bool { + input, canceled := messenger.Prompt("> ") + if !canceled { + HandleCommand(input) + } + return false +} + +// Quit quits the editor +// This behavior needs to be changed and should really only quit the editor if this +// is the last view +// However, since micro only supports one view for now, it doesn't really matter +func (v *View) Quit() bool { + // Make sure not to quit if there are unsaved changes + if views[mainView].CanClose("Quit anyway? (yes, no, save) ") { + screen.Fini() + os.Exit(0) + } + return false +} + // None is no action func None() bool { return false diff --git a/cmd/micro/command.go b/cmd/micro/command.go index dac6ed58..6fae23bf 100644 --- a/cmd/micro/command.go +++ b/cmd/micro/command.go @@ -24,10 +24,13 @@ func RunShellCommand(input string) (string, error) { return outstring, err } -// HandleShellCommand runs the shell command and outputs to DisplayBlock -func HandleShellCommand(input string, view *View, openTerm bool) { +// HandleShellCommand runs the shell command +// The openTerm argument specifies whether a terminal should be opened (for viewing output +// or interacting with stdin) +func HandleShellCommand(input string, openTerm bool) { inputCmd := strings.Split(input, " ")[0] if !openTerm { + // Simply run the command in the background and notify the user when it's done messenger.Message("Running...") go func() { output, err := RunShellCommand(input) @@ -42,19 +45,24 @@ func HandleShellCommand(input string, view *View, openTerm bool) { } else { messenger.Message(output) } - Redraw(view) + // We have to make sure to redraw + RedrawAll() }() } else { + // Shut down the screen because we're going to interact directly with the shell screen.Fini() screen = nil args := strings.Split(input, " ")[1:] + // Set up everything for the command cmd := exec.Command(inputCmd, args...) cmd.Stdin = os.Stdin cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr + // This is a trap for Ctrl-C so that it doesn't kill micro + // Instead we trap Ctrl-C to kill the program we're running c := make(chan os.Signal, 1) signal.Notify(c, os.Interrupt) go func() { @@ -63,51 +71,52 @@ func HandleShellCommand(input string, view *View, openTerm bool) { } }() + // Start the command cmd.Start() cmd.Wait() + // This is just so we don't return right away and let the user press enter to return TermMessage("") + // Start the screen back up InitScreen() } } // HandleCommand handles input from the user -func HandleCommand(input string, view *View) { +func HandleCommand(input string) { inputCmd := strings.Split(input, " ")[0] args := strings.Split(input, " ")[1:] - commands := []string{"set", "quit", "save", "replace", "run"} - - i := 0 - cmd := inputCmd - - for _, c := range commands { - if strings.HasPrefix(c, inputCmd) { - i++ - cmd = c - } - } - if i == 1 { - inputCmd = cmd - } - switch inputCmd { case "set": - SetOption(view, args) + // Set an option and we have to set it for every view + for _, view := range views { + SetOption(view, args) + } case "run": - HandleShellCommand(strings.Join(args, " "), view, false) + // Run a shell command in the background (openTerm is false) + HandleShellCommand(strings.Join(args, " "), false) case "quit": - if view.CanClose("Quit anyway? (yes, no, save) ") { + // This is a bit weird because micro only has one view for now so there is no way to close + // a single view + // Currently if multiple views were open, it would close all of them, and not check the non-mainviews + // for unsaved changes. This, and the behavior of Ctrl-Q need to be changed when splits are implemented + if views[mainView].CanClose("Quit anyway? (yes, no, save) ") { screen.Fini() os.Exit(0) } case "save": - view.Save() + // Save the main view + views[mainView].Save() case "replace": + // This is a regex to parse the replace expression + // We allow no quotes if there are no spaces, but if you want to search + // for or replace an expression with spaces, you can add double quotes r := regexp.MustCompile(`"[^"\\]*(?:\\.[^"\\]*)*"|[^\s]*`) replaceCmd := r.FindAllString(strings.Join(args, " "), -1) if len(replaceCmd) < 2 { + // We need to find both a search and replace expression messenger.Error("Invalid replace statement: " + strings.Join(args, " ")) return } @@ -121,6 +130,7 @@ func HandleCommand(input string, view *View) { search := string(replaceCmd[0]) replace := string(replaceCmd[1]) + // If the search and replace expressions have quotes, we need to remove those if strings.HasPrefix(search, `"`) && strings.HasSuffix(search, `"`) { search = search[1 : len(search)-1] } @@ -128,17 +138,19 @@ func HandleCommand(input string, view *View) { replace = replace[1 : len(replace)-1] } + // We replace all escaped double quotes to real double quotes search = strings.Replace(search, `\"`, `"`, -1) replace = strings.Replace(replace, `\"`, `"`, -1) - // messenger.Error(search + " -> " + replace) - regex, err := regexp.Compile(search) if err != nil { + // There was an error with the user's regex messenger.Error(err.Error()) return } + view := views[mainView] + found := false for { match := regex.FindStringIndex(view.Buf.String()) @@ -150,7 +162,7 @@ func HandleCommand(input string, view *View) { // The 'check' flag was used Search(search, view, true) view.Relocate() - Redraw(view) + RedrawAll() choice, canceled := messenger.YesNoPrompt("Perform replacement? (y,n)") if canceled { if view.Cursor.HasSelection() { diff --git a/cmd/micro/micro.go b/cmd/micro/micro.go index 718d220d..ab84834c 100644 --- a/cmd/micro/micro.go +++ b/cmd/micro/micro.go @@ -30,7 +30,8 @@ var ( // Object to send messages and prompts to the user messenger *Messenger - // The default style + // The default highlighting style + // This simply defines the default foreground and background colors defStyle tcell.Style // Where the user's configuration is @@ -38,20 +39,25 @@ var ( // If $XDG_CONFIG_HOME is not set, it is ~/.config/micro configDir string - // Version is the version number. + // Version is the version number or commit hash // This should be set by the linker Version = "Unknown" - // Is the help screen open - helpOpen = false - // L is the lua state + // This is the VM that runs the plugins L *lua.LState + + // The list of views + views []*View + // This is the currently open view + // It's just an index to the view in the views array + mainView int ) // LoadInput loads the file input for the editor func LoadInput() (string, []byte, error) { // There are a number of ways micro should start given its input + // 1. If it is given a file in os.Args, it should open that // 2. If there is no input file and the input is not a terminal, that means @@ -85,15 +91,15 @@ func LoadInput() (string, []byte, error) { return filename, input, err } -// InitConfigDir finds the configuration directory for micro according to the -// XDG spec. +// InitConfigDir finds the configuration directory for micro according to the XDG spec. // If no directory is found, it creates one. func InitConfigDir() { xdgHome := os.Getenv("XDG_CONFIG_HOME") if xdgHome == "" { + // The user has not set $XDG_CONFIG_HOME so we should act like it was set to ~/.config home, err := homedir.Dir() if err != nil { - TermMessage("Error finding your home directory\nCan't load syntax files") + TermMessage("Error finding your home directory\nCan't load config files") return } xdgHome = home + "/.config" @@ -101,6 +107,7 @@ func InitConfigDir() { configDir = xdgHome + "/micro" if _, err := os.Stat(xdgHome); os.IsNotExist(err) { + // If the xdgHome doesn't exist we should create it err = os.Mkdir(xdgHome, os.ModePerm) if err != nil { TermMessage("Error creating XDG_CONFIG_HOME directory: " + err.Error()) @@ -108,6 +115,7 @@ func InitConfigDir() { } if _, err := os.Stat(configDir); os.IsNotExist(err) { + // If the micro specific config directory doesn't exist we should create that too err = os.Mkdir(configDir, os.ModePerm) if err != nil { TermMessage("Error creating configuration directory: " + err.Error()) @@ -150,6 +158,7 @@ func InitScreen() { Background(tcell.ColorDefault) // There may be another default style defined in the colorscheme + // In that case we should use that one if style, ok := colorscheme["default"]; ok { defStyle = style } @@ -158,10 +167,12 @@ func InitScreen() { screen.EnableMouse() } -// Redraw redraws the screen and the given view -func Redraw(view *View) { +// RedrawAll redraws everything -- all the views and the messenger +func RedrawAll() { screen.Clear() - view.Display() + for _, v := range views { + v.Display() + } messenger.Display() screen.Show() } @@ -184,6 +195,7 @@ func main() { L = lua.NewState() defer L.Close() + // Some encoding stuff in case the user isn't using UTF-8 encoding.Register() tcell.SetEncodingFallback(tcell.EncodingFallbackASCII) @@ -203,6 +215,7 @@ func main() { // This is just so if we have an error, we can exit cleanly and not completely // mess up the terminal being worked in + // In other words we need to shut down tcell before the program crashes defer func() { if err := recover(); err != nil { screen.Fini() @@ -214,10 +227,12 @@ func main() { }() messenger = new(Messenger) - view := NewView(buf) + views = make([]*View, 1) + views[0] = NewView(buf) L.SetGlobal("OS", luar.New(L, runtime.GOOS)) - L.SetGlobal("view", luar.New(L, view)) + L.SetGlobal("views", luar.New(L, views)) + L.SetGlobal("mainView", luar.New(L, mainView)) L.SetGlobal("messenger", luar.New(L, messenger)) L.SetGlobal("GetOption", luar.New(L, GetOption)) L.SetGlobal("AddOption", luar.New(L, AddOption)) @@ -226,54 +241,18 @@ func main() { for { // Display everything - Redraw(view) + RedrawAll() // Wait for the user's action event := screen.PollEvent() if searching { - HandleSearchEvent(event, view) + // Since searching is done in real time, we need to redraw every time + // there is a new event in the search bar + HandleSearchEvent(event, views[mainView]) } else { - // Check if we should quit - switch e := event.(type) { - case *tcell.EventKey: - switch e.Key() { - case tcell.KeyCtrlQ: - // Make sure not to quit if there are unsaved changes - if helpOpen { - view.OpenBuffer(buf) - helpOpen = false - } else { - if view.CanClose("Quit anyway? (yes, no, save) ") { - screen.Fini() - os.Exit(0) - } - } - case tcell.KeyCtrlE: - input, canceled := messenger.Prompt("> ") - if !canceled { - HandleCommand(input, view) - } - case tcell.KeyCtrlB: - input, canceled := messenger.Prompt("$ ") - if !canceled { - HandleShellCommand(input, view, true) - } - case tcell.KeyCtrlG: - if !helpOpen { - helpBuffer := NewBuffer(helpTxt, "help.md") - helpBuffer.Name = "Help" - helpOpen = true - view.OpenBuffer(helpBuffer) - } else { - view.OpenBuffer(buf) - helpOpen = false - } - } - } - // Send it to the view - view.HandleEvent(event) + views[mainView].HandleEvent(event) } } } diff --git a/cmd/micro/runtime.go b/cmd/micro/runtime.go index 7aebec3b..f08836ea 100644 --- a/cmd/micro/runtime.go +++ b/cmd/micro/runtime.go @@ -175,7 +175,7 @@ func runtimeReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/README.md", size: 305, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/README.md", size: 305, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -195,7 +195,7 @@ func runtimeColorschemesDefaultMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/colorschemes/default.micro", size: 409, mode: os.FileMode(420), modTime: time.Unix(1463528404, 0)} + info := bindataFileInfo{name: "runtime/colorschemes/default.micro", size: 409, mode: os.FileMode(420), modTime: time.Unix(1464447123, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -215,7 +215,7 @@ func runtimeColorschemesSolarizedTcMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/colorschemes/solarized-tc.micro", size: 626, mode: os.FileMode(420), modTime: time.Unix(1463528404, 0)} + info := bindataFileInfo{name: "runtime/colorschemes/solarized-tc.micro", size: 626, mode: os.FileMode(420), modTime: time.Unix(1464447123, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -235,12 +235,12 @@ func runtimeColorschemesSolarizedMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/colorschemes/solarized.micro", size: 499, mode: os.FileMode(420), modTime: time.Unix(1463528404, 0)} + info := bindataFileInfo{name: "runtime/colorschemes/solarized.micro", size: 499, mode: os.FileMode(420), modTime: time.Unix(1464447123, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _runtimeHelpHelpMd = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xa4\x59\x4b\x73\x1b\xb9\x11\x3e\x7b\x7e\x05\x8a\x76\xd5\xda\x1b\x8a\xaa\x6c\xe5\xc4\x9b\x56\x92\x1f\x59\xdb\x52\x64\x39\x59\xef\xc5\x03\xce\x80\x24\x56\x33\x83\x31\x80\x91\x44\xe7\xf1\xdb\xf3\x75\x03\x98\x07\x49\x7b\x53\x15\x5d\xcc\xe9\x6e\xf4\x0b\xfd\x84\x9f\x8a\x77\xba\xb0\x46\x6c\x55\xd5\x0a\xaf\x1e\x7d\x96\x05\x80\x76\x42\x02\x60\x6b\xdd\xc8\xea\x64\x25\x9d\x2a\x19\x2f\x54\xa9\xbd\xb1\xc2\x6f\xa5\x17\x52\xd7\x4e\x78\x23\x56\x4a\x28\xe9\x76\xf4\xb3\x73\x4a\xc8\xa6\x14\xba\xf1\x9d\xf6\xfa\x5e\xcd\x45\xf6\xb0\xd5\x15\xa0\x95\x33\xc2\xcb\x3b\xdd\x6c\x84\x2c\xef\x65\xe3\xe5\x46\x09\xb3\x06\x2b\x25\xd6\x5d\x55\x89\x42\xb6\x72\xa5\x2b\x1c\x53\x8e\x10\xb5\x29\x95\x6d\x7a\x2d\xdc\x22\xcb\x9e\x3e\x7d\x2a\x3e\x3a\x1c\xcc\xb2\xab\xa6\x50\x62\x67\x3a\xb1\x95\xf7\x4a\xac\x3a\x5d\x79\x66\x15\x14\x9c\x0b\xa7\xeb\xb6\xda\x09\xe7\xa5\xf5\x42\x7b\xb1\xda\x09\xdb\x35\x0d\x89\xcf\xf2\x9a\x8d\x6c\xa5\xdf\x9e\x7a\x73\xba\x86\x7e\x0b\xff\xe8\x73\x01\xcb\xe2\xb9\x40\x92\x93\x4d\xa6\x55\x0d\x8c\x12\xaa\x6e\xfd\x0e\x92\xd6\x6b\x65\x17\xc9\x51\x6c\x96\xeb\xda\xd6\x58\xef\x44\x61\x95\xf4\x24\x22\x50\x39\xb1\xb6\xa6\x86\x0e\xa5\x6e\x96\x59\x96\xe7\x79\xf6\x4c\xe8\x75\x61\x9a\xb5\xde\x88\x7f\x09\x96\xc1\xe0\xec\x13\x2c\x29\x20\xa4\x36\xb0\x86\xec\x28\x3a\xeb\xa0\x8e\xb4\xa6\x83\x3f\x1f\xb4\xdf\x32\x58\x5a\x6b\x1e\xc4\x9d\xda\x39\xf6\x73\x6d\xe0\xf1\xe8\x98\x5f\xd4\x6e\xa5\x1b\x88\xda\xb8\x2c\xbb\xdd\x2a\xba\x0a\x1b\x98\x95\x6a\x2d\x3b\x38\xe8\x6e\x20\x99\x43\x75\x03\x4d\x13\x67\x0d\x59\x85\xd7\xa6\x21\x3f\x13\xbf\xa7\xe2\x32\xdc\xf5\xc0\xf4\x47\x71\xee\x6d\x75\xf2\x65\x29\x84\xf8\x1b\xee\x37\x01\x14\x01\x2e\x1f\x55\xd1\x79\xc8\x14\x85\xa9\x6b\x28\x97\xb0\x1b\xc2\xde\x9a\xcd\x06\x51\x30\x04\x5a\x44\xae\x08\x79\xd3\xc1\xc1\xc2\x01\x59\xf5\x87\x83\x0a\x3f\xb3\x1f\x0f\x55\x70\x74\xec\x03\x6e\x3e\x01\x0c\x01\xae\xe8\xa6\xe8\x36\x13\xf4\x2b\x41\x3f\x36\xa5\x49\x80\x1d\x8b\x53\x03\x60\x4d\x80\x97\x7a\xd0\xb6\x49\x00\xd1\x8c\xd4\x6c\x7b\x68\x6b\xd5\xbd\x86\xd7\x13\x46\xb2\x26\xaa\x52\x05\x12\xa2\xaa\x12\xb8\x20\xf0\xb9\x69\x77\x09\xf0\xc8\x80\xae\xe7\x78\x17\xbf\x45\xa5\x9b\x5e\xdf\x7b\x02\x5e\x4b\xe7\x7b\x48\x47\x90\xd7\xb2\x5a\x23\x5a\x91\x2f\x5d\x9b\x10\xe5\x14\x51\x9a\x87\x06\xa8\x6b\xfc\xfe\xd8\x06\x2e\x89\x9c\x7e\x5d\x00\xbd\x0c\xb0\x48\xf9\xda\xd4\x7c\x6d\x42\xbc\x32\x21\x89\x37\x3a\xa4\x07\x52\x2f\xea\x74\xd9\x94\x81\x24\xd2\x28\xd8\x3f\x60\x59\x0d\x3b\xba\x5c\x82\x8b\xa6\xab\x57\x88\xfc\x21\xa2\xa9\x24\x70\xe4\x86\xf8\x73\xe2\x4f\x21\x88\xb9\x74\x70\xb8\x3f\x18\x5b\x52\x7e\xd2\xbf\x8b\x8c\xd8\x8a\x4a\xad\x3d\x07\xb8\xd5\x9b\xad\x3f\xc8\x0a\x9c\xa4\xaf\x90\xdc\x44\x16\x35\x23\x20\x69\x31\x27\x60\x56\x10\xa7\xae\x65\x02\xb2\xfa\x90\xcd\xb7\x78\xf4\x49\x9e\x8c\xd8\x9a\xaa\x44\x80\x6a\x68\xc5\x09\x83\x9b\x8e\xb4\xb0\x8e\xd8\xd6\xaa\xf1\x29\x81\x48\x3d\x17\x22\x22\xd4\x3e\x10\xc0\xb1\x0b\xce\xca\xc8\xbb\x0f\x69\x51\xcb\x1d\x55\x50\xab\x56\x9c\xe9\x9d\xa3\x3b\x20\x25\xf2\xff\x9c\x2e\x42\xa9\x38\xe5\x42\x71\x9a\x8e\x2c\x7e\x77\xa6\xc9\x45\xc6\x75\x4b\x5c\xca\x62\x4b\x8e\xa5\x9a\x1d\x58\x40\x3c\x54\x0e\xca\x40\xe8\x4b\x58\xaa\x1e\x25\xca\x1a\xfc\x42\x37\x4d\x61\x9c\x87\x74\xe0\x02\x87\x33\x86\x3d\x10\x80\x5f\x19\x68\x91\x24\x73\x2e\xb0\x85\xe9\x60\x7c\xdb\x85\xfa\x9a\xad\x4d\x55\x99\x07\x52\x52\x37\x41\xcf\x3d\xbd\x58\x2d\xae\x76\xf4\x9d\xfd\x33\xa3\x00\x9a\x11\xeb\x4f\xb3\xa5\x98\x51\x3a\xce\xe6\x03\xf0\x37\x02\x52\x4a\xce\xb2\x7f\x87\x5a\xf8\x5a\xd9\x83\xd2\xe5\x96\x63\x8e\x4f\x9e\xcc\x3e\xb6\xb3\x18\x9b\xf1\x6f\x76\xce\x97\x0a\xf8\x9c\xf0\x14\xf1\x13\x8a\x88\x67\x38\x53\xdc\x50\x68\x8d\x49\x22\x45\x80\x33\xc9\x5b\x84\xe1\x31\x26\x0c\x67\x8a\x0f\x14\x13\x63\x5d\x66\xa1\x16\x24\x35\x18\x3f\xd6\x25\xe2\x07\x35\x98\x62\x2c\x28\x52\xec\xc9\x18\x6b\x1b\x29\x46\x8a\x9e\x55\x7e\xaa\xeb\xec\x1f\x48\xa6\x81\x05\xf0\x53\x73\x19\x3f\x65\x30\x15\x13\x65\x7c\x83\xac\x17\x36\x22\x1b\xa4\xd1\xb5\x4e\xd4\x99\x7d\xa0\x2c\xbb\x5a\xbf\x45\x6e\x0e\x24\x13\x8d\x66\x28\x36\xfb\x04\x13\x51\x51\xd2\xad\x39\xca\x6b\xa2\x7c\x4f\x7a\x84\xe7\x24\x6e\xe2\x75\x32\xc7\x81\x64\x12\x3a\x91\x04\x9c\xf6\x84\x25\x46\x53\xbd\xf6\x88\x12\xab\xb1\x46\x81\xe4\xb2\xc1\x60\x33\x89\xbe\x37\x8d\x53\xd6\x07\x78\xb8\xf7\x56\x16\xea\x08\x49\x80\x33\xc9\xcf\xb2\xb8\x73\x63\xb2\x11\x64\x4a\xf0\x53\x8a\x9d\x3d\x82\x5b\xb9\x9a\x26\x52\x14\x42\xf0\xde\x96\xab\x89\x16\xd4\x66\x5f\x22\xc9\x47\xb6\x4e\xf0\xd4\x97\x07\xdc\xcb\x09\x8e\x7a\xe8\x80\x7b\x7f\x80\x7b\x8f\xa6\x3b\xe0\xaf\x0f\xf0\xd7\xb1\xfd\x0e\x34\xbf\x4d\x68\x62\x75\x89\xb8\x4f\x13\x1c\x17\x99\x1e\x77\x3e\x4d\x7d\xb4\xea\x01\xf7\xeb\x5e\x59\x18\xa9\xf4\xcb\x3e\x6a\x1a\x5e\x7f\x9f\xa0\xb9\x95\x0f\xc8\xb3\xa9\x9b\x38\x24\xce\xaa\x2a\x10\x50\x43\x9e\xd6\x9a\x51\x40\x51\xd8\x4c\x6f\xa9\x0f\xa4\xeb\xcd\x5e\x29\x9c\x85\x21\x20\x61\x2f\x9a\x43\xec\x50\x7d\x38\x25\x26\x6a\xd1\x4c\x31\xe6\xc0\x19\x71\x94\x62\xca\xe5\x66\x42\x13\x46\x82\x9b\xae\x4a\xc1\x7c\x01\x6b\xfd\xd8\xc0\x04\x41\xd5\x0f\x65\x9f\x87\xd8\x6b\xe3\x9c\x5e\xa1\x67\xc6\x39\x70\x34\x48\xa8\x34\x60\x36\x69\x0b\x89\x34\x34\x3b\x60\x2c\x73\xdc\x39\x43\x0f\x53\x68\x43\xdc\xa7\x14\x63\xb9\xe7\x07\xe2\xc5\xb4\xbd\xb4\xfb\xf2\xc2\x6a\xb3\x1b\x86\x97\x05\x0d\x9d\xf9\x17\x8c\xbb\xf9\x92\xa7\x5e\x17\xe6\xf6\x05\x81\x1d\x42\x1d\x60\x8a\x78\x97\x26\x0b\x4b\xa3\x40\x3f\x41\x80\xc8\xaa\xb6\x42\xbe\x89\x99\x53\xd2\x16\xdb\x99\x98\xdd\xcb\xaa\x53\x33\xb1\xae\xe4\xc6\xe1\xf8\xed\x16\xbd\xfb\x41\x63\xa6\x48\xa4\x79\x20\xcd\xc3\xb4\x91\x33\x7d\xbe\x10\xd4\x35\x69\x86\xc8\xc3\x49\xb6\xc2\xb4\xd4\xe7\x65\xb5\x20\xe4\x19\x35\x69\x30\x6b\x0d\x36\xb0\x39\x69\x04\x0a\x7c\x9b\x06\x3b\x8d\xc1\x78\x46\x07\x97\x22\x2f\xf2\x39\xcd\x26\x98\x1c\x54\x23\x61\xbe\x03\x68\xab\x8a\xbb\x9c\xb7\x2e\x96\x13\xd0\xd2\xdd\x39\xac\x2c\xe4\x90\x1f\x4a\xcc\x56\x77\x8a\x86\x83\x56\xd9\xb5\xb1\x35\x5b\x1c\x55\xe6\x01\x48\xd1\x2c\xe2\x75\x8d\xfd\x0c\x1c\xde\x1b\xaf\x82\x3b\x7b\x73\xea\xce\x79\x9a\x76\xa4\x80\x49\x1a\xe3\x9d\xda\xa8\xc7\x85\x10\x6f\xd6\xac\x5d\x1c\xbf\xa4\xdd\x74\xc4\xcf\x11\x97\xd2\x40\xbb\xc6\xf8\xb0\xe8\xc9\x06\x3b\x1d\x55\x2f\x47\xe3\x87\xf6\x61\x44\xa1\x19\xca\xd4\x3a\x4c\x28\x5f\x3a\xc8\x75\xc1\xf5\x4e\xf9\xe8\x20\x11\x7c\xb8\xc4\x64\xe6\xc3\x55\x45\x38\xcc\x61\xd4\x42\x5c\x57\x58\x63\x31\x11\xaa\x10\x1a\x34\xff\xe3\x83\xc7\x28\x44\x93\x25\x65\x24\x5c\x00\x0b\xa0\x67\x38\xed\xfa\x48\x01\xdb\x78\xdb\x58\x66\xdc\xf6\x24\xc6\x13\x04\x02\x10\x04\x6e\xb0\x0f\x37\xd3\x35\x27\xcd\x50\x2b\x14\xe5\x0d\xaf\x7a\x0b\xbe\x60\x92\x15\x49\x7e\xc0\xed\x75\x9e\xc6\x2f\x8e\x10\x38\xaf\xd4\x0e\x2e\xdf\x29\x3e\x4d\x6e\xe3\xc1\xfb\x61\xab\xc8\x21\x18\xbf\x1a\x0d\x19\x2e\xad\xbb\x71\x3b\xbc\x0a\xfa\xa6\xbd\xd5\x21\x7f\x40\x33\xcc\xb1\x14\xea\x94\x51\x34\x6f\x76\x56\xb2\xd1\xec\x61\xb7\x07\x2c\xb5\x85\x4f\x8c\xdd\xf5\x3b\x30\x4e\x06\x03\xf3\x67\xbf\x5e\xbc\xfa\x7c\x7e\xf5\xfe\xe5\x9b\x57\x9f\x5f\x5f\xbd\xbb\x3c\x8d\x5b\xb4\x8c\xc9\xf1\x0d\x46\xe2\xcc\x51\x48\x65\x44\x03\x0e\xb8\x60\x55\xcc\x29\xea\x0e\x18\xe6\x14\xcc\x14\x0c\x70\xf7\xfc\x60\x42\x66\x6c\x47\x6f\x15\x10\x98\x0d\x12\x27\x3a\x4f\xd2\x3f\xdd\xe2\x24\xe9\xc1\x7b\xc9\x57\x59\x98\xca\x58\x87\xc4\xa8\x29\x70\x2a\x23\xcb\x64\x47\x0f\x0f\x8e\xe4\x9b\xa0\x3b\x7b\xf6\x3c\x48\xbc\xd0\xf6\xc5\xe9\x88\xcc\x9d\xe6\x41\x54\xbe\x08\x4b\x7f\xf6\x24\xed\xe4\x1c\x7c\x48\xc9\xf8\x9d\x67\x4f\x86\xbc\x19\xef\xee\x63\x6e\xe2\x79\x84\xce\x85\x33\x95\xb4\xfa\xab\x2a\x79\xe7\x19\x3e\x4f\x7c\xf1\x82\x87\x6c\x32\x95\x3c\x56\x99\x42\xfa\xa0\x69\xaf\xe3\x1c\xe1\x54\xc8\xb8\xa1\xed\x98\x54\x61\x7d\x2b\x4b\xd5\x47\x66\x78\x2a\xc1\x88\x2f\xed\x8e\xb3\x9a\xe3\x73\xec\x01\x72\xd9\x4a\xc5\x8d\x07\x07\xf9\xcd\x83\x02\x8b\x5f\x76\x74\x15\x52\xd5\xc7\xa8\x16\xfb\x5b\xcd\xc4\x4b\xe3\xa0\x08\xc1\x85\x2c\x00\x03\xd4\xf0\xe4\x87\xf8\x60\x61\x95\x62\x76\xe3\xe3\xcb\xa0\xe0\x8f\x89\x76\x19\x8a\xa1\x76\xdf\x72\xe4\x22\xd2\xf7\x5e\x9b\x9e\xe8\xc1\x13\x7b\x9f\x73\x84\x45\x93\x5c\x01\x45\x1a\xb7\x35\xfe\x45\x28\xcf\xf8\xa3\x86\x05\x08\x6d\x4d\x5c\xb3\x8e\xb0\xc2\xd2\x8e\xe6\x87\x6b\x06\x1b\x84\x9d\xed\x5f\xb9\xd2\x23\x9a\xf6\x07\xba\xe1\x46\xff\x17\xf5\xd6\xb4\xd8\xda\x2e\xde\xd1\x5c\xfc\x4e\x25\x37\x6a\x56\x4b\xd4\x6f\xd7\x59\xb5\x27\xb4\x7f\xc0\x1a\x0e\xe2\x4a\xc1\x49\xc5\x7d\x54\x87\x15\xb9\x0f\xca\xc8\xef\xdd\x9b\xf3\x9b\xab\xcf\xb7\x37\x1f\x2f\xcf\xaf\xde\x5e\xdd\xa0\x99\xdc\x6b\x6b\x1a\xee\x05\xf7\xd0\x8d\x5a\x0b\x69\x4b\x65\x18\x86\xfd\x39\x31\xe5\xa5\x9b\xf8\xc6\x4e\xca\xd9\xe6\xe5\xca\xc1\x9a\x71\x89\x06\x48\x10\x8c\x0e\xa7\x04\x3a\x92\x3a\x7f\xc9\x99\x01\xc6\x43\x08\x2e\xb6\xd2\x8e\x79\x04\x68\x28\x39\x84\xc3\x5e\x8c\x52\x73\xc8\x44\x44\x26\x9b\x06\x1a\x16\x68\x04\x60\x92\xfa\x1c\x7d\x9e\x68\xcc\xc5\x8d\xe3\x57\x4d\x11\xfa\x99\x72\x47\xf8\x98\xf5\x3a\x70\x72\x3b\x88\x7d\x04\x17\xdf\x59\x94\x98\xf0\x89\x7a\x4d\xaf\x8c\x20\x3a\x76\xb4\xc9\x7b\x4f\x60\x9f\xe0\x36\x87\xf3\x14\x0f\x7d\xcf\xc3\x40\x29\xc3\x3b\x05\x88\xbe\x27\x5e\x76\xde\x04\xdb\xc1\x82\x9b\x43\xff\x3a\x29\xd1\xdb\x1e\x42\xd7\x48\xaf\x33\x4e\xd6\x53\x57\xc5\x92\x4d\x17\x9d\x9e\xbc\xc2\xc3\x0f\x5f\xfd\xb7\x34\xb7\x34\xf0\x41\x5e\x6c\x51\x7b\x4f\x42\xdf\x3b\x89\x90\xf0\x9d\x23\xfa\xd1\xf1\xf8\x40\xe3\xa3\x6c\x11\xa3\x6f\x65\xbc\x47\x8d\x89\x8d\x2b\xa4\xe0\x1f\x70\x47\x98\x55\xd5\x87\x56\x29\xea\xc8\xb2\x46\xa7\xf5\xe9\x29\x2b\xbc\xd7\x30\xc1\x11\x7f\xfe\x04\x06\x27\x27\x27\x59\x76\x11\x11\x6d\xd5\x6d\xa8\xef\x86\xce\x11\x1a\x05\xd8\x78\xb6\x9b\x7e\x88\x4a\x36\x9b\x0e\xf3\x31\x8d\x5d\x82\x26\x44\xf1\x3c\x26\x18\x52\x75\x40\x52\xb5\x3d\x9f\x8b\x8b\xb9\x78\x65\xe6\xe2\xaf\xf2\x5e\xf2\xab\x08\xfd\x80\x36\xba\x45\x71\x7f\xdb\x49\x94\x95\x6b\x6b\xee\x75\x39\x4c\xb2\x49\x5c\x54\x65\xf1\x7d\xd3\x37\x46\xd7\x9c\xdc\x50\x8f\x1e\x5a\xfb\xef\xa4\xdd\x11\x01\x1b\xf3\x47\xcc\x53\x94\x6d\xcc\xba\xf6\x3d\x67\xfc\xfe\xbf\xb8\x92\xca\x67\x98\xf0\xe2\x68\x46\x0d\x99\x4a\x47\xac\xb5\x71\xea\x4f\x63\x10\x49\x29\xd3\x53\x20\xf5\x19\x91\xed\xf7\x16\x1c\xf6\xfd\xcb\x14\xea\xe5\x9c\x58\x29\x4c\xe6\x45\x18\x1c\xf7\x07\x1e\xe6\x92\xf8\x67\x9c\x2f\xd4\xd0\x20\x14\xc4\x0b\x9a\x52\xa7\x73\xb0\xa7\x7a\x7a\x84\x0f\xf7\x28\xd2\x9e\x9f\xe2\x0c\x8d\xe1\x59\x8d\xd9\x98\x9f\x26\xe3\xff\x30\x14\xd8\x38\x43\xfc\x4e\x94\x8c\xf6\xf0\x19\x11\xcf\x2c\xb2\xff\x06\x00\x00\xff\xff\xb4\x77\x6b\x7e\xa9\x19\x00\x00") +var _runtimeHelpHelpMd = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x9c\x59\xdd\x73\xdb\xb8\x11\x7f\x36\xff\x0a\x8c\x72\x33\x97\x5c\x25\x79\x7a\xed\x93\xdf\x7c\xb6\xf3\x71\x97\xc4\x3e\xc7\x69\x2f\xf7\x12\x42\x24\x24\xe1\x4c\x12\x0c\x00\xca\x56\xda\xeb\xdf\xde\xdf\x2e\x00\x8a\x94\xe4\x4c\xa7\x79\x89\xb8\xbb\xd8\x2f\xec\x17\xd6\xcf\xc4\x3b\x5d\x58\x23\xd6\xaa\x6a\x85\x57\x8f\x3e\xcb\x02\x40\x3b\x21\x01\xb0\xb5\x6e\x64\x35\x5b\x48\xa7\x4a\xc6\x0b\x55\x6a\x6f\xac\xf0\x6b\xe9\x85\xd4\xb5\x13\xde\x88\x85\x12\x4a\xba\x2d\xfd\xec\x9c\x12\xb2\x29\x85\x6e\x7c\xa7\xbd\xde\xa8\xa9\xc8\x1e\xd6\xba\x02\xb4\x72\x46\x78\x79\xaf\x9b\x95\x90\xe5\x46\x36\x5e\xae\x94\x30\x4b\xb0\x52\x62\xd9\x55\x95\x28\x64\x2b\x17\xba\xc2\x31\xe5\x08\x51\x9b\x52\xd9\xa6\xd7\xc2\xcd\xb3\xec\xd9\xb3\x67\xe2\xa3\xc3\xc1\x2c\xbb\x6e\x0a\x25\xb6\xa6\x13\x6b\xb9\x51\x62\xd1\xe9\xca\x33\xab\xa0\xe0\x54\x38\x5d\xb7\xd5\x56\x38\x2f\xad\x17\xda\x8b\xc5\x56\xd8\xae\x69\x48\x7c\x96\xd7\x6c\x64\x2b\xfd\xfa\xd4\x9b\xd3\x25\xf4\x9b\xfb\x47\x9f\x0b\x58\x16\xcf\x05\x92\x9c\x6c\x32\xad\x6a\x60\x94\x50\x75\xeb\xb7\x90\xb4\x5c\x2a\x3b\x4f\x8e\x62\xb3\x5c\xd7\xb6\xc6\x7a\x27\x0a\xab\xa4\x27\x11\x81\xca\x89\xa5\x35\x35\x74\x28\x75\x73\x96\x65\x79\x9e\x67\xdf\x09\xbd\x2c\x4c\xb3\xd4\x2b\xf1\x6f\xc1\x32\x18\x9c\x7d\x82\x25\x05\x84\xd4\x06\xd6\x90\x1d\x45\x67\x1d\xd4\x91\xd6\x74\xf0\xe7\x83\xf6\x6b\x06\x4b\x6b\xcd\x83\xb8\x57\x5b\xc7\x7e\xae\x0d\x3c\x1e\x1d\xf3\x8b\xda\x2e\x74\x03\x51\x2b\x97\x65\x77\x6b\x45\x57\x61\x03\xb3\x52\x2d\x65\x07\x07\xdd\xef\x48\xa6\x50\xdd\x40\xd3\xc4\x59\x43\x56\xe1\xb5\x69\xc8\xcf\xd9\x0f\xe2\xc2\xdb\x6a\xf6\xe5\x4c\x08\xf1\x2b\x6e\x32\x01\x14\x01\xae\x1e\x55\xd1\x79\x70\x17\x85\xa9\x6b\xa8\x91\xb0\x2b\xc2\xde\x99\xd5\x0a\xf7\xbd\x0b\xa9\x88\x5c\x10\xf2\xb6\x83\x2b\x85\x03\xb2\xda\x3f\xec\x08\xff\x01\x97\x99\x00\x86\x00\xd7\xe4\x7c\xba\xa0\x04\xfd\x4a\xd0\x8f\x4d\x69\x12\x60\xcb\x7c\xd5\x0e\xb0\x24\xc0\x4b\xbd\xe3\xdc\x24\x80\x68\x06\xfa\xb4\x3d\xb4\xb5\x6a\xa3\xe1\xc8\x84\x91\xac\x89\xaa\x54\x81\x18\xaf\xaa\x04\x2e\x08\x7c\x61\xda\x6d\x02\x3c\x32\xa0\xeb\x39\xde\xc7\x6f\x51\xe9\xa6\xd7\xb7\x24\xe0\x65\xd7\x56\xba\x90\xf0\xd9\x10\xb5\x21\xd4\x8d\x74\x9e\x20\x37\x88\xea\x8f\x6d\x80\x20\x31\xba\x36\xc2\x2e\xcd\x03\xf4\x67\x58\x89\x9f\x80\xbe\x36\x35\x5f\x83\x10\xaf\x4c\x48\xbf\x95\x0e\x81\x8d\xa4\x89\xfc\xaf\x9a\x32\x90\x44\x1a\x05\x33\x77\x58\x96\x6e\x07\x97\x45\x70\xd1\x74\xf5\x02\x31\xbb\x8b\x45\x4a\x66\x8e\xb9\x10\x39\x4e\xfc\x25\x84\x1f\x27\x3d\x07\xea\x83\xb1\x25\x65\x16\xfd\x3f\xcf\x88\xad\xa8\xd4\xd2\x73\x68\x5a\xbd\x5a\xfb\x83\x78\xc6\x49\xfa\x0a\x69\x49\x64\x51\x33\x02\x92\x16\x53\x02\x66\x05\x71\xea\x5a\x26\x20\xab\x0f\xd9\x3c\xc5\xa3\x4f\xcf\x64\xc4\xda\x54\x25\x02\x4e\x43\x2b\x0e\x75\x5c\x68\xa4\x85\x75\xc4\xb6\x56\x8d\x4f\xa1\x4f\xea\xb9\x70\xf1\xa1\x6a\x81\x00\x8e\x9d\x73\x3e\x89\x94\x3a\xa2\x96\x5b\x2a\x7a\x56\x2d\x38\x39\x3b\x47\xce\x27\xe9\xf9\x7f\x4e\xe7\x21\xbb\x4f\x39\xb7\x4f\xd3\x91\xf9\x1f\xce\x34\xb9\xc8\xb8\xd4\x88\x2b\x59\xac\xc9\xa3\x54\x66\x03\x0b\xc8\x85\xae\x41\x0b\x48\x7b\x09\x13\xd5\xa3\x44\x25\x82\x43\xe8\x8a\x29\x4c\xf3\x10\xee\x5c\x93\x70\xc6\xb0\xe9\x01\xf8\x95\x81\x16\x49\x30\xe5\x9a\x58\x98\x0e\x56\xb7\x5d\x28\x89\xd9\xd2\x54\x95\x79\x20\x25\x75\x13\xf4\xdc\xd3\x8b\xd5\xe2\x02\x45\xdf\xd9\xbf\xb2\x93\x09\xf1\xfd\x34\x39\x13\x13\xca\xb5\xc9\x34\x42\x7e\x27\x08\x25\xdb\x24\xfb\x33\x14\xae\xd7\xca\x1e\xd4\x19\x77\x36\xe4\x45\x51\x38\xf9\xd8\x4e\x62\x40\xc6\x7f\x93\x0b\xbe\x49\xc0\xa7\x81\x82\x02\x7d\x44\x13\x29\x18\x1e\x69\x6e\x29\xa6\x86\x44\x91\x26\xc0\x23\xd1\x5b\x44\xe0\x31\x46\x0c\x8f\x34\x1f\x28\x20\x86\x3a\x4d\x42\xbe\xef\xd4\x61\x8a\xa1\x4e\x91\x62\xa8\x0e\xd3\x0c\xc5\x45\x9a\x03\x49\x43\xbd\x23\xcd\x48\xe5\xf3\xca\x8f\xb5\x9e\xfc\x13\x19\x35\x64\x03\x8a\xb1\xf1\x4c\xb1\xcf\x64\x2c\x2c\x4a\x7a\x92\xb0\x17\x39\x20\x1c\xca\xa4\x0b\x1f\xa9\x35\xf9\x40\x29\x77\xbd\x7c\x8b\x44\x1d\x12\x8d\x34\x9b\xa0\xf6\x1c\x92\x8c\x04\x46\x79\x77\xe6\x09\x7e\x23\x33\x7a\xe2\xa3\x7c\x47\x71\x15\x2f\x9a\xb9\x0e\x89\x46\xa1\x15\x89\xc0\xed\x40\x64\x62\x36\xd6\xef\x80\x2c\xb1\x1b\x6a\x96\x88\xae\x1a\xcc\x2b\xa3\x08\x7d\xd3\x38\x65\x7d\x80\xa7\x98\x68\x65\xa1\x8e\x10\x05\x78\x24\xfa\x49\x16\xf7\x6e\x48\x38\x80\xec\x93\xfc\x98\x62\xeb\x80\xe4\x4e\x2e\xc6\x89\x17\x45\x11\x7c\x60\xd7\xf5\x48\x1b\x6a\xba\x2f\x51\x12\x46\x96\x8f\x28\xa8\x4f\x0f\xb1\x2f\x47\x58\xea\xaa\x43\xec\xfb\x03\xec\x7b\x34\xe2\x21\xc5\xcd\x01\xc5\x4d\x6c\xca\x43\xaa\xdf\x47\x54\xb1\x30\xf5\xd8\x4f\x23\x2c\x17\xa9\x01\xf6\x62\x5c\x36\xd0\xc6\x87\xd8\xdf\xf6\x8a\xca\x48\xb9\x5f\xf6\x91\xfb\x41\x78\x39\x22\xe8\x9b\xfd\x3e\xd9\x3f\x46\x64\xdc\xf8\x87\xe8\xf3\xb1\x87\x39\xb6\xce\xab\x2a\x91\x50\xdb\x1f\x97\xb5\x51\x74\x52\x0c\x8e\x2f\x7a\x10\x95\x37\xab\xbd\xfa\x3b\x09\xe3\xc6\x0e\x7f\xd9\x1c\xe2\x87\xa5\x8e\x14\x7c\x35\x52\x30\x8c\x0e\xaf\x31\xe6\x8d\x4a\xc1\x11\x9a\xdb\xae\xda\xc5\x3e\x17\x95\x11\xd1\xcf\x5d\xdd\x0e\x5d\x75\x09\xcb\xfd\xd0\xd4\x04\x49\x96\xba\x62\xcf\xd2\x8b\x4a\x49\xca\x7a\x3f\x0e\x97\x9f\xc6\x0e\xa5\xa1\xf3\x1d\xde\x14\x43\x92\x5f\x47\x24\x34\xe9\x0e\xb1\x57\x7b\x31\xc3\xf3\x6a\x64\xc1\x54\xa7\xa7\xe2\xaa\x96\x85\x9b\x39\xbf\xc5\xb4\x30\x18\xaf\xfb\x4a\x3b\x5b\x52\x0d\x3b\x56\x83\x67\x8b\x84\xd9\x2b\xf4\x33\xc9\x65\xef\xb0\x36\x12\x8e\x1c\x73\x58\x62\x09\x43\x37\x7c\xd0\x55\x09\xd1\xec\x10\xf1\x4a\xff\x0c\x8f\x91\xf0\x6e\xb8\x31\xce\xe9\x05\xd4\x8f\x03\xf9\x60\x02\x54\x69\xd2\x6f\xd2\xc3\x2f\xd2\xd0\xd0\x87\xb1\xd9\xf1\xe4\x13\x66\x10\x85\x31\x82\xe7\x0c\xc5\x58\x1e\xd6\x02\xf1\x7c\x3c\x24\xb4\xfb\xf2\xc2\x6b\x72\xbb\x9b\x3a\xe7\xf4\x00\xc9\xbf\xe0\x36\xf2\x33\x7e\x7e\xb8\xf0\x54\x9a\x13\xd8\xa1\xf4\x00\x4c\x15\xc8\xa5\x91\xd0\xd2\x0c\xd7\x8f\x7e\x20\xb2\xaa\xad\x50\x05\xc5\xc4\x21\x32\x8a\xf5\x44\x4c\x36\xb2\xea\xd4\x44\x2c\x2b\xb9\x72\x38\x7e\xb7\xc6\xec\xf5\xa0\x31\x0c\x26\xd2\x3c\x90\xe6\x61\x4c\xcc\x99\x3e\x9f\x0b\x72\x23\x0d\x7f\x79\x38\xc9\x56\x98\x96\xe6\x34\x59\xcd\x09\x79\x4e\x43\x16\x98\xb5\x06\x8f\xde\x29\x69\x04\x0a\x7c\x9b\x06\xcf\x48\x83\xb9\x9a\x0e\x9e\x89\xbc\xc8\xa7\x34\x54\x62\xf2\x53\x8d\x84\xf9\x0e\xa0\xb5\x2a\xee\x73\x7e\xe8\xb2\x9c\x80\x96\xee\xde\xe1\x95\x48\x0e\xf9\xbe\xc4\x50\x7c\xaf\x68\xb8\x6b\x95\x5d\x1a\x5b\xb3\xc5\x51\x65\x9e\x5c\x15\xcd\x92\x5e\xd7\x8a\x23\xf2\xbd\xf1\x2a\xb8\xb3\x37\xa7\xee\x9c\xa7\x69\x55\x0a\x98\xa4\x31\x97\xab\x95\x7a\x9c\x0b\xf1\x66\xc9\xda\xc5\xb9\x59\xda\x55\x47\xfc\x38\x70\x4b\x03\xed\x1a\xe3\xc3\xdb\x5a\x36\x78\x46\x53\x4f\x71\x34\x3e\x6a\x1f\x46\x4c\x9a\x81\x4d\xad\xc3\x84\xf9\xa5\x83\x5c\x17\x5c\xef\x94\x8f\x0e\x12\xc1\x87\x67\x18\xa9\x7d\xb8\xaa\x08\x87\x39\x8c\x9a\x8b\x1b\x64\x2e\xe6\x70\xa7\x42\x68\xd0\xfb\x0c\x1f\x3c\x06\x23\x9a\x2c\x29\x23\xe1\x02\x58\x00\x3d\xc3\x69\xd7\x47\x0a\xd8\xc6\xdb\xc6\xab\xd2\xad\x67\x31\x9e\x20\x10\x80\x20\x70\xa5\x37\xaa\x19\xbf\x37\xd3\x0c\xbc\x40\xab\x5c\xf1\xeb\x7a\xce\x17\x4c\xb2\x22\xc9\xf7\xb8\xbd\xce\xd3\xf8\xcc\x11\x02\xe7\x95\xda\xc1\xe5\x5b\xc5\xa7\xc9\x6d\xfc\x62\x7a\x58\x2b\x72\x08\xc6\xe7\x46\x43\x86\x4b\x1b\x86\xf8\x20\xbf\x0e\xfa\xa6\x55\x81\x43\xfe\x80\x66\xf7\x00\xa1\x50\xa7\x8c\xa2\xf7\x42\x67\x25\x1b\xcd\x1e\x76\x7b\xc0\x52\x5b\xf8\xc4\xd8\x6d\xbf\x76\xc0\xc9\x60\x60\xfe\xdd\x6f\x97\xaf\x3e\x5f\x5c\xbf\x7f\xf9\xe6\xd5\xe7\xd7\xd7\xef\xae\x4e\xe3\xe2\x42\xc6\xe4\x78\x82\x91\x38\x77\x14\x52\x19\xd1\x80\x03\x2e\x58\x15\x53\x8a\xba\x03\x86\x39\x05\x33\x05\x03\xdc\x3d\x3d\x78\xe1\x30\xb6\xa3\xf5\x10\x04\x66\x3b\x89\x23\x9d\x47\xe9\x9f\x6e\x71\x94\xf4\xe0\x7d\xc6\x57\x59\x98\xca\x58\x87\xc4\xa8\x29\x70\x2a\x23\xcb\x64\x47\x0f\x0f\x8e\xe4\x9b\xa0\x3b\xfb\xee\x79\x90\x78\xa9\xed\x8b\xd3\x01\x99\x3b\xcd\x83\xa8\x7c\x1e\xf6\x2c\xd9\x49\x5a\x83\x70\xf0\x21\x25\xe3\x77\x9e\x9d\xec\xf2\x66\xb8\x2e\x19\x72\x13\xcf\x23\x74\x2a\x9c\xa9\xa4\xd5\x5f\x55\xc9\x8f\xd5\xdd\xe7\xcc\x17\x2f\xb2\x13\xb2\x93\xdc\x55\x19\x9a\x01\x58\xcd\x5e\xc1\x29\x62\xa9\x90\xf1\x5d\xbd\x65\x97\x28\x3c\xba\xcb\x52\xf5\x61\x19\x56\x53\x68\x23\xd2\x6e\xa1\xf2\xdd\x9e\xed\xe4\xac\x85\x8a\x8f\x54\x9c\xe2\x05\x13\x85\x14\xaf\xd1\x74\x15\x92\x94\x5f\x7d\x27\xfb\x8f\xd1\x91\x73\x86\xb1\x10\x62\x0a\xc1\x8f\xd3\x28\xdd\xc9\xfc\xb8\x1a\xb2\x4a\x65\x27\xc3\xb3\xb8\xa9\x93\x1f\x12\xd5\x59\xa8\x7e\xda\x3d\xe5\xb9\x39\x11\xf7\x3e\x1a\x93\xf7\xe0\x91\x8d\xcf\x39\x9e\xa2\x19\xae\x80\xfc\xc6\xad\x8d\x7f\x81\x62\x7c\x22\x04\xf5\x26\x7c\xd2\x03\x97\xcb\xd3\x11\x3e\xa2\x95\x18\x18\x70\xa3\xe0\x81\x08\xb3\xfd\x0e\x31\xad\x28\xb5\x1f\x6b\x85\x9b\xfb\x5f\x14\x5b\xd2\xe6\xc1\x76\xf1\x46\xa6\xe2\x0f\x2a\xad\xa4\x53\x2d\x51\xa4\x5d\x67\xd5\x9e\xb8\x7e\x31\xb8\x3b\x85\xdb\x03\x1b\x15\x97\x06\x3a\x2c\x30\xfa\xc8\x23\x66\xef\xde\x5c\xdc\x5e\x7f\xbe\xbb\xfd\x78\x75\x71\xfd\xf6\xfa\x16\xed\x62\xa3\xad\x69\xb8\xda\x6f\xa0\x15\x35\x0f\xd2\x93\x0a\x2d\xec\xf9\x6b\xe2\xc8\xfb\x10\x62\x1a\x7b\x25\xe7\x93\x97\x0b\x07\x3b\x86\x45\x18\x20\x41\x30\x3a\x9c\x52\xe4\x48\x72\xfc\x3d\x67\x06\x98\x67\x20\xb8\x58\x4b\x3b\xe4\x11\xa0\xa1\xa8\x10\x4e\x22\x18\xed\x11\x26\x22\x32\x59\x35\xd0\xb0\x40\xa9\x07\x93\xd4\xc9\xe8\x73\xa6\xf1\x1a\x69\x1c\xaf\x8a\x45\xe8\x58\xca\x1d\xe1\x63\x96\xcb\xc0\xc9\x6d\x21\xf6\x11\x5c\x7c\x67\x51\x44\xc2\x27\x2a\x32\xad\x6e\x41\x74\xec\x68\x93\xf7\x9e\xf0\x26\x34\x32\x9c\xa7\x30\xe8\xbb\x1a\x26\x71\x19\x56\x48\x20\xfa\x96\x78\xd9\x79\x13\x6c\x07\x0b\x2e\xff\xfd\xca\x57\xa2\x7b\x3d\x84\xbe\x90\x16\x67\x4e\xd6\x63\x57\xc5\xa2\x4c\x65\x2b\x2d\x1d\xc3\x4e\xee\x69\xb5\x2d\x0d\xcf\x10\x16\x3b\xd0\xde\xaa\xee\xc9\x63\x8e\xa7\x61\x22\x1e\x9c\x8d\x5b\x33\x1f\xa5\x8a\x18\x74\x0b\xe3\x3d\xaa\x48\x6c\x4a\x21\xe1\xbe\xc5\x1a\xd1\x55\x55\x35\x26\x06\xdd\x80\xb9\xac\xd1\x43\x7d\xda\x2e\x86\xee\xfc\xc0\xe9\x99\x46\x17\xea\xee\x72\x61\x36\xe1\x4f\x03\x0b\x85\x19\x71\xb0\xcb\x3b\x22\xe9\x6f\x43\x41\xe8\x4c\xaa\x3c\x22\x87\x18\x33\x01\xa7\x25\xf5\xe4\xf8\xa9\xd0\xf2\xfd\x11\xae\x3f\x82\xeb\x6c\x36\xcb\xb2\xcb\x88\x68\xab\x6e\x45\xed\x3c\x34\xa4\xd0\x7f\xc0\xdb\xb3\xbf\xe9\x87\xa8\x64\xb3\xea\xf0\x12\xa2\x69\x4e\xd0\xe0\x29\x9e\xc7\x94\x46\x65\xd8\x21\xa9\x8e\x5f\x4c\xc5\xe5\x54\xbc\x32\x53\xf1\xb3\xdc\x48\x9e\xbe\xe9\x07\x74\xd2\x2d\x7a\xc6\xdb\x4e\xa2\x7e\xdd\x58\xb3\xd1\xe5\x6e\x40\x4e\xe2\xa2\x2a\xf3\x6f\x78\x7d\x65\x74\xcd\xb5\x04\xba\xd1\x16\xbd\xff\x4e\xaa\x1d\xe1\xbe\x32\xdf\xe4\x9c\x82\x7a\x65\x96\xb5\xef\xd9\xe2\xf7\xff\xcf\x92\x94\x3d\xc7\xbc\x18\x07\x3d\x8a\x05\x2a\x53\xb1\x96\xc7\x37\x44\x1a\xaa\x48\x44\x99\x36\xc2\xd4\xbb\x44\xb6\xdf\xb2\x70\xd8\xf7\x7b\x4a\x54\xe5\x29\xb1\x52\x98\xf3\x8b\x30\x86\xee\x8f\x4f\xcc\x25\xf1\xcf\x38\x37\xa9\x49\x42\x28\x88\xe7\x34\xf3\x8e\xa7\x6a\x4f\x85\xfb\x08\x1f\x6e\x7d\xa4\x3d\x2f\x66\x0d\x0d\xf5\x19\x1e\x7a\x6b\xde\x50\xc7\x3f\x11\x15\xa6\x8d\x29\x35\x52\x32\xda\xc3\x67\x44\x3c\x33\xcf\xfe\x1b\x00\x00\xff\xff\x81\x33\x3f\xa2\x6a\x1b\x00\x00") func runtimeHelpHelpMdBytes() ([]byte, error) { return bindataRead( @@ -255,12 +255,12 @@ func runtimeHelpHelpMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/help/help.md", size: 6569, mode: os.FileMode(420), modTime: time.Unix(1463613125, 0)} + info := bindataFileInfo{name: "runtime/help/help.md", size: 7018, mode: os.FileMode(420), modTime: time.Unix(1464449157, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _runtimePluginsGoGoLua = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x94\x91\xcd\x6e\xe3\x20\x14\x85\xf7\x7e\x8a\x2b\xa4\x91\xf0\x8c\xc7\x0f\x60\x29\x8b\x99\x45\xb3\x4c\xd5\x76\x57\xb5\x15\xb5\xaf\x6d\x24\x02\x08\x70\xd2\xaa\xea\xbb\xf7\x62\x93\xbf\xc6\xfd\x63\x63\x99\x7b\xce\xc7\x39\x20\x5b\x58\x62\x58\xd9\x20\x8d\xe6\xac\x33\x72\x6d\x8d\x0b\x9e\xe5\xb0\x58\x80\x96\x0a\x42\x8f\x3a\x03\x5a\xff\x9a\xe6\x5c\x56\x40\x2b\x94\xc7\x3c\x43\xdd\x64\xef\x59\xed\x3a\x7c\xc5\x89\x92\x02\x82\x1b\x12\x22\x6b\x07\x5d\xc7\x21\x74\xe6\xc1\xe8\x6b\xb1\x41\x9e\x8f\x36\x82\x6f\x24\x6e\xcb\xff\x43\x5b\x5e\x48\x85\x37\xcf\x16\x23\x9b\x2d\x0d\x3b\xc0\x93\xf2\x83\x4a\x27\xb2\xb8\xe8\x90\xfd\x3c\x9d\x13\x17\x52\xa5\xf9\x32\xf3\x04\x9a\x1d\xbb\x63\x8f\xdd\x4f\xcc\x5c\x5d\xe1\xca\xa2\x4e\x92\x38\x3e\xab\x7a\xcc\x50\xa6\x16\x0a\x7a\xa1\x1b\x45\x0d\x41\x9a\xd2\x9a\x68\x9f\x42\xc0\xdf\x2d\x30\x28\xcb\xc3\x6d\x5c\x8a\xd0\x1f\x3b\x1d\xfa\x41\x05\x72\x4e\x88\xca\xa1\x68\x38\xfb\x2d\xd8\x24\x4a\xbb\xb5\x32\x3e\xde\xed\x4c\x94\xd3\x0b\xf9\x24\x4e\x12\xfe\x20\x12\xf1\xbd\x55\x32\xf0\xb3\x6c\x05\xb0\xea\x9b\x09\x27\x82\x0f\xae\x00\x8f\x76\xf6\x9c\x97\xd7\x93\xdd\x0e\x9f\x68\x93\x33\x7e\x7b\xff\xcb\xdf\xfd\xc9\x59\x5e\xb5\xc6\xad\x05\x51\x76\x00\xfa\x07\x14\x75\x0f\x52\x03\xa1\xab\x8e\xa6\x75\xcf\x47\x6f\x0e\x8d\xd9\xbf\x68\x10\x8f\x0a\x4b\xa9\x3d\xba\xc0\xa7\x03\x8b\xd1\x79\x78\xde\xf8\x75\x18\x06\xa7\x53\xa2\xb1\xc3\x5b\x00\x00\x00\xff\xff\x5a\x41\x0a\x22\x6b\x03\x00\x00") +var _runtimePluginsGoGoLua = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x9c\x91\x4f\x4f\xb4\x30\x10\xc6\xef\x7c\x8a\x49\x93\x37\x29\xef\x22\x89\x57\x92\x3d\xe8\xc1\x3d\xae\x51\xe3\x65\xb3\x9a\x0a\x03\x34\x29\x2d\x69\xcb\xae\xc6\xf8\xdd\x6d\xa1\xfb\x4f\x58\x35\xf6\x02\xed\xcc\xfc\x9e\xe7\x69\x79\x09\x0b\xb4\xcb\xd6\x72\x25\x29\xa9\x14\x6f\x5a\xa5\xad\x21\x31\xcc\xe7\x20\xb9\x00\x5b\xa3\x8c\xc0\xad\xab\xa2\x18\xb7\x25\x50\x32\x61\x30\x8e\x50\x16\xd1\x57\x56\xd9\xd8\x9f\x38\xbe\x25\x01\xab\xbb\x80\x88\xca\x4e\xe6\xbe\x08\x95\x7a\x56\xf2\x9e\x6d\x90\xc6\xfd\x98\x83\x6f\x38\x6e\xcd\xaa\x61\x5c\x3e\xba\xbf\xd9\xe5\x3a\xbd\xee\xca\xf4\x86\x0b\x7c\x78\x6b\xd1\x0b\x91\x85\x22\x07\xa5\x30\x76\x26\xdf\x49\x9b\x5f\x4e\x71\x5f\x0f\xa2\x7e\xa1\xcb\x37\x9d\x6c\x9a\xe0\x6a\xc7\xd3\x3e\xd4\x6e\x33\x0a\x90\xdd\xe1\xb2\x45\x19\xfa\x7d\xef\xe8\x12\x8e\x81\x42\xe5\x4c\x40\xcd\x64\x21\x5c\x5c\xe0\x2a\x6d\x95\x1f\x1f\x1c\xc1\xc5\x16\x08\xa4\xe9\x99\x7b\xba\x65\xb6\x3e\xc6\x68\x34\x9d\xb0\x0e\x33\xf0\x32\x8d\xac\xa0\xe4\x3f\x23\x43\x53\x38\xcd\x85\x32\xfe\x09\x26\x7c\x9d\x5e\xd5\x37\xde\x42\xe3\x5f\xfd\x39\x31\xd3\x0a\x6e\xe9\xc8\x68\x02\x24\xfb\xa5\xdd\x81\x60\xac\x4e\xc0\x60\x3b\xa9\xf3\xfe\x71\x72\x5a\xe1\xab\x3b\xa4\x84\xae\x9e\xfe\x99\xf5\x2c\x26\x71\x56\x2a\xdd\x30\x47\xd9\x01\xdc\x1e\x90\xe5\x35\x70\x09\x0e\x9d\x55\xae\x9a\xd7\xb4\x9f\x8d\xa1\x50\xfb\x87\xb7\xec\x45\x60\xca\xa5\x41\x6d\xe9\x20\x98\xf4\x93\x87\x87\xf7\x5f\x8d\xb6\xd3\x32\x38\xea\x33\x7c\x06\x00\x00\xff\xff\xff\xc6\x74\xc8\x9f\x03\x00\x00") func runtimePluginsGoGoLuaBytes() ([]byte, error) { return bindataRead( @@ -275,12 +275,12 @@ func runtimePluginsGoGoLua() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/plugins/go/go.lua", size: 875, mode: os.FileMode(420), modTime: time.Unix(1463528401, 0)} + info := bindataFileInfo{name: "runtime/plugins/go/go.lua", size: 927, mode: os.FileMode(420), modTime: time.Unix(1464449500, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _runtimePluginsLinterLinterLua = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x8c\x55\x6d\x6b\xe4\x36\x10\xfe\xbe\xbf\x42\x88\xba\x58\x89\xed\xd0\x7c\x5c\x48\xe1\x7a\xa5\x81\x72\xed\x1d\xe4\xca\x7d\xe8\xcb\xa1\xb5\xc7\x6b\x35\xb2\x64\x24\x39\x9b\xa5\xf4\xbf\x77\x24\x39\x5e\xdb\x38\x71\x97\x10\xcd\xca\x33\xcf\x33\x2f\xcf\x8e\x45\x4d\xee\xc1\x7d\xec\x9c\xd0\x2a\xa5\x52\x28\x07\x86\x32\x72\x77\x47\x94\x90\xc4\x35\xa0\x76\x04\x3f\xef\xaa\x6a\xe1\x93\x11\x67\x7a\x60\x3b\x50\xd5\x6e\x57\xf7\xaa\xf4\x4f\x49\x7c\xf8\x55\xab\x07\xfe\x04\x29\x0b\xb1\xaf\x50\x8c\xd8\xfe\x23\x75\xc9\x25\xa9\x1d\xb9\x23\x4f\x02\x4e\xc5\x0f\x7d\x5d\xfc\x24\x24\x7c\x3e\x77\xb0\x74\xc2\xeb\xa9\xdb\x27\xee\x9a\x85\x4b\x05\x4f\xaa\x97\x12\xbd\xe8\x0d\xda\x37\xfe\x0b\x1d\x7d\x30\x9f\x8f\x0f\xbe\x42\x7a\x12\xaa\xd2\x27\x4b\xe7\xb9\xf8\xcf\x04\xe1\xd7\xdf\x3e\x5c\x62\x7d\xb5\x13\x1c\x9f\x30\xba\xdc\xeb\x15\x88\xa1\x15\xfe\x48\xe9\x51\x1f\x7a\x21\x2b\xec\x1a\x9a\x24\xd8\x24\xd7\x84\x92\xa2\x78\xe1\xc2\x47\x49\xbd\x4f\xe4\x9e\x24\x2d\x65\x6f\x41\xf9\x33\x22\x79\x2b\x82\xcc\xda\x31\x42\x25\xd5\xf5\x02\x0e\xa4\x85\x4b\xe2\x1f\x7a\xbe\x95\xb9\xec\x79\xd9\x40\xf9\xe8\x09\x5f\x6c\x92\xe7\x4a\xe7\xa5\x96\xda\x44\x76\x3f\x93\xff\x4d\xfa\xe9\xec\x1a\xad\xb6\x78\xbb\x73\x2d\xf9\x23\x58\xcf\xfb\x62\xaf\x90\xbd\x45\xf4\x7e\x73\x2a\x65\x19\xfa\x58\x96\x24\xaf\xed\x59\x39\xfe\x9c\x6b\x25\xcf\x24\xff\xc2\x71\xf8\xf9\x17\x78\x76\x86\xbf\x52\x62\xf1\x76\x95\x3f\x6e\x91\x57\x6d\x90\x03\x1e\x24\xb6\xf2\x4e\xd7\x35\x8a\x22\x27\xf9\x09\xff\x04\xde\x2e\x98\x93\x34\x91\x09\xdb\x22\xfe\x99\x3f\x6d\x0e\xf5\x6f\xf4\x09\xa5\x07\x63\xad\xad\x60\x8c\x36\x9b\x3c\x0f\xa5\x11\x9d\xdb\x64\xb3\xcd\xa0\xd8\x68\x2d\xf9\xbc\x37\x90\x44\x66\xc5\x75\xb6\x60\x1c\x7e\x6e\x9e\x79\xbc\xf4\x52\xdf\xbf\x97\xc0\xcd\x3b\x29\xef\x7b\x87\x44\xbf\x80\xb5\xfc\x08\x76\xd8\x38\x3e\x6c\x75\x2f\x85\x7c\xa2\x9d\x91\xb2\xad\xb2\x58\x67\xad\x4d\xcb\x5d\x8c\xbd\xa0\x2f\xa0\x63\x18\xdb\x05\xaf\xb8\x67\x1a\xae\xaa\xb0\x8c\x84\x2e\x3a\xdd\x01\xae\xb7\x34\xd4\x86\xd0\xfe\xa0\x2c\x7c\xa3\xe4\xf6\xfb\x6f\xbf\x1b\xca\x8a\x91\xbe\x62\x8b\x81\x43\x5e\xb6\x93\xc2\xa5\x11\x6e\x6f\x80\x57\x29\xbd\xe2\x94\x61\x7b\xfe\x50\x43\xdc\xf0\xb0\x94\xda\xfa\xc5\x3a\xc1\x32\x70\x84\x67\xc4\x9a\x94\xb2\x3f\xda\xfe\x90\xd2\x24\xa9\x7d\xd7\xd3\xe2\x9a\x51\x36\xde\xc9\x70\x87\x12\x9e\x5e\xb6\x17\xc7\x00\x8d\x38\xe4\x6b\x16\x06\x23\x14\x11\x1d\x17\x26\xb4\x00\x2c\x23\x95\x1e\x67\x91\xe7\xe4\xb3\x11\x2d\x39\x35\xc2\x81\xed\x78\x39\xd9\xd6\x3e\x36\x54\x08\x7b\x4c\xa9\x6c\x52\xfa\x57\x62\xaf\x3c\x07\x1e\xdf\x4c\xa6\x8c\x9a\xb2\xce\x08\x75\x2c\x6a\x5c\xc8\x81\x25\x8b\x55\xb1\x15\x65\x8d\x2f\x81\x8c\x44\xcf\xd6\x1e\x91\x67\x40\x88\x4c\x53\x88\x59\x34\x52\x0d\x2d\x3f\x70\x0b\x8a\xb7\x90\xce\x36\x67\x78\xf3\x2d\x3d\x3c\xd9\x4a\x26\xa3\x5a\x66\x42\x19\xe5\xe5\xb4\xea\xdb\x03\x98\x90\x0c\x0b\x69\x66\xe4\x76\x9e\xce\xf4\x75\x32\x6a\xfd\x35\xf1\x46\x91\x60\x9d\x19\xb1\xd0\xb1\x99\x02\x6c\x2f\xfd\xbb\xf3\x9f\x7f\x57\x74\x81\xa2\xfc\x1d\x3b\xff\x67\x98\x77\xd4\x47\x3a\x02\xf8\x39\x03\x6e\x75\x3f\x65\x84\xde\x1f\x63\x03\x87\xee\x4f\x26\xed\xf8\x41\x42\x21\x94\x05\xe3\xd2\x48\x98\x85\xc8\xcb\x4f\xce\x9f\x06\x5c\x6f\xd4\x90\xd1\x7a\x1d\xf3\xbe\x4e\x12\xf6\x97\x97\x49\x06\x65\x0e\x4b\x22\x2d\xae\x6e\x18\xfe\x63\x5e\xa5\xc9\xed\xa0\x9d\x81\xcb\x87\x05\xa6\xff\x02\x00\x00\xff\xff\x6d\xfd\x2d\x23\xcc\x08\x00\x00") +var _runtimePluginsLinterLinterLua = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x8c\x55\xdf\x6f\xdb\x36\x10\x7e\xf7\x5f\x41\x10\xd3\x20\x26\x92\x82\xe6\xd1\x40\x06\x74\x1d\x16\x60\xe8\xd6\x02\xe9\xd6\x87\xae\x2b\x68\xe9\x64\x71\xa5\x48\x81\xa4\xe2\x18\xc3\xfe\xf7\x1d\x49\x45\x96\x35\x39\xaa\x10\x84\x67\x8a\xf7\x7d\xf7\xe3\xd3\x51\xd4\xe4\x1e\xdc\xbb\xce\x09\xad\x52\x2a\x85\x72\x60\x28\x23\x77\x77\x44\x09\x49\x5c\x03\x6a\x43\xf0\x79\x5d\x55\xb3\x33\x19\x71\xa6\x07\xb6\x01\x55\x6d\x36\x75\xaf\x4a\xff\x96\xc4\x97\x5f\xb4\x7a\xe0\x8f\x90\xb2\xe0\x7b\x81\x62\xc4\xf6\x8f\xd4\x25\x97\xa4\x76\xe4\x8e\x3c\x0a\x38\xd8\x4f\x2d\x17\xea\x0f\xb4\xae\x5f\x7d\x2e\x7e\xec\xeb\xe2\x67\x21\xe1\xc3\xb1\x83\xb9\x07\x6e\x5f\xf4\x79\xcf\x5d\x33\x3b\x5f\xc1\xa3\xea\xa5\x44\x17\x7a\x83\xf6\x8d\xff\x41\xc7\x33\x18\xe9\xbb\x07\x9f\x3b\x3d\x08\x55\xe9\x83\xa5\xe7\x51\xfa\x67\x82\xf0\xdb\xef\x6f\x4f\xbe\xbe\x0e\x13\x1c\x9f\x0a\x1e\xb9\xd7\x0b\x10\x43\x91\xfc\x92\xd2\xbd\xde\xf5\x42\x56\x58\x4f\x34\x49\xb0\x49\xae\x09\x25\x45\xf1\xcc\x85\xaf\x92\x7a\x9b\xc8\x2d\x49\x5a\xca\x5e\x82\xf2\x6b\x44\xf2\x56\x04\xb9\x5c\x9b\x11\x37\xa9\xae\x67\xd8\x20\x2d\x9c\xb2\x78\xdb\xf3\xb5\x34\x64\xcf\xcb\x06\xca\xaf\x9e\xfd\xd9\x26\x79\xae\x74\x5e\x6a\xa9\x4d\x0c\xc5\x77\xeb\x9b\x49\xdf\x1f\x5d\xa3\xd5\x1a\x6f\x77\xac\x25\xff\x0a\xd6\xf3\x3e\xdb\x0b\x64\x2f\x11\xbd\x59\x6d\x51\x59\x86\xa2\x96\x25\xc9\x6b\x7b\x54\x8e\x3f\xe5\x5a\xc9\x23\xc9\x3f\x72\x54\x42\xfe\x11\x9e\x9c\xe1\x17\x52\x2c\x5e\xce\xf2\xa7\x35\xf2\xaa\x0d\xda\xc0\x85\xc4\x52\xde\xe9\xba\x46\x85\xe4\x24\x3f\xe0\x9f\xc0\xdd\x19\x73\x92\x26\x32\x61\x6b\xc4\xbf\xf0\xc7\xd5\xa6\xfe\x8d\x67\x42\xea\xc1\x58\x2a\x2b\x18\xa3\xcd\x2a\xcf\x43\x69\x44\xe7\x56\xd9\x6c\x33\xc8\x37\x5a\x73\x3e\x7f\x1a\x48\x22\xb3\xe2\x3a\x9b\x31\x0e\xdf\x9e\x67\x1e\x37\xff\xa7\xfb\xed\x1b\x09\xdc\xbc\x96\xf2\xbe\x77\xc8\xfa\x2b\x58\xcb\xf7\x60\x87\x29\xe5\x31\x16\x67\x59\x08\x2e\xda\x19\x29\xdb\x2a\x8b\x49\xd7\xda\xb4\xdc\x45\xdf\x0b\x54\x33\x9e\x88\xc1\x36\xc1\x25\x8e\xa3\x86\xab\x2a\x0c\x30\xa1\x8b\x4e\x77\x80\xf3\x31\x0d\x59\x23\x8f\x5f\x28\x0b\xbf\x28\xb9\xfd\xe1\xfb\x57\x43\xc2\xd1\xd3\xd7\xc2\xa2\xe3\x10\xa4\xed\xa4\x70\x69\x84\xdb\x1a\xe0\x55\x4a\xaf\x38\x65\x58\xb8\x3f\xd5\xe0\x37\xbc\x2c\xa5\xb6\x7e\x32\x4f\xb0\x0c\xec\xe1\x09\xb1\x26\x79\x6d\xf7\xb6\xdf\xa5\x34\x49\x6a\xdf\x8f\xb4\xb8\x66\x94\x8d\x7b\x32\xec\xa1\xb8\xa7\x9b\xed\xe9\x60\x80\x46\x1c\xf2\x25\x0b\x2d\x13\x8a\x88\x8e\x0b\x13\x4a\x00\x96\x91\x4a\x8f\x5d\xca\x73\xf2\xc1\x88\x96\x1c\x1a\xe1\xc0\x76\xbc\x9c\x4c\x78\xef\x1b\x32\x84\x2d\x86\x54\x36\x29\xfd\x2b\xb1\x57\x9e\x03\x97\xef\x26\xfd\x47\xb5\x59\x67\x84\xda\x17\x35\xce\xed\xc0\x92\xc5\xac\xd8\x82\xe6\xc6\x8b\x23\x23\xf1\x64\x6b\xf7\xc8\x33\x20\x44\xa6\x29\xc4\x99\x37\x52\x0d\x25\xdf\x71\x0b\x8a\xb7\x90\x5e\x1e\xb0\xe1\x1e\x9d\x1f\xf7\xcc\x0b\x61\x2d\xeb\xe8\x4c\x42\xa3\x0a\x9d\x56\x7d\xbb\x03\x13\xc2\x64\x21\x81\x8c\xdc\x9e\x07\x3a\xbd\x8f\xc6\xef\xe3\x92\xc6\xa3\x7c\xb0\x02\x19\xb1\xd0\xb1\x33\x6d\xd8\x5e\xfa\x6b\xf9\x9f\x7f\x17\x14\x83\x72\xfd\x84\x3d\xf9\x1c\x94\x10\x95\x93\x8e\x00\x5e\x01\x80\x37\x81\xef\x3f\x42\x6f\xf7\xb1\xb4\x43\x5f\x26\x1a\x70\x7c\x27\xa1\x10\xca\x82\x71\x69\x24\xcc\x82\xe7\xe9\xcb\xf4\xab\x01\xd7\x1b\x35\x44\xb4\x9c\xc7\x79\x91\x27\x01\xfb\xcd\x53\x8f\x83\x66\x87\xc1\x92\x16\x57\x37\x0c\xff\x31\xaf\xdf\xe4\x76\x50\xd5\xc0\xe5\xdd\x02\xd3\x7f\x01\x00\x00\xff\xff\x42\x2c\x44\xb3\x27\x09\x00\x00") func runtimePluginsLinterLinterLuaBytes() ([]byte, error) { return bindataRead( @@ -295,7 +295,7 @@ func runtimePluginsLinterLinterLua() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/plugins/linter/linter.lua", size: 2252, mode: os.FileMode(420), modTime: time.Unix(1463528401, 0)} + info := bindataFileInfo{name: "runtime/plugins/linter/linter.lua", size: 2343, mode: os.FileMode(420), modTime: time.Unix(1464449489, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -315,7 +315,7 @@ func runtimeSyntaxDockerfileMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/Dockerfile.micro", size: 841, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/Dockerfile.micro", size: 841, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -335,7 +335,7 @@ func runtimeSyntaxLicense() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/LICENSE", size: 723, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/LICENSE", size: 723, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -355,7 +355,7 @@ func runtimeSyntaxMakefile() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/Makefile", size: 17, mode: os.FileMode(420), modTime: time.Unix(1463657027, 0)} + info := bindataFileInfo{name: "runtime/syntax/Makefile", size: 17, mode: os.FileMode(420), modTime: time.Unix(1464447123, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -375,7 +375,7 @@ func runtimeSyntaxReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/README.md", size: 1357, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/README.md", size: 1357, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -395,7 +395,7 @@ func runtimeSyntaxApacheconfMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/apacheconf.micro", size: 6276, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/apacheconf.micro", size: 6276, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -415,7 +415,7 @@ func runtimeSyntaxArduinoMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/arduino.micro", size: 3654, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/arduino.micro", size: 3654, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -435,7 +435,7 @@ func runtimeSyntaxAsciidocMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/asciidoc.micro", size: 984, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/asciidoc.micro", size: 984, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -455,7 +455,7 @@ func runtimeSyntaxAsmMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/asm.micro", size: 780, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/asm.micro", size: 780, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -475,7 +475,7 @@ func runtimeSyntaxAwkMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/awk.micro", size: 1213, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/awk.micro", size: 1213, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -495,7 +495,7 @@ func runtimeSyntaxCMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/c.micro", size: 1613, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/c.micro", size: 1613, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -515,7 +515,7 @@ func runtimeSyntaxCmakeMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/cmake.micro", size: 917, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/cmake.micro", size: 917, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -535,7 +535,7 @@ func runtimeSyntaxCoffeescriptMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/coffeescript.micro", size: 719, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/coffeescript.micro", size: 719, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -555,7 +555,7 @@ func runtimeSyntaxColortestMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/colortest.micro", size: 415, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/colortest.micro", size: 415, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -575,7 +575,7 @@ func runtimeSyntaxConfMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/conf.micro", size: 219, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/conf.micro", size: 219, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -595,7 +595,7 @@ func runtimeSyntaxConkyMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/conky.micro", size: 6330, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/conky.micro", size: 6330, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -615,7 +615,7 @@ func runtimeSyntaxCsharpMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/csharp.micro", size: 1437, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/csharp.micro", size: 1437, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -635,7 +635,7 @@ func runtimeSyntaxCssMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/css.micro", size: 335, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/css.micro", size: 335, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -655,7 +655,7 @@ func runtimeSyntaxCythonMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/cython.micro", size: 998, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/cython.micro", size: 998, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -675,7 +675,7 @@ func runtimeSyntaxDMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/d.micro", size: 3620, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/d.micro", size: 3620, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -695,7 +695,7 @@ func runtimeSyntaxDotMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/dot.micro", size: 729, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/dot.micro", size: 729, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -715,7 +715,7 @@ func runtimeSyntaxErbMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/erb.micro", size: 1357, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/erb.micro", size: 1357, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -735,7 +735,7 @@ func runtimeSyntaxFishMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/fish.micro", size: 1843, mode: os.FileMode(420), modTime: time.Unix(1463528401, 0)} + info := bindataFileInfo{name: "runtime/syntax/fish.micro", size: 1843, mode: os.FileMode(420), modTime: time.Unix(1464447123, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -755,7 +755,7 @@ func runtimeSyntaxFortranMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/fortran.micro", size: 2302, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/fortran.micro", size: 2302, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -775,7 +775,7 @@ func runtimeSyntaxGentooEbuildMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/gentoo-ebuild.micro", size: 1950, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/gentoo-ebuild.micro", size: 1950, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -795,7 +795,7 @@ func runtimeSyntaxGentooEtcPortageMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/gentoo-etc-portage.micro", size: 623, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/gentoo-etc-portage.micro", size: 623, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -815,7 +815,7 @@ func runtimeSyntaxGitCommitMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/git-commit.micro", size: 1129, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/git-commit.micro", size: 1129, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -835,7 +835,7 @@ func runtimeSyntaxGitConfigMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/git-config.micro", size: 254, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/git-config.micro", size: 254, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -855,7 +855,7 @@ func runtimeSyntaxGitRebaseTodoMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/git-rebase-todo.micro", size: 750, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/git-rebase-todo.micro", size: 750, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -875,7 +875,7 @@ func runtimeSyntaxGlslMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/glsl.micro", size: 882, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/glsl.micro", size: 882, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -895,7 +895,7 @@ func runtimeSyntaxGoMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/go.micro", size: 922, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/go.micro", size: 922, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -915,7 +915,7 @@ func runtimeSyntaxGroffMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/groff.micro", size: 723, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/groff.micro", size: 723, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -935,7 +935,7 @@ func runtimeSyntaxHamlMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/haml.micro", size: 585, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/haml.micro", size: 585, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -955,7 +955,7 @@ func runtimeSyntaxHaskellMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/haskell.micro", size: 1089, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/haskell.micro", size: 1089, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -975,7 +975,7 @@ func runtimeSyntaxHtmlMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/html.micro", size: 324, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/html.micro", size: 324, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -995,7 +995,7 @@ func runtimeSyntaxIniMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/ini.micro", size: 401, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/ini.micro", size: 401, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1015,7 +1015,7 @@ func runtimeSyntaxInputrcMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/inputrc.micro", size: 285, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/inputrc.micro", size: 285, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1035,7 +1035,7 @@ func runtimeSyntaxJavaMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/java.micro", size: 596, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/java.micro", size: 596, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1055,7 +1055,7 @@ func runtimeSyntaxJavascriptMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/javascript.micro", size: 1025, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/javascript.micro", size: 1025, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1075,7 +1075,7 @@ func runtimeSyntaxJsonMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/json.micro", size: 402, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/json.micro", size: 402, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1095,7 +1095,7 @@ func runtimeSyntaxKeymapMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/keymap.micro", size: 318, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/keymap.micro", size: 318, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1115,7 +1115,7 @@ func runtimeSyntaxKickstartMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/kickstart.micro", size: 607, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/kickstart.micro", size: 607, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1135,7 +1135,7 @@ func runtimeSyntaxLedgerMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/ledger.micro", size: 432, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/ledger.micro", size: 432, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1155,7 +1155,7 @@ func runtimeSyntaxLispMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/lisp.micro", size: 380, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/lisp.micro", size: 380, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1175,7 +1175,7 @@ func runtimeSyntaxLuaMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/lua.micro", size: 2923, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/lua.micro", size: 2923, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1195,7 +1195,7 @@ func runtimeSyntaxMakefileMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/makefile.micro", size: 967, mode: os.FileMode(420), modTime: time.Unix(1463657110, 0)} + info := bindataFileInfo{name: "runtime/syntax/makefile.micro", size: 967, mode: os.FileMode(420), modTime: time.Unix(1464447123, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1215,7 +1215,7 @@ func runtimeSyntaxManMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/man.micro", size: 264, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/man.micro", size: 264, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1235,7 +1235,7 @@ func runtimeSyntaxMarkdownMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/markdown.micro", size: 893, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/markdown.micro", size: 893, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1255,7 +1255,7 @@ func runtimeSyntaxMpdconfMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/mpdconf.micro", size: 389, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/mpdconf.micro", size: 389, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1275,7 +1275,7 @@ func runtimeSyntaxNanorcMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/nanorc.micro", size: 1042, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/nanorc.micro", size: 1042, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1295,7 +1295,7 @@ func runtimeSyntaxNginxMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/nginx.micro", size: 4846, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/nginx.micro", size: 4846, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1315,7 +1315,7 @@ func runtimeSyntaxOcamlMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/ocaml.micro", size: 767, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/ocaml.micro", size: 767, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1335,7 +1335,7 @@ func runtimeSyntaxPatchMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/patch.micro", size: 242, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/patch.micro", size: 242, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1355,7 +1355,7 @@ func runtimeSyntaxPegMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/peg.micro", size: 395, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/peg.micro", size: 395, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1375,7 +1375,7 @@ func runtimeSyntaxPerlMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/perl.micro", size: 1440, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/perl.micro", size: 1440, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1395,7 +1395,7 @@ func runtimeSyntaxPerl6Micro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/perl6.micro", size: 1649, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/perl6.micro", size: 1649, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1415,7 +1415,7 @@ func runtimeSyntaxPhpMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/php.micro", size: 1431, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/php.micro", size: 1431, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1435,7 +1435,7 @@ func runtimeSyntaxPkgConfigMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/pkg-config.micro", size: 245, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/pkg-config.micro", size: 245, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1455,7 +1455,7 @@ func runtimeSyntaxPkgbuildMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/pkgbuild.micro", size: 1424, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/pkgbuild.micro", size: 1424, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1475,7 +1475,7 @@ func runtimeSyntaxPoMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/po.micro", size: 221, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/po.micro", size: 221, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1495,7 +1495,7 @@ func runtimeSyntaxPovMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/pov.micro", size: 682, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/pov.micro", size: 682, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1515,7 +1515,7 @@ func runtimeSyntaxPrivoxyActionMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/privoxy-action.micro", size: 1545, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/privoxy-action.micro", size: 1545, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1535,7 +1535,7 @@ func runtimeSyntaxPrivoxyConfigMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/privoxy-config.micro", size: 804, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/privoxy-config.micro", size: 804, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1555,7 +1555,7 @@ func runtimeSyntaxPrivoxyFilterMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/privoxy-filter.micro", size: 390, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/privoxy-filter.micro", size: 390, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1575,7 +1575,7 @@ func runtimeSyntaxPuppetMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/puppet.micro", size: 1969, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/puppet.micro", size: 1969, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1595,7 +1595,7 @@ func runtimeSyntaxPythonMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/python.micro", size: 3037, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/python.micro", size: 3037, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1615,7 +1615,7 @@ func runtimeSyntaxRMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/r.micro", size: 238, mode: os.FileMode(420), modTime: time.Unix(1462230701, 0)} + info := bindataFileInfo{name: "runtime/syntax/r.micro", size: 238, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1635,7 +1635,7 @@ func runtimeSyntaxRestMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/reST.micro", size: 470, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/reST.micro", size: 470, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1655,7 +1655,7 @@ func runtimeSyntaxRpmspecMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/rpmspec.micro", size: 1626, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/rpmspec.micro", size: 1626, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1675,7 +1675,7 @@ func runtimeSyntaxRubyMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/ruby.micro", size: 1531, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/ruby.micro", size: 1531, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1695,7 +1695,7 @@ func runtimeSyntaxRustMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/rust.micro", size: 1077, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/rust.micro", size: 1077, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1715,7 +1715,7 @@ func runtimeSyntaxScalaMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/scala.micro", size: 670, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/scala.micro", size: 670, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1735,7 +1735,7 @@ func runtimeSyntaxSedMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/sed.micro", size: 240, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/sed.micro", size: 240, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1755,7 +1755,7 @@ func runtimeSyntaxShMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/sh.micro", size: 895, mode: os.FileMode(420), modTime: time.Unix(1463613125, 0)} + info := bindataFileInfo{name: "runtime/syntax/sh.micro", size: 895, mode: os.FileMode(420), modTime: time.Unix(1464447123, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1775,7 +1775,7 @@ func runtimeSyntaxSlsMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/sls.micro", size: 570, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/sls.micro", size: 570, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1795,7 +1795,7 @@ func runtimeSyntaxSqlMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/sql.micro", size: 1845, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/sql.micro", size: 1845, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1815,7 +1815,7 @@ func runtimeSyntaxSwiftMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/swift.micro", size: 1028, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/swift.micro", size: 1028, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1835,7 +1835,7 @@ func runtimeSyntaxSystemdMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/systemd.micro", size: 5103, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/systemd.micro", size: 5103, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1855,7 +1855,7 @@ func runtimeSyntaxTclMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/tcl.micro", size: 2273, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/tcl.micro", size: 2273, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1875,7 +1875,7 @@ func runtimeSyntaxTexMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/tex.micro", size: 246, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/tex.micro", size: 246, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1895,7 +1895,7 @@ func runtimeSyntaxValaMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/vala.micro", size: 789, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/vala.micro", size: 789, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1915,7 +1915,7 @@ func runtimeSyntaxViMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/vi.micro", size: 355, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/vi.micro", size: 355, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1935,7 +1935,7 @@ func runtimeSyntaxXmlMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/xml.micro", size: 281, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/xml.micro", size: 281, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1955,7 +1955,7 @@ func runtimeSyntaxXresourcesMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/xresources.micro", size: 297, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/xresources.micro", size: 297, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1975,7 +1975,7 @@ func runtimeSyntaxYamlMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/yaml.micro", size: 542, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/yaml.micro", size: 542, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1995,7 +1995,7 @@ func runtimeSyntaxYumMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/yum.micro", size: 276, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/yum.micro", size: 276, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -2015,7 +2015,7 @@ func runtimeSyntaxZshMicro() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime/syntax/zsh.micro", size: 1957, mode: os.FileMode(420), modTime: time.Unix(1461712799, 0)} + info := bindataFileInfo{name: "runtime/syntax/zsh.micro", size: 1957, mode: os.FileMode(420), modTime: time.Unix(1464446433, 0)} a := &asset{bytes: bytes, info: info} return a, nil } diff --git a/cmd/micro/statusline.go b/cmd/micro/statusline.go index 10ec0819..c08c147a 100644 --- a/cmd/micro/statusline.go +++ b/cmd/micro/statusline.go @@ -41,7 +41,7 @@ func (sline *Statusline) Display() { file += " " + sline.view.Buf.FileType rightText := "Ctrl-g for help " - if helpOpen { + if sline.view.helpOpen { rightText = "Ctrl-g to close help " } diff --git a/cmd/micro/view.go b/cmd/micro/view.go index a95ac6c4..f3f38c90 100644 --- a/cmd/micro/view.go +++ b/cmd/micro/view.go @@ -37,8 +37,17 @@ type View struct { // Holds the list of gutter messages messages map[string][]GutterMessage + // Is the help text opened in this view + helpOpen bool + + // Is this view modifiable? + Modifiable bool + // The buffer Buf *Buffer + // This is the buffer that was last opened + // This is used to open help, and then go back to the previously opened buffer + lastBuffer *Buffer // The statusline sline Statusline diff --git a/runtime/help/help.md b/runtime/help/help.md index 3458f3ed..a2abc842 100644 --- a/runtime/help/help.md +++ b/runtime/help/help.md @@ -21,15 +21,10 @@ You can move the cursor around with the arrow keys and mouse. These are the default keybindings, along with their actions. -#### Editor bindings - * Ctrl-q: Quit * Ctrl-e: Execute a command * Ctrl-g: Toggle help text * Ctrl-b: Run a shell command - -#### Buffer bindings - * Ctrl-s: Save * Ctrl-o: Open file * Ctrl-z: Undo @@ -55,7 +50,7 @@ ctrl up and down move the cursor the start and end of the buffer. You can hold shift with all of these movement actions to select while moving. -The buffer bindings may be rebound using the `~/.config/micro/bindings.json` +The bindings may be rebound using the `~/.config/micro/bindings.json` file. Each key is bound to an action. For example, to bind `Ctrl-y` to undo and `Ctrl-z` to redo, you could put the @@ -72,52 +67,64 @@ Here are the defaults: ```json { - "Up": "CursorUp", - "Down": "CursorDown", - "Right": "CursorRight", - "Left": "CursorLeft", - "ShiftUp": "SelectUp", - "ShiftDown": "SelectDown", - "ShiftLeft": "SelectLeft", - "ShiftRight": "SelectRight", - "AltLeft": "WordLeft", - "AltRight": "WordRight", - "AltShiftRight": "SelectWordRight", - "AltShiftLeft": "SelectWordLeft", - "CtrlLeft": "StartOfLine", - "CtrlRight": "EndOfLine", - "CtrlShiftLeft": "SelectToStartOfLine", - "CtrlShiftRight": "SelectToEndOfLine", - "CtrlUp": "CursorStart", - "CtrlDown": "CursorEnd", - "CtrlShiftUp": "SelectToStart", - "CtrlShiftDown": "SelectToEnd", - "Enter": "InsertEnter", - "Space": "InsertSpace", - "Backspace": "Backspace", - "Backspace2": "Backspace", - "Tab": "InsertTab", - "CtrlO": "OpenFile", - "CtrlS": "Save", - "CtrlF": "Find", - "CtrlN": "FindNext", - "CtrlP": "FindPrevious", - "CtrlZ": "Undo", - "CtrlY": "Redo", - "CtrlC": "Copy", - "CtrlX": "Cut", - "CtrlK": "CutLine", - "CtrlD": "DuplicateLine", - "CtrlV": "Paste", - "CtrlA": "SelectAll", - "Home": "Start", - "End": "End", - "PgUp": "PageUp", - "PgDn": "PageDown", - "CtrlU": "HalfPageUp", - "CtrlD": "HalfPageDown", - "CtrlR": "ToggleRuler", - "Delete": "Delete" + "Up": "CursorUp", + "Down": "CursorDown", + "Right": "CursorRight", + "Left": "CursorLeft", + "ShiftUp": "SelectUp", + "ShiftDown": "SelectDown", + "ShiftLeft": "SelectLeft", + "ShiftRight": "SelectRight", + "AltLeft": "WordLeft", + "AltRight": "WordRight", + "AltShiftRight": "SelectWordRight", + "AltShiftLeft": "SelectWordLeft", + "CtrlLeft": "StartOfLine", + "CtrlRight": "EndOfLine", + "CtrlShiftLeft": "SelectToStartOfLine", + "CtrlShiftRight": "SelectToEndOfLine", + "CtrlUp": "CursorStart", + "CtrlDown": "CursorEnd", + "CtrlShiftUp": "SelectToStart", + "CtrlShiftDown": "SelectToEnd", + "Enter": "InsertEnter", + "Space": "InsertSpace", + "Backspace": "Backspace", + "Backspace2": "Backspace", + "Tab": "InsertTab", + "CtrlO": "OpenFile", + "CtrlS": "Save", + "CtrlF": "Find", + "CtrlN": "FindNext", + "CtrlP": "FindPrevious", + "CtrlZ": "Undo", + "CtrlY": "Redo", + "CtrlC": "Copy", + "CtrlX": "Cut", + "CtrlK": "CutLine", + "CtrlD": "DuplicateLine", + "CtrlV": "Paste", + "CtrlA": "SelectAll", + "Home": "Start", + "End": "End", + "PgUp": "PageUp", + "PgDn": "PageDown", + "CtrlG": "ToggleHelp", + "CtrlR": "ToggleRuler", + "CtrlL": "JumpLine", + "Delete": "Delete", + "Esc": "ClearStatus", + "CtrlB": "ShellMode", + "CtrlQ": "Quit", + "CtrlE": "CommandMode", + + // Emacs-style keybindings + "Alt-f": "WordRight", + "Alt-b": "WordLeft", + "Alt-a": "StartOfLine", + "Alt-e": "EndOfLine", + "Alt-p": "CursorUp", + "Alt-n": "CursorDown", } ``` @@ -211,7 +218,7 @@ Here are the options that you can set: default value: `3` -* `scrollspeed`: amount of lines to scroll +* `scrollspeed`: amount of lines to scroll for one scroll event default value: `2` diff --git a/runtime/plugins/go/go.lua b/runtime/plugins/go/go.lua index 58d3ddf2..6c545f51 100644 --- a/runtime/plugins/go/go.lua +++ b/runtime/plugins/go/go.lua @@ -6,25 +6,25 @@ if GetOption("gofmt") == nil then end function go_onSave() - if view.Buf.FileType == "Go" then + if views[mainView+1].Buf.FileType == "Go" then if GetOption("goimports") then go_goimports() elseif GetOption("gofmt") then go_gofmt() end - view:ReOpen() + views[mainView+1]:ReOpen() end end function go_gofmt() - local handle = io.popen("gofmt -w " .. view.Buf.Path) + local handle = io.popen("gofmt -w " .. views[mainView+1].Buf.Path) local result = handle:read("*a") handle:close() end function go_goimports() - local handle = io.popen("goimports -w " .. view.Buf.Path) + local handle = io.popen("goimports -w " .. views[mainView+1].Buf.Path) local result = go_split(handle:read("*a"), ":") handle:close() end diff --git a/runtime/plugins/linter/linter.lua b/runtime/plugins/linter/linter.lua index 090603c1..9767da5d 100644 --- a/runtime/plugins/linter/linter.lua +++ b/runtime/plugins/linter/linter.lua @@ -4,15 +4,15 @@ end function linter_onSave() if GetOption("linter") then - local ft = view.Buf.FileType - local file = view.Buf.Path + local ft = views[mainView+1].Buf.FileType + local file = views[mainView+1].Buf.Path local devnull = "/dev/null" if OS == "windows" then devnull = "NUL" end if ft == "Go" then linter_lint("gobuild", "go build -o " .. devnull, "%f:%l: %m") - linter_lint("golint", "golint " .. view.Buf.Path, "%f:%l:%d+: %m") + linter_lint("golint", "golint " .. views[mainView+1].Buf.Path, "%f:%l:%d+: %m") elseif ft == "Lua" then linter_lint("luacheck", "luacheck --no-color " .. file, "%f:%l:%d+: %m") elseif ft == "Python" then @@ -27,12 +27,12 @@ function linter_onSave() linter_lint("jshint", "jshint " .. file, "%f: line %l,.+, %m") end else - view:ClearAllGutterMessages() + views[mainView+1]:ClearAllGutterMessages() end end function linter_lint(linter, cmd, errorformat) - view:ClearGutterMessages(linter) + views[mainView+1]:ClearGutterMessages(linter) local handle = io.popen("(" .. cmd .. ")" .. " 2>&1") local lines = linter_split(handle:read("*a"), "\n") @@ -44,8 +44,8 @@ function linter_lint(linter, cmd, errorformat) line = line:match("^%s*(.+)%s*$") if string.find(line, regex) then local file, line, msg = string.match(line, regex) - if linter_basename(view.Buf.Path) == linter_basename(file) then - view:GutterMessage(linter, tonumber(line), msg, 2) + if linter_basename(views[mainView+1].Buf.Path) == linter_basename(file) then + views[mainView+1]:GutterMessage(linter, tonumber(line), msg, 2) end end end