1// Port of 'rm' - remove files for GNU.
2// 'rm' file removal program for Phasor.
3// Copyright (C) 2026 Daniel McGuire.
5// This program is free software: you can redistribute it and/or modify
6// it under the terms of the GNU General Public License as published by
7// the Free Software Foundation, either version 3 of the License, or
8// (at your option) any later version.
10// This program is distributed in the hope that it will be useful,
11// but WITHOUT ANY WARRANTY; without even the implied warranty of
12// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13// GNU General Public License for more details.
15// You should have received a copy of the GNU General Public License
16// along with this program. If not, see <https://www.gnu.org/licenses/>.
22fn show_help() -> void {
23 puts("Usage: rm [OPTION]... FILE...");
24 puts("Remove (unlink) the FILE(s).");
27 puts(" -f, --force ignore nonexistent files");
28 puts(" --help display this help and exit");
29 puts(" --version output version information and exit");
32fn show_version() -> void {
33 puts("rm (Phasor coreutils) 0.1");
34 puts("License GPLv3+: GNU GPL version 3 or later");
35 puts("This is free software: you are free to change and redistribute it.");
36 puts("There is NO WARRANTY, to the extent permitted by law.");
40 var argc = sys_argc();
42 putf("Usage: %s FILE...", sys_argv(0)); puts("");
43 puts("Remove FILE(s).");
51 var arg = sys_argv(i);
58 if (arg == "-f" || arg == "--force") {
64 if (arg == "--help") {
69 if (arg == "--version") {
74 if (arg.startsWith("-")) {
75 puts("rm: invalid option");
76 puts("Try 'rm --help' for more information.");
85 var file = sys_argv(i);
88 puts("rm: cannot remove file");