mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
made Encoding*Manager available for Upsource
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2012 JetBrains s.r.o.
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -19,7 +19,6 @@ import com.intellij.openapi.Disposable;
|
||||
import com.intellij.openapi.fileTypes.FileTypeRegistry;
|
||||
import com.intellij.openapi.util.Disposer;
|
||||
import com.intellij.openapi.util.Getter;
|
||||
import com.intellij.openapi.vfs.encoding.EncodingRegistry;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
/**
|
||||
@@ -57,11 +56,9 @@ public class ApplicationManager {
|
||||
|
||||
public static void setApplication(@NotNull Application instance,
|
||||
@NotNull Getter<FileTypeRegistry> fileTypeRegistryGetter,
|
||||
@NotNull Getter<EncodingRegistry> encodingRegistryGetter,
|
||||
@NotNull Disposable parent) {
|
||||
final Application old = ourApplication;
|
||||
final Getter<FileTypeRegistry> oldFileTypeRegistry = FileTypeRegistry.ourInstanceGetter;
|
||||
final Getter<EncodingRegistry> oldEncodingRegistry = EncodingRegistry.ourInstanceGetter;
|
||||
Disposer.register(parent, new Disposable() {
|
||||
@Override
|
||||
public void dispose() {
|
||||
@@ -69,13 +66,10 @@ public class ApplicationManager {
|
||||
setApplication(old);
|
||||
//noinspection AssignmentToStaticFieldFromInstanceMethod
|
||||
FileTypeRegistry.ourInstanceGetter = oldFileTypeRegistry;
|
||||
//noinspection AssignmentToStaticFieldFromInstanceMethod
|
||||
EncodingRegistry.ourInstanceGetter = oldEncodingRegistry;
|
||||
}
|
||||
}
|
||||
});
|
||||
setApplication(instance);
|
||||
FileTypeRegistry.ourInstanceGetter = fileTypeRegistryGetter;
|
||||
EncodingRegistry.ourInstanceGetter = encodingRegistryGetter;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,9 +15,7 @@
|
||||
*/
|
||||
package com.intellij.openapi.vfs.encoding;
|
||||
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.util.Comparing;
|
||||
import com.intellij.openapi.util.Getter;
|
||||
import com.intellij.openapi.util.ThrowableComputable;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -29,8 +27,6 @@ import java.nio.charset.Charset;
|
||||
* @author yole
|
||||
*/
|
||||
public abstract class EncodingRegistry {
|
||||
public static Getter<EncodingRegistry> ourInstanceGetter;
|
||||
|
||||
public abstract boolean isNative2Ascii(@NotNull VirtualFile virtualFile);
|
||||
public abstract boolean isNative2AsciiForPropertiesFiles();
|
||||
|
||||
@@ -61,10 +57,7 @@ public abstract class EncodingRegistry {
|
||||
}
|
||||
|
||||
public static EncodingRegistry getInstance() {
|
||||
if (ourInstanceGetter == null) {
|
||||
return (EncodingRegistry)ApplicationManager.getApplication().getPicoContainer().getComponentInstance("com.intellij.openapi.vfs.encoding.EncodingManager");
|
||||
}
|
||||
return ourInstanceGetter.get();
|
||||
return EncodingManager.getInstance();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -16,7 +16,10 @@
|
||||
package com.intellij.core;
|
||||
|
||||
import com.intellij.codeInsight.folding.CodeFoldingSettings;
|
||||
import com.intellij.concurrency.*;
|
||||
import com.intellij.concurrency.AsyncFuture;
|
||||
import com.intellij.concurrency.AsyncUtil;
|
||||
import com.intellij.concurrency.Job;
|
||||
import com.intellij.concurrency.JobLauncher;
|
||||
import com.intellij.lang.*;
|
||||
import com.intellij.lang.impl.PsiBuilderFactoryImpl;
|
||||
import com.intellij.mock.MockApplication;
|
||||
@@ -35,11 +38,16 @@ import com.intellij.openapi.extensions.Extensions;
|
||||
import com.intellij.openapi.extensions.ExtensionsArea;
|
||||
import com.intellij.openapi.fileEditor.FileDocumentManager;
|
||||
import com.intellij.openapi.fileTypes.*;
|
||||
import com.intellij.openapi.progress.*;
|
||||
import com.intellij.openapi.util.*;
|
||||
import com.intellij.openapi.progress.ProcessCanceledException;
|
||||
import com.intellij.openapi.progress.ProgressIndicator;
|
||||
import com.intellij.openapi.progress.ProgressManager;
|
||||
import com.intellij.openapi.util.ClassExtension;
|
||||
import com.intellij.openapi.util.Disposer;
|
||||
import com.intellij.openapi.util.KeyedExtensionCollector;
|
||||
import com.intellij.openapi.util.StaticGetter;
|
||||
import com.intellij.openapi.vfs.VirtualFileManager;
|
||||
import com.intellij.openapi.vfs.VirtualFileSystem;
|
||||
import com.intellij.openapi.vfs.encoding.EncodingRegistry;
|
||||
import com.intellij.openapi.vfs.encoding.EncodingManager;
|
||||
import com.intellij.openapi.vfs.impl.CoreVirtualFilePointerManager;
|
||||
import com.intellij.openapi.vfs.impl.VirtualFileManagerImpl;
|
||||
import com.intellij.openapi.vfs.impl.jar.CoreJarFileSystem;
|
||||
@@ -83,12 +91,10 @@ public class CoreApplicationEnvironment {
|
||||
Extensions.cleanRootArea(myParentDisposable);
|
||||
|
||||
myFileTypeRegistry = new CoreFileTypeRegistry();
|
||||
CoreEncodingRegistry encodingRegistry = new CoreEncodingRegistry();
|
||||
|
||||
myApplication = createApplication(myParentDisposable);
|
||||
ApplicationManager.setApplication(myApplication,
|
||||
new StaticGetter<FileTypeRegistry>(myFileTypeRegistry),
|
||||
new StaticGetter<EncodingRegistry>(encodingRegistry),
|
||||
myParentDisposable);
|
||||
myLocalFileSystem = createLocalFileSystem();
|
||||
myJarFileSystem = createJarFileSystem();
|
||||
@@ -107,6 +113,7 @@ public class CoreApplicationEnvironment {
|
||||
VirtualFileManagerImpl virtualFileManager = new VirtualFileManagerImpl(fs, MessageBusFactory.newMessageBus(myApplication));
|
||||
registerComponentInstance(appContainer, VirtualFileManager.class, virtualFileManager);
|
||||
|
||||
registerApplicationService(EncodingManager.class, new CoreEncodingRegistry());
|
||||
registerApplicationService(VirtualFilePointerManager.class, createVirtualFilePointerManager());
|
||||
registerApplicationService(DefaultASTFactory.class, new CoreASTFactory());
|
||||
registerApplicationService(PsiBuilderFactory.class, new PsiBuilderFactoryImpl());
|
||||
|
||||
@@ -0,0 +1,122 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.core;
|
||||
|
||||
import com.intellij.openapi.Disposable;
|
||||
import com.intellij.openapi.editor.Document;
|
||||
import com.intellij.openapi.vfs.CharsetToolkit;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.openapi.vfs.encoding.EncodingProjectManager;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.beans.PropertyChangeListener;
|
||||
import java.nio.charset.Charset;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Map;
|
||||
|
||||
public class CoreEncodingProjectManager extends EncodingProjectManager {
|
||||
@Override
|
||||
public boolean isNative2Ascii(@NotNull VirtualFile virtualFile) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public Charset getDefaultCharset() {
|
||||
return CharsetToolkit.getDefaultSystemCharset();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Charset getEncoding(@Nullable VirtualFile virtualFile, boolean useParentDefaults) {
|
||||
return getDefaultCharset();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isUseUTFGuessing(VirtualFile virtualFile) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setEncoding(@Nullable VirtualFile virtualFileOrDir, @Nullable Charset charset) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isNative2AsciiForPropertiesFiles() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public Collection<Charset> getFavorites() {
|
||||
return Collections.singletonList(CharsetToolkit.UTF8_CHARSET);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setNative2AsciiForPropertiesFiles(VirtualFile virtualFile, boolean native2Ascii) {
|
||||
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public String getDefaultCharsetName() {
|
||||
return getDefaultCharset().name();
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public Charset getDefaultCharsetForPropertiesFiles(@Nullable VirtualFile virtualFile) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDefaultCharsetForPropertiesFiles(@Nullable VirtualFile virtualFile, @Nullable Charset charset) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addPropertyChangeListener(@NotNull PropertyChangeListener listener, @NotNull Disposable parentDisposable) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removePropertyChangeListener(@NotNull PropertyChangeListener listener) {
|
||||
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public Charset getCachedCharsetFromContent(@NotNull Document document) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public Map<VirtualFile, Charset> getAllMappings() {
|
||||
return Collections.emptyMap();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setMapping(@NotNull Map<VirtualFile, Charset> result) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDefaultCharsetName(@NotNull String name) {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -15,94 +15,8 @@
|
||||
*/
|
||||
package com.intellij.core;
|
||||
|
||||
import com.intellij.openapi.Disposable;
|
||||
import com.intellij.openapi.editor.Document;
|
||||
import com.intellij.openapi.vfs.CharsetToolkit;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.openapi.vfs.encoding.EncodingManager;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.beans.PropertyChangeListener;
|
||||
import java.nio.charset.Charset;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
|
||||
/**
|
||||
* @author yole
|
||||
*/
|
||||
public class CoreEncodingRegistry extends EncodingManager {
|
||||
@Override
|
||||
public boolean isNative2Ascii(@NotNull VirtualFile virtualFile) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public Charset getDefaultCharset() {
|
||||
return CharsetToolkit.getDefaultSystemCharset();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Charset getEncoding(@Nullable VirtualFile virtualFile, boolean useParentDefaults) {
|
||||
return getDefaultCharset();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isUseUTFGuessing(VirtualFile virtualFile) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setEncoding(@Nullable VirtualFile virtualFileOrDir, @Nullable Charset charset) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isNative2AsciiForPropertiesFiles() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public Collection<Charset> getFavorites() {
|
||||
return Collections.singletonList(CharsetToolkit.UTF8_CHARSET);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setNative2AsciiForPropertiesFiles(VirtualFile virtualFile, boolean native2Ascii) {
|
||||
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public String getDefaultCharsetName() {
|
||||
return getDefaultCharset().name();
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public Charset getDefaultCharsetForPropertiesFiles(@Nullable VirtualFile virtualFile) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDefaultCharsetForPropertiesFiles(@Nullable VirtualFile virtualFile, @Nullable Charset charset) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addPropertyChangeListener(@NotNull PropertyChangeListener listener, @NotNull Disposable parentDisposable) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removePropertyChangeListener(@NotNull PropertyChangeListener listener) {
|
||||
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public Charset getCachedCharsetFromContent(@NotNull Document document) {
|
||||
return null;
|
||||
}
|
||||
public class CoreEncodingRegistry extends CoreEncodingProjectManager {
|
||||
}
|
||||
|
||||
@@ -85,6 +85,7 @@ public class CoreProjectEnvironment {
|
||||
myProject.registerService(PsiDirectoryFactory.class, new PsiDirectoryFactoryImpl(myPsiManager));
|
||||
myProject.registerService(ProjectScopeBuilder.class, createProjectScopeBuilder());
|
||||
myProject.registerService(DumbService.class, new MockDumbService(myProject));
|
||||
myProject.registerService(CoreEncodingProjectManager.class, CoreEncodingProjectManager.class);
|
||||
}
|
||||
|
||||
@SuppressWarnings("MethodMayBeStatic")
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2009 JetBrains s.r.o.
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -28,7 +28,6 @@ import com.intellij.openapi.fileTypes.FileTypeRegistry;
|
||||
import com.intellij.openapi.util.Getter;
|
||||
import com.intellij.openapi.vfs.encoding.EncodingManager;
|
||||
import com.intellij.openapi.vfs.encoding.EncodingManagerImpl;
|
||||
import com.intellij.openapi.vfs.encoding.EncodingRegistry;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.picocontainer.MutablePicoContainer;
|
||||
|
||||
@@ -60,12 +59,6 @@ public abstract class PlatformLiteFixture extends UsefulTestCase {
|
||||
return FileTypeManager.getInstance();
|
||||
}
|
||||
},
|
||||
new Getter<EncodingRegistry>() {
|
||||
@Override
|
||||
public EncodingRegistry get() {
|
||||
return EncodingManager.getInstance();
|
||||
}
|
||||
},
|
||||
getTestRootDisposable());
|
||||
getApplication().registerService(EncodingManager.class, EncodingManagerImpl.class);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user