Massive reformating and cleanup

This commit is contained in:
2024-12-06 21:07:54 +01:00
parent 79390b94b7
commit d2cbdc2910
33 changed files with 1030 additions and 1100 deletions

View File

@ -4,45 +4,43 @@
namespace fsh {
class CmdWc : public Command {
protected:
virtual void register_flags() override {
ArgFactory& factory = get_factory();
factory.add_input_rule();
factory.add_rule("-c");
factory.add_rule("-w");
}
class CmdWc : public Command {
int count_chars(std::istream& in) {
int i = 0;
char c;
while(in.get(c)) i++;
return i;
}
int count_words(std::istream& in) {
int i = 0;
char c;
bool prev_space = true;
while(in.get(c)) {
i+= prev_space & !std::isspace(c);
prev_space = std::isspace(c);
protected:
virtual void register_flags() override {
ArgFactory& factory = get_factory();
factory.add_input_rule();
factory.add_rule("-c");
factory.add_rule("-w");
}
return i;
}
virtual void run(std::istream& in, std::ostream& out, ArgManager& args) override {
bool prev_space = true;
if(args.get("-c")) {
out << count_chars(in) << "\n";
} else if (args.get("-w")) {
out << count_words(in) << "\n";
} else {
throw std::invalid_argument("Didn't provide flag");
int count_chars(std::istream& in) {
int i = 0;
char c;
while (in.get(c)) i++;
return i;
}
}
};
int count_words(std::istream& in) {
int i = 0;
char c;
bool prev_space = true;
while (in.get(c)) {
i += prev_space & !std::isspace(c);
prev_space = std::isspace(c);
}
return i;
}
virtual void run(std::istream& in, std::ostream& out, ArgManager& args) override {
if (args.get("-c")) {
out << count_chars(in) << "\n";
} else if (args.get("-w")) {
out << count_words(in) << "\n";
} else {
throw std::invalid_argument("Didn't provide flag");
}
}
};
}