@@ -58,12 +58,19 @@ class EditorListener : EditorFactoryListener {
5858
5959 val documentListener = object : DocumentListener {
6060 override fun documentChanged (event : DocumentEvent ) {
61- logger.info(" DocumentListener: documentChanged $event " )
61+ logger.info(" DocumentListener: documentChanged $event , Editor project: ${editor.project} " )
62+ if (editor.project != null ) {
63+ logger.info(" DocumentListener: documentChanged $event " )
6264
63- debouncer.debounce {
64- ApplicationManager .getApplication().invokeLater({
65- processDocumentChange(event, editor, editorManager, completionProvider, inlineCompletionService)
66- }, ModalityState .defaultModalityState())
65+ debouncer.debounce {
66+ processDocumentChange(
67+ event,
68+ editor,
69+ editorManager,
70+ completionProvider,
71+ inlineCompletionService
72+ )
73+ }
6774 }
6875 }
6976 }
@@ -110,17 +117,22 @@ class EditorListener : EditorFactoryListener {
110117 }
111118 }
112119
120+ var editorOffset: Int = 0
121+ ApplicationManager .getApplication().invokeAndWait({
122+ editorOffset = editor.caretModel.primaryCaret.offset
123+ }, ModalityState .defaultModalityState())
124+
113125 completionProvider.ongoingCompletion.value?.let {
114- if (it.editor == editor && it.offset == editor.caretModel.primaryCaret.offset ) {
126+ if (it.editor == editor && it.offset == editorOffset ) {
115127 logger.info(" Keeping ongoing completion." )
116128 } else {
117129 logger.info(" Cancelling previous completion and providing new one." )
118130 completionProvider.clear()
119- completionProvider.provideCompletion(editor, editor.caretModel.primaryCaret.offset )
131+ completionProvider.provideCompletion(editor, editorOffset )
120132 }
121133 } ? : run {
122134 logger.info(" Providing new completion." )
123- completionProvider.provideCompletion(editor, editor.caretModel.primaryCaret.offset )
135+ completionProvider.provideCompletion(editor, editorOffset )
124136 }
125137 } else {
126138 logger.debug(" Completion is disabled." )
0 commit comments