public static List<Pair<String, Integer>> getFileNames(@NotNull String file) { final boolean dark = UIUtil.isUnderDarcula(); final boolean retina = UIUtil.isRetina(); if (retina || dark) { List<Pair<String, Integer>> answer = new ArrayList<Pair<String, Integer>>(4); final String name = FileUtil.getNameWithoutExtension(file); final String ext = FileUtilRt.getExtension(file); if (dark && retina) { answer.add(Pair.create(name + "@2x_dark." + ext, 2)); } if (dark) { answer.add(Pair.create(name + "_dark." + ext, 1)); } if (retina) { answer.add(Pair.create(name + "@2x." + ext, 2)); } answer.add(Pair.create(file, 1)); return answer; } return Collections.singletonList(Pair.create(file, 1)); }
private boolean validateFile(final Document doc) { try { return _selectedFile != null && _selectedFile.isFile() && _selectedFile.canRead() && "xml".equalsIgnoreCase(FileUtilRt.getExtension(_selectedFile.getAbsolutePath())) && !doc.getText(0, doc.getLength()).trim().isEmpty(); } catch (final BadLocationException ignore) { return false; } }
private CompilerConfiguration createConfiguration( @Nullable String stdlib, @Nullable String[] classpath, @Nullable String[] externalAnnotationsPath, @NotNull String[] sourceRoots, boolean enableInline, boolean enableOptimization) { KotlinPaths paths = getKotlinPathsForAntTask(); CompilerConfiguration configuration = new CompilerConfiguration(); configuration.addAll(CLASSPATH_KEY, PathUtil.getJdkClassesRoots()); if ((stdlib != null) && (stdlib.trim().length() > 0)) { configuration.add(CLASSPATH_KEY, new File(stdlib)); } else { File path = paths.getRuntimePath(); if (path.exists()) { configuration.add(CLASSPATH_KEY, path); } } if ((classpath != null) && (classpath.length > 0)) { for (String path : classpath) { configuration.add(CLASSPATH_KEY, new File(path)); } } if ((externalAnnotationsPath != null) && (externalAnnotationsPath.length > 0)) { for (String path : externalAnnotationsPath) { configuration.add(ANNOTATIONS_PATH_KEY, new File(path)); } } File jdkAnnotationsPath = paths.getJdkAnnotationsPath(); if (jdkAnnotationsPath.exists()) { configuration.add(ANNOTATIONS_PATH_KEY, jdkAnnotationsPath); } configuration.addAll(CommonConfigurationKeys.SOURCE_ROOTS_KEY, Arrays.asList(sourceRoots)); for (String sourceRoot : sourceRoots) { File file = new File(sourceRoot); if (!file.isFile() || !"kt".equals(FileUtilRt.getExtension(file.getName()))) { configuration.add(JVMConfigurationKeys.CLASSPATH_KEY, file); } } configuration.put( CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY, MessageCollectorPlainTextToStream.PLAIN_TEXT_TO_SYSTEM_ERR); configuration.put(ENABLE_INLINE, enableInline); configuration.put(ENABLE_OPTIMIZATION, enableOptimization); // lets register any compiler plugins configuration.addAll(CLIConfigurationKeys.COMPILER_PLUGINS, getCompilerPlugins()); return configuration; }
@NotNull @Override public Map<String, String> getAvailableSystemLibraries() { Map<String, String> map = new TreeMap<String, String>(); File[] directoriesForLibraries = getFilesForLibraries(); for (File childFile : directoriesForLibraries) { if (!FileUtilRt.getExtension(childFile.getName()).equals("dll")) { continue; } Couple<String> info = parseLibrary(childFile); if (info == null) { continue; } map.put(info.getFirst(), info.getSecond()); } return map; }
public static ImageDescList create( @NotNull String file, @Nullable Class cls, boolean dark, boolean retina, boolean allowFloatScaling) { ImageDescList vars = new ImageDescList(); if (retina || dark) { final String name = FileUtil.getNameWithoutExtension(file); final String ext = FileUtilRt.getExtension(file); float scale = calcScaleFactor(allowFloatScaling); // TODO: allow SVG images to freely scale on Retina if (Registry.is("ide.svg.icon") && dark) { vars.add( new ImageDesc( name + "_dark.svg", cls, UIUtil.isRetina() ? 2f : scale, ImageDesc.Type.SVG)); } if (Registry.is("ide.svg.icon")) { vars.add( new ImageDesc( name + ".svg", cls, UIUtil.isRetina() ? 2f : scale, ImageDesc.Type.SVG)); } if (dark && retina) { vars.add(new ImageDesc(name + "@2x_dark." + ext, cls, 2f, ImageDesc.Type.PNG)); } if (dark) { vars.add(new ImageDesc(name + "_dark." + ext, cls, 1f, ImageDesc.Type.PNG)); } if (retina) { vars.add(new ImageDesc(name + "@2x." + ext, cls, 2f, ImageDesc.Type.PNG)); } } vars.add(new ImageDesc(file, cls, 1f, ImageDesc.Type.PNG, true)); return vars; }
@Nullable public T findAssociatedFileType(@NotNull @NonNls CharSequence fileName) { if (!myExactFileNameMappings.isEmpty()) { T t = myExactFileNameMappings.get(fileName); if (t != null) return t; } if (!myExactFileNameAnyCaseMappings .isEmpty()) { // even hash lookup with case insensitive hasher is costly for isIgnored // checks during compile T t = myExactFileNameAnyCaseMappings.get(fileName); if (t != null) return t; } //noinspection ForLoopReplaceableByForEach for (int i = 0; i < myMatchingMappings.size(); i++) { final Pair<FileNameMatcher, T> mapping = myMatchingMappings.get(i); if (FileNameMatcherEx.acceptsCharSequence(mapping.getFirst(), fileName)) return mapping.getSecond(); } return myExtensionMappings.get(FileUtilRt.getExtension(fileName)); }
// When file is renamed so that extension changes then language dialect might change and thus // psiFile should be invalidated private static boolean languageDialectChanged(final PsiFile newPsiFile, String oldFileName) { return newPsiFile != null && !FileUtilRt.extensionEquals(oldFileName, FileUtilRt.getExtension(newPsiFile.getName())); }
protected String getFileName(String newName) { if (getDefaultExtension() == null || FileUtilRt.getExtension(newName).length() > 0) { return newName; } return newName + "." + getDefaultExtension(); }