Indexing Euphoria HTML Documentation for context sensitive help
- Posted by K_D_R Jan 18, 2012
- 2223 views
A few years ago I was in hog heaven. If I needed help regarding a Euphoria word, all I had to was hit one key and and a specific article describing the function of the word popped up in a browser window, almost before my finger left the key.
That was then, this is now. Where is Juergen Luethje when you need him? Juergen posted a really nifty little program which indexed Euphoria 3.* documentation so that a search word could be used to locate a specific article regarding the subject from the help documentation.
I do believe the current HTML documentation is a bit more complex, but a specific article can be accessed directly, provided you have:
1) specific keyword - "db_open", or "append"
2) Numeric Index for the keyword you want information about
3) The name of the section containing the article referenced by index number and keyword
-- sequence hlp ={ {"append", "std_sequence", "2551"}, {"db_create", "std_eds", "4101"}, {"db_open", "std_eds", "4108"}, include std/console.e constant W = 1, -- word S = 2, -- section N = 3 -- number sequence hlp ={ {"append", "std_sequence", "2551"}, {"db_create", "std_eds", "4101"}, {"db_open", "std_eds", "4108"} } -- accesses specific article regarding "db_create" from local documentation: system_exec( "epiphany file:///home/kenneth/euphoria.4.0.3/docs/html/" & hlp[2][S] & ".html#_" & hlp[2][N] & "_" & hlp[2][W])
The programming to match the search word from the editor and pass the related HTML documentation section name and index number shouldn't be difficult.
The problem is building the sequence data base, but within 5 minutes I had a program up and running which created a EuHelp.edb and allowed me to start packing in the relevant data. Yes, friends and neighbors, I'm that good.
This is a copy of the edit screen listing my trial run at data entry:
Euphoria Keyword Database (a)dd, (d)elete, (f)ind, (l)ist, (p)rint, (q)uit: l 2551 append std_sequence 4011 eds std_eds 4082 db_dump std_eds 4108 db_open std_eds (a)dd, (d)elete, (f)ind, (l)ist, (p)rint, (q)uit:
I am rue to do all the data entry, if someone else is working on a better system, or has a better approach in mind.
All comments and suggestions will be deeply appreciated.
Regards, Kenneth Rhodes