On Jun 12, 2008, at 9:58 AM, Fabio Mancinelli wrote:

>
> On 12 juin 08, at 08:01, Vincent Massol wrote:
>
>> Hi Malaka,
>>
>> Don't you need a xwiki syntax parser for this?
>>
>> As you probably know I have written such a parser in the new  
>> rendering module. Just make you don't reinvent one.
>>
>> Thanks
>> -Vincent
>>
>> On Jun 12, 2008, at 6:05 AM, malaka ekanayake wrote:
>>
>>> Hi fabio
>>> Regarding the xwiki syntax I have some questions. Up to now its
>>> straightforward to implement the highlighting for syntaxes like
>>> *bold*.
>>> *bold* can be easily identified by a "MultiLineRule" as a single  
>>> partition.
>>> But it is possible for someone to write a *bold~~bold  
>>> &italics~~bold*.Right ?.
>>> So this can go  on and on.How should I tackle this problem.
>>> I think *bold~~bold &italics~~bold* should generate 3 partitions
>>> because partitions are non overlapping.
>>> *bold
>>> ~~bold &italics~~
>>> bold*
>>> Is this right ?.
>>> Should I look into this problem later and implement the sample  
>>> plugin
>>> for simple syntaxes like *bild*,~~italics~~ or not ? .
>>>
>
> Hi all,
>
> Yes. By definition a partition is not overlapping, so if styles can  
> be composed generating a "compound style" such as bold-italic, this  
> should be in the context of a new partition type.
>
> For the parser Vincent has mentioned... It would be good to use it  
> as the "foundation".

To use it:
* Use the component manager to look up the parser: role =  
org.xwiki.rendering.Parser, hint = xwiki/2.0 (that's xwiki 2.0 syntax  
btw but that's going to be the new syntax real soon and is very  
similar to the 1.0 syntax - main change are the macros).
* Call parser.parse(String contentToParse). You get back a XDOM object  
which is an in memory DOM of the parsed content which contains Block  
(see org.xwiki.rendering.block package).

Thanks
-Vincent

>
> The idea is to use this parser as the "partitioner" where partitions  
> are the terminal symbols of the underlying grammar.
> However, I guess we should check the compatibility of the Eclipse- 
> way of doing such a kind of things (that seems to me more regex- 
> oriented) vs the classical way using a lexer-parser.
>
> You might explore a little bit this solution, looking at Vincent's  
> parser.
>
> I avail myself of this mail for saying that there is an intern at  
> XWiki, Venkatesh Nandakumar, that is working on a XWiki semantic  
> editor, that apparently has some overlap with your work. Venkatesh  
> has already written some Eclipse-oriented syntax-highlighting code.
>
> Since I am not aware of what has been done, Venkatesh should present  
> what he did to the list, so that we can minimize the efforts and  
> avoid duplicate work.
>
> For what concerns your work, I suggest the following steps:
>
> 1) Try to finish a first version of the plugin with "compound style"  
> partitioning. This is good for gaining a better understanding of the  
> Eclipse text framework.
>
> 2) Take a look at Vincent's parser and try to understand if it's  
> easy/feasible to use it as the partion-source (I'll look at this  
> issue as well).
>
> 3) Wait for Venkatesh to tell us what he has done so that we can all  
> synchronize.
>
> Cheers,
> Fabio

_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to