Features and Implementation Status

PD Piglet aims to implement nearly the full set of HP Piglet commands and a few Graffy extensions as a base for version 1.0. This table is a list commands and their implementation status in PD Piglet. When available, the manual page for each command can be accessed by clicking on the command name in the first column.

Command description status (difficulty)
Piglet Editor invocation complete
ADD A Add an arc to the current device complete
ADD I Add an instance (sub-cell) to the current device complete
ADD C Add a circle or oval to the current device complete
ADD L Add a line to the current device complete
ADD N Add a note to the current device complete
ADD O Add an oval to the current device unimplemented (easy)
ADD P Add a polygon to the current device complete
ADD R Add a rectangle to the current device complete
ADD T Add text to the current device complete
ARChive Create archive file of specified device complete
AREa Compute and display area of selected component complete
BACkground Specify a background component for the editor complete
BYE Terminate the edit session complete
CHAnge Change characteristics of selected components working
COPy Copy a component from one location to another complete
DATe Print the current date and time to console complete
DEFine Define a macro unimplemented (moderate)
DELete Delete a component complete
DISPlay Turn X11 Display on/off complete
DISTance Measure the distance between two points complete
DUMp Dump the graphics window to a file PPM file only
ECHo Echo the argument to screen works
EDIt Edit a new or old device partial (no recursion yet)
EQUate Assign pen/line type to a mask layer complete
EXIt Exit from an EDIT, PROCESS, or SEARCH subsystem complete
$FILES Purge named files complete
FSIze Set the default font size for text and notes complete
GRId Set grid spacing or turn grid on/off complete
GROup Create a new device from existing components unimplemented (moderate)
HELp Print out quick summary of command complete
IDEntify Identify named instances or components complete
INPut Take command input from a file complete
INTerrupt Interrupt an ADD to issue another command unimplemented (hard)
LAYer Set the default layer number complete
LEVel Set the logical level of the current device complete
LISt List information about the current environment complete
LOCk Set the default lock angle complete
MACro Enter the MACRO definition subsystem unimplemented (hard)
MENu Change or save the current menu partial
MOVe Move a component from one location to another complete
PLOt Make a plot of the current device postscript letter-sized paper
POInt Display the coordinates of specified point on the screen complete
PROcess Enter the PROCESS subsystem complete
PURge Purge device definitions from memory and disk complete
QUIt Terminate edit session complete
REDo Redo the last undo command infinite level, all drawing mod commands
RETrieve read commands from an ARCHIVE file complete
SAVe Save the current file or device to disk complete
SEArch Modify the search path unimplemented (moderate)
SET Set environment variables complete
SHEll Run a shell command from within the editor functional
SHOw Define which kinds of things to display complete
SMAsh Replace an instance with its components complete
SPLit Cut a component into two halves unimplemented (hard)
STEp Copy a component in an array fashion unimplemented (moderate)
STRetch Make a component larger or smaller partial (stretch by point)
TIMe Print the current and elapsed system clock time complete
TRAce Highlight named signals unimplemented (easy)
TSLant Set the default font slant for italic text and notes complete
UNDo Undo the last edit command unlimited depth
UNIts Set editor resolution and user unit type unimplemented (moderate)
VERsion Identify the version number of program complete
WINdow Change the current window parameters complete
WRAp Create a new device using existing components complete


Commands not planned to be implemented
Command description status
CALibrate Calibrate the display to match a digitizing tablet unimplemented
CMAp Modify the color map unimplemented
DEClare Declare a stretch point in a cell unimplemented
MEMory Print remaining memory unimplemented
XASsign Assign Stretch points to a cell unimplemented
YASsign Assign Stretch points to a cell unimplemented
ZAP Delete components with zero extent unimplemented