1import os.path 2import Prophet 3 4from Prophet.Legacy import App as _App, ZeroG as _ZeroG, DropIn as _DropIn, ConsoleApp as _ConsoleApp, X11App as _X11App 5from Keywords import Keyword as Kw, Set as KwS 6from Prophet.Categories import * 7 8 9class cforge(_App, _X11App): 10 name = "CForge IDE" 11 comment = "Code Forge IDE" 12 keywords = KwS(Development, IDE) # Qt, Motif ??? 13 14 15class ddd(_App, _X11App): 16 name = "DDD debugger" 17 comment = "X11 Display Data Debugger" 18 keywords = KwS(Development, Debugger, Motif) 19 20 21class eclipse(_DropIn, _X11App): 22 name = "Eclipse" 23 comment = "Eclipse Java IDE" 24 keywords = KwS(Development, Debugger, Java, GTK) 25 26 def relevant(self, path): 27 if Prophet.isExe(os.path.join(path, "eclipse")): 28 raise eclipse.StopDescention(path) 29 30 31class eric3(_App, _X11App): 32 name = "Eric IDE" 33 comment = "Python IDE for X11" 34 keywords = KwS(Development, IDE) 35 36 37class estudio(_App, _X11App): 38 name = "EiffelStudio" 39 comment = "EiffelStudio IDE" 40 keywords = KwS(Development, IDE, Debugger) 41 42 def getPrefixes(self): 43 return super( 44 estudio, 45 self).getPrefixes() + "$ISE_EIFFEL/studio/spec/$ISE_PLATFORM" 46 47 48# TODO : Komodo 49 50class jbuilder(_ZeroG, _X11App): 51 name = "JBuilder" 52 magic = ".*?Borland\sJBuilder.*?" 53 comment = "Borland JBuilder IDE" 54 keywords = KwS(Development, IDE, GUIDesigner, Java) 55 56 57class fluid(_App, _X11App): 58 name = "Fluid" 59 comment = "FLTK interface builder" 60 keywords = KwS(Development, IDE, GUIDesigner) 61 62 63# FIXME : name's pretty generic, name clash possible 64class fp(_App, _ConsoleApp): 65 name = "FreePascal" 66 comment = "Standart IDE for the FreePascal" 67 keywords = KwS(Development, IDE, Core) 68 69 70class gdb(_App, _ConsoleApp): 71 name = "GDB" 72 comment = "Standard GNU debugger" 73 keywords = KwS(Development, Debugger, Core) 74 75 76class idb(_App, _ConsoleApp): 77 name = "IDB" 78 comment = "Intel debugger" 79 keywords = KwS(Development, Debugger) 80 81 82class idea(_ZeroG, _X11App): 83 exes = ["idea.sh", "idea"] 84 name = "IDEA" 85 magic = ".*?IntelliJ\sIDEA.*?" 86 comment = "IntelliJ IDEA IDE" 87 keywords = KwS(Development, IDE, GUIDesigner, Java) 88 89 90class kylix(_App, _X11App): 91 name = "Kylix" 92 comment = "Borland Delphi IDE for UNIX" 93 exes = ["startdelphi", "startkylix"] 94 keywords = KwS(Development, IDE, GUIDesigner, Debugger) 95 96 97class lazarus(_DropIn, _X11App): 98 name = "Lazarus" 99 comment = "Delphi-like FreePascal IDE" 100 keywords = KwS(Development, Debugger, GUIDesigner, GTK) 101 102 def relevant(self, path): 103 if Prophet.isExe(os.path.join(path, "lazarus")): 104 raise lazarus.StopDescention(path) 105 106 107class motor(_App, _ConsoleApp): 108 name = "Motor IDE" 109 comment = "Console IDE with Borland look&feel" 110 keywords = KwS(Development, IDE) 111 112 113class netbeans(_DropIn, _X11App): 114 name = "NetBeans" 115 comment = "NetBeans Java IDE" 116 keywords = KwS(Development, Debugger, Java, GTK) 117 118 def relevant(self, path): 119 if Prophet.isExe(os.path.join(path, "bin/netbeans")): 120 raise netbeans.StopDescention(path) 121 122 123class tkcvs(_App, _X11App): 124 name = "TkCVS" 125 comment = "X11 CVS frontend" 126 keywords = KwS(Development, RevisionControl) 127 128 129class ups(_App, _X11App): # FIXME : generic name 130 name = "UPS" 131 comment = "Native X11 debugger" 132 keywords = KwS(Development, Debugger) 133 134 135class wpe(_App, _ConsoleApp): 136 name = "WPE" 137 comment = "A text-mode Borland-like IDE" 138 keywords = KwS(Development, IDE) 139 140 141class xwpe(_App, _X11App): 142 name = "XWPE" 143 comment = "Borland-like IDE for X11" 144 keywords = KwS(Development, IDE) 145 146 147class xxgdb(_App, _X11App): 148 name = "XXGDB" 149 comment = "X11 GDB frontend" 150 keywords = KwS(Development, Debugger) 151