From 1ac5077c4ccf668a98395cdebbb0dfc3d18e9cd4 Mon Sep 17 00:00:00 2001
From: rmaddy <rmaddy>
Date: Wed, 28 Jan 2004 00:36:59 +0000
Subject: [PATCH] More listeners

---
 src/com/maddyhome/idea/vim/VimPlugin.java | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/src/com/maddyhome/idea/vim/VimPlugin.java b/src/com/maddyhome/idea/vim/VimPlugin.java
index 0ebb61500..e14d0d868 100644
--- a/src/com/maddyhome/idea/vim/VimPlugin.java
+++ b/src/com/maddyhome/idea/vim/VimPlugin.java
@@ -42,11 +42,14 @@ import com.maddyhome.idea.vim.ex.CommandParser;
 import com.maddyhome.idea.vim.group.ChangeGroup;
 import com.maddyhome.idea.vim.group.CommandGroups;
 import com.maddyhome.idea.vim.group.FileGroup;
+import com.maddyhome.idea.vim.group.MarkGroup;
 import com.maddyhome.idea.vim.group.MotionGroup;
+import com.maddyhome.idea.vim.helper.DocumentManager;
 import com.maddyhome.idea.vim.helper.EditorData;
 import com.maddyhome.idea.vim.key.RegisterActions;
 import com.maddyhome.idea.vim.option.Options;
 import com.maddyhome.idea.vim.ui.MorePanel;
+import com.maddyhome.idea.vim.undo.UndoManager;
 import java.awt.Toolkit;
 import java.net.URL;
 import javax.swing.ImageIcon;
@@ -108,6 +111,9 @@ public class VimPlugin implements ApplicationComponent, JDOMExternalizable
      */
     private void setupListeners()
     {
+        DocumentManager.getInstance().addDocumentListener(new MarkGroup.MarkUpdater());
+        DocumentManager.getInstance().addDocumentListener(new UndoManager.DocumentChangeListener());
+
         EditorFactory.getInstance().addEditorFactoryListener(new EditorFactoryAdapter() {
             public void editorCreated(EditorFactoryEvent event)
             {
@@ -134,6 +140,8 @@ public class VimPlugin implements ApplicationComponent, JDOMExternalizable
                 FileEditorManager.getInstance(project).addFileEditorManagerListener(new MorePanel.MoreEditorChangeListener());
                 FileEditorManager.getInstance(project).addFileEditorManagerListener(new FileGroup.SelectionCheck());
 
+                DocumentManager.getInstance().openProject(project);
+
                 /*
                 ToolWindowManager mgr = ToolWindowManager.getInstance(project);
                 ToolWindow win = mgr.registerToolWindow("VIM", VimToolWindow.getInstance(), ToolWindowAnchor.BOTTOM);
@@ -144,6 +152,8 @@ public class VimPlugin implements ApplicationComponent, JDOMExternalizable
 
             public void projectClosed(Project project)
             {
+                DocumentManager.getInstance().closeProject(project);
+
                 /*
                 toolWindows.remove(project);
                 ToolWindowManager mgr = ToolWindowManager.getInstance(project);
@@ -305,6 +315,7 @@ public class VimPlugin implements ApplicationComponent, JDOMExternalizable
     private VimTypedActionHandler vimHandler;
     private RegisterActions actions;
     //private static HashMap toolWindows = new HashMap();
+    private MarkGroup.MarkUpdater markUpdater = new MarkGroup.MarkUpdater();
 
     private static boolean enabled = true;
     private static Logger logger = Logger.getInstance(VimPlugin.class.getName());