Javascript Editor einbinden

Begonnen von papa, 18 Februar 2014, 20:30:04

Vorheriges Thema - Nächstes Thema

rapster


P.A.Trick

Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

betateilchen

Zitat von: igami am 27 Oktober 2015, 12:46:40
Text Folding. Könnte man das noch einbauen?

Bitte nicht noch mehr Zeugs einbauen, das ein Großteil der Nutzer nicht braucht.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rapster

#363
@Betateilchen,
Den Fall habe ich schon bedacht, bin auch noch nicht mit dem fhem_codemirror Umbau fertig :)

Kommt noch wenn Funktionen in codemirrorParam deaktiviert wurden, z.B. {"autoCloseBrackets":false,"comment":false} gesetzt ist, die entsprechenden Module (hier closebrackets.js und comment.js) nicht geladen werden.

Würde das dann entsprechend für Folding auch so implementieren, falls jemand einen funktionierenden Patch bereitstellt oder ich in der Winterzeit mal Lust und Laune habe das selber auszutüfteln (Allerdings sind hier erst ein paar andere Projekte geplant ;)).

Gruß
  Claudiu

PS, oder entsprechend natürlich das Modul nur geladen wird, wenn der user es zuvor explizit in codemirrorParam aktiviert hat ;)

rapster

Die zusätzlich geladenen Codemirror-Module lassen sich jetzt über das codemirrorParam Attribut steuern.

default's:

{
    "matchBrackets":true,
    "autoRefresh":true,
    "search":true,
    "comment":true,
    "autocomplete":true,
    "autoCloseBrackets":false
}


Desweiteren sollte die Geschwindigkeit bis codemirror geladen ist etwas erhöht worden sein.
Etwas flexibler ist das ganze jetzt auch geworden, werde die Tage mal das Wiki hierzu ergänzen.

Gruß
  Claudiu

rapster

Im Wiki kann nun nachgelesen werden durch welchen Paramter welches Modul geladen wird, oder welcher Parameter aktiviert werden muss um ein spezielles Modul zu laden / Funktion zu aktivieren.
http://www.fhemwiki.de/wiki/Konfiguration#Syntaxhervorhebung

betateilchen

Die neuen default-Einstellungen für codemirror sind zum Kotzen Brechen...

Für mich gab es keinen Grund (ausser persönlicher Willkür) an den bestehenden und bewährten Vorgaben etwas ändern zu müssen.
Stattdessen muss ich nun auf allen meinen fhem-Installationen die Parameter neu definieren.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rapster

#367
Vorschläge sind willkommen, meckern alleine hilft nicht :)

Das gröbste was sich geändert hat ist das standardmäßige laden des suchen (und ersetzen) features,
allerdings weiss ich dass genau dieses feature von sehr vielen Anfänger im integrierten vermisst wird und es hier nicht wirklich zumutbar ist wie bisher irgendwelche Infos aus dem Thread zu saugen um selbstständig js Module einzubauen und zu laden.

Allerdings währe es einem Anfänger zumutbar das feature über das setzen eines Parameters zu aktivieren (wobei ich denke dass der großteil der Leute dieses feature haben wollen).

Gruß
  Claudiu

EDIT: Ich habe die default-Einstellungen i.M. so gesetzt wie ich es in meinen Systemen verwende (bis auf autocomplete welches ich nicht verwende, allerdings historisch schon immer da war).


betateilchen

Es geht nicht um das, was Du neu eingebaut hast, sondern um das, was Du geändert hast. Beispielsweise das Verhalten von Klammern und das automatische Einrücken. Ich brauche inzwischen beim Bearbeiten meiner Dateien mehr Zeit dafür, das sinnlose Verschieben von Zeilen wieder zu korrigieren als für meine vorgenommenen Funktionsänderungen selbst.

Das Argument mit den Anfängern lasse ich grundsätzlich nicht gelten. Denn Anfänger werden nicht von Anfang an mit dem codemirror arbeiten.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

krikan

Hallo Claudiu!
Ich würde mir wünschen, dass zumindest "autoCloseBrackets" -wie bisher(?)- per Standard eingeschaltet ist. Fehlende/Falsche Klammern sind doch eines der üblichen Probleme.
Oder gibt es einen Grund, das nun nicht mehr einzuschalten?
Gruß, Christian

krikan

Zitat von: betateilchen am 30 Oktober 2015, 13:21:55
Das Argument mit den Anfängern lasse ich grundsätzlich nicht gelten. Denn Anfänger werden nicht von Anfang an mit dem codemirror arbeiten.
Was spricht dagegen codemirror per default zu aktivieren? Denke der Anfänger nutzt es nicht, da er es nicht kennt...

betateilchen

Zitat von: krikan am 30 Oktober 2015, 13:25:31
Was spricht dagegen codemirror per default zu aktivieren? Denke der Anfänger nutzt es nicht, da er es nicht kennt...

Die Frage muss Rudi beantworten. Er hatte seinerzeit bei der Einführung gewichtige Gründe dagegen, deshalb wurde der externe Editor nur als Option "bewilligt". Was genau damals seine Argumente waren, weiß ich nicht mehr, aber er hatte irgendwie recht, das weiß ich noch.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rapster

@Krikan
ja da habe ich länger darüber nachgedacht, allerdings war ich der Meinung dass die ganzen Klammer-Probleme welche in dutzenden Posts zu finden sind, oft genau auf dieses Feature zurückzuführen sind und habe es genau deswegen deaktiviert.

Da bisher der Editor selbstständig Klammern geschlossen hat, wurde das vom User einfach nicht mehr wirklich aufmerksam beachtet.

Das sieht man vor allem auch da viele Klammer-Probleme meist erst bei mehrere Klammern wie "foo(baar("baz")" auftreten, in welchen der User foo() vorgegeben bekommt, die letzte Klammer selbst wieder gelöscht hat, allerdings nie am Ende wieder geschlossen hat.

Werde das nun allerdings wieder aktivieren, da dies anscheinend nur meine Ansicht war.

@Betateilchen
autoCloseBrackets aktiviere ich wie oben geschrieben wieder per default,

Bzgl. automatischen Einrückens wurde allerdings nichts geändert? Was genau meinst du damit?
Das einzige was beim Einrücken anders ist als bisher ist dass beim verwenden der TAB-Taste nicht mehr mit einem Tabulator eingerückt wird, sondern mit einer definierten Anzahl Leerzeichen, was denke ich auf jedenfall nicht verkehrt ist oder?

Doch, ich kenne so einige Anfänger Installationen, sogut wie jeder hat codemirror über das Wiki in den ersten fhem-Tagen entdeckt und genutzt. Und alle fanden es wie du sagen würdest zum 'Brechen' dass im Editor nicht gesucht werden konnte ;)

Gruß
  Claudiu

betateilchen

Zitat von: rapster am 30 Oktober 2015, 13:35:57
@Betateilchen
autoCloseBrackets aktiviere ich wie oben geschrieben wieder per default,

Bei jeder Änderung solltest Du im Hinterkopf behalten, dass die ursprünglichen Defaultwerte das Ergebnis eines langen Diskussionsprozesses mehrere Anwender während der Integration von codemirror in FHEMWEB waren und nicht eine einsame Entscheidung irgendeines Entwicklers.

Und gerade die automatische Klammersetzung war damals eines der HAUPTARGUMENTE für den codemirror.

Zitat von: rapster am 30 Oktober 2015, 13:35:57
Das einzige was beim Einrücken anders ist als bisher ist dass beim verwenden der TAB-Taste nicht mehr mit einem Tabulator eingerückt wird, sondern mit einer definierten Anzahl Leerzeichen, was denke ich auf jedenfall nicht verkehrt ist oder?

Doch, das ist völliger Schwachsinn und wieder so eine einsame Entscheidung von Dir alleine. Wenn ich die TAB Taste drücke, will ich auch ein TAB haben. Und was momentan das größte Problem im Zusammenhang mit den Klammern ist: Bei jedem Klammersetzen verändert sich das Einrücken, sodaß die Klammer nie da erscheint, wo ich sie haben möchte.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

krikan

ZitatWerde das nun allerdings wieder aktivieren, da dies anscheinend nur meine Ansicht war.
Und das andere nur meine  ;) Du entscheidest, da Du weiterentwickelt hast. Trotzdem danke.
Suchen finde ich auch gut.
Persönlich habe ich lieber alle Möglichkeiten per default und schalte ab, was ich nicht brauche. Aber ich bin kein EDVler mit Support(problem)erfahrung...