/// /// \file main.cc /// \author kyle /// \date 2023-10-10 /// \brief kyle's editor /// /// \section COPYRIGHT /// Copyright 2023 K. Isom /// /// Permission to use, copy, modify, and/or distribute this software for /// any purpose with or without fee is hereby granted, provided that the /// above copyright notice and this permission notice appear in all copies. /// /// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL /// WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED /// WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR /// BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES /// OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, /// WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, /// ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS /// SOFTWARE. /// #include #include #include "Buffer.h" #include "Cursor.h" static void usage(std::ostream &os, int exitCode) { os << "ke - kyle's editor version " << TOSTRING(KGE_VERSION) << "/" << PlatformCurrent << "\n"; os << "\nUsage:\n"; os << "\tke [files]\n"; exit(exitCode); } void ShowDist(Cursor a, Cursor b) { std::cout << a << " -> " << b << ": " << a.Distance(b) << "\n"; } int main(int argc, char *argv[]) { if ((argc == 2) && (std::string(argv[1]) == "-h")) { /// \todo proper command line parsing usage(std::cout, 0); } for (int i = 1; i < argc; i++) { std::filesystem::path path(argv[i]); std::cout << "[+] target: " << path << "\n"; auto buffer = Buffer(path); std::cout << "\t[+] created buffer " << buffer.Name() << "\n"; /* if (!Buffer::StatusOK(status)) { std::cerr << "[!] failed to read buffer "; std::cerr << buffer.Name() << "\n"; std::cerr << "\t[!] reason: "; std::cerr << Buffer::FileStatusToString(status); std::cerr << "\n"; continue; } */ buffer.PrintBufferStatus(std::cout); buffer.Close(); } return 0; }