@Override public void importTo(@NotNull final CodeStyleSettings settings) { if (extensions != null) { for (String extension : extensions) { if (!extension.isEmpty()) { FileType fileType = FileTypeManager.getInstance().getFileTypeByExtension(extension); setNoTabChar(settings, fileType); } } } else { for (FileType fileType : FileTypeManager.getInstance().getRegisteredFileTypes()) { setNoTabChar(settings, fileType); } } }
private void createLazyObjects() { myLazyMatchers = AtomicNotNullLazyValue.createValue(() -> { List<FileNameMatcher> result = new ArrayList<>(); FileTypeManager fileTypeManager = FileTypeManager.getInstance(); for (FileType fileType : fileTypeManager.getRegisteredFileTypes()) { if (fileType instanceof LanguageFileType) { for (FileNameMatcher matcher : fileTypeManager.getAssociations(fileType)) { if (substitutedExtensions.contains(matcher.getPresentableString())) { result.add(matcher); } } } } return result; }); }
private void createLazyObjects() { myLazyMatchers = AtomicNotNullLazyValue.createValue(() -> { List<FileNameMatcher> result = new ArrayList<>(); FileTypeManager fileTypeManager = FileTypeManager.getInstance(); for (FileType fileType : fileTypeManager.getRegisteredFileTypes()) { if (fileType instanceof LanguageFileType) { for (FileNameMatcher matcher : fileTypeManager.getAssociations(fileType)) { if (substitutedExtensions.contains(matcher.getPresentableString())) { result.add(matcher); } } } } return result; }); myLazyPsiDirsRoots = AtomicNotNullLazyValue.createValue(() -> { Collection<PsiFileSystemItem> result = new ArrayDeque<>(); PsiManager psiManager = PsiManager.getInstance(myProject); for (VirtualFile virtualFile : getTemplateRoots()) { PsiDirectory directory = psiManager.findDirectory(virtualFile); if (directory != null) { result.add(directory); } } return result; }); }
@Override public void run(AnActionButton anActionButton) { FileTypeManager fileTypeManager = FileTypeManager.getInstance(); final List<String> currentItems = substitutedExtensionsModel.getItems(); List<FileNameMatcher> possibleItems = new ArrayList<>(); List<Icon> itemsIcons = new ArrayList<>(); for (FileType fileType : fileTypeManager.getRegisteredFileTypes()) { if (fileType instanceof LanguageFileType) { for (FileNameMatcher matcher : fileTypeManager.getAssociations(fileType)) { if (matcher instanceof ExtensionFileNameMatcher) { String presentableString = matcher.getPresentableString(); if (!currentItems.contains(presentableString)) { possibleItems.add(matcher); itemsIcons.add(fileType.getIcon()); } } } } } BaseListPopupStep<FileNameMatcher> fileNameMatcherBaseListPopupStep = new BaseListPopupStep<FileNameMatcher>("Select Extension", possibleItems, itemsIcons) { @Override public PopupStep onChosen(FileNameMatcher selectedValue, boolean finalChoice) { substitutedExtensionsModel.add(selectedValue.getPresentableString()); return super.onChosen(selectedValue, finalChoice); } }; JBPopupFactory.getInstance().createListPopup(fileNameMatcherBaseListPopupStep).show(anActionButton.getPreferredPopupPoint()); } })