Javascript Editor einbinden

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

Vorheriges Thema - Nächstes Thema

betateilchen

Zitat von: justme1968 am 20 Februar 2014, 23:31:52anbei eine version bei der für perl, css und svg der richtige mode automatisch geladen wird

D.h. bei .gplot und bei .cfg Files (und einigen anderen) wird gar kein mode geladen. Das führt hier irgendwie dazu, dass das Theme nicht greift und schwarz auf weiß in winziger Schrift dargestellt wird. Bei .pm funktioniert es prima.

(http://up.picr.de/17427964im.png)

(http://up.picr.de/17427965hf.png)

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

justme1968

der Grund ist vermutlich das die syntax der config zeile nicht stimmt wenn kein mapping gefunden wird.

das repariere ich nachher.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

betateilchen

Zitat von: rudolfkoenig am 21 Februar 2014, 10:07:41
Habe z.Zt. leider wenig Zeit fuer groessere Baustellen, insb. wenn sie Nachdenken erfordern.

Hallo Rudi,

danke fürs Statement. So groß ist die Baustelle gar nicht. Der Editor klinkt sich einfach per JavaScript an zwei Stellen in das textarea-Tag ein.
Schau es Dir einfach irgendwann in Ruhe an.

Viele Grüße
Udo
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Zitat von: justme1968 am 21 Februar 2014, 10:11:07
das repariere ich nachher.

Wenn Du grade dabei bist..



+sub FW_linkCodemirror($);
+sub FW_codemirrorParams($);



Ich bin dafür die sub FW_linkCodemirror in FW_codemirrorLink umzubenennen, dann lassen die sich in der alphabetisch sortierten (!) Forward-Deklaration problemlos hintereinander einsortieren.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

#49
Zitat von: justme1968 am 21 Februar 2014, 10:11:07der Grund ist vermutlich das die syntax der config zeile nicht stimmt wenn kein mapping gefunden wird.

jepp...



var editor = CodeMirror.fromTextArea(document.getElementById("data"),{theme: 'blackboard', : true, lineNumbers: true, matchBrackets: true, autoCloseBrackets: true});



Ich finde, in fhem sollte perl als Standard mode gesetzt werden, wenn nix anderes gefunden wird.




  my $lang = $codemirrorMapping{$ext};
  $lang = 'perl' if !defined($lang);


-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

justme1968

dacht ich mir schon.

ich glaube man kann das so gar noch weiter vereinfachen. wenn nur ein mode file geladen wird muss man den mode gar nicht angeben. es wird immer der eine geladene verwendet.

patch kommt nachher.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

betateilchen

Ach, so schlecht finde ich den jetzigen Ansatz gar nicht. Man muss eben nur den Fall "unbekannte" Endung mit bedenken, dann braucht es keine Sonderbehandlungen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Zitat von: herrmannj am 19 Februar 2014, 12:44:31
naja, "muss" ja auch nicht. Für die def und die 99.. pm wäre das ja schon mal super. Ich muss gestehen das ich das oft dort per ctrl/c raus kopiere , mit gedit bearbeite und dann zurück kopiere.

Hallo Jörg,

für Deinen Vorschlag "Attributzeile" gibts einen Workaround, den Du innerhalb fhem nutzen kannst:

1. Lege Dir eine Datei blank.cfg im Verzeichnis ./FHEM an
2. Wenn Du jetzt auf "Edit files" gehst, sollte in der Rubrik "Own Module & Helper files" diese Datei auftauchen.
3. Wenn Du die Datei auswählst, greift der enhancedEditor und Du kannst Deine Definition dort vorbereiten und per copy&paste in die Attributzeile übernehmen.

Abspeichern musst Du die Datei ja gar nicht. Es ist quasi ein universelles Editorfeld mit Syntax-Highlighting.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

justme1968

hier der aktuelle patch:

- FW_codemirrorLink statt FW_linkCcodemirror
- perl ist default (auch wenn ich finde das es für .cfg nicht passt :) )
- der mode wird nicht extra aktiviert. sondern automatisch implizit verwendet

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

betateilchen

Sollte man als default-Theme nicht besser 'default' verwenden?
Nicht jedem wird/muss das blackboard gefallen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

justme1968

der default passt vermutlich so oder so nicht.

wie wäre es blackboard zu verwenden wenn im theme ein 'dark' vorkommt und sonst default ?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

herrmannj

Zitatfür Deinen Vorschlag "Attributzeile" gibts einen Workaround, den Du innerhalb fhem nutzen kannst:

vielen Dank, aber mach Dir da wirklich keinen Stress mit. Ist echt nur "nice to have" nicht mehr.

Im Augenblick mach ich die 99er und einige defs per copy und paste. Wenn das jetzt alles intern funktioniert ist das echt schon ein Highlight. Die wenigen attribs und stateformats / userReadings wo es überhaupt was bringen würde kann ich an einer Hand abzählen.

danke nochmal, weiter so  :)
vg
Jörg

betateilchen

Zitat von: justme1968 am 21 Februar 2014, 12:25:28wie wäre es blackboard zu verwenden wenn im theme ein 'dark' vorkommt und sonst default ?

Bitte nicht komplizierte machen als es sein muss. Lassen wir blackboard einfach als default, es kann ja jederzeit vom Anwender geändert werden und sieht erstmal schön bunt aus, damit man sofort erkennt, worum es geht :)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

klausw

Das funktioniert ja schon super. Weiter so!
Dann kann ich npp bald einmotten ;D

Eine Sache ist mir aufgefallen, im alten Editor lässt sich die Größe des Editorfeldes ändern.
Lässt sich das für den codemirror auch anpassen?

Grüße
Klaus
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280