]> gitweb.factorcode.org Git - factor.git/commitdiff
help.html: make docs use same completions algorithm as listener.
authorJohn Benediktsson <mrjbq7@gmail.com>
Thu, 25 Sep 2014 19:37:46 +0000 (12:37 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Fri, 26 Sep 2014 04:08:15 +0000 (21:08 -0700)
basis/help/html/html.factor
extra/webapps/help/help.factor

index dc8bacc8e0fda70b66cdd8474740ac0b8e83b6c0..5f74221dd975a28968f272692b59b7c467fe9db1 100644 (file)
@@ -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 ;
index 888766bb47c6fb29229f2023728730afb3bc40fa..aa7885099d884d8e900c5ca1a6f52a787449f08b 100644 (file)
@@ -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 <simple-link> ] { } assoc>map ;
 
 :: <search-action> ( help-dir -- action )
     <page-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