diff options
author | Georg Brandl <georg@python.org> | 2014-09-20 00:06:48 +0200 |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2014-09-20 00:06:48 +0200 |
commit | 3aa632c6c357746459a8847feb056cc3c86db93c (patch) | |
tree | 3b285fdac519a208586a72ad2fa8ce0fcf0993d8 /tests/examplefiles/example.golo | |
parent | 827f32f543bd55ad65d01acca45658169a9b4a8a (diff) | |
parent | ed8910f067a347021854227f194f374c5b8cce2d (diff) | |
download | pygments-3aa632c6c357746459a8847feb056cc3c86db93c.tar.gz |
Merged in jaingaurav2/pygments-main-1011 (pull request #376)
Diffstat (limited to 'tests/examplefiles/example.golo')
-rw-r--r-- | tests/examplefiles/example.golo | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/tests/examplefiles/example.golo b/tests/examplefiles/example.golo new file mode 100644 index 00000000..92ff78b5 --- /dev/null +++ b/tests/examplefiles/example.golo @@ -0,0 +1,113 @@ +# +# Comments +# + +module pygments.Example + +import some.Module + +local function foo = |a, b| -> a + b + +---- +golodoc string +---- +augment java.util.Collection { + + ---- + sub doc + ---- + function plop = |this, v| { + return this: length() + v + } +} + +function bar = |a, b| { + let msg = "a string" + var tmp = "" + tmp = tmp + a: toString() + println(tmp + b) +} + +function baz = { + foreach i in range(0, 5) { + if i % 2 == 0 and true or false { + print("e") + } else { + print("o") + } + } +} + +function userMatch = |v| -> + match { + when v % 2 == 0 then "e" + otherwise "o" + } +} + +function add = |x| -> |y| -> x + y + +let aChar = 'a' + +let multiline = +""" +foo +bar +baz +""" + +local function myObj = -> DynamicObject(): + name("foo"): + age(25): + define("meth", |this| -> this: name() + this: age() + +---- +Golo doc string +---- +function nullTest = { + let m = map[ + ["a", 1], + ["b", 2] + ] + + println(map: get("a") orIfNull 0) + println(map: get("b")?: toString() orIfNull "0") + +} + +struct Point = { x, y } + +function deco1 = |fun| { + return |args...| { + return "deco1 + " + fun: invokeWithArguments(args) + } +} + +@deco1 +function decofoo = |a| { + return "foo: " + a +} + +@deco1 +function decobar = |a| -> "bar: " + a + +function deco2 = |fun| { + return |args...| { + return "deco2 + " + fun: invokeWithArguments(args) + } +} + +@deco2 +@deco1 +function decobaz = |a| -> "baz: " + a + +let deco3 = ^deco1: andThen(^deco2) + +@deco3 +function decospam = |a| -> "spam: " + a + +@another.Module.deco +function ping = -> "pong" + +@deco("with", params) +function gnop = -> "gnip" |