idea-plugin / arrow.meta.ide.plugins.helloworld / helloWorld


val MetaIde.helloWorld: IdePlugin

The following section exemplifies a Hello World IDE Plugin

The Hello World plugin registers a LineMarker on every helloWorld function.

val MetaIde.helloWorld: IdePlugin
   get() = "Hello World" {
         icon = ArrowIcons.ICON1,
         composite =,
         message = { f: KtNamedFunction -> "Teach your users about this feature in function $f" },
         transform = {
           it.safeAs<KtNamedFunction>()?.takeIf { f ->
    == "helloWorld"

For every function with the name helloWorld, our IDE plugin will register a lineMarker with our custom icon. And whenever the user hovers over the Icon, it will display the message.

Take a look at arrow-meta-examples repository for more details.

See Also


Do you like Arrow?

Arrow Org