'! Copyright (C) 2008 Slava Pestov' Comment '\n' Text.Whitespace '! See http://factorcode.org/license.txt for BSD license.' Comment '\n' Text.Whitespace 'USING:' Keyword.Namespace ' ' Text.Whitespace 'accessors' Name.Namespace ' ' Text.Whitespace 'kernel' Name.Namespace ' ' Text.Whitespace 'hashtables' Name.Namespace ' ' Text.Whitespace 'calendar' Name.Namespace ' ' Text.Whitespace 'random' Name.Namespace ' ' Text.Whitespace 'assocs' Name.Namespace '\n' Text.Whitespace 'namespaces' Name.Namespace ' ' Text.Whitespace 'make' Name.Namespace ' ' Text.Whitespace 'splitting' Name.Namespace ' ' Text.Whitespace 'sequences' Name.Namespace ' ' Text.Whitespace 'sorting' Name.Namespace ' ' Text.Whitespace 'math.order' Name.Namespace ' ' Text.Whitespace 'present' Name.Namespace '\n' Text.Whitespace 'io.files' Name.Namespace ' ' Text.Whitespace 'io.directories' Name.Namespace ' ' Text.Whitespace 'io.encodings.ascii' Name.Namespace '\n' Text.Whitespace 'syndication' Name.Namespace ' ' Text.Whitespace 'farkup' Name.Namespace '\n' Text.Whitespace 'html.components' Name.Namespace ' ' Text.Whitespace 'html.forms' Name.Namespace '\n' Text.Whitespace 'http.server' Name.Namespace '\n' Text.Whitespace 'http.server.dispatchers' Name.Namespace '\n' Text.Whitespace 'furnace.actions' Name.Namespace '\n' Text.Whitespace 'furnace.utilities' Name.Namespace '\n' Text.Whitespace 'furnace.redirection' Name.Namespace '\n' Text.Whitespace 'furnace.auth' Name.Namespace '\n' Text.Whitespace 'furnace.auth.login' Name.Namespace '\n' Text.Whitespace 'furnace.boilerplate' Name.Namespace '\n' Text.Whitespace 'furnace.syndication' Name.Namespace '\n' Text.Whitespace 'validators' Name.Namespace '\n' Text.Whitespace 'db.types' Name.Namespace ' ' Text.Whitespace 'db.tuples' Name.Namespace ' ' Text.Whitespace 'lcs' Name.Namespace ' ' Text.Whitespace 'urls' Name.Namespace ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace 'IN:' Keyword.Namespace ' ' Text.Whitespace 'webapps.wiki' Name.Namespace '\n\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace 'wiki-url' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace 'rest' Name.Variable ' ' Text.Whitespace 'path' Name.Variable ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace 'url' Name.Variable ' ' Text.Whitespace ')' Name.Function '\n ' Text.Whitespace '[' Text ' ' Text.Whitespace '"$wiki/"' Literal.String ' ' Text.Whitespace '%' Text ' ' Text.Whitespace '%' Text ' ' Text.Whitespace '"/"' Literal.String ' ' Text.Whitespace '%' Text ' ' Text.Whitespace 'present' Text ' ' Text.Whitespace '%' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace '""' Literal.String ' ' Text.Whitespace 'make' Text '\n ' Text.Whitespace '' Text ' ' Text.Whitespace 'swap' Name.Builtin ' ' Text.Whitespace '>>path' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace 'view-url' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace 'title' Name.Variable ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace 'url' Name.Variable ' ' Text.Whitespace ')' Name.Function ' ' Text.Whitespace '"view"' Literal.String ' ' Text.Whitespace 'wiki-url' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace 'edit-url' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace 'title' Name.Variable ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace 'url' Name.Variable ' ' Text.Whitespace ')' Name.Function ' ' Text.Whitespace '"edit"' Literal.String ' ' Text.Whitespace 'wiki-url' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace 'revisions-url' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace 'title' Name.Variable ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace 'url' Name.Variable ' ' Text.Whitespace ')' Name.Function ' ' Text.Whitespace '"revisions"' Literal.String ' ' Text.Whitespace 'wiki-url' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace 'revision-url' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace 'id' Name.Variable ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace 'url' Name.Variable ' ' Text.Whitespace ')' Name.Function ' ' Text.Whitespace '"revision"' Literal.String ' ' Text.Whitespace 'wiki-url' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace 'user-edits-url' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace 'author' Name.Variable ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace 'url' Name.Variable ' ' Text.Whitespace ')' Name.Function ' ' Text.Whitespace '"user-edits"' Literal.String ' ' Text.Whitespace 'wiki-url' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace 'TUPLE:' Keyword ' ' Text.Whitespace 'wiki' Name.Class ' ' Text.Whitespace '<' Punctuation ' ' Text.Whitespace 'dispatcher' Name.Class ' ' Text.Whitespace ';' Keyword '\n\n' Text.Whitespace 'SYMBOL:' Keyword ' ' Text.Whitespace 'can-delete-wiki-articles?' Name.Function '\n\n' Text.Whitespace 'can-delete-wiki-articles?' Text ' ' Text.Whitespace 'define-capability' Text '\n\n' Text.Whitespace 'TUPLE:' Keyword ' ' Text.Whitespace 'article' Name.Class ' ' Text.Whitespace 'title' Name.Variable ' ' Text.Whitespace 'revision' Name.Variable ' ' Text.Whitespace ';' Keyword '\n\n' Text.Whitespace 'article' Text ' ' Text.Whitespace '"ARTICLES"' Literal.String ' ' Text.Whitespace '{' Text '\n ' Text.Whitespace '{' Text ' ' Text.Whitespace '"title"' Literal.String ' ' Text.Whitespace '"TITLE"' Literal.String ' ' Text.Whitespace '{' Text ' ' Text.Whitespace 'VARCHAR' Text ' ' Text.Whitespace '256 ' Literal.Number '}' Text ' ' Text.Whitespace '+not-null+' Text ' ' Text.Whitespace '+user-assigned-id+' Text ' ' Text.Whitespace '}' Text '\n ' Text.Whitespace '{' Text ' ' Text.Whitespace '"revision"' Literal.String ' ' Text.Whitespace '"REVISION"' Literal.String ' ' Text.Whitespace 'INTEGER' Text ' ' Text.Whitespace '+not-null+' Text ' ' Text.Whitespace '}' Text ' ' Text.Whitespace '! revision id' Comment '\n' Text.Whitespace '}' Text ' ' Text.Whitespace 'define-persistent' Text '\n\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace '
' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace 'title' Name.Variable ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace 'article' Name.Variable ' ' Text.Whitespace ')' Name.Function ' ' Text.Whitespace 'article' Text ' ' Text.Whitespace 'new' Name.Builtin ' ' Text.Whitespace 'swap' Name.Builtin ' ' Text.Whitespace '>>title' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace 'TUPLE:' Keyword ' ' Text.Whitespace 'revision' Name.Class ' ' Text.Whitespace 'id' Name.Variable ' ' Text.Whitespace 'title' Name.Variable ' ' Text.Whitespace 'author' Name.Variable ' ' Text.Whitespace 'date' Name.Variable ' ' Text.Whitespace 'content' Name.Variable ' ' Text.Whitespace 'description' Name.Variable ' ' Text.Whitespace ';' Keyword '\n\n' Text.Whitespace 'revision' Text ' ' Text.Whitespace '"REVISIONS"' Literal.String ' ' Text.Whitespace '{' Text '\n ' Text.Whitespace '{' Text ' ' Text.Whitespace '"id"' Literal.String ' ' Text.Whitespace '"ID"' Literal.String ' ' Text.Whitespace 'INTEGER' Text ' ' Text.Whitespace '+db-assigned-id+' Text ' ' Text.Whitespace '}' Text '\n ' Text.Whitespace '{' Text ' ' Text.Whitespace '"title"' Literal.String ' ' Text.Whitespace '"TITLE"' Literal.String ' ' Text.Whitespace '{' Text ' ' Text.Whitespace 'VARCHAR' Text ' ' Text.Whitespace '256 ' Literal.Number '}' Text ' ' Text.Whitespace '+not-null+' Text ' ' Text.Whitespace '}' Text ' ' Text.Whitespace '! article id' Comment '\n ' Text.Whitespace '{' Text ' ' Text.Whitespace '"author"' Literal.String ' ' Text.Whitespace '"AUTHOR"' Literal.String ' ' Text.Whitespace '{' Text ' ' Text.Whitespace 'VARCHAR' Text ' ' Text.Whitespace '256 ' Literal.Number '}' Text ' ' Text.Whitespace '+not-null+' Text ' ' Text.Whitespace '}' Text ' ' Text.Whitespace '! uid' Comment '\n ' Text.Whitespace '{' Text ' ' Text.Whitespace '"date"' Literal.String ' ' Text.Whitespace '"DATE"' Literal.String ' ' Text.Whitespace 'TIMESTAMP' Text ' ' Text.Whitespace '+not-null+' Text ' ' Text.Whitespace '}' Text '\n ' Text.Whitespace '{' Text ' ' Text.Whitespace '"content"' Literal.String ' ' Text.Whitespace '"CONTENT"' Literal.String ' ' Text.Whitespace 'TEXT' Text ' ' Text.Whitespace '+not-null+' Text ' ' Text.Whitespace '}' Text '\n ' Text.Whitespace '{' Text ' ' Text.Whitespace '"description"' Literal.String ' ' Text.Whitespace '"DESCRIPTION"' Literal.String ' ' Text.Whitespace 'TEXT' Text ' ' Text.Whitespace '}' Text '\n' Text.Whitespace '}' Text ' ' Text.Whitespace 'define-persistent' Text '\n\n' Text.Whitespace 'M:' Keyword ' ' Text.Whitespace 'revision' Name.Class ' ' Text.Whitespace 'feed-entry-title' Name.Function '\n ' Text.Whitespace '[' Text ' ' Text.Whitespace 'title>>' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace '[' Text ' ' Text.Whitespace 'drop' Name.Builtin ' ' Text.Whitespace '" by "' Literal.String ' ' Text.Whitespace ']' Text ' ' Text.Whitespace '[' Text ' ' Text.Whitespace 'author>>' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace 'tri' Name.Builtin ' ' Text.Whitespace '3append' Name.Builtin ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace 'M:' Keyword ' ' Text.Whitespace 'revision' Name.Class ' ' Text.Whitespace 'feed-entry-date' Name.Function ' ' Text.Whitespace 'date>>' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace 'M:' Keyword ' ' Text.Whitespace 'revision' Name.Class ' ' Text.Whitespace 'feed-entry-url' Name.Function ' ' Text.Whitespace 'id>>' Text ' ' Text.Whitespace 'revision-url' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace 'reverse-chronological-order' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace 'seq' Name.Variable ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace 'sorted' Name.Variable ' ' Text.Whitespace ')' Name.Function '\n ' Text.Whitespace '[' Text ' ' Text.Whitespace 'date>>' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace 'inv-sort-with' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace '' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace 'id' Name.Variable ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace 'revision' Name.Variable ' ' Text.Whitespace ')' Name.Function '\n ' Text.Whitespace 'revision' Text ' ' Text.Whitespace 'new' Name.Builtin ' ' Text.Whitespace 'swap' Name.Builtin ' ' Text.Whitespace '>>id' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace 'validate-title' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace ')' Name.Function '\n ' Text.Whitespace '{' Text ' ' Text.Whitespace '{' Text ' ' Text.Whitespace '"title"' Literal.String ' ' Text.Whitespace '[' Text ' ' Text.Whitespace 'v-one-line' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace '}' Text ' ' Text.Whitespace '}' Text ' ' Text.Whitespace 'validate-params' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace 'validate-author' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace ')' Name.Function '\n ' Text.Whitespace '{' Text ' ' Text.Whitespace '{' Text ' ' Text.Whitespace '"author"' Literal.String ' ' Text.Whitespace '[' Text ' ' Text.Whitespace 'v-username' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace '}' Text ' ' Text.Whitespace '}' Text ' ' Text.Whitespace 'validate-params' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace '' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace 'responder' Name.Variable ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace "responder'" Name.Variable ' ' Text.Whitespace ')' Name.Function '\n ' Text.Whitespace '' Text '\n ' Text.Whitespace '{' Text ' ' Text.Whitespace 'wiki' Text ' ' Text.Whitespace '"page-common"' Literal.String ' ' Text.Whitespace '}' Text ' ' Text.Whitespace '>>template' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace '' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace 'action' Name.Variable ' ' Text.Whitespace ')' Name.Function '\n ' Text.Whitespace '' Text '\n ' Text.Whitespace '[' Text ' ' Text.Whitespace '"Front Page"' Literal.String ' ' Text.Whitespace 'view-url' Text ' ' Text.Whitespace '' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace '>>display' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace 'latest-revision' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace 'title' Name.Variable ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace 'revision/f' Name.Variable ' ' Text.Whitespace ')' Name.Function '\n ' Text.Whitespace '
' Text ' ' Text.Whitespace 'select-tuple' Text '\n ' Text.Whitespace 'dup' Name.Builtin ' ' Text.Whitespace '[' Text ' ' Text.Whitespace 'revision>>' Text ' ' Text.Whitespace '' Text ' ' Text.Whitespace 'select-tuple' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace 'when' Name.Builtin ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace '' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace 'action' Name.Variable ' ' Text.Whitespace ')' Name.Function '\n ' Text.Whitespace '' Text '\n\n ' Text.Whitespace '"title"' Literal.String ' ' Text.Whitespace '>>rest' Text '\n\n ' Text.Whitespace '[' Text ' ' Text.Whitespace 'validate-title' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace '>>init' Text '\n\n ' Text.Whitespace '[' Text '\n ' Text.Whitespace '"title"' Literal.String ' ' Text.Whitespace 'value' Text ' ' Text.Whitespace 'dup' Name.Builtin ' ' Text.Whitespace 'latest-revision' Text ' ' Text.Whitespace '[' Text '\n ' Text.Whitespace 'from-object' Text '\n ' Text.Whitespace '{' Text ' ' Text.Whitespace 'wiki' Text ' ' Text.Whitespace '"view"' Literal.String ' ' Text.Whitespace '}' Text ' ' Text.Whitespace '' Text '\n ' Text.Whitespace ']' Text ' ' Text.Whitespace '[' Text '\n ' Text.Whitespace 'edit-url' Text ' ' Text.Whitespace '' Text '\n ' Text.Whitespace ']' Text ' ' Text.Whitespace '?if' Name.Builtin '\n ' Text.Whitespace ']' Text ' ' Text.Whitespace '>>display' Text '\n\n ' Text.Whitespace '' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace '' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace 'action' Name.Variable ' ' Text.Whitespace ')' Name.Function '\n ' Text.Whitespace '' Text '\n\n ' Text.Whitespace '"id"' Literal.String ' ' Text.Whitespace '>>rest' Text '\n\n ' Text.Whitespace '[' Text '\n ' Text.Whitespace 'validate-integer-id' Text '\n ' Text.Whitespace '"id"' Literal.String ' ' Text.Whitespace 'value' Text ' ' Text.Whitespace '' Text '\n ' Text.Whitespace 'select-tuple' Text ' ' Text.Whitespace 'from-object' Text '\n ' Text.Whitespace ']' Text ' ' Text.Whitespace '>>init' Text '\n\n ' Text.Whitespace '{' Text ' ' Text.Whitespace 'wiki' Text ' ' Text.Whitespace '"view"' Literal.String ' ' Text.Whitespace '}' Text ' ' Text.Whitespace '>>template' Text '\n \n ' Text.Whitespace '' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace '' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace 'action' Name.Variable ' ' Text.Whitespace ')' Name.Function '\n ' Text.Whitespace '' Text '\n ' Text.Whitespace '[' Text '\n ' Text.Whitespace 'article' Text ' ' Text.Whitespace 'new' Name.Builtin ' ' Text.Whitespace 'select-tuples' Text ' ' Text.Whitespace 'random' Text '\n ' Text.Whitespace '[' Text ' ' Text.Whitespace 'title>>' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace '[' Text ' ' Text.Whitespace '"Front Page"' Literal.String ' ' Text.Whitespace ']' Text ' ' Text.Whitespace 'if*' Name.Builtin '\n ' Text.Whitespace 'view-url' Text ' ' Text.Whitespace '' Text '\n ' Text.Whitespace ']' Text ' ' Text.Whitespace '>>display' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace 'amend-article' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace 'revision' Name.Variable ' ' Text.Whitespace 'article' Name.Variable ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace ')' Name.Function '\n ' Text.Whitespace 'swap' Name.Builtin ' ' Text.Whitespace 'id>>' Text ' ' Text.Whitespace '>>revision' Text ' ' Text.Whitespace 'update-tuple' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace 'add-article' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace 'revision' Name.Variable ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace ')' Name.Function '\n ' Text.Whitespace '[' Text ' ' Text.Whitespace 'title>>' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace '[' Text ' ' Text.Whitespace 'id>>' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace 'bi' Name.Builtin ' ' Text.Whitespace 'article' Text ' ' Text.Whitespace 'boa' Name.Builtin ' ' Text.Whitespace 'insert-tuple' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace 'add-revision' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace 'revision' Name.Variable ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace ')' Name.Function '\n ' Text.Whitespace '[' Text ' ' Text.Whitespace 'insert-tuple' Text ' ' Text.Whitespace ']' Text '\n ' Text.Whitespace '[' Text '\n ' Text.Whitespace 'dup' Name.Builtin ' ' Text.Whitespace 'title>>' Text ' ' Text.Whitespace '
' Text ' ' Text.Whitespace 'select-tuple' Text '\n ' Text.Whitespace '[' Text ' ' Text.Whitespace 'amend-article' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace '[' Text ' ' Text.Whitespace 'add-article' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace 'if*' Name.Builtin '\n ' Text.Whitespace ']' Text '\n ' Text.Whitespace 'bi' Name.Builtin ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace '' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace 'action' Name.Variable ' ' Text.Whitespace ')' Name.Function '\n ' Text.Whitespace '' Text '\n\n ' Text.Whitespace '"title"' Literal.String ' ' Text.Whitespace '>>rest' Text '\n\n ' Text.Whitespace '[' Text '\n ' Text.Whitespace 'validate-title' Text '\n\n ' Text.Whitespace '"title"' Literal.String ' ' Text.Whitespace 'value' Text ' ' Text.Whitespace '
' Text ' ' Text.Whitespace 'select-tuple' Text '\n ' Text.Whitespace '[' Text ' ' Text.Whitespace 'revision>>' Text ' ' Text.Whitespace '' Text ' ' Text.Whitespace 'select-tuple' Text ' ' Text.Whitespace ']' Text '\n ' Text.Whitespace '[' Text ' ' Text.Whitespace 'f' Name.Constant ' ' Text.Whitespace '' Text ' ' Text.Whitespace '"title"' Literal.String ' ' Text.Whitespace 'value' Text ' ' Text.Whitespace '>>title' Text ' ' Text.Whitespace ']' Text '\n ' Text.Whitespace 'if*' Name.Builtin '\n\n ' Text.Whitespace '[' Text ' ' Text.Whitespace 'title>>' Text ' ' Text.Whitespace '"title"' Literal.String ' ' Text.Whitespace 'set-value' Text ' ' Text.Whitespace ']' Text '\n ' Text.Whitespace '[' Text ' ' Text.Whitespace 'content>>' Text ' ' Text.Whitespace '"content"' Literal.String ' ' Text.Whitespace 'set-value' Text ' ' Text.Whitespace ']' Text '\n ' Text.Whitespace 'bi' Name.Builtin '\n ' Text.Whitespace ']' Text ' ' Text.Whitespace '>>init' Text '\n\n ' Text.Whitespace '{' Text ' ' Text.Whitespace 'wiki' Text ' ' Text.Whitespace '"edit"' Literal.String ' ' Text.Whitespace '}' Text ' ' Text.Whitespace '>>template' Text '\n\n ' Text.Whitespace '' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace '' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace 'action' Name.Variable ' ' Text.Whitespace ')' Name.Function '\n ' Text.Whitespace '' Text '\n ' Text.Whitespace '[' Text '\n ' Text.Whitespace 'validate-title' Text '\n\n ' Text.Whitespace '{' Text '\n ' Text.Whitespace '{' Text ' ' Text.Whitespace '"content"' Literal.String ' ' Text.Whitespace '[' Text ' ' Text.Whitespace 'v-required' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace '}' Text '\n ' Text.Whitespace '{' Text ' ' Text.Whitespace '"description"' Literal.String ' ' Text.Whitespace '[' Text ' ' Text.Whitespace '[' Text ' ' Text.Whitespace 'v-one-line' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace 'v-optional' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace '}' Text '\n ' Text.Whitespace '}' Text ' ' Text.Whitespace 'validate-params' Text '\n\n ' Text.Whitespace 'f' Name.Constant ' ' Text.Whitespace '' Text '\n ' Text.Whitespace '"title"' Literal.String ' ' Text.Whitespace 'value' Text ' ' Text.Whitespace '>>title' Text '\n ' Text.Whitespace 'now' Text ' ' Text.Whitespace '>>date' Text '\n ' Text.Whitespace 'username' Text ' ' Text.Whitespace '>>author' Text '\n ' Text.Whitespace '"content"' Literal.String ' ' Text.Whitespace 'value' Text ' ' Text.Whitespace '>>content' Text '\n ' Text.Whitespace '"description"' Literal.String ' ' Text.Whitespace 'value' Text ' ' Text.Whitespace '>>description' Text '\n ' Text.Whitespace '[' Text ' ' Text.Whitespace 'add-revision' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace '[' Text ' ' Text.Whitespace 'title>>' Text ' ' Text.Whitespace 'view-url' Text ' ' Text.Whitespace '' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace 'bi' Name.Builtin '\n ' Text.Whitespace ']' Text ' ' Text.Whitespace '>>submit' Text '\n\n ' Text.Whitespace '' Text '\n ' Text.Whitespace '"edit wiki articles"' Literal.String ' ' Text.Whitespace '>>description' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace '' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace 'responder' Name.Variable ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace 'responder' Name.Variable ' ' Text.Whitespace ')' Name.Function '\n ' Text.Whitespace '' Text '\n ' Text.Whitespace '{' Text ' ' Text.Whitespace 'wiki' Text ' ' Text.Whitespace '"revisions-common"' Literal.String ' ' Text.Whitespace '}' Text ' ' Text.Whitespace '>>template' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace 'list-revisions' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace 'seq' Name.Variable ' ' Text.Whitespace ')' Name.Function '\n ' Text.Whitespace 'f' Name.Constant ' ' Text.Whitespace '' Text ' ' Text.Whitespace '"title"' Literal.String ' ' Text.Whitespace 'value' Text ' ' Text.Whitespace '>>title' Text ' ' Text.Whitespace 'select-tuples' Text '\n ' Text.Whitespace 'reverse-chronological-order' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace '' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace 'action' Name.Variable ' ' Text.Whitespace ')' Name.Function '\n ' Text.Whitespace '' Text '\n\n ' Text.Whitespace '"title"' Literal.String ' ' Text.Whitespace '>>rest' Text '\n\n ' Text.Whitespace '[' Text '\n ' Text.Whitespace 'validate-title' Text '\n ' Text.Whitespace 'list-revisions' Text ' ' Text.Whitespace '"revisions"' Literal.String ' ' Text.Whitespace 'set-value' Text '\n ' Text.Whitespace ']' Text ' ' Text.Whitespace '>>init' Text '\n\n ' Text.Whitespace '{' Text ' ' Text.Whitespace 'wiki' Text ' ' Text.Whitespace '"revisions"' Literal.String ' ' Text.Whitespace '}' Text ' ' Text.Whitespace '>>template' Text '\n\n ' Text.Whitespace '' Text '\n ' Text.Whitespace '' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace '' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace 'action' Name.Variable ' ' Text.Whitespace ')' Name.Function '\n ' Text.Whitespace '' Text '\n\n ' Text.Whitespace '"title"' Literal.String ' ' Text.Whitespace '>>rest' Text '\n\n ' Text.Whitespace '[' Text ' ' Text.Whitespace 'validate-title' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace '>>init' Text '\n\n ' Text.Whitespace '[' Text ' ' Text.Whitespace '"Revisions of "' Literal.String ' ' Text.Whitespace '"title"' Literal.String ' ' Text.Whitespace 'value' Text ' ' Text.Whitespace 'append' Name.Builtin ' ' Text.Whitespace ']' Text ' ' Text.Whitespace '>>title' Text '\n\n ' Text.Whitespace '[' Text ' ' Text.Whitespace '"title"' Literal.String ' ' Text.Whitespace 'value' Text ' ' Text.Whitespace 'revisions-url' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace '>>url' Text '\n\n ' Text.Whitespace '[' Text ' ' Text.Whitespace 'list-revisions' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace '>>entries' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace 'rollback-description' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace 'description' Name.Variable ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace "description'" Name.Variable ' ' Text.Whitespace ')' Name.Function '\n ' Text.Whitespace '[' Text ' ' Text.Whitespace '"Rollback of \'"' Literal.String ' ' Text.Whitespace '"\'"' Literal.String ' ' Text.Whitespace 'surround' Name.Builtin ' ' Text.Whitespace ']' Text ' ' Text.Whitespace '[' Text ' ' Text.Whitespace '"Rollback"' Literal.String ' ' Text.Whitespace ']' Text ' ' Text.Whitespace 'if*' Name.Builtin ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace '' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace 'action' Name.Variable ' ' Text.Whitespace ')' Name.Function '\n ' Text.Whitespace '' Text '\n\n ' Text.Whitespace '[' Text ' ' Text.Whitespace 'validate-integer-id' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace '>>validate' Text '\n\n ' Text.Whitespace '[' Text '\n ' Text.Whitespace '"id"' Literal.String ' ' Text.Whitespace 'value' Text ' ' Text.Whitespace '' Text ' ' Text.Whitespace 'select-tuple' Text '\n ' Text.Whitespace 'f' Name.Constant ' ' Text.Whitespace '>>id' Text '\n ' Text.Whitespace 'now' Text ' ' Text.Whitespace '>>date' Text '\n ' Text.Whitespace 'username' Text ' ' Text.Whitespace '>>author' Text '\n ' Text.Whitespace '[' Text ' ' Text.Whitespace 'rollback-description' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace 'change-description' Text '\n ' Text.Whitespace '[' Text ' ' Text.Whitespace 'add-revision' Text ' ' Text.Whitespace ']' Text '\n ' Text.Whitespace '[' Text ' ' Text.Whitespace 'title>>' Text ' ' Text.Whitespace 'revisions-url' Text ' ' Text.Whitespace '' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace 'bi' Name.Builtin '\n ' Text.Whitespace ']' Text ' ' Text.Whitespace '>>submit' Text '\n \n ' Text.Whitespace '' Text '\n ' Text.Whitespace '"rollback wiki articles"' Literal.String ' ' Text.Whitespace '>>description' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace 'list-changes' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace 'seq' Name.Variable ' ' Text.Whitespace ')' Name.Function '\n ' Text.Whitespace 'f' Name.Constant ' ' Text.Whitespace '' Text ' ' Text.Whitespace 'select-tuples' Text '\n ' Text.Whitespace 'reverse-chronological-order' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace '' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace 'action' Name.Variable ' ' Text.Whitespace ')' Name.Function '\n ' Text.Whitespace '' Text '\n ' Text.Whitespace '[' Text ' ' Text.Whitespace 'list-changes' Text ' ' Text.Whitespace '"revisions"' Literal.String ' ' Text.Whitespace 'set-value' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace '>>init' Text '\n ' Text.Whitespace '{' Text ' ' Text.Whitespace 'wiki' Text ' ' Text.Whitespace '"changes"' Literal.String ' ' Text.Whitespace '}' Text ' ' Text.Whitespace '>>template' Text '\n\n ' Text.Whitespace '' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace '' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace 'action' Name.Variable ' ' Text.Whitespace ')' Name.Function '\n ' Text.Whitespace '' Text '\n ' Text.Whitespace '[' Text ' ' Text.Whitespace 'URL"' Literal.String ' ' Text.Whitespace '$wiki/changes"' Literal.String ' ' Text.Whitespace ']' Text ' ' Text.Whitespace '>>url' Text '\n ' Text.Whitespace '[' Text ' ' Text.Whitespace '"All changes"' Literal.String ' ' Text.Whitespace ']' Text ' ' Text.Whitespace '>>title' Text '\n ' Text.Whitespace '[' Text ' ' Text.Whitespace 'list-changes' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace '>>entries' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace '' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace 'action' Name.Variable ' ' Text.Whitespace ')' Name.Function '\n ' Text.Whitespace '' Text '\n\n ' Text.Whitespace '[' Text ' ' Text.Whitespace 'validate-title' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace '>>validate' Text '\n\n ' Text.Whitespace '[' Text '\n ' Text.Whitespace '"title"' Literal.String ' ' Text.Whitespace 'value' Text ' ' Text.Whitespace '
' Text ' ' Text.Whitespace 'delete-tuples' Text '\n ' Text.Whitespace 'f' Name.Constant ' ' Text.Whitespace '' Text ' ' Text.Whitespace '"title"' Literal.String ' ' Text.Whitespace 'value' Text ' ' Text.Whitespace '>>title' Text ' ' Text.Whitespace 'delete-tuples' Text '\n ' Text.Whitespace 'URL"' Literal.String ' ' Text.Whitespace '$wiki"' Literal.String ' ' Text.Whitespace '' Text '\n ' Text.Whitespace ']' Text ' ' Text.Whitespace '>>submit' Text '\n\n ' Text.Whitespace '' Text '\n ' Text.Whitespace '"delete wiki articles"' Literal.String ' ' Text.Whitespace '>>description' Text '\n ' Text.Whitespace '{' Text ' ' Text.Whitespace 'can-delete-wiki-articles?' Text ' ' Text.Whitespace '}' Text ' ' Text.Whitespace '>>capabilities' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace '' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace 'action' Name.Variable ' ' Text.Whitespace ')' Name.Function '\n ' Text.Whitespace '' Text '\n\n ' Text.Whitespace '[' Text '\n ' Text.Whitespace '{' Text '\n ' Text.Whitespace '{' Text ' ' Text.Whitespace '"old-id"' Literal.String ' ' Text.Whitespace '[' Text ' ' Text.Whitespace 'v-integer' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace '}' Text '\n ' Text.Whitespace '{' Text ' ' Text.Whitespace '"new-id"' Literal.String ' ' Text.Whitespace '[' Text ' ' Text.Whitespace 'v-integer' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace '}' Text '\n ' Text.Whitespace '}' Text ' ' Text.Whitespace 'validate-params' Text '\n\n ' Text.Whitespace '"old-id"' Literal.String ' ' Text.Whitespace '"new-id"' Literal.String '\n ' Text.Whitespace '[' Text ' ' Text.Whitespace 'value' Text ' ' Text.Whitespace '' Text ' ' Text.Whitespace 'select-tuple' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace 'bi@' Name.Builtin '\n ' Text.Whitespace '[' Text '\n ' Text.Whitespace 'over' Name.Builtin ' ' Text.Whitespace 'title>>' Text ' ' Text.Whitespace '"title"' Literal.String ' ' Text.Whitespace 'set-value' Text '\n ' Text.Whitespace '[' Text ' ' Text.Whitespace '"old"' Literal.String ' ' Text.Whitespace '[' Text ' ' Text.Whitespace 'from-object' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace 'nest-form' Text ' ' Text.Whitespace ']' Text '\n ' Text.Whitespace '[' Text ' ' Text.Whitespace '"new"' Literal.String ' ' Text.Whitespace '[' Text ' ' Text.Whitespace 'from-object' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace 'nest-form' Text ' ' Text.Whitespace ']' Text '\n ' Text.Whitespace 'bi*' Name.Builtin '\n ' Text.Whitespace ']' Text '\n ' Text.Whitespace '[' Text ' ' Text.Whitespace '[' Text ' ' Text.Whitespace 'content>>' Text ' ' Text.Whitespace 'string-lines' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace 'bi@' Name.Builtin ' ' Text.Whitespace 'diff' Text ' ' Text.Whitespace '"diff"' Literal.String ' ' Text.Whitespace 'set-value' Text ' ' Text.Whitespace ']' Text '\n ' Text.Whitespace '2bi' Name.Builtin '\n ' Text.Whitespace ']' Text ' ' Text.Whitespace '>>init' Text '\n\n ' Text.Whitespace '{' Text ' ' Text.Whitespace 'wiki' Text ' ' Text.Whitespace '"diff"' Literal.String ' ' Text.Whitespace '}' Text ' ' Text.Whitespace '>>template' Text '\n\n ' Text.Whitespace '' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace '' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace 'action' Name.Variable ' ' Text.Whitespace ')' Name.Function '\n ' Text.Whitespace '' Text '\n\n ' Text.Whitespace '[' Text '\n ' Text.Whitespace 'f' Name.Constant ' ' Text.Whitespace '
' Text ' ' Text.Whitespace 'select-tuples' Text '\n ' Text.Whitespace '[' Text ' ' Text.Whitespace 'title>>' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace 'sort-with' Text '\n ' Text.Whitespace '"articles"' Literal.String ' ' Text.Whitespace 'set-value' Text '\n ' Text.Whitespace ']' Text ' ' Text.Whitespace '>>init' Text '\n\n ' Text.Whitespace '{' Text ' ' Text.Whitespace 'wiki' Text ' ' Text.Whitespace '"articles"' Literal.String ' ' Text.Whitespace '}' Text ' ' Text.Whitespace '>>template' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace 'list-user-edits' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace 'seq' Name.Variable ' ' Text.Whitespace ')' Name.Function '\n ' Text.Whitespace 'f' Name.Constant ' ' Text.Whitespace '' Text ' ' Text.Whitespace '"author"' Literal.String ' ' Text.Whitespace 'value' Text ' ' Text.Whitespace '>>author' Text ' ' Text.Whitespace 'select-tuples' Text '\n ' Text.Whitespace 'reverse-chronological-order' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace '' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace 'action' Name.Variable ' ' Text.Whitespace ')' Name.Function '\n ' Text.Whitespace '' Text '\n\n ' Text.Whitespace '"author"' Literal.String ' ' Text.Whitespace '>>rest' Text '\n\n ' Text.Whitespace '[' Text '\n ' Text.Whitespace 'validate-author' Text '\n ' Text.Whitespace 'list-user-edits' Text ' ' Text.Whitespace '"revisions"' Literal.String ' ' Text.Whitespace 'set-value' Text '\n ' Text.Whitespace ']' Text ' ' Text.Whitespace '>>init' Text '\n\n ' Text.Whitespace '{' Text ' ' Text.Whitespace 'wiki' Text ' ' Text.Whitespace '"user-edits"' Literal.String ' ' Text.Whitespace '}' Text ' ' Text.Whitespace '>>template' Text '\n\n ' Text.Whitespace '' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace '' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace 'action' Name.Variable ' ' Text.Whitespace ')' Name.Function '\n ' Text.Whitespace '' Text '\n ' Text.Whitespace '"author"' Literal.String ' ' Text.Whitespace '>>rest' Text '\n ' Text.Whitespace '[' Text ' ' Text.Whitespace 'validate-author' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace '>>init' Text '\n ' Text.Whitespace '[' Text ' ' Text.Whitespace '"Edits by "' Literal.String ' ' Text.Whitespace '"author"' Literal.String ' ' Text.Whitespace 'value' Text ' ' Text.Whitespace 'append' Name.Builtin ' ' Text.Whitespace ']' Text ' ' Text.Whitespace '>>title' Text '\n ' Text.Whitespace '[' Text ' ' Text.Whitespace '"author"' Literal.String ' ' Text.Whitespace 'value' Text ' ' Text.Whitespace 'user-edits-url' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace '>>url' Text '\n ' Text.Whitespace '[' Text ' ' Text.Whitespace 'list-user-edits' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace '>>entries' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace 'init-sidebars' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace ')' Name.Function '\n ' Text.Whitespace '"Contents"' Literal.String ' ' Text.Whitespace 'latest-revision' Text ' ' Text.Whitespace '[' Text ' ' Text.Whitespace '"contents"' Literal.String ' ' Text.Whitespace '[' Text ' ' Text.Whitespace 'from-object' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace 'nest-form' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace 'when*' Name.Builtin '\n ' Text.Whitespace '"Footer"' Literal.String ' ' Text.Whitespace 'latest-revision' Text ' ' Text.Whitespace '[' Text ' ' Text.Whitespace '"footer"' Literal.String ' ' Text.Whitespace '[' Text ' ' Text.Whitespace 'from-object' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace 'nest-form' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace 'when*' Name.Builtin ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace 'init-relative-link-prefix' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace ')' Name.Function '\n ' Text.Whitespace 'URL"' Literal.String ' ' Text.Whitespace '$wiki/view/"' Literal.String ' ' Text.Whitespace 'adjust-url' Text ' ' Text.Whitespace 'present' Text ' ' Text.Whitespace 'relative-link-prefix' Text ' ' Text.Whitespace 'set' Name.Builtin ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace '' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace 'dispatcher' Name.Variable ' ' Text.Whitespace ')' Name.Function '\n ' Text.Whitespace 'wiki' Text ' ' Text.Whitespace 'new-dispatcher' Text '\n ' Text.Whitespace '' Text ' ' Text.Whitespace '""' Literal.String ' ' Text.Whitespace 'add-responder' Text '\n ' Text.Whitespace '' Text ' ' Text.Whitespace '"view"' Literal.String ' ' Text.Whitespace 'add-responder' Text '\n ' Text.Whitespace '' Text ' ' Text.Whitespace '"revision"' Literal.String ' ' Text.Whitespace 'add-responder' Text '\n ' Text.Whitespace '' Text ' ' Text.Whitespace '"random"' Literal.String ' ' Text.Whitespace 'add-responder' Text '\n ' Text.Whitespace '' Text ' ' Text.Whitespace '"revisions"' Literal.String ' ' Text.Whitespace 'add-responder' Text '\n ' Text.Whitespace '' Text ' ' Text.Whitespace '"revisions.atom"' Literal.String ' ' Text.Whitespace 'add-responder' Text '\n ' Text.Whitespace '' Text ' ' Text.Whitespace '"diff"' Literal.String ' ' Text.Whitespace 'add-responder' Text '\n ' Text.Whitespace '' Text ' ' Text.Whitespace '"edit"' Literal.String ' ' Text.Whitespace 'add-responder' Text '\n ' Text.Whitespace '' Text ' ' Text.Whitespace '"submit"' Literal.String ' ' Text.Whitespace 'add-responder' Text '\n ' Text.Whitespace '' Text ' ' Text.Whitespace '"rollback"' Literal.String ' ' Text.Whitespace 'add-responder' Text '\n ' Text.Whitespace '' Text ' ' Text.Whitespace '"user-edits"' Literal.String ' ' Text.Whitespace 'add-responder' Text '\n ' Text.Whitespace '' Text ' ' Text.Whitespace '"articles"' Literal.String ' ' Text.Whitespace 'add-responder' Text '\n ' Text.Whitespace '' Text ' ' Text.Whitespace '"changes"' Literal.String ' ' Text.Whitespace 'add-responder' Text '\n ' Text.Whitespace '' Text ' ' Text.Whitespace '"user-edits.atom"' Literal.String ' ' Text.Whitespace 'add-responder' Text '\n ' Text.Whitespace '' Text ' ' Text.Whitespace '"changes.atom"' Literal.String ' ' Text.Whitespace 'add-responder' Text '\n ' Text.Whitespace '' Text ' ' Text.Whitespace '"delete"' Literal.String ' ' Text.Whitespace 'add-responder' Text '\n ' Text.Whitespace '' Text '\n ' Text.Whitespace '[' Text ' ' Text.Whitespace 'init-sidebars' Text ' ' Text.Whitespace 'init-relative-link-prefix' Text ' ' Text.Whitespace ']' Text ' ' Text.Whitespace '>>init' Text '\n ' Text.Whitespace '{' Text ' ' Text.Whitespace 'wiki' Text ' ' Text.Whitespace '"wiki-common"' Literal.String ' ' Text.Whitespace '}' Text ' ' Text.Whitespace '>>template' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ':' Keyword ' ' Text.Whitespace 'init-wiki' Name.Function ' ' Text.Whitespace '(' Name.Function ' ' Text.Whitespace '--' Name.Function ' ' Text.Whitespace ')' Name.Function '\n ' Text.Whitespace '"resource:extra/webapps/wiki/initial-content"' Literal.String ' ' Text.Whitespace '[' Text '\n ' Text.Whitespace '[' Text '\n ' Text.Whitespace 'dup' Name.Builtin ' ' Text.Whitespace '".txt"' Literal.String ' ' Text.Whitespace '?tail' Text ' ' Text.Whitespace '[' Text '\n ' Text.Whitespace 'swap' Name.Builtin ' ' Text.Whitespace 'ascii' Text ' ' Text.Whitespace 'file-contents' Text '\n ' Text.Whitespace 'f' Name.Constant ' ' Text.Whitespace '' Text '\n ' Text.Whitespace 'swap' Name.Builtin ' ' Text.Whitespace '>>content' Text '\n ' Text.Whitespace 'swap' Name.Builtin ' ' Text.Whitespace '>>title' Text '\n ' Text.Whitespace '"slava"' Literal.String ' ' Text.Whitespace '>>author' Text '\n ' Text.Whitespace 'now' Text ' ' Text.Whitespace '>>date' Text '\n ' Text.Whitespace 'add-revision' Text '\n ' Text.Whitespace ']' Text ' ' Text.Whitespace '[' Text ' ' Text.Whitespace '2drop' Name.Builtin ' ' Text.Whitespace ']' Text ' ' Text.Whitespace 'if' Name.Builtin '\n ' Text.Whitespace ']' Text ' ' Text.Whitespace 'each' Name.Builtin '\n ' Text.Whitespace ']' Text ' ' Text.Whitespace 'with-directory-files' Text ' ' Text.Whitespace ';' Keyword '\n' Text.Whitespace