How to Extend Editor types for cvsClient
After you have installed cvsClient in some location, say,
CVSCLIENT/, copy the EditorTypes.java file
(see below) and place it into CVSCLIENT/cvs subdirectory.
After editing it, do the following:
setenv CLASSPATH CVSCLIENT
javac EditorTypes.java
Then run cvsClient and you should see your changes appear in the
Options->Define->Editor ... menu.
package cvs;
/*
* EditorTypes provides a means to define editor "types"
*/
class EditorTypes {
public static int defaultType = 7;
public ContentEditor[] etype = new ContentEditor[8];
/*
Here is how you should use this class:
Make sure the size of etype (see array above) matches the number of
editor types you will be defining. Then start adding new types as
follows:
etype[++e] = new ContentEditor("type of editor","file extensions");
etype[e].addEditor("/an/editor/program possibly-with-args");
etype[e].addEditor("andMaybeAnotherOne");
...
etype[e].setEditor(indexOfDefaultEditorOfThisType);
That's all! Note that the order you list them below will be the
order that they appear in the scroll menu.
*/
public EditorTypes() {
int e=-1;
// audio editor
etype[++e] = new ContentEditor("audio","au snd");
etype[e].addEditor("/usr/bin/audioplay");
etype[e].addEditor("/usr/sbin/sfplay");
// etype[e].setEditor(0); // no default X audio player per se ...
// dvi (tex) editor
etype[++e] = new ContentEditor("dvi","dvi");
etype[e].addEditor("xdvi");
etype[e].addEditor("/usr/bin/X11/xterm -e dvips");
etype[e].setEditor(0);
// hypertext markup editor
etype[++e] = new ContentEditor("HTML","htm html");
etype[e].addEditor("/usr/bin/X11/xterm -e lynx");
etype[e].addEditor("netscape");
etype[e].addEditor("{text} {*}");
etype[e].setEditor(0);
// image editor
etype[++e] = new ContentEditor("image","gif jpg jpeg rgb xbm xpm");
etype[e].addEditor("xpaint");
etype[e].addEditor("xv");
etype[e].setEditor(1);
// matlab editor
etype[++e] = new ContentEditor("matlab","m");
etype[e].addEditor("{shell} -e matlab");
etype[e].addEditor("{text 2} {*}");
etype[e].setEditor(0);
// mpeg video editor
etype[++e] = new ContentEditor("mpeg video","mpeg mpg");
etype[e].addEditor("mpeg_play");
etype[e].setEditor(0);
// postscript editor
etype[++e] = new ContentEditor("postscript","eps ps");
etype[e].addEditor("ghostview");
etype[e].addEditor("{image 1} {*}");
etype[e].addEditor("{text} {*}");
etype[e].addEditor("xpsview");
etype[e].setEditor(0);
// note: "text" should be considered the "default" editor, and should
// accept anything not accepted by other editors
etype[++e] = new ContentEditor("text","txt c f java");
etype[e].addEditor("/usr/bin/X11/xedit");
etype[e].addEditor("/usr/bin/X11/xterm -e emacs -nw");
etype[e].addEditor("/usr/bin/X11/xterm -e vi");
etype[e].addEditor("emacs");
etype[e].addEditor("gnuclient");
etype[e].addEditor("xemacs");
etype[e].setEditor(0);
}
}