summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Change normalize_path to a struct methodA Farzat7 days1-49/+50
| | | | | | | This means there is no need to call system API to get the CWD each time. In addition, some operations such as making root and origin absolute happen only once. The functions are also smaller and more straight-forward overall.
* Reject incorrect inputs which go outside fs rootA Farzat7 days1-9/+54
|
* Convert to absolute paths in normalize_pathA Farzat7 days1-13/+73
| | | | | | | | | | This round adds tests that provide a mixture of absolute and relative paths, forcing it to standardize by making them all absolute upfront. To decouple tests from `env::current_dir()`, a specialized internal function was created for tests. The original function simply calls `env::current_dir()` and passes its return value to the hidden function, on which tests are run.
* Make normalize_to_root return best-effortA Farzat8 days1-7/+12
| | | | | | | | | The previous verion failed if recursive `root.parent()` reached an error, but thinking about it, if the two paths have different starting points (like Windows drives), then the desirable function would be to return the absolute target path as-is. Naturally, the current funtion gives a wrong output if the supplied arguments are not absolute, but that shall be enforced using a future test.
* Make normalize return paths relative to rootA Farzat8 days1-11/+38
| | | | | This is still not complete, as it panics if target_path is not reachable from root.
* Add basic path normalization relative to originA Farzat9 days1-7/+28
|
* Start by normalizing user input filenamesA Farzat9 days1-0/+43
| | | | | | The filenames displayed in the output markdown should be consistent, regardless of the way they were input to the program (absolute, relative). They should always be relative to the project root.
* Init cargo projectA Farzat2026-03-111-0/+3