public File getUserContextDir() { return resolveFile(new File(getUserHomeDir(), String.format(".%s", getProgramName()))); }
public File getUserHomeDir() { return resolveFile(getProperties().getProperty("user.home")); }
public File getShellContextDir() { return resolveFile(new File(getShellHomeDir(), "etc")); }
public void customize(final Shell shell) throws Exception { assert shell != null; Variables vars = shell.getVariables(); // Setup default variables if (!vars.contains(SHELL_HOME)) { vars.set(SHELL_HOME, getShellHomeDir(), false); } if (!vars.contains(SHELL_VERSION)) { vars.set(SHELL_VERSION, getVersion(), false); } if (!vars.contains(SHELL_USER_HOME)) { vars.set(SHELL_USER_HOME, getUserHomeDir(), false); } if (!vars.contains(SHELL_PROMPT)) { vars.set(SHELL_PROMPT, getPrompt()); } if (!vars.contains(SHELL_USER_DIR)) { vars.set(SHELL_USER_DIR, new File(".").getCanonicalFile()); } if (!vars.contains(SHELL_GROUP)) { vars.set(SHELL_GROUP, ROOT); } if (!vars.contains(SHELL_GROUP_PATH)) { vars.set(SHELL_GROUP_PATH, String.format("%s%s%s", CURRENT, PATH_SEPARATOR, ROOT)); } } }
public String getWelcomeMessage() { StringWriter buff = new StringWriter(); PrintWriter out = new PrintWriter(buff); out.println(getDisplayName()); out.print(line()); out.flush(); return buff.toString(); }
public String getDisplayName() { return getProgramName(); }
protected File resolveFile(final String fileName) { assert fileName != null; return resolveFile(new File(fileName)); }
public String getProgramName() { return getProperties().getProperty(SHELL_PROGRAM); }
public String getScriptExtension() { return getProgramName(); }
public File getShellHomeDir() { return resolveFile(System.getProperty(SHELL_HOME)); }
public String getVersion() { return getProperties().getProperty(SHELL_VERSION); }
public String getPreferencesBasePath() { return getProgramName(); }
public String getInteractiveScriptName() { return String.format("%s.rc", getProgramName()); }
public String getHistoryFileName() { return String.format("%s.history", getProgramName()); }
public String getPrompt() { return String.format("@|bold %s|@> ", getProgramName()); }
public String getProfileScriptName() { return String.format("%s.profile", getProgramName()); }