[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [sc-dev] scdoc in scide
- To: sc-dev@xxxxxxxxxxxxxxxx
- Subject: Re: [sc-dev] scdoc in scide
- From: Vincent Donnefort <vdonnefort@xxxxxxxxx>
- Date: Thu, 22 Jan 2015 12:00:25 +0100
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=vypZhldvP4g6irJceymzChH2TaLKSKvL8UhDziyTf74=; b=ITMkS+CJIgGB2Oa5c/jVHHxhAL4TKX99WoNU11ZzPdhYvukOXYR0tO1DqhLH3PhXof 5yofqBhYG4ZCNsZNfa0c8pvFGO2i3dm550PgVdkFj7I4k91XkAF69DCE2nUGqVtxlQ2g LtR3f5VJhrpvV5sWxmGZAIPiPqolFVnT5siSmOF6+vztc68EEyQy7r/8JUw1mrYpemxS LGxjOIHy6AT3V5Yun/l7LLLLrw+jXogpLcjb0WinBF1P0rX1efdYqfj96w5LAH8QE6H/ mOcJ5hryDMjZSYkCNIL8Go0+cwTEAvwOxU6AOTHFcyWTa3PGQC1qA1qsm38LsxbMcgpF BVrw==
- In-reply-to: <20141224144847.GA27536@ns3274321.ip-5-39-88.eu>
- List-id: SuperCollider developers mailing list <sc-devel.create.ucsb.edu>
- References: <5488C8EB.7010500@gmail.com> <CAAuBga1iFioTf=r5oHY0b=ONBVrpYtqYMOStbXm9ggZ9PTWrLA@mail.gmail.com> <CALfiFhDvwH9a=h0DGSMm+H_03x8W9nuy-xn3X6=P4Jh92axkJQ@mail.gmail.com> <20141212121631.GA21071@ns3274321.ip-5-39-88.eu> <B691E11B-D3DE-446C-BB1A-618DF68D5F3E@kymatica.com> <20141224144847.GA27536@ns3274321.ip-5-39-88.eu>
- Reply-to: sc-dev@xxxxxxxxxxxxxxxx
- Sender: owner-sc-dev@xxxxxxxxxxxxxxxx
- User-agent: Mutt/1.5.21 (2010-09-15)
Any news? :)
On Wed, Dec 24, 2014 at 03:48:48PM +0100, Vincent Donnefort wrote:
> Joanatan,
>
> Thank you for your remarks. I have other questions:
>
> I can see SCDOC_PARSE_METADATA is ignored into SCDoc, am I right?
>
> I also see scdoc_parse_run() returns topnode which is always set to NULL, is
> that correct?
>
> scdoc_parse_run() calls scdocparse() but I can't find it. Where is it?
>
> DocNode has a "text" member. Is it containing all sections "class",
> "summary", "description" ... ?
>
> Finnaly, is it possble to build scdoc to have it running standalone
> (with the main.cpp)?
>
> Regards,
> Vincent.
>
> On Thu, Dec 18, 2014 at 11:42:50PM +0100, Kymatica wrote:
> > Sure, it's as simple as adding the proper link flag. Then you need to make a similar algo as below for indexing all the class help files, and parse the one with the name of the class you want the help for. Then extract the summary etc and display in the ide..
> >
> > /Jonatan
> >
> > > On 12 Dec 2014, at 13:16, Vincent Donnefort <vdonnefort@xxxxxxxxx> wrote:
> > >
> > > Adding a SC language command was my first thought, but I found this
> > > solution kind of heavy for only this feature.
> > >
> > > IIUC, what you propose is to export functions from SCDoc to expose to
> > > others SC components documentation features. Is it possible to easily
> > > link scide against SCDoc?
> > >
> > >> On Fri, Dec 12, 2014 at 10:49:28AM +0100, Jonatan Liljedahl wrote:
> > >> Yes, the parsing is already done on the C++ side:
> > >>
> > >> DocNode * scdoc_parse_file(char *fn, int mode);
> > >>
> > >> But indexing of all documents and rendering to HTML is done on the sclang side.
> > >> If the help index was moved to C++ as well, it would be easier for the
> > >> IDE to query and search it.
> > >>
> > >> Finding the schelp file for a specific class isn't too hard though:
> > >> iterate through the SCDoc helpSource folders (the bundled one and all
> > >> installed extensions) and look for /Classes/TheClassName.schelp. Then
> > >> call scdoc_parse_file() with SCDOC_PARSE_METADATA and you can extract
> > >> the summary etc..
> > >>
> > >> Here's how SCDoc locates all the HelpSource folders:
> > >>
> > >> *helpSourceDirs {
> > >> var find;
> > >> if(helpSourceDirs.isNil) {
> > >> this.postMsg("locating HelpSource folders...",2);
> > >> helpSourceDirs = [helpSourceDir]; // Note: an array will
> > >> keep the order.
> > >> find = {|dir|
> > >> dir.folders.do {|f|
> > >> if(f.folderName=="HelpSource") {
> > >> helpSourceDirs =
> > >> helpSourceDirs.add(f.fullPath.withoutTrailingSlash);
> > >> } {
> > >> find.(f);
> > >> };
> > >> }
> > >> };
> > >> [thisProcess.platform.userExtensionDir,
> > >> thisProcess.platform.systemExtensionDir].do {|dir|
> > >> find.(PathName(dir));
> > >> };
> > >> };
> > >> ^helpSourceDirs
> > >> }
> > >>
> > >> helpSourceDir defaults to thisProcess.platform.classLibraryDir.dirname
> > >> +/+ "HelpSource", and then the help folders of extensions are located
> > >> and added to the array.
> > >>
> > >> What's the relation between LanguageConfig include/exclude paths and
> > >> thisProcess.platform.classLibraryDir? Can there be multiple class
> > >> library dirs?
> > >>
> > >>> On Fri, Dec 12, 2014 at 8:26 AM, Jakob Leben <jakob.leben@xxxxxxxxx> wrote:
> > >>> At present, documentation is parsed on-the-fly just before viewing, and this
> > >>> process uses the SC language, so you would need to implement communication
> > >>> with the SC language to get that information.
> > >>>
> > >>> In my opinion the SC documentation system would be much more useful if there
> > >>> was plain C++ code to do all the work, with only a tiny SC language wrapper.
> > >>> This way any other clients (like the IDE) could easily parse and use the
> > >>> documentation.
> > >>>
> > >>> Jonatan, what do you think?
> > >>>
> > >>>
> > >>> On Wed, Dec 10, 2014 at 2:27 PM, Vincent Donnefort <vdonnefort@xxxxxxxxx>
> > >>> wrote:
> > >>>>
> > >>>> Hi,
> > >>>>
> > >>>> I'd like to improve the scide autocomplete by adding class description and
> > >>>> examples. (see https://github.com/supercollider/supercollider/issues/368)
> > >>>>
> > >>>> However, what I understand, scide doesn't have a direct access to the SC
> > >>>> documentation and I have to implement it and as I don't see any trivial
> > >>>> solution, I' prefer to ask for suggestions.
> > >>>>
> > >>>> Thanks,
> > >>>> Vincent.
> > >>
> > >>
> > >>
> > >> --
> > >> /Jonatan
> > >> http://kymatica.com
> > >>
> > >> _______________________________________________
> > >> sc-dev mailing list
> > >>
> > >> info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
> > >> archive: https://listarc.bham.ac.uk/marchives/sc-dev/
> > >> search: https://listarc.bham.ac.uk/lists/sc-dev/search/
> > >
> > > _______________________________________________
> > > sc-dev mailing list
> > >
> > > info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
> > > archive: https://listarc.bham.ac.uk/marchives/sc-dev/
> > > search: https://listarc.bham.ac.uk/lists/sc-dev/search/
> >
> > _______________________________________________
> > sc-dev mailing list
> >
> > info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
> > archive: https://listarc.bham.ac.uk/marchives/sc-dev/
> > search: https://listarc.bham.ac.uk/lists/sc-dev/search/
_______________________________________________
sc-dev mailing list
info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: https://listarc.bham.ac.uk/marchives/sc-dev/
search: https://listarc.bham.ac.uk/lists/sc-dev/search/