X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/45e1f8b055043e54be35462852ab6649d634da7c..2a49908006b177c4d6354309333d06b1b96e4887:/lunaix-os/usr/ls/ls.c diff --git a/lunaix-os/usr/ls/ls.c b/lunaix-os/usr/ls/ls.c new file mode 100644 index 0000000..646dd6b --- /dev/null +++ b/lunaix-os/usr/ls/ls.c @@ -0,0 +1,34 @@ +#include +#include +#include + +int +main(int argc, const char* argv[]) +{ + const char* path = "."; + if (argc > 1) { + path = argv[1]; + } + + DIR* dir = opendir(path); + + if (!dir) { + return errno; + } + + struct dirent* dent; + + while ((dent = readdir(dir))) { + if (dent->d_type == DT_DIR) { + printf(" \033[3m%s\033[39;49m\n", dent->d_name); + } else if (dent->d_type == DT_SYMLINK) { + printf(" \033[13m%s@\033[39;49m\n", dent->d_name); + } else { + printf(" %s\n", dent->d_name); + } + } + + closedir(dir); + + return 0; +} \ No newline at end of file