Bearbeiten von „Datei search engine.dart“
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 105: | Zeile 105: | ||
oder <code>below-lines</code>). | oder <code>below-lines</code>). | ||
<pre> | <pre>String formatLine( | ||
String formatLine( | |||
String format, String file, String line, int lineNo, String prefix, | String format, String file, String line, int lineNo, String prefix, | ||
{RegExpMatch match, int hits}) { | {RegExpMatch match, int hits}) { | ||
Zeile 124: | Zeile 123: | ||
break; | break; | ||
case 'p': | case 'p': | ||
line2 = line2.replaceAll(placeholder, dirname(file)); | line2 = line2.replaceAll(placeholder, path.dirname(file)); | ||
break; | break; | ||
case 'n': | case 'n': | ||
line2 = line2.replaceAll(placeholder, basename(file)); | line2 = line2.replaceAll(placeholder, path.basename(file)); | ||
break; | break; | ||
case 'F': | case 'F': | ||
line2 = line2.replaceAll( | line2 = line2.replaceAll( | ||
placeholder, basenameWithoutExtension(file)); | placeholder, path.basenameWithoutExtension(file)); | ||
break; | break; | ||
case 'e': | case 'e': | ||
line2 = line2.replaceAll(placeholder, extension(file)); | line2 = line2.replaceAll(placeholder, path.extension(file)); | ||
break; | break; | ||
case 'h': | case 'h': | ||
line2 = line2.replaceAll(placeholder, match?.group(0) ?? ''); | line2 = line2.replaceAll(placeholder, match?.group(0) ?? ''); | ||
break; | break; | ||
case 'c': | |||
line2 = line2.replaceAll(placeholder, hits?.toString() ?? ''); | line2 = line2.replaceAll(placeholder, hits?.toString() ?? ''); | ||
break; | break; | ||
Zeile 176: | Zeile 175: | ||
*** <code>line2 = line2.replaceAll(placeholder, lineNo.toString());</code> Es werden alle diese Platzhalter (<code>%#%</code>) durch die Zeilenummer, gewandelt in einen String, ersetzt. | *** <code>line2 = line2.replaceAll(placeholder, lineNo.toString());</code> Es werden alle diese Platzhalter (<code>%#%</code>) durch die Zeilenummer, gewandelt in einen String, ersetzt. | ||
** Nach diesem Schema werden die auch die anderen Platzhalter ersetzt. | ** Nach diesem Schema werden die auch die anderen Platzhalter ersetzt. | ||
** <code> | ** <code>line2 = line2.replaceAll(placeholder, path.dirname(file));</code> | ||
*** <code>path.dirname(file)</code> Am Anfang der Datei steht die Importanweisung <code>import 'package:path/path.dart' as path;</code> | |||
*** Die Formulierung <code>as path</code> definiert einen Zugriffsnamen <code>path</code> (könnte auch <code>blabla</code> heißen, ist aber per Konvention gleichlautend zum Paket. | |||
*** Um auf ein Element (Klasse, Funktion) des Paketes zuzugreifen, ist in diesem Fall immer dieser Zugriffsname notwendig, also <code>path.dirname()</code> ist die Funktion <code>dirname()</code> aus diesem Paket. | |||
** | ** Dieses Verfahren dient dazu Namensüberschneidungen (Namensgleichheit in zwei Paketen) eindeutig lösen zu können. | ||
== Methode search() == | == Methode search() == |