src/Tools/jEdit/src/jedit_lib.scala
changeset 65469 78ace4a14975
parent 64824 330ec9bc4b75
child 65522 4d7c5df70a14
equal deleted inserted replaced
65468:c41791ad75c3 65469:78ace4a14975
     7 package isabelle.jedit
     7 package isabelle.jedit
     8 
     8 
     9 
     9 
    10 import isabelle._
    10 import isabelle._
    11 
    11 
       
    12 import java.io.{File => JFile}
    12 import java.awt.{Component, Container, GraphicsEnvironment, Point, Rectangle, Dimension}
    13 import java.awt.{Component, Container, GraphicsEnvironment, Point, Rectangle, Dimension}
    13 import java.awt.event.{InputEvent, KeyEvent, KeyListener}
    14 import java.awt.event.{InputEvent, KeyEvent, KeyListener}
    14 import javax.swing.{Icon, ImageIcon, JWindow, SwingUtilities}
    15 import javax.swing.{Icon, ImageIcon, JWindow, SwingUtilities}
    15 
    16 
    16 import scala.util.parsing.input.CharSequenceReader
    17 import scala.util.parsing.input.CharSequenceReader
    17 
    18 
    18 import org.gjt.sp.jedit.{jEdit, Buffer, View, GUIUtilities, Debug, EditPane}
    19 import org.gjt.sp.jedit.{jEdit, Buffer, View, GUIUtilities, Debug, EditPane}
       
    20 import org.gjt.sp.jedit.io.{VFS, FileVFS, VFSManager}
    19 import org.gjt.sp.jedit.gui.KeyEventWorkaround
    21 import org.gjt.sp.jedit.gui.KeyEventWorkaround
    20 import org.gjt.sp.jedit.buffer.{JEditBuffer, LineManager}
    22 import org.gjt.sp.jedit.buffer.{JEditBuffer, LineManager}
    21 import org.gjt.sp.jedit.textarea.{JEditTextArea, TextArea, TextAreaPainter}
    23 import org.gjt.sp.jedit.textarea.{JEditTextArea, TextArea, TextAreaPainter}
    22 import org.gjt.sp.jedit.syntax.TokenMarker
    24 import org.gjt.sp.jedit.syntax.TokenMarker
    23 
    25 
    91 
    93 
    92     geometry
    94     geometry
    93   }
    95   }
    94 
    96 
    95 
    97 
       
    98   /* files */
       
    99 
       
   100   def is_file(name: String): Boolean =
       
   101     VFSManager.getVFSForPath(name).isInstanceOf[FileVFS]
       
   102 
       
   103   def check_file(name: String): Option[JFile] =
       
   104     if (is_file(name)) Some(new JFile(name)) else None
       
   105 
       
   106 
    96   /* buffers */
   107   /* buffers */
    97 
   108 
    98   def buffer_text(buffer: JEditBuffer): String =
   109   def buffer_text(buffer: JEditBuffer): String =
    99     buffer_lock(buffer) { buffer.getText(0, buffer.getLength) }
   110     buffer_lock(buffer) { buffer.getText(0, buffer.getLength) }
   100 
   111 
   109       val name = mode.getName
   120       val name = mode.getName
   110       if (name == null) "" else name
   121       if (name == null) "" else name
   111     }
   122     }
   112   }
   123   }
   113 
   124 
   114   def buffer_name(buffer: Buffer): String = buffer.getSymlinkPath
       
   115 
       
   116   def buffer_line_manager(buffer: JEditBuffer): LineManager =
   125   def buffer_line_manager(buffer: JEditBuffer): LineManager =
   117     Untyped.get[LineManager](buffer, "lineMgr")
   126     Untyped.get[LineManager](buffer, "lineMgr")
       
   127 
       
   128   def buffer_name(buffer: Buffer): String = buffer.getSymlinkPath
       
   129 
       
   130   def buffer_file(buffer: Buffer): Option[JFile] = check_file(buffer_name(buffer))
   118 
   131 
   119 
   132 
   120   /* main jEdit components */
   133   /* main jEdit components */
   121 
   134 
   122   def jedit_buffers(): Iterator[Buffer] = jEdit.getBuffers().iterator
   135   def jedit_buffers(): Iterator[Buffer] = jEdit.getBuffers().iterator