diff --git a/annotation-processors/src/main/kotlin/com/intellij/vim/processors/VimscriptFunctionProcessor.kt b/annotation-processors/src/main/kotlin/com/intellij/vim/processors/VimscriptFunctionProcessor.kt
index e7661ece9..6d89a9b59 100644
--- a/annotation-processors/src/main/kotlin/com/intellij/vim/processors/VimscriptFunctionProcessor.kt
+++ b/annotation-processors/src/main/kotlin/com/intellij/vim/processors/VimscriptFunctionProcessor.kt
@@ -23,6 +23,12 @@ import org.yaml.snakeyaml.DumperOptions
 import org.yaml.snakeyaml.Yaml
 
 class VimscriptFunctionProcessor(private val environment: SymbolProcessorEnvironment) : SymbolProcessor {
+  companion object {
+    const val comment = """# This file was automatically generated by [com.intellij.vim.processor.VimscriptFunctionProcessor].
+# If you are going to change it, you are probably doing something wrong, as your changes will be overridden by the next `gradle kspKotlin` run.
+
+"""
+  }
   private val visitor = VimscriptFunctionVisitor()
   private val writer = FileWriter()
   private val nameToFunction = mutableMapOf<String, KSClassDeclaration>()
@@ -41,7 +47,7 @@ class VimscriptFunctionProcessor(private val environment: SymbolProcessorEnviron
     val dictToWrite: Map<String, String> = nameToFunction
       .map { it.key to it.value.qualifiedName!!.asString() }
       .toMap()
-    return yaml.dump(dictToWrite)
+    return comment + yaml.dump(dictToWrite)
   }
 
   // todo inspection that annotation is properly used on proper classes