Portal > Foren > Datenbanken, Server, Betriebssysteme und sonstige Programmiersprachen > Tools, Server, Betriebssysteme > SimpleEdit > Nicht benötigte schließende Klammer wird automatisch hinzugefügt
Antwort
 
LinkBack Themen-Optionen Thema durchsuchen
Alt 16.07.2007, 16:55 Nach oben    #1
Ben
Erfahrener Benutzer
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Koblenz
Beiträge: 4.794
Standard Nicht benötigte schließende Klammer wird automatisch hinzugefügt

Hallo,
ich habe einen kleinen Fehler gefunden.

Wenn man einen Block mit geschweiften Klammern erstellt hat und beide Klammern existieren, also sowas hier
PHP-Code:
if(isset($var)) {

dann nochmal in die if-Zeile hinter die Klammer geht und auf ENTER drückt, wird eine neue schließende Klammer eingefügt, obwohl diese gar nicht benötigt wird.
Ist auch der Fall, wenn die öffnende Klammer unter dem if steht
PHP-Code:
if(isset($var)) 
{


Der Fehler ist reproduzierbar!

Ich nutze die Version Alpha 4.
__________________
Mehr TuS Koblenz geht nicht ... - TuS Koblenz Forum ... Benjamin Klaile ist noch in der Aufwärmphase
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.07.2007, 18:31 Nach oben    #2
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.365
Standard

Jopp.

Analyse an der Stelle ist'n bisschen schwierig, weil ich dazu die ganze Datei nach Klammern durchsuchen müsste. Aber das ganze einfach nur einzurücken find ich wiederum etwas zu wenig. So wie andere Editoren einfach direkt hinter eine eingegebene "{" eine "}" zu setzen halte ich aber auch für wenig sinnvoll.
Kurzum: Irgendeinen guter Vorschlag auf Lager? ;)

P.S.: Danke für's melden.
pago ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.07.2007, 18:57 Nach oben    #3
Ben
Erfahrener Benutzer
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Koblenz
Beiträge: 4.794
Standard

Ah, sorry.

Also ich hätte jetzt gedacht, dass das gar nicht so aufwendig wäre, da doch an der linken Seite (bei den Zeilennummern) auch angezeigt wird, welche öffnende zu welcher schließenden Klammer gehört.

Kannst du nicht prüfen, ob eine öffnende schon eine schließende hat und nur dann eine neue setzen?

Hm, ok.... merke gerade, dass man das ja auch aushebeln kann. Hm ..
__________________
Mehr TuS Koblenz geht nicht ... - TuS Koblenz Forum ... Benjamin Klaile ist noch in der Aufwärmphase
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.07.2007, 21:38 Nach oben    #4
Jonas
 
Benutzerbild von Artemis
 
Registriert seit: 03.06.2006
Beiträge: 331
Standard

Hmm, es dürfte aber nicht so aufwendig sein.

Was mir gerade einfällt. Bei PHPeclipse gab/gibt es diesen "Bug" auch. PDT macht es aber so wie erwünscht. Vielleicht kannst du dich da ja inspirieren?
__________________
Applikations-Programmierung:
BlitzMax, BlitzPlus

Webentwicklung:
PHP, (X)HTML, CSS, JavaScript, MySQL


Artemis ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.07.2007, 23:31 Nach oben    #5
Martin Eisengardt
 
Registriert seit: 30.03.2006
Ort: Pfinztal
Beiträge: 396
Standard

Zitat:
Zitat von Artemis Beitrag anzeigen
PDT macht es aber so wie erwünscht. Vielleicht kannst du dich da ja inspirieren?
Ne, gibt ein paar Sonderfälle, wo es das ebenfalls nicht korrekt hinbekommt
Zu SimpleEdit kann ich leider nix beitragen.
__________________
Open Sourcing the Online Gaming Universe (bald wieder)
PHP/SQL/Java/C++/Assembler.
Seit Jahren Mitglied und Entwickler in einem der wohl größten Java-Projekte der Welt: http://weblogs.java.net/blog/hansmul...e_desktop.html
Das Game Developer Consultant Team öffnet langsam seine Pforten
mepeisen ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.07.2007, 17:28 Nach oben    #6
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.365
Standard

Das Problem dabei ist im Prinzip, dass ich nen kompletten AST (Abstract Syntax Tree - Wikipedia, wenn's interessant klingt) brauche, d.h. ich muss das Teil parsen und gucken, wo syntaktisch die "}" fehlt - falls überhaupt eine fehlt.

Das heißt schonmal, dass ich das nicht generell für alle sinnvoll und brauchbar lösen kann. Ich kann natürlich ein paar Fälle dadurch abdecken, dass ich einfach die "{" und "}" zähle und nicht ergänze, wenn die Zahl identisch ist. Das hilft in ein paar Fällen, aber geht schon den Bach runter, wenn die Sprache, die man benutzt, Kommentare besitzt.

Für PHP im speziellen habe ich so einen AST zur Verfügung.
Jedenfalls sähe die Lösung so aus, dass ich den Parser drüberjage, die Fehlermeldungen analysiere (if missing token == "}"...), kontrolliere, ob die Positionen hinkommen könnten (gibt es zwischen der aktuellen Zeile und der fehlenden "}" keine einzige "{" ohne "}"?). Ich geh stark davon aus, dass ich selbst damit immer noch nicht alle Fälle abdecke.

Bin also etwas ratlos ob einer besseren (effizientieren, portableren) Lösung.


Wie ist denn die Meinung der Allgemeinheit zum Vorschlag, statt die "}" zu ergänzen, einfach nur bei "{" einzurücken und bei "}" eben uneinzurücken? Also so wie's bei jEdit ist.
pago ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.07.2007, 17:50 Nach oben    #7
Ben
Erfahrener Benutzer
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Koblenz
Beiträge: 4.794
Standard

Wie gesagt: Ne Lösung habe ich ja nicht, aber wenn PDT das jedenfalls teilweise realisiert hat, dann würd ich da auf jeden Fall mal reinschauen. ;)


Zitat:
Zitat von pago Beitrag anzeigen
Wie ist denn die Meinung der Allgemeinheit zum Vorschlag, statt die "}" zu ergänzen, einfach nur bei "{" einzurücken und bei "}" eben uneinzurücken? Also so wie's bei jEdit ist.
Kann mir gerade nicht ganz vorstellen, was du machen würdest.

Quasi wenn ich { eintippe wird im Quelltext eingerückt, aber keine } eingefügt?
Hm, nä. Das fänd ich auch nicht so wirklich toll.
__________________
Mehr TuS Koblenz geht nicht ... - TuS Koblenz Forum ... Benjamin Klaile ist noch in der Aufwärmphase
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus



Alle Zeitangaben in WEZ +1. Es ist jetzt 07:04 Uhr.


Powered by vBulletin® Version 3.8.4 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.3.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47