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 279: Zeile 279:
           lastShowedLine = lineNo;
           lastShowedLine = lineNo;
         }
         }
        continue;
       } else {
       }
        hitLines++;
      hitLines++;
        totalHitLines++;
      totalHitLines++;
        if (searchOptions.list) {
      if (searchOptions.list) {
          showLine(file);
        showLine(file);
          break;
        break;
        }
      }
        aboveBound = lineNo + searchOptions.aboveContext;
      aboveBound = lineNo + searchOptions.aboveContext;
        if (!searchOptions.count) {
      if (!searchOptions.count) {
          if (searchOptions.belowContext > 0) {
        if (searchOptions.belowContext > 0) {
            for (var lineNo2 = lineNo - searchOptions.belowContext;
          for (var lineNo2 = lineNo - searchOptions.belowContext;
                lineNo2 < lineNo;
              lineNo2 < lineNo;
                lineNo2++) {
              lineNo2++) {
              if (lineNo2 > lastShowedLine) {
            if (lineNo2 > lastShowedLine) {
                line2 = formatLine(searchOptions.formatContext, file,
              line2 = formatLine(searchOptions.formatContext, file,
                    lines[lineNo2 - 1], lineNo2, '<');
                  lines[lineNo2 - 1], lineNo2, '<');
                showLine(line2);
              showLine(line2);
              }
             }
             }
           }
           }
          line2 = formatLine(
              searchOptions.format, file, line, lineNo, prefixMatch,
              match: match);
          showLine(line2);
          lastShowedLine = lineNo;
        }
        if (searchOptions.exitLines != null &&
            totalHitLines >= searchOptions.exitLines) {
          throw ExitException('hit lines: $totalHitLines');
        }
        if (searchOptions.breakLines != null &&
            hitLines >= searchOptions.breakLines) {
          break;
         }
         }
        line2 = formatLine(
            searchOptions.format, file, line, lineNo, prefixMatch,
            match: match);
        showLine(line2);
        lastShowedLine = lineNo;
      }
      if (searchOptions.exitLines != null &&
          totalHitLines >= searchOptions.exitLines) {
        throw ExitException('hit lines: $totalHitLines');
      }
      if (searchOptions.breakLines != null &&
          hitLines >= searchOptions.breakLines) {
        break;
       }
       }
     }
     }
Zeile 325: Zeile 325:
   }
   }
}
}
</pre>
</pre>
* <code>final lines = File(file).readAsLinesSync();</code> Die Klasse <code>File></code> instantiiert ein Objekt mit dem Dateinamen <code>file</code>, die Methode <code>readAsLinesSync()</code> liefert den Dateiinhalt als Liste von Zeilen.
* <code>final lines = File(file).readAsLinesSync();</code> Die Klasse <code>File></code> instantiiert ein Objekt mit dem Dateinamen <code>file</code>, die Methode <code>readAsLinesSync()</code> liefert den Dateiinhalt als Liste von Zeilen.
Zeile 332: Zeile 331:
* <code>isHit = !searchOptions.invertMatch && match != null || searchOptions.invertMatch && match == null;</code>
* <code>isHit = !searchOptions.invertMatch && match != null || searchOptions.invertMatch && match == null;</code>
** Ein Treffer liegt vor, wenn die Option <code>--invert-match</code> gesetzt ist und das Suchmuster nicht gefunden wurde oder wenn  Option <code>--invert-match</code> '''nicht''' gesetzt ist und das Suchmuster gefunden wurde.
** Ein Treffer liegt vor, wenn die Option <code>--invert-match</code> gesetzt ist und das Suchmuster nicht gefunden wurde oder wenn  Option <code>--invert-match</code> '''nicht''' gesetzt ist und das Suchmuster gefunden wurde.
* <code>if (!isHit)</code> Wenn kein Treffer vorliegt, Behandlung des "nachfolgenden Contexts" (Option <code>--above-lines</code>), am Ende ein <code>continue;</code>, damit die Schleife mit dem nächsten Zeile weitermacht.
* <code>if (!isHit)</code> Wenn kein Treffer vorliegt, Behandlung des "nachfolgenden Contexts" (Option <code>--above-lines</code>)
* <code>if (searchOptions.list)</code> Wenn die Option <code>--list</code> gesetzt ist, wird der Dateiname ausgegeben <code>showLine(file);</code> und die Suche in dieser Datei beendet (<code>break</code>).
* <code>if (searchOptions.list)</code> Wenn die Option <code>--list</code> gesetzt ist, wird der Dateiname ausgegeben <code>showLine(file);</code> und die Suche in dieser Datei beendet (<code>break</code>).
* <code>if (!searchOptions.count)</code> Wenn die Option <code>--count</code> nicht gesetzt ist, wird die gefundene Trefferzeile und evt. Umgebungzeilen (Option <code>--below-lines</code>) ausgegeben.
* <code>if (!searchOptions.count)</code> Wenn die Option <code>--count</code> nicht gesetzt ist...
* <code>line2 = formatLine(searchOptions.format, file, line, lineNo, prefixMatch,              match: match);</code> Der Treffer wird aufbereitet ...
* <code>line2 = formatLine(searchOptions.format, file, line, lineNo, prefixMatch,              match: match);</code> Der Treffer wird aufbereitet ...
* <code>showLine(line2);</code> ... und ausgegeben
* <code>showLine(line2);</code> ... und ausgegeben

Bitte kopiere keine Webseiten, die nicht deine eigenen sind, benutze keine urheberrechtlich geschützten Werke ohne Erlaubnis des Urhebers!
Du gibst uns hiermit deine Zusage, dass du den Text selbst verfasst hast, dass der Text Allgemeingut (public domain) ist, oder dass der Urheber seine Zustimmung gegeben hat. Falls dieser Text bereits woanders veröffentlicht wurde, weise bitte auf der Diskussionsseite darauf hin. Bitte beachte, dass alle Info-Theke-Beiträge automatisch unter der „Gemeinfreiheit“ stehen (siehe Info-Theke:Urheberrechte für Einzelheiten). Falls du nicht möchtest, dass deine Arbeit hier von anderen verändert und verbreitet wird, dann klicke nicht auf „Seite speichern“.

Abbrechen Bearbeitungshilfe (wird in einem neuen Fenster geöffnet)