summaryrefslogtreecommitdiff
path: root/tests/lexers/java/example2.txt
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lexers/java/example2.txt')
-rw-r--r--tests/lexers/java/example2.txt5290
1 files changed, 5290 insertions, 0 deletions
diff --git a/tests/lexers/java/example2.txt b/tests/lexers/java/example2.txt
new file mode 100644
index 00000000..3c822f97
--- /dev/null
+++ b/tests/lexers/java/example2.txt
@@ -0,0 +1,5290 @@
+---input---
+/*
+ * Created on 13-Mar-2004
+ * Created by James Yeh
+ * Copyright (C) 2004, 2005, 2006 Aelitis, All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * AELITIS, SAS au capital de 46,603.30 euros
+ * 8 Allee Lenotre, La Grille Royale, 78600 Le Mesnil le Roi, France.
+ *
+ */
+
+package org.gudy.azureus2.platform.macosx;
+
+import org.gudy.azureus2.core3.logging.*;
+import org.gudy.azureus2.core3.util.AEMonitor;
+import org.gudy.azureus2.core3.util.Debug;
+import org.gudy.azureus2.core3.util.SystemProperties;
+import org.gudy.azureus2.platform.PlatformManager;
+import org.gudy.azureus2.platform.PlatformManagerCapabilities;
+import org.gudy.azureus2.platform.PlatformManagerListener;
+import org.gudy.azureus2.platform.macosx.access.jnilib.OSXAccess;
+
+import org.gudy.azureus2.plugins.platform.PlatformManagerException;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.text.MessageFormat;
+import java.util.HashSet;
+
+
+/**
+ * Performs platform-specific operations with Mac OS X
+ *
+ * @author James Yeh
+ * @version 1.0 Initial Version
+ * @see PlatformManager
+ */
+public class PlatformManagerImpl implements PlatformManager
+{
+ private static final LogIDs LOGID = LogIDs.CORE;
+
+ protected static PlatformManagerImpl singleton;
+ protected static AEMonitor class_mon = new AEMonitor("PlatformManager");
+
+ private static final String USERDATA_PATH = new File(System.getProperty("user.home") + "/Library/Application Support/").getPath();
+
+ //T: PlatformManagerCapabilities
+ private final HashSet capabilitySet = new HashSet();
+
+ /**
+ * Gets the platform manager singleton, which was already initialized
+ */
+ public static PlatformManagerImpl getSingleton()
+ {
+ return singleton;
+ }
+
+ /**
+ * Tries to enable cocoa-java access and instantiates the singleton
+ */
+ static
+ {
+ initializeSingleton();
+ }
+
+ /**
+ * Instantiates the singleton
+ */
+ private static void initializeSingleton()
+ {
+ try
+ {
+ class_mon.enter();
+ singleton = new PlatformManagerImpl();
+ }
+ catch (Throwable e)
+ {
+ Logger.log(new LogEvent(LOGID, "Failed to initialize platform manager"
+ + " for Mac OS X", e));
+ }
+ finally
+ {
+ class_mon.exit();
+ }
+ }
+
+ /**
+ * Creates a new PlatformManager and initializes its capabilities
+ */
+ public PlatformManagerImpl()
+ {
+ capabilitySet.add(PlatformManagerCapabilities.RecoverableFileDelete);
+ capabilitySet.add(PlatformManagerCapabilities.ShowFileInBrowser);
+ capabilitySet.add(PlatformManagerCapabilities.ShowPathInCommandLine);
+ capabilitySet.add(PlatformManagerCapabilities.CreateCommandLineProcess);
+ capabilitySet.add(PlatformManagerCapabilities.GetUserDataDirectory);
+ capabilitySet.add(PlatformManagerCapabilities.UseNativeScripting);
+ capabilitySet.add(PlatformManagerCapabilities.PlaySystemAlert);
+
+ if (OSXAccess.isLoaded()) {
+ capabilitySet.add(PlatformManagerCapabilities.GetVersion);
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public int getPlatformType()
+ {
+ return PT_MACOSX;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String getVersion() throws PlatformManagerException
+ {
+ if (!OSXAccess.isLoaded()) {
+ throw new PlatformManagerException("Unsupported capability called on platform manager");
+ }
+
+ return OSXAccess.getVersion();
+ }
+
+ /**
+ * {@inheritDoc}
+ * @see org.gudy.azureus2.core3.util.SystemProperties#getUserPath()
+ */
+ public String getUserDataDirectory() throws PlatformManagerException
+ {
+ return USERDATA_PATH;
+ }
+
+ public File
+ getLocation(
+ long location_id )
+
+ throws PlatformManagerException
+ {
+ if ( location_id == LOC_USER_DATA ){
+
+ return( new File( USERDATA_PATH ));
+ }
+
+ return( null );
+ }
+ /**
+ * Not implemented; returns True
+ */
+ public boolean isApplicationRegistered() throws PlatformManagerException
+ {
+ return true;
+ }
+
+
+ public String
+ getApplicationCommandLine()
+ throws PlatformManagerException
+ {
+ try{
+ String bundle_path = System.getProperty("user.dir") +SystemProperties.SEP+ SystemProperties.getApplicationName() + ".app";
+
+ File osx_app_bundle = new File( bundle_path ).getAbsoluteFile();
+
+ if( !osx_app_bundle.exists() ) {
+ String msg = "OSX app bundle not found: [" +osx_app_bundle.toString()+ "]";
+ System.out.println( msg );
+ if (Logger.isEnabled())
+ Logger.log(new LogEvent(LOGID, msg));
+ throw new PlatformManagerException( msg );
+ }
+
+ return "open -a \"" +osx_app_bundle.toString()+ "\"";
+ //return osx_app_bundle.toString() +"/Contents/MacOS/JavaApplicationStub";
+
+ }
+ catch( Throwable t ){
+ t.printStackTrace();
+ return null;
+ }
+ }
+
+
+ public boolean
+ isAdditionalFileTypeRegistered(
+ String name, // e.g. "BitTorrent"
+ String type ) // e.g. ".torrent"
+
+ throws PlatformManagerException
+ {
+ throw new PlatformManagerException("Unsupported capability called on platform manager");
+ }
+
+ public void
+ unregisterAdditionalFileType(
+ String name, // e.g. "BitTorrent"
+ String type ) // e.g. ".torrent"
+
+ throws PlatformManagerException
+ {
+ throw new PlatformManagerException("Unsupported capability called on platform manager");
+ }
+
+ public void
+ registerAdditionalFileType(
+ String name, // e.g. "BitTorrent"
+ String description, // e.g. "BitTorrent File"
+ String type, // e.g. ".torrent"
+ String content_type ) // e.g. "application/x-bittorrent"
+
+ throws PlatformManagerException
+ {
+ throw new PlatformManagerException("Unsupported capability called on platform manager");
+ }
+
+ /**
+ * Not implemented; does nothing
+ */
+ public void registerApplication() throws PlatformManagerException
+ {
+ // handled by LaunchServices and/0r user interaction
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void createProcess(String cmd, boolean inheritsHandles) throws PlatformManagerException
+ {
+ try
+ {
+ performRuntimeExec(cmd.split(" "));
+ }
+ catch (Throwable e)
+ {
+ throw new PlatformManagerException("Failed to create process", e);
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void performRecoverableFileDelete(String path) throws PlatformManagerException
+ {
+ File file = new File(path);
+ if(!file.exists())
+ {
+ if (Logger.isEnabled())
+ Logger.log(new LogEvent(LOGID, LogEvent.LT_WARNING, "Cannot find "
+ + file.getName()));
+ return;
+ }
+
+ boolean useOSA = !NativeInvocationBridge.sharedInstance().isEnabled() || !NativeInvocationBridge.sharedInstance().performRecoverableFileDelete(file);
+
+ if(useOSA)
+ {
+ try
+ {
+ StringBuffer sb = new StringBuffer();
+ sb.append("tell application \"");
+ sb.append("Finder");
+ sb.append("\" to move (posix file \"");
+ sb.append(path);
+ sb.append("\" as alias) to the trash");
+
+ performOSAScript(sb);
+ }
+ catch (Throwable e)
+ {
+ throw new PlatformManagerException("Failed to move file", e);
+ }
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean hasCapability(PlatformManagerCapabilities capability)
+ {
+ return capabilitySet.contains(capability);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void dispose()
+ {
+ NativeInvocationBridge.sharedInstance().dispose();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void setTCPTOSEnabled(boolean enabled) throws PlatformManagerException
+ {
+ throw new PlatformManagerException("Unsupported capability called on platform manager");
+ }
+
+ public void
+ copyFilePermissions(
+ String from_file_name,
+ String to_file_name )
+
+ throws PlatformManagerException
+ {
+ throw new PlatformManagerException("Unsupported capability called on platform manager");
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void showFile(String path) throws PlatformManagerException
+ {
+ File file = new File(path);
+ if(!file.exists())
+ {
+ if (Logger.isEnabled())
+ Logger.log(new LogEvent(LOGID, LogEvent.LT_WARNING, "Cannot find "
+ + file.getName()));
+ throw new PlatformManagerException("File not found");
+ }
+
+ showInFinder(file);
+ }
+
+ // Public utility methods not shared across the interface
+
+ /**
+ * Plays the system alert (the jingle is specified by the user in System Preferences)
+ */
+ public void playSystemAlert()
+ {
+ try
+ {
+ performRuntimeExec(new String[]{"beep"});
+ }
+ catch (IOException e)
+ {
+ if (Logger.isEnabled())
+ Logger.log(new LogEvent(LOGID, LogEvent.LT_WARNING,
+ "Cannot play system alert"));
+ Logger.log(new LogEvent(LOGID, "", e));
+ }
+ }
+
+ /**
+ * <p>Shows the given file or directory in Finder</p>
+ * @param path Absolute path to the file or directory
+ */
+ public void showInFinder(File path)
+ {
+ boolean useOSA = !NativeInvocationBridge.sharedInstance().isEnabled() || !NativeInvocationBridge.sharedInstance().showInFinder(path);
+
+ if(useOSA)
+ {
+ StringBuffer sb = new StringBuffer();
+ sb.append("tell application \"");
+ sb.append(getFileBrowserName());
+ sb.append("\" to reveal (posix file \"");
+ sb.append(path);
+ sb.append("\" as alias)");
+
+ try
+ {
+ performOSAScript(sb);
+ }
+ catch (IOException e)
+ {
+ Logger.log(new LogAlert(LogAlert.UNREPEATABLE, LogAlert.AT_ERROR, e
+ .getMessage()));
+ }
+ }
+ }
+
+ /**
+ * <p>Shows the given file or directory in Terminal by executing cd /absolute/path/to</p>
+ * @param path Absolute path to the file or directory
+ */
+ public void showInTerminal(String path)
+ {
+ showInTerminal(new File(path));
+ }
+
+ /**
+ * <p>Shows the given file or directory in Terminal by executing cd /absolute/path/to</p>
+ * @param path Absolute path to the file or directory
+ */
+ public void showInTerminal(File path)
+ {
+ if (path.isFile())
+ {
+ path = path.getParentFile();
+ }
+
+ if (path != null && path.isDirectory())
+ {
+ StringBuffer sb = new StringBuffer();
+ sb.append("tell application \"");
+ sb.append("Terminal");
+ sb.append("\" to do script \"cd ");
+ sb.append(path.getAbsolutePath().replaceAll(" ", "\\ "));
+ sb.append("\"");
+
+ try
+ {
+ performOSAScript(sb);
+ }
+ catch (IOException e)
+ {
+ Logger.log(new LogAlert(LogAlert.UNREPEATABLE, LogAlert.AT_ERROR, e
+ .getMessage()));
+ }
+ }
+ else
+ {
+ if (Logger.isEnabled())
+ Logger.log(new LogEvent(LOGID, LogEvent.LT_WARNING, "Cannot find "
+ + path.getName()));
+ }
+ }
+
+ // Internal utility methods
+
+ /**
+ * Compiles a new AppleScript instance and runs it
+ * @param cmd AppleScript command to execute; do not surround command with extra quotation marks
+ * @return Output of the script
+ * @throws IOException If the script failed to execute
+ */
+ protected static String performOSAScript(CharSequence cmd) throws IOException
+ {
+ return performOSAScript(new CharSequence[]{cmd});
+ }
+
+ /**
+ * Compiles a new AppleScript instance and runs it
+ * @param cmds AppleScript Sequence of commands to execute; do not surround command with extra quotation marks
+ * @return Output of the script
+ * @throws IOException If the script failed to execute
+ */
+ protected static String performOSAScript(CharSequence[] cmds) throws IOException
+ {
+ long start = System.currentTimeMillis();
+ Debug.outNoStack("Executing OSAScript: ");
+ for (int i = 0; i < cmds.length; i++)
+ {
+ Debug.outNoStack("\t" + cmds[i]);
+ }
+
+ String[] cmdargs = new String[2 * cmds.length + 1];
+ cmdargs[0] = "osascript";
+ for (int i = 0; i < cmds.length; i++)
+ {
+ cmdargs[i * 2 + 1] = "-e";
+ cmdargs[i * 2 + 2] = String.valueOf(cmds[i]);
+ }
+
+ Process osaProcess = performRuntimeExec(cmdargs);
+ BufferedReader reader = new BufferedReader(new InputStreamReader(osaProcess.getInputStream()));
+ String line = reader.readLine();
+ reader.close();
+ Debug.outNoStack("OSAScript Output: " + line);
+
+ reader = new BufferedReader(new InputStreamReader(osaProcess.getErrorStream()));
+ String errorMsg = reader.readLine();
+ reader.close();
+
+ Debug.outNoStack("OSAScript Error (if any): " + errorMsg);
+
+ Debug.outNoStack(MessageFormat.format("OSAScript execution ended ({0}ms)", new Object[]{String.valueOf(System.currentTimeMillis() - start)}));
+
+ if (errorMsg != null)
+ {
+ throw new IOException(errorMsg);
+ }
+
+ return line;
+ }
+
+ /**
+ * Compiles a new AppleScript instance and runs it
+ * @param script AppleScript file (.scpt) to execute
+ * @return Output of the script
+ * @throws IOException If the script failed to execute
+ */
+ protected static String performOSAScript(File script) throws IOException
+ {
+ long start = System.currentTimeMillis();
+ Debug.outNoStack("Executing OSAScript from file: " + script.getPath());
+
+ Process osaProcess = performRuntimeExec(new String[]{"osascript", script.getPath()});
+ BufferedReader reader = new BufferedReader(new InputStreamReader(osaProcess.getInputStream()));
+ String line = reader.readLine();
+ reader.close();
+ Debug.outNoStack("OSAScript Output: " + line);
+
+ reader = new BufferedReader(new InputStreamReader(osaProcess.getErrorStream()));
+ String errorMsg = reader.readLine();
+ reader.close();
+
+ Debug.outNoStack("OSAScript Error (if any): " + errorMsg);
+
+ Debug.outNoStack(MessageFormat.format("OSAScript execution ended ({0}ms)", new Object[]{String.valueOf(System.currentTimeMillis() - start)}));
+
+ if (errorMsg != null)
+ {
+ throw new IOException(errorMsg);
+ }
+
+ return line;
+ }
+
+ /**
+ * Compiles a new AppleScript instance to the specified location
+ * @param cmd Command to compile; do not surround command with extra quotation marks
+ * @param destination Destination location of the AppleScript file
+ * @return True if compiled successfully
+ */
+ protected static boolean compileOSAScript(CharSequence cmd, File destination)
+ {
+ return compileOSAScript(new CharSequence[]{cmd}, destination);
+ }
+
+ /**
+ * Compiles a new AppleScript instance to the specified location
+ * @param cmds Sequence of commands to compile; do not surround command with extra quotation marks
+ * @param destination Destination location of the AppleScript file
+ * @return True if compiled successfully
+ */
+ protected static boolean compileOSAScript(CharSequence[] cmds, File destination)
+ {
+ long start = System.currentTimeMillis();
+ Debug.outNoStack("Compiling OSAScript: " + destination.getPath());
+ for (int i = 0; i < cmds.length; i++)
+ {
+ Debug.outNoStack("\t" + cmds[i]);
+ }
+
+ String[] cmdargs = new String[2 * cmds.length + 3];
+ cmdargs[0] = "osacompile";
+ for (int i = 0; i < cmds.length; i++)
+ {
+ cmdargs[i * 2 + 1] = "-e";
+ cmdargs[i * 2 + 2] = String.valueOf(cmds[i]);
+ }
+
+ cmdargs[cmdargs.length - 2] = "-o";
+ cmdargs[cmdargs.length - 1] = destination.getPath();
+
+ String errorMsg;
+ try
+ {
+ Process osaProcess = performRuntimeExec(cmdargs);
+
+ BufferedReader reader = new BufferedReader(new InputStreamReader(osaProcess.getErrorStream()));
+ errorMsg = reader.readLine();
+ reader.close();
+ }
+ catch (IOException e)
+ {
+ Debug.outNoStack("OSACompile Execution Failed: " + e.getMessage());
+ Debug.printStackTrace(e);
+ return false;
+ }
+
+ Debug.outNoStack("OSACompile Error (if any): " + errorMsg);
+
+ Debug.outNoStack(MessageFormat.format("OSACompile execution ended ({0}ms)", new Object[]{String.valueOf(System.currentTimeMillis() - start)}));
+
+ return (errorMsg == null);
+ }
+
+ /**
+ * @see Runtime#exec(String[])
+ */
+ protected static Process performRuntimeExec(String[] cmdargs) throws IOException
+ {
+ try
+ {
+ return Runtime.getRuntime().exec(cmdargs);
+ }
+ catch (IOException e)
+ {
+ Logger.log(new LogAlert(LogAlert.UNREPEATABLE, e.getMessage(), e));
+ throw e;
+ }
+ }
+
+ /**
+ * <p>Gets the preferred file browser name</p>
+ * <p>Currently supported browsers are Path Finder and Finder. If Path Finder is currently running
+ * (not just installed), then "Path Finder is returned; else, "Finder" is returned.</p>
+ * @return "Path Finder" if it is currently running; else "Finder"
+ */
+ private static String getFileBrowserName()
+ {
+ try
+ {
+ // slowwwwwwww
+ if ("true".equalsIgnoreCase(performOSAScript("tell application \"System Events\" to exists process \"Path Finder\"")))
+ {
+ Debug.outNoStack("Path Finder is running");
+
+ return "Path Finder";
+ }
+ else
+ {
+ return "Finder";
+ }
+ }
+ catch (IOException e)
+ {
+ Debug.printStackTrace(e);
+ Logger.log(new LogEvent(LOGID, e.getMessage(), e));
+
+ return "Finder";
+ }
+ }
+
+ public boolean
+ testNativeAvailability(
+ String name )
+
+ throws PlatformManagerException
+ {
+ throw new PlatformManagerException("Unsupported capability called on platform manager");
+ }
+
+ public void
+ addListener(
+ PlatformManagerListener listener )
+ {
+ }
+
+ public void
+ removeListener(
+ PlatformManagerListener listener )
+ {
+ }
+}
+
+---tokens---
+'/*\n * Created on 13-Mar-2004\n * Created by James Yeh\n * Copyright (C) 2004, 2005, 2006 Aelitis, All Rights Reserved.\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU General Public License\n * as published by the Free Software Foundation; either version 2\n * of the License, or (at your option) any later version.\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n * You should have received a copy of the GNU General Public License\n * along with this program; if not, write to the Free Software\n * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n * \n * AELITIS, SAS au capital de 46,603.30 euros\n * 8 Allee Lenotre, La Grille Royale, 78600 Le Mesnil le Roi, France.\n *\n */' Comment.Multiline
+'\n' Text
+
+'\n' Text
+
+'package' Keyword.Namespace
+' ' Text
+'org.gudy.azureus2.platform.macosx' Name.Namespace
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+'import' Keyword.Namespace
+' ' Text
+'org.gudy.azureus2.core3.logging.*' Name.Namespace
+';' Punctuation
+'\n' Text
+
+'import' Keyword.Namespace
+' ' Text
+'org.gudy.azureus2.core3.util.AEMonitor' Name.Namespace
+';' Punctuation
+'\n' Text
+
+'import' Keyword.Namespace
+' ' Text
+'org.gudy.azureus2.core3.util.Debug' Name.Namespace
+';' Punctuation
+'\n' Text
+
+'import' Keyword.Namespace
+' ' Text
+'org.gudy.azureus2.core3.util.SystemProperties' Name.Namespace
+';' Punctuation
+'\n' Text
+
+'import' Keyword.Namespace
+' ' Text
+'org.gudy.azureus2.platform.PlatformManager' Name.Namespace
+';' Punctuation
+'\n' Text
+
+'import' Keyword.Namespace
+' ' Text
+'org.gudy.azureus2.platform.PlatformManagerCapabilities' Name.Namespace
+';' Punctuation
+'\n' Text
+
+'import' Keyword.Namespace
+' ' Text
+'org.gudy.azureus2.platform.PlatformManagerListener' Name.Namespace
+';' Punctuation
+'\n' Text
+
+'import' Keyword.Namespace
+' ' Text
+'org.gudy.azureus2.platform.macosx.access.jnilib.OSXAccess' Name.Namespace
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+'import' Keyword.Namespace
+' ' Text
+'org.gudy.azureus2.plugins.platform.PlatformManagerException' Name.Namespace
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+'import' Keyword.Namespace
+' ' Text
+'java.io.BufferedReader' Name.Namespace
+';' Punctuation
+'\n' Text
+
+'import' Keyword.Namespace
+' ' Text
+'java.io.File' Name.Namespace
+';' Punctuation
+'\n' Text
+
+'import' Keyword.Namespace
+' ' Text
+'java.io.IOException' Name.Namespace
+';' Punctuation
+'\n' Text
+
+'import' Keyword.Namespace
+' ' Text
+'java.io.InputStreamReader' Name.Namespace
+';' Punctuation
+'\n' Text
+
+'import' Keyword.Namespace
+' ' Text
+'java.text.MessageFormat' Name.Namespace
+';' Punctuation
+'\n' Text
+
+'import' Keyword.Namespace
+' ' Text
+'java.util.HashSet' Name.Namespace
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+'\n' Text
+
+'/**\n * Performs platform-specific operations with Mac OS X\n *\n * @author James Yeh\n * @version 1.0 Initial Version\n * @see PlatformManager\n */' Comment.Multiline
+'\n' Text
+
+'public' Keyword.Declaration
+' ' Text
+'class' Keyword.Declaration
+' ' Text
+'PlatformManagerImpl' Name.Class
+' ' Text
+'implements' Keyword.Declaration
+' ' Text
+'PlatformManager' Name
+'\n' Text
+
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'private' Keyword.Declaration
+' ' Text
+'static' Keyword.Declaration
+' ' Text
+'final' Keyword.Declaration
+' ' Text
+'LogIDs' Name
+' ' Text
+'LOGID' Name
+' ' Text
+'=' Operator
+' ' Text
+'LogIDs' Name
+'.' Punctuation
+'CORE' Name.Attribute
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'protected' Keyword.Declaration
+' ' Text
+'static' Keyword.Declaration
+' ' Text
+'PlatformManagerImpl' Name
+' ' Text
+'singleton' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'protected' Keyword.Declaration
+' ' Text
+'static' Keyword.Declaration
+' ' Text
+'AEMonitor' Name
+' ' Text
+'class_mon' Name
+' ' Text
+'=' Operator
+' ' Text
+'new' Keyword
+' ' Text
+'AEMonitor' Name
+'(' Punctuation
+'"' Literal.String
+'PlatformManager' Literal.String
+'"' Literal.String
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'private' Keyword.Declaration
+' ' Text
+'static' Keyword.Declaration
+' ' Text
+'final' Keyword.Declaration
+' ' Text
+'String' Name
+' ' Text
+'USERDATA_PATH' Name
+' ' Text
+'=' Operator
+' ' Text
+'new' Keyword
+' ' Text
+'File' Name
+'(' Punctuation
+'System' Name
+'.' Punctuation
+'getProperty' Name.Attribute
+'(' Punctuation
+'"' Literal.String
+'user.home' Literal.String
+'"' Literal.String
+')' Punctuation
+' ' Text
+'+' Operator
+' ' Text
+'"' Literal.String
+'/Library/Application Support/' Literal.String
+'"' Literal.String
+')' Punctuation
+'.' Punctuation
+'getPath' Name.Attribute
+'(' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'//T: PlatformManagerCapabilities\n' Comment.Single
+
+' ' Text
+'private' Keyword.Declaration
+' ' Text
+'final' Keyword.Declaration
+' ' Text
+'HashSet' Name
+' ' Text
+'capabilitySet' Name
+' ' Text
+'=' Operator
+' ' Text
+'new' Keyword
+' ' Text
+'HashSet' Name
+'(' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'/**\n * Gets the platform manager singleton, which was already initialized\n */' Comment.Multiline
+'\n' Text
+
+' ' Text
+'public' Keyword.Declaration
+' ' Text
+'static' Keyword.Declaration
+' ' Text
+'PlatformManagerImpl' Name
+' ' Text
+'getSingleton' Name.Function
+'(' Punctuation
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'return' Keyword
+' ' Text
+'singleton' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'/**\n * Tries to enable cocoa-java access and instantiates the singleton\n */' Comment.Multiline
+'\n' Text
+
+' ' Text
+'static' Keyword.Declaration
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'initializeSingleton' Name
+'(' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'/**\n * Instantiates the singleton\n */' Comment.Multiline
+'\n' Text
+
+' ' Text
+'private' Keyword.Declaration
+' ' Text
+'static' Keyword.Declaration
+' ' Text
+'void' Keyword.Type
+' ' Text
+'initializeSingleton' Name.Function
+'(' Punctuation
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'try' Keyword
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'class_mon' Name
+'.' Punctuation
+'enter' Name.Attribute
+'(' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'singleton' Name
+' ' Text
+'=' Operator
+' ' Text
+'new' Keyword
+' ' Text
+'PlatformManagerImpl' Name
+'(' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'catch' Keyword
+' ' Text
+'(' Punctuation
+'Throwable' Name
+' ' Text
+'e' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' \t' Text
+'Logger' Name
+'.' Punctuation
+'log' Name.Attribute
+'(' Punctuation
+'new' Keyword
+' ' Text
+'LogEvent' Name
+'(' Punctuation
+'LOGID' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'Failed to initialize platform manager' Literal.String
+'"' Literal.String
+'\n' Text
+
+'\t\t\t\t\t' Text
+'+' Operator
+' ' Text
+'"' Literal.String
+' for Mac OS X' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'e' Name
+')' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'finally' Keyword
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'class_mon' Name
+'.' Punctuation
+'exit' Name.Attribute
+'(' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'/**\n * Creates a new PlatformManager and initializes its capabilities\n */' Comment.Multiline
+'\n' Text
+
+' ' Text
+'public' Keyword.Declaration
+' ' Text
+'PlatformManagerImpl' Name.Function
+'(' Punctuation
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'capabilitySet' Name
+'.' Punctuation
+'add' Name.Attribute
+'(' Punctuation
+'PlatformManagerCapabilities' Name
+'.' Punctuation
+'RecoverableFileDelete' Name.Attribute
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'capabilitySet' Name
+'.' Punctuation
+'add' Name.Attribute
+'(' Punctuation
+'PlatformManagerCapabilities' Name
+'.' Punctuation
+'ShowFileInBrowser' Name.Attribute
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'capabilitySet' Name
+'.' Punctuation
+'add' Name.Attribute
+'(' Punctuation
+'PlatformManagerCapabilities' Name
+'.' Punctuation
+'ShowPathInCommandLine' Name.Attribute
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'capabilitySet' Name
+'.' Punctuation
+'add' Name.Attribute
+'(' Punctuation
+'PlatformManagerCapabilities' Name
+'.' Punctuation
+'CreateCommandLineProcess' Name.Attribute
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'capabilitySet' Name
+'.' Punctuation
+'add' Name.Attribute
+'(' Punctuation
+'PlatformManagerCapabilities' Name
+'.' Punctuation
+'GetUserDataDirectory' Name.Attribute
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'capabilitySet' Name
+'.' Punctuation
+'add' Name.Attribute
+'(' Punctuation
+'PlatformManagerCapabilities' Name
+'.' Punctuation
+'UseNativeScripting' Name.Attribute
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'capabilitySet' Name
+'.' Punctuation
+'add' Name.Attribute
+'(' Punctuation
+'PlatformManagerCapabilities' Name
+'.' Punctuation
+'PlaySystemAlert' Name.Attribute
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'\n' Text
+
+' ' Text
+'if' Keyword
+' ' Text
+'(' Punctuation
+'OSXAccess' Name
+'.' Punctuation
+'isLoaded' Name.Attribute
+'(' Punctuation
+')' Punctuation
+')' Punctuation
+' ' Text
+'{' Punctuation
+'\n' Text
+
+'\t ' Text
+'capabilitySet' Name
+'.' Punctuation
+'add' Name.Attribute
+'(' Punctuation
+'PlatformManagerCapabilities' Name
+'.' Punctuation
+'GetVersion' Name.Attribute
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'/**\n * {@inheritDoc}\n */' Comment.Multiline
+'\n' Text
+
+' ' Text
+'public' Keyword.Declaration
+' ' Text
+'int' Keyword.Type
+' ' Text
+'getPlatformType' Name.Function
+'(' Punctuation
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'return' Keyword
+' ' Text
+'PT_MACOSX' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'/**\n * {@inheritDoc}\n */' Comment.Multiline
+'\n' Text
+
+' ' Text
+'public' Keyword.Declaration
+' ' Text
+'String' Name
+' ' Text
+'getVersion' Name.Function
+'(' Punctuation
+')' Punctuation
+' ' Text
+'throws' Keyword.Declaration
+' ' Text
+'PlatformManagerException' Name
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' \t' Text
+'if' Keyword
+' ' Text
+'(' Punctuation
+'!' Operator
+'OSXAccess' Name
+'.' Punctuation
+'isLoaded' Name.Attribute
+'(' Punctuation
+')' Punctuation
+')' Punctuation
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'throw' Keyword
+' ' Text
+'new' Keyword
+' ' Text
+'PlatformManagerException' Name
+'(' Punctuation
+'"' Literal.String
+'Unsupported capability called on platform manager' Literal.String
+'"' Literal.String
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' \t' Text
+'}' Punctuation
+'\n' Text
+
+' \t' Text
+'\n' Text
+
+' \t' Text
+'return' Keyword
+' ' Text
+'OSXAccess' Name
+'.' Punctuation
+'getVersion' Name.Attribute
+'(' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'/**\n * {@inheritDoc}\n * @see org.gudy.azureus2.core3.util.SystemProperties#getUserPath()\n */' Comment.Multiline
+'\n' Text
+
+' ' Text
+'public' Keyword.Declaration
+' ' Text
+'String' Name
+' ' Text
+'getUserDataDirectory' Name.Function
+'(' Punctuation
+')' Punctuation
+' ' Text
+'throws' Keyword.Declaration
+' ' Text
+'PlatformManagerException' Name
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'return' Keyword
+' ' Text
+'USERDATA_PATH' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'public' Keyword.Declaration
+' ' Text
+'File' Name
+'\n' Text
+
+'\t' Text
+'getLocation' Name.Function
+'(' Punctuation
+'\n' Text
+
+'\t\t' Text
+'long' Keyword.Type
+'\t' Text
+'location_id' Name
+' ' Text
+')' Punctuation
+'\n' Text
+
+'\t' Text
+'\n' Text
+
+'\t\t' Text
+'throws' Keyword.Declaration
+' ' Text
+'PlatformManagerException' Name
+'\n' Text
+
+'\t' Text
+'{' Punctuation
+'\n' Text
+
+'\t\t' Text
+'if' Keyword
+' ' Text
+'(' Punctuation
+' ' Text
+'location_id' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'LOC_USER_DATA' Name
+' ' Text
+')' Punctuation
+'{' Punctuation
+'\n' Text
+
+'\t\t\t' Text
+'\n' Text
+
+'\t\t\t' Text
+'return' Keyword
+'(' Punctuation
+' ' Text
+'new' Keyword
+' ' Text
+'File' Name
+'(' Punctuation
+' ' Text
+'USERDATA_PATH' Name
+' ' Text
+')' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\t\t' Text
+'}' Punctuation
+'\n' Text
+
+'\t\t' Text
+'\n' Text
+
+'\t\t' Text
+'return' Keyword
+'(' Punctuation
+' ' Text
+'null' Keyword.Constant
+' ' Text
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\t' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'/**\n * Not implemented; returns True\n */' Comment.Multiline
+'\n' Text
+
+' ' Text
+'public' Keyword.Declaration
+' ' Text
+'boolean' Keyword.Type
+' ' Text
+'isApplicationRegistered' Name.Function
+'(' Punctuation
+')' Punctuation
+' ' Text
+'throws' Keyword.Declaration
+' ' Text
+'PlatformManagerException' Name
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'return' Keyword
+' ' Text
+'true' Keyword.Constant
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'\n' Text
+
+'\t' Text
+'public' Keyword.Declaration
+' ' Text
+'String' Name
+'\n' Text
+
+'\t' Text
+'getApplicationCommandLine' Name.Function
+'(' Punctuation
+')' Punctuation
+'\n' Text
+
+'\t\t' Text
+'throws' Keyword.Declaration
+' ' Text
+'PlatformManagerException' Name
+'\n' Text
+
+'\t' Text
+'{' Punctuation
+'\n' Text
+
+'\t\t' Text
+'try' Keyword
+'{' Punctuation
+'\t ' Text
+'\n' Text
+
+'\t\t\t' Text
+'String' Name
+'\t' Text
+'bundle_path' Name
+' ' Text
+'=' Operator
+' ' Text
+'System' Name
+'.' Punctuation
+'getProperty' Name.Attribute
+'(' Punctuation
+'"' Literal.String
+'user.dir' Literal.String
+'"' Literal.String
+')' Punctuation
+' ' Text
+'+' Operator
+'SystemProperties' Name
+'.' Punctuation
+'SEP' Name.Attribute
+'+' Operator
+' ' Text
+'SystemProperties' Name
+'.' Punctuation
+'getApplicationName' Name.Attribute
+'(' Punctuation
+')' Punctuation
+' ' Text
+'+' Operator
+' ' Text
+'"' Literal.String
+'.app' Literal.String
+'"' Literal.String
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+'\t\t\t' Text
+'File' Name
+' ' Text
+'osx_app_bundle' Name
+' ' Text
+'=' Operator
+' ' Text
+'new' Keyword
+' ' Text
+'File' Name
+'(' Punctuation
+' ' Text
+'bundle_path' Name
+' ' Text
+')' Punctuation
+'.' Punctuation
+'getAbsoluteFile' Name.Attribute
+'(' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\t\t\t' Text
+'\n' Text
+
+'\t\t\t' Text
+'if' Keyword
+'(' Punctuation
+' ' Text
+'!' Operator
+'osx_app_bundle' Name
+'.' Punctuation
+'exists' Name.Attribute
+'(' Punctuation
+')' Punctuation
+' ' Text
+')' Punctuation
+' ' Text
+'{' Punctuation
+'\n' Text
+
+'\t\t\t\t' Text
+'String' Name
+' ' Text
+'msg' Name
+' ' Text
+'=' Operator
+' ' Text
+'"' Literal.String
+'OSX app bundle not found: [' Literal.String
+'"' Literal.String
+' ' Text
+'+' Operator
+'osx_app_bundle' Name
+'.' Punctuation
+'toString' Name.Attribute
+'(' Punctuation
+')' Punctuation
+'+' Operator
+' ' Text
+'"' Literal.String
+']' Literal.String
+'"' Literal.String
+';' Punctuation
+'\n' Text
+
+'\t\t\t\t' Text
+'System' Name
+'.' Punctuation
+'out' Name.Attribute
+'.' Punctuation
+'println' Name.Attribute
+'(' Punctuation
+' ' Text
+'msg' Name
+' ' Text
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\t\t\t\t' Text
+'if' Keyword
+' ' Text
+'(' Punctuation
+'Logger' Name
+'.' Punctuation
+'isEnabled' Name.Attribute
+'(' Punctuation
+')' Punctuation
+')' Punctuation
+'\n' Text
+
+'\t\t\t\t\t' Text
+'Logger' Name
+'.' Punctuation
+'log' Name.Attribute
+'(' Punctuation
+'new' Keyword
+' ' Text
+'LogEvent' Name
+'(' Punctuation
+'LOGID' Name
+',' Punctuation
+' ' Text
+'msg' Name
+')' Punctuation
+')' Punctuation
+';' Punctuation
+'\t\t' Text
+'\n' Text
+
+'\t\t\t\t' Text
+'throw' Keyword
+' ' Text
+'new' Keyword
+' ' Text
+'PlatformManagerException' Name
+'(' Punctuation
+' ' Text
+'msg' Name
+' ' Text
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\t\t\t' Text
+'}' Punctuation
+'\n' Text
+
+'\t\t\t' Text
+'\n' Text
+
+'\t\t\t' Text
+'return' Keyword
+' ' Text
+'"' Literal.String
+'open -a ' Literal.String
+'\\"' Literal.String
+'"' Literal.String
+' ' Text
+'+' Operator
+'osx_app_bundle' Name
+'.' Punctuation
+'toString' Name.Attribute
+'(' Punctuation
+')' Punctuation
+'+' Operator
+' ' Text
+'"' Literal.String
+'\\"' Literal.String
+'"' Literal.String
+';' Punctuation
+'\n' Text
+
+'\t\t\t' Text
+'//return osx_app_bundle.toString() +"/Contents/MacOS/JavaApplicationStub";\n' Comment.Single
+
+'\t\t\t' Text
+'\n' Text
+
+'\t\t' Text
+'}' Punctuation
+'\n' Text
+
+'\t\t' Text
+'catch' Keyword
+'(' Punctuation
+' ' Text
+'Throwable' Name
+' ' Text
+'t' Name
+' ' Text
+')' Punctuation
+'{' Punctuation
+'\t' Text
+'\n' Text
+
+'\t\t\t' Text
+'t' Name
+'.' Punctuation
+'printStackTrace' Name.Attribute
+'(' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\t\t\t' Text
+'return' Keyword
+' ' Text
+'null' Keyword.Constant
+';' Punctuation
+'\n' Text
+
+'\t\t' Text
+'}' Punctuation
+'\n' Text
+
+'\t' Text
+'}' Punctuation
+'\n' Text
+
+'\t' Text
+'\n' Text
+
+'\t' Text
+'\n' Text
+
+'\t' Text
+'public' Keyword.Declaration
+' ' Text
+'boolean' Keyword.Type
+'\n' Text
+
+'\t' Text
+'isAdditionalFileTypeRegistered' Name.Function
+'(' Punctuation
+'\n' Text
+
+'\t\t' Text
+'String' Name
+'\t\t' Text
+'name' Name
+',' Punctuation
+'\t\t\t\t' Text
+'// e.g. "BitTorrent"\n' Comment.Single
+
+'\t\t' Text
+'String' Name
+'\t\t' Text
+'type' Name
+' ' Text
+')' Punctuation
+'\t\t\t\t' Text
+'// e.g. ".torrent"\n' Comment.Single
+
+'\t' Text
+'\n' Text
+
+'\t\t' Text
+'throws' Keyword.Declaration
+' ' Text
+'PlatformManagerException' Name
+'\n' Text
+
+'\t' Text
+'{' Punctuation
+'\n' Text
+
+'\t ' Text
+'throw' Keyword
+' ' Text
+'new' Keyword
+' ' Text
+'PlatformManagerException' Name
+'(' Punctuation
+'"' Literal.String
+'Unsupported capability called on platform manager' Literal.String
+'"' Literal.String
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\t' Text
+'}' Punctuation
+'\n' Text
+
+'\t' Text
+'\n' Text
+
+'\t' Text
+'public' Keyword.Declaration
+' ' Text
+'void' Keyword.Type
+'\n' Text
+
+'\t' Text
+'unregisterAdditionalFileType' Name.Function
+'(' Punctuation
+'\n' Text
+
+'\t\t' Text
+'String' Name
+'\t\t' Text
+'name' Name
+',' Punctuation
+'\t\t\t\t' Text
+'// e.g. "BitTorrent"\n' Comment.Single
+
+'\t\t' Text
+'String' Name
+'\t\t' Text
+'type' Name
+' ' Text
+')' Punctuation
+'\t\t\t\t' Text
+'// e.g. ".torrent"\n' Comment.Single
+
+'\t\t' Text
+'\n' Text
+
+'\t\t' Text
+'throws' Keyword.Declaration
+' ' Text
+'PlatformManagerException' Name
+'\n' Text
+
+'\t' Text
+'{' Punctuation
+'\n' Text
+
+'\t\t' Text
+'throw' Keyword
+' ' Text
+'new' Keyword
+' ' Text
+'PlatformManagerException' Name
+'(' Punctuation
+'"' Literal.String
+'Unsupported capability called on platform manager' Literal.String
+'"' Literal.String
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\t' Text
+'}' Punctuation
+'\n' Text
+
+'\t' Text
+'\n' Text
+
+'\t' Text
+'public' Keyword.Declaration
+' ' Text
+'void' Keyword.Type
+'\n' Text
+
+'\t' Text
+'registerAdditionalFileType' Name.Function
+'(' Punctuation
+'\n' Text
+
+'\t\t' Text
+'String' Name
+'\t\t' Text
+'name' Name
+',' Punctuation
+'\t\t\t\t' Text
+'// e.g. "BitTorrent"\n' Comment.Single
+
+'\t\t' Text
+'String' Name
+'\t\t' Text
+'description' Name
+',' Punctuation
+'\t\t' Text
+'// e.g. "BitTorrent File"\n' Comment.Single
+
+'\t\t' Text
+'String' Name
+'\t\t' Text
+'type' Name
+',' Punctuation
+'\t\t\t\t' Text
+'// e.g. ".torrent"\n' Comment.Single
+
+'\t\t' Text
+'String' Name
+'\t\t' Text
+'content_type' Name
+' ' Text
+')' Punctuation
+'\t\t' Text
+'// e.g. "application/x-bittorrent"\n' Comment.Single
+
+'\t' Text
+'\n' Text
+
+'\t\t' Text
+'throws' Keyword.Declaration
+' ' Text
+'PlatformManagerException' Name
+'\n' Text
+
+'\t' Text
+'{' Punctuation
+'\n' Text
+
+'\t ' Text
+'throw' Keyword
+' ' Text
+'new' Keyword
+' ' Text
+'PlatformManagerException' Name
+'(' Punctuation
+'"' Literal.String
+'Unsupported capability called on platform manager' Literal.String
+'"' Literal.String
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\t' Text
+'}' Punctuation
+'\n' Text
+
+'\t' Text
+'\n' Text
+
+' ' Text
+'/**\n * Not implemented; does nothing\n */' Comment.Multiline
+'\n' Text
+
+' ' Text
+'public' Keyword.Declaration
+' ' Text
+'void' Keyword.Type
+' ' Text
+'registerApplication' Name.Function
+'(' Punctuation
+')' Punctuation
+' ' Text
+'throws' Keyword.Declaration
+' ' Text
+'PlatformManagerException' Name
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'// handled by LaunchServices and/0r user interaction\n' Comment.Single
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'/**\n * {@inheritDoc}\n */' Comment.Multiline
+'\n' Text
+
+' ' Text
+'public' Keyword.Declaration
+' ' Text
+'void' Keyword.Type
+' ' Text
+'createProcess' Name.Function
+'(' Punctuation
+'String' Name
+' ' Text
+'cmd' Name
+',' Punctuation
+' ' Text
+'boolean' Keyword.Type
+' ' Text
+'inheritsHandles' Name
+')' Punctuation
+' ' Text
+'throws' Keyword.Declaration
+' ' Text
+'PlatformManagerException' Name
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'try' Keyword
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'performRuntimeExec' Name
+'(' Punctuation
+'cmd' Name
+'.' Punctuation
+'split' Name.Attribute
+'(' Punctuation
+'"' Literal.String
+' ' Literal.String
+'"' Literal.String
+')' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'catch' Keyword
+' ' Text
+'(' Punctuation
+'Throwable' Name
+' ' Text
+'e' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'throw' Keyword
+' ' Text
+'new' Keyword
+' ' Text
+'PlatformManagerException' Name
+'(' Punctuation
+'"' Literal.String
+'Failed to create process' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'e' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'/**\n * {@inheritDoc}\n */' Comment.Multiline
+'\n' Text
+
+' ' Text
+'public' Keyword.Declaration
+' ' Text
+'void' Keyword.Type
+' ' Text
+'performRecoverableFileDelete' Name.Function
+'(' Punctuation
+'String' Name
+' ' Text
+'path' Name
+')' Punctuation
+' ' Text
+'throws' Keyword.Declaration
+' ' Text
+'PlatformManagerException' Name
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'File' Name
+' ' Text
+'file' Name
+' ' Text
+'=' Operator
+' ' Text
+'new' Keyword
+' ' Text
+'File' Name
+'(' Punctuation
+'path' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'!' Operator
+'file' Name
+'.' Punctuation
+'exists' Name.Attribute
+'(' Punctuation
+')' Punctuation
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+'\t \t' Text
+'if' Keyword
+' ' Text
+'(' Punctuation
+'Logger' Name
+'.' Punctuation
+'isEnabled' Name.Attribute
+'(' Punctuation
+')' Punctuation
+')' Punctuation
+'\n' Text
+
+'\t\t\t\t\t\t\t' Text
+'Logger' Name
+'.' Punctuation
+'log' Name.Attribute
+'(' Punctuation
+'new' Keyword
+' ' Text
+'LogEvent' Name
+'(' Punctuation
+'LOGID' Name
+',' Punctuation
+' ' Text
+'LogEvent' Name
+'.' Punctuation
+'LT_WARNING' Name.Attribute
+',' Punctuation
+' ' Text
+'"' Literal.String
+'Cannot find ' Literal.String
+'"' Literal.String
+'\n' Text
+
+'\t\t\t\t\t\t\t\t\t' Text
+'+' Operator
+' ' Text
+'file' Name
+'.' Punctuation
+'getName' Name.Attribute
+'(' Punctuation
+')' Punctuation
+')' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'return' Keyword
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'boolean' Keyword.Type
+' ' Text
+'useOSA' Name
+' ' Text
+'=' Operator
+' ' Text
+'!' Operator
+'NativeInvocationBridge' Name
+'.' Punctuation
+'sharedInstance' Name.Attribute
+'(' Punctuation
+')' Punctuation
+'.' Punctuation
+'isEnabled' Name.Attribute
+'(' Punctuation
+')' Punctuation
+' ' Text
+'|' Operator
+'|' Operator
+' ' Text
+'!' Operator
+'NativeInvocationBridge' Name
+'.' Punctuation
+'sharedInstance' Name.Attribute
+'(' Punctuation
+')' Punctuation
+'.' Punctuation
+'performRecoverableFileDelete' Name.Attribute
+'(' Punctuation
+'file' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'useOSA' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'try' Keyword
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'StringBuffer' Name
+' ' Text
+'sb' Name
+' ' Text
+'=' Operator
+' ' Text
+'new' Keyword
+' ' Text
+'StringBuffer' Name
+'(' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'sb' Name
+'.' Punctuation
+'append' Name.Attribute
+'(' Punctuation
+'"' Literal.String
+'tell application ' Literal.String
+'\\"' Literal.String
+'"' Literal.String
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'sb' Name
+'.' Punctuation
+'append' Name.Attribute
+'(' Punctuation
+'"' Literal.String
+'Finder' Literal.String
+'"' Literal.String
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'sb' Name
+'.' Punctuation
+'append' Name.Attribute
+'(' Punctuation
+'"' Literal.String
+'\\"' Literal.String
+' to move (posix file ' Literal.String
+'\\"' Literal.String
+'"' Literal.String
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'sb' Name
+'.' Punctuation
+'append' Name.Attribute
+'(' Punctuation
+'path' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'sb' Name
+'.' Punctuation
+'append' Name.Attribute
+'(' Punctuation
+'"' Literal.String
+'\\"' Literal.String
+' as alias) to the trash' Literal.String
+'"' Literal.String
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'performOSAScript' Name
+'(' Punctuation
+'sb' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'catch' Keyword
+' ' Text
+'(' Punctuation
+'Throwable' Name
+' ' Text
+'e' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'throw' Keyword
+' ' Text
+'new' Keyword
+' ' Text
+'PlatformManagerException' Name
+'(' Punctuation
+'"' Literal.String
+'Failed to move file' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'e' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'/**\n * {@inheritDoc}\n */' Comment.Multiline
+'\n' Text
+
+' ' Text
+'public' Keyword.Declaration
+' ' Text
+'boolean' Keyword.Type
+' ' Text
+'hasCapability' Name.Function
+'(' Punctuation
+'PlatformManagerCapabilities' Name
+' ' Text
+'capability' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'return' Keyword
+' ' Text
+'capabilitySet' Name
+'.' Punctuation
+'contains' Name.Attribute
+'(' Punctuation
+'capability' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'/**\n * {@inheritDoc}\n */' Comment.Multiline
+'\n' Text
+
+' ' Text
+'public' Keyword.Declaration
+' ' Text
+'void' Keyword.Type
+' ' Text
+'dispose' Name.Function
+'(' Punctuation
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'NativeInvocationBridge' Name
+'.' Punctuation
+'sharedInstance' Name.Attribute
+'(' Punctuation
+')' Punctuation
+'.' Punctuation
+'dispose' Name.Attribute
+'(' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'/**\n * {@inheritDoc}\n */' Comment.Multiline
+'\n' Text
+
+' ' Text
+'public' Keyword.Declaration
+' ' Text
+'void' Keyword.Type
+' ' Text
+'setTCPTOSEnabled' Name.Function
+'(' Punctuation
+'boolean' Keyword.Type
+' ' Text
+'enabled' Name
+')' Punctuation
+' ' Text
+'throws' Keyword.Declaration
+' ' Text
+'PlatformManagerException' Name
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'throw' Keyword
+' ' Text
+'new' Keyword
+' ' Text
+'PlatformManagerException' Name
+'(' Punctuation
+'"' Literal.String
+'Unsupported capability called on platform manager' Literal.String
+'"' Literal.String
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'public' Keyword.Declaration
+' ' Text
+'void' Keyword.Type
+'\n' Text
+
+' ' Text
+'copyFilePermissions' Name.Function
+'(' Punctuation
+'\n' Text
+
+'\t\t' Text
+'String' Name
+'\t' Text
+'from_file_name' Name
+',' Punctuation
+'\n' Text
+
+'\t\t' Text
+'String' Name
+'\t' Text
+'to_file_name' Name
+' ' Text
+')' Punctuation
+'\n' Text
+
+'\t' Text
+'\n' Text
+
+'\t\t' Text
+'throws' Keyword.Declaration
+' ' Text
+'PlatformManagerException' Name
+'\n' Text
+
+'\t' Text
+'{' Punctuation
+'\n' Text
+
+'\t ' Text
+'throw' Keyword
+' ' Text
+'new' Keyword
+' ' Text
+'PlatformManagerException' Name
+'(' Punctuation
+'"' Literal.String
+'Unsupported capability called on platform manager' Literal.String
+'"' Literal.String
+')' Punctuation
+';' Punctuation
+'\t\t' Text
+'\n' Text
+
+'\t' Text
+'}' Punctuation
+'\n' Text
+
+'\t' Text
+'\n' Text
+
+' ' Text
+'/**\n * {@inheritDoc}\n */' Comment.Multiline
+'\n' Text
+
+' ' Text
+'public' Keyword.Declaration
+' ' Text
+'void' Keyword.Type
+' ' Text
+'showFile' Name.Function
+'(' Punctuation
+'String' Name
+' ' Text
+'path' Name
+')' Punctuation
+' ' Text
+'throws' Keyword.Declaration
+' ' Text
+'PlatformManagerException' Name
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'File' Name
+' ' Text
+'file' Name
+' ' Text
+'=' Operator
+' ' Text
+'new' Keyword
+' ' Text
+'File' Name
+'(' Punctuation
+'path' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'!' Operator
+'file' Name
+'.' Punctuation
+'exists' Name.Attribute
+'(' Punctuation
+')' Punctuation
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' \t' Text
+'if' Keyword
+' ' Text
+'(' Punctuation
+'Logger' Name
+'.' Punctuation
+'isEnabled' Name.Attribute
+'(' Punctuation
+')' Punctuation
+')' Punctuation
+'\n' Text
+
+' \t\t' Text
+'Logger' Name
+'.' Punctuation
+'log' Name.Attribute
+'(' Punctuation
+'new' Keyword
+' ' Text
+'LogEvent' Name
+'(' Punctuation
+'LOGID' Name
+',' Punctuation
+' ' Text
+'LogEvent' Name
+'.' Punctuation
+'LT_WARNING' Name.Attribute
+',' Punctuation
+' ' Text
+'"' Literal.String
+'Cannot find ' Literal.String
+'"' Literal.String
+'\n' Text
+
+' \t\t\t\t' Text
+'+' Operator
+' ' Text
+'file' Name
+'.' Punctuation
+'getName' Name.Attribute
+'(' Punctuation
+')' Punctuation
+')' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'throw' Keyword
+' ' Text
+'new' Keyword
+' ' Text
+'PlatformManagerException' Name
+'(' Punctuation
+'"' Literal.String
+'File not found' Literal.String
+'"' Literal.String
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'showInFinder' Name
+'(' Punctuation
+'file' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'// Public utility methods not shared across the interface\n' Comment.Single
+
+'\n' Text
+
+' ' Text
+'/**\n * Plays the system alert (the jingle is specified by the user in System Preferences)\n */' Comment.Multiline
+'\n' Text
+
+' ' Text
+'public' Keyword.Declaration
+' ' Text
+'void' Keyword.Type
+' ' Text
+'playSystemAlert' Name.Function
+'(' Punctuation
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'try' Keyword
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'performRuntimeExec' Name
+'(' Punctuation
+'new' Keyword
+' ' Text
+'String' Name
+'[' Operator
+']' Operator
+'{' Punctuation
+'"' Literal.String
+'beep' Literal.String
+'"' Literal.String
+'}' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'catch' Keyword
+' ' Text
+'(' Punctuation
+'IOException' Name
+' ' Text
+'e' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' \t' Text
+'if' Keyword
+' ' Text
+'(' Punctuation
+'Logger' Name
+'.' Punctuation
+'isEnabled' Name.Attribute
+'(' Punctuation
+')' Punctuation
+')' Punctuation
+'\n' Text
+
+' \t\t' Text
+'Logger' Name
+'.' Punctuation
+'log' Name.Attribute
+'(' Punctuation
+'new' Keyword
+' ' Text
+'LogEvent' Name
+'(' Punctuation
+'LOGID' Name
+',' Punctuation
+' ' Text
+'LogEvent' Name
+'.' Punctuation
+'LT_WARNING' Name.Attribute
+',' Punctuation
+'\n' Text
+
+'\t\t\t\t\t\t' Text
+'"' Literal.String
+'Cannot play system alert' Literal.String
+'"' Literal.String
+')' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' \t' Text
+'Logger' Name
+'.' Punctuation
+'log' Name.Attribute
+'(' Punctuation
+'new' Keyword
+' ' Text
+'LogEvent' Name
+'(' Punctuation
+'LOGID' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'e' Name
+')' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'/**\n * <p>Shows the given file or directory in Finder</p>\n * @param path Absolute path to the file or directory\n */' Comment.Multiline
+'\n' Text
+
+' ' Text
+'public' Keyword.Declaration
+' ' Text
+'void' Keyword.Type
+' ' Text
+'showInFinder' Name.Function
+'(' Punctuation
+'File' Name
+' ' Text
+'path' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'boolean' Keyword.Type
+' ' Text
+'useOSA' Name
+' ' Text
+'=' Operator
+' ' Text
+'!' Operator
+'NativeInvocationBridge' Name
+'.' Punctuation
+'sharedInstance' Name.Attribute
+'(' Punctuation
+')' Punctuation
+'.' Punctuation
+'isEnabled' Name.Attribute
+'(' Punctuation
+')' Punctuation
+' ' Text
+'|' Operator
+'|' Operator
+' ' Text
+'!' Operator
+'NativeInvocationBridge' Name
+'.' Punctuation
+'sharedInstance' Name.Attribute
+'(' Punctuation
+')' Punctuation
+'.' Punctuation
+'showInFinder' Name.Attribute
+'(' Punctuation
+'path' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'useOSA' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'StringBuffer' Name
+' ' Text
+'sb' Name
+' ' Text
+'=' Operator
+' ' Text
+'new' Keyword
+' ' Text
+'StringBuffer' Name
+'(' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'sb' Name
+'.' Punctuation
+'append' Name.Attribute
+'(' Punctuation
+'"' Literal.String
+'tell application ' Literal.String
+'\\"' Literal.String
+'"' Literal.String
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'sb' Name
+'.' Punctuation
+'append' Name.Attribute
+'(' Punctuation
+'getFileBrowserName' Name
+'(' Punctuation
+')' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'sb' Name
+'.' Punctuation
+'append' Name.Attribute
+'(' Punctuation
+'"' Literal.String
+'\\"' Literal.String
+' to reveal (posix file ' Literal.String
+'\\"' Literal.String
+'"' Literal.String
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'sb' Name
+'.' Punctuation
+'append' Name.Attribute
+'(' Punctuation
+'path' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'sb' Name
+'.' Punctuation
+'append' Name.Attribute
+'(' Punctuation
+'"' Literal.String
+'\\"' Literal.String
+' as alias)' Literal.String
+'"' Literal.String
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'try' Keyword
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'performOSAScript' Name
+'(' Punctuation
+'sb' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'catch' Keyword
+' ' Text
+'(' Punctuation
+'IOException' Name
+' ' Text
+'e' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'Logger' Name
+'.' Punctuation
+'log' Name.Attribute
+'(' Punctuation
+'new' Keyword
+' ' Text
+'LogAlert' Name
+'(' Punctuation
+'LogAlert' Name
+'.' Punctuation
+'UNREPEATABLE' Name.Attribute
+',' Punctuation
+' ' Text
+'LogAlert' Name
+'.' Punctuation
+'AT_ERROR' Name.Attribute
+',' Punctuation
+' ' Text
+'e' Name
+'\n' Text
+
+'\t\t\t\t\t\t' Text
+'.' Punctuation
+'getMessage' Name.Attribute
+'(' Punctuation
+')' Punctuation
+')' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'/**\n * <p>Shows the given file or directory in Terminal by executing cd /absolute/path/to</p>\n * @param path Absolute path to the file or directory\n */' Comment.Multiline
+'\n' Text
+
+' ' Text
+'public' Keyword.Declaration
+' ' Text
+'void' Keyword.Type
+' ' Text
+'showInTerminal' Name.Function
+'(' Punctuation
+'String' Name
+' ' Text
+'path' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'showInTerminal' Name
+'(' Punctuation
+'new' Keyword
+' ' Text
+'File' Name
+'(' Punctuation
+'path' Name
+')' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'/**\n * <p>Shows the given file or directory in Terminal by executing cd /absolute/path/to</p>\n * @param path Absolute path to the file or directory\n */' Comment.Multiline
+'\n' Text
+
+' ' Text
+'public' Keyword.Declaration
+' ' Text
+'void' Keyword.Type
+' ' Text
+'showInTerminal' Name.Function
+'(' Punctuation
+'File' Name
+' ' Text
+'path' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+' ' Text
+'(' Punctuation
+'path' Name
+'.' Punctuation
+'isFile' Name.Attribute
+'(' Punctuation
+')' Punctuation
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'path' Name
+' ' Text
+'=' Operator
+' ' Text
+'path' Name
+'.' Punctuation
+'getParentFile' Name.Attribute
+'(' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'if' Keyword
+' ' Text
+'(' Punctuation
+'path' Name
+' ' Text
+'!' Operator
+'=' Operator
+' ' Text
+'null' Keyword.Constant
+' ' Text
+'&' Operator
+'&' Operator
+' ' Text
+'path' Name
+'.' Punctuation
+'isDirectory' Name.Attribute
+'(' Punctuation
+')' Punctuation
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'StringBuffer' Name
+' ' Text
+'sb' Name
+' ' Text
+'=' Operator
+' ' Text
+'new' Keyword
+' ' Text
+'StringBuffer' Name
+'(' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'sb' Name
+'.' Punctuation
+'append' Name.Attribute
+'(' Punctuation
+'"' Literal.String
+'tell application ' Literal.String
+'\\"' Literal.String
+'"' Literal.String
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'sb' Name
+'.' Punctuation
+'append' Name.Attribute
+'(' Punctuation
+'"' Literal.String
+'Terminal' Literal.String
+'"' Literal.String
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'sb' Name
+'.' Punctuation
+'append' Name.Attribute
+'(' Punctuation
+'"' Literal.String
+'\\"' Literal.String
+' to do script ' Literal.String
+'\\"' Literal.String
+'cd ' Literal.String
+'"' Literal.String
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'sb' Name
+'.' Punctuation
+'append' Name.Attribute
+'(' Punctuation
+'path' Name
+'.' Punctuation
+'getAbsolutePath' Name.Attribute
+'(' Punctuation
+')' Punctuation
+'.' Punctuation
+'replaceAll' Name.Attribute
+'(' Punctuation
+'"' Literal.String
+' ' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'"' Literal.String
+'\\\\' Literal.String
+' ' Literal.String
+'"' Literal.String
+')' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'sb' Name
+'.' Punctuation
+'append' Name.Attribute
+'(' Punctuation
+'"' Literal.String
+'\\"' Literal.String
+'"' Literal.String
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'try' Keyword
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'performOSAScript' Name
+'(' Punctuation
+'sb' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'catch' Keyword
+' ' Text
+'(' Punctuation
+'IOException' Name
+' ' Text
+'e' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'Logger' Name
+'.' Punctuation
+'log' Name.Attribute
+'(' Punctuation
+'new' Keyword
+' ' Text
+'LogAlert' Name
+'(' Punctuation
+'LogAlert' Name
+'.' Punctuation
+'UNREPEATABLE' Name.Attribute
+',' Punctuation
+' ' Text
+'LogAlert' Name
+'.' Punctuation
+'AT_ERROR' Name.Attribute
+',' Punctuation
+' ' Text
+'e' Name
+'\n' Text
+
+'\t\t\t\t\t\t' Text
+'.' Punctuation
+'getMessage' Name.Attribute
+'(' Punctuation
+')' Punctuation
+')' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'else' Keyword
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' \t' Text
+'if' Keyword
+' ' Text
+'(' Punctuation
+'Logger' Name
+'.' Punctuation
+'isEnabled' Name.Attribute
+'(' Punctuation
+')' Punctuation
+')' Punctuation
+'\n' Text
+
+' \t\t' Text
+'Logger' Name
+'.' Punctuation
+'log' Name.Attribute
+'(' Punctuation
+'new' Keyword
+' ' Text
+'LogEvent' Name
+'(' Punctuation
+'LOGID' Name
+',' Punctuation
+' ' Text
+'LogEvent' Name
+'.' Punctuation
+'LT_WARNING' Name.Attribute
+',' Punctuation
+' ' Text
+'"' Literal.String
+'Cannot find ' Literal.String
+'"' Literal.String
+'\n' Text
+
+' \t\t\t\t' Text
+'+' Operator
+' ' Text
+'path' Name
+'.' Punctuation
+'getName' Name.Attribute
+'(' Punctuation
+')' Punctuation
+')' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'// Internal utility methods\n' Comment.Single
+
+'\n' Text
+
+' ' Text
+'/**\n * Compiles a new AppleScript instance and runs it\n * @param cmd AppleScript command to execute; do not surround command with extra quotation marks\n * @return Output of the script\n * @throws IOException If the script failed to execute\n */' Comment.Multiline
+'\n' Text
+
+' ' Text
+'protected' Keyword.Declaration
+' ' Text
+'static' Keyword.Declaration
+' ' Text
+'String' Name
+' ' Text
+'performOSAScript' Name.Function
+'(' Punctuation
+'CharSequence' Name
+' ' Text
+'cmd' Name
+')' Punctuation
+' ' Text
+'throws' Keyword.Declaration
+' ' Text
+'IOException' Name
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'return' Keyword
+' ' Text
+'performOSAScript' Name
+'(' Punctuation
+'new' Keyword
+' ' Text
+'CharSequence' Name
+'[' Operator
+']' Operator
+'{' Punctuation
+'cmd' Name
+'}' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'/**\n * Compiles a new AppleScript instance and runs it\n * @param cmds AppleScript Sequence of commands to execute; do not surround command with extra quotation marks\n * @return Output of the script\n * @throws IOException If the script failed to execute\n */' Comment.Multiline
+'\n' Text
+
+' ' Text
+'protected' Keyword.Declaration
+' ' Text
+'static' Keyword.Declaration
+' ' Text
+'String' Name
+' ' Text
+'performOSAScript' Name.Function
+'(' Punctuation
+'CharSequence' Name
+'[' Operator
+']' Operator
+' ' Text
+'cmds' Name
+')' Punctuation
+' ' Text
+'throws' Keyword.Declaration
+' ' Text
+'IOException' Name
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'long' Keyword.Type
+' ' Text
+'start' Name
+' ' Text
+'=' Operator
+' ' Text
+'System' Name
+'.' Punctuation
+'currentTimeMillis' Name.Attribute
+'(' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'Debug' Name
+'.' Punctuation
+'outNoStack' Name.Attribute
+'(' Punctuation
+'"' Literal.String
+'Executing OSAScript: ' Literal.String
+'"' Literal.String
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'for' Keyword
+' ' Text
+'(' Punctuation
+'int' Keyword.Type
+' ' Text
+'i' Name
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Punctuation
+' ' Text
+'i' Name
+' ' Text
+'<' Operator
+' ' Text
+'cmds' Name
+'.' Punctuation
+'length' Name.Attribute
+';' Punctuation
+' ' Text
+'i' Name
+'+' Operator
+'+' Operator
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'Debug' Name
+'.' Punctuation
+'outNoStack' Name.Attribute
+'(' Punctuation
+'"' Literal.String
+'\\' Literal.String
+'t' Literal.String
+'"' Literal.String
+' ' Text
+'+' Operator
+' ' Text
+'cmds' Name
+'[' Operator
+'i' Name
+']' Operator
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'String' Name
+'[' Operator
+']' Operator
+' ' Text
+'cmdargs' Name
+' ' Text
+'=' Operator
+' ' Text
+'new' Keyword
+' ' Text
+'String' Name
+'[' Operator
+'2' Literal.Number.Integer
+' ' Text
+'*' Operator
+' ' Text
+'cmds' Name
+'.' Punctuation
+'length' Name.Attribute
+' ' Text
+'+' Operator
+' ' Text
+'1' Literal.Number.Integer
+']' Operator
+';' Punctuation
+'\n' Text
+
+' ' Text
+'cmdargs' Name
+'[' Operator
+'0' Literal.Number.Integer
+']' Operator
+' ' Text
+'=' Operator
+' ' Text
+'"' Literal.String
+'osascript' Literal.String
+'"' Literal.String
+';' Punctuation
+'\n' Text
+
+' ' Text
+'for' Keyword
+' ' Text
+'(' Punctuation
+'int' Keyword.Type
+' ' Text
+'i' Name
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Punctuation
+' ' Text
+'i' Name
+' ' Text
+'<' Operator
+' ' Text
+'cmds' Name
+'.' Punctuation
+'length' Name.Attribute
+';' Punctuation
+' ' Text
+'i' Name
+'+' Operator
+'+' Operator
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'cmdargs' Name
+'[' Operator
+'i' Name
+' ' Text
+'*' Operator
+' ' Text
+'2' Literal.Number.Integer
+' ' Text
+'+' Operator
+' ' Text
+'1' Literal.Number.Integer
+']' Operator
+' ' Text
+'=' Operator
+' ' Text
+'"' Literal.String
+'-e' Literal.String
+'"' Literal.String
+';' Punctuation
+'\n' Text
+
+' ' Text
+'cmdargs' Name
+'[' Operator
+'i' Name
+' ' Text
+'*' Operator
+' ' Text
+'2' Literal.Number.Integer
+' ' Text
+'+' Operator
+' ' Text
+'2' Literal.Number.Integer
+']' Operator
+' ' Text
+'=' Operator
+' ' Text
+'String' Name
+'.' Punctuation
+'valueOf' Name.Attribute
+'(' Punctuation
+'cmds' Name
+'[' Operator
+'i' Name
+']' Operator
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'Process' Name
+' ' Text
+'osaProcess' Name
+' ' Text
+'=' Operator
+' ' Text
+'performRuntimeExec' Name
+'(' Punctuation
+'cmdargs' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'BufferedReader' Name
+' ' Text
+'reader' Name
+' ' Text
+'=' Operator
+' ' Text
+'new' Keyword
+' ' Text
+'BufferedReader' Name
+'(' Punctuation
+'new' Keyword
+' ' Text
+'InputStreamReader' Name
+'(' Punctuation
+'osaProcess' Name
+'.' Punctuation
+'getInputStream' Name.Attribute
+'(' Punctuation
+')' Punctuation
+')' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'String' Name
+' ' Text
+'line' Name
+' ' Text
+'=' Operator
+' ' Text
+'reader' Name
+'.' Punctuation
+'readLine' Name.Attribute
+'(' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'reader' Name
+'.' Punctuation
+'close' Name.Attribute
+'(' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'Debug' Name
+'.' Punctuation
+'outNoStack' Name.Attribute
+'(' Punctuation
+'"' Literal.String
+'OSAScript Output: ' Literal.String
+'"' Literal.String
+' ' Text
+'+' Operator
+' ' Text
+'line' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'reader' Name
+' ' Text
+'=' Operator
+' ' Text
+'new' Keyword
+' ' Text
+'BufferedReader' Name
+'(' Punctuation
+'new' Keyword
+' ' Text
+'InputStreamReader' Name
+'(' Punctuation
+'osaProcess' Name
+'.' Punctuation
+'getErrorStream' Name.Attribute
+'(' Punctuation
+')' Punctuation
+')' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'String' Name
+' ' Text
+'errorMsg' Name
+' ' Text
+'=' Operator
+' ' Text
+'reader' Name
+'.' Punctuation
+'readLine' Name.Attribute
+'(' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'reader' Name
+'.' Punctuation
+'close' Name.Attribute
+'(' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'Debug' Name
+'.' Punctuation
+'outNoStack' Name.Attribute
+'(' Punctuation
+'"' Literal.String
+'OSAScript Error (if any): ' Literal.String
+'"' Literal.String
+' ' Text
+'+' Operator
+' ' Text
+'errorMsg' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'Debug' Name
+'.' Punctuation
+'outNoStack' Name.Attribute
+'(' Punctuation
+'MessageFormat' Name
+'.' Punctuation
+'format' Name.Attribute
+'(' Punctuation
+'"' Literal.String
+'OSAScript execution ended ({0}ms)' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'new' Keyword
+' ' Text
+'Object' Name
+'[' Operator
+']' Operator
+'{' Punctuation
+'String' Name
+'.' Punctuation
+'valueOf' Name.Attribute
+'(' Punctuation
+'System' Name
+'.' Punctuation
+'currentTimeMillis' Name.Attribute
+'(' Punctuation
+')' Punctuation
+' ' Text
+'-' Operator
+' ' Text
+'start' Name
+')' Punctuation
+'}' Punctuation
+')' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'if' Keyword
+' ' Text
+'(' Punctuation
+'errorMsg' Name
+' ' Text
+'!' Operator
+'=' Operator
+' ' Text
+'null' Keyword.Constant
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'throw' Keyword
+' ' Text
+'new' Keyword
+' ' Text
+'IOException' Name
+'(' Punctuation
+'errorMsg' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'return' Keyword
+' ' Text
+'line' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'/**\n * Compiles a new AppleScript instance and runs it\n * @param script AppleScript file (.scpt) to execute\n * @return Output of the script\n * @throws IOException If the script failed to execute\n */' Comment.Multiline
+'\n' Text
+
+' ' Text
+'protected' Keyword.Declaration
+' ' Text
+'static' Keyword.Declaration
+' ' Text
+'String' Name
+' ' Text
+'performOSAScript' Name.Function
+'(' Punctuation
+'File' Name
+' ' Text
+'script' Name
+')' Punctuation
+' ' Text
+'throws' Keyword.Declaration
+' ' Text
+'IOException' Name
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'long' Keyword.Type
+' ' Text
+'start' Name
+' ' Text
+'=' Operator
+' ' Text
+'System' Name
+'.' Punctuation
+'currentTimeMillis' Name.Attribute
+'(' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'Debug' Name
+'.' Punctuation
+'outNoStack' Name.Attribute
+'(' Punctuation
+'"' Literal.String
+'Executing OSAScript from file: ' Literal.String
+'"' Literal.String
+' ' Text
+'+' Operator
+' ' Text
+'script' Name
+'.' Punctuation
+'getPath' Name.Attribute
+'(' Punctuation
+')' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'Process' Name
+' ' Text
+'osaProcess' Name
+' ' Text
+'=' Operator
+' ' Text
+'performRuntimeExec' Name
+'(' Punctuation
+'new' Keyword
+' ' Text
+'String' Name
+'[' Operator
+']' Operator
+'{' Punctuation
+'"' Literal.String
+'osascript' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'script' Name
+'.' Punctuation
+'getPath' Name.Attribute
+'(' Punctuation
+')' Punctuation
+'}' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'BufferedReader' Name
+' ' Text
+'reader' Name
+' ' Text
+'=' Operator
+' ' Text
+'new' Keyword
+' ' Text
+'BufferedReader' Name
+'(' Punctuation
+'new' Keyword
+' ' Text
+'InputStreamReader' Name
+'(' Punctuation
+'osaProcess' Name
+'.' Punctuation
+'getInputStream' Name.Attribute
+'(' Punctuation
+')' Punctuation
+')' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'String' Name
+' ' Text
+'line' Name
+' ' Text
+'=' Operator
+' ' Text
+'reader' Name
+'.' Punctuation
+'readLine' Name.Attribute
+'(' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'reader' Name
+'.' Punctuation
+'close' Name.Attribute
+'(' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'Debug' Name
+'.' Punctuation
+'outNoStack' Name.Attribute
+'(' Punctuation
+'"' Literal.String
+'OSAScript Output: ' Literal.String
+'"' Literal.String
+' ' Text
+'+' Operator
+' ' Text
+'line' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'reader' Name
+' ' Text
+'=' Operator
+' ' Text
+'new' Keyword
+' ' Text
+'BufferedReader' Name
+'(' Punctuation
+'new' Keyword
+' ' Text
+'InputStreamReader' Name
+'(' Punctuation
+'osaProcess' Name
+'.' Punctuation
+'getErrorStream' Name.Attribute
+'(' Punctuation
+')' Punctuation
+')' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'String' Name
+' ' Text
+'errorMsg' Name
+' ' Text
+'=' Operator
+' ' Text
+'reader' Name
+'.' Punctuation
+'readLine' Name.Attribute
+'(' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'reader' Name
+'.' Punctuation
+'close' Name.Attribute
+'(' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'Debug' Name
+'.' Punctuation
+'outNoStack' Name.Attribute
+'(' Punctuation
+'"' Literal.String
+'OSAScript Error (if any): ' Literal.String
+'"' Literal.String
+' ' Text
+'+' Operator
+' ' Text
+'errorMsg' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'Debug' Name
+'.' Punctuation
+'outNoStack' Name.Attribute
+'(' Punctuation
+'MessageFormat' Name
+'.' Punctuation
+'format' Name.Attribute
+'(' Punctuation
+'"' Literal.String
+'OSAScript execution ended ({0}ms)' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'new' Keyword
+' ' Text
+'Object' Name
+'[' Operator
+']' Operator
+'{' Punctuation
+'String' Name
+'.' Punctuation
+'valueOf' Name.Attribute
+'(' Punctuation
+'System' Name
+'.' Punctuation
+'currentTimeMillis' Name.Attribute
+'(' Punctuation
+')' Punctuation
+' ' Text
+'-' Operator
+' ' Text
+'start' Name
+')' Punctuation
+'}' Punctuation
+')' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'if' Keyword
+' ' Text
+'(' Punctuation
+'errorMsg' Name
+' ' Text
+'!' Operator
+'=' Operator
+' ' Text
+'null' Keyword.Constant
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'throw' Keyword
+' ' Text
+'new' Keyword
+' ' Text
+'IOException' Name
+'(' Punctuation
+'errorMsg' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'return' Keyword
+' ' Text
+'line' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'/**\n * Compiles a new AppleScript instance to the specified location\n * @param cmd Command to compile; do not surround command with extra quotation marks\n * @param destination Destination location of the AppleScript file\n * @return True if compiled successfully\n */' Comment.Multiline
+'\n' Text
+
+' ' Text
+'protected' Keyword.Declaration
+' ' Text
+'static' Keyword.Declaration
+' ' Text
+'boolean' Keyword.Type
+' ' Text
+'compileOSAScript' Name.Function
+'(' Punctuation
+'CharSequence' Name
+' ' Text
+'cmd' Name
+',' Punctuation
+' ' Text
+'File' Name
+' ' Text
+'destination' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'return' Keyword
+' ' Text
+'compileOSAScript' Name
+'(' Punctuation
+'new' Keyword
+' ' Text
+'CharSequence' Name
+'[' Operator
+']' Operator
+'{' Punctuation
+'cmd' Name
+'}' Punctuation
+',' Punctuation
+' ' Text
+'destination' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'/**\n * Compiles a new AppleScript instance to the specified location\n * @param cmds Sequence of commands to compile; do not surround command with extra quotation marks\n * @param destination Destination location of the AppleScript file\n * @return True if compiled successfully\n */' Comment.Multiline
+'\n' Text
+
+' ' Text
+'protected' Keyword.Declaration
+' ' Text
+'static' Keyword.Declaration
+' ' Text
+'boolean' Keyword.Type
+' ' Text
+'compileOSAScript' Name.Function
+'(' Punctuation
+'CharSequence' Name
+'[' Operator
+']' Operator
+' ' Text
+'cmds' Name
+',' Punctuation
+' ' Text
+'File' Name
+' ' Text
+'destination' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'long' Keyword.Type
+' ' Text
+'start' Name
+' ' Text
+'=' Operator
+' ' Text
+'System' Name
+'.' Punctuation
+'currentTimeMillis' Name.Attribute
+'(' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'Debug' Name
+'.' Punctuation
+'outNoStack' Name.Attribute
+'(' Punctuation
+'"' Literal.String
+'Compiling OSAScript: ' Literal.String
+'"' Literal.String
+' ' Text
+'+' Operator
+' ' Text
+'destination' Name
+'.' Punctuation
+'getPath' Name.Attribute
+'(' Punctuation
+')' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'for' Keyword
+' ' Text
+'(' Punctuation
+'int' Keyword.Type
+' ' Text
+'i' Name
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Punctuation
+' ' Text
+'i' Name
+' ' Text
+'<' Operator
+' ' Text
+'cmds' Name
+'.' Punctuation
+'length' Name.Attribute
+';' Punctuation
+' ' Text
+'i' Name
+'+' Operator
+'+' Operator
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'Debug' Name
+'.' Punctuation
+'outNoStack' Name.Attribute
+'(' Punctuation
+'"' Literal.String
+'\\' Literal.String
+'t' Literal.String
+'"' Literal.String
+' ' Text
+'+' Operator
+' ' Text
+'cmds' Name
+'[' Operator
+'i' Name
+']' Operator
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'String' Name
+'[' Operator
+']' Operator
+' ' Text
+'cmdargs' Name
+' ' Text
+'=' Operator
+' ' Text
+'new' Keyword
+' ' Text
+'String' Name
+'[' Operator
+'2' Literal.Number.Integer
+' ' Text
+'*' Operator
+' ' Text
+'cmds' Name
+'.' Punctuation
+'length' Name.Attribute
+' ' Text
+'+' Operator
+' ' Text
+'3' Literal.Number.Integer
+']' Operator
+';' Punctuation
+'\n' Text
+
+' ' Text
+'cmdargs' Name
+'[' Operator
+'0' Literal.Number.Integer
+']' Operator
+' ' Text
+'=' Operator
+' ' Text
+'"' Literal.String
+'osacompile' Literal.String
+'"' Literal.String
+';' Punctuation
+'\n' Text
+
+' ' Text
+'for' Keyword
+' ' Text
+'(' Punctuation
+'int' Keyword.Type
+' ' Text
+'i' Name
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Punctuation
+' ' Text
+'i' Name
+' ' Text
+'<' Operator
+' ' Text
+'cmds' Name
+'.' Punctuation
+'length' Name.Attribute
+';' Punctuation
+' ' Text
+'i' Name
+'+' Operator
+'+' Operator
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'cmdargs' Name
+'[' Operator
+'i' Name
+' ' Text
+'*' Operator
+' ' Text
+'2' Literal.Number.Integer
+' ' Text
+'+' Operator
+' ' Text
+'1' Literal.Number.Integer
+']' Operator
+' ' Text
+'=' Operator
+' ' Text
+'"' Literal.String
+'-e' Literal.String
+'"' Literal.String
+';' Punctuation
+'\n' Text
+
+' ' Text
+'cmdargs' Name
+'[' Operator
+'i' Name
+' ' Text
+'*' Operator
+' ' Text
+'2' Literal.Number.Integer
+' ' Text
+'+' Operator
+' ' Text
+'2' Literal.Number.Integer
+']' Operator
+' ' Text
+'=' Operator
+' ' Text
+'String' Name
+'.' Punctuation
+'valueOf' Name.Attribute
+'(' Punctuation
+'cmds' Name
+'[' Operator
+'i' Name
+']' Operator
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'cmdargs' Name
+'[' Operator
+'cmdargs' Name
+'.' Punctuation
+'length' Name.Attribute
+' ' Text
+'-' Operator
+' ' Text
+'2' Literal.Number.Integer
+']' Operator
+' ' Text
+'=' Operator
+' ' Text
+'"' Literal.String
+'-o' Literal.String
+'"' Literal.String
+';' Punctuation
+'\n' Text
+
+' ' Text
+'cmdargs' Name
+'[' Operator
+'cmdargs' Name
+'.' Punctuation
+'length' Name.Attribute
+' ' Text
+'-' Operator
+' ' Text
+'1' Literal.Number.Integer
+']' Operator
+' ' Text
+'=' Operator
+' ' Text
+'destination' Name
+'.' Punctuation
+'getPath' Name.Attribute
+'(' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'String' Name
+' ' Text
+'errorMsg' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'try' Keyword
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'Process' Name
+' ' Text
+'osaProcess' Name
+' ' Text
+'=' Operator
+' ' Text
+'performRuntimeExec' Name
+'(' Punctuation
+'cmdargs' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'BufferedReader' Name
+' ' Text
+'reader' Name
+' ' Text
+'=' Operator
+' ' Text
+'new' Keyword
+' ' Text
+'BufferedReader' Name
+'(' Punctuation
+'new' Keyword
+' ' Text
+'InputStreamReader' Name
+'(' Punctuation
+'osaProcess' Name
+'.' Punctuation
+'getErrorStream' Name.Attribute
+'(' Punctuation
+')' Punctuation
+')' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'errorMsg' Name
+' ' Text
+'=' Operator
+' ' Text
+'reader' Name
+'.' Punctuation
+'readLine' Name.Attribute
+'(' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'reader' Name
+'.' Punctuation
+'close' Name.Attribute
+'(' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'catch' Keyword
+' ' Text
+'(' Punctuation
+'IOException' Name
+' ' Text
+'e' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'Debug' Name
+'.' Punctuation
+'outNoStack' Name.Attribute
+'(' Punctuation
+'"' Literal.String
+'OSACompile Execution Failed: ' Literal.String
+'"' Literal.String
+' ' Text
+'+' Operator
+' ' Text
+'e' Name
+'.' Punctuation
+'getMessage' Name.Attribute
+'(' Punctuation
+')' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'Debug' Name
+'.' Punctuation
+'printStackTrace' Name.Attribute
+'(' Punctuation
+'e' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'return' Keyword
+' ' Text
+'false' Keyword.Constant
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'Debug' Name
+'.' Punctuation
+'outNoStack' Name.Attribute
+'(' Punctuation
+'"' Literal.String
+'OSACompile Error (if any): ' Literal.String
+'"' Literal.String
+' ' Text
+'+' Operator
+' ' Text
+'errorMsg' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'Debug' Name
+'.' Punctuation
+'outNoStack' Name.Attribute
+'(' Punctuation
+'MessageFormat' Name
+'.' Punctuation
+'format' Name.Attribute
+'(' Punctuation
+'"' Literal.String
+'OSACompile execution ended ({0}ms)' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'new' Keyword
+' ' Text
+'Object' Name
+'[' Operator
+']' Operator
+'{' Punctuation
+'String' Name
+'.' Punctuation
+'valueOf' Name.Attribute
+'(' Punctuation
+'System' Name
+'.' Punctuation
+'currentTimeMillis' Name.Attribute
+'(' Punctuation
+')' Punctuation
+' ' Text
+'-' Operator
+' ' Text
+'start' Name
+')' Punctuation
+'}' Punctuation
+')' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'return' Keyword
+' ' Text
+'(' Punctuation
+'errorMsg' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'null' Keyword.Constant
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'/**\n * @see Runtime#exec(String[])\n */' Comment.Multiline
+'\n' Text
+
+' ' Text
+'protected' Keyword.Declaration
+' ' Text
+'static' Keyword.Declaration
+' ' Text
+'Process' Name
+' ' Text
+'performRuntimeExec' Name.Function
+'(' Punctuation
+'String' Name
+'[' Operator
+']' Operator
+' ' Text
+'cmdargs' Name
+')' Punctuation
+' ' Text
+'throws' Keyword.Declaration
+' ' Text
+'IOException' Name
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'try' Keyword
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'return' Keyword
+' ' Text
+'Runtime' Name
+'.' Punctuation
+'getRuntime' Name.Attribute
+'(' Punctuation
+')' Punctuation
+'.' Punctuation
+'exec' Name.Attribute
+'(' Punctuation
+'cmdargs' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'catch' Keyword
+' ' Text
+'(' Punctuation
+'IOException' Name
+' ' Text
+'e' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'Logger' Name
+'.' Punctuation
+'log' Name.Attribute
+'(' Punctuation
+'new' Keyword
+' ' Text
+'LogAlert' Name
+'(' Punctuation
+'LogAlert' Name
+'.' Punctuation
+'UNREPEATABLE' Name.Attribute
+',' Punctuation
+' ' Text
+'e' Name
+'.' Punctuation
+'getMessage' Name.Attribute
+'(' Punctuation
+')' Punctuation
+',' Punctuation
+' ' Text
+'e' Name
+')' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'throw' Keyword
+' ' Text
+'e' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'/**\n * <p>Gets the preferred file browser name</p>\n * <p>Currently supported browsers are Path Finder and Finder. If Path Finder is currently running\n * (not just installed), then "Path Finder is returned; else, "Finder" is returned.</p>\n * @return "Path Finder" if it is currently running; else "Finder"\n */' Comment.Multiline
+'\n' Text
+
+' ' Text
+'private' Keyword.Declaration
+' ' Text
+'static' Keyword.Declaration
+' ' Text
+'String' Name
+' ' Text
+'getFileBrowserName' Name.Function
+'(' Punctuation
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'try' Keyword
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'// slowwwwwwww\n' Comment.Single
+
+' ' Text
+'if' Keyword
+' ' Text
+'(' Punctuation
+'"' Literal.String
+'true' Literal.String
+'"' Literal.String
+'.' Punctuation
+'equalsIgnoreCase' Name.Attribute
+'(' Punctuation
+'performOSAScript' Name
+'(' Punctuation
+'"' Literal.String
+'tell application ' Literal.String
+'\\"' Literal.String
+'System Events' Literal.String
+'\\"' Literal.String
+' to exists process ' Literal.String
+'\\"' Literal.String
+'Path Finder' Literal.String
+'\\"' Literal.String
+'"' Literal.String
+')' Punctuation
+')' Punctuation
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'Debug' Name
+'.' Punctuation
+'outNoStack' Name.Attribute
+'(' Punctuation
+'"' Literal.String
+'Path Finder is running' Literal.String
+'"' Literal.String
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'return' Keyword
+' ' Text
+'"' Literal.String
+'Path Finder' Literal.String
+'"' Literal.String
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'else' Keyword
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'return' Keyword
+' ' Text
+'"' Literal.String
+'Finder' Literal.String
+'"' Literal.String
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'catch' Keyword
+' ' Text
+'(' Punctuation
+'IOException' Name
+' ' Text
+'e' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'Debug' Name
+'.' Punctuation
+'printStackTrace' Name.Attribute
+'(' Punctuation
+'e' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'Logger' Name
+'.' Punctuation
+'log' Name.Attribute
+'(' Punctuation
+'new' Keyword
+' ' Text
+'LogEvent' Name
+'(' Punctuation
+'LOGID' Name
+',' Punctuation
+' ' Text
+'e' Name
+'.' Punctuation
+'getMessage' Name.Attribute
+'(' Punctuation
+')' Punctuation
+',' Punctuation
+' ' Text
+'e' Name
+')' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'return' Keyword
+' ' Text
+'"' Literal.String
+'Finder' Literal.String
+'"' Literal.String
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'\n' Text
+
+'\t' Text
+'public' Keyword.Declaration
+' ' Text
+'boolean' Keyword.Type
+'\n' Text
+
+'\t' Text
+'testNativeAvailability' Name.Function
+'(' Punctuation
+'\n' Text
+
+'\t\t' Text
+'String' Name
+'\t' Text
+'name' Name
+' ' Text
+')' Punctuation
+'\n' Text
+
+'\t' Text
+'\n' Text
+
+'\t\t' Text
+'throws' Keyword.Declaration
+' ' Text
+'PlatformManagerException' Name
+'\n' Text
+
+'\t' Text
+'{' Punctuation
+'\n' Text
+
+'\t ' Text
+'throw' Keyword
+' ' Text
+'new' Keyword
+' ' Text
+'PlatformManagerException' Name
+'(' Punctuation
+'"' Literal.String
+'Unsupported capability called on platform manager' Literal.String
+'"' Literal.String
+')' Punctuation
+';' Punctuation
+'\t\t' Text
+'\n' Text
+
+'\t' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'\n' Text
+
+' ' Text
+'public' Keyword.Declaration
+' ' Text
+'void' Keyword.Type
+'\n' Text
+
+' ' Text
+'addListener' Name.Function
+'(' Punctuation
+'\n' Text
+
+' \t' Text
+'PlatformManagerListener' Name
+'\t\t' Text
+'listener' Name
+' ' Text
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'\n' Text
+
+' ' Text
+'public' Keyword.Declaration
+' ' Text
+'void' Keyword.Type
+'\n' Text
+
+' ' Text
+'removeListener' Name.Function
+'(' Punctuation
+'\n' Text
+
+' \t' Text
+'PlatformManagerListener' Name
+'\t\t' Text
+'listener' Name
+' ' Text
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'}' Punctuation
+'\n' Text