1from Prophet.Legacy import App as _App, ConsoleApp as _ConsoleApp, X11App as _X11App
2from Keywords import Keyword as Kw, Set as KwS
3from Prophet.Categories import *
4
5X_HTML = Kw("X-HTML")
6
7
8class asWedit(_App, _X11App):
9    name = "asWedit"
10    comment = "Advanced HTML editor"
11    keywords = KwS(TextEditor, X_HTML)
12
13
14class beaver(_App, _X11App):
15    name = "Beaver"
16    comment = "A programmer's editor"
17    keywords = KwS(TextEditor, Development, GTK)
18
19
20class bluefish(_App, _X11App):
21    name = "BlueFish"
22    comment = "Advanced HTML editor and web publishing application"
23    keywords = KwS(TextEditor, Development, GNOME, X_HTML)
24
25
26class cooledit(_App, _X11App):
27    name = "CoolEdit"
28    comment = "X11 text editor"
29    keywords = KwS(TextEditor)
30
31
32class cute(_App, _X11App):
33    name = "Cute"
34    comment = "User-friendly editor with syntax hilighting"
35    keywords = KwS(TextEditor, Qt)
36
37
38class ee(_App, _ConsoleApp):
39    name = "Easy Editor"
40    comment = "Standard FreeBSD text editor"
41    keywords = KwS(TextEditor, Core)
42
43    def valid(self, pfx, exe):
44        import os.path
45        if os.path.isfile(os.path.join(pfx, "share/misc/init.ee")):
46            return super(ee, self).valid(pfx, exe)
47        else:
48            return False
49
50
51class elvis(_App, _ConsoleApp):
52    name = "Elvis"
53    comment = "Vi compatible editor"
54    keywords = KwS(TextEditor)
55
56
57class emacs(_App, _ConsoleApp):  # FIXME : make this versioned
58    name = "Emacs"
59    comment = "A powerful text editing environment"
60    keywords = KwS(TextEditor)
61
62# TODO : jedit, jext
63
64
65class jed(_App, _ConsoleApp):
66    name = "Jed"
67    comment = "Simple text editor"
68    keywords = KwS(TextEditor)
69
70
71class joe(_App, _ConsoleApp):
72    name = "Joe"
73    comment = "Joe's own editor"
74    keywords = KwS(TextEditor)
75
76
77class jove(_App, _ConsoleApp):
78    name = "Jove"
79    comment = "Emacs-like text editor"
80    keywords = KwS(TextEditor)
81
82
83class gvim(_App, _X11App):
84    name = "GVim"
85    comment = "X11 version of Vim, a Vi clone"
86    keywords = KwS(TextEditor)
87
88
89class gxedit(_App, _X11App):
90    name = "GXedit"
91    comment = "Simple X11 text editor"
92    keywords = KwS(TextEditor, GTK)
93
94# TODO : mp
95
96
97class nano(_App, _ConsoleApp):
98    name = "Nano"
99    comment = "Simple text editor"
100    keywords = KwS(TextEditor)
101
102
103class nedit(_App, _X11App):
104    name = "Nedit"
105    comment = "Advanced X11 text editor"
106    keywords = KwS(TextEditor, Motif)
107
108
109class pico(_App, _ConsoleApp):
110    name = "Pico"
111    comment = "A Nano text editor clone"
112    keywords = KwS(TextEditor)
113
114
115class screem(_App, _X11App):
116    name = "Screem"
117    comment = "Advanced HTML editor"
118    keywords = KwS(TextEditor, GTK, X_HTML)  # FIXME : GTK???
119
120
121class vi(_App, _ConsoleApp):
122    name = "Vi"
123    comment = "Standard UNIX text editor"
124    keywords = KwS(TextEditor, Core)
125
126
127class vile(_App, _ConsoleApp):
128    name = "Vile"
129    comment = "Vi clone"
130    keywords = KwS(TextEditor)
131
132
133class vim(_App, _ConsoleApp):
134    name = "Vim"
135    comment = "Vi clone"
136    keywords = KwS(TextEditor)
137
138
139class we(_App, _ConsoleApp):  # FIXME : generic name, additional checks needed
140    name = "We"
141    comment = "Console version of Xwpe text editor"
142    keywords = KwS(TextEditor, Development)
143
144
145class xedit(_App, _X11App):
146    name = "Xedit"
147    comment = "Standard X11 text editor"
148    keywords = KwS(TextEditor, Core)
149
150
151class xemacs(_App, _X11App):  # FIXME : make this versioned
152    name = "Xemacs"
153    comment = "X11 version of Emacs"
154    keywords = KwS(TextEditor)
155
156
157class xjed(_App, _X11App):
158    name = "Xjed"
159    comment = "X11 version of Jed"
160    keywords = KwS(TextEditor)
161
162
163class xwe(_App, _X11App):
164    name = "Xwe"
165    comment = "X11 version of Xwpe text editor"
166    keywords = KwS(TextEditor, Development)
167
168
169class yudit(_App, _X11App):
170    name = "Yudit"
171    comment = "X11 unicode text editor"
172    keywords = KwS(TextEditor)
173
174# TODO : yzis
175