aboutsummaryrefslogtreecommitdiff
path: root/core/path
Commit message (Collapse)AuthorAgeFilesLines
* `for in string16`; Support `string16` across coregingerBill2025-08-021-2/+2
|
* Disable filepath/match.odin and filepath/walk.odin compilation on jssergeypdev2025-07-192-0/+2
| | | | targets
* Enable `odin check examples/all` for JS.Jeroen van Rijn2025-06-041-0/+36
|
* os/os2: wasi target supportLaytan Laats2025-01-183-0/+38
|
* Haiku: small fixes across coreavanspector2025-01-101-1/+1
|
* Merge pull request #4427 from laytan/posix-additionsgingerBill2024-10-301-32/+5
|\ | | | | Finish sys/posix with Linux and partial Windows support & clean up other packages as a result
| * clean up dynlib and path/filepath with sys/posixLaytan2024-10-281-32/+5
| |
* | Fix possible leak in recursive `filepath.glob`gingerBill2024-10-271-0/+7
|/
* Moved all packages in core, base, vendor, tests and examples to use new #+ ↵Karl Zylinski2024-09-141-1/+1
| | | | file tag syntax.
* Merge pull request #3971 from jasonKercher/os2-process-linuxgingerBill2024-08-162-28/+33
|\ | | | | os2 process linux implementation
| * update core:filepath's clean, join and split_list to return optional ↵jason2024-08-162-28/+33
| | | | | | | | Allocator_Errors
* | posix: add packageLaytan Laats2024-08-141-4/+3
|/
* Replace `err != 0` with `err != nil` where possiblegingerBill2024-08-043-20/+13
|
* Begin mapping `os.Error` in the rest of the codebasegingerBill2024-08-041-3/+3
|
* `os.Errno` -> `os.Error`gingerBill2024-08-042-6/+6
|
* Use `union #shared_nil` for `os.Error`gingerBill2024-08-041-2/+2
|
* Fix loads of indentation issues with mixing spaces and tabsgingerBill2024-06-291-1/+1
|
* Use correct `__error` link name for FreeBSDFeoramund2024-06-111-1/+1
|
* Updated core lib and did cleanupAndreas T Jonsson2024-04-181-2/+2
| | | | | Updated core with some path related functions and did some minor code cleanup. Most of the standard library function is just a matter of copy what is there for the other BSDs.
* Fix filepath.rel allocation behaviourgingerBill2024-02-061-16/+11
|
* Remove `core:os` dependency for `base:runtime`gingerBill2024-01-281-1/+1
|
* Replace `core:*` to `base:*` where appropriategingerBill2024-01-283-3/+3
|
* Fixed typo "fot" and clarified slashpath.extJesse Stiller2023-10-301-3/+3
|
* Use `or_break` and `or_continue` where appropriate in the core librarygingerBill2023-09-303-10/+4
|
* Disallow `for in` in favour of `for _ in`gingerBill2023-08-081-1/+1
|
* Add docs to `core:path/filepath`gingerBill2023-02-282-6/+46
|
* Add `runtime.DEFAULT_TEMP_ALLOCATOR_TEMP_GUARD` where appropriategingerBill2023-02-103-13/+20
|
* Add `user_data: rawptr` to `filepath.Walk_Proc` callbackgingerBill2022-12-051-8/+8
|
* Change open to be read only when opening directoryDaniel Gavin2022-07-251-1/+1
|
* [path/slashpath] Change join() to take a slice instead of varargsTetralux2022-07-211-1/+1
| | | | Achieves parity with filepath.join(), which was similarly changed a while back.
* [path/filepath] Change join() to take a []string instead of varargsTetralux2022-05-213-3/+3
| | | | | | | | | This makes passing an allocator easier, as you no longer have to resort to named arguments: Before: `join(a, b, c)` became `join(elems={a, b, c}, allocator=ally)` After: `join({a, b, c})` becomes `join({a, b, c}, ally)`
* Minor fixgingerBill2022-05-121-1/+1
|
* [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-292-5/+11
|
* 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"
* initial OpenBSD supportSébastien Marie2022-02-251-1/+6
|
* 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.
* Merge branch 'master' into odin-global-constants-as-enumsgingerBill2022-02-152-3/+2
|\
| * fix -vet for filepath/match.odinCiD-2022-02-081-2/+1
| |
| * os.open does r/d as default which makes a call to open a dir invalid this ↵Platin212022-02-051-1/+1
| | | | | | | | should fix this problem
* | Convert `ODIN_OS` and `ODIN_ARCH` to use enums rather than use stringsgingerBill2022-01-203-9/+9
|/
* Move `core:path` to `core:path/slashpath`gingerBill2022-01-173-3/+8
| | | | This is to reduce the confusion that occurs between that package and the `core:path/filepath` package
* fix memory leak in path.joinDale Weiler2021-11-221-1/+1
|
* Correct `context.allocator` usagegingerBill2021-09-191-4/+5
|
* Strip semicolons in core which were missinggingerBill2021-09-081-17/+17
|
* Remove unneeded semicolons from the core librarygingerBill2021-08-316-472/+472
|
* Add more uses of `or_return`gingerBill2021-08-151-4/+1
|
* 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
|