Files
fsh-oop/include/cmd/cmd_head.hpp

29 lines
691 B
C++

#pragma once
#include "cmd/cmd_base.hpp"
namespace fsh {
class CmdHead : public Command {
protected:
virtual void register_flags() override {
ArgFactory& factory = get_factory();
factory.add_rule<int>((std::string) "-n", true);
factory.add_input_rule();
}
virtual void run(std::istream& in, std::ostream& out, ArgManager& args) override {
std::string s;
std::string o;
int count = args.get<int>("-n").value();
while (std::getline(in, s)) {
if(count-- < 1) break;
o += s + "\n";
}
out << o;
}
};
}