Small change, better HELP.
Yesterday, I noticed a ticket in CureCode (for R3) that the embedded help system should do a better job helping users. This morning I woke up much too early, and that comment was still on my mind.
IMHO, better help helps all of us -- beginners and experts -- and it does not take much effort.
Since I was obviously awake in the Iceland timezone, I wrote a quick modification to help for something long needed, long wanted: search all embedded help strings and values (not just words).
As you know, help will broaden a search if you use quotes.
>> help insert USAGE: INSERT series value /part range /only /dup count DESCRIPTION: Inserts a value into a series and returns the series after the insert. INSERT is an action value.
>> help "insert" Found these words: insert action! Inserts a value into a series and returns the
It looks for all words that contain "insert". Not much found. What about a function like append the shortcut for insert at tail? It's not listed.
A few lines of REBOL code in R3 made the search a lot better. Now, here's what you see:
>> help "insert" Found these words: append action! Inserts a value at tail of series and returns... collect function! Evaluates a block, storing values via KEEP fu... compose native! Evaluates a block of expressions, only evalua... extract function! Extracts a value from a series at regular int... insert action! Inserts into a series and returns the series ... reword function! Substitutes values into a template string, re...
That looks a lot better.
>> help "remove" Found these words: alter function! If a value is not found in a series, append i... clear action! Removes all values from the current index to ... input function! Inputs a string from the console. New-line ch... remove action! Removes value(s) from a series and returns af... remove-each native! Removes values for each block that returns tr... take action! Copies and removes from series. (Modifies) trim action! Removes space from a string or NONE from a bl... undirize function! Returns a copy of the path with any trailing ... unhandle-events function! Removes a handler from the view event system. unique native! Returns the data set with duplicates removed.
So, now we're seeing many more functions that remove from a series. Functions like clear, take, and trim are good to know.
So, let's try a non-function name:
>> help "series" (long list of series related functions) >> help "series!" (smaller list of the main series functions)
Oh, and while I was there I added:
The /doc refinement means open my web browser to that documentation page. Simple stuff, but a time saver.
Very good. These changes will be included in R3-A39. I hope you find them useful.
Next it would be nice to search by argument datatypes. For example, show me all functions that accept a string argument. If you've got some clean tight code for that, send it to me!