Ich hab das ganze gerade auch noch mal ohne Regulaeren Ausdruck umgesetzt, da du die ja scheinbar nicht magst
_getLengthNoRegExp <==
Das Problem ist das Verbinden der einzigen Position, die von PSPad / VBScript zu bekommen ist (CaretX), mit der Position des ersten Funktionsnamen-Zeichens.
Wow, ich habe überlegt und überlegt, wie ich das erklären kann. Zwischenzeitlich hat BugFix einen Beitrag geschrieben, der das richtig gut umreißt.
Ich kriege halt nicht auf die Reihe, wie ich an die Position vom FuncNameFirstChar komme. Denn das übermittelte CaretX enthält auf für Tabs nur 1 Zeichen. Der FuncName kann z. B. mal an der Grenze eines 2er (oder 4er) Segments stehen, oder mitten drin, oder ... Ich kann ja nur von der CaretX-Pos zurückrechnen, und weiß aber nie, wo der Text-Part vom FuncName bis CaretX steht, als mitten in einem Segment, oder am Anfang, usw. Ich kann auch nicht die komplette Zeile z. B. mit deinem Code konvertieren zu einem Text, der die Tabs als Leerzeichen auffüllt, weil dann die CaretX-Pos nicht mehr stimmt.
Die Umwandlung / Auffüllung der Tabs mit den fehlenden Leerzeichen funktioniert nur vom Zeilenanfang, die übermittelte CaretX-Pos ist quasi das Zeilenende. Und vom CaretX den Abstand zum FuncNameFirstChar zu berechnen geht auch nur vom CaretX rückwärts. *verwirrt*
Bis ich das auf der Reihe habe, sage ich: Kanashius , vielen Dank für deine Mühe! BugFix , vielen Dank für das verständliche Umreißen des komplizierten Themas "Tab, das böse Konstrukt!".
Bernd.