@NotNull public static String getBinaryFileNameForPath(@NotNull String path) { String resultBinaryName = FileUtil.getNameWithoutExtension(PathUtil.getFileName(path)); return SystemInfo.isWindows ? resultBinaryName + ".exe" : resultBinaryName; }
@NotNull public static String getBinaryFileNameForPath(@NotNull String path) { String resultBinaryName = FileUtil.getNameWithoutExtension(PathUtil.getFileName(path)); return SystemInfo.isWindows ? resultBinaryName + ".bat" : resultBinaryName; }
public static String getLocalPackageName(@NotNull String importPath) { String fileName = !StringUtil.endsWithChar(importPath, '/') && !StringUtil.endsWithChar(importPath, '\\') ? PathUtil.getFileName(importPath) : ""; StringBuilder name = null; for (int i = 0; i < fileName.length(); i++) { char c = fileName.charAt(i); if (!(Character.isLetter(c) || c == '_' || i != 0 && Character.isDigit(c))) { if (name == null) { name = new StringBuilder(fileName.length()); name.append(fileName, 0, i); } name.append('_'); } else if (name != null) { name.append(c); } } return name == null ? fileName : name.toString(); }
@Nullable public String suggestedName() { final String filePath = getdFilePath(); return filePath == null ? null : PathUtil.getFileName(filePath); } //
private static boolean findCommunitySources(@NotNull Project project, List<File> result, String... urls) { String communitySrc = getCommunitySrcUrl(project); if (communitySrc == null) return false; List<String> roots = ContainerUtil.newArrayList(); for (String url : urls) { int idx = url.indexOf("/master/"); if (idx > -1) { roots.add(StringUtil.trimEnd(communitySrc, "/") + "/" + url.substring(idx + "/master/".length())); } else { String file = PathUtil.getFileName(url); roots.add(PathUtil.getParentPath(communitySrc) + "/tools/lexer/lib/" + file); } } return collectFiles(result, roots, urls); }
@Nullable @Override public PsiElement resolveInner() { final String referencedName = cmd.getReferencedCommandName(); if (referencedName == null) { return null; } String fileName = PathUtil.getFileName(referencedName); GlobalSearchScope scope = BashSearchScopes.moduleScope(cmd.getContainingFile()); PsiFileSystemItem[] files = FilenameIndex.getFilesByName(cmd.getProject(), fileName, scope, false); if (files.length == 0) { return null; } PsiFile currentFile = cmd.getContainingFile(); return BashPsiFileUtils.findRelativeFile(currentFile, referencedName); }