Quiq::Sdoc::Line - Zeile einer Sdoc-Quelldatei
Quiq::LineProcessor::Line
($type,$depth) = $line->type;
Ermittele den Zeilentyp und liefefere diesen zurück.
$bool = $line->isRow;
Prüfe, ob die Zeile eine Tabellenzeile ist. Wenn ja, liefere wahr, ansonsten falsch.
$bool = $line->isKeyValRow;
Prüfe, ob die Zeile eine Schlssel/Wert-Zeile ist. Wenn ja, liefere wahr, ansonsten falsch.
($itemType,$label,$indentation,$text) = $ln->item; ($itemType,$label,$indentation,$text) = $ln->item($nextLine);
Anlysiere die Zeile darauf hin, ob diese ein List-Item beschreibt, ihr Text also einem der folgenden Muster entspricht:
o Text (Punktliste) * Text (Punktliste) + Text (Punktliste) 1. Text (nummerierte Liste) 1) Text (nummerierte Liste) [Text]: Text (Beschreibungsliste) [Text:] Text (Beschreibungsliste) <Text>: Text (Beschreibungsliste) <Text:> Text (Beschreibungsliste) {Text}: Text (Beschreibungsliste) {Text:} Text (Beschreibungsliste) :Text: Text (Beschreibungsliste) :Text:: Text (Beschreibungsliste)
Ist dies nicht der Fall, liefert die Methode eine leere Liste zurück. Ist dies der Fall liefert die Methode vier Werte zurück:
Typ des Labels. Fünf Itemtypen werden unterschieden:
o, *, + (Punktliste) # (numerierte Liste) [] (Beschreibungsliste)
Im Falle einer Punktliste das Symbol, im Falle einer numerierten Liste die Zahl (ohne Punkt oder Klammer), im Falle einer Beschreibungsliste der Labeltext.
Die Einrückung des Listenelements. Alle Folgezeilen mit (mindestens) dieser Einrückung werden als zugehörig zum Listenelement angesehen. Diese Einrückung ist die Anzahl an Zeichen bis zum ersten Buchstaben des Textes. Es wird davon ausgegangen, dass die weiteren Zeilen genauso eingerückt sind. Ausnahme: Beschreibungsliste. Da der Labeltext hier schwankt, wird die Einrückung der nächsten Zeile genommen, sofern es sich nicht um eine Leerzeile oder das nächste Item handelt. Wird diese Angabe benötigt, muss der Parameter $nextLine angegeben sein. Andernfalls wird der initale Whitespace plus vier Zeichen angenommen.
| o Text Text Text Text Text | Text Text Text Text Text | Text Text Text Text Text ---- ^ Textbeginn der ersten Zeile | 1) Text Text Text Text Text | Text Text Text Text Text | Text Text Text Text Text | ... | 10) Text Text Text Text Text | Text Text Text Text Text ----- ^ Textbeginn der ersten Zeile | [Text]: Text Text Text Text Text | Text Text Text Text Text | Text Text Text Text Text | [Text:] Text Text Text Text Text | Text Text Text Text Text | Text Text Text Text Text | :Text: Text Text Text Text Text | Text Text Text Text Text | Text Text Text Text Text | :Text:: Text Text Text Text Text | Text Text Text Text Text | Text Text Text Text Text ------ ^ initialer Whitespce der Folgezeile -oder- initialer Whitespace plus vier Zeichen
Die erste Zeile des Listenelements, bei dem das Label durch Whitespace ersetzt ist.
| Text Text Text Text Text ---- ^ Textbeginn der ersten Zeile | Text Text Text Text Text ----- ^ Textbeginn der ersten Zeile | Text Text Text Text Text ------ ^ initialer Whitespace der Folgezeile -oder- der ersten Zeile plus vier Zeichen
1.137
Frank Seitz, http://fseitz.de/
Copyright (C) 2019 Frank Seitz
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Quiq, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Quiq
CPAN shell
perl -MCPAN -e shell install Quiq
For more information on module installation, please visit the detailed CPAN module installation guide.