{{{ QDocSideKick 1.0
Source: Source code is in SVN with the tag 1.0
Announcement: Initial release. Brand new plugin for working with QDoc files https://doc.qt.io/qt-6/01-qdoc-manual.html.. While the manual says "QDoc finds QDoc comments in .cpp files and in .qdoc files", this QDocSideKick plugin only works with .qdoc files.
Requires Java 11
Requires jEdit 05.04.00.00
Short Description: QDocSideKick
Long Description: <html>
SideKick for QDoc files
}}}
Diff:
Hi Dale,
sorry for taking so long to look into this.
Please provide an example qdoc file.
I've tried with the example at https://doc.qt.io/qt-6/05-qdoc-commands-documentstructure.html and I get a StringIndexOutOfBound when parsing it (see attached file).
Jedit 5.4.0, Java 11, ubuntu container.
Stacktrace:
~~~
[java] 5:17:29 PM [SwingWorker-pool-1-thread-3] [error] SwingWorker-pool-1-thread-3: java.lang.StringIndexOutOfBoundsException: begin 12, end 9, length 30
[java] 5:17:29 PM [SwingWorker-pool-1-thread-3] [error] SwingWorker-pool-1-thread-3: at java.base/java.lang.String.checkBoundsBeginEnd(String.java:3319)
[java] 5:17:29 PM [SwingWorker-pool-1-thread-3] [error] SwingWorker-pool-1-thread-3: at java.base/java.lang.String.substring(String.java:1874)
[java] 5:17:29 PM [SwingWorker-pool-1-thread-3] [error] SwingWorker-pool-1-thread-3: at sidekick.qdoc.QdocSideKickParser.parse(QdocSideKickParser.java:121)
[java] 5:17:29 PM [SwingWorker-pool-1-thread-3] [error] SwingWorker-pool-1-thread-3: at sidekick.SideKick$ParseRequestWorker.doInBackground(SideKick.java:550)
[java] 5:17:29 PM [SwingWorker-pool-1-thread-3] [error] SwingWorker-pool-1-thread-3: at sidekick.SideKick$ParseRequestWorker.doInBackground(SideKick.java:526)
[java] 5:17:29 PM [SwingWorker-pool-1-thread-3] [error] SwingWorker-pool-1-thread-3: at java.desktop/javax.swing.SwingWorker$1.call(SwingWorker.java:304)
[java] 5:17:29 PM [SwingWorker-pool-1-thread-3] [error] SwingWorker-pool-1-thread-3: at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[java] 5:17:29 PM [SwingWorker-pool-1-thread-3] [error] SwingWorker-pool-1-thread-3: at java.desktop/javax.swing.SwingWorker.run(SwingWorker.java:343)
[java] 5:17:29 PM [SwingWorker-pool-1-thread-3] [error] SwingWorker-pool-1-thread-3: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
[java] 5:17:29 PM [SwingWorker-pool-1-thread-3] [error] SwingWorker-pool-1-thread-3: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
[java] 5:17:29 PM [SwingWorker-pool-1-thread-3] [error] SwingWorker-pool-1-thread-3: at java.base/java.lang.Thread.run(Thread.java:829)
~~~
Thanks, Eric, I'd kind of forgotten about this one also. I'll look into it. This was sort of a one-off plugin for Alan, I'm guessing he's the only one actually using it.
Diff:
Eric, it should be good now. I've renamed things more consistently, so it should be QDocSideKick. There is an example file in the source named "qt-convenience-api.qdoc" to test with.
Thanks Dale for the fixes. Indeed the example was already there and it is well parsed.
I was able to build the plugin and can release as is, but could you consider including this fix so indented
\section1
works?Example:
In QDocSideKickParser.java, line 121
Thanks,
Released to plugin central
Thanks, Eric and Dale!
Actually, I have some coworkers who might use it too.