mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
detecting facelets after dumb mode
This commit is contained in:
@@ -126,10 +126,24 @@ public class FileManagerImpl implements FileManager {
|
||||
}
|
||||
}
|
||||
removeInvalidFilesAndDirs(false);
|
||||
checkLanguageChange();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void checkLanguageChange() {
|
||||
Map<VirtualFile, FileViewProvider> fileToPsiFileMap = new THashMap<VirtualFile, FileViewProvider>(myVFileToViewProviderMap);
|
||||
myVFileToViewProviderMap.clear();
|
||||
for (Iterator<VirtualFile> iterator = fileToPsiFileMap.keySet().iterator(); iterator.hasNext();) {
|
||||
VirtualFile vFile = iterator.next();
|
||||
Language language = getLanguage(vFile);
|
||||
if (language != null && language != fileToPsiFileMap.get(vFile).getBaseLanguage()) {
|
||||
iterator.remove();
|
||||
}
|
||||
}
|
||||
myVFileToViewProviderMap.putAll(fileToPsiFileMap);
|
||||
}
|
||||
|
||||
public void forceReload(@NotNull VirtualFile vFile) {
|
||||
if (findCachedViewProvider(vFile) == null) {
|
||||
return;
|
||||
@@ -231,6 +245,11 @@ public class FileManagerImpl implements FileManager {
|
||||
@NotNull
|
||||
public FileViewProvider createFileViewProvider(@NotNull final VirtualFile file, boolean eventSystemEnabled) {
|
||||
Language language = getLanguage(file);
|
||||
return createFileViewProvider(file, eventSystemEnabled, language);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private FileViewProvider createFileViewProvider(@NotNull VirtualFile file, boolean eventSystemEnabled, Language language) {
|
||||
final FileViewProviderFactory factory = language == null
|
||||
? FileTypeFileViewProviders.INSTANCE.forFileType(file.getFileType())
|
||||
: LanguageFileViewProviders.INSTANCE.forLanguage(language);
|
||||
|
||||
Reference in New Issue
Block a user