/**
* Copyright (c) Red Hat, Inc., contributors and others 2013 - 2014. All rights reserved
*
* Licensed under the Eclipse Public License version 1.0, available at
* http://www.eclipse.org/legal/epl-v10.html
*/
package org.jboss.tools.aesh.core.internal.ansi;
import java.util.HashMap;
import java.util.Map;
public enum CommandType {
CURSOR_UP('A'),
CURSOR_DOWN('B'),
CURSOR_FORWARD('C'),
CURSOR_BACK('D'),
CURSOR_NEXT_LINE('E'),
CURSOR_PREVIOUS_LINE('F'),
CURSOR_HORIZONTAL_ABSOLUTE('G'),
CURSOR_POSITION('H'),
ERASE_DATA('J'),
ERASE_IN_LINE('K'),
SCROLL_UP('S'),
SCROLL_DOWN('T'),
HORIZONTAL_AND_VERTICAL_POSITION('f'),
SELECT_GRAPHIC_RENDITION('m'),
DEVICE_STATUS_REPORT('n'),
SAVE_CURSOR_POSITION('s'),
RESTORE_CURSOR_POSITION('u'),
HIDE_CURSOR('l'),
SHOW_CURSOR('h');
private CommandType(char c) {
getCommandTypeMap().put(c, this);
}
private static Map<Character, CommandType> commandTypeMap;
private static Map<Character, CommandType> getCommandTypeMap() {
if (commandTypeMap == null) {
commandTypeMap = new HashMap<>();
}
return commandTypeMap;
}
public static CommandType fromCharacter(char c) {
return getCommandTypeMap().get(c);
}
}