Op maandag 9 juli 2012 13:05:58 UTC+2 schreef Jean-Michel Pichavant het volgende: > Kruptein wrote: > > Hey I released a new version of my python-focused text-editor. > > you can download it at http://launchpad.net/deditor > > > > What is it? > > Deditor is aimed to be a text-editor which can be used as a basic > > text-editor as gedit or with the right plugins become a full-feature ide. > > I focus on making it a python specific editor but you can use it to edit > > other files as well. > > It is python specific because the plugin system that is used (DPlug) is > > written in python and thus all plugins are written in python. Also some of > > the plugins there is one plugin that comes bundled with deditor that adds > > some python specific features like code-analyzing, code-inspection, > > auto-completion etc. > > > > So plugins are the main core of the program you can disable and enable > > plugins at your will. The plugins that come bundled are made to increase > > the joy of programming. > > > > NOTICE that this I don't regard this as a stable product yet. There is no > > high risk in data loss and there are definitely no privacy concerns but you > > should still be aware that there are bugs/malfunctions and that you will > > encounter them. > > > > I hope some of you like it and if you don't try to give some constructive > > criticism :) > > > > > > Most changes in regard to previous release are under the hood. so existing > > users might not notice a lot. > > Also the customize plugin's second configuration tab: syntax highlighting > > is bugged try to avoid it :p > > > Good job. > > I have 2 question: > Aren't you reinventing the wheel ? > No way to use tabs for tabulation ??? (I'm CEO of the 'space haters club') > > Otherwise, I found this bug : > Start the editor, click twice on 'Analyse code', and you'll get a traceback. > I looked into the related code: > > def dUpdate(self, trig, value=None): > if trig == "tabclosed": > return self.tabClosed(value) > > def tabClosed(self, tab): > """Checks if the tab that is closing is a project""" > if tab.parentTab == None: > pass > > > Your method interfaces are quite inconsistent, I sense this is quite > global to your code: > > 1/ dUpdate has None as default value for 'value' > 2/ tab.parentTab will fail if tab is None > 3/ on the traceback you get from the bug above, a bool has been given, > bool has no parentTab. > > > Here are 2 advices: > > 1/ Default values are for the fool/weak/noob/..., your pick. I tend to > use them only for backward compatibilty or for interface stability. > Otherwise, it's better not to use them. Some people still use them > appropriately but in your I think it may help. > > 2/ In your docstrings, note down the expected type of your parameters > (only 1 type ! (except for the None alternative)) and stick to it. > > Regards, > > JM
To begin with not everything that I want to see is yet implemented. A lot still has to be done for example indentation although I really hate tabs ;D I will give the option in a future release maybe even the next one. I'll check the bug as it probably is indeed a bug. Regarding the default value dUpdate is a method from the plugin system and is called when a trigger is updated. some triggers give an additional value for example a trigger that registers pressed buttons could potentially give which exact key as value. However some triggers don't need this additional value. If a plugin needs both types of triggers the method will need this default value to work. Also the dev version already changed that there always will be sent a value so no need for the default value anymore. Regarding the docstrings: as deditor still is under heavy development not all docstrings are correct or even there. -- http://mail.python.org/mailman/listinfo/python-list