aboutsummaryrefslogtreecommitdiff
path: root/core/path/filepath/path.odin
Commit message (Collapse)AuthorAgeFilesLines
* Use `or_break` and `or_continue` where appropriate in the core librarygingerBill2023-09-301-3/+2
|
* Disallow `for in` in favour of `for _ in`gingerBill2023-08-081-1/+1
|
* Add docs to `core:path/filepath`gingerBill2023-02-281-5/+44
|
* [path/filepath] Add file stem and long-extension proceduresTetralux2022-04-231-9/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds stem(), short_stem(), and long_ext(); also adds doc-comments to base() and ext(). The 'stem' is usually 'the name' of the file; the basename without the file extension. To this end, this adds stem(), which is such that: stem(path) + ext(path) = base(path) However, 'file extension' has two different meanings to what constitutes it! > What is the extension of: 'name.tar.gz' ? Colloquially, you would likely think of it as 'a tarball' - which you might think is '.tar.gz'. But, if you're writing code to process a file of this type, you would first treat it as a Gzip file, and then treat the result as a TAR file - i.e: '.gz' ... _followed by_ '.tar'. ext() returns '.gz' here, since that is the most-immediate format that you would need to use to decode it; it would be a Gzip stream. Sometimes though, you do actually want to consider these longer file extensions. Perhaps you're extracting a tarball, and what to know what to call the intermediate tar file; perhaps you want to check to see if this file is a tarball, or just a Gzip file; or maybe you just want 'the name' of the file, and not this "strange 'name-and-part-of-the-extension' thing". So, this also adds short_stem() and long_ext(), such that: short_stem(path) + long_ext(path) = base(path) Thus, we can use either, but the most immediately-useful one is the easiest to reach for: stem('name.tar.gz') -> 'name.tar' ext('name.tar.gz') -> '.gz' short_stem('name.tar.gz') -> 'name' long_ext('name.tar.gz') -> '.tar.gz' These procedures are identical to their counterparts when the path only has a simple extension: stem('name.txt') -> 'name' ext('name.txt') -> '.txt' short_stem('name.txt') -> 'name' long_ext('name.txt') -> '.txt'
* [windows] Fix leak in `glob`.Jeroen van Rijn2022-03-291-1/+1
|
* Fix issue #1537 "filepath.split_list requires a trailing separator"gitlost2022-03-231-2/+8
| | | | | | Does `make()` with `count + 1` and appends final component (note a trailing separator will now result in an empty final component) Adds test "tests/core/path/filepath/test_core_filepath.odin"
* Memory LeakPatric Dexheimer2022-02-201-2/+3
| | | `dir` will leak memory if u use it with allocators that don´t care in freeing the memory at the end ( like arenas or the temp_allocator ) , because `strings.clone` and `strings.concatenate` are not using the passed allocator.
* Convert `ODIN_OS` and `ODIN_ARCH` to use enums rather than use stringsgingerBill2022-01-201-2/+2
|
* Remove unneeded semicolons from the core librarygingerBill2021-08-311-145/+145
|
* Core library clean up: Make range expressions more consistent and replace ↵gingerBill2021-06-141-1/+1
| | | | uses of `..` with `..=`
* Fix linalg.transposegingerBill2021-06-031-1/+0
|
* Or did it?!gingerBill2021-06-021-2/+2
|
* FINALLY fix `lazy_buffer_destroy`gingerBill2021-06-021-2/+2
|
* Fix filepath.lazy_buffergingerBill2021-06-021-2/+3
|
* Clean up filepath.lazy_buffer memory leakgingerBill2021-06-021-1/+7
|
* Fix accidental removal of newlinejockus2021-05-271-0/+1
|
* Remove accidental core:fmt include in path/filepathjockus2021-05-271-1/+0
|
* Fix deleting substring in filepath.releasejockus2021-05-271-8/+8
|
* Update package os for package path/filepath support on macOSgingerBill2021-02-271-24/+77
|
* Keep -vet happygingerBill2020-12-141-2/+1
|
* Merge pull request #752 from powerc9000/patch-4gingerBill2020-10-241-2/+2
|\ | | | | Fix a few bugs in path based code.
| * Fix a few bugs in path based code.Clay Murray2020-10-071-2/+2
| | | | | | Trying to use path.dir and path.rel I found these two issues with the implementation.
* | Improve default temp allocator; Fix filepath.abs behaviour on WindowsgingerBill2020-10-131-3/+3
|/
* Add some comments to explain what the differences between packages path and ↵gingerBill2020-09-261-0/+2
| | | | path/filepath
* Update packages os, path, and filepathgingerBill2020-09-261-8/+152
|
* Add `package path/filepath`; Add `os.stat` for windows (TODO: unix)gingerBill2020-09-251-0/+199