Luven, I'm not sure if you got the answer that you needed. You should set up your workspace with the Mylyn sources as described in the Mylyn Contributor Reference<http://wiki.eclipse.org/index.php/Mylyn/Contributor_Reference#Workspace>. You can then use CTRL+Shift+T (or Navigate -> Open Type) to find FastMarkupPartitioner.
David On Mon, Jul 20, 2009 at 4:36 AM, siluven <[email protected]> wrote: > Hello David, > thank you for the reply. > I need the begin and end offset of each component, so for each token type > (heading, link, image) I know its exact position in the raw document. > If we know their position, we can mark each component according to the type > in the rawtext more easily (similar to WikiText editor). > (e. g.: for marking bold, marking as link etc.) > > But where could I find > org.eclipse.mylyn.internal.wikitext.ui.editor.syntax.FastMarkupPartitioner.PartitionBuilder > . > > Regards, > > Luven > > > On 7/15/2009 5:44 PM, David Green wrote: > > Luven, > The good news: The WikiText parser is used behind the scenes in the > WikiText editor -- so yes, it can give you the offsets that you need to know > where things are in the source markup. The bad news: this functionality was > retrofitted into the WikiText parser and is probably not the most intuitive > API. > > You're pointed in the right direction. > org.eclipse.mylyn.wikitext.core.parser.Locator is indeed the place to get > the offsets that you need. The WikiText markup editor uses a > DocumentBuilder to build a model of the document with exact offsets. A good > place to start looking > is > org.eclipse.mylyn.internal.wikitext.ui.editor.syntax.FastMarkupPartitioner.PartitionBuilder. > > If you feel that there are bugs in the implementation (including > documentation bugs or lacking documentation) please post a bug at > bugs.eclipse.org under Tools/Mylyn/WikiText. If you're able to attach > JUnit tests that exercise/demonstrate the bug, that's even better. > > To satisfy my curiosity, perhaps you could tell me more about your use > case: Why do you want to know these offsets? > > Regards, > > David > > On Wed, Jul 15, 2009 at 8:24 AM, siluven <[email protected]> wrote: > >> Hello, >> >> now I like to get the begin and end offset of each links in wikitext. >> Later maybe other components (images). >> Is that possible to do this using Mylyn WikiText? >> >> I tried to use getLocator().getDocumentOffset() in method: >> >> void >> org.eclipse.mylyn.wikitext.core.parser.builder.NoOpDocumentBuilder.link(Attributes >> attributes, String hrefOrHashName, String text) and >> void >> org.eclipse.mylyn.wikitext.core.parser.builder.NoOpDocumentBuilder.characters(String >> text) >> >> >> but I found out that document offset is not updated after calling method >> link(Attributes >> attributes, String hrefOrHashName, String text). >> The offset is also sometimes decremented. So far I now, it should be only >> incremented. >> I test by using this simple text below as my MediaWiki WikiText: >> >> The '''EditorX''' is an [[text editor|editor]] of small to medium-sized >> [[text]]. >> This is a [[test]] too ('''yes'''). >> >> *The Result**:* >> >> *Offset >> * *Component type >> * *Value >> * *Comment* >> -1 DOCUMENT_BEGIN >> [] >> 0 BLOCK_BEGIN >> [PARAGRAPH] >> 0 CHARACTERS_GROUP [*The *] >> 4 SPAN_BEGIN [BOLD] >> 7 CHARACTERS_GROUP [*EditorX*] >> 7 SPAN_END [BOLD] >> 17 CHARACTERS_GROUP [* is an *] >> *7* >> LINK [*editor*] The offset is anyhow decremented (¿*Bug*?) >> 7 >> CHARACTERS_GROUP [* of small to medium-sized *] Now is all offset >> incorrect >> 55 LINK >> [*text*] >> 55 CHARACTERS_GROUP [*.*] >> *83* CHARACTERS_GROUP [] New line position is correct now. >> 83 CHARACTERS_GROUP [*This is a *] >> 93 LINK [*test*] >> *93* CHARACTERS_GROUP [* too (*] 93 is offset of the link >> *107* SPAN_BEGIN [BOLD] Here is correct again >> 110 CHARACTERS_GROUP >> [*yes*] >> 110 SPAN_END [BOLD] >> 116 CHARACTERS_GROUP [*).*] >> 118 BLOCK_END [PARAGRAPH] >> 118 DOCUMENT_END [] >> >> For heading I am currently using: >> >> getLocator().getLineDocumentOffset() for beginOffset and >> getLocator().getLineDocumentOffset()+getLocator().getLineLength() for >> endOffset >> >> and it works so far. >> It does not work for link because there can be some links in the same >> line. >> >> Best regards, >> >> Luven >> >> On 6/25/2009 6:59 PM, siluven wrote: >> >> Thank you David, >> that is the functionality I need. I've tried also with headings and >> images. >> And it works too. >> >> Best regards, >> Luven >> >> On 6/24/2009 6:47 PM, David Green wrote: >> >> You want to do something like this: >> >> >> public class ExtractHyperlinksBuilder extends NoOpDocumentBuilder { >> >> private Set<String> hyperlinks = new HashSet<String>(); >> >> @Override >> >> public void link(Attributes attributes, String hrefOrHashName, String >> text) { >> >> hyperlinks.add(hrefOrHashName); >> >> } >> >> @Override >> >> public void imageLink(Attributes linkAttributes, Attributes >> imageAttributes, String href, String imageUrl) { >> >> hyperlinks.add(href); >> >> } >> >> public Set<String> getHyperlinks() { >> >> return hyperlinks; >> >> } >> >> } >> >> >> >> >> MarkupParser parser = new >> MarkupParser(ServiceLocator.getInstance().getMarkupLanguage("MediaWiki" >> )); >> >> ExtractHyperlinksBuilder builder = new ExtractHyperlinksBuilder(); >> >> parser.setBuilder(builder); >> >> Reader markupContent = null;// open reader >> >> try { >> >> parser.parse(markupContent); >> >> } finally { >> >> markupContent.close(); >> >> } >> >> // do something with builder.getHyperlinks() >> >> Regards, >> >> David >> >> On Wed, Jun 24, 2009 at 4:13 AM, siluven <[email protected]> wrote: >> >>> Hello everyone, >>> I am a new Mylyn user. I'm planning to work with Wiki Articles with java >>> and eclipse. >>> >>> Is that possible to extract attributes like hyperlinks, headings, images, >>> etc. directly from e. g. wikimedia markup-language using WikiText. >>> like: >>> - obj.getHyperlinks(); >>> >>> If it is possible or maybe there is solutions for this, how could it be >>> done? >>> >>> Thank you and best regards >>> Luven >>> >>> _______________________________________________ >>> mylyn-integrators mailing list >>> [email protected] >>> https://dev.eclipse.org/mailman/listinfo/mylyn-integrators >>> >>> >> ------------------------------ >> >> _______________________________________________ >> mylyn-integrators mailing >> [email protected]https://dev.eclipse.org/mailman/listinfo/mylyn-integrators >> >> ------------------------------ >> >> _______________________________________________ >> mylyn-integrators mailing >> [email protected]https://dev.eclipse.org/mailman/listinfo/mylyn-integrators >> >> >> _______________________________________________ >> mylyn-integrators mailing list >> [email protected] >> https://dev.eclipse.org/mailman/listinfo/mylyn-integrators >> >> > ------------------------------ > > _______________________________________________ > mylyn-integrators mailing > [email protected]https://dev.eclipse.org/mailman/listinfo/mylyn-integrators > > > _______________________________________________ > mylyn-integrators mailing list > [email protected] > https://dev.eclipse.org/mailman/listinfo/mylyn-integrators > >
_______________________________________________ mylyn-integrators mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/mylyn-integrators
