Autor Beitrag
StefanH
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1144

Win XP
D5 Standard, D7 Pers, D2005 Pers
BeitragVerfasst: Fr 11.03.05 22:07 
Ja, ich weiß... es gibt sie wie Sand am Meer, aber ich wollte einen einfachen, sehr anpassungsfähigen Editor haben.

Nearja (der Name sollte eigentlich nur temporär sein, bis mir etwas gescheites eingefallen ist... ist noch nicht passiert :P) bietet u.a folgendes:

  • z.Zt 5 (HTML, CSS, JS, PHP, Delphi) Highlighter, die vom User selbst auf bestimmte Dateiendungen zugewiesen werden können (Optionen -> Highlightereinstellungen ( F8 ) -> Dateiverknüpfungen) und auch im Aussehen (ebenda -> Farben) verändert werden können.
  • das Übliche, was man z.B auch im Notepad findet
  • den einzigen "Luxus", den ich mir erlaubt habe: Anzeige der geöffneten Tags bei *.html, *.htm, *.php, Strg+T öffnet die Sonderzeichen-Tabelle, Strg+G fügt ein HTML4.01 Transitional - Grundgerüst ein.
  • vom User frei bearbeitbare Codecompletion

Erklärung:

Die Codecompletion ist - wie die Highlighter - dateiendung-abhängig. Nearja prüft ob es im Unterverzeichnis /dat eine Datei "cc.ENDUNG.cc" existiert und läd diese in die SynCompletionProposal - Komponente, wenn die Datei gefunden wurde.

Die *.cc-Datei ist wie folgt aufgebaut:
Die erste Zeile besteht aus Informationen für die SynCompletionProposal - Komponente, es werden 5 Spalten (durch | getrennt) erwartet, keine darf leer sein (also kein || in der Zeile!).
Die erste Spalte enthält die "EndOfToken"-Chars, also die Zeichen, die den markierten Code einfügen und nicht als zum-wort-gehörig betrachtet werden.
Die zweite beinhaltet die Trigger-Chars, die Zeichen, bei denen die Komponente sich öffnet.
In diesen zwei Spalten kann {0} als Leerstring angegeben werden.
Die dritte bis fünfte Spalte enthält das "BiggestWord" der drei Spalten der Komponente.

Ab der zweiten Zeile beginnt der Teil für die eigentliche Codecompletion. Jede Zeile ist gleich aufgebaut.
Am Anfang steht der einzufügende Code, gefolgt von einem doppelten Gleichzeichen ==. Hinter diesem steht der Text für die Anzeige, hier gelten die Formatierungsregeln von der SynCompletionProposal - Komponente:
ausblenden Zitat:
1:
2:
3:
4:
Command Identifier         Description                       Parameter
color                  Changes the font color                  Either a Delphi color identifier or a hexadecimal color value. (Pascal style) (In fact anything that the Delphi function StringToColor can parse)
style                  Changes the font style                  Either a "+", a "-" or a "~" followed by either "B", "I", "S" or "U" (for bold, italic, strike-out and underline). "+"/"-" switches the style on/off, while "~" toggles the specified font style.
column                 Marks the end of the current column     No parameters for this command.



:arrow: Nearja legt 2 Ini-Dateien im Programmverzeichnis an.

so. viel Spaß :D

:arrow: Neue Version: Rechtschreibfehler & AV entfernt ;)
:arrow: Neue Version: Den "Weitersuchen-Bug" entfernt, Verzeichnisse können "geöffnet" werden, "Springe-zu"-Dialog eingebaut
:arrow: Neue Version: maxk - BugFixes :P
Einloggen, um Attachments anzusehen!
_________________
"Als es noch keine Computer gab, war das Programmieren noch relativ einfach."(Edsger W. Dijkstra)
"Ich bin nicht von Sinnen, sondern ich rede wahre und vernünftige Worte." (Paulus)


Zuletzt bearbeitet von StefanH am Sa 23.04.05 16:11, insgesamt 3-mal bearbeitet
maxk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1696
Erhaltene Danke: 1

Win XP, Debian Lenny
Delphi 6 Personal
BeitragVerfasst: Sa 12.03.05 20:17 
Cool, so ein Programm wollte ich mir auch immer mal schreiben, weil ich mich vom Editor geplagt fühlt - Danke dafür :D
Was mit aufgefallen ist:

  • In den Editorfunktionen, hat sich bei Aktive Zeile einfärben ein Rechtschreibfehler eingeschlichen
  • Wenn ein Optionsfenster offen ist, macht Alt+Tab Probleme :(
  • Öffnet man eine Textdatei, deren Zeilen nur mit \n terminiert sind und speichert diese, wird automatisch ins Windowsformat umgewandelt - könntest du das noch ändern, damit ich auch meine Konfigurationsdateien einfach bearbeiten kann ;)
  • Optionen/Highleitereinstellungen/Neu/Abbrechen => Zugriffsverletzung
  • Ich habe eine .htm Datei geöffnet aber gehighlighted wird nichts (die Datei dats/cc.php.cc existiert jedoch) :(


Gruß,
maxk

_________________
Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.
StefanH Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1144

Win XP
D5 Standard, D7 Pers, D2005 Pers
BeitragVerfasst: Sa 12.03.05 21:38 
user profile iconmaxk hat folgendes geschrieben:
Cool, so ein Programm wollte ich mir auch immer mal schreiben, weil ich mich vom Editor geplagt fühlt - Danke dafür :D

kp ;-)
user profile iconmaxk hat folgendes geschrieben:
Was mit aufgefallen ist:

  • In den Editorfunktionen, hat sich bei Aktive Zeile einfärben ein Rechtschreibfehler eingeschlichen

oh, danke... kommt vom schnellen Schreiben :roll:
user profile iconmaxk hat folgendes geschrieben:
  • Wenn ein Optionsfenster offen ist, macht Alt+Tab Probleme :(

  • bei mir nicht... was passiert denn genau?
    user profile iconmaxk hat folgendes geschrieben:
  • Öffnet man eine Textdatei, deren Zeilen nur mit \n terminiert sind und speichert diese, wird automatisch ins Windowsformat umgewandelt - könntest du das noch ändern, damit ich auch meine Konfigurationsdateien einfach bearbeiten kann ;)


  • user profile iconmaxk hat folgendes geschrieben:
  • Optionen/Highleitereinstellungen/Neu/Abbrechen => Zugriffsverletzung

  • ui... wird gefixed, danke :D
    user profile iconmaxk hat folgendes geschrieben:
  • Ich habe eine .htm Datei geöffnet aber gehighlighted wird nichts (die Datei dats/cc.php.cc existiert jedoch) :(

  • 1. müsste das "dat" heißen und außerdem nur die Codecompletion für .php steuern :D
    2. F7-> Neu, Endung: .htm und Highlter: html+<style type="text/css">|css|</style>+<script|javascript|</script>

    _________________
    "Als es noch keine Computer gab, war das Programmieren noch relativ einfach."(Edsger W. Dijkstra)
    "Ich bin nicht von Sinnen, sondern ich rede wahre und vernünftige Worte." (Paulus)
    maxk
    ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
    Beiträge: 1696
    Erhaltene Danke: 1

    Win XP, Debian Lenny
    Delphi 6 Personal
    BeitragVerfasst: Mi 23.03.05 23:48 
    Sry, diesmal hat es etwas länger gedauert :(
    user profile iconStefanH hat folgendes geschrieben:
    user profile iconmaxk hat folgendes geschrieben:
    [*]Wenn ein Optionsfenster offen ist, macht Alt+Tab Probleme :(

    bei mir nicht... was passiert denn genau?
    Wenn ich Alt+ (einmal) TAB benutze, dass ploppt kurz das Fenster-Fenster auf uns aktiviert anschließend sofort wieder dein Programm. Ich muss Alt+(zweimal) Tab benutzen, um den gewünschten Effekt zu erziehlen. Sry, aber besser kann ich es nicht beschreiben :(
    Zitat:
    user profile iconmaxk hat folgendes geschrieben:
    [*]Ich habe eine .htm Datei geöffnet aber gehighlighted wird nichts (die Datei dats/cc.php.cc existiert jedoch) :(
    [/list]

    1. müsste das "dat" heißen und außerdem nur die Codecompletion für .php steuern :D
    2. F7-> Neu, Endung: .htm und Highlter: html+<style type="text/css">|css|</style>+<script|javascript|</script>
    Sry, aber das ist zu kompliziert (und ich würde mich nicht unbedingt als DAU bezeichnen ;)). Da sollstest du dir etwas ausdenken, was die Sache einfacher macht. Der Fehler oben mit .htm und .php war übrigens nicht wirklich ein Anwenderfehler, sondern nur ein Tippfehler. Warum muss das .dat hei0ßen? Die Dateien in deinem Archiv heißen alle .cc

    Gruß,
    maxk

    _________________
    Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.
    StefanH Threadstarter
    ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
    Beiträge: 1144

    Win XP
    D5 Standard, D7 Pers, D2005 Pers
    BeitragVerfasst: Do 24.03.05 11:47 
    user profile iconmaxk hat folgendes geschrieben:
    Wenn ich Alt+ (einmal) TAB benutze, dass ploppt kurz das Fenster-Fenster auf uns aktiviert anschließend sofort wieder dein Programm. Ich muss Alt+(zweimal) Tab benutzen, um den gewünschten Effekt zu erziehlen. Sry, aber besser kann ich es nicht beschreiben


    hm... wenn ich alt+tab drücke, und alt gedrückt lasse, bleibt der Kasten bei meinem Programm.. kA warum :shock:

    Zitat:
    Sry, aber das ist zu kompliziert (und ich würde mich nicht unbedingt als DAU bezeichnen ;)). Da sollstest du dir etwas ausdenken, was die Sache einfacher macht. Der Fehler oben mit .htm und .php war übrigens nicht wirklich ein Anwenderfehler, sondern nur ein Tippfehler. Warum muss das .dat hei0ßen? Die Dateien in deinem Archiv heißen alle .cc


    ich finde das nicht kompliziert: ich habe eine Endung ".htm". DIe braucht einen Standard-Highlighter: "html". dann wollen wir auch noch, dass CSS zwischen <style type="text/css"> und </style> auch asl CSS gehighlighted wird: "+<style type="text/css">|css|</style>" und dann noch das ganze mit JS: "+<script|javascript|</script>".
    Das, was also in die Highlighterspalte rein muss ist also:
    Zitat:
    html+<style type="text/css">|css|</style>+<script|javascript|</script>


    steht doch auch drüber, ich dachte es sei verständlich :?

    Zitat:
    Warum muss das .dat hei0ßen? Die Dateien in deinem Archiv heißen alle .cc


    nicht .dat, das Verzeichnis muss "dat" heißen. und die dateien steuern, wie gesagt nur die Codecompletion (Strg+Leertaste)

    hoffe, es wird etz klar :D

    Stefan
    Einloggen, um Attachments anzusehen!
    _________________
    "Als es noch keine Computer gab, war das Programmieren noch relativ einfach."(Edsger W. Dijkstra)
    "Ich bin nicht von Sinnen, sondern ich rede wahre und vernünftige Worte." (Paulus)
    maxk
    ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
    Beiträge: 1696
    Erhaltene Danke: 1

    Win XP, Debian Lenny
    Delphi 6 Personal
    BeitragVerfasst: So 27.03.05 13:36 
    Gut, ich verwende deinen Editor inzwischen als Notepadersatz und dabei sind mir noch einige Sachen aufgefallen:
    • Übergibt man dem Programm einen Dateinamen, der nicht existiert, erhält man eine Fehlermeldung und die Datei wird geöffnet (also leere Datei im Editor). Hier wäre ähnlich wie im Editor eine Meldung schön "Datei existiert nicht. Erstellen?"
    • Übergibt man den Parameter C:\??.txt, so kann man nach belieben Text schreiben. Beim Speichern kommt logischerweise eine Fehlermeldung. Es wäre schön, wenn schon beim Öffnen des Programms überprüft wird, ob der Dateiname gültig ist.
      Noch besser wäre natürlich, wenn Nearja die Platzhalter erkennen würde und alle Dateien öffnen würde, die zu dem Namen passen - schließlich ist es ja eine MDI Anwendung.
    • Übergibt man statt eines Dateinamens ein Verzeichnis, kommt (logischerweise eine Fehlermeldung). Tippt man dann nur ein Zeichen, kriegt man lauter Zugriffsverletzungen (ich glaube Endlosschleife).
      Auch hier wäre es schön, wenn das Programme alle Dateien in dem Verzeichnis laden würde.
    • Nochmal Parameter: Startet man das Programm mit übergebenem Parameter, so sollte das MDI-Child maximiert werden.
    • Es sollte eine Funktion (Strg+G) geben, mit der man direkt in eine Zeile x springen kann (vgl. Notepad, bei ausgeschalteter "Automatischer Umbruch" Funktion).
    • Ein kleiner Designfehler: Ein maximiertes MDI-Child hat Probleme mit dem Icon des Fenster (neben Mainmenu) - es wird der Hintergrund nicht transparent dargestellt.
    • Mit dem Highlighting habe ich immernoch Probleme (kappiert habe ich es jedoch inzwischen ;)). Ich habe folgenden Eintrag erstellt: .php => html+<?php|php|?>
      Wenn ich nun aber eine Datei öffne, so erhalte ich eine Fehlermeldung :(. Wenn ich nur die ? in den PHP-Tags weglassen, dann klappt es.


    Gruß,
    maxk

    PS: Die Codecompletion ist ne schöne Sache :D

    _________________
    Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.
    StefanH Threadstarter
    ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
    Beiträge: 1144

    Win XP
    D5 Standard, D7 Pers, D2005 Pers
    BeitragVerfasst: Mo 04.04.05 16:41 
    So, nach der Zwangspause (Mainboard futsch) meld ich mich wieder:

    das mit den Parametern werd ich überarbeiten :D
    das mit dem Springen hab ich hier schon in meiner Version offline schon drin :P
    und bei den Highlightern sind das RegEx, du musst also die ? \escapen. :D

    Stefan

    hrmpf... ich muss Delphi noch installieren :o

    _________________
    "Als es noch keine Computer gab, war das Programmieren noch relativ einfach."(Edsger W. Dijkstra)
    "Ich bin nicht von Sinnen, sondern ich rede wahre und vernünftige Worte." (Paulus)
    StefanH Threadstarter
    ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
    Beiträge: 1144

    Win XP
    D5 Standard, D7 Pers, D2005 Pers
    BeitragVerfasst: Sa 16.04.05 10:54 
    sooo... da ist die neue Version!

    Springen kann man nun, wenn man doppelt auf die Zeilenanzeige klickt,
    und wenn man Nearja nun einen Ordner als Parameter übergibt, öffnet er alle Dateien darinnen. wenn man sowas wie "C:\blubb\*.htm" übergibt, öffnet er alle .htms in C:\blubb\ :)

    _________________
    "Als es noch keine Computer gab, war das Programmieren noch relativ einfach."(Edsger W. Dijkstra)
    "Ich bin nicht von Sinnen, sondern ich rede wahre und vernünftige Worte." (Paulus)
    maxk
    ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
    Beiträge: 1696
    Erhaltene Danke: 1

    Win XP, Debian Lenny
    Delphi 6 Personal
    BeitragVerfasst: Di 19.04.05 19:54 
    Super, das kommt gleich nach C:\Programme\Nearja ;)
    Aber ich habe inzwischen wieder was gefunden:
    • Parameter: *.* (oder auch *.sys) führt zu Problemem (Fehler beim Erstellen des Kindfensters)
    • Die Option "Tabs durch Leerzeichen ausdrücken" lässt sich in den Optionen nicht deaktivieren => wird nicht gespeichert
    • Nochmal die Bitte: Wenn eine Datei nicht existiert, fragen, ob sie erstellen werden soll. Ich (ich denke andere auch) arbeite wirklich gerne mit dieser Möglichkeit der Dateierstellung.
    • Springen sollte auch über den Hotkey Strg+G erreichbar sein, damit man nicht ständig zur Maus greifen muss ;)
    • Zitat:
      Ein kleiner Designfehler: Ein maximiertes MDI-Child hat Probleme mit dem Icon des Fenster (neben Mainmenu) - es wird der Hintergrund nicht transparent dargestellt.
      ;)
    • Mit dem Highlighten von PHP mittels <\?PHP habe ich immernoch Probleme. Vielleicht könntest du nochmal ein Beispiel geben oder (noch besser) das Escapen automatisieren.


    Gruß,
    maxk

    _________________
    Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.
    StefanH Threadstarter
    ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
    Beiträge: 1144

    Win XP
    D5 Standard, D7 Pers, D2005 Pers
    BeitragVerfasst: Di 19.04.05 21:53 
    user profile iconmaxk hat folgendes geschrieben:
    Parameter: *.* (oder auch *.sys) führt zu Problemem (Fehler beim Erstellen des Kindfensters)


    hrm. werd ich mir anguggen.

    user profile iconmaxk hat folgendes geschrieben:
    Die Option "Tabs durch Leerzeichen ausdrücken" lässt sich in den Optionen nicht deaktivieren => wird nicht gespeichert

    wird geändert. :D

    user profile iconmaxk hat folgendes geschrieben:
    Nochmal die Bitte: Wenn eine Datei nicht existiert, fragen, ob sie erstellen werden soll. Ich (ich denke andere auch) arbeite wirklich gerne mit dieser Möglichkeit der Dateierstellung.

    hatte ich überlesen... :? wird gemacht :D

    user profile iconmaxk hat folgendes geschrieben:
    Springen sollte auch über den Hotkey Strg+G erreichbar sein, damit man nicht ständig zur Maus greifen muss ;)

    nagutnagut, ich werd aber Alt+Str+G verwenden, damit die SynEdit-Keystrokes nicht beeinflusst werden. (Bei den Hotkeys für die Sonderzeichentabelle und das Gründgerüst ist auch schon ein Alt dazu gekommen.)

    user profile iconmaxk hat folgendes geschrieben:
    Zitat:
    Ein kleiner Designfehler: Ein maximiertes MDI-Child hat Probleme mit dem Icon des Fenster (neben Mainmenu) - es wird der Hintergrund nicht transparent dargestellt.

    ich weiß nicht, woran das liegt. tut mir leid.

    user profile iconmaxk hat folgendes geschrieben:
    Mit dem Highlighten von PHP mittels <\?PHP habe ich immernoch Probleme. Vielleicht könntest du nochmal ein Beispiel geben oder (noch besser) das Escapen automatisieren.


    hm.. ich hab bei .php html+<\?|php|\?>+<style type="text/css">|css|</style>+<script|javascript|</script> stehen, das funktioniert ohne Probleme.

    Stefan

    _________________
    "Als es noch keine Computer gab, war das Programmieren noch relativ einfach."(Edsger W. Dijkstra)
    "Ich bin nicht von Sinnen, sondern ich rede wahre und vernünftige Worte." (Paulus)
    StefanH Threadstarter
    ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
    Beiträge: 1144

    Win XP
    D5 Standard, D7 Pers, D2005 Pers
    BeitragVerfasst: Sa 23.04.05 16:11 
    ich hoffe, alle Bugs sind jetzt weq :roll:

    _________________
    "Als es noch keine Computer gab, war das Programmieren noch relativ einfach."(Edsger W. Dijkstra)
    "Ich bin nicht von Sinnen, sondern ich rede wahre und vernünftige Worte." (Paulus)
    maxk
    ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
    Beiträge: 1696
    Erhaltene Danke: 1

    Win XP, Debian Lenny
    Delphi 6 Personal
    BeitragVerfasst: Sa 23.04.05 17:11 
    Ich habe wieder was :mrgreen:

    Wenn ich als Parameter C:\*.* übergebe, gehen drei Dateien auf (2x.log, 1x.sys). Wenn ich aber C:\*.sys übergebe, geht nichts auf (Datei hat nur das Attribut Archiv gesetzt). A propos Attribute, warum öffnet Nearja bei der Angabe von *.* nicht die boot.ini (Versteckt). Auch wäre es schön, wenn man schreigeschützte Dateien (nach Sicherheitsabfrage) trotzdem speichern könnte (das nervt mich z.B. bei Notepad ;)).

    Gruß,
    maxk

    _________________
    Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.
    jakobwenzel
    ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
    Beiträge: 1889
    Erhaltene Danke: 1

    XP home, ubuntu
    BDS 2006 Prof
    BeitragVerfasst: Sa 23.07.05 13:29 
    Wäre schön, wenn der Highlighter automatisch schon beim Installieren die Einstellungen hätte.

    _________________
    I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
    StefanH Threadstarter
    ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
    Beiträge: 1144

    Win XP
    D5 Standard, D7 Pers, D2005 Pers
    BeitragVerfasst: Sa 23.07.05 13:41 
    user profile iconjakobwenzel hat folgendes geschrieben:
    Wäre schön, wenn der Highlighter automatisch schon beim Installieren die Einstellungen hätte.


    Ich werde demnächst eine neue Version rausbringen, da kann ich das einbauen, find ich gut ;)

    _________________
    "Als es noch keine Computer gab, war das Programmieren noch relativ einfach."(Edsger W. Dijkstra)
    "Ich bin nicht von Sinnen, sondern ich rede wahre und vernünftige Worte." (Paulus)