Indexing of custom language frameworks: File location + Background task?

Hi,

I'm writing a custom language integration for the R-language. To get framework aware code-completion etc., my plugin builds an index of the user's R-installation (using some custom code not by using the indexing framework of Intellij).

1) I want to save the index with ObjectOutputStream into a file (to avoid reindexing whenever Idea restarts). What is the proper place (in the intellij cache/config directory) to put the index file? How can I obtain it programmatically?\
2) I would like to expose the indexing status to the user by using a background task. Is there an easy example about how implement such a background task?

Thanks,
Holger

0
Avatar
Permanently deleted user

Hi again,

I'm still looking forward to find solutions to the mentioned problems. So if you've an idea, feel welcome to share it with me.

Best,
Holger

0

Hello,  1) com.intellij.openapi.application.PathManager#getIndexRoot() 2) com.intellij.openapi.progress.ProgressManager#runProcessWithProgressAsynchronously()  Why do you not use builtin indexing infrastructure?  Regards,  Yann

0
Avatar
Permanently deleted user

Hi Yann,

I don't use the infrastructure,because I thought it's more about indexing files in a project/module than about indexing frameworks (like jdk or the user's R package index in my case). Am I wrong?


Best,
Holger

0

The framework is used in exactly the same way for indexing sources and libraries.

0
Avatar
Permanently deleted user

Hello Dmitry,

thank you for your quick response. Is there a tutorial/easy to read code-example about how to implement it for custom language framework? Is it possible to implment a background tak without using the indexing framework of intellij?

Best,
Holger

0

Thanks a lot Dmitry, this documentation is greatly appreciated. This is an essential area that's been a black art until now.

Cheers,
Colin

0

请先登录再写评论。