Path: csiph.com!usenet.pasdenom.info!gegeweb.org!de-l.enfer-du-nord.net!feeder1.enfer-du-nord.net!feeds.phibee-telecom.net!newsfeed.xs4all.nl!newsfeed6.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.000 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'python.': 0.02; 'syntax': 0.03; '(except': 0.05; 'none:': 0.05; 'url:launchpad': 0.05; 'bug.': 0.07; 'dev': 0.07; 'python': 0.09; 'anymore.': 0.09; 'bool': 0.09; 'buttons': 0.09; 'docstrings': 0.09; 'given,': 0.09; 'highlighting': 0.09; 'implemented.': 0.09; 'tab': 0.09; 'to:addr:comp.lang.python': 0.09; 'bug': 0.10; 'cc:addr:python- list': 0.10; 'looked': 0.10; 'def': 0.10; 'yet.': 0.13; 'interfaces': 0.15; 'value.': 0.15; '"""checks': 0.16; "(i'm": 0.16; 'backward': 0.16; 'editor,': 0.16; 'pressed': 0.16; 'stability.': 0.16; 'tabs': 0.16; 'traceback.': 0.16; 'value=none):': 0.16; 'wrote:': 0.17; 'tend': 0.17; 'changes': 0.20; 'otherwise,': 0.20; 'parameters': 0.20; 'written': 0.20; 'hey': 0.21; 'disable': 0.22; 'stick': 0.22; 'help.': 0.22; 'example': 0.23; 'work.': 0.23; 'thus': 0.24; 'cc:no real name:2**0': 0.24; 'second': 0.24; 'cc:2**1': 0.24; 'pass': 0.25; 'cc:addr:python.org': 0.25; 'header:In-Reply-To:1': 0.25; 'header :User-Agent:1': 0.26; 'values': 0.26; 'cc:addr:gmail.com': 0.27; 'core': 0.27; '???': 0.27; 'interface': 0.27; 'there.': 0.28; 'correct': 0.28; 'indentation': 0.29; 'lot.': 0.29; 'question:': 0.29; 'trigger': 0.29; 'probably': 0.29; 'maybe': 0.29; 'related': 0.30; 'basic': 0.30; 'sense': 0.31; 'could': 0.32; "aren't": 0.33; 'traceback': 0.33; 'code:': 0.33; 'version': 0.34; 'changed': 0.34; 'received:google.com': 0.34; 'loss': 0.34; 'done': 0.34; 'adds': 0.35; 'fail': 0.35; 'programming.': 0.35; 'stable': 0.35; 'expected': 0.35; 'received:209.85': 0.35; 'there': 0.35; 'next': 0.35; 'really': 0.36; 'but': 0.36; 'closing': 0.36; 'method': 0.36; "i'll": 0.36; 'should': 0.36; 'editor': 0.37; 'option': 0.37; 'previous': 0.37; 'quite': 0.37; 'received:209': 0.37; 'received:209.85.216': 0.37; 'well.': 0.37; 'data': 0.37; 'subject:: ': 0.38; 'files': 0.38; 'some': 0.38; 'release': 0.39; 'notice': 0.39; 'called': 0.39; 'think': 0.40; 'enable': 0.60; 'your': 0.60; 'most': 0.61; 'high': 0.61; "you'll": 0.62; 'making': 0.64; 'here': 0.65; 'become': 0.65; 'privacy': 0.65; 'concerns': 0.65; 'joy': 0.65; 'risk': 0.66; 'potentially': 0.66; 'increase': 0.72; 'click': 0.76; 'heavy': 0.83; 'plugins': 0.84; 'received:209.85.216.184': 0.84; 'trig': 0.84; 'wheel': 0.84; 'hate': 0.93 Newsgroups: comp.lang.python Date: Mon, 9 Jul 2012 04:28:49 -0700 (PDT) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=81.83.162.247; posting-account=9-In_woAAACDnDFyCeZyZytl1ttJ-5Gp References: User-Agent: G2/1.0 X-Google-Web-Client: true X-Google-IP: 81.83.162.247 MIME-Version: 1.0 Subject: Re: Deditor 0.4.0 From: Kruptein To: comp.lang.python@googlegroups.com Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: Kruptein , python-list@python.org X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Message-ID: Lines: 97 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1341833332 news.xs4all.nl 6899 [2001:888:2000:d::a6]:41105 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:25078 Op maandag 9 juli 2012 13:05:58 UTC+2 schreef Jean-Michel Pichavant het vol= gende: > 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 edi= t 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 o= f the plugins there is one plugin that comes bundled with deditor that adds= some python specific features like code-analyzing, code-inspection, auto-c= ompletion 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 t= he 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 wi= ll encounter them. > > > > I hope some of you like it and if you don't try to give some constructi= ve criticism :) > > > > > > Most changes in regard to previous release are under the hood. so exis= ting users might not notice a lot. > > Also the customize plugin's second configuration tab: syntax highlighti= ng is bugged try to avoid it :p > > =20 > Good job. >=20 > 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'= ) >=20 > Otherwise, I found this bug : > Start the editor, click twice on 'Analyse code', and you'll get a traceba= ck. > I looked into the related code: >=20 > def dUpdate(self, trig, value=3DNone): > if trig =3D=3D "tabclosed": > return self.tabClosed(value) >=20 > def tabClosed(self, tab): > """Checks if the tab that is closing is a project""" > if tab.parentTab =3D=3D None: > pass >=20 >=20 > Your method interfaces are quite inconsistent, I sense this is quite=20 > global to your code: >=20 > 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,=20 > bool has no parentTab. >=20 >=20 > Here are 2 advices: >=20 > 1/ Default values are for the fool/weak/noob/..., your pick. I tend to=20 > use them only for backward compatibilty or for interface stability.=20 > Otherwise, it's better not to use them. Some people still use them=20 > appropriately but in your I think it may help. >=20 > 2/ In your docstrings, note down the expected type of your parameters=20 > (only 1 type ! (except for the None alternative)) and stick to it. >=20 > Regards, >=20 > 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 valu= e for example a trigger that registers pressed buttons could potentially gi= ve which exact key as value. However some triggers don't need this additio= nal value. If a plugin needs both types of triggers the method will need t= his 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 a= ll docstrings are correct or even there.