void () { initStandardFileTypes(); if (!myPendingFileTypes.isEmpty()) { instantiatePendingFileTypes(); } if (!myUnresolvedMappings.isEmpty()) { for (StandardFileType pair : myStandardFileTypes.values()) { registerReDetectedMappings(pair); } } // resolve unresolved mappings before certain plugin is initialized if (!myUnresolvedMappings.isEmpty()) { for (StandardFileType pair : myStandardFileTypes.values()) { bindUnresolvedMappings(pair); } } if (!myUnresolvedMappings.isEmpty()) { for (Map.Entry<FileNameMatcher, String> entry : myUnresolvedMappings.entrySet()) { tryToResolveMapping(entry.getValue(), entry.getKey()); } } if (!myUnresolvedHashBangs.isEmpty()) { Map<String, String> hashBangs = new HashMap<>(myUnresolvedHashBangs); myUnresolvedHashBangs.clear(); registerHashBangs(hashBangs, false); } boolean isAtLeastOneStandardFileTypeHasBeenRead = false; for (FileTypeWithDescriptor ftd : mySchemeManager.loadSchemes()) { isAtLeastOneStandardFileTypeHasBeenRead |= myInitialAssociations.hasAssociationsFor(ftd.fileType); } if (isAtLeastOneStandardFileTypeHasBeenRead) { restoreStandardFileExtensions(); } }