Jeroen van Rijn and GitHub
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
Jeroen van Rijn
9c9c2b483c
[i18n] Enable *nix tests again.
2022-04-29 18:41:21 +02:00
Jeroen van Rijn
819345caa6
Disable i18n test for *nix for now.
2022-04-29 18:28:42 +02:00
Jeroen van Rijn and GitHub
11ceb3973d
Merge pull request #1754 from Kelimion/i18n
...
[i18n] Fix segfault on cleanup on Linux
2022-04-29 18:20:54 +02:00
Jeroen van Rijn
36263399a0
[i18n] Enable i18n test on Linux.
2022-04-29 18:13:46 +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 and GitHub
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
Jeroen van Rijn and GitHub
0297db6f2e
Merge pull request #1752 from sduman/patch-1
...
Add missing result parameter names
2022-04-29 01:21:35 +02: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
e53ba3b116
Allow -error-pos-style:default as an alias for odin
2022-04-28 18:18:25 +02:00
Jeroen van Rijn
1ed84a064b
Make -error-pos-style case-insensitive.
2022-04-28 18:12:55 +02:00
Jeroen van Rijn and GitHub
79019c7a09
Merge pull request #1751 from Kelimion/error-pos-style
...
Fix -error-pos-style:unix
2022-04-28 17:52:47 +02:00
Jeroen van Rijn
a1002e6960
Fix -error-pos-style:unix
2022-04-28 17:46:36 +02:00
Jeroen van Rijn and GitHub
62139cb5a4
Merge pull request #1342 from Kelimion/xml
...
Initial version of `core:encoding/xml`.
2022-04-28 15:54:28 +02:00
Jeroen van Rijn
127b0ba65e
[xml] Enable tests.
2022-04-28 15:46:36 +02:00
Jeroen van Rijn
80878264b6
[xml] Speedup.
2022-04-28 15:29:00 +02:00
Jeroen van Rijn
6df21d6a9f
Merge branch 'master' into xml
2022-04-27 16:13:47 +02:00
Jeroen van Rijn and GitHub
c5982e52d5
Merge pull request #1748 from Kelimion/test-assets
...
Move Odin CI test assets over to its own repository.
2022-04-27 16:04:15 +02:00
Jeroen van Rijn
da0f722aad
Move Odin CI test assets over to its own repository.
2022-04-27 15:56:45 +02:00
Jeroen van Rijn
c4e0d1efa1
Merge branch 'master' into xml
2022-04-27 14:37:15 +02:00
Jeroen van Rijn
d262eda91c
Update Makefile
2022-04-26 15:10:31 +02:00
Jeroen van Rijn
40f0f5ad8d
Update CI for math library.
2022-04-26 15:01:09 +02:00
Jeroen van Rijn
1c03e68057
Update CI.
2022-04-26 14:56:28 +02:00
Jeroen van Rijn and GitHub
f1c1cfb6d2
Merge pull request #1747 from Kelimion/filename-merge
...
Filename generation
2022-04-26 14:52:58 +02:00
Jeroen van Rijn
ba5e33bc35
Update CI workflow.
2022-04-26 14:51:16 +02:00
Jeroen van Rijn
b68ab0dd6d
Merge branch 'master' into filename-merge
2022-04-26 14:45:00 +02:00
Jeroen van Rijn
5e11ad2e1e
Update test paths.
2022-04-26 14:23:23 +02:00
Jeroen van Rijn
a5342a0126
Address edge cases.
2022-04-26 13:14:09 +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 and GitHub
a40a53b104
Merge pull request #1702 from Kelimion/filename_generation
...
Compiler: Add early error for output path being a directory.
2022-04-24 15:15:51 +02:00
Jeroen van Rijn
9f8d90f466
Update CI paths for issue tests.
2022-04-24 14:28:00 +02:00
Jeroen van Rijn
3d2856db31
Update tests to use new filename generation code.
2022-04-24 14:19:25 +02:00
Jeroen van Rijn
f4723aea4c
Remove redundant bit for non-Windows.
2022-04-24 13:37:26 +02:00
Jeroen van Rijn
76d48b38d3
Compiler: Allow -out: to not have an extension on *nix for executables (only).
2022-04-24 13:37:26 +02:00
Jeroen van Rijn
3cab2592c3
Compiler: Add early error for output path being a directory.
...
- Introduce new `Path` type and an array of build paths on the build context.
- Resolve input and output paths/files early (before parsing).
- Error early if inputs are missing or outputs are directories.
- Plumb new file path generation into linker stage instead of its adhoc method.
TODO:
- Remove more adhoc file path generation in parser and linker stage.
- Make intermediate object file generation use new path system.
- Round out and robustify Path helper functions.
2022-04-24 13:37:26 +02:00
Jeroen van Rijn and GitHub
5422a3b17e
Merge pull request #1743 from Tetralux/filepath-stems
...
[path/filepath] Add file stem and long-extension procedures
2022-04-23 22:33:31 +02:00
Jeroen van Rijn and GitHub
849efff070
Merge pull request #1741 from Kelimion/shoco
...
Add Shoco short string compression.
2022-04-22 18:06:31 +02: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
Jeroen van Rijn and GitHub
b4f8efcbe6
Merge pull request #1739 from ftphikari/master
...
strings: add levenshtein_distance procedure
2022-04-21 20:31:11 +02:00
Jeroen van Rijn and GitHub
3dd9da1b66
Merge pull request #1733 from ftphikari/master
...
sys/windows: add some procedures
2022-04-19 20:41:32 +02:00
Jeroen van Rijn and GitHub
e8c0be23f2
Merge pull request #1737 from Kelimion/fix_json_unmarshal
...
[json/unmarshal] Fix quoted strings.
2022-04-19 20:40:40 +02:00
Jeroen van Rijn
a30b9b17b3
[json/unmarshal] Fix quoted strings.
2022-04-19 20:32:22 +02:00
Jeroen van Rijn
29b2c04766
Revert "Fix unmarshal for escaped strings."
...
This reverts commit 581255bf23 .
2022-04-19 20:11:02 +02:00
Jeroen van Rijn and GitHub
d869ba7bcd
Merge pull request #1736 from Kelimion/fix_json_unmarshal
...
Fix unmarshal for escaped strings.
2022-04-19 20:05:04 +02:00
Jeroen van Rijn
581255bf23
Fix unmarshal for escaped strings.
2022-04-19 20:04:38 +02:00
Jeroen van Rijn and GitHub
b51358a01c
Merge pull request #1734 from hanabi1224/lru-alloc-fix
...
[core:container/lru] Avoid unnecessary allocations
2022-04-19 15:04:49 +02:00
Jeroen van Rijn
323e7a2d02
Add JSON unmarshal test.
2022-04-19 15:03:09 +02:00
Jeroen van Rijn
7654afc2db
Revert "Update mem.nil_allocator to match the same in runtime"
...
The change broke JSON unmarshaling.
This reverts commit 4484a3433d .
2022-04-19 15:01:54 +02:00
Jeroen van Rijn and GitHub
d99ba9c073
Merge pull request #1731 from Kelimion/targa
...
[image/tga] Writer for RGB(A) 8-bit images.
2022-04-18 23:36:45 +02:00
Jeroen van Rijn
fdd24f787f
[image/tga] Writer for RGB(A) 8-bit images.
2022-04-18 23:28:34 +02:00
Jeroen van Rijn
df4a0c62ad
Delete accidentally added test artefact.
2022-04-18 19:10:53 +02:00
Jeroen van Rijn and GitHub
e3e3309a9b
Merge pull request #1728 from Tetralux/more-slice-helpers
...
Duplicate some basic slice procedures from core:mem into core:slice
2022-04-18 19:05:20 +02:00
Jeroen van Rijn and GitHub
20b70c3b7b
Merge pull request #1727 from hanabi1224/fix-lru
...
Fix bugs in core:container/lru
2022-04-18 13:39:23 +02:00
Jeroen van Rijn and GitHub
e738e93da0
Merge pull request #1723 from ftphikari/master
...
sys/windows: add timeEndPeriod
2022-04-17 18:27:07 +02:00
Jeroen van Rijn
939973acd7
[QOI] Add to examples/all.
2022-04-17 12:35:34 +02:00
Jeroen van Rijn and GitHub
70cbffd58b
Merge pull request #1722 from Kelimion/varint_streamed
...
[LEB128] Add byte-at-a-time ILEB decoder.
2022-04-16 18:19:38 +02:00
Jeroen van Rijn
6d0ba8d189
[LEB128] Add byte-at-a-time ILEB decoder.
2022-04-16 18:14:01 +02:00
Jeroen van Rijn and GitHub
b6f3fa6ee1
Merge pull request #1719 from ftphikari/precise_sleep
...
time: add accurate sleep procedure
2022-04-16 16:52:46 +02:00
Jeroen van Rijn
91037766d2
Update time.odin
...
Add caveats.
2022-04-16 16:48:08 +02:00
Jeroen van Rijn and GitHub
8e7ddccf00
Merge pull request #1717 from ftphikari/master
...
sys/windows: add procedures and types
2022-04-16 12:38:39 +02:00
Jeroen van Rijn and GitHub
a5773f1657
Merge pull request #1718 from Kelimion/varint_streamed
...
Add uleb128 byte-at-a-time decoder.
2022-04-16 02:20:07 +02:00
Jeroen van Rijn
44316401c9
Add uleb128 byte-at-a-time decoder.
2022-04-16 02:07:57 +02:00
Jeroen van Rijn and GitHub
f6fa553572
Merge pull request #1708 from Kelimion/varint_doc
...
[varint] Clear up doc.odin.
2022-04-13 00:03:58 +02:00
Jeroen van Rijn
8310436350
[varint] Clear up doc.odin.
2022-04-13 00:03:36 +02:00
Jeroen van Rijn and GitHub
f92ffe60e7
Merge pull request #1699 from ftphikari/master
...
mem: replace size procedures with constants
2022-04-12 20:12:05 +02:00
Jeroen van Rijn and GitHub
de72754d7a
Merge pull request #1707 from Kelimion/qoi
...
[image] Add QOI load/save.
2022-04-12 19:33:11 +02:00
Jeroen van Rijn
bf712e9355
[QOI] Add support for RGB images (previously loader always output RGBA).
...
Also add QOI to CI test suite by roundtripping 8-bit RGB(A) through QOI and checking the hashes match.
2022-04-12 19:23:48 +02:00
Jeroen van Rijn
ab9457346d
[PNG] Remove debug printf.
2022-04-12 18:26:10 +02:00
Jeroen van Rijn
15b440c4f1
[image] Add QOI load/save.
...
Additionally:
- Firm up PNG loader with some additional checks.
- Add helper functions to `core:image` to expand grayscale to RGB(A), and so on.
TODO: Possibly replace PNG's post-processing steps with calls to the new helper functions.
2022-04-12 18:14:09 +02:00
Jeroen van Rijn and GitHub
50b9c48609
Merge pull request #1697 from Kelimion/build_file
...
Give build/run/check/test/doc a `-file` flag.
2022-04-05 20:52:28 +02:00
Jeroen van Rijn
767ed21bfe
-file for tests\issues.
2022-04-05 20:47:37 +02:00
Jeroen van Rijn
bb9165edd2
Add -help to CI tests.
2022-04-05 20:45:00 +02:00
Jeroen van Rijn
ad0a413b40
Give build/run/check/test/doc a -file flag.
...
A package has canonically always been a directory, but odin allowing you to build a single-file package confused newcomers who didn't understand why they could then not access variables and procedures from another file in the same directory.
This change disallows building single-file packages by default, requiring the `-file` flag to acknowledge you understand the nuance.
`-help` for these commands also clarifies the difference.
```
W:\Odin>odin build -help
odin is a tool for managing Odin source code
Usage:
odin build [arguments]
build Compile directory of .odin files as an executable.
One must contain the program's entry point, all must be in the same package.
Use `-file` to build a single file instead.
Examples:
odin build . # Build package in current directory
odin build <dir> # Build package in <dir>
odin build filename.odin -file # Build single-file package, must contain entry point.
Flags
-file
Tells `odin build` to treat the given file as a self-contained package.
This means that `<dir>/a.odin` won't have access to `<dir>/b.odin`'s contents.
```
```
W:\Odin>odin run examples\demo\demo.odin
ERROR: `odin run` takes a package as its first argument.
Did you mean `odin run examples\demo\demo.odin -file`?
The `-file` flag tells it to treat a file as a self-contained package.
```
2022-04-05 20:26:18 +02:00
Jeroen van Rijn and GitHub
e7dc00b758
Merge pull request #1695 from ftphikari/master
...
sys/windows: add Dwmapi.lib binding
2022-04-05 13:10:52 +02:00
Jeroen van Rijn and GitHub
79ec172797
Merge pull request #1694 from Kelimion/define_help
...
Add extra help line for define/config.
2022-04-03 21:11:19 +02:00
Jeroen van Rijn
2e6ad2a711
Add extra help line for define/config.
2022-04-03 21:06:06 +02:00
Jeroen van Rijn and GitHub
6be05f315d
Merge pull request #1693 from Skytrias/skytrias-strings-documentation-rest
...
documentation for the rest of the strings library
2022-04-03 19:54:19 +02:00
Jeroen van Rijn and GitHub
ab91fa6ad5
Merge pull request #1692 from Kelimion/easy_font
...
[vendor:easy_font] API improvements.
2022-04-03 19:08:18 +02:00
Jeroen van Rijn
376327c87b
[vendor:easy_font] API improvements.
...
Add `print(x, y, text, color, quad_buffer)` version that takes `[]quad`.
(Same internal memory layout as []u8 API, but more convenient for the caller.)
Add optional `scale := f32(1.0)` param to `print` to embiggen the glyph quads.
```odin
// Example for use with vendor:raylib
quads: [999]easy_font.Quad = ---
color := rl.GREEN
c := transmute(easy_font.Color)color
num_quads := easy_font.print(10, 60, TEXT, c, quads[:])
for q in quads[:num_quads] {
tl := q.tl.v
br := q.br.v
color = transmute(rl.Color)q.tl.c
r := rl.Rectangle{x = tl.x, y = tl.y, width = br.x - tl.x, height = br.y - tl.y}
// Yes, we could just use the `color` from above, but this shows how to get it back from the vertex.
// And in practice this code will likely not live as close to the `easy_font` call.
rl.DrawRectangleRec(r, color)
}
```
2022-04-03 18:53:27 +02:00
Jeroen van Rijn and GitHub
f8f91e52e0
Merge pull request #1691 from eisbehr/stb_easy_font_fix
...
Fixes for stb_easy_font
2022-04-03 15:30:52 +02:00
Jeroen van Rijn
cb5a6b531a
Allow optional message for #assert.
2022-04-02 15:31:50 +02:00
Jeroen van Rijn and GitHub
c930a3b4c8
Merge pull request #1685 from ftphikari/master
...
sys/windows: add a couple of procedures and types
2022-04-02 12:55:51 +02:00
Jeroen van Rijn and GitHub
dc012ed6dd
Merge pull request #1682 from ftphikari/master
...
sys/windows: add intrinsics.constant_utf16_cstring
2022-04-02 03:27:58 +02:00
Jeroen van Rijn
c21c993646
[strings] fix.
2022-04-02 01:54:35 +02:00
Jeroen van Rijn and GitHub
4044a577cc
Merge pull request #1683 from Kelimion/big_nails
...
[math/big] Tell Python test runner how many nails we use.
2022-04-01 16:33:30 +02:00
Jeroen van Rijn
581d53b96b
[math/big] Tell Python test runner how many nails we use.
...
`_DIGIT_NAILS` is defined as 4, meaning that we use 60 out of every 64 bits.
We can use as few as 1 nail, using 63 bits out of every 64, and all tests will still pass.
However, it needs more testing to see if that's a worthwhile change to make.
For the tests to work properly when changing the nails, Python needs to know about it as well.
In addition, compile the big math code with `-o:speed` going forward.
2022-04-01 16:24:27 +02:00
Jeroen van Rijn and GitHub
76cf667a29
Merge pull request #1681 from colrdavidson/fix-nightly
...
only install the right version of llvm
2022-03-31 22:47:37 +02:00
Jeroen van Rijn and GitHub
9ea45d35db
[ease] Fix flux_stop.
2022-03-31 12:53:04 +02:00
Jeroen van Rijn and GitHub
a3c81374be
Merge pull request #1670 from ftphikari/master
...
sys/windows: add WM_SYSCOMMAND related constants
2022-03-29 22:11:16 +02:00
Jeroen van Rijn and GitHub
740ba6ad47
Merge pull request #1669 from Kelimion/fix_glob_leak
...
[windows] Fix leak in `glob`.
2022-03-29 16:27:27 +02:00
Jeroen van Rijn
df32b5b46c
[windows] Fix leak in glob.
2022-03-29 16:13:17 +02:00
Jeroen van Rijn and GitHub
085fa199ea
Merge pull request #1668 from ftphikari/master
...
sys/windows: add SetTimer() and KillTimer() procedures
2022-03-29 10:09:49 +02:00
Jeroen van Rijn and GitHub
6e701ef36d
Merge pull request #1666 from Kelimion/improve_string_cut
...
[strings] Improve `cut`, add tests for it.
2022-03-27 22:19:24 +02:00