On 24 juin 08, at 23:07, Vincent Massol wrote:

>
> Sounds good. I've skimmed very quickly through 
> http://www.realsolve.co.uk/site/tech/jface-text.php
>  and this is my understanding too. Some open questions/remarks/
> comments I have:
>
I agree as well.


> * What I'm not sure yet (since I haven't read that far ;)) is how you
> plug the IDocumentPartitioner to the syntax highlighting.

Once you have a partitioning which basically assign to every disjoint  
portion of the document a type,
you can assign them a scanner which further divide the partition's  
content into tokens and assign to them display attributes, or you can  
attach to a partition type a given content assistant which provides  
suggestions for that context.

An engineering effort should be made to decide where the partitioning  
ends and where, for example, the scanner starts.

As a degenerate case we could consider the document as a single huge  
partition, and write a scanner that identifies elements into this huge  
partition. While this could work fine for syntax highlighting, it is  
completely useless for content assistance (what would be a suggestion  
for a whole document? We need suggestions for links, macros... This  
should guide the engineering of the relevant partition types that can  
be useful to consider).

>
> * XDOM is a tree, i.e. Blocks are nested. Are the partitions nested  
> too?

No, by definition partitions are disjoint.

What I think should be done is to clearly identify what are the XDOM  
blocks that we want to consider partitions.
I think that considering XDOM tree leaves as partitions could be fine.


>
> Also I see that JFace has lots of existing rule-based APIs to simply
> parsing/scanning (a la http://jparsec.codehaus.org/) so I'm still
> unsure if we can plug the rendering parser in a natural manner.

I think that as a first approximation, we can parse the whole document  
and, by having in mind which XDOM blocks are the partitions for us, we  
can return them using JFace mechanisms. This means that we need to  
write a complete implementation of the IDocumentPartitioner and  
probably we will not be able to use the general purpose rules and  
partitioners already defined in the framework.

WDYT?

Cheers,
Fabio


_______________________________________________
devs mailing list
devs@xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to