[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kwrite-devel
Subject:    Re: Detailes needed for XML-plugin implementation
From:       Dominik Haumann <dhdev () gmx ! de>
Date:       2011-11-13 13:00:06
Message-ID: 201111131400.06800.dhdev () gmx ! de
[Download RAW message or body]

On Saturday, 12. November 2011, Adrian Lungu wrote:
> Now, that we will start the actual implementation, we'd like to ask you
> some questions to make sure we go the right way:
> 
> 1. We definitely don't want to write a new parser (it's very likely to be
> buggy and slow). We saw that Kate's highlight uses "KateSyntaxDocument".
> Would that be our best choice to find the XML-tags from a document? If
> yes, is "katehighlight" the best example of KateSyntaxDocument's usage,
> or is there something better?

With regard to KateSyntaxDocument: The answer is clearly no.
If you write a Kate plugin, you can only use the KTextEditor interfaces and the Kate \
Application interfaces.

1. KTextEditor interfaces
- API docs online: http://api.kde.org/4.7-api/kdelibs-apidocs/interfaces/ktexteditor/html/index.html
                
- in Kate git: ktexteditor/*.h

The Kate Editor Component implements all the KTextEditor classes. And it also
INTERNALLY has more classes / information. But from the (external) plugin view,
there is no way to get to these information. In other words, a plugin does not
know that a class KateSyntaxDocument exists (Similar: Plugins have no way to
access your code folding classes, it's completely internal to the implementation).

2. Kate Application interfaces
- in git: kate/interfaces/kate/*.h
- online API documentation is not generated, unfortunately


In other words, you use 2. to create a basic plugin framework. There are
a log of plugins in kate/plugins/, even an example called helloworld (I do
not know whether it works, though).

So assume you have a basic plugin structure working. It appears in the plugin
list and you can enable the plugin. Then you can start to add real code.


> 2.  For the XML document formatting : We saw that "plugin_katexmlcheck"
> uses "xmllint" application. xmllint can be used to format an xml
> document, too (using "--format" argument). What would be the best
> choice: using xmllint or writing the code that does the format using the
> parser (KateSyntaxDocument).

It depends on what you want to do: If you want to reindent the code, this is
one way. However, it's not so good as we then depend on xmllint (which is
probably not available on Windows or so...).
So writing a small parser shoudn't be too hard. On the other hand, this
exists already in the XML Tool plugin, as far as I know, and that's also
where I would add the code to do the highlighting and so on (folder:
kate/plugins/xmltools/).

Hope that helps,
Dominik
_______________________________________________
KWrite-Devel mailing list
KWrite-Devel@kde.org
https://mail.kde.org/mailman/listinfo/kwrite-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic