diff --git a/README.md b/README.md index 36bdc954..5ab77fcb 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,7 @@ [![Go Report Card](https://goreportcard.com/badge/github.com/zyedidia/micro)](https://goreportcard.com/report/github.com/zyedidia/micro) [![Join the chat at https://gitter.im/zyedidia/micro](https://badges.gitter.im/zyedidia/micro.svg)](https://gitter.im/zyedidia/micro?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/zyedidia/micro/blob/master/LICENSE) +[![Snap Status](https://build.snapcraft.io/badge/zyedidia/micro.svg)](https://build.snapcraft.io/user/zyedidia/micro) Micro is a terminal-based text editor that aims to be easy to use and intuitive, while also taking advantage of the full capabilities of modern terminals. It comes as one single, batteries-included, static binary with no dependencies, and you can download and use it right now. diff --git a/cmd/micro/actions.go b/cmd/micro/actions.go index 89e2a819..0042b00a 100644 --- a/cmd/micro/actions.go +++ b/cmd/micro/actions.go @@ -249,7 +249,7 @@ func (v *View) CursorRight(usePlugin bool) bool { } if v.Cursor.HasSelection() { - v.Cursor.Loc = v.Cursor.CurSelection[1].Move(-1, v.Buf) + v.Cursor.Loc = v.Cursor.CurSelection[1] v.Cursor.ResetSelection() v.Cursor.StoreVisualX() } else { @@ -347,7 +347,7 @@ func (v *View) SelectLeft(usePlugin bool) bool { } loc := v.Cursor.Loc - count := v.Buf.End().Move(-1, v.Buf) + count := v.Buf.End() if loc.GreaterThan(count) { loc = count } @@ -370,7 +370,7 @@ func (v *View) SelectRight(usePlugin bool) bool { } loc := v.Cursor.Loc - count := v.Buf.End().Move(-1, v.Buf) + count := v.Buf.End() if loc.GreaterThan(count) { loc = count } diff --git a/cmd/micro/cursor.go b/cmd/micro/cursor.go index a0d3477f..2b5889a0 100644 --- a/cmd/micro/cursor.go +++ b/cmd/micro/cursor.go @@ -249,20 +249,20 @@ func (c *Cursor) RuneUnder(x int) rune { func (c *Cursor) UpN(amount int) { proposedY := c.Y - amount if proposedY < 0 { - proposedY = 0 + c.X = 0 // first line: X moved before the first character + return } else if proposedY >= c.buf.NumLines { proposedY = c.buf.NumLines - 1 } - if proposedY == c.Y { - return + + runes := []rune(c.buf.Line(c.Y)) + c.X = c.GetCharPosInLine(proposedY, c.LastVisualX) + + if c.X > len(runes) || proposedY == c.Y { + c.X = len(runes) } c.Y = proposedY - runes := []rune(c.buf.Line(c.Y)) - c.X = c.GetCharPosInLine(c.Y, c.LastVisualX) - if c.X > len(runes) { - c.X = len(runes) - } } // DownN moves the cursor down N lines (if possible) diff --git a/cmd/micro/runtime.go b/cmd/micro/runtime.go index 1ae48007..91fefcf7 100644 --- a/cmd/micro/runtime.go +++ b/cmd/micro/runtime.go @@ -99,6 +99,7 @@ // runtime/syntax/java.yaml // runtime/syntax/javascript.yaml // runtime/syntax/json.yaml +// runtime/syntax/julia.yaml // runtime/syntax/keymap.yaml // runtime/syntax/kickstart.yaml // runtime/syntax/kotlin.yaml @@ -2209,6 +2210,26 @@ func runtimeSyntaxJsonYaml() (*asset, error) { return a, nil } +var _runtimeSyntaxJuliaYaml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x93\xdd\x72\xdb\x2c\x10\x86\xcf\x7d\x15\x7c\x24\x5f\x65\xc9\x23\x27\xa7\xd1\xf4\xf7\x36\x2a\xb0\x07\xa1\x95\x4d\x82\x16\x17\x50\x33\x6e\xb7\xbd\xf6\x0e\x38\x89\x6b\xc7\xed\x74\x74\xa0\xd1\xab\x7d\x9f\xfd\x61\x19\x8c\x85\xb8\xdf\x41\xc3\xee\x27\x6b\xd4\x6c\xd6\x43\x04\x1d\x9b\x19\x63\x8c\xa5\x9f\xa8\x46\x68\x18\x17\x62\x79\x6f\xaf\x79\x96\xb7\xa0\x7a\xf0\x0d\xe3\xab\xab\xff\x96\xd5\xcd\x1c\xf0\x2b\x5b\x94\x1f\x32\x60\xce\xe8\xba\xe4\xb3\x99\x9f\x2c\x84\x66\x96\xe3\xaf\x58\x37\x19\x1b\x6b\x83\xcc\x75\xf7\xa0\x63\xc8\x72\xcd\xb4\xc3\x10\x15\xc6\x65\xe7\x9c\xcd\x49\xba\x79\xf4\x13\xd0\xa0\x6c\x80\x52\x88\xee\x90\xf0\x04\xa1\x62\xf4\xa6\x9b\x22\x9c\x53\x1a\xc6\xd7\xeb\xf6\x53\xfd\x59\xd5\xdf\x6e\xeb\xbb\xb5\x5c\xac\xd7\x47\x7f\x0f\x83\x41\x13\x8d\xc3\x67\x9f\xe9\x01\xa3\x19\x4c\x6e\xe5\xc9\xb7\x96\xbf\x03\xaa\xb6\x6d\xc2\x4e\x69\x68\xa4\xac\xda\xb9\x3c\xd2\x1e\x60\xff\xe8\x7c\xff\x8c\x0a\x51\x45\x18\x21\xd7\x90\x9a\xe8\x60\x63\x90\x3a\x0f\xea\x81\xb4\x8a\x7a\x4b\xda\x61\x34\x98\x5a\x9b\x50\xa7\x2a\x08\x6c\x00\x33\xe4\x17\x01\xf6\x34\x18\x54\xd6\xee\x69\x70\x9e\x36\xd6\x75\xca\x92\x75\x5a\x59\x32\x03\x19\xd4\x76\xea\x81\xa6\x60\x70\x43\x1e\xbe\x4c\xc6\x03\x8d\x4a\x7b\x47\x3b\x6f\x30\x5a\x24\x0f\x71\xf2\x48\xd1\xef\x29\x1d\x28\x3d\x6e\x8d\x05\x1a\x5d\x3f\xd9\xb3\x51\xf6\xa0\x9d\x57\xd1\xf9\xd7\x93\x58\x66\x66\xc3\xf8\xc7\x93\x41\x1e\xbd\x6e\x07\x27\xd6\xb0\x1f\x3b\x67\x97\xcf\x72\x9a\x64\xbd\xa8\x6e\xe8\xdd\xff\x6f\xdf\xbf\xf9\xb9\x92\x94\xc6\xa1\xb0\x27\x74\x91\x9c\x27\x13\xc8\xe0\x69\x39\x3b\xe5\x01\xe3\x16\x02\x9c\x41\x3b\xaf\xf4\x03\xc4\xd0\x30\x3e\x6f\xe7\xe5\xf7\x1f\x89\xd6\x92\x10\xb2\x3c\xba\x71\x1a\x3b\xf0\xaf\x36\xea\x20\x1f\x8e\xa3\xbd\xad\xef\xe4\x22\xe7\x3c\x0f\x0b\xd1\x1b\xdc\xa4\x30\x3e\x17\x42\x88\x25\xb5\x2b\xc1\x65\x59\x09\x4e\xc5\x8b\x52\xc8\xb2\x2a\xf8\xd3\x2e\x5f\x72\xb7\x85\x4c\x51\x55\xbb\x4a\x16\xd9\x16\xf2\xaf\xd1\x82\xcb\x9c\x26\xc7\xcb\xf4\xf9\xc7\xca\x9e\xfa\x64\x69\xc5\x7c\x5e\xaf\xfc\xf0\x17\x1d\xb0\xbf\xa0\x1e\xae\x1f\x6b\xe5\x3f\x73\x8b\xa2\x38\x87\x9e\x48\x17\x88\x63\xde\xf8\x57\xa4\xab\x73\xce\xf5\x25\xca\xaf\x00\x00\x00\xff\xff\xfd\x7f\x86\x7c\x79\x04\x00\x00") + +func runtimeSyntaxJuliaYamlBytes() ([]byte, error) { + return bindataRead( + _runtimeSyntaxJuliaYaml, + "runtime/syntax/julia.yaml", + ) +} + +func runtimeSyntaxJuliaYaml() (*asset, error) { + bytes, err := runtimeSyntaxJuliaYamlBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "runtime/syntax/julia.yaml", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + var _runtimeSyntaxKeymapYaml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x90\xd1\x6a\x33\x21\x10\x85\xef\x7d\x0a\x7f\x09\x24\xe1\x27\x4b\x6f\xbb\x50\x7a\xd1\x97\x28\xc4\x14\x66\x75\xd2\x2c\xeb\xa8\xe8\xa4\xb0\xe0\xc3\x97\x5d\x69\xbb\xdd\x50\xe8\x4d\xe7\x66\x64\xf4\x9c\xf3\x39\xe7\xde\x21\x8f\x11\x5b\x39\xe0\x48\x10\x85\xb0\xc8\x68\xb8\x15\x52\x4a\x39\xdd\x7a\x20\x6c\xa5\xd2\xba\xd9\x0d\x65\xc0\x71\xff\x48\x10\x37\xe5\x99\x82\x9d\x0e\x4a\x88\x74\x75\x98\xab\xe0\x20\x33\x03\x23\xa1\xe7\x59\xd3\xed\xc0\xda\x62\x1c\x42\x2a\x26\x50\x0c\x19\x27\x0f\x13\xec\xdc\x09\x62\x9e\x7a\x1e\xa9\x24\xa4\xf0\x86\x25\x73\xea\xfd\xeb\x5e\xeb\x4e\xfd\xe0\x68\x82\xe7\x14\x5c\x01\xc7\x25\x5f\xfa\x33\x2f\x1f\x9b\xe0\x33\x83\xe7\xc6\x5f\xa9\xc3\x54\x25\xc7\xbb\xc3\xfd\xe9\xff\xd2\x32\xa2\xe9\xc1\xb5\x52\x3d\xdc\x08\x2b\x40\xfd\xce\x54\x99\x21\xcd\xd1\x4a\x7d\xce\xd0\xdb\xd5\x24\x0f\x7d\x9c\xc3\xb4\x6e\xbe\xa6\x8b\xcd\x7c\xd4\x32\xa9\x52\x3c\x5d\x20\x7d\x97\xfe\x82\x66\xbb\x86\xd9\xfe\x21\x0b\xcd\xdb\xbf\x61\x78\xf9\xb7\x86\xd8\xac\xe3\xe4\xf1\x24\xc4\x7b\x00\x00\x00\xff\xff\x2a\x3b\x25\xf2\x64\x02\x00\x00") func runtimeSyntaxKeymapYamlBytes() ([]byte, error) { @@ -2269,7 +2290,7 @@ func runtimeSyntaxKotlinYaml() (*asset, error) { return a, nil } -var _runtimeSyntaxLedgerYaml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x90\xd1\x4a\xc3\x30\x14\x86\xef\xfb\x14\x67\xc5\x8b\xa4\x23\x9b\x88\x37\x46\x46\xf1\x35\x6c\x32\x49\xd3\xb3\x51\x68\xd3\x92\x9c\x09\xd3\xb8\x67\x97\xac\x8e\x75\x20\x78\xe1\x5d\x7e\xfe\x7c\xdf\xe1\x9c\x5d\xdb\x21\x1d\x47\x94\xd0\x61\xb3\x47\x9f\x65\x0d\x12\x5a\x92\x90\x01\x00\xa4\xda\x99\x1e\x25\xe4\x6c\x1b\x95\x5a\xc5\x35\x9f\x3e\xc6\xae\xd9\xfb\x58\xa3\x71\x76\x38\x38\x8a\xb5\xb3\x74\x97\x67\x99\x3f\x74\x18\xe4\x19\x16\x10\x46\xb4\xad\xe9\x24\xe4\x5b\x56\xdd\x8b\x27\xfd\xf9\xf8\xc5\xd6\x51\xf0\x29\x3c\xdc\x86\x58\x6d\x4e\x9a\xc3\xaa\xc8\x7f\x70\x3b\xb8\x40\xc6\x51\xe2\xff\xc6\x2f\x54\x20\x43\xd8\xe3\x84\x9d\x66\xba\xb6\x41\x47\xed\xae\x45\xbf\x7a\x37\x3e\xb5\x9b\x5f\xdb\xf3\xb8\x4a\x86\xd1\x58\x94\x5a\x2f\xd9\x62\x9e\x78\xa9\x14\x2b\xab\x17\xf1\x6a\xc4\x07\xe8\x25\x93\xd7\x37\x2f\x94\xe2\xe5\xbf\x8c\x6f\x4a\x89\x99\x74\x8a\xb7\xde\x70\xec\xeb\x21\x1d\xb5\x2a\x16\xfa\x7a\xab\xfe\xb2\xf3\xcc\x5d\x3c\xa7\x05\xbf\x03\x00\x00\xff\xff\x8d\x83\x88\xfd\xe5\x01\x00\x00") +var _runtimeSyntaxLedgerYaml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x90\xd1\x4a\xc3\x30\x14\x86\xef\xfb\x14\x67\xc5\x8b\xa4\x23\x9b\x88\x37\x46\x46\xf1\x35\x6c\x32\x49\xd3\xb3\x51\x68\xd3\x92\x9c\x09\xd3\xb8\x67\x97\xac\x8e\x75\x20\x78\xe1\x5d\x7e\xfe\x7c\xdf\xe1\x9c\x5d\xdb\x21\x1d\x47\x94\xd0\x61\xb3\x47\x9f\x65\x0d\x12\x5a\x92\x90\x01\x00\xa4\xda\x99\x1e\x25\xe4\x6c\x1b\x95\x5a\xc5\x35\x67\xd3\xcf\xd8\x35\x7b\x1f\x6b\x34\xce\x0e\x07\x47\xb1\x76\x96\xf8\x5d\x9e\x65\xfe\xd0\x61\x90\x67\x5c\x40\x18\xd1\xb6\xa6\x93\x90\x6f\x59\x75\x2f\x9e\xf4\xe7\xe3\x17\x5b\x47\xc1\xa7\xf0\x70\x1b\x62\xb5\x39\x69\x0e\xab\x22\xff\xc1\xed\xe0\x02\x19\x47\x89\xff\x1b\xbf\x50\x81\x0c\x61\x8f\x13\x76\x9a\xe9\xda\x06\x1d\xb5\xbb\x16\xfd\xea\xdd\xf8\xd4\x6e\x7e\x6d\xcf\xe3\x2a\x19\x46\x63\x51\x6a\xbd\x64\x8b\x79\xe2\xa5\x52\xac\xac\x5e\xc4\xab\x11\x1f\xa0\x97\x4c\x5e\xdf\xbc\x50\x8a\x97\xff\x32\xbe\x29\x25\x66\xd2\x29\xde\x7a\xc3\xb1\xaf\x87\x74\xd4\xaa\x58\xe8\xeb\xad\xfa\xcb\xce\x33\x77\xf1\x9c\x16\xfc\x0e\x00\x00\xff\xff\x6c\xff\x51\x0c\xe7\x01\x00\x00") func runtimeSyntaxLedgerYamlBytes() ([]byte, error) { return bindataRead( @@ -3149,7 +3170,7 @@ func runtimeSyntaxSwiftYaml() (*asset, error) { return a, nil } -var _runtimeSyntaxSyntax_checkerGo = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x64\x8f\xcd\x6a\xeb\x30\x10\x85\xd7\x9a\xa7\x98\x08\x2e\xc8\x60\xe4\x7d\x20\xbb\xdc\xcb\x5d\x85\xd0\x6e\x0b\x41\xb5\x25\x7b\xa8\x7e\x82\x7e\xa0\x69\xc9\xbb\x17\xc9\x69\xda\xd2\x85\x40\x3a\x3a\x73\xbe\x33\x67\x35\xbe\xa8\x59\xa3\x53\xe4\x01\xc8\x9d\x43\xcc\x28\x80\x71\xe3\x32\x07\xc6\x29\x0c\x14\x4a\x26\x5b\x1f\x29\x47\xf2\x73\xe2\x00\x8c\xcf\x94\x97\xf2\x2c\xc7\xe0\x86\xb7\x8b\x9e\x68\x22\x35\x38\x1a\x63\x18\x46\x37\xdd\x6e\x0b\xcd\x8b\xa5\x79\xc9\x1c\x3a\x00\x53\xfc\xd8\x38\xa2\xc3\x77\x60\x86\xac\x4e\x3d\x9e\x70\xbb\xc3\x15\x21\x1f\xb4\x9a\xf6\x14\x05\x97\xbc\x03\x60\x8b\x9a\xfe\xc6\x58\xff\x8d\xb2\x49\x03\x33\x21\xe2\xa9\x47\x53\xa5\xa8\xfc\xac\xb1\x85\xd4\x34\x46\x06\x6f\xf5\xe4\x7f\x95\x1e\x8b\x31\xf4\x2a\x8c\x3c\x28\xa7\x45\xd7\x23\x97\x17\xe5\x2c\x6f\x64\xc6\xc8\x9f\x4b\xfe\xcd\xfe\x47\x56\xdf\x67\xba\x6a\x3c\xf5\xa8\xd7\x0a\xf7\x5d\xe4\x51\xc5\xa4\xf7\xda\x88\x96\xd2\x6c\x64\x9a\x6d\xb3\x43\x4f\x76\x45\x7c\xb6\xdf\x61\x8e\x45\x37\xc5\xb8\x2c\x8f\x91\x7c\x36\x82\xff\x49\xdb\x27\xcf\x7b\xfc\x41\xfb\x72\x58\x2f\x74\x8c\xab\x38\x06\x9f\xc9\xaf\x19\x57\x68\xe7\x0a\x15\xb9\xb9\x21\x2a\xef\xfb\x24\x3f\x04\xa4\x94\x8a\x4e\x1b\xde\x55\xf3\x15\x3e\x02\x00\x00\xff\xff\xc5\x16\xb7\x9a\xe7\x01\x00\x00") +var _runtimeSyntaxSyntax_checkerGo = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x91\x4f\x6b\xdc\x30\x10\xc5\xcf\xd2\xa7\x98\x15\x04\x64\x70\x65\xf6\x1a\xd8\x5e\x92\x96\x9e\x42\x68\xaf\x85\x45\xb5\x35\xf6\x10\xfd\x59\xf4\x07\x9a\x96\xfd\xee\x45\xf2\xd6\x64\xdb\x3d\x14\x0a\xc6\xd8\xe3\x37\xef\xfd\x9e\x75\xd2\xe3\x8b\x9e\x0d\x38\x4d\x9e\x73\x72\xa7\x10\x33\x48\xce\x04\xba\x2c\x38\x13\x14\x06\x0a\x25\x93\xad\x2f\x29\x47\xf2\x73\x12\x9c\x33\x31\x53\x5e\xca\x37\x35\x06\x37\xfc\x78\x35\x13\x4d\xa4\x07\x47\x63\x0c\xc3\xe8\xa6\xcb\xd3\x42\xf3\x62\x69\x5e\xb2\xe0\x1d\xe7\x58\xfc\xd8\x72\x64\x07\x3f\x39\x43\xb2\x26\xf5\x70\x84\xfb\x03\xac\x11\xea\xb3\xd1\xd3\x23\x45\x29\x94\xe8\x38\x67\x8b\x9e\x3e\xc4\x58\xbf\xa3\xb6\xc9\x70\x86\x21\xc2\xb1\x07\xac\xa3\xa8\xfd\x6c\xa0\x99\x54\x37\x46\x08\x17\x3c\xf5\x49\xa7\x2f\x05\x91\xbe\x4b\x54\x4f\xda\x19\xd9\xf5\x20\xd4\xab\x76\x56\xb4\x64\xc6\xc8\x9f\x4a\xfe\x3b\xfb\x23\x59\xb3\xed\x74\x55\x38\x0c\xe8\xb2\x7a\x8e\xe4\xb3\xf5\x52\x3c\x2c\x66\x7c\x21\x3f\xb7\x5c\x78\xf7\x1e\x44\x0f\x57\xfa\x3a\xef\xc1\xac\xd4\x5b\x7d\xf5\xac\x63\x32\xcd\xbd\x25\x37\x29\x61\xd3\xed\x0e\xe0\xc9\xae\x58\xbf\x1b\x1f\x20\xc7\x62\xda\x64\x8b\x47\x29\x1e\x42\xb1\x13\xf8\x90\xe1\x54\xfd\x36\x88\xbb\x74\xff\xd5\xff\x49\xc2\xde\x82\x9b\x18\xd7\xe1\x18\x7c\x26\xbf\x7a\x9f\xeb\xed\xd8\x68\xf7\x37\x70\x1f\x0d\xca\xb5\x8e\x27\xfb\x86\x78\xff\x3f\xc8\xad\xfe\x0a\x5e\x52\xfd\x91\x37\x42\xef\x52\xf7\x0f\x7d\xf6\xb7\x0b\x9d\x79\xbd\x08\x61\x77\x01\xab\x94\x57\x67\xf8\x14\x80\x52\x2a\x26\x01\x86\xe2\xa7\x9d\xe8\xea\xca\x99\xff\x0a\x00\x00\xff\xff\x81\x30\x89\xf2\x0a\x03\x00\x00") func runtimeSyntaxSyntax_checkerGoBytes() ([]byte, error) { return bindataRead( @@ -3169,7 +3190,7 @@ func runtimeSyntaxSyntax_checkerGo() (*asset, error) { return a, nil } -var _runtimeSyntaxSyntax_converterGo = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x58\x5f\x6f\xdb\xb6\x16\x7f\x96\x3e\xc5\xb9\xbc\x28\x20\xd5\xaa\x8c\x26\xe9\x8b\xef\x35\x82\x61\x58\xd1\x0e\xe8\x56\xc4\xdb\x53\x64\x34\x8c\x45\xdb\x5c\x25\x4a\x20\xa9\x34\x41\xe6\xef\x3e\x9c\x43\x4a\xf2\xff\xd8\xdd\xb0\x17\x47\x3c\xe4\xf9\xf7\xe3\xf9\x1d\x92\xa9\xf9\xec\x2b\x5f\x08\x28\xb9\x54\x61\x28\xcb\xba\xd2\x16\xa2\x30\x60\xf3\xd2\xb2\x30\x60\xb2\x1a\xca\xaa\xb1\xb2\xc0\x41\x65\xf0\x57\x8b\x85\x78\xac\xf1\xcb\x58\x2d\xd5\xc2\xb0\x30\x0e\x43\xfb\x54\x0b\x98\x48\xb5\x28\xc4\x4d\x53\x08\x30\x56\x37\x33\x0b\xcf\x61\x30\xab\x8a\x4a\x83\x5b\x1b\x06\xa4\xdd\x8e\x56\x5e\xef\x53\x53\x58\x79\x54\xcd\x58\xae\x6d\x37\x12\x2a\x07\x58\x33\x32\x1c\xc2\xcf\x95\x54\x64\xc1\xf2\xaf\xc2\x00\x07\xf3\xa4\x2c\x7f\x04\x8d\xb2\xe8\xdb\x52\xce\x96\x30\xe3\x0a\xee\x05\x94\xe8\xad\x2e\x04\x68\xb1\x68\x0a\xae\x41\x3c\xd6\x5a\x18\x23\x2b\x65\x62\xb4\xc5\x55\x0e\x7f\x54\x52\x19\x90\x16\xa4\xb2\x15\x54\x6a\xdf\x6a\xb8\x7f\x82\x5f\x6f\xa4\x5a\x80\x78\x10\xfa\xc9\x2e\xf1\xd3\x56\x0b\x61\x97\x42\x87\xf3\x46\xcd\xba\xb0\x22\xed\xb3\x93\x6a\x11\xfb\xbf\x98\xa5\xa9\x0b\x69\x61\x34\xf6\x22\x93\x4e\x50\x40\xab\x13\xb8\x63\xc0\xee\xe2\x30\xc0\x58\x44\xbe\xbe\x0a\xcd\x46\xa4\x9b\x00\xfb\x93\xf5\x6b\xc6\xe0\x3e\x10\x68\xdb\x68\xd5\x0e\x57\xa1\x8b\xa7\xe6\xda\x88\xf7\xb2\x10\x91\x15\x8f\x36\x81\xb9\x2c\x84\xe2\x65\x1f\x5a\x84\x12\xdc\x94\xc4\x23\x98\xc0\x52\xf0\x5c\xb4\x5b\x91\x10\xa2\x06\x6e\xa7\x52\x59\xa1\xe7\x7c\x26\x9e\x57\x31\xa6\x52\x48\x25\xcc\x6e\x2a\xce\x0f\xcb\x14\x8b\xc3\x30\x18\x0e\xe1\x86\x2a\x60\x5e\x69\x0a\x06\x71\xf0\x5b\x65\x2c\xb7\xa2\x14\xca\x9a\x30\x70\xa2\xcf\x18\xad\x46\x9b\xae\xe8\xd2\x4f\x8d\xb1\x3f\x56\x65\x8d\x09\xdc\x79\x35\x16\xa5\xaf\xaf\x63\x96\x99\x01\x7e\xc5\x6c\x80\x90\xed\xf5\xd3\x25\xd2\xfb\x71\xa2\xe3\x7e\xbc\x9a\xb3\x7e\x77\x38\x0b\xcb\x55\xce\x75\xbe\x5e\x79\x26\x0c\xf0\xcf\x71\xfb\xae\xd2\x29\x8b\xcc\x0c\xa2\xeb\x51\x16\x45\xe9\xe0\x3a\xbe\xce\x70\x1c\x5f\x77\x8e\x8f\xa2\xe7\xb6\xe5\x9b\xb4\x4b\x20\xb2\x8c\x59\x9a\xa6\x0c\x84\xca\xdd\x97\x8b\x64\x82\x53\x3f\xa9\xfc\xef\x45\xe4\x1d\x50\x5c\x99\x19\x90\x8f\x1e\x1d\x0c\x0e\x8b\xe1\x97\xa6\x4c\xe8\x83\xdc\x70\xb5\x10\xe0\x6a\xe4\x39\x0c\xa8\x5a\xa0\xaf\x95\xdf\xb4\x2c\x27\x35\x9f\x89\x08\x27\xe2\x30\x08\xe4\xdc\xe9\x8e\xc7\xc0\x18\xa9\x04\xb3\x4a\x59\xa9\x1a\x11\x06\xc1\xca\xad\x68\xd5\x3f\x70\xf3\x59\x8b\xb9\x7c\x24\xf5\x04\xd8\x7f\x59\x7c\xb6\x8e\x03\xb2\x55\x74\xa3\x4f\xdc\xce\x96\xbe\xac\xd7\x4a\x32\x7d\x2f\x55\x3e\x69\xee\x4b\x9c\x8e\x6e\xa7\xf7\x4f\xd6\x47\x8e\xa1\x53\xec\x42\x45\x1b\x26\x62\xcc\xe4\xd2\xd9\x0e\x5a\x92\x75\x08\x6c\xae\xbd\x7d\x3b\x25\x3b\x3e\x08\x18\xf7\x7d\x64\xef\xf2\x8b\xa9\xf3\xbb\x02\x51\x18\xd1\xfa\x28\x6d\xfa\x59\x4b\x65\x0b\x15\xb5\x34\x4f\xfa\x8d\x61\x93\x2d\xd6\x81\x34\xa0\x2a\x0b\x0f\xbc\x90\xf9\x08\xd8\xa0\xdd\x89\x0d\x10\x09\xc5\x97\x90\x74\x8c\x69\x91\x1c\x0e\xe1\xc3\x16\xf3\x50\xec\x16\xad\x01\xbc\xce\xc5\xd3\x00\xde\x30\x41\x00\x5f\xf8\xe4\x3d\x67\x77\x81\xdb\x50\x41\x9c\xcf\x07\x6e\x3b\x99\xb3\x80\x0b\x09\x8f\x49\xcf\xd9\x04\xee\x1b\x8b\x07\xcd\xac\x6a\x8a\x1c\xcf\xa7\xae\x91\xd0\xf9\xc7\xb5\x7d\x23\x54\xee\x10\xef\x9b\x49\x4a\x29\x4c\x5c\x52\xe4\xb0\x03\x7b\xb2\xa7\x11\xf9\x29\xd2\x05\xbb\x74\x4c\xa4\x32\xf7\x18\x13\x47\x7b\xeb\xc7\xe1\x7f\xe0\x1a\x36\xcf\x67\x27\xa3\x5e\x32\xb1\xdb\xe2\x79\xc1\x17\x66\x4d\xd6\xd2\xc3\xdb\xa7\x8d\xbb\xf2\xe0\x0f\x87\xf0\x91\xa6\x11\xd5\x2b\x0c\x55\x51\xbc\x0d\xb6\x2b\x53\x8b\x99\x9c\x4b\x91\x83\xa9\x4a\x01\x3c\xcf\xa5\x95\x95\xe2\x85\x77\x61\x2b\x5c\xe7\x91\xc7\xf0\x7a\x7a\x79\x5f\x1d\xb3\x9c\xc2\xee\xfc\x85\x9f\x97\x73\x6f\xf3\x3f\x7d\xff\x09\x82\x2e\xc1\x31\xb0\xe8\x9a\xc1\xc0\x2f\x1a\x00\x8b\x71\xb4\x43\xd3\xd6\xec\xa5\x2f\xb4\xcd\x4a\x5b\xb7\x77\x82\xea\x5a\xa5\xee\x83\xf0\x72\x1f\x84\x97\x09\xa8\x6a\x17\xa9\x6f\x42\x0b\x58\xc8\x07\xa1\x4e\x42\xeb\x94\x38\xf7\x36\xa1\x8d\x58\x90\x24\x97\x58\xd5\xb4\xaf\x5a\xa0\x8c\x43\xad\xab\xfb\x42\x94\x27\x51\xef\xa3\x22\x92\xf5\xdc\x3b\x46\x37\xfc\x75\xa7\xe2\x18\x78\x5d\x0b\x95\xd3\xbd\xca\x24\x6b\xf7\xd4\x67\xca\x3c\xe9\x2a\x77\x85\x86\x7a\x8c\x77\x8f\xcc\xe3\xbc\x73\x5c\xdd\x26\xde\x36\xc7\xb6\x2c\x7e\x1f\xd7\x36\x6f\xc4\x4e\x46\xbe\x3b\xc9\x70\x08\xbf\x1b\x01\x25\xdd\x67\x8d\xdf\xf8\xfb\x27\xc8\xc5\x9c\x37\x05\xf5\x60\x27\x1b\x8d\x81\x95\x78\xb7\xdf\x4f\xcd\x77\xfb\xf6\xf2\x5d\xcf\xca\x5a\x57\x0f\x32\x3f\x44\xca\x33\xd8\x38\x38\x4c\x47\x97\xed\xee\xfc\xa5\x9f\xc7\xcc\x77\x67\xaf\xa6\xf1\x0b\x9c\x39\xdc\x76\x5c\x6e\xb9\xcc\xa9\x6c\x7d\x8e\xdf\x97\xdd\xa1\xe0\x2f\x8e\x06\x7f\x39\x3d\x81\x4e\x57\x48\xa7\x77\xff\x1a\x9d\x86\x43\x77\xcf\xbc\xa5\x94\xa7\x87\xda\x20\x8b\xf0\xd7\xa5\x8d\xb2\xf4\xf5\x35\x49\x30\x51\x5a\x73\x98\x9a\xdd\x53\xb0\x65\x26\x59\x49\x50\xd5\x71\x33\xa4\x50\xdc\xeb\xa6\x7b\xd6\x2c\x84\x12\x9a\x5b\xf7\xb2\xf9\xbe\x17\x4c\xff\x26\xab\x1a\x5b\x37\xf4\x28\x63\x2c\xec\x86\x83\x31\x20\x9c\x93\x1a\xf1\x9c\x47\xac\xf5\x32\x82\x57\x26\x53\x99\x62\xee\x31\x85\xa2\xf8\xa0\x52\x2e\xac\x98\xd9\x11\x64\x0a\x00\xba\xc7\xd7\x08\x32\xf6\xca\x64\x8c\x8c\xb4\x97\xaa\x1b\x51\x17\x78\x1f\xde\x19\xfb\x9c\x58\x96\x31\xfa\xa5\xbf\x6f\xde\xc6\x38\x60\x5e\xc4\x9c\x08\x6f\xe3\x72\xde\xa6\xdf\x9f\x64\x07\xa2\xc3\x98\xdc\xda\xb3\x22\x72\x2a\xa7\x46\x44\xdb\xd7\x07\xc0\x32\x45\xdb\x31\xca\x14\xf3\x6f\x87\x2f\x09\xe8\xfe\xc9\xe0\x36\xeb\xb9\xbf\xff\x24\x50\x7d\xa5\xe9\x34\xea\xfb\x78\xfc\x3f\x94\x12\x49\x8e\x24\xf7\x06\x5e\x99\x8d\xd4\xd0\x5e\xda\x15\xda\xf1\x34\x69\x2d\x9d\x13\x27\xa7\xba\x75\x92\xac\x45\xde\x95\xf9\x19\x81\x6f\x45\x1c\xbf\xa0\x03\xf4\x2f\x12\xae\xed\x59\x9b\x49\xf6\x3d\xe7\x4e\xcd\xf2\xa5\x28\x84\xca\xcf\x8f\x41\xa8\xfc\x9f\x8b\xc0\x95\x18\xdc\x4e\x89\xa9\x3b\x7d\x04\x9c\x7a\xd7\x4e\x4a\x2e\x55\x44\x07\xbb\x3f\x33\x2a\x93\xfe\xa0\x17\x26\x86\xff\xfb\x17\xc6\x7a\x67\x65\x78\xc1\xd2\x0b\x43\x76\x7d\x63\x22\xe3\x39\xb7\x3c\x81\x2f\xb8\xe5\xee\x9f\x68\xe9\x8d\xe0\x39\xf5\x28\x6f\xd0\x1d\x11\x9d\xb1\x68\xa3\x8f\xf5\xff\xab\xf1\x47\x03\xda\x8b\x13\x58\xd3\x8d\xe3\x70\x15\xfe\x15\x00\x00\xff\xff\x51\x4d\x1d\x2e\xc4\x13\x00\x00") +var _runtimeSyntaxSyntax_converterGo = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x58\x5d\x6f\xdb\xb8\x12\x7d\x96\x7e\xc5\x5c\x5e\x14\x90\x6a\x55\x46\x93\xf4\x25\xf7\x1a\xc1\xc5\xc5\x16\xed\x02\xdd\x2d\xe2\xdd\xa7\xc8\x68\x18\x8b\x96\xb9\x95\x28\x81\xa4\xd2\x04\xd9\xfc\xf7\xc5\x0c\x29\xc9\xdf\xb1\xbb\xc5\xbe\x38\xe2\x90\x33\x3c\x73\x38\x87\x1f\x69\xf8\xfc\x2b\x2f\x04\x54\x5c\xaa\x30\x94\x55\x53\x6b\x0b\x51\x18\xb0\x45\x65\x59\x18\x30\x59\x8f\x65\xdd\x5a\x59\x62\xa3\x36\xf8\xab\x45\x21\x1e\x1a\xfc\x32\x56\x4b\x55\x18\x16\xc6\x61\x68\x1f\x1b\x01\x53\xa9\x8a\x52\x5c\xb7\xa5\x00\x63\x75\x3b\xb7\xf0\x14\x06\xf3\xba\xac\x35\xb8\xb1\x61\x40\xde\x5d\xeb\xd9\xfb\x7d\x6a\x4b\x2b\x0f\xba\x19\xcb\xb5\xed\x5b\x42\xe5\x00\x2b\x41\xc6\x63\xf8\xb9\x96\x8a\x22\x58\xfe\x55\x18\xe0\x60\x1e\x95\xe5\x0f\xa0\xd1\x16\x7d\x5b\xca\xf9\x12\xe6\x5c\xc1\x9d\x80\x0a\x67\x6b\x4a\x01\x5a\x14\x6d\xc9\x35\x88\x87\x46\x0b\x63\x64\xad\x4c\x8c\xb1\xb8\xca\xe1\x8f\x5a\x2a\x03\xd2\x82\x54\xb6\x86\x5a\xed\x1a\x0d\x77\x8f\xf0\xeb\xb5\x54\x05\x88\x7b\xa1\x1f\xed\x12\x3f\x6d\x5d\x08\xbb\x14\x3a\x5c\xb4\x6a\xde\xc3\x8a\xb4\xcf\x4e\xaa\x22\xf6\x7f\x31\x4b\xd3\x94\xd2\xc2\xe5\xc4\x9b\x4c\x3a\x45\x03\x8d\x4e\xe0\x96\x01\xbb\x8d\xc3\x00\xb1\x88\x7c\x75\x14\x86\x8d\xc8\x37\x01\xf6\x27\x1b\xc6\x4c\xc0\x7d\x20\xd1\xb6\xd5\xaa\x6b\x3e\x87\x0e\x4f\xc3\xb5\x11\xef\x65\x29\x22\x2b\x1e\x6c\x02\x0b\x59\x0a\xc5\xab\x01\x5a\x84\x16\x5c\x94\xc4\x33\x98\xc0\x52\xf0\x5c\x74\x4b\x91\x10\xa3\x06\x6e\x66\x52\x59\xa1\x17\x7c\x2e\x9e\x9e\x63\x4c\xa5\x94\x4a\x98\xed\x54\xdc\x3c\x2c\x53\x2c\x0e\xc3\x60\x3c\x86\x6b\xaa\x80\x45\xad\x09\x0c\xf2\xe0\x97\xca\x58\x6e\x45\x25\x94\x35\x61\xe0\x4c\x9f\x11\xad\xc6\x98\xae\xe8\xd2\x4f\xad\xb1\xff\xaf\xab\x06\x13\xb8\xf5\x6e\x2c\x4a\x5f\x5f\xc5\x2c\x33\x23\xfc\x8a\xd9\x08\x29\xdb\x39\x4f\x9f\xc8\x30\x8f\x33\x1d\x9e\xc7\xbb\xb9\xe8\xb7\xfb\xb3\xb0\x5c\xe5\x5c\xe7\xab\x95\x67\xc2\x00\xff\x1c\x8e\xef\x2a\x9d\xb2\xc8\xcc\x28\xba\xba\xcc\xa2\x28\x1d\x5d\xc5\x57\x19\xb6\xe3\xab\x7e\xe2\x83\xec\xb9\x65\xf9\x26\xed\x12\x48\x2c\x13\x96\xa6\x29\x03\xa1\x72\xf7\xe5\x90\x4c\xb1\xeb\x27\x95\xff\x3d\x44\x7e\x02\xc2\x95\x99\x11\xcd\x31\xb0\x83\xe0\xb0\x18\x7e\x69\xab\x84\x3e\x68\x1a\xae\x0a\x01\xae\x46\x9e\xc2\x80\xaa\x05\x86\x5a\xf9\x4d\xcb\x6a\xda\xf0\xb9\x88\xb0\x23\x0e\x83\x40\x2e\x9c\xef\x64\x02\x8c\x91\x4b\x30\xaf\x95\x95\xaa\x15\x61\x10\x3c\xbb\x11\x9d\xfb\x07\x6e\x3e\x6b\xb1\x90\x0f\xe4\x9e\x00\xfb\x37\x8b\x4f\xf6\x71\x44\x76\x8e\xae\xf5\x89\xdb\xf9\xd2\x97\xf5\x4a\x49\xa6\xef\xa5\xca\xa7\xed\x5d\x85\xdd\xd1\xcd\xec\xee\xd1\x7a\xe4\x08\x9d\xb0\x0b\x15\xad\x85\x88\x31\x93\x73\x17\x3b\xe8\x44\xd6\x33\xb0\x3e\xf6\xe6\xed\x8c\xe2\x78\x10\x30\x19\xf6\x91\x9d\xc3\xcf\x66\x6e\xde\x67\x10\xa5\x11\xdd\x1c\x95\x4d\x3f\x6b\xa9\x6c\xa9\xa2\x4e\xe6\xc9\xb0\x30\x6c\xba\xa1\x3a\x90\x06\x54\x6d\xe1\x9e\x97\x32\xbf\x04\x36\xea\x56\x62\x8d\x44\x62\xf1\x25\x26\x9d\x62\x3a\x26\xc7\x63\xf8\xb0\xa1\x3c\x34\xbb\x41\x2b\x04\xaf\x6a\xf1\x38\x82\xd7\x42\x10\xc1\x67\x3e\x79\xaf\xd9\x6d\xe2\xd6\x5c\x90\xe7\xd3\x89\xdb\x4c\xe6\x24\xe2\x42\xe2\x63\x3a\x68\x36\x81\xbb\xd6\xe2\x41\x33\xaf\xdb\x32\xc7\xf3\xa9\xdf\x48\xe8\xfc\xe3\xda\xbe\x11\x2a\x77\x8c\x0f\x9b\x49\x4a\x29\x4c\x5d\x52\x34\x61\x4f\xf6\x74\xc7\x46\xe4\xbb\xc8\x17\xec\xd2\x29\x91\xca\xdc\x73\x4c\x1a\x1d\xa2\x1f\xa6\xff\x9e\x6b\x58\x3f\x9f\x9d\x8d\xf6\x92\xa9\xdd\x34\x2f\x4a\x5e\x98\x15\x5b\x27\x0f\x1f\x9f\x16\xee\xc2\x93\x3f\x1e\xc3\x47\xea\x46\x56\x2f\x10\xaa\x22\xbc\x2d\x6e\x57\xa6\x11\x73\xb9\x90\x22\x07\x53\x57\x02\x78\x9e\x4b\x2b\x6b\xc5\x4b\x3f\x85\xad\x71\x9c\x67\x1e\xe1\x0d\xf2\xf2\x73\xf5\xca\x72\x0e\xdb\xfd\x67\xbe\x5f\x2e\x7c\xcc\x7f\x0d\xfb\x4f\x10\xf4\x09\x4e\x80\x45\x57\x0c\x46\x7e\xd0\x08\x58\x8c\xad\x2d\x99\x76\x61\xcf\x7d\xa1\xad\x57\xda\x6a\xbc\x23\x5c\x57\x2a\x75\x17\x85\xe7\xbb\x28\x3c\x4f\x40\xd5\xdb\x4c\x7d\x13\x5a\x40\x21\xef\x85\x3a\x8a\xad\x63\x70\xee\xdc\x84\xd6\xb0\xa0\x48\xce\xb1\xaa\x69\x5d\xb5\x40\x1b\x87\x46\xd7\x77\xa5\xa8\x8e\x92\xde\x47\x45\x22\x1b\xb4\x77\x48\x6e\xf8\xeb\x4e\xc5\x09\xf0\xa6\x11\x2a\xa7\x7b\x95\x49\x56\xee\xa9\x4f\x94\x79\xd2\x57\xee\x33\x06\x1a\x38\xde\x3e\x32\x0f\xeb\xce\x69\x75\x53\x78\x9b\x1a\xdb\x88\xf8\x7d\x5a\x5b\xbf\x11\x3b\x1b\xcd\xdd\x5b\xc6\x63\xf8\xdd\x08\xa8\xe8\x3e\x6b\xfc\xc2\xdf\x3d\x42\x2e\x16\xbc\x2d\xed\x3e\x25\xbe\xdb\xb5\x74\xef\x06\x11\x36\xba\xbe\x97\xf9\x3e\x0d\x1e\x55\x4e\x0e\xfb\x76\xff\xb9\xef\xc7\x3c\xb6\x7b\x2f\x66\xf1\x0b\x0a\xd8\xbf\x89\x38\xe8\xb9\xcc\xa9\x08\x7d\x0a\x3f\x16\xfc\xd9\x41\xf0\xe7\xb3\x23\xc4\x71\x81\xe2\x78\xf7\x8f\x89\x63\x3c\x76\xb7\xc6\x1b\x4a\x79\xb6\x6f\x53\x63\x11\xfe\xba\xb4\xd1\x96\xbe\xbe\x22\x0b\x26\x4a\x63\xf6\x0b\xad\x7f\xd8\x75\x3a\xa3\x28\x09\xba\x3a\xa5\x85\x04\xc5\xbd\x55\xfa\x47\x4a\x21\x94\xd0\xdc\xba\x77\xca\xf7\xbd\x47\x86\x17\x56\xdd\xda\xa6\xa5\x27\x16\x63\x61\xdf\x1c\x4d\x00\xe9\x9c\x36\xc8\xe7\x22\x62\xdd\x2c\x97\xf0\xca\x64\x2a\x53\xcc\x3d\x8d\xd0\x14\xef\x75\xca\x85\x15\x73\x7b\x09\x99\x02\x80\xfe\x29\x75\x09\x19\x7b\x65\x32\x46\x41\xba\x2b\xd2\xb5\x68\x4a\xbc\xdd\x6e\xb5\x7d\x4e\x2c\xcb\x18\xfd\xd2\xdf\x37\x6f\x63\x6c\x30\x6f\x62\xce\x84\x77\x6b\xb9\xe8\xd2\x1f\xce\xa5\x3d\xe8\x10\x93\x1b\x7b\x12\x22\xe7\x72\x2c\x22\x5a\xbe\x01\x00\xcb\x14\x2d\xc7\x65\xa6\x98\x7f\x09\x7c\x49\x40\x0f\x0f\x00\xb7\x58\x4f\xc3\x6d\x26\x81\xfa\x2b\x75\xa7\xd1\xb0\x2b\xc7\xff\x41\x2b\x89\xe4\x40\x72\x6f\xe0\x95\x59\x4b\x0d\xe3\xa5\x7d\xa1\x1d\x4e\x93\xc6\xd2\xae\x7f\x74\xaa\x1b\xe7\xc2\x0a\xf2\xbe\xcc\x4f\x00\xbe\x81\x38\x7e\xc1\x07\xe8\x1f\x1e\x5c\xdb\x93\x16\x93\xe2\x7b\xcd\x1d\x9b\xe5\x4b\x28\x84\xca\x4f\xc7\x20\x54\xfe\xe3\x10\xb8\x12\x83\x9b\x19\x29\x75\x6b\x1f\x01\xe7\xde\x6f\x27\x15\x97\x2a\xa2\x63\xda\x9f\x19\xb5\x49\xff\xa7\x0b\x13\xc3\x7f\xfd\x7b\x61\x75\x67\x65\x78\x5d\xd2\x85\xa1\xb8\x7e\x63\xa2\xe0\x39\xb7\x3c\x81\x2f\xb8\xe4\xee\x5f\x62\xe9\xb5\xe0\x39\xed\x51\x3e\xa0\x3b\x22\xfa\x60\xd1\xda\x3e\x36\xfc\xe7\xc5\x1f\x0d\x18\x2f\x4e\x60\xc5\x37\x8e\xc3\xe7\xf0\xaf\x00\x00\x00\xff\xff\x9d\xdc\x9a\xdc\x92\x13\x00\x00") func runtimeSyntaxSyntax_converterGoBytes() ([]byte, error) { return bindataRead( @@ -3409,7 +3430,7 @@ func runtimeSyntaxXresourcesYaml() (*asset, error) { return a, nil } -var _runtimeSyntaxYamlYaml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x91\x31\x8f\xd4\x30\x10\x85\x7b\xff\x0a\x9f\xb9\xe3\x92\x5b\x39\xa2\xc5\x05\x68\x85\x38\x1a\xd8\x2d\xa0\x59\x32\x89\xe4\xdd\x4c\x38\x0b\xc7\x09\xb6\x57\x28\x68\x7e\x3c\x8a\xc3\xb1\x21\x47\x41\x83\x95\x22\x7a\x33\x6f\xe6\xd3\x9b\xd6\x58\x8c\xe3\x80\x8a\x8f\xba\xb3\x8c\x35\x18\xf1\x14\x15\xe3\x9c\xf3\xa9\xe6\x74\x87\x8a\x0b\x80\x62\xd4\xaf\x3b\x7b\x2d\x52\xe5\x01\x75\x83\x5e\x71\x71\x73\xd8\x7e\x78\x2f\x18\xf3\x67\x8b\x61\x76\x49\x3e\xcf\x13\x59\x4d\x3c\xbf\xba\xca\x8e\xc6\x69\x3f\xd2\xb1\xef\x2d\xb5\xb6\xd7\x91\x8c\x8b\xd4\xe9\x81\xdc\xd9\x5a\xea\xa7\xbf\x80\xdf\x28\x60\xa4\x10\x7d\xce\xc5\xaf\x39\xa7\xde\x85\xa8\x5d\x54\x7c\x02\x38\x66\x87\xb7\x1f\x69\xc4\x40\x07\x1a\x69\xbf\xa3\xde\xd1\x6e\x4f\xae\xa7\x1d\x39\xda\xdf\xdf\x53\xdf\xb6\x39\xc0\xf1\xa9\x3d\xb9\xa3\x3f\x23\xb5\xda\x06\x5c\x36\x85\xa8\x23\x76\x98\xba\x32\x55\x96\x2a\x0c\xfa\x84\xaa\xaa\x08\xa0\x24\x80\x8a\x96\xe2\xa6\xa4\x57\x15\xd5\x0b\xe5\x4e\xf2\xfc\x71\x96\x69\xd0\x45\xd3\x9a\x94\xcc\xa2\xa7\x04\xb8\x7b\x5e\x95\x5b\xf9\x59\xcb\x1f\x2f\xe4\xcb\x6a\x23\xfe\x4c\xaa\x94\x05\xc0\xf7\x6a\xa3\xfe\x46\x75\x11\x07\x3c\x19\x6d\xa7\x34\xb2\x5a\x4a\x49\x35\x40\x31\x7f\x54\xa7\x43\x50\x7d\xf3\x69\xfb\x2e\x17\x6c\x95\x40\x11\xa2\x37\xee\xcb\x7c\x9f\xe9\x85\xa8\x7d\xca\x45\x88\xdf\x1a\xba\x66\xa5\x84\xaf\x66\x48\xe1\x01\x14\x17\x75\x71\xea\xc7\xb7\xdc\x34\x43\xbe\x79\xd0\xfe\x62\xfd\x57\x9c\xdb\x35\xcd\xed\xff\x84\xe9\x52\xc0\x4f\x20\x9e\xad\x21\xae\xd7\xeb\x78\x59\x31\xc6\x7e\x06\x00\x00\xff\xff\x2e\xbc\x4d\xd8\x3a\x03\x00\x00") +var _runtimeSyntaxYamlYaml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x91\x4f\x8f\xd3\x30\x10\xc5\xef\xfe\x14\x5e\xb3\x4b\x93\xad\x1c\x71\xc5\x07\x50\x85\x58\x2e\xd0\x1e\xe0\x52\x32\x89\xe4\xb6\x13\x6a\xe1\x38\x21\x9e\x0a\x05\xcd\x87\x47\x49\x28\x0d\x2d\x17\x24\xac\x1c\xa2\x37\xff\x7e\x7a\xaf\x72\x1e\xa9\x6f\xd1\xc8\xde\xd6\x5e\x88\x03\x12\xee\xc9\x08\x29\xa5\x1c\x6a\xc1\xd6\x68\xa4\x02\xc8\x7a\xfb\xba\xf6\xf7\x6a\xac\x1c\xd1\x1e\xb0\x33\x52\x3d\x6c\x57\x1f\xde\x2b\x21\xba\x93\xc7\x38\x4d\x69\x39\xed\x53\x49\xc9\x32\xbd\xbb\x4b\x76\x2e\xd8\xae\xe7\x5d\xd3\x78\xae\x7c\x63\x89\x5d\x20\xae\x6d\xcb\xe1\xe4\x3d\x37\xc3\x5f\xc4\x6f\x1c\x91\x38\x52\x97\x4a\xf5\x6b\xcf\xbe\x09\x91\x6c\x20\x23\x07\x80\x5d\xb2\x7d\xfb\x91\x7b\x8c\xbc\xe5\x9e\x37\x6b\x6e\x02\xaf\x37\x1c\x1a\x5e\x73\xe0\xcd\xd3\x13\x37\x55\x95\x02\xec\x6e\xc7\xc7\x69\xea\x4e\xc8\x95\xf5\x11\xe7\x4d\x91\x2c\x61\x8d\x63\x57\x62\xf2\xdc\xc4\xd6\xee\xd1\x14\x05\x03\xe4\x0c\x50\xf0\x5c\x5c\xe6\xfc\xaa\xe0\x72\xa6\x3c\x6a\x99\x9e\x77\xb9\x03\x06\x72\x95\x1b\x9d\x99\xf5\xe4\x00\x8f\xcf\x8b\x7c\xa5\x3f\x5b\xfd\xe3\x85\x7e\x59\x2c\xd5\x9f\x4e\xe5\x3a\x03\xf8\x5e\x2c\xcd\xdf\xa8\x2e\x62\x8b\x7b\x67\xfd\xe0\x46\x52\x6a\xad\xb9\x04\xc8\xa6\x8f\xcb\x31\x08\x2e\x1f\x3e\xad\xde\xa5\x4a\x5c\x39\x90\x45\xea\x5c\xf8\x32\xe5\x33\xbc\x48\xb6\xa3\x73\x44\xa0\xd4\xef\x02\x86\xc3\x60\xd7\x4c\x89\x5f\x5d\x3b\x3a\x08\x90\x5d\xd4\x59\xde\xe7\x37\x3f\x37\x91\xbe\x39\xda\xee\x32\xfa\x4f\x4c\x8b\x6b\xa4\xc5\x0d\x51\x32\xee\x4d\x39\x59\x2c\xd2\xff\x03\x56\x8f\x8e\xdf\x00\x3d\xbb\x66\xb9\xbf\x3e\x27\xf3\x42\x08\xf1\x33\x00\x00\xff\xff\x9a\xfa\x6f\xca\x4b\x03\x00\x00") func runtimeSyntaxYamlYamlBytes() ([]byte, error) { return bindataRead( @@ -3620,6 +3641,7 @@ var _bindata = map[string]func() (*asset, error){ "runtime/syntax/java.yaml": runtimeSyntaxJavaYaml, "runtime/syntax/javascript.yaml": runtimeSyntaxJavascriptYaml, "runtime/syntax/json.yaml": runtimeSyntaxJsonYaml, + "runtime/syntax/julia.yaml": runtimeSyntaxJuliaYaml, "runtime/syntax/keymap.yaml": runtimeSyntaxKeymapYaml, "runtime/syntax/kickstart.yaml": runtimeSyntaxKickstartYaml, "runtime/syntax/kotlin.yaml": runtimeSyntaxKotlinYaml, @@ -3842,6 +3864,7 @@ var _bintree = &bintree{nil, map[string]*bintree{ "java.yaml": &bintree{runtimeSyntaxJavaYaml, map[string]*bintree{}}, "javascript.yaml": &bintree{runtimeSyntaxJavascriptYaml, map[string]*bintree{}}, "json.yaml": &bintree{runtimeSyntaxJsonYaml, map[string]*bintree{}}, + "julia.yaml": &bintree{runtimeSyntaxJuliaYaml, map[string]*bintree{}}, "keymap.yaml": &bintree{runtimeSyntaxKeymapYaml, map[string]*bintree{}}, "kickstart.yaml": &bintree{runtimeSyntaxKickstartYaml, map[string]*bintree{}}, "kotlin.yaml": &bintree{runtimeSyntaxKotlinYaml, map[string]*bintree{}}, diff --git a/runtime/syntax/julia.yaml b/runtime/syntax/julia.yaml new file mode 100644 index 00000000..77bf7016 --- /dev/null +++ b/runtime/syntax/julia.yaml @@ -0,0 +1,41 @@ +filetype: julia + +detect: + filename: "\\.jl$" + header: "^#!.*/(env +)?julia( |$)" + +rules: + + # built-in objects + - constant.bool: "\\b(true|false)\\b" + # built-in attributes + - constant: "__[A-Za-z0-9_]+__" + # definitions + - identifier: "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*[(]" + # keywords + - statement: "\\b(begin|break|catch|continue|function|elseif|else|end|finally|for|global|local|if|include|using|require|macro|println|return|try|type|while|module)\\b" + # decorators + - identifier.macro: "@[A-Za-z0-9_]+" + # operators + - symbol.operator: "[-+*/|=%<>&~^]|\\b(and|not|or|is|in)\\b" + # parentheses + - symbol.brackets: "([(){}]|\\[|\\])" + # numbers + - constant.number: "\\b[0-9]+\\b" + + - constant.string: "\"(\\\\.|[^\"])*\"|'(\\\\.|[^'])*'" + + - constant.string: + start: "\"\"\"" + end: "\"\"\"" + rules: [] + + - constant.string: + start: "'''" + end: "'''" + rules: [] + + - comment: + start: "#" + end: "$" + rules: [] diff --git a/runtime/syntax/ledger.yaml b/runtime/syntax/ledger.yaml index cb05c8a9..f9825a2f 100644 --- a/runtime/syntax/ledger.yaml +++ b/runtime/syntax/ledger.yaml @@ -1,7 +1,7 @@ filetype: ledger detect: - filename: "(^|\\.|/)ledger|ldgr|beancount|bnct$" + filename: "(^|\\.|/)(ledger|ldgr|beancount|bnct)$" rules: - special: "^([0-9]{4}(/|-)[0-9]{2}(/|-)[0-9]{2}|[=~]) .*" diff --git a/runtime/syntax/syntax_checker.go b/runtime/syntax/syntax_checker.go index 7454371f..61716fa4 100644 --- a/runtime/syntax/syntax_checker.go +++ b/runtime/syntax/syntax_checker.go @@ -15,16 +15,24 @@ func main() { for _, f := range files { if strings.HasSuffix(f.Name(), ".yaml") { input, _ := ioutil.ReadFile(f.Name()) - _, err := highlight.ParseDef(input) + //fmt.Println("Checking file -> ", f.Name()) + file, err := highlight.ParseFile(input) if err != nil { hadErr = true - fmt.Printf("%s:\n", f.Name()) + fmt.Printf("Could not parse file -> %s:\n", f.Name()) fmt.Println(err) continue } + _, err1 := highlight.ParseDef(file, nil) + if err1 != nil { + hadErr = true + fmt.Printf("Could not parse input file using highlight.ParseDef(%s):\n", f.Name()) + fmt.Println(err1) + continue + } } } if !hadErr { - fmt.Println("No issues!") + fmt.Println("No issues found!") } } diff --git a/runtime/syntax/yaml.yaml b/runtime/syntax/yaml.yaml index 68238df4..f334d4dd 100644 --- a/runtime/syntax/yaml.yaml +++ b/runtime/syntax/yaml.yaml @@ -15,16 +15,16 @@ rules: - special: "(^---|^\\.\\.\\.|^%YAML|^%TAG)" - constant.string: - start: "\"" + start: "(^| )\"" end: "\"" skip: "\\\\." rules: - constant.specialChar: "\\\\." - constant.string: - start: "'" + start: "(^| )'" end: "'" - skip: "\\\\." + skip: "(\\\\.)|('')" rules: - constant.specialChar: "\\\\."