Bearbeiten von „Text butler“
Zur Navigation springen
Zur Suche springen
Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden.
Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und veröffentliche dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.
Aktuelle Version | Dein Text | ||
Zeile 3: | Zeile 3: | ||
= Links = | = Links = | ||
* [[Flutter-Apps]] | * [[Flutter-Apps]] | ||
= Zielsetzung = | = Zielsetzung = | ||
Zeile 62: | Zeile 61: | ||
| '''output''' | | '''output''' | ||
| Puffername | | Puffername | ||
| | | das Ergebnis wir in diesen Puffer geschrieben. Voreinstellung: output | ||
| output=result | | output=result | ||
|} | |} | ||
Zeile 72: | Zeile 71: | ||
== copy == | == copy == | ||
Kopiert einen Puffer in einen anderen, oder einen | Kopiert einen Puffer in einen anderen, oder einen festen Text in einen Puffer. | ||
=== Parameter === | === Parameter === | ||
Zeile 83: | Zeile 82: | ||
| '''append''' | | '''append''' | ||
|boolean | |boolean | ||
| | | das Ergebnis wird im Zielpuffer angehängt | ||
| | | app | ||
|- | |- | ||
| '''input''' | | '''input''' | ||
Zeile 93: | Zeile 92: | ||
| '''output''' | | '''output''' | ||
| Puffername | | Puffername | ||
| | | das Ergebnis wird in diesen Puffer geschrieben. Voreinstellung: output | ||
| output=result | | output=result | ||
|- | |- | ||
| '''text''' | | '''text''' | ||
| string | | string | ||
| | | kann alternativ zu '''input''' angegeben werden. Dann wird dieser Text ins Ziel kopiert. | ||
Kann auch | Kann auch interpolierter Text sein, dann steht vor dem Delimiter i und das Esc-Zeichen. | ||
| text="Hello" text=i%"First line%nSecond line" | | text="Hello" text=i%"First line%nSecond line" | ||
|} | |} | ||
=== Beispiele === | === Beispiele === | ||
Im Puffer "input" steht | Im Puffer "input" steht "Hello World", im Puffer "todo" steht "Greetings\n". | ||
<pre>copy out=todo append | <pre>copy out=todo append | ||
</pre> | </pre> | ||
Danach steht in "todo" | Danach steht in "todo": "Greetings\nHello World". | ||
<pre>copy text="Hi Jonny!" | <pre>copy text="Hi Jonny!" | ||
</pre> | </pre> | ||
Danach steht in Puffer "output" | Danach steht in Puffer "output" der Wert "Hi Jonny!". | ||
== count == | == count == | ||
Zeile 152: | Zeile 139: | ||
| '''output''' | | '''output''' | ||
| Puffername | | Puffername | ||
| | | das Ergebnis wir in diesen Puffer geschrieben. Voreinstellung: output | ||
| output=result | | output=result | ||
|- | |- | ||
| '''marker''' | | '''marker''' | ||
| character | | character | ||
| | | definiert einen Platzhalter für die Ergebniszahl in '''template'''. Voreinstellung: '#' | ||
| marker=* | | marker=* | ||
|- | |- | ||
Zeile 183: | Zeile 170: | ||
Hic Rhodos, Hic salta! | Hic Rhodos, Hic salta! | ||
</pre> | </pre> | ||
Kommando: | * Kommando: <code>count what="e"</code> | ||
< | |||
</ | |||
Danach steht in "output": | Danach steht in "output": | ||
<pre>4 | <pre>4 | ||
</pre> | </pre> | ||
Kommandos: | * Kommandos: | ||
<pre>count regex=/\S+/ template="# Wörter" output=statistic | <pre>count regex=/\S+/ template="# Wörter" output=statistic | ||
count regexpr=/[.;!?]/ t=', # Sätze' o=statistic append | count regexpr=/[.;!?]/ t=', # Sätze' o=statistic append | ||
Zeile 211: | Zeile 196: | ||
|- | |- | ||
| '''append''' | | '''append''' | ||
| boolean | |boolean | ||
| | | das Ergebnis wird im Zielpuffer angehängt | ||
| | | app | ||
|- | |- | ||
| '''baseChar''' | | '''baseChar''' | ||
| character | | character | ||
| Basis für laufende Zeichenfolge | | Basis für laufende Zeichenfolge | ||
| baseChar=a | | baseChar=a | ||
|- | |- | ||
| '''count''' | | '''count''' | ||
| int | | int | ||
| | | so oft wird der Text kopiert | ||
| count=3 | | count=3 | ||
|- | |- | ||
| '''ListValues''' | | '''ListValues''' | ||
| stringList | | stringList | ||
| eine Liste von Textlisten, wenn mehrere fortlaufende Elemente verwendet werden. | | eine Liste von Textlisten, wenn mehrere fortlaufende Elemente verwendet werden. Auto-Separator | ||
| ListValues=",adam,berta,charly" | |||
| ListValues=" | |||
|- | |- | ||
| '''offset''' | | '''offset''' | ||
Zeile 248: | Zeile 222: | ||
| '''Offsets''' | | '''Offsets''' | ||
| intList | | intList | ||
| | | eine Liste von Offsets, wenn mehrere fortlaufende Elemente verwendet werden | ||
| Offsets=10,1,100 | | Offsets=10,1,100 | ||
|- | |- | ||
| '''output''' | | '''output''' | ||
| Puffername | | Puffername | ||
| das Ergebnis | | das Ergebnis wir in diesen Puffer geschrieben. Voreinstellung: output | ||
| output=result | | output=result | ||
|- | |||
| '''meta''' | |||
| character | |||
| Delimiter für die Platzhalter innerhalb von '''input'''. Voreinstellung: % | |||
| meta=% | |||
|- | |- | ||
| '''step''' | | '''step''' | ||
| int | | int | ||
| Abstand zwischen zwei fortlaufenden Elementen | | Abstand zwischen zwei fortlaufenden Elementen | ||
| step=2 | | step=2 | ||
|- | |- | ||
| '''Steps''' | | '''Steps''' | ||
| intList | | intList | ||
| | | eine Liste von '''step'''-Angaben, wenn mehrere fortlaufende Elemente verwendet werden | ||
| Steps=2,1,10 | | Steps=2,1,10 | ||
|- | |- | ||
| '''Values''' | | '''Values''' | ||
| stringList | | stringList | ||
| | | eine Liste von Texten, die fortlaufend eingefügt werden. Auto-Separator. Kann auch interpolierter Text sein | ||
| Values=",bob,eva" | | Values=",bob,eva" | ||
Values=i%",%tone%n,%ttwo%n,%tthree%n" | Values=i%",%tone%n,%ttwo%n,%tthree%n" | ||
Zeile 296: | Zeile 275: | ||
<pre>= List: | <pre>= List: | ||
</pre> | </pre> | ||
Kommando: | * Kommando: <code>duplicate count=2 offset=100 step=10 baseChar=Q append</code> | ||
< | |||
</ | |||
Danach steht im Puffer output: | Danach steht im Puffer output: | ||
<pre>= List: | <pre>= List: | ||
Zeile 308: | Zeile 285: | ||
<pre>no: !index! id: !number0! place !char0! key: !char1!!char1!!char1! | <pre>no: !index! id: !number0! place !char0! key: !char1!!char1!!char1! | ||
</pre> | </pre> | ||
Kommando: | * Kommando: <code>duplicate count=3 Offsets=10,0 Steps=5,1 BaseChar="Ak" meta=! out=list</code> | ||
< | |||
</pre> | </pre> | ||
Danach steht im Puffer "list": | Danach steht im Puffer "list": | ||
Zeile 320: | Zeile 296: | ||
<pre>animal %number%: %value% | <pre>animal %number%: %value% | ||
</pre> | </pre> | ||
Kommando: | * Kommando: <code>duplicate count=2 offset=1 Values=",cat,dog"</code> | ||
< | |||
</ | |||
Danach steht im Puffer "output": | Danach steht im Puffer "output": | ||
Zeile 332: | Zeile 306: | ||
<pre>animal %value0% named %value1% comes from %value2%. | <pre>animal %value0% named %value1% comes from %value2%. | ||
</pre> | </pre> | ||
Kommando: | * Kommando: <code>duplicate count=2 ListValues=";,cat,dog;,Mia,Harro;,London,Rome"</code> | ||
< | |||
</ | |||
'''Hinweis:''' die Liste der Listen benutzt den Separator ";", die Textlisten den Separator ",". | '''Hinweis:''' die Liste der Listen benutzt den Separator ";", die Textlisten den Separator ",". | ||
Zeile 341: | Zeile 313: | ||
<pre>animal cat named Mia comes from London. | <pre>animal cat named Mia comes from London. | ||
animal dog named Harro comes from Rome. | animal dog named Harro comes from Rome. | ||
</pre> | </pre> | ||
Zeile 379: | Zeile 320: | ||
=== Parameter === | === Parameter === | ||
* '''append''': Das Ergebnis wird an das Ziel angehängt. | |||
* '''end''': Es werden nur Zeilen untersucht, die vor einer Zeile stehen, die auf diesen regulären Ausdruck passt. | |||
* '''filter''': Passt eine Zeile auf diesen regulärer Ausdruck, wird sie ins Ziel übernommen. | |||
* '''Filters''': Eine Liste von regulären Ausdrücken: Passte eine auf eine Zeile, wird diese ins Ziel übernommen. | |||
* '''input''': Puffer mit dem Inhalt, der gefiltert wird. Voreinstellung: input | |||
* '''meta''': Delimiter der Platzhalter in '''template''' oder '''Templates'''. Voreinstellung: '%' | |||
* '''output''': Puffer, in den die gefilterten Zeilen landen. Voreinstellung: output | |||
* '''repeat''': Ist diese Zahl größer 1, wird der Bereich '''start''' und '''end''' entsprechend oft gesucht. 0: beliebig oft suchen. Nur sinnvoll, wenn sowohl '''start''' als auch '''end''' definiert sind. Voreinstellung: 1 | |||
* '''start''': Es werden nur Zeilen untersucht, die hinter einer Zeile stehen, die auf diesen regulären Ausdruck passt. | |||
* '''template''': Für jeden Treffer wird diese Vorlage ausgegeben, nachdem dort die Platzhalter ersetzt wurden. | |||
* '''Templates''': Es werden nur Zeilen untersucht, die hinter einer Zeile stehen, die auf diesen regulären Ausdruck passt. | |||
Nur sinnvoll, wenn sowohl '''start''' | |||
'''Hinweis''': Von den Parametern '''filter''' und '''Filters''' muss genau einer angegeben werden, also nicht keiner | '''Hinweis''': Von den Parametern '''filter''' und '''Filters''' muss genau einer angegeben werden, also nicht keiner | ||
und nicht beide. | und nicht beide. | ||
Zeile 482: | Zeile 368: | ||
</staff> | </staff> | ||
</pre> | </pre> | ||
Kommando | * Kommando <code>filter fi=/name/</code> | ||
< | |||
</ | |||
In Puffer output steht: | In Puffer output steht: | ||
<pre> <name>Easy Rider</name> | <pre> <name>Easy Rider</name> | ||
Zeile 491: | Zeile 375: | ||
<name>Charly</name> | <name>Charly</name> | ||
</pre> | </pre> | ||
Kommando | * Kommando <code>filter start=/<person/ end=!</person! fi=/name/ repeat=2</code> | ||
< | |||
</ | |||
In Puffer output steht: | In Puffer output steht: | ||
<pre> <name>Adam</name> | <pre> <name>Adam</name> | ||
<name>Berta</name> | <name>Berta</name> | ||
</pre> | </pre> | ||
Kommando | * Kommando <code>filter start=/<person/ end=!</person! fi=/<(name|id)>(.*?)</ repeat=2 template="%group1%: %group2%</code> | ||
< | |||
</ | |||
In Puffer output steht: | In Puffer output steht: | ||
<pre>id: 1 | <pre>id: 1 | ||
Zeile 507: | Zeile 387: | ||
name Berta | name Berta | ||
</pre> | </pre> | ||
Kommando | * Kommando <code>filter start=/<person/ end=!</person! Filters=";<name;<id" repeat=2</code> | ||
< | |||
</ | |||
<pre> <id>1</id> | <pre> <id>1</id> | ||
<name>Adam</name> | <name>Adam</name> | ||
Zeile 516: | Zeile 393: | ||
<name>Berta</name> | <name>Berta</name> | ||
</pre> | </pre> | ||
Kommando | * Kommando <code>filter start=/<person/ end=!</person! Filters=";<(name)>(.?*)<;<id>(.?*)<" repeat=2 Templates=";%1%: %2%;no: %1%"</code> | ||
< | |||
</ | |||
<pre>no: 1 | <pre>no: 1 | ||
name: Adam | name: Adam | ||
Zeile 532: | Zeile 406: | ||
=== Parameter === | === Parameter === | ||
'input': paramBufferName, | |||
'output': paramBufferName, | |||
'meta': paramMeta, | |||
'regexpr': paramRegExpr, | |||
'value': paramValue, | |||
'with': paramWith, | |||
'what': paramWhat, | |||
== show == | == show == | ||
Zeile 580: | Zeile 419: | ||
=== Parameter === | === Parameter === | ||
* '''output''': In diesen Puffer wird die Info ausgegeben. Voreinstellung: output | |||
* '''what''': Spezifiziert, was ausgegeben werden soll: | |||
** "buffers": Listet die Namen der Puffer aus, einen je Ausgabezeile | |||
=== Beispiel === | === Beispiel === | ||
Kommando | * Kommando <code>show what=buffers</code> | ||
< | |||
</ | |||
Danach steht im Puffer "output": | Danach steht im Puffer "output": | ||
<pre>examples | <pre>examples | ||
Zeile 617: | Zeile 436: | ||
=== Parameter === | === Parameter === | ||
* '''a''': Name des ersten Puffers | |||
* '''b''': Name des zweiten Puffers | |||
Ist kein Parameter angegeben, wird Puffer input und output vertauscht. | Ist kein Parameter angegeben, wird Puffer input und output vertauscht. | ||