[MonoDevelop] Better monodoc integration
Jacob Ilsø Christensen
jacobilsoe at gmail.com
Mon Jan 30 16:22:25 EST 2006
On 1/30/06, Lluis Sanchez <lluis at ximian.com> wrote:
>
> El lun, 30-01-2006 a las 18:10 +0100, Jacob Ilsø Christensen escribió:
> > Ok, here is the first attempt!
> >
> > The service has been renamed to DocumentationService and it implements
> > IDocumentationService which again implements IService.
> > IDocumentationService is placed in:
> >
> > Core/src/MonoDevelop.Projects/MonoDevelop.Projects.Documentation
> >
> > MonoDevelop.Projects no longer references MonoDevelop.Documentation
> > (but has to reference Monodoc).
>
> This reference shouldn't be needed. I guess it is due to the HelpTree
> property in IDocumentationService which returns a type from Monodoc,
> right? Since this property is not used in MonoDevelop.Projects it could
> be removed from the interface (but not from the class).
>
> However, MonoDevelop.Ide does use that property. I see two solutions for
> this.
>
> * The easy one: In MonoDevelop.Ide use the class
> DocumentationService instead of IDocumentationService (it is
> possible to reference MonoDevelop.Documentation there).
> * The complex/good one: Move HelpViewer and MonodocTreePad from
> MonoDevelop.Ide to MonoDevelop.Documentation. Move the handling
> of the F1 key from MonoDevelop.SourceEditor to
> MonoDevelop.Documentation.
>
> In any case those changes don't need to be done right now. Removing the
> MonoDevelop.Documentation dependency is a first step. Removing the
> Monodoc can be done in a later step.
>
> > Instead MonoDevelop.Documentation references MonoDevelop.Projects.
> >
> > I have one issue in:
> >
> >
> Core/src/MonoDevelop.Projects/MonoDevelop.Projects.Parser/AssemblyCodeCompletionDatabase.cs
> >
> > Here a new instance of MonodocService is made. This is no longer
> > possible due to the broken dependency. I need some help as to how to
> > resolve this. Maybe it is not necessary as the ServiceManager does
> > this?
>
> Yes, the service should be created through the service manager. I'll
> take a look at this.
Sounds good. So shall I commit the stuff now or wait for you to look into
this? I'll fix the MonoDevelop.Projects reference to monodoc afterwards
then.
/Jacob
>
> > Apart from that issue is this good to commit (along with the mandatory
> > ChangeLog files... :-) )?
> >
> > /Jacob
> >
> > On 1/29/06, Jacob Ilsø Christensen <jacobilsoe at gmail.com> wrote:
> >
> >
> > On 1/29/06, Lluis Sanchez <lluis at ximian.com> wrote:
> > El sáb, 28-01-2006 a las 18:15 +0100, Jacob Ilsø
> > Christensen escribió:
> > > Hi.
> > >
> > > In current MonoDevelop hitting F1 will always show
> > help for the type
> > > of the item the cursor is at instead of showing help
> > for the item
> > > itself. I have begun working on a patch to make sure
> > that the correct
> > > help will always be shown. I have attached some
> > preliminary work and
> > > would like some comments as to whether this is the
> > way to go.
> > >
> > > A few things:
> > >
> > > I have made it the responsibility of the
> > MonodocService to translate
> > > ILanguageItems into a relevant monodoc "help url".
> > For this I needed
> > > to add a reference from the
> > MonoDevelop.Documentation assembly to the
> > > MonoDevelop.Projects assemby. Is this reference ok?
> >
> > I think that the approach is good, but the problem is
> > that
> > MonoDevelop.Projects already has a reference to
> > MonoDevelop.Documentation, and we can't add a circular
> > reference.
> >
> > Ahh, didn't see that.
> >
> >
> > I propose the following solution:
> > * Add in MonoDevelop.Projects a new interface
> > named
> > IDocumentationService, which defines the same
> > methods as in
> > MonodocService.
> > * Replace MonodocService by
> > IDocumentationService in
> > MonoDevelop.Projects, and remove the reference
> > to
> > MonoDevelop.Documentation.
> > * In MonoDevelop.Documentation add a reference
> > to
> > MonoDevelop.Projects and make MonodocService
> > implement
> > IDocumentationService.
> >
> > This would fix the issue.
> >
> > Yes, that will do it. Thanks.
> >
> > /Jacob
> >
> >
> > Lluis.
> >
> > >
> > > There is in MonoDevelop currently some functionality
> > based on the
> > > MonodocResolver method which I will phase out when
> > the above patch
> > > stabilizes.
> > >
> > > Oh, and don't try to apply the patch since it won't
> > work due to the
> > > above reference issue. :-)
> > >
> > > Just wanted the opinion of someone else.
> > >
> > > Thanks,
> > > Jacob
> > > _______________________________________________
> > > Monodevelop-list mailing list
> > > Monodevelop-list at lists.ximian.com
> > >
> >
> http://lists.ximian.com/mailman/listinfo/monodevelop-list
> >
> >
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/monodevelop-list/attachments/20060130/2f2dabbb/attachment.html
More information about the Monodevelop-list
mailing list