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 54: | Zeile 53: | ||
=== Parameter === | === Parameter === | ||
* '''output''': spezifiziert den Puffer, der gelöscht wird. Voreinstellung: "output" | |||
=== Beispiel === | === Beispiel === | ||
Zeile 72: | Zeile 61: | ||
== 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 72: | ||
| '''append''' | | '''append''' | ||
|boolean | |boolean | ||
| | | das Ergebnis wird im Zielpuffer angehängt | ||
| | | app | ||
|- | |- | ||
| '''input''' | | '''input''' | ||
Zeile 93: | Zeile 82: | ||
| '''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 128: | Zeile 105: | ||
=== Parameter === | === Parameter === | ||
* '''append''': Ergebnis wird an vorhandenen Text im Zielpuffer angehängt. | |||
* '''ignore''': Groß-/Kleinschreibung spielt keine Rolle. | |||
* '''input''': in diesem Puffer wird gesucht. Voreinstellung: input | |||
* '''output''': Das Ergebnis wird in diesem Puffer ausgegeben. Voreinstellung: output | |||
* '''marker''': definiert einen Platzhalter für die Ergebniszahl in '''template'''. Voreinstellung: '#' | |||
* '''template''': Vorlage, wie die Ergebnismeldung aussieht. Muss '''marker''' enthalten. Voreinstellung: der Wert von '''marker''' | |||
* '''regexpr''': Suchmuster als regulärer Ausdruck. | |||
* '''what''': Suchmuster als String ohne Metazeichen. | |||
Hinweis: Es darf nur entweder '''regexpr''' oder '''what''' angegeben werden, nicht beide oder keiner. | |||
=== Beispiele === | === Beispiele === | ||
Zeile 183: | Zeile 120: | ||
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 146: | ||
|- | |- | ||
| '''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 172: | ||
| '''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 | ||
| Values=",bob,eva" | | Values=",bob,eva" | ||
|} | |} | ||
Zeile 296: | Zeile 224: | ||
<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 234: | ||
<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 245: | ||
<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 255: | ||
<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 262: | ||
<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 269: | ||
=== 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 317: | ||
</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 324: | ||
<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 336: | ||
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 342: | ||
<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 355: | ||
=== Parameter === | === Parameter === | ||
'input': paramBufferName, | |||
'output': paramBufferName, | |||
'meta': paramMeta, | |||
'regexpr': paramRegExpr, | |||
'value': paramValue, | |||
'with': paramWith, | |||
'what': paramWhat, | |||
== show == | == show == | ||
Zeile 580: | Zeile 368: | ||
=== 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 385: | ||
=== 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. | ||