factor/library/help/topics.factor

28 lines
693 B
Factor
Raw Normal View History

2006-06-17 01:03:56 -04:00
! Copyright (C) 2005, 2006 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
IN: help
USING: arrays errors hashtables io kernel namespaces sequences
strings ;
! Markup
GENERIC: print-element
! Help articles
SYMBOL: articles
TUPLE: article title content ;
: article ( name -- article )
dup articles get hash
[ ] [ "No such article: " swap append throw ] ?if ;
: add-article ( name title element -- )
<article> swap articles get set-hash ;
M: string article-title article article-title ;
M: string article-content article article-content ;
! Special case: f help
M: f article-title drop \ f article-title ;
M: f article-content drop \ f article-content ;