Commit Graph

2755 Commits

Author SHA1 Message Date
Jeroen van Rijn
3978e7e1ca [xml] Add parse_from_string overload.
`parse` now takes either a `[]u8` slice or a string.
`load_from_file` takes a path string.
2022-04-30 14:43:58 +02:00
gingerBill
b758c696f2 Merge pull request #1746 from odin-lang/sync-cond-futex
`core:sync` Improvements
2022-04-30 13:34:16 +01:00
gingerBill
2720f64c06 Remove unused imports 2022-04-30 13:28:45 +01:00
gingerBill
4e39629a9a Unify implementation for *nix platforms 2022-04-30 13:09:24 +01:00
gingerBill
78a8da5fea Add sync.Parker 2022-04-30 12:37:39 +01:00
gingerBill
d5886c1572 Remove the wait group based semaphore implementation
It was a misuse of the data structure
2022-04-30 12:37:14 +01:00
Jeroen van Rijn
7cc759a855 Merge pull request #1756 from ftphikari/master
sys/windows: add a couple of procedures and types
2022-04-30 12:46:11 +02:00
gingerBill
dd6337224f Correct explicit atomic orderings 2022-04-30 11:42:28 +01:00
hikari
d2bac0c35e sys/windows: fix build issues 2022-04-30 13:40:38 +03:00
hikari
8c7f3fd1e6 sys/windows: change macro and add comment 2022-04-30 13:34:11 +03:00
hikari
40bea95fb0 sys/windows: add GetDCBrushColor 2022-04-30 12:41:04 +03:00
hikari
0ad448f1c7 sys/windows: add a couple of procedures and types 2022-04-30 11:21:37 +03:00
Jeroen van Rijn
9c9c2b483c [i18n] Enable *nix tests again. 2022-04-29 18:41:21 +02:00
Jeroen van Rijn
ff0f0c447f [i18n] Fix segfault on destroy on Linux
Forgot to intern the section string in QT TS loader.
2022-04-29 18:10:13 +02:00
Jeroen van Rijn
aa681932a9 Merge pull request #1336 from Kelimion/i18n
[i18n] Initial i18n support.
2022-04-29 16:27:28 +02:00
Jeroen van Rijn
09e1c0fa27 [i18n] Add tests. 2022-04-29 16:19:13 +02:00
Jeroen van Rijn
957ef8e8fe [i18n/xml] Move I18N XML files to their own assets directory. 2022-04-29 13:16:30 +02:00
Jeroen van Rijn
2e11a8da5b [i18n] Move to core:text/i18n. 2022-04-29 13:02:40 +02:00
sduman
9ce64916e6 Add missing result parameter names
This adds some missing result parameters names back to pop_front_safe.

Currently it the procedure won't compile since it's referencing missing variable names.
2022-04-28 17:08:48 -06:00
Jeroen van Rijn
1289c96e2c [i18n] QT Linguist TS reader. 2022-04-29 00:29:55 +02:00
Jeroen van Rijn
ba23bfb7b9 [i18n] Allow multiple sections. 2022-04-28 20:12:32 +02:00
Jeroen van Rijn
2fae6eda23 [i18n] Initial i18n support.
- Add initial GetText .MO parser
- Add translation struct and helpers
- Pluralized lookup

 TODO:
- Support for more translation catalog file formats.
2022-04-28 18:58:49 +02:00
Jeroen van Rijn
80878264b6 [xml] Speedup. 2022-04-28 15:29:00 +02:00
gingerBill
10cd294cf2 Use Acquire semantics for the futex_wait load shortcut 2022-04-27 15:57:47 +01:00
gingerBill
d6cfb60506 Remove prev from Atomic_Cond 2022-04-27 15:29:21 +01:00
gingerBill
df0df73540 Merge branch 'master' into sync-cond-futex 2022-04-27 15:26:21 +01:00
gingerBill
305510bea0 Update intrinsics.odin 2022-04-27 15:25:56 +01:00
gingerBill
beb698f31d Merge branch 'master' into sync-cond-futex 2022-04-27 15:21:18 +01:00
Jeroen van Rijn
6df21d6a9f Merge branch 'master' into xml 2022-04-27 16:13:47 +02:00
gingerBill
bd73b2845b Unify default Sema and Atomic_Sema behaviour 2022-04-27 15:03:48 +01:00
gingerBill
fbbb0d7610 Update intrinsics.odin for documentation 2022-04-27 14:51:04 +01:00
gingerBill
3a9b0a22e7 Add core:container/intrusive/list 2022-04-27 14:27:33 +01:00
Jeroen van Rijn
c4e0d1efa1 Merge branch 'master' into xml 2022-04-27 14:37:15 +02:00
gingerBill
9349dfba8f Add new builtin container_of 2022-04-27 12:39:45 +01:00
gingerBill
9692496989 Add intrinsics.type_field_type 2022-04-27 12:27:53 +01:00
gingerBill
80df9fbc65 Merge pull request #1745 from eisbehr/patch-1
Make allocator in pool_add_task() explicit
2022-04-26 13:49:44 +01:00
gingerBill
9cf7a31068 Implement _Sema with Atomic_Sema 2022-04-26 13:44:32 +01:00
gingerBill
07d1a42768 Simplify Atomic_Sema implementation 2022-04-26 13:11:34 +01:00
gingerBill
ec8221cb5d Simplify Atomic_Cond implementation 2022-04-26 13:04:50 +01:00
gingerBill
c81fd2e5dd Fix #1644 2022-04-26 11:45:46 +01:00
gingerBill
a412d34574 Fix #1740 2022-04-26 11:35:34 +01:00
Florian Behr
ee67a0b9a1 reorder procedure parameters to make sure the optional argument in pool_add_task() is last, and the argument order is consistent with pool_init() 2022-04-25 14:08:09 +02:00
Florian Behr
ca6a1db757 fix doc comment for pool_init 2022-04-25 13:41:39 +02:00
Florian Behr
e01662c139 Make allocator in pool_add_task() explicit 2022-04-25 13:23:05 +02:00
Jeroen van Rijn
63331ef731 Revert "Merge pull request #1702 from Kelimion/filename_generation"
This reverts commit a40a53b104, reversing
changes made to 5422a3b17e.
2022-04-24 19:53:36 +02:00
Jeroen van Rijn
3d2856db31 Update tests to use new filename generation code. 2022-04-24 14:19:25 +02:00
Tetralux
b44b6e7e50 [path/filepath] Add file stem and long-extension procedures
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'
2022-04-23 20:25:59 +00:00
Jeroen van Rijn
b022167df1 Remove unused fmt. 2022-04-22 17:56:34 +02:00
Jeroen van Rijn
ac9a358c65 [shoco] Replace 2D slices in model with 1D slices. 2022-04-22 17:52:38 +02:00
Jeroen van Rijn
e799476f90 [compress/shoco] Add short string compressor. 2022-04-22 16:55:47 +02:00