/* ========================================================== File: CustomDocumentListener.java Description: Logs time from document change events. Maintainer: WakaTime <[email protected]> License: BSD, see LICENSE for more details. Website: https://wakatime.com/ ===========================================================*/ package com.wakatime.intellij.plugin; import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.event.DocumentEvent; import com.intellij.openapi.editor.event.DocumentListener; import com.intellij.openapi.fileEditor.FileDocumentManager; import com.intellij.openapi.vfs.VirtualFile; public class CustomDocumentListener implements DocumentListener { @Override public void beforeDocumentChange(DocumentEvent documentEvent) { } @Override public void documentChanged(DocumentEvent documentEvent) { Document document = documentEvent.getDocument(); FileDocumentManager instance = FileDocumentManager.getInstance(); VirtualFile file = instance.getFile(document); WakaTime.appendHeartbeat(file, WakaTime.getProject(document), false); } }