This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <!doctype html> | |
| <html> | |
| <head> | |
| <script src="http://codemirror.net/lib/codemirror.js"></script> | |
| <link rel="stylesheet" href="http://codemirror.net/lib/codemirror.css"> | |
| <script type="text/javascript"> | |
| window.onload = function () { | |
| CodeMirror(document.body); | |
| }; | |
| </script> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| func TestIs(t *testing.T) { | |
| cm := Is('x') | |
| Assert(t).That(cm.Match('x'), Equals(true)) | |
| Assert(t).That(cm.Match('y'), Equals(false)) | |
| } | |
| func TestAnyOf(t *testing.T) { | |
| cm := AnyOf("abc") | |
| Assert(t).That(cm.Match('b'), Equals(true)) | |
| Assert(t).That(cm.Match('x'), Equals(false)) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| type CharMatch func(rune) bool | |
| // Predefined CharMatch's | |
| var ( | |
| SPACE CharMatch = AnyOf(" \t\r\n") | |
| DIGIT CharMatch = InRange('0', '9') | |
| LETTER CharMatch = unicode.IsLetter | |
| LOWER CharMatch = unicode.IsLower | |
| UPPER CharMatch = unicode.IsUpper | |
| ) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| type CharMatch struct { | |
| fn func(rune) bool | |
| } | |
| func (cm CharMatch) Match(c rune) bool { | |
| return cm.fn(c) | |
| } | |
| func Is(c rune) CharMatch { | |
| return CharMatch{ func (c2 rune) bool { return c == c2 }} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| type CharMatch interface { | |
| Match(c rune) bool | |
| } | |
| type is_cm struct { | |
| c rune | |
| } | |
| func (cm is_cm) Match(c rune) bool { | |
| return c == cm.c |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // Package lex implements the lexical scanner for Suneido | |
| package lex | |
| import ( | |
| "bytes" | |
| "strings" | |
| "unicode" | |
| "unicode/utf8" | |
| ) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* | |
| hamcrest implements very basic hamcrest style asserts | |
| for example: | |
| func TestStuff(t *testing.T) { | |
| Assert(t).That(2 * 4, Equals(6)) | |
| } | |
| */ | |
| package hamcrest | |
| import "fmt" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // Package float10 implements decimal floating point numbers | |
| // using uint64 to hold the coefficient. | |
| package float10 | |
| import "strconv" | |
| import "errors" | |
| import "strings" | |
| import "math" | |
| // value is -1^sign * coef * 10^exp |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| max_matches: 30 | |
| GetMatches(prefix) | |
| { | |
| list = Suneido.LibLocate.list | |
| prefix = prefix.Tr("_").Lower() | |
| from = list.LowerBound(prefix) | |
| to = Min(from + .max_matches, list.LowerBound(prefix.RightTrim() $ "~")) | |
| matches = list[from .. to] | |
| matches.Map!({ it.AfterFirst("=") }) | |
| matches.Sort!().Unique!() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| getLibsNames(libs) | |
| { | |
| list = Object() | |
| for (i = 0; i < libs.Size(); ++i) | |
| { | |
| lib = libs[i] | |
| li = i.Pad(2) | |
| for x in QueryList(lib $ " where group = -1", "name") | |
| { | |
| list.Add(x.Tr("_").Lower() $ "=" $ x $ ":" $ li) |