Commit Graph

1040 Commits (0ccc18686921dce8e7f2feb95eed83b894ca8df4)

Author SHA1 Message Date
Andrew Kelley 652f4bdf62 disallow unknown-length pointer to opaque
This also means that translate-c has to detect when a pointer to
opaque is happening, and use `*` instead of `[*]`.

See #1059
2018-06-05 18:03:21 -04:00
Jimmi HC 02cb220faf Renamed "(int/float literal)" to "comptime_int/float" 2018-06-05 11:14:43 +02:00
Andrew Kelley e53b683bd3
Pointer Reform: proper slicing and indexing (#1053)
* enable slicing for single-item ptr to arrays
 * disable slicing for other single-item pointers
 * enable indexing for single-item ptr to arrays
 * disable indexing for other single-item pointers

see #770
closes #386
2018-06-04 22:11:14 -04:00
Andrew Kelley d21a1922eb support `zig fmt: off` and `zig fmt: on` between top level decls
closes #1030
closes #1033
2018-06-04 12:15:02 -04:00
Andrew Kelley 11e7e03139 Merge branch 'zig-custom-format' of https://github.com/tgschultz/zig into tgschultz-zig-custom-format
I removed the code that checks for type signature and type.
A function named `format` is enough for zig to give it a try.
2018-06-04 11:06:55 -04:00
Andrew Kelley 96164ce613 disallow single-item pointer indexing
add pointer arithmetic for unknown length pointer
2018-06-04 01:39:57 -04:00
Andrew Kelley f06bce5dda introduce [*] for unknown length pointers
See #770

Currently it does not have any different behavior than `*`
but it is now recommended to use `[*]` for unknown length
pointers to be future-proof.

Instead of [ * ] being separate tokens as the proposal
suggested, this commit implements `[*]` as a single token.
2018-06-02 04:04:23 -04:00
Andrew Kelley 7b386ea242 fix build file template
See #1035
2018-06-01 21:51:54 -04:00
Arthur Elliott 08693411d2 fix typo (#1034) 2018-06-01 12:23:07 -04:00
Andrew Kelley e29d12d821 fix incorrect address-of syntax on windows 2018-06-01 01:29:34 -04:00
Andrew Kelley 5f38a01ede run zig fmt 2018-06-01 01:22:35 -04:00
Andrew Kelley 4d13ab07de std.zig: update to new pointer syntax 2018-06-01 01:19:26 -04:00
Andrew Kelley 2f614c42fe ir: rip out special logic for using addr-of instruction for types
See #588
2018-05-31 18:23:39 -04:00
Andrew Kelley fcbb7426fa use * for pointer type instead of &
See #770

To help automatically translate code, see the
zig-fmt-pointer-reform-2 branch.

This will convert all & into *. Due to the syntax
ambiguity (which is why we are making this change),
even address-of & will turn into *, so you'll have
to manually fix thes instances. You will be guaranteed
to get compile errors for them - expected 'type', found 'foo'
2018-05-31 17:28:07 -04:00
Andrew Kelley a05acaf9fd Add --color CLI option to zig fmt
It doesn't actually do terminal color yet because we need to add
cross platform terminal color abstractions. But it toggles between
the single line error reporting and the multiline error reporting.

See #1026
2018-05-30 18:26:09 -04:00
Andrew Kelley ea58f4a5a9 run zig fmt on the codebase 2018-05-30 16:09:11 -04:00
Andrew Kelley b082cd4580 zig fmt: field access does not cause spaces for slicing
See #1003
2018-05-30 16:08:40 -04:00
Andrew Kelley 84b1842026 zig fmt: space after fn in fn prototypes
See #1003
2018-05-30 15:50:01 -04:00
Andrew Kelley 93b51b0e40 spaces around slice operator if operands are infix
See #1003
2018-05-30 15:33:58 -04:00
Andrew Kelley 2c96f19fd3 std.zig.render returns bool of whether anything changed
zig fmt only renames files and prints to stdout for files which changed
2018-05-30 14:58:27 -04:00
tgschultz 940a854448 Fix MacOS CI Timer test failing...? 2018-05-30 13:38:41 -05:00
tgschultz fb001f5e90 Fixed character handling 2018-05-30 12:18:24 -05:00
tgschultz 8938c16f38 Formatting 2018-05-30 10:41:48 -05:00
tgschultz 4e1d0a59fa Minor typo 2018-05-30 10:24:27 -05:00
tgschultz 8fc52a94f4 Added custom formatter support, refactored fmt.format 2018-05-30 10:18:11 -05:00
Andrew Kelley b0eebfa560 fix syntax of std/json_test.zig
See #663
2018-05-29 18:10:36 -04:00
Andrew Kelley d172e3f3bb fix AtomicFile for relative paths
closes #1017
2018-05-29 17:38:50 -04:00
Andrew Kelley 0c16cd2d0e run zig fmt on the codebase
See #1003
2018-05-29 04:23:38 -04:00
Andrew Kelley cdf30c31ea zig fmt: fix implementation of firstToken() for fn call 2018-05-29 03:47:27 -04:00
Andrew Kelley cd325e408e zig fmt: fix extra space after comma before multi line string 2018-05-29 03:33:03 -04:00
Andrew Kelley eda6898c5b zig fmt: handle if and while indentation better 2018-05-29 03:15:12 -04:00
Andrew Kelley 530d175422 zig fmt: fix spacing when moving doc comment on var decls 2018-05-28 23:41:09 -04:00
Andrew Kelley 0d1b47362c zig fmt: if-else with comment before else 2018-05-28 22:41:05 -04:00
Andrew Kelley 77ec81b035 zig fmt: respect line breaks in if-else 2018-05-28 22:22:01 -04:00
Andrew Kelley 71badebd08 zig fmt: respect line breaks after infix operators 2018-05-28 21:28:32 -04:00
Andrew Kelley 354ab1c5c8 zig fmt: render fn decl with trailing comma 1 line per param 2018-05-28 21:18:41 -04:00
Andrew Kelley 530da36352 zig fmt: fix enum decl with no trailing comma
See #1003
2018-05-28 17:43:17 -04:00
Andrew Kelley 6c1fda3f99 zig fmt: fix switch body indent 2018-05-28 17:09:55 -04:00
Andrew Kelley fd13a75785 zig fmt: allow same line struct literal with no trailing comma
See #1003
2018-05-28 17:00:04 -04:00
Andrew Kelley 122a74724c zig fmt: use simple newlines rather than empty comments to hint
now the first row of an array literal is the hint to zig fmt
for how long each row should be.

See #1003
2018-05-28 16:23:33 -04:00
Andrew Kelley 3fed10883b zig fmt: array literals with no trailing comma all on one line 2018-05-26 23:25:04 -04:00
Andrew Kelley afdfbc0367 zig fmt: delete empty comments that do nothing 2018-05-26 23:25:04 -04:00
Andrew Kelley b184ae5ca5 run zig fmt on some of the codebase
See #1003
2018-05-26 23:00:29 -04:00
Andrew Kelley 118d41ef83 zig fmt: support array literal row size hint
See #1003
2018-05-26 22:59:46 -04:00
Andrew Kelley 349365d9a4 zig fmt: better multiline string formatting 2018-05-26 19:32:28 -04:00
Andrew Kelley cabf7fa93b zig fmt: fn calls with trailing comma with params on new lines 2018-05-26 18:44:10 -04:00
Andrew Kelley b8d4e05361 zig fmt: handle empty block with comment inside 2018-05-26 18:29:14 -04:00
Andrew Kelley 7e900d28be zig fmt: no space on switch range operator 2018-05-26 18:10:06 -04:00
Andrew Kelley 0bef1f9824 zig fmt: fix rendering of struct with no trailing comma on last field 2018-05-26 16:43:33 -04:00
Andrew Kelley 0ab888c639 zig fmt: parse extra comma in asm expressions 2018-05-26 16:37:55 -04:00