From 179c60b0a5741a84f043edefcc6c285be27548a4 Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Thu, 25 Sep 2014 12:37:46 -0700 Subject: [PATCH] help.html: make docs use same completions algorithm as listener. --- basis/help/html/html.factor | 25 ++++++++----------------- extra/webapps/help/help.factor | 18 ++++++++---------- 2 files changed, 16 insertions(+), 27 deletions(-) diff --git a/basis/help/html/html.factor b/basis/help/html/html.factor index dc8bacc8e0..5f74221dd9 100644 --- a/basis/help/html/html.factor +++ b/basis/help/html/html.factor @@ -1,11 +1,11 @@ ! Copyright (C) 2008, 2011 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: accessors arrays assocs debugger fry hashtables help -help.home help.topics help.vocabs html html.streams -io.directories io.encodings.binary io.encodings.utf8 io.files -io.files.temp io.pathnames kernel make math.parser memoize -namespaces sequences serialize sorting splitting unicode.case -vocabs vocabs.hierarchy words xml.syntax xml.writer ; +USING: accessors arrays assocs debugger fry help help.home +help.topics help.vocabs html html.streams io.directories +io.encodings.binary io.encodings.utf8 io.files io.files.temp +io.pathnames kernel make math.parser memoize namespaces +sequences serialize splitting tools.completion vocabs +vocabs.hierarchy words xml.syntax xml.writer ; FROM: io.encodings.ascii => ascii ; FROM: ascii => ascii? ; IN: help.html @@ -98,7 +98,7 @@ M: pathname url-of dup topic>filename utf8 [ help>html write-xml ] with-file-writer ; : all-vocabs-really ( -- seq ) - all-vocabs-recursive >hashtable no-roots remove-redundant-prefixes + all-vocabs-recursive no-roots remove-redundant-prefixes [ vocab-name "scratchpad" = not ] filter ; : all-topics ( -- topics ) @@ -143,17 +143,8 @@ M: pathname url-of MEMO: load-index ( name -- index ) binary file-contents bytes>object ; -TUPLE: result title href ; - -: partition-exact ( string results -- results' ) - [ title>> = ] with partition append ; - : offline-apropos ( string index -- results ) - load-index over >lower - '[ [ drop _ ] dip >lower subseq? ] assoc-filter - [ swap result boa ] { } assoc>map - [ title>> ] sort-with - partition-exact ; + load-index completions ; : article-apropos ( string -- results ) "articles.idx" offline-apropos ; diff --git a/extra/webapps/help/help.factor b/extra/webapps/help/help.factor index 888766bb47..aa7885099d 100644 --- a/extra/webapps/help/help.factor +++ b/extra/webapps/help/help.factor @@ -1,18 +1,16 @@ ! Copyright (C) 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: accessors db.sqlite furnace.actions furnace.alloy -furnace.redirection help.html help.topics html.components -html.forms html.templates.chloe http.server +USING: accessors assocs furnace.actions furnace.redirection +help.html help.topics html.components html.forms http.server http.server.dispatchers http.server.static io.directories -io.files io.files.temp kernel locals namespaces sequences +io.files.temp kernel locals namespaces sequences unicode.categories urls ; IN: webapps.help TUPLE: help-webapp < dispatcher ; -M: result link-title title>> ; - -M: result link-href href>> ; +: links ( seq -- seq' ) + [ swap ] { } assoc>map ; :: ( help-dir -- action ) @@ -20,9 +18,9 @@ M: result link-href href>> ; [ "search" param [ blank? ] trim [ help-dir [ - [ article-apropos "articles" set-value ] - [ word-apropos "words" set-value ] - [ vocab-apropos "vocabs" set-value ] tri + [ article-apropos links "articles" set-value ] + [ word-apropos links "words" set-value ] + [ vocab-apropos links "vocabs" set-value ] tri ] with-directory ] unless-empty help-navbar "navbar" set-value -- 2.34.1