Page 1 of 1

notepad++ und function list.xml (RegEx-Frage?)

Posted: 02 May 2018, 07:36
by LuckyJoe
Hallo zusammen,

Ich arbeite zum Editieren meiner Scripte mit Notepad++. Dazu gibt es die Möglichkeit, sich eine Funktionsliste (%APPDATA%\notepad++\functionList.xml) für bestimmte Programmiersprachen anzeigen zu lassen. Autohotkey ist allerdings nicht dabei. Ich habe hier eine Möglichkeit von ludamo gefunden. Diese funktioniert allerdings nur für "Funktionen", die am Zeilenanfang stehen. Ist eine solche eingerückt (Space/Tab), dann wird die Funktion nicht aufgelistet. Meiner bescheidenen Meinung nach liegt das an der Definition der RegEx-Ausdrücke.

Es wäre doch schön, wenn man im Editor alle "Funktionen" in der Übersicht hat. Kennt sich jemand mit RegEx so gut aus, dass er die Definitionen im folgenden verbessern kann?

Code: Select all

<association userDefinedLangName="AHK Autohotkey" id="ahk_function"/>

<parser id="ahk_function" displayName="AHK source" commentExpr="(;.*?$|/\*[^\x08]*?\*/)">
	<function
		mainExpr="^(#[\w]+|[\w\d]+\(.*?\)|[~!#\$\^\*\+<>].*?[\w\d&]+|:\*?:[\w\d]+|[\w\d]+ :)[^\x09\x7B;\r\n]*"
		displayMode="$functionName">
		<functionName>
			<nameExpr expr=".*"/>
		</functionName>
	</function>
</parser>
Alternativ: Hat jemand einen Tipp für einen anderen Editor für Scrpting-Zwecke?

Danke im Voraus für euer Lesen.
VG - Lucky Joe

Re: notepad++ und function list.xml (RegEx-Frage?)

Posted: 02 May 2018, 08:49
by nnnik
AHK Studio ist eine ziemlich fortgeschrittene IDE bei der du mit Tastenkombinationen arbeiten musst.
Scite4AutoHotkey hat nur einen Bruchteil des Umfangs aber wenn du nicht viel mit AHK arbeitest ist der Einstieg leichter.
Ansonsten kannst du halt nur Editoren anpassen.

Re: notepad++ und function list.xml (RegEx-Frage?)

Posted: 02 May 2018, 09:46
by LuckyJoe
Hallo nnnik,

danke für die Hinweise; AHK-Studio habe ich mir mal heruntergeladen ... allein die Konfig ist ja was für einen freien Nachmittag ;-) - aber es scheint sich ja zu lohnen.

Lucky Joe

Re: notepad++ und function list.xml (RegEx-Frage?)

Posted: 02 May 2018, 11:04
by just me
Moin,

ich benutze PSPad. Der hat einen sogenannten "Codeexplorer", der Teile der Codestruktur in einem TreeView darstellt. Vor einiger Zeit hat sich Toralf darum bemüht, den AHK-Codeexplorer auf die AHK 1.1 Syntax anpassen zu lassen. Dabei hat sich deutlich gezeigt, dass AHK wegen seiner 'lockeren' Syntax für das zeilenweise Parsen schlecht geeignet ist. Es auch schwer, zwischen Funktionsdefinitionen und Funktionsaufrufen zu unterscheiden, wenn man Leerzeichen wie Blank oder Tab am Zeilenanfang ignoriert. Das inzwischen erfolgte Update hat für mich die Ergebnisse nicht wirklich verbessert.

Wenn ich mir den RegEx ansehe, scheint sich Notepad++ auch nur Zeile für Zeile durch das Skript zu hangeln. Wonach da konkret gesucht wird, kommt mir etwas "Spanisch" vor. Wenn Du allerdings nur Leerzeichen am Zeilenanfang zulassen willst, könnte es folgende Änderung tun:

Code: Select all

; \s* eingefügt
mainExpr="^\s*(#[\w]+|[\w\d]+\(.*?\)|[~!#\$\^\*\+<>].*?[\w\d&]+|:\*?:[\w\d]+|[\w\d]+ :)[^\x09\x7B;\r\n]*"
Für das Ergebnis übernehme ich keine Gewähr. ;)

Re: notepad++ und function list.xml (RegEx-Frage?)

Posted: 02 May 2018, 11:45
by LuckyJoe
Hi just me,
danke dir erneut - die RegEx-Aktualisierung passt, aber nur für Leerzeichen, nicht für Tabs.
Werde mir zunächst mal AHK-Studio anschauen, scheint ja eine eierlegende Wollmilchsau zu sein.
thx - LJ

Re: notepad++ und function list.xml (RegEx-Frage?)

Posted: 02 May 2018, 13:27
by nnnik
Wenn du file brauchst ich bin normalerweise im AutoHotkey Discord online und könnte da über screen sharing direkt helfen.
So hat maestrith mir auch am Anfang geholfen.

Re: notepad++ und function list.xml (RegEx-Frage?)

Posted: 02 May 2018, 15:46
by just me
LuckyJoe wrote:... die RegEx-Aktualisierung passt, aber nur für Leerzeichen, nicht für Tabs.
Es könnte sein, dass die dort eine andere Syntax benutzen.

Re: notepad++ und function list.xml (RegEx-Frage?)

Posted: 02 May 2018, 15:48
by just me
@nnnik: Wunderbar! Dann haben die, die Discord nicht nutzen, mal wieder nichts davon.

Re: notepad++ und function list.xml (RegEx-Frage?)

Posted: 03 May 2018, 02:01
by nnnik
Es ist halt einfach so, dass es mein bevorzugtes Kommunikationsmittel für direkte chats und screensharing ist.
Ich kann halt andernfalls nur minimalst helfen wenn die Kommunikation nicht so direkt ist.

Re: notepad++ und function list.xml (RegEx-Frage?)

Posted: 03 May 2018, 02:11
by LuckyJoe
... AutoHotkey Discord online? ... Schon wieder was Neues (für mich) ... muss ich mir anschauen. Aber trotzdem schon mal danke für das Angebot!

Lucky Joe