Layoutprobleme? - Styleswitcher!
![]() |
| | Themen-Optionen |
| | Nach oben #1 |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 3.812
| 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: Ist auch der Fall, wenn die öffnende Klammer unter dem if steht PHP-Code: Der Fehler ist reproduzierbar! Ich nutze die Version Alpha 4. |
| | |
| | Nach oben #2 |
| Erfahrener Benutzer Registriert seit: 30.11.2005 Ort: Bottrop
Beiträge: 996
| 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. |
| | |
| | Nach oben #3 |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 3.812
| 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 .. |
| | |
| | Nach oben #4 |
| Jonas Registriert seit: 03.06.2006
Beiträge: 226
| 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 |
| | |
| | Nach oben #5 | |
| Martin Eisengardt Registriert seit: 30.03.2006 Ort: Pfinztal
Beiträge: 353
| Zitat:
Zu SimpleEdit kann ich leider nix beitragen.
__________________ Open Sourcing the Online Gaming Universe 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 | |
| | |
| | Nach oben #6 |
| Erfahrener Benutzer Registriert seit: 30.11.2005 Ort: Bottrop
Beiträge: 996
| 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. |
| | |
| | Nach oben #7 | |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 3.812
| 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:
Quasi wenn ich { eintippe wird im Quelltext eingerückt, aber keine } eingefügt? Hm, nä. Das fänd ich auch nicht so wirklich toll. | |
| | |
![]() |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
| |
Alle Zeitangaben in WEZ +2. Es ist jetzt 20:00 Uhr.
Nach oben






