Index: trunk/src_plugins/export_bom/bom.c =================================================================== --- trunk/src_plugins/export_bom/bom.c (revision 1956) +++ trunk/src_plugins/export_bom/bom.c (revision 1957) @@ -502,6 +502,15 @@ PrintBOM(); } +static int bom_usage(char *topic) +{ + fprintf(stderr, "\nbom exporter command line arguments:\n\n"); + hid_usage(bom_options, sizeof(bom_options) / sizeof(bom_options[0])); + fprintf(stderr, "\nUsage: pcb-rnd [generic_options] -x bom foo.pcb [bom_options]\n\n"); + return 0; +} + + static void bom_parse_arguments(int *argc, char ***argv) { hid_register_attributes(bom_options, sizeof(bom_options) / sizeof(bom_options[0]), bom_cookie, 0); @@ -525,6 +534,8 @@ bom_hid.do_export = bom_do_export; bom_hid.parse_arguments = bom_parse_arguments; + bom_hid.usage = bom_usage; + hid_register_hid(&bom_hid); return NULL; } Index: trunk/src_plugins/export_gcode/gcode.c =================================================================== --- trunk/src_plugins/export_gcode/gcode.c (revision 1956) +++ trunk/src_plugins/export_gcode/gcode.c (revision 1957) @@ -860,6 +860,14 @@ { } +static int gcode_usage(char *topic) +{ + fprintf(stderr, "\ngcode exporter command line arguments:\n\n"); + hid_usage(gcode_attribute_list, sizeof(gcode_attribute_list) / sizeof(gcode_attribute_list[0])); + fprintf(stderr, "\nUsage: pcb-rnd [generic_options] -x gcode foo.pcb [gcode options]\n\n"); + return 0; +} + /* *** Miscellaneous ******************************************************* */ #include "dolists.h" @@ -900,6 +908,8 @@ gcode_hid.calibrate = gcode_calibrate; gcode_hid.set_crosshair = gcode_set_crosshair; + gcode_hid.usage = gcode_usage; + hid_register_hid(&gcode_hid); return NULL; Index: trunk/src_plugins/export_gerber/gerber.c =================================================================== --- trunk/src_plugins/export_gerber/gerber.c (revision 1956) +++ trunk/src_plugins/export_gerber/gerber.c (revision 1957) @@ -1166,6 +1166,14 @@ CRASH; } +static int gerber_usage(char *topic) +{ + fprintf(stderr, "\ngerber exporter command line arguments:\n\n"); + hid_usage(gerber_options, sizeof(gerber_options) / sizeof(gerber_options[0])); + fprintf(stderr, "\nUsage: pcb-rnd [generic_options] -x gerber foo.pcb [gerber options]\n\n"); + return 0; +} + static void gerber_set_crosshair(int x, int y, int action) { } @@ -1201,6 +1209,7 @@ gerber_hid.fill_rect = gerber_fill_rect; gerber_hid.calibrate = gerber_calibrate; gerber_hid.set_crosshair = gerber_set_crosshair; + gerber_hid.usage = gerber_usage; hid_register_hid(&gerber_hid); return NULL; Index: trunk/src_plugins/export_lpr/lpr.c =================================================================== --- trunk/src_plugins/export_lpr/lpr.c (revision 1956) +++ trunk/src_plugins/export_lpr/lpr.c (revision 1957) @@ -114,6 +114,14 @@ static HID lpr_hid; +static int lpr_usage(char *topic) +{ + fprintf(stderr, "\nlpr exporter command line arguments:\n\n"); + hid_usage(base_lpr_options, sizeof(base_lpr_options) / sizeof(base_lpr_options[0])); + fprintf(stderr, "\nUsage: pcb-rnd [generic_options] -x lpr foo.pcb [lpr options]\n\n"); + return 0; +} + static void plugin_lpr_uninit(void) { hid_remove_actions_by_cookie(lpr_cookie); @@ -137,6 +145,8 @@ lpr_hid.parse_arguments = lpr_parse_arguments; lpr_hid.calibrate = lpr_calibrate; + lpr_hid.usage = lpr_usage; + hid_register_hid(&lpr_hid); return plugin_lpr_uninit;