public boolean isCloaked(final String name) { assert name != null; int count = 0; Variables vars = this; while (vars != null && count < 2) { if (vars.contains(name)) { count++; } vars = vars.parent(); } return count > 1; }
if (key.equals(SHELL_USER_DIR + "~") && vars.contains(SHELL_USER_DIR)) { String home = vars.get(SHELL_USER_HOME, File.class).getAbsolutePath(); String current = vars.get(SHELL_USER_DIR, File.class).getAbsolutePath(); if (key.equals(SHELL_USER_DIR + "~.") && vars.contains(SHELL_USER_DIR)) { String home = vars.get(SHELL_USER_HOME, File.class).getAbsolutePath(); File current = vars.get(SHELL_USER_DIR, File.class).getAbsoluteFile();
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)); } } }
if (vars.contains(SHELL_ERRORS)) { showTrace = vars.get(SHELL_ERRORS, Boolean.class);