Enzo
886f69bfcf
all: use operator overloading on strings (p. 2) ( #10183 )
2021-05-24 11:38:31 +03:00
Enzo
906b207e58
checker: deprecate using V strings in C function calls ( #10140 )
2021-05-20 09:17:44 +03:00
Delyan Angelov
ac469f5eff
v.depgraph: fix detection of indirect module dependency cycles
2021-05-20 01:53:41 +03:00
Delyan Angelov
159ee00563
builtin: remove `import hash`
2021-05-10 09:22:50 +03:00
Delyan Angelov
84f9789e72
v: tag more low level functions with `[direct_array_access]`
2021-05-06 00:35:16 +03:00
Delyan Angelov
597a774d36
scanner: speed up Scanner.skip_whitespace (~2-3% speed up of `-o x.c cmd/v`)
2021-05-03 14:14:32 +03:00
Delyan Angelov
d4f31412b7
v: deprecate `@VROOT` in favour of `@VMODROOT` ( #9795 )
2021-04-19 19:01:47 +03:00
Delyan Angelov
c1f2c570bc
v.util: prevent diff tool lookups when VDIFF_TOOL is set
2021-04-06 13:22:04 +03:00
Delyan Angelov
19b915b105
ci: fix windows-tcc job
2021-04-05 23:35:22 +03:00
Delyan Angelov
10619d098c
ci: fix a race in vlib/v/compiler_errors_test.v execution on m1
2021-04-05 22:57:59 +03:00
Alexander Medvednikov
57e6138a61
all: remove byteptr and charptr; replace them with &byte and &char
2021-04-04 17:43:32 +03:00
Delyan Angelov
c698fa1a58
all: support `v -watch run` ( #9577 )
2021-04-04 16:05:06 +02:00
Delyan Angelov
9b78d7d21d
tools: check formatting of more modules with `v test-cleancode`, colorize `v vet` output
2021-03-24 12:39:39 +02:00
Alexander Medvednikov
0c055a1ce9
all: s.contains(s2) instead of `in`
2021-03-23 11:38:56 +03:00
Ned Palacios
aa4e22c287
scanner, token: add column information to tokens ( #9407 )
2021-03-23 06:23:46 +01:00
Delyan Angelov
a00c80b98f
v: support compiler notices. Use them for `[deprecated_after: '2021-05-01']` tags
...
Compiler notices are like warnings, with these differences:
a) notices use a different color.
b) notices use a different label.
c) notices do not prevent compilation with -prod.
(warnings are converted to errors with -prod)
2021-03-22 19:59:00 +02:00
Lukas Neubert
a67d49050c
math: add a pure V `math.mathutil`, with generic `min`, `max` and `abs` functions ( #9176 ), and use it consistently
2021-03-12 11:28:04 +02:00
Joe Conigliaro
fd2845e955
v.util: change naming behaviour for modules relative to working dir. closes #9138
2021-03-10 16:28:06 +11:00
zakuro
00399b49ab
v.util: add util.tabs() ( #9211 )
2021-03-09 13:03:25 +02:00
Delyan Angelov
d7049ae2da
os: deprecate os.exec (returning ?os.Result), in favour of os.execute, which returns os.Result ( #8974 )
2021-03-08 20:52:13 +02:00
pancake
ed9ca0b7bd
build: add address sanitizer make target ( #9044 )
2021-03-07 16:44:54 +01:00
zakuro
45d51c76da
v.util: add an iabs(x) helper ( #9172 )
2021-03-07 11:24:05 +02:00
spaceface
b712af56fd
all: bring back `panic(err.msg)` -> `panic(err)` ( #9022 )
2021-03-01 00:18:14 +01:00
zakuro
ce115dcbe0
builtin: correct error underline for unicode wide chars ( #9010 )
2021-03-01 00:18:02 +01:00
spaceface
d63b7bc35a
all: update repo to use the new error handling syntax ( #8950 )
2021-02-28 23:20:21 +03:00
Alexander Medvednikov
3a2d696fac
time: time.wait() => time.sleep()
2021-02-27 20:41:06 +03:00
Nick Treleaven
c03798e390
checker: disallow implicit conversion from fixed array to fooptr ( #8823 )
2021-02-26 00:28:47 +01:00
Delyan Angelov
1c0eefae38
parser/scanner: replace p.peek_tok2/3 with p.peek_token(2/3) ( #8946 )
2021-02-24 21:03:53 +03:00
zakuro
f54c1a5cc2
all: add strings.Builder.write_string and use write_string instead of write ( #8892 )
2021-02-22 13:18:11 +02:00
zakuro
ac4791045f
time: consolidate the different sleep functions into time.wait(Duration) ( #8853 )
2021-02-21 17:05:03 +02:00
Swastik Baranwal
ad162cd6fc
checker: stricter `unknown type` checks, show better suggestions ( #8816 )
2021-02-19 11:23:13 +02:00
Nick Treleaven
4ccf991f61
checker: warn when casting a fixed array (use `&arr[0]` instead) ( #8787 )
2021-02-17 20:45:11 +01:00
Nick Treleaven
4a0367a63c
vlib: add [unsafe] tag to more functions: tos, string_from_wide, strings.Builder: write_bytes, free ( #8766 )
2021-02-15 17:15:52 +02:00
Uwe Krüger
374739b804
all: rename `[ref_only]` -> `[heap]` ( #8718 )
2021-02-13 16:52:01 +02:00
Nick Treleaven
9e751f72c4
doc, fmt: use `map{key: value}` syntax for map literals ( #8623 )
2021-02-08 16:57:42 +02:00
Lukas Neubert
473cd1d416
fmt: single line ternary return ( #8605 )
2021-02-08 00:28:46 +01:00
Delyan Angelov
16dffc7c1d
compiler: move timing_start/timing_measure to util.timing_start/util.timing_measure
2021-02-05 16:34:56 +02:00
Swastik Baranwal
7ec116d588
all: only allow defining `==` and `<` and auto generate `!=`, `>`, `>=` and `<=` ( #8520 )
2021-02-03 15:18:38 +01:00
Larpon
d25825df57
all: support compile time `$env('ENV_VAR')` ( #8456 )
2021-01-31 19:22:42 +02:00
Lukas Neubert
75d85403a6
fmt: better ternary concat wrapping ( #8379 )
2021-01-28 11:23:48 +01:00
Delyan Angelov
242d7d0fc0
tools: improve error diagnostic for `v up` and `v self`. Make `v self` more robust.
2021-01-27 23:58:13 +02:00
Nick Treleaven
58a76344cb
checker: avoid SelectorExpr filter on Ident unless it's a generic type name ( #8357 )
2021-01-27 13:52:52 +01:00
Delyan Angelov
e5a84719ca
all: require calling `optfn() ?` / `optfn() or {...}` for `fn optfn() ? {}`
2021-01-26 16:43:17 +02:00
Delyan Angelov
728344ff65
ci: fix `v test-cleancode`
2021-01-25 12:55:01 +02:00
Lukas Neubert
8b61891348
fmt: smarter if condition wrapping ( #8201 )
2021-01-23 10:33:22 +02:00
Alexander Medvednikov
46cdf4f1ff
0.2.2
2021-01-22 10:39:44 +01:00
zakuro
f413c92f2f
v.util: fix bug of mod_path_to_full_name ( #8236 )
2021-01-21 13:24:32 +02:00
Delyan Angelov
94b5e47ba8
ci: fix compilation of projects cloned inside the main repository
2021-01-20 22:44:18 +02:00
Delyan Angelov
071549baae
v.util: fix an out of bounds panic in mod_path_to_full_name/2
2021-01-20 18:22:58 +02:00
joe-conigliaro
97ebecc5f4
usecache: get all tests running with -usecache enabled by default (p.1) ( #7699 )
2021-01-20 06:04:59 +01:00
Delyan Angelov
7037965973
parser: cleanup unused `p.os_from_string`
2021-01-19 08:33:03 +02:00
Lukas Neubert
ac2c3847af
all: update copyright to 2019-2021 ( #8029 )
2021-01-18 13:20:06 +01:00
Delyan Angelov
17266ecb07
tools: support cmd/tools/.disable_autorecompilation in `v up` and `v self` too
2021-01-18 09:33:33 +02:00
Delyan Angelov
72790cda83
v.util: support cmd/tools/.disable_autorecompilation
2021-01-18 08:43:20 +02:00
zakuro
33694665f0
fmt: align each contiguous field of struct. not the whole. ( #7981 )
2021-01-12 04:38:43 +01:00
Swastik Baranwal
1f5255c2bb
cgen: implement `>=` and `<=` ( #7991 )
2021-01-10 12:24:46 +02:00
Delyan Angelov
aa37382e8d
tools: let `v fmt` use VTMP too, stabilise `v test-cleancode`
2021-01-09 20:41:15 +02:00
Delyan Angelov
9593ad20f9
v.util: extend launch_tool with auto recompilation of a folder with several .v files too
2021-01-06 23:48:38 +02:00
Alexander Medvednikov
3e04dfc79f
builtin: fix byte.str() (part 1)
2021-01-05 18:59:51 +01:00
yuyi
443bf44031
tests: fix ci error in vtest-fixed ( fix #7827 ) ( #7830 )
2021-01-03 16:38:28 +01:00
Swastik Baranwal
9033099676
cgen: implement overriding of `!=` and `==` ( #7837 )
2021-01-03 16:19:02 +01:00
yuyi
01e098aa77
vrepl: fix v repl on Windows ( #7798 )
2021-01-02 12:17:39 +01:00
Swastik Baranwal
24b18f05c4
cgen: implement > and < for structs ( #7774 )
2021-01-01 14:54:32 +01:00
Ryan Prior
64e7c54884
v.util: accomodate reproducible build environments like guix, by not recompiling cmd/tools when mtime < 1024 ( #7702 )
2020-12-31 10:31:38 +02:00
Delyan Angelov
b4f02adc32
os: add os.execve/3 (extracted from unix_spawn_process); use os.execvp/2 in v.util.launch_tool/3
2020-12-30 18:14:03 +02:00
Alexander Medvednikov
e26a690975
0.2.1
2020-12-29 21:24:33 +01:00
Delyan Angelov
8872b0a23b
v.util: fix launch_tool for the vdoc (folder) case
2020-12-27 17:43:44 +02:00
Daniel Däschle
929a002229
vdoc: move to it's own directory cmd/tools/vdoc/ ( #7606 )
2020-12-27 14:43:23 +02:00
spaceface
214290d55b
fmt: add a space around single-line `unsafe` expressions ( #7505 )
2020-12-23 19:13:42 +01:00
Alexander Medvednikov
e4f94b6ad5
V 0.2
2020-12-22 20:48:45 +01:00
joe-conigliaro
d782db8878
util: add clipboard & ui to bundle_modules (fix dupe symbols)
2020-12-20 03:38:11 +11:00
Delyan Angelov
2f1cc2bd08
v.util: simplify the sorting of v's timing output
2020-12-19 12:55:42 +02:00
Delyan Angelov
a1c81aa49d
v,gen,checker: implement `-d time_checking -d time_cgening -d time_v`
2020-12-19 12:36:08 +02:00
Delyan Angelov
6f7889a3ca
parser: support for `-d time_parsing`
2020-12-18 17:23:57 +02:00
Delyan Angelov
7e1e247f56
builder: implement b.timing_start/1 and b.timing_measure/1
2020-12-18 13:21:17 +02:00
joe-conigliaro
239a8c8aa3
cgen: cached modules fixes ( #7345 )
2020-12-15 16:07:06 +01:00
spaceface777
50a3009113
fmt: make single-stmt `or` blocks single-line ( #7126 )
2020-12-04 13:25:23 +02:00
Alexander Medvednikov
ed39d151b7
V 0.1.30
2020-11-28 04:43:11 +01:00
pancake
d8f64f516b
js: fix codegen for multiline strings ( #6791 )
2020-11-18 18:23:44 +01:00
Lukas Neubert
dbdcef5166
quote_path: also quote ampersands ( #6846 )
2020-11-16 19:26:44 +02:00
Delyan Angelov
4b35495fbe
all: support VMODULES environment variable (defaulting to ~/.vmodules)
2020-11-08 08:07:17 +02:00
Larpon
785bf40f67
all: remove comp time '@' expansion from scanner ( #6746 )
2020-11-05 10:12:32 +02:00
Ned Palacios
7b5a580c0c
util: split bom checking to a separate fn ( #6694 )
2020-10-29 17:21:08 +01:00
Delyan Angelov
23ee3018c3
tools: add `v test-vet`
2020-10-24 16:37:58 +03:00
Delyan Angelov
9322e91d1b
v test-fmt: add 1 sec sleep before rebuilding vfmt, to avoid its parallel recompilation afterwards
2020-10-21 15:20:07 +03:00
Delyan Angelov
87f659a0dc
ci: fix should_recompile_tool/2
2020-10-21 15:07:57 +03:00
Delyan Angelov
1aa6c125d9
ci: fix `v self`
2020-10-21 13:43:18 +03:00
Delyan Angelov
02db94c4bc
v test-fmt: reuse v.util.should_recompile_tool/2, extracted from v.util.launch_tool/3
2020-10-21 12:54:10 +03:00
Enzo
b083f4014b
fmt: fix multiple things and format most of the compiler ( #6631 )
...
Format expressions inside string interpolation like the rest (it used to be a+b instead of a + b, not too sure why)
Fix formatting some match branches when there were only one statement inside (it was inlined)
Fix parsing and formatting some comments edge case on struct field init. You should check out this test because the result is a bit different from before. I personally find it more logical but I would understand if the former format was to stay
Fix formatting of void-returning function signature
2020-10-15 22:12:59 +02:00
Alexander Medvednikov
7da1afa140
all: switch to the new fn arg syntax everywhere; add lots of vfmt -verify tests
2020-10-15 12:32:28 +02:00
Enzo
93bb7564dc
fmt: fix multiple problems with types ( #6603 )
2020-10-12 09:27:55 +03:00
Delyan Angelov
ac384db71f
builder: cleanup .timing_message/2
2020-10-01 18:21:34 +03:00
Delyan Angelov
a0e4be04be
compiler: print more suggestions, without a good specific match
2020-10-01 17:27:31 +03:00
Henrixounez
46dc6cc24b
repl: fix ctrl+z job to background on linux ( #6417 )
2020-09-18 16:34:00 +03:00
Alexander Medvednikov
ea31f75098
checker: more default field fixes
2020-09-09 14:14:44 +02:00
Uwe Krüger
cbcba2e4cf
parser: enable module auto import (of `sync`) ( #6271 )
2020-08-31 10:44:39 +02:00
Uwe Krüger
c351f8fa47
checker, builtin: prepage for builtin channels ( #6262 )
2020-08-30 08:55:31 +02:00
spaceface777
d663f57d43
parser: move flag logic to checker ( #6239 )
2020-08-28 09:24:04 +03:00
Alexander Medvednikov
a55bea44da
table: register rune type
2020-08-25 18:15:24 +02:00
Alexander Medvednikov
f965ddae49
parser: handle several errors in types; cgen: objC includes
2020-08-16 19:16:59 +02:00