feat(core): the file explorer, text editor and image viewer's file operations after Java, measured against Java
FileCases does what the windows of FILIUS' file explorer and text editor do to a host's files: new folder, delete, copy, cut and paste, rename, import, save and save as. The core's filePrograms.ts does the same on the node's file system; the file system renames an entry in its place, as Java's tree does. Departures from Java: a folder name that comes to no name makes nothing, a paste onto a name there already is refused, a rename to a name with a slash or blanks at its ends is refused and one of the case only is done, save as and import onto a folder's name are refused. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -870,6 +870,40 @@ Gemessen (02.10.2026):
|
||||
ebenso eine unter Last (andere Sitzungen auf dem Rechner: die erste
|
||||
ARP-Runde dauert dann knapp 300 statt 225 ms).
|
||||
|
||||
## Datei-Explorer, Texteditor, Bildbetrachter (F3.5b)
|
||||
|
||||
`FileCases` tut, was die Fenster dieser Programme mit den Dateien eines
|
||||
Rechners tun (`GUIApplicationFileExplorerWindow`,
|
||||
`GUIApplicationTextEditorWindow`; der Bildbetrachter liest nur), Schritt für
|
||||
Schritt aus `file-programs.cases.txt`, ohne laufendes Netz, ab den Dateien
|
||||
von `TerminalCases`, in beiden Sprachen. Geschrieben werden je Schritt die
|
||||
Rückgabe (Meldung, Ausnahme) und alle Dateien, dazu die Meldungen des
|
||||
Explorers.
|
||||
|
||||
Gemessen (02.10.2026):
|
||||
|
||||
* Neuer Ordner (`erstelleVerzeichnis`): der Name ist ein Pfad (`a/b` legt b
|
||||
in a an, `/x` unter der Wurzel, `../x` darüber); ein vorhandener Name
|
||||
ändert nichts; `..` an der Wurzel legt einen Ordner ohne Namen an.
|
||||
* Einfügen: eine tiefe Kopie ans Ende des Ordners; ein zweites Einfügen
|
||||
desselben Namens legt eine zweite Datei gleichen Namens an; nicht in das
|
||||
Kopierte selbst oder darunter (`fileexplorer_msg19`); Ausschneiden und in
|
||||
denselben Ordner einfügen schiebt den Eintrag ans Ende.
|
||||
* Umbenennen: der Eintrag behält seine Stelle; ein leerer oder vorhandener
|
||||
Name ändert nichts, auch eine reine Änderung der Groß-/Kleinschreibung
|
||||
(Java findet den Eintrag selbst); `a/b` wird eine Datei mit `/` im Namen;
|
||||
Leerzeichen am Rand bleiben.
|
||||
* Import (`FileExplorer.addFile`): der Typ nach dem Namen der lokalen Datei
|
||||
(`config/filetypes.txt`; ohne Endung Text, unbekannte Endung kein Typ);
|
||||
Text Zeile für Zeile, jede mit CR LF (auch die letzte), UTF-8; anderes als
|
||||
Base64; über 150 000 Byte abgelehnt; ohne Namen `noName`; auf einen
|
||||
vorhandenen Namen Inhalt und Typ ersetzt, Schreibweise bleibt; auf einen
|
||||
Ordnernamen eine Ausnahme.
|
||||
* Texteditor: „Speichern“ ersetzt den Inhalt der offenen Datei, „Speichern
|
||||
unter“ (`speicherDatei`) legt eine Datei vom Typ `text` an oder ersetzt
|
||||
Inhalt und Typ einer gleichnamigen (auch eines Bildes); auf einen
|
||||
Ordnernamen eine Ausnahme, in einem fehlenden Ordner nichts.
|
||||
|
||||
## Befehlszeile, traceroute und tcpdump (F3.4c)
|
||||
|
||||
Weitere Abläufe von `TerminalRun` auf `terminal-net`. Gemessen (02.10.2026):
|
||||
|
||||
Reference in New Issue
Block a user