diff options
| author | Georg Brandl <georg@python.org> | 2021-01-18 21:24:00 +0100 |
|---|---|---|
| committer | Georg Brandl <georg@python.org> | 2021-01-18 22:08:36 +0100 |
| commit | 2a3d3a7d5b9c60dedf6638d876161d9563faebcf (patch) | |
| tree | 809c0b4a686db98f5954afa1944404cd9652c6b2 /tests/lexers/xquery/example2.txt | |
| parent | f0445be718da83541ea3401aad882f3937147263 (diff) | |
| download | pygments-git-examplefiles.tar.gz | |
Move test_examplefiles to new tests/lexers scheme.examplefiles
Diffstat (limited to 'tests/lexers/xquery/example2.txt')
| -rw-r--r-- | tests/lexers/xquery/example2.txt | 2294 |
1 files changed, 2294 insertions, 0 deletions
diff --git a/tests/lexers/xquery/example2.txt b/tests/lexers/xquery/example2.txt new file mode 100644 index 00000000..135b92a5 --- /dev/null +++ b/tests/lexers/xquery/example2.txt @@ -0,0 +1,2294 @@ +---input--- +xquery version "3.0"; + +declare namespace other = "http://other"; + +declare variable $local:straight-var1 := 'one'; + +declare %private variable $local:private-var := 'secret'; +declare %public variable $local:public-var := 'not-secret'; +declare %other:annotation('param1', "param2") variable $local:some-var := 'anything'; + +declare variable $local:straight-var2 := 'two'; + + +(: Simple Map Operator example :) +declare function local:word-count($elms as element()*) as xs:integer { + sum($elms ! count(tokenize(., '\s+'))) +}; + +declare function local:add($a, $b) { + $a + $b +}; + +declare function local:dispatch($node as node()) as item()* { + typeswitch($node) + case text() return $node + case comment() return $node + case element(bill) return local:bill($node) + case element(btitle) return local:btitle($node) + case element(section-id) return local:section-id($node) + case element(bill-text) return local:bill-text($node) + case element(strike) return local:strike($node) + default return local:passthru($node) +}; + +(: `switch` expression example :) +declare function local:noise($animal) { + let $duck := "Duck", + $quack := "Quack" + return + switch ($animal) + case "Cow" return "Moo" + case 'Cat' return 'Meow' + case $duck return $quack + default return "What's that odd noise?" +}; + +(: `group by` expression with binding example :) +declare function local:a-to-z() { + let $data as element()* := ( + <item>Apples</item>, + <item>Bananas</item>, + <item>Apricots</item>, + <item>Pears</item>, + <item>Brambles</item> + ) return + <GroupedItems>{ + for $item in $data + group by $key := upper-case(substring($item, 1, 1)) + order by $key + return + <Group key="{$key}">{$item}</Group> + }</GroupedItems> +}; + +(: `group by` expression example :) +declare function local:plays-by-character() { + let $plays := ( + document { + <play> + <title>Hamlet</title> + <characters> + <character>Hamlet</character> + <character>Claudius</character> + <character>Polonius</character> + <character>Rosencrantz</character> + <character>Guildenstern</character> + <character>Francisco</character> + <character>Reynaldo</character> + </characters> + </play> + }, + document { + <play> + <title>Rosenkrantz and Guildenstern are Dead</title> + <characters> + <character>Alfred</character> + <character>Rosencrantz</character> + <character>Guildenstern</character> + <character>Hamlet</character> + <character>Claudius</character> + </characters> + </play> + } + ) return + + for $play in $plays/play + let $title := $play/title + for $character in $play/characters/character + group by $character + return + <character name="{$character}"> + { + $title ! <play>{ . }</play> + } + </character> +}; + +declare + %other:a + %private + %other:b('1') + %other:c("1", "2", "3", "4") +function local:very-annotated() { + let $thing := "thing" + return + $thing +}; + +declare %public function local:slightly-annotated() { + let $nothing := () + return + $nothing +}; + +declare function local:ordered() { + for $hit in doc("/db/doc-with-indexes.xml")//tei:p[other:query(., $search-expression)] + let $score as xs:float := other:score($hit) + order by $score descending + return ( + <p>Score: {$score}:</p>, + other:summarize($hit, <config width="40"/>) + ) +}; + +declare function local:concat-expr($postfix) { + + let $concatenated := other:uri() || "/" || $postfix + return + $concatenated +}; + +declare function local:human-units($bytes) { + let $unit := if($bytes > math:pow(1024, 3)) then + (math:pow(1024, 3), "GB") + else if($bytes > math:pow(1024, 2)) then + (math:pow(1024, 2), "MB") + else + (1024, "KB") + return + format-number($bytes div $unit[1], ".00") || " " || $unit[2] +}; + +declare function local:merge-simple($a as xs:string+, $b as xs:string+) as xs:string+ { + ($a, $b) +}; + +(: higher order function example 1 :) +declare function local:apply($func, $value) { + $func($value) +}; + +(: higher order function example 2 :) +declare function local:apply-all($func, $list) { + $list ! $func(.) +}; + +(: higher order function example 3 :) +declare function local:apply-all-long($func as function(xs:string) as xs:string, $list) { + $list ! $func(.) +}; + +(: higher order function example 4 :) +declare function local:merge($func as function(xs:string+, xs:string+) as xs:string+, $a as xs:string+, $b as xs:string+) as xs:string+ { + $func($a, $b) +}; + +let $to-upper := upper-case#1 +let $to-upper-long as function(xs:string) as xs:string := upper-case#1 +return + <case> + { + local:apply-all($to-upper, ("Hello", "world!")) ! <upper>{.}</upper>, + local:apply-all-long(lower-case#1, ("Hello", "world!")) ! <lower>{.}</lower> + } + </case> + +---tokens--- +'xquery' Keyword.Pseudo +' ' Text +'version' Keyword.Pseudo +' ' Text +'"3.0"' Literal.String.Double +';' Punctuation +'\n\n' Text + +'declare' Keyword.Declaration +' ' Text +'namespace' Keyword.Declaration +' ' Text +'other' Name.Namespace +' ' Text +'=' Operator +' ' Text +'"http://other"' Literal.String.Double +';' Punctuation +'\n\n' Text + +'declare' Keyword.Declaration +' ' Text +'variable' Keyword.Declaration +' ' Text +'$' Name.Variable +'local:straight-var1' Name +' ' Text +':=' Operator +' ' Text +"'one'" Literal.String.Single +';' Punctuation +'\n\n' Text + +'declare' Keyword.Declaration +' ' Text +'%' Name.Decorator +'private' Name.Decorator +' ' Text +'variable' Keyword.Declaration +' ' Text +'$' Name.Variable +'local:private-var' Name +' ' Text +':=' Operator +' ' Text +"'secret'" Literal.String.Single +';' Punctuation +'\n' Text + +'declare' Keyword.Declaration +' ' Text +'%' Name.Decorator +'public' Name.Decorator +' ' Text +'variable' Keyword.Declaration +' ' Text +'$' Name.Variable +'local:public-var' Name +' ' Text +':=' Operator +' ' Text +"'not-secret'" Literal.String.Single +';' Punctuation +'\n' Text + +'declare' Keyword.Declaration +' ' Text +'%' Name.Decorator +'other:annotation' Name.Decorator +'(' Punctuation +"'param1'" Literal.String.Single +',' Punctuation +' ' Text +'"param2"' Literal.String.Double +')' Punctuation +' ' Text +'variable' Keyword.Declaration +' ' Text +'$' Name.Variable +'local:some-var' Name +' ' Text +':=' Operator +' ' Text +"'anything'" Literal.String.Single +';' Punctuation +'\n\n' Text + +'declare' Keyword.Declaration +' ' Text +'variable' Keyword.Declaration +' ' Text +'$' Name.Variable +'local:straight-var2' Name +' ' Text +':=' Operator +' ' Text +"'two'" Literal.String.Single +';' Punctuation +'\n\n\n' Text + +'(:' Comment +' ' Comment +'S' Comment +'i' Comment +'m' Comment +'p' Comment +'l' Comment +'e' Comment +' ' Comment +'M' Comment +'a' Comment +'p' Comment +' ' Comment +'O' Comment +'p' Comment +'e' Comment +'r' Comment +'a' Comment +'t' Comment +'o' Comment +'r' Comment +' ' Comment +'e' Comment +'x' Comment +'a' Comment +'m' Comment +'p' Comment +'l' Comment +'e' Comment +' ' Comment +':)' Comment +'\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:word-count' Name.Function +'(' Punctuation +'$' Name.Variable +'elms' Name +' ' Text +'as' Keyword +' ' Text +'element' Name.Tag +'' Text +'(' Punctuation +')' Punctuation +'*' Punctuation +')' Punctuation +' ' Text +'as' Keyword +' ' Text +'xs:integer' Keyword.Type +' ' Text +'{' Punctuation +'\n\t' Text +'sum' Name.Function +'(' Punctuation +'$' Name.Variable +'elms' Name +' ' Text +'!' Operator +' ' Text +'count' Name.Function +'(' Punctuation +'tokenize' Name.Function +'(' Punctuation +'.' Punctuation +',' Punctuation +' ' Text +"'\\s+'" Literal.String.Single +')' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:add' Name.Function +'(' Punctuation +'$' Name.Variable +'a' Name +',' Punctuation +' ' Text +'$' Name.Variable +'b' Name +')' Punctuation +' ' Text +'{' Punctuation +'\n\t' Text +'$' Name.Variable +'a' Name +' ' Text +'+' Operator +' ' Text +'$' Name.Variable +'b' Name +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:dispatch' Name.Function +'(' Punctuation +'$' Name.Variable +'node' Name +' ' Text +'as' Keyword +' ' Text +'node' Name.Tag +'' Text +'(' Punctuation +')' Punctuation +')' Punctuation +' ' Text +'as' Keyword +' ' Text +'item' Keyword +'(' Punctuation +')' Punctuation +'*' Operator +' ' Text +'{' Punctuation +'\n ' Text +'typeswitch' Keyword +'(' Punctuation +'$' Name.Variable +'node' Name +')' Punctuation +'\n ' Text +'case' Keyword +' ' Text +'text' Name.Tag +'' Text +'(' Punctuation +')' Punctuation +' ' Text +'return' Keyword +' ' Text +'$' Name.Variable +'node' Name +'\n ' Text +'case' Keyword +' ' Text +'comment' Name.Tag +'' Text +'(' Punctuation +')' Punctuation +' ' Text +'return' Keyword +' ' Text +'$' Name.Variable +'node' Name +'\n ' Text +'case' Keyword +' ' Text +'element' Name.Tag +'' Text +'(' Punctuation +'bill' Name +')' Punctuation +' ' Text +'return' Keyword +' ' Text +'local:bill' Name.Function +'(' Punctuation +'$' Name.Variable +'node' Name +')' Punctuation +'\n ' Text +'case' Keyword +' ' Text +'element' Name.Tag +'' Text +'(' Punctuation +'btitle' Name +')' Punctuation +' ' Text +'return' Keyword +' ' Text +'local:btitle' Name.Function +'(' Punctuation +'$' Name.Variable +'node' Name +')' Punctuation +'\n ' Text +'case' Keyword +' ' Text +'element' Name.Tag +'' Text +'(' Punctuation +'section-id' Name +')' Punctuation +' ' Text +'return' Keyword +' ' Text +'local:section-id' Name.Function +'(' Punctuation +'$' Name.Variable +'node' Name +')' Punctuation +'\n ' Text +'case' Keyword +' ' Text +'element' Name.Tag +'' Text +'(' Punctuation +'bill-text' Name +')' Punctuation +' ' Text +'return' Keyword +' ' Text +'local:bill-text' Name.Function +'(' Punctuation +'$' Name.Variable +'node' Name +')' Punctuation +'\n ' Text +'case' Keyword +' ' Text +'element' Name.Tag +'' Text +'(' Punctuation +'strike' Name +')' Punctuation +' ' Text +'return' Keyword +' ' Text +'local:strike' Name.Function +'(' Punctuation +'$' Name.Variable +'node' Name +')' Punctuation +'\n ' Text +'default' Keyword +' ' Text +'return' Keyword +' ' Text +'local:passthru' Name.Function +'(' Punctuation +'$' Name.Variable +'node' Name +')' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'(:' Comment +' ' Comment +'`' Comment +'s' Comment +'w' Comment +'i' Comment +'t' Comment +'c' Comment +'h' Comment +'`' Comment +' ' Comment +'e' Comment +'x' Comment +'p' Comment +'r' Comment +'e' Comment +'s' Comment +'s' Comment +'i' Comment +'o' Comment +'n' Comment +' ' Comment +'e' Comment +'x' Comment +'a' Comment +'m' Comment +'p' Comment +'l' Comment +'e' Comment +' ' Comment +':)' Comment +'\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:noise' Name.Function +'(' Punctuation +'$' Name.Variable +'animal' Name +')' Punctuation +' ' Text +'{' Punctuation +'\n\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'duck' Name +' ' Text +':=' Operator +' ' Text +'"Duck"' Literal.String.Double +',' Punctuation +'\n\t' Text +'$' Name.Variable +'quack' Name +' ' Text +':=' Operator +' ' Text +'"Quack"' Literal.String.Double +'\n\t' Text +'return' Keyword +'\n\t\t' Text +'switch' Keyword +' ' Text +'(' Punctuation +'$' Name.Variable +'animal' Name +')' Punctuation +'\n\t\t\t' Text +'case' Keyword +' ' Text +'"Cow"' Literal.String.Double +' ' Text +'return' Keyword +' ' Text +'"Moo"' Literal.String.Double +'\n\t\t\t' Text +'case' Keyword +' ' Text +"'Cat'" Literal.String.Single +' ' Text +'return' Keyword +' ' Text +"'Meow'" Literal.String.Single +'\n\t\t\t' Text +'case' Keyword +' ' Text +'$' Name.Variable +'duck' Name +' ' Text +'return' Keyword +' ' Text +'$' Name.Variable +'quack' Name +'\n\t\t\t' Text +'default' Keyword +' ' Text +'return' Keyword +' ' Text +'"What\'s that odd noise?"' Literal.String.Double +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'(:' Comment +' ' Comment +'`' Comment +'g' Comment +'r' Comment +'o' Comment +'u' Comment +'p' Comment +' ' Comment +'b' Comment +'y' Comment +'`' Comment +' ' Comment +'e' Comment +'x' Comment +'p' Comment +'r' Comment +'e' Comment +'s' Comment +'s' Comment +'i' Comment +'o' Comment +'n' Comment +' ' Comment +'w' Comment +'i' Comment +'t' Comment +'h' Comment +' ' Comment +'b' Comment +'i' Comment +'n' Comment +'d' Comment +'i' Comment +'n' Comment +'g' Comment +' ' Comment +'e' Comment +'x' Comment +'a' Comment +'m' Comment +'p' Comment +'l' Comment +'e' Comment +' ' Comment +':)' Comment +'\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:a-to-z' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'{' Punctuation +'\n\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'data' Name +' ' Text +'as' Keyword +' ' Text +'element' Name.Tag +'' Text +'(' Punctuation +')' Punctuation +'*' Punctuation +' ' Text +':=' Operator +' ' Text +'(' Punctuation +'\n\t\t' Text +'<' Name.Tag +'item' Name.Tag +'>' Name.Tag +'A' Literal +'p' Literal +'p' Literal +'l' Literal +'e' Literal +'s' Literal +'</' Name.Tag +'item' Name.Tag +'>' Name.Tag +',' Punctuation +'\n\t\t' Text +'<' Name.Tag +'item' Name.Tag +'>' Name.Tag +'B' Literal +'a' Literal +'n' Literal +'a' Literal +'n' Literal +'a' Literal +'s' Literal +'</' Name.Tag +'item' Name.Tag +'>' Name.Tag +',' Punctuation +'\n\t\t' Text +'<' Name.Tag +'item' Name.Tag +'>' Name.Tag +'A' Literal +'p' Literal +'r' Literal +'i' Literal +'c' Literal +'o' Literal +'t' Literal +'s' Literal +'</' Name.Tag +'item' Name.Tag +'>' Name.Tag +',' Punctuation +'\n\t\t' Text +'<' Name.Tag +'item' Name.Tag +'>' Name.Tag +'P' Literal +'e' Literal +'a' Literal +'r' Literal +'s' Literal +'</' Name.Tag +'item' Name.Tag +'>' Name.Tag +',' Punctuation +'\n\t\t' Text +'<' Name.Tag +'item' Name.Tag +'>' Name.Tag +'B' Literal +'r' Literal +'a' Literal +'m' Literal +'b' Literal +'l' Literal +'e' Literal +'s' Literal +'</' Name.Tag +'item' Name.Tag +'>' Name.Tag +'\n\t' Text +')' Punctuation +' ' Text +'return' Keyword +'\n\t\t' Text +'<' Name.Tag +'GroupedItems' Name.Tag +'>' Name.Tag +'{' Punctuation +'\n\t\t\t' Text +'for' Keyword +' ' Text +'$' Name.Variable +'item' Name +' ' Text +'in' Operator.Word +' ' Text +'$' Name.Variable +'data' Name +'\n\t\t\t' Text +'group by' Keyword +' ' Text +'$' Name.Variable +'key' Name +' ' Text +':=' Operator +' ' Text +'upper-case' Name.Function +'(' Punctuation +'substring' Name.Function +'(' Punctuation +'$' Name.Variable +'item' Name +',' Punctuation +' ' Text +'1' Literal.Number.Integer +',' Punctuation +' ' Text +'1' Literal.Number.Integer +')' Punctuation +')' Punctuation +'\n\t\t\t' Text +'order by' Keyword +' ' Text +'$' Name.Variable +'key' Name +'\n\t\t\t' Text +'return' Keyword +'\n\t\t\t\t' Text +'<' Name.Tag +'Group' Name.Tag +' ' Text +'key' Name.Tag +'=' Operator +'"' Punctuation +'{' Punctuation +'$' Name.Variable +'key' Name +'}' Punctuation +'"' Punctuation +'>' Name.Tag +'{' Punctuation +'$' Name.Variable +'item' Name +'}' Punctuation +'</' Name.Tag +'Group' Name.Tag +'>' Name.Tag +'\n\t\t' Text +'}' Punctuation +'</' Name.Tag +'GroupedItems' Name.Tag +'>' Name.Tag +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'(:' Comment +' ' Comment +'`' Comment +'g' Comment +'r' Comment +'o' Comment +'u' Comment +'p' Comment +' ' Comment +'b' Comment +'y' Comment +'`' Comment +' ' Comment +'e' Comment +'x' Comment +'p' Comment +'r' Comment +'e' Comment +'s' Comment +'s' Comment +'i' Comment +'o' Comment +'n' Comment +' ' Comment +'e' Comment +'x' Comment +'a' Comment +'m' Comment +'p' Comment +'l' Comment +'e' Comment +' ' Comment +':)' Comment +'\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:plays-by-character' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'{' Punctuation +'\n\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'plays' Name +' ' Text +':=' Operator +' ' Text +'(' Punctuation +'\n\t\t' Text +'document' Keyword +' ' Text +'{' Punctuation +'\n\t\t\t' Text +'<' Name.Tag +'play' Name.Tag +'>' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'<' Name.Tag +'title' Name.Tag +'>' Name.Tag +'H' Literal +'a' Literal +'m' Literal +'l' Literal +'e' Literal +'t' Literal +'</' Name.Tag +'title' Name.Tag +'>' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'<' Name.Tag +'characters' Name.Tag +'>' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'<' Name.Tag +'character' Name.Tag +'>' Name.Tag +'H' Literal +'a' Literal +'m' Literal +'l' Literal +'e' Literal +'t' Literal +'</' Name.Tag +'character' Name.Tag +'>' Name.Tag +' ' Literal +' ' Literal +' ' Literal +' ' Literal +' ' Literal +' ' Literal +' ' Literal +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'<' Name.Tag +'character' Name.Tag +'>' Name.Tag +'C' Literal +'l' Literal +'a' Literal +'u' Literal +'d' Literal +'i' Literal +'u' Literal +'s' Literal +'</' Name.Tag +'character' Name.Tag +'>' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'<' Name.Tag +'character' Name.Tag +'>' Name.Tag +'P' Literal +'o' Literal +'l' Literal +'o' Literal +'n' Literal +'i' Literal +'u' Literal +'s' Literal +'</' Name.Tag +'character' Name.Tag +'>' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'<' Name.Tag +'character' Name.Tag +'>' Name.Tag +'R' Literal +'o' Literal +'s' Literal +'e' Literal +'n' Literal +'c' Literal +'r' Literal +'a' Literal +'n' Literal +'t' Literal +'z' Literal +'</' Name.Tag +'character' Name.Tag +'>' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'<' Name.Tag +'character' Name.Tag +'>' Name.Tag +'G' Literal +'u' Literal +'i' Literal +'l' Literal +'d' Literal +'e' Literal +'n' Literal +'s' Literal +'t' Literal +'e' Literal +'r' Literal +'n' Literal +'</' Name.Tag +'character' Name.Tag +'>' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'<' Name.Tag +'character' Name.Tag +'>' Name.Tag +'F' Literal +'r' Literal +'a' Literal +'n' Literal +'c' Literal +'i' Literal +'s' Literal +'c' Literal +'o' Literal +'</' Name.Tag +'character' Name.Tag +'>' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'<' Name.Tag +'character' Name.Tag +'>' Name.Tag +'R' Literal +'e' Literal +'y' Literal +'n' Literal +'a' Literal +'l' Literal +'d' Literal +'o' Literal +'</' Name.Tag +'character' Name.Tag +'>' Name.Tag +' ' Literal +' ' Literal +' ' Literal +' ' Literal +' ' Literal +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'</' Name.Tag +'characters' Name.Tag +'>' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'</' Name.Tag +'play' Name.Tag +'>' Name.Tag +'\n\t\t' Text +'}' Punctuation +',' Punctuation +'\n\t\t' Text +'document' Keyword +' ' Text +'{' Punctuation +'\n\t\t\t' Text +'<' Name.Tag +'play' Name.Tag +'>' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'<' Name.Tag +'title' Name.Tag +'>' Name.Tag +'R' Literal +'o' Literal +'s' Literal +'e' Literal +'n' Literal +'k' Literal +'r' Literal +'a' Literal +'n' Literal +'t' Literal +'z' Literal +' ' Literal +'a' Literal +'n' Literal +'d' Literal +' ' Literal +'G' Literal +'u' Literal +'i' Literal +'l' Literal +'d' Literal +'e' Literal +'n' Literal +'s' Literal +'t' Literal +'e' Literal +'r' Literal +'n' Literal +' ' Literal +'a' Literal +'r' Literal +'e' Literal +' ' Literal +'D' Literal +'e' Literal +'a' Literal +'d' Literal +'</' Name.Tag +'title' Name.Tag +'>' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'<' Name.Tag +'characters' Name.Tag +'>' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'<' Name.Tag +'character' Name.Tag +'>' Name.Tag +'A' Literal +'l' Literal +'f' Literal +'r' Literal +'e' Literal +'d' Literal +'</' Name.Tag +'character' Name.Tag +'>' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'<' Name.Tag +'character' Name.Tag +'>' Name.Tag +'R' Literal +'o' Literal +'s' Literal +'e' Literal +'n' Literal +'c' Literal +'r' Literal +'a' Literal +'n' Literal +'t' Literal +'z' Literal +'</' Name.Tag +'character' Name.Tag +'>' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'<' Name.Tag +'character' Name.Tag +'>' Name.Tag +'G' Literal +'u' Literal +'i' Literal +'l' Literal +'d' Literal +'e' Literal +'n' Literal +'s' Literal +'t' Literal +'e' Literal +'r' Literal +'n' Literal +'</' Name.Tag +'character' Name.Tag +'>' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'<' Name.Tag +'character' Name.Tag +'>' Name.Tag +'H' Literal +'a' Literal +'m' Literal +'l' Literal +'e' Literal +'t' Literal +'</' Name.Tag +'character' Name.Tag +'>' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'<' Name.Tag +'character' Name.Tag +'>' Name.Tag +'C' Literal +'l' Literal +'a' Literal +'u' Literal +'d' Literal +'i' Literal +'u' Literal +'s' Literal +'</' Name.Tag +'character' Name.Tag +'>' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'</' Name.Tag +'characters' Name.Tag +'>' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'</' Name.Tag +'play' Name.Tag +'>' Name.Tag +'\n\t\t' Text +'}' Punctuation +'\n\t' Text +')' Punctuation +' ' Text +'return' Keyword +'\n\n\t\t' Text +'for' Keyword +' ' Text +'$' Name.Variable +'play' Name +' ' Text +'in' Operator.Word +' ' Text +'$' Name.Variable +'plays' Name +'/' Punctuation +'play' Name.Tag +'\n\t\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'title' Name +' ' Text +':=' Operator +' ' Text +'$' Name.Variable +'play' Name +'/' Punctuation +'title' Name.Tag +'\n\t\t' Text +'for' Keyword +' ' Text +'$' Name.Variable +'character' Name +' ' Text +'in' Operator.Word +' ' Text +'$' Name.Variable +'play' Name +'/' Punctuation +'characters' Name.Tag +'/' Punctuation +'character' Name.Tag +'\n\t\t' Text +'group by' Keyword +' ' Text +'$' Name.Variable +'character' Name +'\n\t\t' Text +'return' Keyword +'\n\t\t\t' Text +'<' Name.Tag +'character' Name.Tag +' ' Text +'name' Name.Tag +'=' Operator +'"' Punctuation +'{' Punctuation +'$' Name.Variable +'character' Name +'}' Punctuation +'"' Punctuation +'>' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'{' Punctuation +'\n\t\t\t\t' Text +'$' Name.Variable +'title' Name +' ' Text +'!' Operator +' ' Text +'<' Name.Tag +'play' Name.Tag +'>' Name.Tag +'{' Punctuation +' ' Text +'.' Punctuation +' ' Text +'}' Punctuation +'</' Name.Tag +'play' Name.Tag +'>' Name.Tag +'\n \t\t' Text +'}' Punctuation +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'</' Name.Tag +'character' Name.Tag +'>' Name.Tag +'\t\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'declare' Keyword.Declaration +'\n\t' Text +'%' Name.Decorator +'other:a' Name.Decorator +'\n\t' Text +'%' Name.Decorator +'private' Name.Decorator +'\n\t' Text +'%' Name.Decorator +'other:b' Name.Decorator +'(' Punctuation +"'1'" Literal.String.Single +')' Punctuation +'\n\t' Text +'%' Name.Decorator +'other:c' Name.Decorator +'(' Punctuation +'"1"' Literal.String.Double +',' Punctuation +' ' Text +'"2"' Literal.String.Double +',' Punctuation +' ' Text +'"3"' Literal.String.Double +',' Punctuation +' ' Text +'"4"' Literal.String.Double +')' Punctuation +'\n' Text + +'function' Keyword.Declaration +' ' Text +'local:very-annotated' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'{' Punctuation +'\n\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'thing' Name +' ' Text +':=' Operator +' ' Text +'"thing"' Literal.String.Double +'\n\t' Text +'return' Keyword +'\n\t\t' Text +'$' Name.Variable +'thing' Name +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'declare' Keyword.Declaration +' ' Text +'%' Name.Decorator +'public' Name.Decorator +' ' Text +'function' Keyword.Declaration +' ' Text +'local:slightly-annotated' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'{' Punctuation +'\n\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'nothing' Name +' ' Text +':=' Operator +' ' Text +'(' Punctuation +')' Punctuation +'\n\t' Text +'return' Keyword +'\n\t\t' Text +'$' Name.Variable +'nothing' Name +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:ordered' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'{' Punctuation +'\n\t' Text +'for' Keyword +' ' Text +'$' Name.Variable +'hit' Name +' ' Text +'in' Operator.Word +' ' Text +'doc' Name.Function +'(' Punctuation +'"/db/doc-with-indexes.xml"' Literal.String.Double +')' Punctuation +'//' Punctuation +'tei:p' Name.Tag +'[' Punctuation +'other:query' Name.Function +'(' Punctuation +'.' Punctuation +',' Punctuation +' ' Text +'$' Name.Variable +'search-expression' Name +')' Punctuation +']' Punctuation +'\n\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'score' Name +' ' Text +'as' Keyword +' ' Text +'xs:float' Keyword.Type +' ' Text +':=' Operator +' ' Text +'other:score' Name.Function +'(' Punctuation +'$' Name.Variable +'hit' Name +')' Punctuation +'\n\t' Text +'order by' Keyword +' ' Text +'$' Name.Variable +'score' Name +' ' Text +'descending' Keyword +'\n\t' Text +'return' Keyword +' ' Text +'(' Punctuation +'\n\t\t' Text +'<' Name.Tag +'p' Name.Tag +'>' Name.Tag +'S' Literal +'c' Literal +'o' Literal +'r' Literal +'e' Literal +':' Literal +' ' Literal +'{' Punctuation +'$' Name.Variable +'score' Name +'}' Punctuation +':' Literal +'</' Name.Tag +'p' Name.Tag +'>' Name.Tag +',' Punctuation +'\n\t\t' Text +'other:summarize' Name.Function +'(' Punctuation +'$' Name.Variable +'hit' Name +',' Punctuation +' ' Text +'<' Name.Tag +'config' Name.Tag +' ' Text +'width' Name.Tag +'=' Operator +'"' Punctuation +'4' Name.Attribute +'0' Name.Attribute +'"' Punctuation +'/>' Name.Tag +')' Punctuation +'\n\t' Text +')' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:concat-expr' Name.Function +'(' Punctuation +'$' Name.Variable +'postfix' Name +')' Punctuation +' ' Text +'{' Punctuation +'\n\n\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'concatenated' Name +' ' Text +':=' Operator +' ' Text +'other:uri' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'||' Operator +' ' Text +'"/"' Literal.String.Double +' ' Text +'||' Operator +' ' Text +'$' Name.Variable +'postfix' Name +'\n\t' Text +'return' Keyword +'\n\t\t' Text +'$' Name.Variable +'concatenated' Name +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:human-units' Name.Function +'(' Punctuation +'$' Name.Variable +'bytes' Name +')' Punctuation +' ' Text +'{' Punctuation +'\n\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'unit' Name +' ' Text +':=' Operator +' ' Text +'if' Keyword +'(' Punctuation +'$' Name.Variable +'bytes' Name +' ' Text +'>' Operator +' ' Text +'math:pow' Name.Function +'(' Punctuation +'1024' Literal.Number.Integer +',' Punctuation +' ' Text +'3' Literal.Number.Integer +')' Punctuation +')' Punctuation +' ' Text +'then' Keyword +'\n\t\t' Text +'(' Punctuation +'math:pow' Name.Function +'(' Punctuation +'1024' Literal.Number.Integer +',' Punctuation +' ' Text +'3' Literal.Number.Integer +')' Punctuation +',' Punctuation +' ' Text +'"GB"' Literal.String.Double +')' Punctuation +'\n\t' Text +'else' Keyword +' ' Text +'if' Keyword +'(' Punctuation +'$' Name.Variable +'bytes' Name +' ' Text +'>' Operator +' ' Text +'math:pow' Name.Function +'(' Punctuation +'1024' Literal.Number.Integer +',' Punctuation +' ' Text +'2' Literal.Number.Integer +')' Punctuation +')' Punctuation +' ' Text +'then' Keyword +'\n\t\t' Text +'(' Punctuation +'math:pow' Name.Function +'(' Punctuation +'1024' Literal.Number.Integer +',' Punctuation +' ' Text +'2' Literal.Number.Integer +')' Punctuation +',' Punctuation +' ' Text +'"MB"' Literal.String.Double +')' Punctuation +'\n\t' Text +'else' Keyword +'\n\t\t' Text +'(' Punctuation +'1024' Literal.Number.Integer +',' Punctuation +' ' Text +'"KB"' Literal.String.Double +')' Punctuation +'\n\t' Text +'return' Keyword +'\n\t\t' Text +'format-number' Name.Function +'(' Punctuation +'$' Name.Variable +'bytes' Name +' ' Text +'div' Keyword +' ' Text +'$' Name.Variable +'unit' Name +'[' Punctuation +'1' Literal.Number.Integer +']' Punctuation +',' Punctuation +' ' Text +'".00"' Literal.String.Double +')' Punctuation +' ' Text +'||' Operator +' ' Text +'" "' Literal.String.Double +' ' Text +'||' Operator +' ' Text +'$' Name.Variable +'unit' Name +'[' Punctuation +'2' Literal.Number.Integer +']' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:merge-simple' Name.Function +'(' Punctuation +'$' Name.Variable +'a' Name +' ' Text +'as' Keyword +' ' Text +'xs:string' Keyword.Type +'+' Operator +',' Punctuation +' ' Text +'$' Name.Variable +'b' Name +' ' Text +'as' Keyword +' ' Text +'xs:string' Keyword.Type +'+' Operator +')' Punctuation +' ' Text +'as' Keyword +' ' Text +'xs:string' Keyword.Type +'+' Operator +' ' Text +'{' Punctuation +'\n\t' Text +'(' Punctuation +'$' Name.Variable +'a' Name +',' Punctuation +' ' Text +'$' Name.Variable +'b' Name +')' Punctuation +'\t\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'(:' Comment +' ' Comment +'h' Comment +'i' Comment +'g' Comment +'h' Comment +'e' Comment +'r' Comment +' ' Comment +'o' Comment +'r' Comment +'d' Comment +'e' Comment +'r' Comment +' ' Comment +'f' Comment +'u' Comment +'n' Comment +'c' Comment +'t' Comment +'i' Comment +'o' Comment +'n' Comment +' ' Comment +'e' Comment +'x' Comment +'a' Comment +'m' Comment +'p' Comment +'l' Comment +'e' Comment +' ' Comment +'1' Comment +' ' Comment +':)' Comment +'\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:apply' Name.Function +'(' Punctuation +'$' Name.Variable +'func' Name +',' Punctuation +' ' Text +'$' Name.Variable +'value' Name +')' Punctuation +' ' Text +'{' Punctuation +'\n\t' Text +'$' Name.Variable +'func' Name +'(' Punctuation +'$' Name.Variable +'value' Name +')' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'(:' Comment +' ' Comment +'h' Comment +'i' Comment +'g' Comment +'h' Comment +'e' Comment +'r' Comment +' ' Comment +'o' Comment +'r' Comment +'d' Comment +'e' Comment +'r' Comment +' ' Comment +'f' Comment +'u' Comment +'n' Comment +'c' Comment +'t' Comment +'i' Comment +'o' Comment +'n' Comment +' ' Comment +'e' Comment +'x' Comment +'a' Comment +'m' Comment +'p' Comment +'l' Comment +'e' Comment +' ' Comment +'2' Comment +' ' Comment +':)' Comment +'\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:apply-all' Name.Function +'(' Punctuation +'$' Name.Variable +'func' Name +',' Punctuation +' ' Text +'$' Name.Variable +'list' Name +')' Punctuation +' ' Text +'{' Punctuation +'\n\t' Text +'$' Name.Variable +'list' Name +' ' Text +'!' Operator +' ' Text +'$' Name.Variable +'func' Name +'(' Punctuation +'.' Operator +')' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'(:' Comment +' ' Comment +'h' Comment +'i' Comment +'g' Comment +'h' Comment +'e' Comment +'r' Comment +' ' Comment +'o' Comment +'r' Comment +'d' Comment +'e' Comment +'r' Comment +' ' Comment +'f' Comment +'u' Comment +'n' Comment +'c' Comment +'t' Comment +'i' Comment +'o' Comment +'n' Comment +' ' Comment +'e' Comment +'x' Comment +'a' Comment +'m' Comment +'p' Comment +'l' Comment +'e' Comment +' ' Comment +'3' Comment +' ' Comment +':)' Comment +'\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:apply-all-long' Name.Function +'(' Punctuation +'$' Name.Variable +'func' Name +' ' Text +'as' Keyword +' ' Text +'function' Keyword.Type +'(' Punctuation +'xs:string' Keyword.Type +')' Punctuation +' ' Text +'as' Keyword +' ' Text +'xs:string' Keyword.Type +',' Punctuation +' ' Text +'$' Name.Variable +'list' Name +')' Punctuation +' ' Text +'{' Punctuation +'\n\t' Text +'$' Name.Variable +'list' Name +' ' Text +'!' Operator +' ' Text +'$' Name.Variable +'func' Name +'(' Punctuation +'.' Operator +')' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'(:' Comment +' ' Comment +'h' Comment +'i' Comment +'g' Comment +'h' Comment +'e' Comment +'r' Comment +' ' Comment +'o' Comment +'r' Comment +'d' Comment +'e' Comment +'r' Comment +' ' Comment +'f' Comment +'u' Comment +'n' Comment +'c' Comment +'t' Comment +'i' Comment +'o' Comment +'n' Comment +' ' Comment +'e' Comment +'x' Comment +'a' Comment +'m' Comment +'p' Comment +'l' Comment +'e' Comment +' ' Comment +'4' Comment +' ' Comment +':)' Comment +'\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:merge' Name.Function +'(' Punctuation +'$' Name.Variable +'func' Name +' ' Text +'as' Keyword +' ' Text +'function' Keyword.Type +'(' Punctuation +'xs:string' Keyword.Type +'+' Operator +',' Punctuation +' ' Text +'xs:string' Name.Tag +'+' Operator +')' Punctuation +' ' Text +'as' Keyword +' ' Text +'xs:string' Keyword.Type +'+' Operator +',' Punctuation +' ' Text +'$' Name.Variable +'a' Name +' ' Text +'as' Keyword +' ' Text +'xs:string' Keyword.Type +'+' Operator +',' Punctuation +' ' Text +'$' Name.Variable +'b' Name +' ' Text +'as' Keyword +' ' Text +'xs:string' Keyword.Type +'+' Operator +')' Punctuation +' ' Text +'as' Keyword +' ' Text +'xs:string' Keyword.Type +'+' Operator +' ' Text +'{' Punctuation +'\n\t' Text +'$' Name.Variable +'func' Name +'(' Punctuation +'$' Name.Variable +'a' Name +',' Punctuation +' ' Text +'$' Name.Variable +'b' Name +')' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'let' Keyword +' ' Text +'$' Name.Variable +'to-upper' Name +' ' Text +':=' Operator +' ' Text +'upper-case' Name.Function +'#' Keyword.Type +'1' Literal.Number.Integer +'\n' Text + +'let' Keyword +' ' Text +'$' Name.Variable +'to-upper-long' Name +' ' Text +'as' Keyword +' ' Text +'function' Keyword.Type +'(' Punctuation +'xs:string' Keyword.Type +')' Punctuation +' ' Text +'as' Keyword +' ' Text +'xs:string' Keyword.Type +' ' Text +':=' Operator +' ' Text +'upper-case' Name.Function +'#' Keyword.Type +'1' Literal.Number.Integer +'\n' Text + +'return' Keyword +'\n ' Text +'<' Name.Tag +'case' Name.Tag +'>' Name.Tag +'\n' Literal + +' ' Literal +' ' Literal +' ' Literal +' ' Literal +'{' Punctuation +'\n ' Text +'local:apply-all' Name.Function +'(' Punctuation +'$' Name.Variable +'to-upper' Name +',' Punctuation +' ' Text +'(' Punctuation +'"Hello"' Literal.String.Double +',' Punctuation +' ' Text +'"world!"' Literal.String.Double +')' Punctuation +')' Punctuation +' ' Text +'!' Operator +' ' Text +'<' Name.Tag +'upper' Name.Tag +'>' Name.Tag +'{' Punctuation +'.' Punctuation +'}' Punctuation +'</' Name.Tag +'upper' Name.Tag +'>' Name.Tag +',' Punctuation +'\n ' Text +'local:apply-all-long' Name.Function +'(' Punctuation +'lower-case' Name.Function +'#' Keyword.Type +'1' Literal.Number.Integer +',' Punctuation +' ' Text +'(' Punctuation +'"Hello"' Literal.String.Double +',' Punctuation +' ' Text +'"world!"' Literal.String.Double +')' Punctuation +')' Punctuation +' ' Text +'!' Operator +' ' Text +'<' Name.Tag +'lower' Name.Tag +'>' Name.Tag +'{' Punctuation +'.' Punctuation +'}' Punctuation +'</' Name.Tag +'lower' Name.Tag +'>' Name.Tag +'\n ' Text +'}' Punctuation +'\n' Literal + +' ' Literal +' ' Literal +' ' Literal +' ' Literal +'</' Name.Tag +'case' Name.Tag +'>' Name.Tag +'\n' Text |
