Andrew Kelley
8a7e2e3479
Merge branch 'comment-in-array' of https://github.com/Vexu/zig into Vexu-comment-in-array
2019-09-03 21:49:35 -04:00
Hong Shick Pak
19964f5dc8
run new zig fmt and remove stale comment
2019-08-29 21:23:49 -07:00
Hong Shick Pak
9f4d44bc49
zig fmt: fix nested if
2019-08-29 21:10:26 -07:00
Andrew Kelley
d5b3d97c23
Merge pull request #2760 from Vexu/fmt-comment-fix
...
Fix non-empty comments getting removed with empty comments
2019-08-28 12:01:08 -04:00
yvt
c98f792ff8
Improve the handling of zig fmt: off/on
...
This commit reworks the handling of `zig fmt: off/on`. A motivating
example is shown below:
const c = d;
// zig fmt: off
// comment
const a = b;
// zig fmt: on
Before processing the decl `const a = b;`, `renderRoot` looks for
`zig fmt: off` that appears between this decl and the previous one. If
it finds one, it searches for the next `zig fmt: on` that re-enables
reformatting (or EOF if none was found), and copies the input code
between `zig fmt: off` and `zig fmt: on` to the output stream. After
that, it proceeds to the next decl.
The important thing to notice here is that `renderTopLevelDecl` emits
line comment tokens that follow the decl. Therefore, when copying code,
we must be careful not to copy the line comment tokens that already have
been written to the output stream. The original code failed to take this
fact into consideration. It did skip `// zig fmt: off`, but not the
remaining ones. As a result, when the above example is fed as input, it
duplicated the line `// comment`.
2019-08-28 11:57:01 -04:00
Tetralux
43587af01a
rendering of align(N) on struct fields
2019-08-22 22:58:38 +00:00
Vexu
c3407ed097
Merge branch 'master' into comment-in-array
2019-08-16 20:02:47 +03:00
Vexu
92a81252cb
Merge branch 'master' into fmt-comment-fix
2019-08-16 17:40:20 +03:00
Vexu
2151f84d59
implement new async syntax in self-hosted compiler
2019-08-16 06:17:28 -07:00
Andrew Kelley
f07f09a373
Merge branch 'master' into rewrite-coroutines
2019-08-02 16:13:36 -04:00
Andrew Kelley
ee64a22045
add the anyframe and anyframe->T types
2019-07-26 19:52:35 -04:00
Timon Kruiper
59850c1ce1
Fixed an integer overflow in zig fmt and added testcase
2019-07-23 14:51:30 -04:00
Vexu
34d2a1465c
Merge branch 'master' into fmt-comment-fix
2019-07-17 01:22:20 +03:00
Vexu
f8e753e19c
Merge branch 'master' into comment-in-array
2019-07-17 01:20:59 +03:00
hryx
7f618184ad
Prevent unreachable when file ends with struct field
2019-07-06 13:09:07 -04:00
Andrew Kelley
9471f16c79
zig fmt ignores "zig fmt: off" directive for whitespace fixes
2019-07-05 15:09:22 -04:00
Vexu
de369de312
fix comments getting removed after empty comments
2019-06-27 02:00:30 +03:00
Vexu
7325f80bb2
improved comment indentation in arrays
2019-06-26 20:03:38 +03:00
Vexu
f6d83ba918
fixed comment formatting in arrays and fn params
2019-06-25 01:12:28 +03:00
Andrew Kelley
86f362ce8e
elide redundant safety check when switching on tagged unions
2019-06-22 16:18:42 -04:00
Timon Kruiper
fd771ea9fb
Added LineComment support when MultiLines are used in ArrayInit
...
also added the corresponding testcase
2019-06-04 12:44:50 -04:00
Timon Kruiper
4e1f3a9ba3
Correct formatting for multiline string in arrays
2019-05-29 19:56:28 -04:00
Andrew Kelley
8a4ee5942b
zig fmt: fix 2 bugs of mangling source files
2019-05-29 19:09:58 -04:00
Andrew Kelley
b7a82288ad
change use to usingnamespace
...
See #2014
`use` syntax is still accepted for now. `zig fmt` automatically
updates code. After a release cycle the old syntax will be removed.
2019-05-29 19:09:58 -04:00
LemonBoy
08d41da916
Fix formatting for multiline asm expressions
2019-05-13 12:20:11 -04:00
hryx
3a3a738478
Recursive rewrite of stage2 parser, part 3
2019-05-12 02:01:45 -07:00
LemonBoy
a3beda27fc
Add missing cast to usize
2019-05-07 11:47:23 +02:00
Shawn Landden
8ef7f6febb
remove Shebang (#!) support
...
Closes: #2165
2019-04-24 23:34:19 -04:00
Shritesh Bhattarai
8e6ff8d615
fmt: format multi line only on trailing comma ( #2184 )
...
* fmt: format multi line only on trailing comma
2019-04-04 19:33:32 -04:00
hryx
e827b9661b
zig fmt: Prevent for-else on same line when body is interrupted by LF
2019-04-04 01:31:39 -04:00
hryx
cec8c8678a
zig fmt: Fix regression in for-else ( #2178 )
2019-04-04 01:31:39 -04:00
hryx
c76d51de97
zig fmt: Allow one-line for loops
2019-04-01 11:31:00 -04:00
Shritesh Bhattarai
d645500883
fmt: fix first line comment indent in struct init
2019-03-31 22:33:32 -04:00
hryx
0563e8e1d4
Always write a multiline struct literal if a field expr is multiline
2019-03-31 21:09:56 -04:00
hryx
a4afacd182
Veritcally align array literal columns
2019-03-31 14:27:10 -04:00
Shritesh Bhattarai
efa751c339
Add doc_comments to param decl
2019-03-30 14:50:08 -05:00
Shritesh Bhattarai
5942797000
fmt: check for extra newline at end of file
...
`anything_changed` checks if `source_index` == `source.len`
Fixes #2074
2019-03-26 13:26:00 -04:00
Andrew Kelley
5eaead6a56
implement allowzero pointer attribute
...
closes #1953
only needed for freestanding targets.
also adds safety for `@intToPtr` when the address is zero.
2019-03-25 12:55:45 -04:00
Andrew Kelley
d0551db5cd
introduce the enum literal type
...
see #683
2019-03-24 00:44:18 -04:00
Andrew Kelley
918dbd4551
std.zig: this is no longer a keyword
2019-03-10 15:55:54 -04:00
Andrew Kelley
e402455704
rename std lib files to new convention
2019-03-02 16:46:04 -05:00
Andrew Kelley
b0ceea1831
zig fmt: fix infix operator before multiline string literal
2019-02-18 18:11:12 -05:00
Andrew Kelley
052800e952
zig fmt: support threadlocal
2019-02-09 00:19:24 -05:00
Andrew Kelley
704374e512
rename section keyword to linksection
...
add zig fmt support for this syntax
closes #1152
2018-11-17 01:38:35 -05:00
Andrew Kelley
0c3bd0c3d1
zig fmt: add --check flag
...
closes #1558
closes #1555
2018-11-15 00:26:43 -05:00
Jimmi Holst Christensen
8139c5a516
New Zig formal grammar ( #1685 )
...
Reverted #1628 and changed the grammar+parser of the language to not allow certain expr where types are expected
2018-11-13 05:08:37 -08:00
Jimmi Holst Christensen
378d3e4403
Solve the return type ambiguity ( #1628 )
...
Changed container and initializer syntax
* <container> { ... } -> <container> . { ... }
* <exrp> { ... } -> <expr> . { ...}
2018-10-15 09:51:15 -04:00
Andrew Kelley
21328e0036
zig fmt: handle shebang lines
...
closes #1546
2018-09-18 18:36:39 -04:00
Andrew Kelley
c06a61e9bf
remove this. add @This().
...
closes #1283
2018-09-13 16:34:33 -04:00
Andrew Kelley
895f262a55
pull request fixups
...
* clean up parser code
* fix stage2 parse and render code
* remove redundant test
* make stage1 compile tests leaner
2018-08-02 14:15:31 -04:00