Syntax Highlighting bei externen Editoren: Unterschied zwischen den Versionen
Fabian (Diskussion | Beiträge) (Kapitel für Syntax-Highlighting in nano angelegt) |
K (update link für Syntax Highlighting für Notepad++) |
||
(4 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 4: | Zeile 4: | ||
*Befehlsvervollständigungsfunktion | *Befehlsvervollständigungsfunktion | ||
Die Nutzung eines externen Editors ist grundsätzlich nicht notwendig und ist als "Expertenmodus" anzusehen.}} | Die Nutzung eines externen Editors ist grundsätzlich nicht notwendig und ist als "Expertenmodus" anzusehen.}} | ||
== Syntax Highlighting für Notepad++ == | == Syntax Highlighting für Notepad++ == | ||
es gibt eine [ | es gibt eine [https://notepad-plus-plus.org/resources/#user-defined-language-files Syntax Highlighting Erweiterung] für Notepad++ | ||
Forums [https://groups.google.com/forum/?fromgroups&hl=de#!topic/fhem-users/-hWpdB5QMjA Beitrag]: | Forums [https://groups.google.com/forum/?fromgroups&hl=de#!topic/fhem-users/-hWpdB5QMjA Beitrag]: | ||
[[Kategorie:HOWTOS]] | [[Kategorie:HOWTOS]] | ||
== Syntax Highlighting für Atom == | |||
Es gibt auch eine [https://atom.io/packages/language-fhem Syntax Highlighting Erweiterung] für [https://atom.io/ Atom] - A hackable text editor for the 21st Century | |||
Hier geht der Dank an [https://github.com/Fankserver Fank] | |||
Zeile 41: | Zeile 46: | ||
color blue "\<(shutdown|restart|sleep|update|reload|check)\>" | color blue "\<(shutdown|restart|sleep|update|reload|check)\>" | ||
# | # Devices | ||
color blue "\<(global|ALL3076|ALL4000T|ALL4027|GPIO4|Alarm|BS|CALVIEW|CM11|CO20|CUL|CUL_EM|CUL_FHTTK|CUL_HM|CUL_HOERMANN|CUL_IR|CUL_MAX|CUL_RFR|CUL_TCM97001|CUL_TX|CUL_WS|ComfoAir|EC3000|ECMD|ECMDDevice|EGPM|EGPM2LAN|EIB|EM|EMEM|EMG | color blue "\<(global|ALL3076|ALL4000T|ALL4027|GPIO4|Alarm|BS|CALVIEW|CM11|CO20|CUL|CUL_EM|CUL_FHTTK|CUL_HM|CUL_HOERMANN|CUL_IR|CUL_MAX|CUL_RFR|CUL_TCM97001|CUL_TX|CUL_WS|ComfoAir|EC3000|ECMD|ECMDDevice|EGPM|EGPM2LAN|EIB|EM|EMEM|EMG | ||
Z|EMT7110|EMWZ|ENECSYSGW|ENECSYSINV|ENIGMA2|ESA2000|EnOcean|FBAHA|FBDECT|FHT|FHT8V|FHZ|FRAMEBUFFER|FRITZBOX|FRM|FRM_AD|FRM_I2C|FRM_IN|FRM_LCD|FRM_OUT|FRM_PWM|FRM_RGB|FRM_ROTENC|FRM_SERVO|FRM_STEPPER|FReplacer|FS20|GDS|GEOFANCY|GUEST | Z|EMT7110|EMWZ|ENECSYSGW|ENECSYSINV|ENIGMA2|ESA2000|EnOcean|FBAHA|FBDECT|FHT|FHT8V|FHZ|FRAMEBUFFER|FRITZBOX|FRM|FRM_AD|FRM_I2C|FRM_IN|FRM_LCD|FRM_OUT|FRM_PWM|FRM_RGB|FRM_ROTENC|FRM_SERVO|FRM_STEPPER|FReplacer|FS20|GDS|GEOFANCY|GUEST | ||
Zeile 52: | Zeile 57: | ||
color blue "\<(flashCommand|hexFile)\>" | color blue "\<(flashCommand|hexFile)\>" | ||
# | # Header modules | ||
color magenta "\<(at|autocreate|average|Calendar|configDB|CustomReadings|DOIF|Dashboard|DbLog|dewpoint|dummy|eventTypes|FHEM2FHEM|FHEMWEB|FB_CALLMONITOR|FileLog|FLOORPLAN|HCS|HTTPSRV|Heating_Control|holiday|HourCounter|InfoPanel|Lig | color magenta "\<(at|autocreate|average|Calendar|configDB|CustomReadings|DOIF|Dashboard|DbLog|dewpoint|dummy|eventTypes|FHEM2FHEM|FHEMWEB|FB_CALLMONITOR|FileLog|FLOORPLAN|HCS|HTTPSRV|Heating_Control|holiday|HourCounter|InfoPanel|Lig | ||
htScene|logProxy|mailcheck|notify|PRESENCE|PachLog|RSS|RandomTimer|rain|readingsGroup|readingsHistory|readingsProxy|remotecontrol|SUNRISE_EL|SYSSTAT|sequence|speedtest|statistics|structure|telnet|Twilight|THRESHOLD|Utils|WeekdayTime | htScene|logProxy|mailcheck|notify|PRESENCE|PachLog|RSS|RandomTimer|rain|readingsGroup|readingsHistory|readingsProxy|remotecontrol|SUNRISE_EL|SYSSTAT|sequence|speedtest|statistics|structure|telnet|Twilight|THRESHOLD|Utils|WeekdayTime | ||
Zeile 58: | Zeile 63: | ||
color blue "\<(SVG)\>" | color blue "\<(SVG)\>" | ||
# | # Other key words | ||
color magenta "\<(TYPE|perl|commands|room|valueIcon|valueStyle|nameStyle|path|label|plotfunction|HISTORY|CURRENT|group|regexp1WontReactivate|alias|notime|nostate|mapping|IODev|htmlattr|stateFormat|userReadings|icon|fixedrange|commen | color magenta "\<(TYPE|perl|commands|room|valueIcon|valueStyle|nameStyle|path|label|plotfunction|HISTORY|CURRENT|group|regexp1WontReactivate|alias|notime|nostate|mapping|IODev|htmlattr|stateFormat|userReadings|icon|fixedrange|commen | ||
t|userattr)\>" | t|userattr)\>" | ||
color blue "\<(htmlCode|absent|present|lan-ping|iframe|sysstat|link|image|99_myUtils.pm)\>" | color blue "\<(htmlCode|absent|present|lan-ping|iframe|sysstat|link|image|99_myUtils.pm)\>" | ||
# | # Interface key words | ||
color magenta "\<(defaultRoom|hiddenroom|sortRooms|menuEntries|stylesheetPrefix)\>" | color magenta "\<(defaultRoom|hiddenroom|sortRooms|menuEntries|stylesheetPrefix)\>" | ||
color blue "\<(smallscreen|touchpad)\>" | color blue "\<(smallscreen|touchpad)\>" | ||
Zeile 83: | Zeile 88: | ||
color blue "\<()\>" | color blue "\<()\>" | ||
# FHT key words | # FHT specific key words | ||
color green "\<(actuator|desired-temp|measured-temp|day-temp|night-temp|report1|report2|refreshvalues|mode|holiday1|holiday2|holiday_short|manu-temp|year|month|day|hour|minute|time|date|lowtemp-offset|windowopen-temp|mon-from1|mon-t | color green "\<(actuator|desired-temp|measured-temp|day-temp|night-temp|report1|report2|refreshvalues|mode|holiday1|holiday2|holiday_short|manu-temp|year|month|day|hour|minute|time|date|lowtemp-offset|windowopen-temp|mon-from1|mon-t | ||
o1|mon-from2|mon-to2|tue-from1|tue-to1|tue-from2|tue-to2|wed-from1|wed-to1|wed-from2|wed-to2|thu-from1|thu-to1|thu-from2|thu-to2|fri-from1|fri-to1|fri-from2|fri-to2|sat-from1|sat-to1|sat-from2|sat-to2|sun-from1|sun-to1|sun-from2|sun | o1|mon-from2|mon-to2|tue-from1|tue-to1|tue-from2|tue-to2|wed-from1|wed-to1|wed-from2|wed-to2|thu-from1|thu-to1|thu-from2|thu-to2|fri-from1|fri-to1|fri-from2|fri-to2|sat-from1|sat-to1|sat-from2|sat-to2|sun-from1|sun-to1|sun-from2|sun | ||
Zeile 91: | Zeile 96: | ||
color yellow ""[0-9a-zA-Z_-]*"" | color yellow ""[0-9a-zA-Z_-]*"" | ||
# | # Commends | ||
color brightwhite "#.*" | color brightwhite "#.*" | ||
# Descriptions | |||
color brightgreen "##.*" | color brightgreen "##.*" | ||
# Individual key words | # Individual key words | ||
color cyan "(readingsRegex_|readingsName_)[0-9a-zA-Z_-]*" | color cyan "(readingsRegex_|readingsName_)[0-9a-zA-Z_-]*" | ||
</pre> | </pre> |
Aktuelle Version vom 3. März 2020, 10:04 Uhr
- Syntaxhervorhebungs-,
- Befehlsauswahl- und
- Befehlsvervollständigungsfunktion
Syntax Highlighting für Notepad++
es gibt eine Syntax Highlighting Erweiterung für Notepad++
Forums Beitrag:
Syntax Highlighting für Atom
Es gibt auch eine Syntax Highlighting Erweiterung für Atom - A hackable text editor for the 21st Century Hier geht der Dank an Fank
Syntax Highlighting für nano
Auf der Linux-Shell bietet der Editor nano von Haus aus Syntax-Highlighting für verschiedenste Sprachen. Für die Konfigurations-Dateien des fhem kann leicht ein eigenes Syntax-Highlighting erstellt werden. Dazu sind folgende Schritte notwendig:
1. Eine neue nano-Konfiguration erstellen (Bsp. s.u.), zB.
nano ~/fhem.nanorc
2. Die Konfiguration aktivieren, zB.
echo "~/fhem.nanorc" >> ~/.profile
Änderungen an der fhem.nanorc werden sofort wirksam. Sie kann also sehr einfach den eigenen Bedürfnissen angepasst werden.
Beispiel-Konfiguration für die fhem.nanorc
Die folgende Beispiel-Konfiguration ist von /usr/share/nano/perl.nanorc abgeleitet. Sie bedient die meisten festen Sprachelemente des fhem (vgl. command.ref).
Device-spezifische Syntax ist beispielhaft für FHT eingefügt und muss ggf. für andere Devices entsprechend ergänzt werden.
Hinweis: Alle Zeilen fangen mit dem Begriff "color" an - in der Darstellung unten werden einige Zeilen umgebrochen, was in der Konfigurationsdatei nicht sein darf.
## Here is an example for fhem. ## # All fhem config file have the extension .cfg syntax "fhem" "\.cfg$" # fhem commands color red "\<(apptime|attr|backup|CULflash|cmdalias|configdb|copy|createlog|define|delete|deleteattr|deletereading|displayattr|fheminfo|get|getstate|help|IF|include|inform|JsonList|JsonList2|list|modify|notice|quit|rename|restore|re readcfg|save|set|setdefaultattr|setreading|setstate|trigger|usb|version|xmllist|cmd)\>" color blue "\<(shutdown|restart|sleep|update|reload|check)\>" # Devices color blue "\<(global|ALL3076|ALL4000T|ALL4027|GPIO4|Alarm|BS|CALVIEW|CM11|CO20|CUL|CUL_EM|CUL_FHTTK|CUL_HM|CUL_HOERMANN|CUL_IR|CUL_MAX|CUL_RFR|CUL_TCM97001|CUL_TX|CUL_WS|ComfoAir|EC3000|ECMD|ECMDDevice|EGPM|EGPM2LAN|EIB|EM|EMEM|EMG Z|EMT7110|EMWZ|ENECSYSGW|ENECSYSINV|ENIGMA2|ESA2000|EnOcean|FBAHA|FBDECT|FHT|FHT8V|FHZ|FRAMEBUFFER|FRITZBOX|FRM|FRM_AD|FRM_I2C|FRM_IN|FRM_LCD|FRM_OUT|FRM_PWM|FRM_RGB|FRM_ROTENC|FRM_SERVO|FRM_STEPPER|FReplacer|FS20|GDS|GEOFANCY|GUEST |HEATRONIC|HMLAN|HMS|HMinfo|HTTPMOD|HUEBridge|HUEDevice|HXB|HXBDevice|I2C_BMP180|I2C_DS1307|I2C_EEPROM|I2C_LCD|I2C_MCP23008|I2C_MCP23017|I2C_MCP342x|I2C_PCA9532|I2C_PCF8574|I2C_SHT21|I2C_TSL2561|IPCAM|IPWE|IT|Itach_IR|Itach_IRDevice |Itach_Relay|JSONMETER|Jabber|JeeLink|KM271|KOPP_FC|KOSTALPIKO|KS300|LGTV|LINDY_HDMI_SWITCH|LIRC|LUXTRONIK2|LaCrosse|Level|M232|M232Counter|M232Voltage|MAX|MAXLAN|MPD|MQTT|MQTT_BRIDGE|MQTT_DEVICE|MSG|MSGFile|MSGMail|MYSENSORS|MYSENS ORS_DEVICE|MilightBridge|MilightDevice|NUT|NetIO230B|Netzer|NetzerI2C|ONKYO_AVR|OPENWEATHER|OREGON|OWAD|OWCOUNT|OWDevice|OWFS|OWID|OWLCD|OWMULTI|OWSWITCH|OWServer|OWTEMP|OWTHERM|OWX|OWX_ASYNC|PCA301|PHTV|PID20|PIFACE|PIONEERAVR|PION EERAVRZONE|POKEYS|PROPLANTA|PushNotifier|Pushbullet|Pushover|RESIDENTS|RFXCOM|RFXMETER|RFXX10REC|ROOMMATE|RPII2C|RPI_GPIO|Revolt|SCIVT|SHC|SHCdev|SISPM|SIS_PMS|SMARTMON|SML|SOMFY|SONOS|SONOSPLAYER|STACKABLE_CC|STV|SWAP|SWAP_00000022 00000003|SWAP_0000002200000008|SYSMON|TCM|TEK603|THZ|TRX|TRX_ELSE|TRX_LIGHT|TRX_SECURITY|TRX_WEATHER|TUL|TellStick|Text2Speech|UNIRoll|USBWX|USF1000|VCONTROL|VIERA|VantagePro2|WEBCOUNT|WEBIO|WEBIO_12DIGITAL|WMBUS|WS2000|WS300|WS3600 |WWO|Weather|X10|XBMC|XmlList|YAMAHA_AVR|YAMAHA_BD|YAMAHA_NP|ZWDongle|ZWave|cloneDummy|harmony|km200|netatmo|panStamp|pilight|withings|xxLG7000)\>" color blue "\<(flashCommand|hexFile)\>" # Header modules color magenta "\<(at|autocreate|average|Calendar|configDB|CustomReadings|DOIF|Dashboard|DbLog|dewpoint|dummy|eventTypes|FHEM2FHEM|FHEMWEB|FB_CALLMONITOR|FileLog|FLOORPLAN|HCS|HTTPSRV|Heating_Control|holiday|HourCounter|InfoPanel|Lig htScene|logProxy|mailcheck|notify|PRESENCE|PachLog|RSS|RandomTimer|rain|readingsGroup|readingsHistory|readingsProxy|remotecontrol|SUNRISE_EL|SYSSTAT|sequence|speedtest|statistics|structure|telnet|Twilight|THRESHOLD|Utils|WeekdayTime r|watchdog|weblink|weco|WOL)\>" color blue "\<(SVG)\>" # Other key words color magenta "\<(TYPE|perl|commands|room|valueIcon|valueStyle|nameStyle|path|label|plotfunction|HISTORY|CURRENT|group|regexp1WontReactivate|alias|notime|nostate|mapping|IODev|htmlattr|stateFormat|userReadings|icon|fixedrange|commen t|userattr)\>" color blue "\<(htmlCode|absent|present|lan-ping|iframe|sysstat|link|image|99_myUtils.pm)\>" # Interface key words color magenta "\<(defaultRoom|hiddenroom|sortRooms|menuEntries|stylesheetPrefix)\>" color blue "\<(smallscreen|touchpad)\>" # Logging key words color magenta "\<(FileLog|DBLog|filelog|DbLogExclude)\>" color blue "\<(fakelog)\>" # Event key words color magenta "\<(event-on-change-reading|event-min-interval|event-on-update-reading|event-aggregator)\>" color blue "\<(state)\>" # Floorplan key words color magenta "\<(|fp_arrange|fp_backgroundimg)\>" color blue "\<()\>" # Dashboard key words color magenta "\<(dashboard_colcount|dashboard_rowcentercolwidth|dashboard_tab1groups|dashboard_tab1name|dashboard_tab1sorting|dashboard_tabcount)\>" color blue "\<()\>" # FHT specific key words color green "\<(actuator|desired-temp|measured-temp|day-temp|night-temp|report1|report2|refreshvalues|mode|holiday1|holiday2|holiday_short|manu-temp|year|month|day|hour|minute|time|date|lowtemp-offset|windowopen-temp|mon-from1|mon-t o1|mon-from2|mon-to2|tue-from1|tue-to1|tue-from2|tue-to2|wed-from1|wed-to1|wed-from2|wed-to2|thu-from1|thu-to1|thu-from2|thu-to2|fri-from1|fri-to1|fri-from2|fri-to2|sat-from1|sat-to1|sat-from2|sat-to2|sun-from1|sun-to1|sun-from2|sun -to2|window|battery)\>" # Strings color yellow ""[0-9a-zA-Z_-]*"" # Commends color brightwhite "#.*" # Descriptions color brightgreen "##.*" # Individual key words color cyan "(readingsRegex_|readingsName_)[0-9a-zA-Z_-]*"