merged
authorwenzelm
Fri, 04 Jan 2013 21:24:47 +0100
changeset 50731 72624ff45676
parent 50723 07ecb6716df2 (current diff)
parent 50730 883963f45ac9 (diff)
child 50732 b2e7490a1b3d
merged
NEWS
--- a/Admin/components/components.sha1	Fri Jan 04 20:04:59 2013 +0100
+++ b/Admin/components/components.sha1	Fri Jan 04 21:24:47 2013 +0100
@@ -18,6 +18,7 @@
 7b012f725ec1cc102dc259df178d511cc7890bba  jedit_build-20120813.tar.gz
 8e1d36f5071e3def2cb281f7fefe9f52352cb88f  jedit_build-20120903.tar.gz
 8fa0c67f59beba369ab836562eed4e56382f672a  jedit_build-20121201.tar.gz
+06e9be2627ebb95c45a9bcfa025d2eeef086b408  jedit_build-20130104.tar.gz
 8122526f1fc362ddae1a328bdbc2152853186fee  jfreechart-1.0.14.tar.gz
 6c737137cc597fc920943783382e928ea79e3feb  kodkodi-1.2.16.tar.gz
 5f95c96bb99927f3a026050f85bd056f37a9189e  kodkodi-1.5.2.tar.gz
--- a/Admin/components/main	Fri Jan 04 20:04:59 2013 +0100
+++ b/Admin/components/main	Fri Jan 04 21:24:47 2013 +0100
@@ -3,7 +3,7 @@
 e-1.6
 exec_process-1.0.3
 jdk-7u9
-jedit_build-20121201
+jedit_build-20130104
 jfreechart-1.0.14
 kodkodi-1.5.2
 polyml-5.5.0
--- a/NEWS	Fri Jan 04 20:04:59 2013 +0100
+++ b/NEWS	Fri Jan 04 21:24:47 2013 +0100
@@ -96,6 +96,10 @@
 adjust the main text area font size, and its derivatives for output,
 tooltips etc.  Cf. keyboard shortcuts C-PLUS and C-MINUS.
 
+* More reactive completion popup by default: use \t (TAB) instead of
+\n (NEWLINE) to minimize intrusion into regular flow of editing.  See
+also "Plugin Options / SideKick / General / Code Completion Options".
+
 * Implicit check and build dialog of the specified logic session
 image.  For example, HOL, HOLCF, HOL-Nominal can be produced on
 demand, without bundling big platform-dependent heap images in the
--- a/src/Tools/jEdit/lib/Tools/jedit	Fri Jan 04 20:04:59 2013 +0100
+++ b/src/Tools/jEdit/lib/Tools/jedit	Fri Jan 04 21:24:47 2013 +0100
@@ -203,6 +203,7 @@
 JEDIT_JARS=(
   "$ISABELLE_JEDIT_BUILD_HOME/contrib/Console.jar"
   "$ISABELLE_JEDIT_BUILD_HOME/contrib/ErrorList.jar"
+  "$ISABELLE_JEDIT_BUILD_HOME/contrib/Highlight.jar"
   "$ISABELLE_JEDIT_BUILD_HOME/contrib/SideKick.jar"
   "$ISABELLE_JEDIT_BUILD_HOME/contrib/cobra.jar"
   "$ISABELLE_JEDIT_BUILD_HOME/contrib/js.jar"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/Tools/jEdit/patches/jedit/completion	Fri Jan 04 21:24:47 2013 +0100
@@ -0,0 +1,15 @@
+diff -ru 5.0.0/jEdit/org/gjt/sp/jedit/gui/CompletionPopup.java 5.0.0/jEdit-patched/org/gjt/sp/jedit/gui/CompletionPopup.java
+--- 5.0.0/jEdit/org/gjt/sp/jedit/gui/CompletionPopup.java	2012-11-17 16:41:58.000000000 +0100
++++ 5.0.0/jEdit-patched/org/gjt/sp/jedit/gui/CompletionPopup.java	2013-01-04 14:25:57.095172180 +0100
+@@ -113,9 +113,9 @@
+ 		list.setCellRenderer(new CellRenderer());
+ 		list.addKeyListener(keyHandler);
+ 		list.addMouseListener(new MouseHandler());
++		list.setFocusTraversalKeysEnabled(false);
+ 
+ 		JPanel content = new JPanel(new BorderLayout());
+-		content.setFocusTraversalKeysEnabled(false);
+ 		// stupid scrollbar policy is an attempt to work around
+ 		// bugs people have been seeing with IBM's JDK -- 7 Sep 2000
+ 		JScrollPane scroller = new JScrollPane(list,
+
--- a/src/Tools/jEdit/patches/jedit/macos	Fri Jan 04 20:04:59 2013 +0100
+++ b/src/Tools/jEdit/patches/jedit/macos	Fri Jan 04 21:24:47 2013 +0100
@@ -13,26 +13,31 @@
  			{
  				os = VMS;
 diff -ru 5.0.0/jEdit/org/gjt/sp/jedit/Debug.java 5.0.0/jEdit-patched/org/gjt/sp/jedit/Debug.java
---- 5.0.0/jEdit/org/gjt/sp/jedit/Debug.java	2012-11-17 16:42:29.000000000 +0100
-+++ 5.0.0/jEdit-patched/org/gjt/sp/jedit/Debug.java	2012-12-01 21:55:48.000000000 +0100
-@@ -109,6 +109,7 @@
- 	 * used to handle a modifier key press in conjunction with an alphabet
- 	 * key. <b>On by default on MacOS.</b>
- 	 */
-+	public static boolean ALTERNATIVE_DISPATCHER0 = false;
- 	public static boolean ALTERNATIVE_DISPATCHER = OperatingSystem.isMacOS();
+--- 5.0.0/jEdit/org/gjt/sp/jedit/Debug.java     2012-11-17 16:42:29.000000000 +0100
++++ 5.0.0/jEdit-patched/org/gjt/sp/jedit/Debug.java     2013-01-04 20:00:25.698332853 +0100
+@@ -109,7 +109,7 @@
+         * used to handle a modifier key press in conjunction with an alphabet
+         * key. <b>On by default on MacOS.</b>
+         */
+-       public static boolean ALTERNATIVE_DISPATCHER = OperatingSystem.isMacOS();
++       public static boolean ALTERNATIVE_DISPATCHER = false;
  
- 	/**
-diff -ru 5.0.0/jEdit/org/gjt/sp/jedit/gui/KeyEventTranslator.java 5.0.0/jEdit-patched/org/gjt/sp/jedit/gui/KeyEventTranslator.java
---- 5.0.0/jEdit/org/gjt/sp/jedit/gui/KeyEventTranslator.java	2012-11-17 16:41:58.000000000 +0100
-+++ 5.0.0/jEdit-patched/org/gjt/sp/jedit/gui/KeyEventTranslator.java	2012-12-01 21:56:04.000000000 +0100
-@@ -79,7 +79,7 @@
- 				|| (keyCode >= KeyEvent.VK_A
- 				&& keyCode <= KeyEvent.VK_Z))
- 			{
--				if(Debug.ALTERNATIVE_DISPATCHER)
-+				if(Debug.ALTERNATIVE_DISPATCHER0)
- 					return null;
- 				else
- 				{
+        /**
+         * If true, A+ shortcuts are disabled. If you use this, you should also
+diff -ru 5.0.0/jEdit/org/gjt/sp/jedit/gui/KeyEventWorkaround.java 5.0.0/jEdit-patched/org/gjt/sp/jed
+it/gui/KeyEventWorkaround.java
+--- 5.0.0/jEdit/org/gjt/sp/jedit/gui/KeyEventWorkaround.java    2012-11-17 16:41:58.000000000 +0100
++++ 5.0.0/jEdit-patched/org/gjt/sp/jedit/gui/KeyEventWorkaround.java    2013-01-04 20:04:43.02632209
+2 +0100
+@@ -297,8 +297,8 @@
+ 
+                        if(!Debug.ALTERNATIVE_DISPATCHER)
+                        {
+-                               if(((modifiers & InputEvent.CTRL_MASK) != 0
+-                                       ^ (modifiers & InputEvent.ALT_MASK) != 0)
++                               if((modifiers & InputEvent.CTRL_MASK) != 0 && (modifiers & InputEvent.ALT_MASK) == 0
++                                       || (modifiers & InputEvent.CTRL_MASK) == 0 && (modifiers & InputEvent.ALT_MASK) != 0 && !Debug.ALT_KEY_PRESSED_DISABLED
+                                        || (modifiers & InputEvent.META_MASK) != 0)
+                                {
+                                        return null;
 
--- a/src/Tools/jEdit/src/Isabelle.props	Fri Jan 04 20:04:59 2013 +0100
+++ b/src/Tools/jEdit/src/Isabelle.props	Fri Jan 04 21:24:47 2013 +0100
@@ -16,8 +16,9 @@
 plugin.isabelle.jedit.Plugin.depend.0=jdk 1.7
 plugin.isabelle.jedit.Plugin.depend.1=jedit 05.00.00.00
 plugin.isabelle.jedit.Plugin.depend.2=plugin console.ConsolePlugin 5.0
-plugin.isabelle.jedit.Plugin.depend.3=plugin errorlist.ErrorListPlugin 2.0
+plugin.isabelle.jedit.Plugin.depend.3=plugin errorlist.ErrorListPlugin 2.1
 plugin.isabelle.jedit.Plugin.depend.4=plugin sidekick.SideKickPlugin 1.4
+plugin.isabelle.jedit.Plugin.depend.5=plugin gatchan.highlight.HighlightPlugin 1.9.10
 
 #options
 plugin.isabelle.jedit.Plugin.option-group=isabelle-general isabelle-rendering
--- a/src/Tools/jEdit/src/isabelle_sidekick.scala	Fri Jan 04 20:04:59 2013 +0100
+++ b/src/Tools/jEdit/src/isabelle_sidekick.scala	Fri Jan 04 21:24:47 2013 +0100
@@ -20,8 +20,7 @@
 
 import org.gjt.sp.jedit.{Buffer, EditPane, TextUtilities, View}
 import errorlist.DefaultErrorSource
-import sidekick.{SideKickParser, SideKickParsedData, SideKickCompletion,
-  SideKickCompletionPopup, IAsset}
+import sidekick.{SideKickParser, SideKickParsedData, SideKickCompletion, IAsset}
 
 
 object Isabelle_Sidekick
--- a/src/Tools/jEdit/src/jEdit.props	Fri Jan 04 20:04:59 2013 +0100
+++ b/src/Tools/jEdit/src/jEdit.props	Fri Jan 04 21:24:47 2013 +0100
@@ -205,7 +205,7 @@
 line-end.shortcut=END
 line-home.shortcut=HOME
 lookAndFeel=javax.swing.plaf.nimbus.NimbusLookAndFeel
-plugin.MacOSXPlugin.altDispatcher=true
+plugin.MacOSXPlugin.altDispatcher=false
 plugin.MacOSXPlugin.disableOption=true
 print.font=IsabelleText
 restore.remote=false
@@ -213,9 +213,9 @@
 sidekick-tree.dock-position=right
 sidekick.auto-complete-popup-get-focus=true
 sidekick.buffer-save-parse=true
-sidekick.complete-delay=300
+sidekick.complete-delay=0
 sidekick.complete-instant.toggle=false
-sidekick.complete-popup.accept-characters=\\n\\t
+sidekick.complete-popup.accept-characters=\\t
 sidekick.complete-popup.insert-characters=
 sidekick.splitter.location=721
 systrayicon=false
--- a/src/Tools/jEdit/src/pretty_text_area.scala	Fri Jan 04 20:04:59 2013 +0100
+++ b/src/Tools/jEdit/src/pretty_text_area.scala	Fri Jan 04 21:24:47 2013 +0100
@@ -10,9 +10,8 @@
 
 import isabelle._
 
-import java.awt.{Color, Font, FontMetrics, Toolkit}
-import java.awt.event.{ActionListener, ActionEvent, KeyEvent}
-import javax.swing.{KeyStroke, JComponent}
+import java.awt.{Color, Font, FontMetrics, Toolkit, Window}
+import java.awt.event.{KeyEvent, KeyAdapter}
 
 import org.gjt.sp.jedit.{jEdit, View, Registers}
 import org.gjt.sp.jedit.textarea.{AntiAlias, JEditEmbeddedTextArea}
@@ -159,22 +158,24 @@
   }
 
 
-  /* keyboard actions */
+  /* key handling */
 
-  private val action_listener = new ActionListener {
-    def actionPerformed(e: ActionEvent) {
-      e.getActionCommand match {
-        case "copy" => Registers.copy(text_area, '$')
+  addKeyListener(new KeyAdapter {
+    override def keyPressed(evt: KeyEvent)
+    {
+      evt.getKeyCode match {
+        case KeyEvent.VK_C
+        if (evt.getModifiers & Toolkit.getDefaultToolkit.getMenuShortcutKeyMask) != 0 =>
+          Registers.copy(text_area, '$')
+        case KeyEvent.VK_ESCAPE =>
+          Window.getWindows foreach {
+            case c: Pretty_Tooltip => c.dispose
+            case _ =>
+          }
         case _ =>
       }
     }
-  }
-
-  registerKeyboardAction(action_listener, "copy",
-    KeyStroke.getKeyStroke(KeyEvent.VK_COPY, 0), JComponent.WHEN_FOCUSED)
-  registerKeyboardAction(action_listener, "copy",
-    KeyStroke.getKeyStroke(KeyEvent.VK_C,
-      Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()), JComponent.WHEN_FOCUSED)
+  })
 
 
   /* init */
--- a/src/Tools/jEdit/src/pretty_tooltip.scala	Fri Jan 04 20:04:59 2013 +0100
+++ b/src/Tools/jEdit/src/pretty_tooltip.scala	Fri Jan 04 21:24:47 2013 +0100
@@ -10,8 +10,8 @@
 import isabelle._
 
 import java.awt.{Color, Point, BorderLayout, Window, Dimension}
-import java.awt.event.{ActionListener, ActionEvent, KeyEvent, WindowEvent, WindowAdapter}
-import javax.swing.{SwingUtilities, JDialog, JPanel, JComponent, KeyStroke}
+import java.awt.event.{WindowEvent, WindowAdapter}
+import javax.swing.{SwingUtilities, JDialog, JPanel, JComponent}
 import javax.swing.border.LineBorder
 
 import scala.swing.{FlowPanel, Label}
@@ -37,7 +37,6 @@
 
   window.setUndecorated(true)
   window.setFocusableWindowState(true)
-  window.setAutoRequestFocus(true)
 
   window.addWindowFocusListener(new WindowAdapter {
     override def windowLostFocus(e: WindowEvent) {
@@ -47,24 +46,8 @@
     }
   })
 
-  private val action_listener = new ActionListener {
-    def actionPerformed(e: ActionEvent) {
-      e.getActionCommand match {
-        case "close_all" =>
-          Window.getWindows foreach {
-            case c: Pretty_Tooltip => c.dispose
-            case _ =>
-          }
-        case _ =>
-      }
-    }
-  }
-
   window.setContentPane(new JPanel(new BorderLayout) {
     setBackground(rendering.tooltip_color)
-    registerKeyboardAction(action_listener, "close_all",
-      KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_FOCUSED)
-
     override def getFocusTraversalKeysEnabled(): Boolean = false
   })
   window.getRootPane.setBorder(new LineBorder(Color.BLACK))
@@ -77,9 +60,6 @@
     Rendering.font_size("jedit_tooltip_font_scale").round)
   pretty_text_area.update(rendering.snapshot, results, body)
 
-  pretty_text_area.registerKeyboardAction(action_listener, "close_all",
-    KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_FOCUSED)
-
   window.add(pretty_text_area)
 
 
@@ -136,6 +116,7 @@
   }
 
   window.setVisible(true)
+  pretty_text_area.requestFocus
   pretty_text_area.refresh()
 }