mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-03-22 06:50:54 +07:00
PY-71854 Jupyter(feat): remove decompile trash from TextPresentationTranformers
GitOrigin-RevId: f64c7c455a4a8a59362ac77eab13dbe1fa5010f9
This commit is contained in:
committed by
intellij-monorepo-bot
parent
ee0e2c9742
commit
391ef8a877
@@ -8,7 +8,6 @@ import com.intellij.openapi.components.Service
|
||||
import com.intellij.openapi.components.service
|
||||
import com.intellij.openapi.extensions.ExtensionPointName
|
||||
import com.intellij.openapi.fileEditor.FileDocumentManager
|
||||
import com.intellij.openapi.fileTypes.BinaryFileDecompiler
|
||||
import com.intellij.openapi.fileTypes.FileTypeExtension
|
||||
import com.intellij.openapi.fileTypes.FileTypeRegistry
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
@@ -17,13 +16,13 @@ import org.jetbrains.annotations.ApiStatus
|
||||
|
||||
@ApiStatus.Internal
|
||||
@Service(Service.Level.APP)
|
||||
class TextPresentationTranformers : FileTypeExtension<TextPresentationTransformer>(EP), Disposable.Default {
|
||||
class TextPresentationTransformers : FileTypeExtension<TextPresentationTransformer>(EP), Disposable.Default {
|
||||
init {
|
||||
val extensionPoint = ApplicationManager.getApplication().extensionArea.getExtensionPointIfRegistered<BinaryFileDecompiler>(EP.name)
|
||||
extensionPoint?.addChangeListener({ notifyDecompilerSetChange() }, null)
|
||||
val extensionPoint = ApplicationManager.getApplication().extensionArea.getExtensionPointIfRegistered<TextPresentationTransformer>(EP.name)
|
||||
extensionPoint?.addChangeListener({ notifyTextPresentationSetChange() }, null)
|
||||
}
|
||||
|
||||
private fun notifyDecompilerSetChange() {
|
||||
private fun notifyTextPresentationSetChange() {
|
||||
val fileTypes = EP.extensionsIfPointIsRegistered.map {
|
||||
val key = it.key
|
||||
FileTypeRegistry.getInstance().getFileTypeByExtension(key)
|
||||
@@ -37,7 +36,7 @@ class TextPresentationTranformers : FileTypeExtension<TextPresentationTransforme
|
||||
|
||||
@JvmStatic
|
||||
fun fromPersistent(text: CharSequence, virtualFile: VirtualFile): CharSequence {
|
||||
val transformer = service<TextPresentationTranformers>().forFileType(virtualFile.fileType)
|
||||
val transformer = service<TextPresentationTransformers>().forFileType(virtualFile.fileType)
|
||||
if (transformer == null) {
|
||||
return text
|
||||
}
|
||||
@@ -47,7 +46,7 @@ class TextPresentationTranformers : FileTypeExtension<TextPresentationTransforme
|
||||
|
||||
@JvmStatic
|
||||
fun toPersistent(text: CharSequence, virtualFile: VirtualFile): CharSequence {
|
||||
val transformer = service<TextPresentationTranformers>().forFileType(virtualFile.fileType)
|
||||
val transformer = service<TextPresentationTransformers>().forFileType(virtualFile.fileType)
|
||||
if (transformer == null) {
|
||||
return text
|
||||
}
|
||||
@@ -18,7 +18,7 @@ import com.intellij.openapi.vfs.CharsetToolkit;
|
||||
import com.intellij.openapi.vfs.VfsUtilCore;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.openapi.vfs.encoding.EncodingRegistry;
|
||||
import com.intellij.openapi.vfs.transformer.TextPresentationTranformers;
|
||||
import com.intellij.openapi.vfs.transformer.TextPresentationTransformers;
|
||||
import com.intellij.testFramework.LightVirtualFile;
|
||||
import com.intellij.util.*;
|
||||
import com.intellij.util.text.ByteArrayCharSequence;
|
||||
@@ -406,7 +406,7 @@ public final class LoadTextUtil {
|
||||
@NotNull String text,
|
||||
long newModificationStamp) throws IOException {
|
||||
Charset existing = virtualFile.getCharset();
|
||||
text = TextPresentationTranformers.toPersistent(text, virtualFile).toString();
|
||||
text = TextPresentationTransformers.toPersistent(text, virtualFile).toString();
|
||||
Pair.NonNull<Charset, byte[]> chosen = charsetForWriting(project, virtualFile, text, existing);
|
||||
Charset charset = chosen.first;
|
||||
byte[] buffer = chosen.second;
|
||||
@@ -568,7 +568,7 @@ public final class LoadTextUtil {
|
||||
ConvertResult result = convertBytesAndSetSeparator(bytes, bytes.length, virtualFile,
|
||||
saveDetectedSeparators, info, info.hardCodedCharset);
|
||||
if (applyTextTransformer) {
|
||||
return TextPresentationTranformers.fromPersistent(result.text, virtualFile);
|
||||
return TextPresentationTransformers.fromPersistent(result.text, virtualFile);
|
||||
} else {
|
||||
return result.text;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user