vyvy-vi / file-utils Goto Github PK
View Code? Open in Web Editor NEWThis is a file utility tool made with C++
License: BSD 3-Clause "New" or "Revised" License
This is a file utility tool made with C++
License: BSD 3-Clause "New" or "Revised" License
bin/file-utils merge filename1.ext filename2.ext ...
This command should take a variable argument list containing filenames separated by spaces.
This should first check if all the files are legitimate and then it should merge them all in order into a single file.
For now, this should output the merged file to STDOUT, however, in a later iteration we would need to add a flag or argument that allows us to specify an output file.
(If you have any ideas about how to add an output file arg in a neat manner, feel free to ask).
Currently, file-utils uses basic top-down procedural logic-building. Should we move away from that and obtain a more object-oriented design, where we create objects like File
with their set of attributes like length
, size
along with set of public / private methods to read and alter the content?
file-utils delete filename.ext
This command should delete the file passed, and output some data about the space freed, etc.
Before deleting, this should check if the user has permissions to delete the file, and it should also error out if someone passes in the name of a directory.
Tests for the following commands are needed:
Set up the project in your local environment, following the instructions given in the README file. Run the bin/file-utils help
command and check if the output looks like this -
If there are any discrepancies, feel free to open an issue under bug report
.
It would be great if we can test and confirm if this renders properly in the following environments:
bin/file-utils move filename1.ext filename2.ext
On running this command, the contents of filename1.ext
should be read and copied to filename2.ext
. After that, filename1.ext
should be deleted.
Check the information given about the merge command in https://github.com/Vyvy-vi/file-utils/blob/main/src/helpText.hpp and try to create a class for the command in src/commands. You could look at src/commands/read.hpp
and src/commands/read.cpp
for how to create the class.
bin/file-utils diff filename1.txt filename2.txt
This command should generate a diff using the two filenames provided, and output it to STDOUT. In a later iteration, we could add an option or a flag for an output filename.
Check the information given about the version command in https://github.com/Vyvy-vi/file-utils/blob/main/src/helpText.hpp and try to create a class for the command in src/commands. You could look at src/commands/read.hpp
and src/commands/read.cpp
for how to create the class.
GO through the setup process given in the README.md file, and give feedback about what changes need to be made to the documentation
The current version assumes that the user already has make
installed
The README.md
file should also specify how to download make.
https://stackoverflow.com/questions/2532234/how-to-run-a-makefile-in-windows
Code was modified to include individual commands as subclasses of the Command
class.
Open main.cpp
and implement the parsing logic used by the if-else statements to map the Args object to a given command based on the value in the first arg. It's alright if the -h flag breaks.
Check the information given about the move command in https://github.com/Vyvy-vi/file-utils/blob/main/src/helpText.hpp and try to create a class for the command in src/commands. You could look at src/commands/read.hpp
and src/commands/read.cpp
for how to create the class.
Check the information given about the delete command in https://github.com/Vyvy-vi/file-utils/blob/main/src/helpText.hpp and try to create a class for the command in src/commands. You could look at src/commands/read.hpp
and src/commands/read.cpp
for how to create the class.
Check the information given about the copy command in https://github.com/Vyvy-vi/file-utils/blob/main/src/helpText.hpp and try to create a class for the command in src/commands. You could look at src/commands/read.hpp
and src/commands/read.cpp
for how to create the class.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.