idea-plugin / arrow.meta.ide.plugins.quotes.system / QuoteSystemService


interface QuoteSystemService

Whereas the QuoteCache persists quote transformations, the QuoteSystemService is responsible for transforming KtFiles under a given context.


Ctx computational context of QuoteSystemService.interface Ctx


context abstract val context: Ctx


processKtFile this extension applies the quotes in the Ide for a given file. Currently hijacking the QuoteSystemService and overriding this function will solely reflect in Ide related changes.abstract fun <K : KtElement, P : KtElement, S : Scope<K>> processKtFile(file: KtFile, on: Class<K>, quoteFactory: Factory<P, K, S>, match: K.() -> Boolean, map: S.(K) -> Transform<K>): Pair<KtFile, List<Transform<K>>>

Companion Object Functions

defaultCtx fun defaultCtx(project: Project): Ctx

Extension Functions

refreshCache transforms and updates files and repopulates the cache based on the strategy and their extensions. The transformations are executed in the background to avoid blocking the <P : KtElement, K : KtElement, S : Scope<K>> QuoteSystemService.refreshCache(cache: QuoteCache, project: Project, files: List<KtFile>, extensions: List<QuoteDefinition<P, K, S>>, strategy: CacheStrategy): Unit
transform transforms all files with registered extensions for a given projectfun <P : KtElement, K : KtElement, S : Scope<K>> QuoteSystemService.transform(project: Project, files: List<KtFile>, extensions: List<QuoteDefinition<P, K, S>>): List<Pair<KtFile, KtFile>>

Do you like Arrow?

Arrow Org