# HG changeset patch # User wenzelm # Date 1245963789 -7200 # Node ID e89b6ec97910b1ac40bc4914a05f4145e02e0474 # Parent e45052ff72334aaf0408a46a07353df70d178f45 added IsabelleEncoding -- a clone of utf-8 for now; diff -r e45052ff7233 -r e89b6ec97910 src/Tools/jEdit/dist-template/properties/jedit.props --- a/src/Tools/jEdit/dist-template/properties/jedit.props Thu Jun 25 21:15:28 2009 +0200 +++ b/src/Tools/jEdit/dist-template/properties/jedit.props Thu Jun 25 23:03:09 2009 +0200 @@ -1,12 +1,12 @@ #jEdit properties buffer.deepIndent=false -buffer.encoding=UTF-8 +buffer.encoding=UTF-8-isabelle buffer.indentSize=2 buffer.lineSeparator=\n buffer.maxLineLen=100 buffer.noTabs=true buffer.tabSize=2 -fallbackEncodings=US-ASCII ISO-8859-15 +fallbackEncodings=UTF-8 ISO-8859-15 US-ASCII firstTime=false tip.show=false encodingDetectors=BOM XML-PI buffer-local-property diff -r e45052ff7233 -r e89b6ec97910 src/Tools/jEdit/plugin/services.xml --- a/src/Tools/jEdit/plugin/services.xml Thu Jun 25 21:15:28 2009 +0200 +++ b/src/Tools/jEdit/plugin/services.xml Thu Jun 25 23:03:09 2009 +0200 @@ -1,12 +1,15 @@ + + new isabelle.jedit.VFS(); + + + new isabelle.jedit.IsabelleEncoding(); + new isabelle.jedit.IsabelleSideKickParser(); - - new isabelle.jedit.VFS(); - new isabelle.jedit.IsabelleHyperlinkSource(); diff -r e45052ff7233 -r e89b6ec97910 src/Tools/jEdit/src/jedit/IsabelleEncoding.scala --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/Tools/jEdit/src/jedit/IsabelleEncoding.scala Thu Jun 25 23:03:09 2009 +0200 @@ -0,0 +1,32 @@ +/* + * Isabelle encoding -- based on utf-8 + * + * @author Makarius + */ + +package isabelle.jedit + +import org.gjt.sp.jedit.io.Encoding + +import java.nio.charset.{Charset, CodingErrorAction} +import java.io.{InputStream, OutputStream, Reader, Writer, InputStreamReader, OutputStreamWriter} + + +class IsabelleEncoding extends Encoding +{ + private val charset = Charset.forName(Isabelle_System.charset) + + override def getTextReader(in: InputStream): Reader = + new InputStreamReader(in, charset.newDecoder()) + + override def getTextWriter(out: OutputStream): Writer = + new OutputStreamWriter(out, charset.newEncoder()) + + override def getPermissiveTextReader(in: InputStream): Reader = + { + val decoder = charset.newDecoder() + decoder.onMalformedInput(CodingErrorAction.REPLACE) + decoder.onUnmappableCharacter(CodingErrorAction.REPLACE) + new InputStreamReader(in, decoder) + } +}